This blog is updated daily.
A general description is here.
The internal ‘untar()’ (as used by default by ‘R CMD INSTALL’) now knows about some ‘pax’ headers which ‘bsdtar’ (e.g., the default ‘tar’ for Mac OS >= 10.6) can incorrectly include in ‘tar’ files, and will skip them with a warning.
PCRE has been upgraded to version 8.21: as well as bug fixes and greater Perl compatibility, this adds a JIT pattern compiler, about which PCRE's news says ‘large performance benefits can be had in many situations’.
‘vector(len)’ and ‘length(x) <- len’ no longer accept ‘TRUE’/‘FALSE’ for ‘len’ (not that they were ever documented to, but there was special-casing in the C code).
There is a new type ‘X11(type = "dbcairo")’ which updates the screen less frequently: see its help page.
The internal (C) function ‘scientific()’, at the heart of R's ‘format.info(x)’, ‘format(x)’, ‘print(x)’, etc, for numeric ‘x’, has been re-written in order to provide slightly more correct results, fixing PR#14491, notably in border cases including when ‘digits >= 16’, thanks to substantial contributions (code and experiments) from Petr Savicky. This affects a noticeable amount of numeric output from R.
There is an additional marked encoding ‘"bytes"’ for character strings. This is intended to be used for non-ASCII strings which should be treated as a set of bytes, and never re-encoded as if they were in the encoding of the current locale: ‘useBytes = TRUE’ is automatically selected in functions such as ‘writeBin()’, ‘writeLines()’, ‘grep()’ and ‘strsplit()’.
Only a few character operations are supported (such as ‘substr()’).
Printing, ‘format()’ and ‘cat()’ will represent non-ASCII bytes in such strings by a ‘\xab’ escape.
Complex arithmetic (notably ‘z^n’ for complex ‘z’ and integer ‘n’) gave incorrect results since R 2.10.0 on platforms without C99 complex support. This and some lesser issues in trigonometric functions have been corrected.
Such platforms were rare (we know of Cygwin and FreeBSD). However, because of new compiler optimizations in the way complex arguments are handled, the same code was selected on x86_64 Linux with ‘gcc 4.5.x’ at the default ‘-O2’ optimization (but not at ‘-O’).
‘do.call()’ing ‘NextMethod’ in erroneous ways no longer segfaults. (PR#13487)
A port to 64-bit Windows is now available as well as binary package repositories: see the ‘R Administration and Installation Manual’.
Internal function ‘matchArgs()’ no longer modifies the general purpose bits of the ‘SEXP’s that make up the formals list of R functions. This fixes an invalid error message that would occur when a garbage collection triggered a second call to ‘matchArgs’ for the same function _via_ a finalizer.
‘qchisq(p, df, ncp, lower.tail = FALSE)’ with ‘ncp >= 80’ was inaccurate for small ‘p’ (as the help page said): it is now less inaccurate. (In part, PR#13999.)
For ‘ncp’ less than but close to 80, ‘pchisq()’ and ‘qchisq()’ are more accurate for probabilities very close to 1 (a series expansion was truncated slightly too early).
‘pchisq(x, df, ncp)’ can no longer return values just larger than one for large values of ‘ncp’.