This blog is updated daily.
A general description is here.
‘parallel::detectCores()’ is now able to find the number of physical cores (rather than CPUs) on Sparc Solaris.
It can also do so on most versions of Windows; however the default remains ‘detectCores(logical = TRUE)’ on that platform.
Reference classes now keep a record of which fields are locked. ‘$lock()’ with no arguments returns the names of the locked fields.
‘HoltWinters()’ reports a warning rather than an error for some optimization failures (where the answer might be a reasonable one).
‘tools::dependsOnPkg()’ now accepts the shorthand ‘dependencies = "all"’.
‘parallel::clusterExport()’ now allows specification of an environment from which to export.
The ‘quartz()’ device now does tilde expansion on its ‘file’ argument.
‘tempfile()’ on a Unix-alike now takes the process ID into account. This is needed with ‘multicore’ (and as part of ‘parallel’) because the parent and all the children share a session temporary directory, and they can share the C random number stream used to produce the uniaue part. Further, two children can call ‘tempfile()’ simultaneously.
Option ‘print’ in Sweave's ‘RweaveLatex()’ driver now emulates auto-printing rather than printing (which can differ for an S4 object by calling ‘show()’ rather than ‘print()’).
‘filled.contour()’ now accepts infinite values: previously it might have generated invalid graphics files (e.g. containing NaN values).
On 64-bit Linux systems, ‘configure’ now only sets ‘LIBnn’ to ‘lib64’ if ‘/usr/lib64’ exists. This may obviate setting ‘LIBnn’ explicitly on Debian-derived systems.
It is still necessary to set ‘LIBnn = lib’ (or ‘lib32’) for 32-bit builds of R on a 64-bit OS on those Linux distributions capable for supporting that concept.
‘configure’ looks for ‘inconsolata.sty’, and if not found adjusts the default ‘R_RD4PDF’ to not use it (with a warning, since it is needed for high-quality rendering of manuals).
‘R CMD INSTALL’ will now do a test load for all sub-architectures for which code was compiled (rather than just the primary sub-architecture).
When checking examples under more than one sub-architecture, ‘R CMD check’ now uses a separate directory ‘examples_arch’ for each sub-architecture, and leaves the output in file ‘pkgname-Ex_arch.Rout’. Some packages expect their examples to be run in a clean directory ....
‘stack()’ now gives an error if no vector column is selected, rather than returning a 1-column data frame (contrary to its documentation).
‘summary.mlm()’ did not handle objects where the formula had been specified by an expression. (Reported by Helios de Rosario Martinez).
‘tools::deparseLatex(dropBraces=TRUE)’ could drop text as well as braces.
‘colormodel = "grey"’ (new in R 2.14.0)) did not always work in ‘postscript()’ and ‘pdf()’.
‘file.append()’ could return ‘TRUE’ for failures. (PR#14727)
‘gzcon()’ connections are no longer subject to garbage collection: it was possible for this to happen when unintended (e.g. when calling ‘load()’).
‘nobs()’ does not count zero-weight observations for ‘glm()’ fits, for consistency with ‘lm()’. This affects the ‘BIC()’ values reported for such ‘glm()’ fits. (Spotted by Bill Dunlap.)
‘options(warn = 0)’ failed to end a (C-level) context with more than 50 accumulated warnings. (Spotted by Jeffery Horner.)
The internal ‘plot.default()’ code did not do sanity checks on a ‘cex’ argument, so invalid input could cause problems. (Reported by Ben Bolker.)
‘anyDuplicated(<array>, MARGIN=0)’ no longer fails. (Reported by Hervé Pagès.)
‘read.dcf()’ removes trailing blanks: unfortunately on some platforms this included ‘\xa0’ (non-breaking space) which is the trailing byte of a UTF-8 character. It now only considers ASCII space and tab to be ‘blank’.
There was a sign error in part of the calculations for the variance returned by ‘KalmanSmooth()’. (PR#14738)
‘pbinom(10, 1e6, 0.01, log.p = TRUE)’ was ‘NaN’ thanks to the buggy fix to PR#14320 in R 2.11.0. (PR#14739)
‘RweaveLatex()’ now emulates auto-printing rather than printing, by calling ‘methods::show()’ when auto-printing would.
‘duplicated()’ ignored ‘fromLast’ for a one-column data frame. (PR#14742)
‘source()’ and related functions did not put the correct timestamp on the source references; ‘srcfilecopy()’ has gained a new argument ‘timestamp’ to support this fix. (PR#14750)
LaTeX conversion of Rd files did not correctly handle preformatted backslashes. (PR#14751)
HTML conversion of Rd files did not handle markup within tabular cells properly. (PR#14708)
‘source()’ on an empty file with ‘keep.source = TRUE’ tried to read from ‘stdin()’, in R 2.14.0 only. (PR#14753)
The code to check Rd files in packages would abort if duplicate description sections were present.
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.
The ‘Save as’ menu item on the script editor adds extension ‘.R’ to a file name without an extension.
In package ‘parallel’, ‘detectCores(logical = FALSE)’ makes an OS-dependent attempt to find the number of physical cores. It usually succeeds, even on XP.
The directory pointed to by ‘USER_LOCAL’ can now have architecture-specific sub-directories ‘lib/i386’ and ‘lib/x64’.
The fix for PR#14543 caused stack problems with outputing large R objects (e.g. data frames of 25,000 items). (PR#14698)
In a double-byte locale (Chinese, Japanese, Korean), ‘grep()’ and friends might have used byte-wise matching of strings in the native encoding. (PR#14622)
‘bitmap()’ and ‘dev2bitmap()’ look for ‘gswin64c.exe’ (as used by 64-bit GhostScript), in preference to ‘gswin32c.exe’.