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’. This is supported on most but not all R platforms.
Function ‘compactPDF()’ in package ‘tools’ now takes the default for
argument ‘gs_quality’ from environment variable ‘GS_QUALITY’: there is
a new value ‘"none"’, the ultimate default, which prevents GhostScript
being used in preference to ‘qpdf’ just because environment variable
‘R_GSCMD’ is set. If ‘R_GSCMD’ is unset or set to ‘""’, the function
will try to find a suitable GhostScript executable.
The included version of zlib has been updated to 1.2.6.
‘R CMD check’ now reports by default on licenses not according to the
description in ‘Writing R Extensions’.
‘R CMD INSTALL’ will now no longer install certain file types from
‘inst/doc’: these are almost certainly mistakes and for some packages
are wasting a lot of space. These are ‘Makefile’, files generated by
running LaTeX, and unless the package uses a ‘vignettes’ directory,
PostScript and image bitmap files.
Note that only PDF vignettes have ever been supported: some of these files come from DVI/PS output from the Sweave defaults prior to R 2.13.0.
R configured with ‘--disable-openmp’ would mistakenly set ‘HAVE_OPENMP’
(internal) and ‘SUPPORT_OPENMP’ (in ‘Rconfig.h’) even though no OpenMP
flags were populated.
The ‘getS3method()’ implementation had a very old and incorrect
computation to find an S4 default method.
‘readLines()’ could overflow a buffer if the last line of the file was
not terminated. (PR#14766)
‘R CMD check’ could miss undocumented S4 objects in packages which used
S4 classes but did not ‘Depends: methods’.
The HTML Help Search page had malformed links. (PR#14769)
A couple of instances of lack of protection of ‘SEXP’s have been
squashed. (PR#14772, PR#14773)
‘image(x, useRaster=TRUE)’ misbehaved on single-column ‘x’. (PR#14774)
Negative values for ‘options("max.print")’ or the ‘max’ argument to
‘print.default()’ caused crashes. Now the former are ignored and the
latter trigger an error. (PR#14779)
The text of a function body containing more than 4096 bytes was not
properly saved by the parser when entered at the console.
Forgetting the ‘#endif’ tag in an Rd file could cause the parser to go
into a loop. (Reported by Hans-Jorg Bibiko.)
For consistency with the ‘logLik()’ method, ‘nobs()’ for ‘"nls"’ files
now excludes observations with zero weight. (Reported by Berwin
Turlach.)
‘str(*, ....., strict.width="cut")’ now also obeys ‘list.len = n’.
(Reported by Sören Vogel.)
Printing of arrays did not have enough protection (C level), e.g., in
the context of ‘capture.output()’. (Reported by Hervé Pagès and Martin
Morgan.)
‘pdf(file = NULL)’ would produce a spurious file named ‘NA’.
(PR#14808)
‘list2env()’ did not check the type of its ‘envir’ argument. (PR#14807)
‘svg()’ could segfault if called with a non-existent filename.
(PR#14790)
‘make install’ can install to a path containing ‘+’ characters.
(PR#14798)
The ‘edit()’ function did not respect the ‘options("keep.source")’
setting. (Reported by Cleridy Lennert.)
‘predict.lm(*, type="terms", terms=*, se.fit=TRUE)’ did not work.
(PR#14817)
There is a partial workaround for errors in the TRE regular-expressions
engine with named classes and repeat counts of at least 2 in a MBCS
locale (PR#14408): these are avoided when TRE is in 8-bit mode (e.g.
for ‘useBytes = TRUE’ and when all the data are ASCII).
‘R_ReplDLLdo1()’ did not call top-level handlers.
The Quartz device was unable to detect window sessions on Mac OS X 10.7
(Lion) and higher and thus it was not used as the default device on the
console. Since Lion any application can use window sessions, so Quartz
will now be the default device if user's window session is active and R
is not run via ssh which is at least close to the behavior in prior OS
X versions.
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’. This is supported on most but not all R platforms.
Function ‘compactPDF()’ in package ‘tools’ now takes the default for argument ‘gs_quality’ from environment variable ‘GS_QUALITY’: there is a new value ‘"none"’, the ultimate default, which prevents GhostScript being used in preference to ‘qpdf’ just because environment variable ‘R_GSCMD’ is set. If ‘R_GSCMD’ is unset or set to ‘""’, the function will try to find a suitable GhostScript executable.
The included version of zlib has been updated to 1.2.6.
‘R CMD check’ now reports by default on licenses not according to the description in ‘Writing R Extensions’.
‘R CMD INSTALL’ will now no longer install certain file types from ‘inst/doc’: these are almost certainly mistakes and for some packages are wasting a lot of space. These are ‘Makefile’, files generated by running LaTeX, and unless the package uses a ‘vignettes’ directory, PostScript and image bitmap files.
Note that only PDF vignettes have ever been supported: some of these files come from DVI/PS output from the Sweave defaults prior to R 2.13.0.
R configured with ‘--disable-openmp’ would mistakenly set ‘HAVE_OPENMP’ (internal) and ‘SUPPORT_OPENMP’ (in ‘Rconfig.h’) even though no OpenMP flags were populated.
The ‘getS3method()’ implementation had a very old and incorrect computation to find an S4 default method.
‘readLines()’ could overflow a buffer if the last line of the file was not terminated. (PR#14766)
‘R CMD check’ could miss undocumented S4 objects in packages which used S4 classes but did not ‘Depends: methods’.
The HTML Help Search page had malformed links. (PR#14769)
A couple of instances of lack of protection of ‘SEXP’s have been squashed. (PR#14772, PR#14773)
‘image(x, useRaster=TRUE)’ misbehaved on single-column ‘x’. (PR#14774)
Negative values for ‘options("max.print")’ or the ‘max’ argument to ‘print.default()’ caused crashes. Now the former are ignored and the latter trigger an error. (PR#14779)
The text of a function body containing more than 4096 bytes was not properly saved by the parser when entered at the console.
Forgetting the ‘#endif’ tag in an Rd file could cause the parser to go into a loop. (Reported by Hans-Jorg Bibiko.)
For consistency with the ‘logLik()’ method, ‘nobs()’ for ‘"nls"’ files now excludes observations with zero weight. (Reported by Berwin Turlach.)
‘str(*, ....., strict.width="cut")’ now also obeys ‘list.len = n’. (Reported by Sören Vogel.)
Printing of arrays did not have enough protection (C level), e.g., in the context of ‘capture.output()’. (Reported by Hervé Pagès and Martin Morgan.)
‘pdf(file = NULL)’ would produce a spurious file named ‘NA’. (PR#14808)
‘list2env()’ did not check the type of its ‘envir’ argument. (PR#14807)
‘svg()’ could segfault if called with a non-existent filename. (PR#14790)
‘make install’ can install to a path containing ‘+’ characters. (PR#14798)
The ‘edit()’ function did not respect the ‘options("keep.source")’ setting. (Reported by Cleridy Lennert.)
‘predict.lm(*, type="terms", terms=*, se.fit=TRUE)’ did not work. (PR#14817)
There is a partial workaround for errors in the TRE regular-expressions engine with named classes and repeat counts of at least 2 in a MBCS locale (PR#14408): these are avoided when TRE is in 8-bit mode (e.g. for ‘useBytes = TRUE’ and when all the data are ASCII).
The C function ‘R_ReplDLLdo1()’ did not call top-level handlers.
The Quartz device was unable to detect window sessions on Mac OS X 10.7 (Lion) and higher and thus it was not used as the default device on the console. Since Lion any application can use window sessions, so Quartz will now be the default device if the user's window session is active and R is not run via ‘ssh’ which is at least close to the behavior in prior OS X versions.
‘mclapply()’ would fail in code assembling the translated error message if some (but not all) cores encountered an error.
‘format.POSIXlt(x)’ raised an arithmetic exception when parts of ‘x’ were empty.