This blog is updated daily.
A general description is here.
approxfun(), approx(), splinefun() and spline() could be confused by x values that were different but so close as to print identically. (PR#14377)
memory.limit() did not allow sizes greater than 4095 even on 64 bit builds. (PR#14372)
as.POSIXlt() now handles negative sub-second POSIXct times properly - they were off by exactly one day. (Reported by Daniel Murphy.)
When building packages from sources it is now possible to create DWARF debugging symbols (dSYM) in each package on Mac OS X by setting PKG_MAKE_DSYM=1 environemnt variable.
system(intern=TRUE) often returned 0 rather than an error status if the command could not be found, if run from Rterm or from Rgui with show.output.on.console = FALSE.
A fix intended for Mac OS X was incorrectly applied to Windows, so iconv(x, from, "") in a C locale was interpreted as requesting translation to UTF-8.
tools::undoc() again detects undocumented data objects. Of course, this also affects R CMD check.
contour() did not display dashed line types properly when contour lines were labelled. (Reported by David B. Thompson.)
readClipboard() could cause a segfault with certain clipboard data.
packageStatus() could return a data frame with duplicate row names which could then not be printed.
txtProgressBar(style = 2) did not work correctly.
txtProgressBar(style = 3) did not display until a non-minimum value was set.
pdf() device suffered from buffer overflow when adding more than a few raster images.
require(save = TRUE) recorded in .Depends the names of packages it failed to load.
require(save = TRUE) recorded in .Depends the names of packages it failed to load.
The use of Perl configuration variables for R CMD check (as previously documented in 'Writing R Extensions') is deprecated and will be removed in R 2.12.0. Use the environment variables documented in 'R Internals' instead.
The postscript() and pdf() devices will now allow 'lwd' values less than 1 (they used to force such values to be 1).
sessionInfo() gives more detailed platform information, including 32/64-bit and the sub-architecture if one is used.
dir.create(recursive = TRUE) could fail if one of the components existed but was a directory on a read-only file system. (Seen on Solaris, where the error code returned is not even listed as possible on the man page.)
The postscript() and pdf() devices will now allow lwd values less than 1 (they used to force such values to be 1).
Fixed font face for CID fonts in pdf() graphics output. (PR#14326)
GERaster() now checks for width or height of zero and does nothing in those cases; previously the behaviour was undefined, probably device-specific, and possibly dangerous.
wilcox.test(x, y, conf.int = TRUE) failed with an unhelpful message if 'x' and 'y' were constant vectors, and similarly in the one-sample case. (PR#14329)
Improperly calling Recall() from outside a function could cause a segfault. (Reported by Robert McGehee.)
\Sexpr[result=rd] in an Rd file added a spurious newline, which was displayed as extra whitespace when rendered.
The internal strptime() could corrupt its copy of the timezone which would then lead to spurious warnings. (PR#14338)
serialize() to a raw vector works around the dismal performance of Windows' memory manager by allocating much larger chunks of memory less frequently.
R CMD had a typo in its detection of whether the environment variable TEXINPUTS was set (reported by Martin Morgan).
The command-line parser could mistake --file=size... for one of the options for setting limits for Ncells or Vcells.
R CMD check runs the package-specific tests with LANGUAGE=en set, to facilitate comparison to .Rout.save files.
weighted.mean(NA, na.rm=TRUE) and similar now returns NaN again, as it did previously to R 2.10.0.
aggregate.ts() gave platform-dependent results due to rounding error for ndeltat != 1.
strsplit(x, fixed=TRUE) marked UTF-8 strings with the local encoding when no splits were found.
Text help rendering of \tabular{} has been improved: under some circumstances leading blank columns were not rendered.
stripchart() could fail with an empty factor level. (PR#14317)
install.packages() has a new optional argument 'INSTALL_opts' which can be used to pass options to R CMD INSTALL for source-package installs.
R CMD Rd2dvi failed if run from a path with name containing spaces. This(s). This also affected R CMD check, which calleds Rd2dvi.
R CMD Rd2dvi failed if run from a path with name containing spaces. This affected R CMD check, which called Rd2dvi.
tools::Rd2txt() did not render poorly written Rd files consistently with other renderers.
It computed widths of strings that would be print()ed with escapes incorrectly, for example in the computation of column width for \tabular.
file.rename() now waits for the rename to complete before returning, so that operations on the new filename will not fail.
Sys.info() and win.version() now report Windows 7 as such (and not as Vista), and Sys.info() now reports the machine type as 'x86-64' on 64-bit platforms.
The Rgui console, pagers and editor on the 64-bit build now have
a title bar icon.
The outer frame/console for Rgui/Rterm mentions '(64-bit)' to
make it easier to distinguish running copies of R.
The package entries in listbox shown by the 'Install package(s)
...' menu are now explicitly sorted in the current locale
(there were in most previous releases, but not in 2.11.0).
R CMD INSTALL can install zipfiles as binary packages.
The Rgui console, pagers and editor on the 64-bit build now have a title bar icon.
The outer frame/console for Rgui/Rterm mentions '(64-bit)' to make it easier to distinguish running copies of R.
The package entries in listbox shown by the 'Install package(s) ...' menu are now explicitly sorted in the current locale (there were in most previous releases, but not in 2.11.0).
R CMD INSTALL can install zipfiles as binary packages.
Errors in the Rconsole file are ignored: silently on startup, with a warning when Rconsole is loaded interactively.
Command 'gnutar' is preferred to 'tar' when configure sets TAR. This is needed on Mac OS 10.6, where the default tar, bsdtar 2.6.2, has been reported to produce archives with illegal extensions to tar (according to the POSIX standard).
na.action() did not extract the 'na.action' component as documented.
tools::Rd2txt() did not render poorly written Rd files consistently with other renderers.
R CMD INSTALL checks if dependent packages are available early on
in the installation of source packages, thereby giving clearer
error messages.
R CMD INSTALL --build now names the file in the format used
for Mac OS X binary files on that platform.
BIC() in package stats4 now also works with multiple fitted models,
analogously to AIC().
Use of .C for C++ code in packages is now deprecated: it has
caused problems for some 'make's on case-insensitive file
systems (although it currently works with the recommended
toolkits).
The C function mkCharLenCE now no longer reads past 'len' bytes
(unlikely to be a problem except in user code). (PR#14246)
On systems without any default LD_LIBRARY_PATH (not even
/usr/local/lib), [DY]LIB_LIBRARY_PATH is now set without a
trailing colon. (PR#13637)
More efficient utf8ToInt() on long multi-byte strings with
many multi-byte characters. (PR#14262)
aggregate.ts() gave platform-depedent results due to rounding
error for ndeltat != 1.
package.skeleton() sometimes failed to fix filenames for .R or
.Rd files to start with an alphanumeric. (PR#14253)
It also failed when only an S4 class without any methods was
defined. (PR#14280)
splinefun(*, method = "monoH.FC") was not quite monotone in rare
cases. (PR#14215)
Rhttpd no longer crashes due to SIGPIPE when the client closes
the connection prematurely. (PR#14266)
format.POSIXlt() could cause a stack overflow and crash when used on
very long vectors. (PR#14267)
Rd2latex() incorrectly escaped special characters in \usage sections.
mcnemar.test() could alter the levels (dropping unused levels)
if passed 'x' and 'y' as factors (reported by Greg Snow).
Rd2pdf sometimes needed a further pdflatex pass to get
hyperlinked pages correct.
interaction() produced malformed results when levels were
duplicated, causing segfaults in split().
cut(d, breaks = <n>) now also works for "Date" or "POSIXt"
argument d. (PR#14288)
memDecompress() could decompress incompletely rare xz-compressed
input due to incorrect documentation of xz utils. (Report
and patch from Olaf Mersmann.)
The S4 initialize() methods for "matrix", "array", and "ts" have
been fixed to call validObject(). (PR#14284)
R CMD INSTALL now behaves the same way with or without
--no-multiarch on platforms with only one installed
architecture. (It used to clean the src directory without
--no-multiarch.)
[<-.data.frame was not quite careful enough in assigning (and
potentially deleting) columns right-to-left. (PR#14263)
rbeta(n, a,b) no longer occasionally returns NaN for a >> 1 > b.
(PR#14291)
pnorm(x, log.p = TRUE) could return NaN not -Inf for x near
(minus for lower.tail=TRUE) the largest representable number.
Compressed data files *.(txt|tab|csv).(gz|bz2|xz) were not
recognized for the list of data topics and hence for packages
using LazyData. (PR#14273)
textConnection() did an unnecessary translation on strings in
a foreign encoding (e.g. UTF-8 strings on Windows) and so was
slower than it could have been on very long input strings.
(PR#14286)
tools::Rd2txt() did not render poorly written Rd files consistently
with other renderers.
R CMD INSTALL checks if dependent packages are available early on in the installation of source packages, thereby giving clearer error messages.
R CMD INSTALL --build now names the file in the format used for Mac OS X binary files on that platform.
BIC() in package stats4 now also works with multiple fitted models, analogously to AIC().
Use of file extension .C for C++ code in packages is now deprecated: it has caused problems for some 'make's on case-insensitive file systems (although it currently works with the recommended toolkits).
Command 'gnutar' is preferred to 'tar' when configure sets TAR. This is needed on Mac OS 10.6, where the default tar, bsdtar 2.6.2, has been reported to produce archives with illegal extensions (according to the POSIX standard).
The C function mkCharLenCE now no longer reads past 'len' bytes (unlikely to be a problem except in user code). (PR#14246)
On systems without any default LD_LIBRARY_PATH (not even /usr/local/lib), [DY]LIB_LIBRARY_PATH is now set without a trailing colon. (PR#13637)
More efficient utf8ToInt() on long multi-byte strings with many multi-byte characters. (PR#14262)
aggregate.ts() gave platform-depedent results due to rounding error for ndeltat != 1.
package.skeleton() sometimes failed to fix filenames for .R or .Rd files to start with an alphanumeric. (PR#14253) It also failed when only an S4 class without any methods was defined. (PR#14280)
splinefun(*, method = "monoH.FC") was not quite monotone in rare cases. (PR#14215)
Rhttpd no longer crashes due to SIGPIPE when the client closes the connection prematurely. (PR#14266)
format.POSIXlt() could cause a stack overflow and crash when used on very long vectors. (PR#14267)
Rd2latex() incorrectly escaped special characters in \usage sections.
mcnemar.test() could alter the levels (dropping unused levels) if passed 'x' and 'y' as factors (reported by Greg Snow).
Rd2pdf sometimes needed a further pdflatex pass to get hyperlinked pages correct.
interaction() produced malformed results when levels were duplicated, causing segfaults in split().
cut(d, breaks = <n>) now also works for "Date" or "POSIXt" argument d. (PR#14288)
memDecompress() could decompress incompletely rare xz-compressed input due to incorrect documentation of xz utils. (Report and patch from Olaf Mersmann.)
The S4 initialize() methods for "matrix", "array", and "ts" have been fixed to call validObject(). (PR#14284)
R CMD INSTALL now behaves the same way with or without --no-multiarch on platforms with only one installed architecture. (It used to clean the src directory without --no-multiarch.)
[<-.data.frame was not quite careful enough in assigning (and potentially deleting) columns right-to-left. (PR#14263)
rbeta(n, a,b) no longer occasionally returns NaN for a >> 1 > b. (PR#14291)
pnorm(x, log.p = TRUE) could return NaN not -Inf for x near (minus for lower.tail=TRUE) the largest representable number.
Compressed data files *.(txt|tab|csv).(gz|bz2|xz) were not recognized for the list of data topics and hence for packages using LazyData. (PR#14273)
textConnection() did an unnecessary translation on strings in a foreign encoding (e.g. UTF-8 strings on Windows) and so was slower than it could have been on very long input strings. (PR#14286)
tools::Rd2txt() did not render poorly written Rd files consistently with other renderers.
tools::Rd2txt() did not render poorly written Rd files consistently with other renderers.
BIC() in package stats4 now also works with multiple fitted models, analogously to AIC().
R CMD INSTALL --build now names the file in the format used for Mac OS X binary files on that platform.
textConnection() did an unnecessary translation on strings in a foreign encoding (e.g. UTF-8 strings on Windows) and so was slower than it could have been on very long input strings. (PR#14286)
[<-.data.frame was not quite careful enough in assigning (and potentially deleting) columns right-to-left. (PR#14263)
Compressed data files *.(txt|tab|csv).(gz|bz2|xz) were not recognized for the list of data topics and hence for packages using LazyData. (PR#14273)
pnorm(x, log.p = TRUE) could return NaN not -Inf for x near (minus for lower.tail=TRUE) the largest representable number.
R CMD INSTALL can install zipfiles as binary packages.
The outer frame/console for RGgui/Rterm mentions '(64-bit)' to make it easier to distinguish running copies of R.
The Korean translation of the RGgui menus has been corrected and restored. (Thanks to June Kim and Seung-ho Kang.)
Some (but not all) Korean users have been having problems with Korean translations of the RGgui menus. These had not been updated for a long time, and have now been removed.
R CMD INSTALL now behaves the same way with or without --no-multiarch on platforms with only one installed architecture. (It used to clean the src directory without --no-multiarch.)
rbeta(n, a,b) no longer occasionally returns NaN for a >> 1 > b. (PR#14291)
theThe S4 initialize() methods for "matrix", "array", and "ts" have been fixed to call validObject(). (PR#14284)
The outer frame/console for RGui/Rterm mentions '(64-bit)' to make it easier to distinguish running copies of R.
The package entries in listbox shown by the 'Install package(s) ...' menu are now explicitly sorted in the current locale (there were in most previous releases, but not in 2.11.0).
R CMD INSTALL checks if dependent packages are available early on in the installation of source packages, thereby giving clearer error messages.
memDecompress() could decompress incompletely rare xz-compressed input due to incorrect documentation of xz utils. (Report and patch from Olaf Mersmann.)
the initialize() methods for "matrix", "array", and "ts" have been fixed to call validObject() (PR#14284)
Use of .C for C++ code in packages is now deprecated: it has caused problems for some 'make's on case-insensitive file systems (although it currently works with the recommended toolkits).
cut(d, breaks = <n>) now also works for "Date" or "POSIXt" argument d. (PR#14288)
package.skeleton() sometimes failed to fix filenames for .R or .Rd files to start with an alphanumeric. (PR#14253) It also failed when only an S4 class without any methods was defined. (PR#14280)
interaction() produced malformed results when levels were duplicated, causing segfaults in split().
mcnemar.test() could alter the levels (dropping unused levels) if passed 'x' and 'y' as factors (reported by Greg Snow).
Rd2pdf sometimes needed a further pdflatex pass to get hyperlinked pages correct.
Rd2latex() incorrectly escaped special characters in \usage sections.
The package entries in the 'Install package(s) ...' menu are now explicitly sorted in the current locale (there were in most previous releases, but not in 2.11.0).
The C function mkCharLenCE now no longer reads past 'len' bytes (unlikely to be a problem except in user code). (PR# 14246)
The Rgui console, pagers and editor on the 64-bit build now have a title bar icon.
The outer frame/console for RGui/Rterm mention '(64-bit)' to make it easier to distinguish running copies of R.
format.POSIXlt() could cause a stack overflow and crash when used on very long vectors. (PR#14267)
pchisq(ncp =, log.p = TRUE) is more accurate for probabilities near one. E.g. pchisq(80, 4, ncp=1, log.p=TRUE). (Maybe what was meant in PR#1412216.)
The C function mkCharLenCE now no longer reads past 'len' bytes (unlikely to be a problem except in user code). (PR# 14246)
On systems without any default LD_LIBRARY_PATH (not even /usr/local/lib), [DY]LIB_LIBRARY_PATH is now set without a trailing colon. (PR#13637)
More efficient utf8ToInt() on long multi-byte strings with many multi-byte characters. (PR#14262)
aggregate.ts() gave platform-depedent results due to rounding error for ndeltat != 1.
package.skeleton() sometimes failed to fix filenames for .R or .Rd files to start with an alphanumeric. (PR#14253)
splinefun(*, method = "monoH.FC") was not quite monotone in rare cases. (PR#14215)
Rhttpd no longer crashes due to SIGPIPE when the client closes the connection prematurely. (PR#14266)
0^1i (which should be complex NAN) was incorrect.
0^1i (which should be complex NAN) was incorrect.
The MSI installer defaults to an all-user (per machine) install (by setting the ALLUSERS property to 1). This can be changed at installation, and ift can be built for a user-mode install (see MkRules.dist).
All the results from hist() now use the nominal 'breaks' not those adjusted by the numeric 'fuzz": in recent versions the nominal 'breaks' were reported but the 'density' referred to the intervals used in the calculation -- which mattered very slightly for one of the extreme bins. (Based on a report by Martin Becker.)
If xy[z].coords (used internally by many graphics functions) are given a list as 'x', they now check that the list has suitable names and give a more informative error message. (PR#13936)
Issuing POST requests to the internal web server could stall the request under certain circumstances.
gzcon( <textConnection> ), an error, no longer damages the connection (in a way to have it seg.fault). (PR#14237)
tools::readNEWS() now accepts a digit as the first character of a news section.
pgamma(0,0), a boundary case, now returns 0, its limit from the left, rather than the limit from the right.
RSetReg.exe has been updated to (un)set the version-specific keys in the same way as the main installer, and to have the optional argument /Personal to (un)set the per-user rather than the per-machine keys (which need administrative access).
The MSI installer defaults to an all-user (per machine) install (by setting the ALLUSERS property to 1). This can be changed at installation, and if can be built for a user-mode install (see MkRules.dist).
RSetReg.exe has been updated to (un)set the version-specific keys in the same way as the main installer.
The MSI installer defaults to an all-user (per machine) install (by setting the ALLUSERS property to 1).
all.equal(*, tolerance = e) passes the numeric tolerance also to the comparison of the attributes.
read.fwf() misread multi-line records when n was specified. (PR#14241)
configure looks for a POSIX compliant tr, Solaris's /usr/ucb/tr having been found to cause Rdiff to malfunction.
configure is now generated with autoconf-2.65, which works better on recent systems and on Mac OS X.
readRegistry() can look at either the 32- or 64-bit view of the Registry on 64-bit Windows.
The Tcl timezone files (3Mb on disc) are now an optional part of the installation: they would be very rarely used with R.
When building R, the recommended way is now to supply a file R_HOME/src/gnuwin32/MkRules.local instead of editing MkRules: there is now no MkRules file in the distribution, but one is generated during the build process.
MkRules.local can be generated by copying and editing MkRules.dist.
pretty() is now generic, with new methods for "Date" and
"POSIXt" classes (based on code contributed by Felix Andrews).
In the 'methods' package, the MethodsList metadata objects which had been superseded by hash tables (environments) since R 2.8.0 are being phased out. At the present stage stub objectObjects of this class are generated and a warning issued if these are accessed: shortly none will be generatedno longer assigned or used as metadata by the package.
getMethods() is now deprecated, with its internal use replaced by findMethods() and other changes. Creating objects from the MethodsList class is also deprecated.
pretty() is now generic, with new methods for "Date" and "POSIXt" classes (based on code contributed by Felix Andrews).
New arrayInd() such that which(x, arr.ind = TRUE) for an array 'x' is now equivalent to arrayInd(which(x), dim(x), dimnames(x)).
The parser no longer marks strings containing octal or hex escapes as being in UTF-8 when entered in a UTF-8 locale.
On platforms with cairo but not Pango (notably Mac OS X) the initial default X11() type is set to "Xlib": this avoids several problems with font selection when done by cairo rather than Pango (at least on Mac OS X).
Parsing strings containing both octal/hex and Unicode escapes now gives a warning and will become an error in R 2.12.0.
The X11() device with cairo but not Pango (notably Mac OS X) now checks validity of text strings in UTF-8 locales (since Pango does but cairo it seems does not).