The next release of R is scheduled for release February 25, and R 2.12.2 will likely be the final bug-fix release of the 2.12 series before R 2.13 is released in April. According to the NEWS file in the latest daily build, 2.12.2 will improve complex-arithmetic support on some rare platforms that don't support complex types in C99, and upgrades the PCRE library begind regular-expression functions like regex. There will also a number of minor big-fixes, mainly addressing rare edge-cases. The corresponding section of the current NEWS file is included after the jump, but of course there may be additional changes or fixes documented before the February 25 release.
r-announce mailing list: R 2.12.2 scheduled for February 25
CHANGES IN R VERSION 2.12.1 patched: SIGNIFICANT USER-VISIBLE CHANGES: o Complex arithmetic (notably z^n for complex z and integer n) gave incorrect results since R 2.10.0 on platforms without complex C99 complex support. This and some lesser issues in trignometric 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). o There is a workaround for crashes seen with several packages on systems using zlib 1.2.5: see the INSTALLATION section. NEW FEATURES: o PCRE has been updated to 8.12 (two bug-fix releases since 8.10). o rep(), seq(), seq.int() and seq_len() report more often when the first element is taken of an argument of incorrect length. o The Cocoa back-end for the quartz() graphics device on Mac OS X provides a way to disable event loop processing temporarily (useful, e.g., for forked instances of R). o kernel()'s default for m was not appropriate if coef was a set of coefficients. (Reported by Pierre Chausse.) INSTALLATION: o The zlib sources in the distribution are now built with all symbols remapped: this is intended to avoid problems seen with packages such as XML and rggobi which link to zlib.so.1 on systems using zlib 1.2.5. o The default for FFLAGS and FCFLAGS with gfortran on x86_64 Linux has been changed back to -g -O2: however, setting -g -O may still be needed for gfortran 4.3.x. PACKAGE INSTALLATION: o A LazyDataCompression field in the DESCRIPTION file will be used to set the value for the --data-compress option of R CMD INSTALL. o Files R/sysdata.rda of more than 1Mb are now stored in the lazyload daabase using xz compression: this for example halves the installed size of package Imap. o R CMD INSTALL now ensures that directories installed from inst have search permission for everyone. DEPRECATED & DEFUNCT: o The 'experimental' alternative specification of a name space via .Export() etc is now deprecated. o zip.file.extract() is now deprecated. o Zip-ing data sets in packages (and hence R CMD INSTALL --use-zip-data and the ZipData: yes field in a DESCRIPTION file) is deprecated: using efficiently compressed .rda images and lazy-loading of data has superseded it. BUG FIXES: o identical could in rare cases generate a warning about non-pairlist attributes on CHARSXPs. As these are used for internal purposes, the attribute check should be skipped. (Reported by Niels Richard Hansen). o If the filename extension (usually .Rnw) was not included in a call to Sweave(), source references would not work properly, and the keep.source option failed. (PR#14459) o format.data.frame() now keeps zero character column names. o pretty(x) no longer raises an error when x contains solely non-finite values. (PR#14468) o The plot.TukeyHSD() function now uses a line width of 0.5 for its reference lines rather than lwd = 0 (which caused problems for some PDF and PostScript viewers). o The big.mark argument to prettyNum(), format(), etc. was inserted reversed if it was more than one character long. o R CMD check failed to check the filenames under man for Windows' reserved names. o The "Date" and "POSIXt" methods for seq() could overshoot when to was supplied and by was specified in months or years. o The internal method of untar() now restores hard links as file copies rather than symbolic links (which did not work for cross-directory links). o unzip() did not handle zip files which contained filepaths with two or more leading directories which were not in the zipfile and did not already exist. (It is unclear if such zipfiles are valid and the third-party C code used did not support them, but PR#14462 created one.) o combn(n, m) now behaves more regularly for the border case m = 0. (PR#14473) o The rendering of numbers in plotmath expressions (e.g. expression(10^2)) used the current settings for conversion to strings rather than setting the defaults, and so could be affected by what has been done before. (PR#14477) o The methods of napredict() and naresid() for na.action = na.exclude fits did not work correctly in the very rare event that every case had been omitted in the fit. (Reported by Simon Wood.) o weighted.residuals(drop0=TRUE) returned a vector when the residuals were a matrix (e.g. those of class "mlm"). (Reported by Bill Dunlap.) o Package HTML index files /html/00Index.html were generated with a stylesheet reference that was not correct for static browsing in libraries. o ccf(na.action = na.pass) was not implemented. o The parser accepted some incorrect numeric constants, e.g. 20x2. (Reported by Olaf Mersmann.) o format(*, zero.print) did not always replace the full zero parts. o Fixes for subsetting or subassignment of "raster" objects when not both i and j are specified. o R CMD INSTALL was not always respecting the ZipData: yes field of a DESCRIPTION file (although this is frequently incorrectly specified for packages with no data or which specify lazy-loading of data). R CMD INSTALL --use-zip-data was incorrectly implemented as --use-zipdata since R 2.9.0. o source(file, echo=TRUE) could fail if the file contained #line directives. It now recovers more gracefully, but may still display the wrong line if the directive gives incorrect information. o atan(1i) returned NaN+Infi (rather than 0+Infi) on platforms without C99 complex support. o library() failed to cache S4 metadata (unlike loadNamespace()) causing failures in S4-using packages without a namespace (e.g. those using reference classes). o The logit() function qlogis(lp, log.p=TRUE) no longer prematurely overflows to Inf when p := exp(lp) is close to 1. o Updating S4 methods for a group generic function requires resetting the methods tables for the members of the group (patch contributed by Martin Morgan). o In some circumstances (including for package XML), R CMD INSTALL installed version-control directories from source packages. o Added PROTECT calls to some constructed expressions used in C level eval calls.