This blog is updated daily.
A general description is here.
bzip2 has been updated to 1.0.5 (security fix).
source(echo=TRUE) would skip lines consisting entirely of the letter t. (PR#10923)
summary.mlm() incorrectly used accessor functions to fake an "lm" object. (PR#9191)
prettyNum() was not preserving attributes, despite being explicitly documented to. (PR#8695)
It was previously undocumented what happened if a graphical parameter was passed in both '...' and 'pars' to boxplot() and bxp(), and they behaved differently. Now those passed in '...' have precedence in both cases.
Only genuinely empty statements act as 'return' in the browser, not say those starting with a comment char. (PR#9063)
o summary.mlm() incorrectly used accessor functions to fake an "lm" object. (PR#9191)
o prettyNum() was not preserving attributes, despite being explicitly documented to. (PR#8695)
o It was previously undocumented what happened if a graphical parameter was passed in both '...' and 'pars' to boxplot() and bxp(), and they behaved differently. Now those passed in '...' have precedence in both cases.
There is support for MBCS charsets in the pictex() graphics device, and rotated (by 90 degrees) text may work better.
The \u (and \U except on Windows) notation for characters which is supported by the parser in all MBCS charsets is now always interpreted as a Unicode point, even on platforms which do not encode wchar_t in Unicode. These are now a syntax error in single-byte locales.
Wide-character width functions wc[s]width are provided that overcome problems found with OS-supplied ones (and those previously used by R on Windows). This means that double-width CJK characters are now supported on all platforms. It seems that the width of some characters (and not just CJK characters) depends on which CJK locale's fonts are in use and also on the OS.
Revised wide-character classification functions are provided for use on Windows, AIX and MacOS X to replace deficient OS-supplied ones.
o There is support for MBCS charsets in the pictex() graphics device, and rotated (by 90 degrees) text may work better.
o The \u (and \U except on Windows) notation for characters which is supported by the parser in all MBCS charsets is now always interpreted as a Unicode point, even on platforms which do not encode wchar_t in Unicode. These are now a syntax error in single-byte locales.
The 'multilib' changes on Linux broke the use of sub-architectures without a main architecture.
help(topic, offline=TRUE) misbehaved when there were multiple matches to 'topic'. (PR#10859)
kappa(m, exact=TRUE) no longer wrongly uses 'exact=FALSE' when m is an 'lm' or 'qr' object because the kappa.tri(x, exact=TRUE) now works correctly.
Checking examples which used grid (e.g. via lattice) without attaching grid no longer give errors from grid_plot_hook().
libtool has been updated to version 1.5.26, which avoids many spurious configure warnings on Darwin/Mac OS X.
l10n_info() now recognizes how Darwin/Mac OS X reports Latin-1 locales (as charset ISO8859-1 rather than ISO-8859-1).
The installer now uses version-specific identifiers so that multiple versions of R can be installed and uninstalled separately. (PR#10746)
Creating a new page on an X11() device (by plot.new() or grid.newpage()) did not flush out the XClearWindow call, so the X11 window might not be refreshed immediately.
Using the X11 data editor (e.g. via edit(), fix() or View()) could crash if the 'End' key was used and all the columns would have fitted into the window.
unlink(..., recursive=TRUE) no longer crashes on some platforms if a directory cannot be opened.
Loading in 2.6.2 a saved workspace could give an unimportant warning in a non-UTF-8 multibyte locale (in particular a CJK locale on Windows) which is now suppressed.
print() methods are more consistent in returning the original argument invisibly.
src/extra/pcre has been updated to PCRE 7.6 (bugfix release).
unlink(..., recursive=TRUE) no longer crashes if a directory cannot be opened.
Anonymous fifos were broken (again).
print.htest() lost output when used within sink(file, split=TRUE).
Setting par(col.main=) also set par("col") to the same colour.
strptime() crashed under certain locales on Mac OS X.
gregexpr() no longer segfaults when "" is given as the search pattern. Thanks to Hervé Pagès for the bug report.
as.complex(), as.double(), as.integer(), as.logical() and as.raw() are now primitive and internally generic for efficiency. They no longer dispatch on S3 methods for as.vector() (which was never documented). as.real() and as.numeric() remain as alternative names for as.double().
expm1(), log(), log1p(), log2(), log10(), gamma(), lgamma(), digamma() and trigamma() are now primitive. (Note that logb() is not.)
The Math2 and Summary groups (round, signif, all, any, max, min, summ, prod, range) are now primitive.
See under METHODS PACKAGE below for some consequences for S4 methods.
matplot(x, *) with default 'pch' did not plot columns from column number 37 on (because the default pch was NA for those). (PR#10676)
gregexpr no longer segfaults when "" is given as the search pattern. Thanks to Hervé Pagès for the bug report.
strptime crashed under certain locales on Mac OS X.
win.version() and Sys.info() know about recent and upcoming
Windows versions, including if they are running on a 64-bit
platform.
The listbox used by select.list() now responds to
double-clicking an item (as if the item had been selected and
then the OK button pressed).
The header iconv.h is now installed, and can be used by
packages in conjunction with PKG_LIBS=-liconv .
The value of "default" for the postscript() 'paper' argument for
savePlot() and the windows() graphics device menus is now
interpreted as "special" (rather than "a4" or "letter"): it
can still be overridden by setting ps.options(). (This changes
the default output to be most suitable for inclusion in other
documents rather than to produce a page for printing.)
win.version() and Sys.info() know about recent and upcoming Windows versions, including if they are running on a 64-bit platform.
The listbox used by select.list() now responds to double-clicking an item (as if the item had been selected and then the OK button pressed).
The header iconv.h is now installed, and can be used by packages in conjunction with PKG_LIBS=-liconv .
The value of "default" for the postscript() 'paper' argument for savePlot() and the windows() graphics device menus is now interpreted as "special" (rather than "a4" or "letter"): it can still be overridden by setting ps.options(). (This changes the default output to be most suitable for inclusion in other documents rather than to produce a page for printing.)
hist.POSIXt(*, xaxt = "n") no longer suppresses the y-axis.
split(x, g) always returns a list as documented. (It used to return NULL for a zero-length 'x'.)
tapply(x, g, ...) misbehaved if the args were of zero length. (PR#10644)
isoreg(x, y) no longer segfaults when y has NAs.
Double clicking on a saved workspace (or dragging and dropping it onto Rgui.exe) failed to open it if the Rprofile or Rprofile.site file changed the working directory.
isoreg(x,y) no longer segfaults when y has NAs.
On Linux, parallel 32/64-bit installations are supported using multilib.
Memory allocations used in format() and in an internal utility function could be off by one byte. (PR#10635)
We set some environment variables to work around hangs in Rgui
when packages (e.g. tseries) use Fortran WRITE calls. The
Fortran output will be written to a file named 'fort.6' in the
working directory.
Browsing for a directory in choose.dir() and the Rgui
'Change Dir...' menu item now works around Vista's confusion
about 'desktop' by starting at 'Computer' on Vista/Server 2008.
The shortcuts created by the installer now start R in the user's
personal folder (typically 'My Documents' or 'Documents').
win.version() and Sys.info() know about recent and upcoming
Windows versions, including if they are running on a 64-bit
platform.
The listbox used by select.list() now responds to
double-clicking an item (as if the item had been selected and
then the OK button pressed).
The header iconv.h is now installed, and can be used by
packages in conjunction with PKG_LIBS=-liconv .
The value of "default" for the postscript() 'paper' argument for
savePlot() and the windows() graphics device menus is now
interpreted as "special" (rather than "a4" or "letter"): it
can still be overridden by setting ps.options(). (This changes
the default output to be most suitable for inclusion in other
documents rather than to produce a page for printing.)
If a graphics window was opened in MDI mode while the console
was zoomed, it would not be initialized properly.
The graphics window placement parameters on the GUI preferences
dialog were being ignored.
The text field in a drop-down list (as used in GUI preferences
for fonts) will now scroll horizontally when a user enters
text that exceeds the display width.
If Rterm is invoked as 'R', the status code (as passed to q())
is now returned (rather than 0 or 1).
The MSVC run-time (used by MinGW) has a global variable to
determine whether files default to text or binary mode. R now
overrides this setting so that files are always read in text
mode by default: this is relevant to embedded uses of R.
We set some environment variables to work around hangs in Rgui when packages (e.g. tseries) use Fortran WRITE calls. The Fortran output will be written to a file named 'fort.6' in the working directory.
Browsing for a directory in choose.dir() and the Rgui 'Change Dir...' menu item now works around Vista's confusion about 'desktop' by starting at 'Computer' on Vista/Server 2008.
The shortcuts created by the installer now start R in the user's personal folder (typically 'My Documents' or 'Documents').
win.version() and Sys.info() know about recent and upcoming Windows versions, including if they are running on a 64-bit platform.
The listbox used by select.list() now responds to double-clicking an item (as if the item had been selected and then the OK button pressed).
The header iconv.h is now installed, and can be used by packages in conjunction with PKG_LIBS=-liconv .
The value of "default" for the postscript() 'paper' argument for savePlot() and the windows() graphics device menus is now interpreted as "special" (rather than "a4" or "letter"): it can still be overridden by setting ps.options(). (This changes the default output to be most suitable for inclusion in other documents rather than to produce a page for printing.)
If a graphics window was opened in MDI mode while the console was zoomed, it would not be initialized properly.
The graphics window placement parameters on the GUI preferences dialog were being ignored.
The text field in a drop-down list (as used in GUI preferences for fonts) will now scroll horizontally when a user enters text that exceeds the display width.
If Rterm is invoked as 'R', the status code (as passed to q()) is now returned (rather than 0 or 1).
The MSVC run-time (used by MinGW) has a global variable to determine whether files default to text or binary mode. R now overrides this setting so that files are always read in text mode by default: this is relevant to embedded uses of R.
colnames(DF) is now also fast for large dataframes DF with
automatic row.names. Note that the correct usage is
names(DF). (PR#10470)
tools::texi2dvi() works around the failure of 'texi2dvi --quiet'
to be quiet in texinfo 4.11.
A compilation problem on one system where glob was not found
has been corrected. (PR#10468)
The "profile.nls" method of plot() was losing the x axis labels.
array() computed the total number of entries in the array before
coercing the dimensions to integer. (Reported by Allen McIntosh.)
persp() misreported errors in the y parameter. (Reported by Allen
McIntosh.)
source("clipboard", echo=TRUE) and file("clipboard", open="rt")
gave spurious errors. (Reported by Fernando Saldanha.)
attributes<-() stripped any existing attributes before checking
that all elements of the right-hand side had names.
rbinom(n, size, *) gave NaN when 'size > .Machine$integer.max'.
print.summary.lm() is now consistent in the capitalization of
"R-squared".
confint() misreported on some rank-deficient lm() models.
(PR#10496) This could also occur in the default method.
\code{\var{<name>}} was not rendered correctly to latex in Rd
files for non-alphabetic arguments <name>.
In 2.6.1, curve(*, add=TRUE) used a wrong default 'xlim' when x
coordinates were logged.
The Java-based search in help.start() now only requires a
JVM >= 1.4 (2.6.1 accidentally required >= 1.5).
The default method for range() was omitting 'na.rm' for
non-numeric objects such as those of class "Date". (PR#10508)
cut(x, breaks=<n>) misbehaved on a constant vector of negative
values.
bxp(), the plotting engine of boxplot(), no longer plots staple
ticks multiple times. (PR#10499)
The automatic detection of the domain for message translation
was not working correctly for messages in message(), warning()
and stop() in packages other than 'base'.
The profile.nls() function misbehaved when encountering
non-convergence of the "port" algorithm.
Under certain rare circumstances in R 2.6.x, log(), round()
and trunc() could alter their arguments in the caller. This
involved passing of empty '...' arguments, and was spotted
when using apply(x, 2, log).
par() no longer warns unnecessarily when asked to set new=FALSE
on an unused graphics device.
plot.formula() was not passing on '...' when used with a
one-sided formula.
plot.formula() was not accepting expressions for annotations passed to title(). (PR#10525)
pchisq(x, df=0, ncp=L) now returns the correct limit exp(-L/2) for
x=0 and is no longer returning NaN for x > 0, L < 80. (PR#10551)
Non-ASCII characters were only working correctly in Hershey
fonts if these were specified by the 'vfont' argument to
text() and not if specified as a font family.
There were several errors in Hershey$allowed, but the help
page listed the allowed combinations correctly.
text() no longer attempts to use 'vfont' with an expression
for 'labels' (it was documented not to work).
fisher.test(simulate.p.value = TRUE) gave incorrect answers
in some extremely degenerate problems. (PR#10558)
src/extra/pcre has been updated to PCRE 7.5 (bugfix release).
capture.output() completes an incomplete final line of
output when file = NULL. (PR#10534)
capture.output() now returns invisibly if output is written to
a file/connection.
format.AsIs() did not remove the "AsIs" class and so could go
into an infinite loop.
summary.mlm() lost the names of the coefficients when there
was only one.
Rdconv was not marking examples files with an encoding if
this was known from the package's DESCRIPTION file.
readChar() from a raw vector was reading a number of bytes,
not characters.
slotNames() was erroneously treating classes that extend
"character" as strings.
R no longer ignores SIGPIPE signals even in processes launched
by system(). Instead PR#1959 is handled by a simple error
handler which will give an error message in circumstances
where none was given before.
The AIC() S4 generic in package stats4 no longer disables
dispatch of S3 methods for AIC().
The conflicts check in library() excluded all S4 generics, even
where they were unrelated to the function masked. It is now
more selective (although still too generous to S4 generics).
proc.time() was missing a protect and could misbehave if
provoked by gctorture(). (PR#10600)
colnames(DF) is now also fast for large dataframes DF with automatic row.names. Note that the correct usage is names(DF). (PR#10470)
tools::texi2dvi() works around the failure of 'texi2dvi --quiet' to be quiet in texinfo 4.11.
A compilation problem on one system where glob was not found has been corrected. (PR#10468)
The "profile.nls" method of plot() was losing the x axis labels.
array() computed the total number of entries in the array before coercing the dimensions to integer. (Reported by Allen McIntosh.)
persp() misreported errors in the y parameter. (Reported by Allen McIntosh.)
source("clipboard", echo=TRUE) and file("clipboard", open="rt") gave spurious errors. (Reported by Fernando Saldanha.)
attributes<-() stripped any existing attributes before checking that all elements of the right-hand side had names.
rbinom(n, size, *) gave NaN when 'size > .Machine$integer.max'.
print.summary.lm() is now consistent in the capitalization of "R-squared".
confint() misreported on some rank-deficient lm() models. (PR#10496) This could also occur in the default method.
\code{\var{<name>}} was not rendered correctly to latex in Rd files for non-alphabetic arguments <name>.
In 2.6.1, curve(*, add=TRUE) used a wrong default 'xlim' when x coordinates were logged.
The Java-based search in help.start() now only requires a JVM >= 1.4 (2.6.1 accidentally required >= 1.5).
The default method for range() was omitting 'na.rm' for non-numeric objects such as those of class "Date". (PR#10508)
cut(x, breaks=<n>) misbehaved on a constant vector of negative values.
bxp(), the plotting engine of boxplot(), no longer plots staple ticks multiple times. (PR#10499)
The automatic detection of the domain for message translation was not working correctly for messages in message(), warning() and stop() in packages other than 'base'.
The profile.nls() function misbehaved when encountering non-convergence of the "port" algorithm.
Under certain rare circumstances in R 2.6.x, log(), round() and trunc() could alter their arguments in the caller. This involved passing of empty '...' arguments, and was spotted when using apply(x, 2, log).
par() no longer warns unnecessarily when asked to set new=FALSE on an unused graphics device.
plot.formula() was not passing on '...' when used with a one-sided formula.
plot.formula() was not accepting expressions for annotations passed to title(). (PR#10525)
pchisq(x, df=0, ncp=L) now returns the correct limit exp(-L/2) for x=0 and is no longer returning NaN for x > 0, L < 80. (PR#10551)
Non-ASCII characters were only working correctly in Hershey fonts if these were specified by the 'vfont' argument to text() and not if specified as a font family.
There were several errors in Hershey$allowed, but the help page listed the allowed combinations correctly.
text() no longer attempts to use 'vfont' with an expression for 'labels' (it was documented not to work).
fisher.test(simulate.p.value = TRUE) gave incorrect answers in some extremely degenerate problems. (PR#10558)
src/extra/pcre has been updated to PCRE 7.5 (bugfix release).
capture.output() completes an incomplete final line of output when file = NULL. (PR#10534)
capture.output() now returns invisibly if output is written to a file/connection.
format.AsIs() did not remove the "AsIs" class and so could go into an infinite loop.
summary.mlm() lost the names of the coefficients when there was only one.
Rdconv was not marking examples files with an encoding if this was known from the package's DESCRIPTION file.
readChar() from a raw vector was reading a number of bytes, not characters.
slotNames() was erroneously treating classes that extend "character" as strings.
R no longer ignores SIGPIPE signals even in processes launched by system(). Instead PR#1959 is handled by a simple error handler which will give an error message in circumstances where none was given before.
The AIC() S4 generic in package stats4 no longer disables dispatch of S3 methods for AIC().
The conflicts check in library() excluded all S4 generics, even where they were unrelated to the function masked. It is now more selective (although still too generous to S4 generics).
proc.time() was missing a protect and could misbehave if provoked by gctorture(). (PR#10600)
The cut() and hist() methods for dates and datetimes are now more accurate for intervals of "months" and "years", thanks to Marc Schwarz.
url()/download.file() could segfault if the HTTP interaction involved a redirect to an address starting with '/' on the same server.
proc.time() was missing a protect and could misbehave if provoked by gctorture(). (PR#10600)
The MSVC run-time (used by MinGW) has a global variable to determine whether files default to text or binary mode. R now overrides this setting so that files are always read in text mode by default: this is relevant to embedded uses of R.
win.version() and Sys.info() know about recent and upcoming Windows versions, including if they are running on a 64-bit platform.
The listbox used by select.list() now responds to double-clicking an item (as if the item had been selected and then the OK button pressed).
The header iconv.h is now installed, and can be used by packages in conjunction with PKG_LIBS=-liconv .
The value of "default" for the postscript() 'paper' argument for savePlot() and the windows() graphics device menus is now interpreted as "special" (rather than "a4" or "letter"): it can still be overridden by setting ps.options(). (This changes the default output to be most suitable for inclusion in other documents rather than to produce a page for printing.)
The shortcuts created by the installer now start R in the user's personal folder (typically 'My Documents' or 'Documents').
If Rterm is invoked as 'R', the status code (as passed to q()) is now returned (rather than 0 or 1).
capture.output() completes an incomplete final line of output when file = NULL. (PR#10534)
capture.output() now returns invisibly if output is written to a file/connection.
format.AsIs() did not remove the "AsIs" class and so could go into an infinite loop.
summary.mlm() lost the names of the coefficients when there was only one.
Rdconv was not marking examples files with an encoding if this was known from the package's DESCRIPTION file.
readChar() from a raw vector was reading a number of bytes, not characters.
slotNames() was erroneously treating classes that extend "character" as strings.
R no longer ignores SIGPIPE signals even in processes launched by system(). Instead PR#1959 is handled by a simple error handler which will give an error message in circumstances where none was given before.
The AIC() S4 generic in package stats4 no longer disables dispatch of S3 methods for AIC().
The conflicts check in library() excluded all S4 generics, even where they were unrelated to the function masked. It is now more selective (although still too generous to S4 generics).
\code{\var{<name>}} was not rendered correctly to latex in Rd files for non-alphabetic arguments <name>.
The default method for range() was omitting 'na.rm' for non-numeric objects such as those of class "Date". (PR#10508)
The automatic detection of the domain for message translation was not working correctly for messages in message(), warning() and stop() in packages others than 'base'.
plot.formula() was not passing on '...' on when used with a one-sided formula.
plot.formula() was not accepting expressions for annotations passed to title(). (PR#10525)
tools::texi2dvi() works around the failure of 'texi2dvi --quiet' to be quiet in texinfo 4.11.
The text field in a drop-down list (as used in GUI preferences for fonts) will now scroll horizontally when a user enters text that exceeds the display width.
src/extra/pcre has been updated to PCRE 7.5 (bugfix release).
As Mac OS X 10.5.0x comes with incompatible /bin/sh shell, we force SHELL=/bin/bash (which is ok) in that case. [Only for 2.6.x: another solution is used in 2.7.0.]
Keyboard events in getGraphicsEvent() could cause stack imbalance errors. (PR#10453)
The graphics window placement parameters on the GUI preferences dialog were being ignored.
fisher.test(simulate.p.value = TRUE) gave incorrect answers in some extremely degenerate problems. (PR#10558)
Non-ASCII characters were only working correctly in Hershey fonts if these were specified by the 'vfont' argument to text() and not if specified as a font family.
There were several errors in Hershey$allowed, but the help page listed the allowed combinations correctly.
text() no longer attempts to use 'vfont' with an expression for 'labels' (it was documented not to work).
Browsing for a directory in choose.dir() and the Rgui 'Change Dir...' menu item now works around Vista's confusion about 'desktop' by starting at 'My Computer' on Vista/Server 2008.
pchisq(x, df=0, ncp=L) now returns the correct limit exp(-L/2) for x=0 and is no longer returning NaN for x > 0, L < 80. (PR#10551)
Browsing for a directory in choose.dir() and the Rgui 'Change Dir...' menu item now works around Vista's confusion about 'desktop' by starting at 'My Computer'.
par() no longer warns unnecessarily when asked to set new=FALSE on an unused graphics device.
plot.formula() was not passing '...' on when used with a one-sided formula.
plot.formula() was not accepting expressions for annotations passed to title(). (PR#10525)
Under certain rare circumstances in R 2.6.x, log(), round() and trunc() could alter their arguments in the caller. This involved passing of empty '...' arguments, and was spotted when using apply(x, 2, log).
The profile.nls() function misbehaved when encountering non-convergence of the "port" algorithm.
o Under certain rare circumstances in R 2.6.x, log(), round() and trunc() could alter their arguments in the caller. This involved passing of empty '...' arguments, and was spotted when using apply(x, 2, log).
bxp() {, the plotting engine of boxplot()}, no longer plots staple ticks multiple times. (PR#10499)
The profile.nls() function misbehaved when encountering non-convergence of the "port" algorithm.
o Under certain rare circumstances in R 2.6.x, log(), round() and trunc() could alter their arguments in the caller. This involved passing of empty '...' arguments, and was spotted when using apply(x, 2, log).
by() fails for 1-column matrices and dataframes. (PR#10505)
The profile.nls function misbehaved when encountering non-convergence of the "port" algorithm.
The automatic detection of the domain for message translation was not working correctly for messages in message(), warning() and stop() in packages others than 'base'.
bxp() {the plotting engine of boxplot()} no longer plots staple ticks multiple times. (PR#10499)
In 2.6.1, curve(*, add=TRUE) used a wrong default 'xlim' when x coordinates where logged in 2.6.1.
cut(x, breaks=<n>) misbehaved on a constant vector of negative values.
We set some environment variables to work around hangs in Rgui when packages (e.g. tseries) use Fortran I/OWRITE calls. The Fortran output will be written to a file named 'fort.6' in the working directory.
We set some environment variables to work around hangs in Rgui when packages (e.g. tseries) use Fortran I/O.
The Java-based search in help.start() now only requires a JVM >= 1.4 (2.6.1 accidentally required >= 1.5).
by() fails for 1-column matrices and dataframes. (PR#10505)
The default method for range() was omitting na.rm for non-numeric objects such as those of class "Date". (PR#10508)
curve(*, add=TRUE) used a wrong default 'xlim' when x coordinates where logged in 2.6.1.
\code{\var{<name>}} was not rendered correctly to latex in Rd files for non-alphabetic arguments <name>.
colnames(DF) is now also fast for large dataframes DF with automatic row.names. Note that the correct usage is names(DF). (PR#10470)
colnames(df) is now also fast for dataframes with long automatic
rownames. (PR#10470)
attributes<-() stripped old attributes before checking that
all elements of the right-hand side had names.
attributes<-() stripped any existing attributes before checking that all elements of the right-hand side had names.
plot.The "profile.nls" method of plot() was losing the x axis labels.
print.summary.lm() is now consistent in spellingthe capitalization of "R-squared".
confint() misreported on some rank-deficient lm() models. (PR#10496) CThis could also occur in the default method.
print.summary.lm() is now consistent in spelling of "R-squared".
confint() misreported on some rank-deficient lm() models. (PR#10496) Could also occur in the default method.
If a graphics window was opened in MDI mode while the console was zoomed, it would not be initialized properly.
rbinom(n, size, *) gave NaN when 'size > .Machine$integer.max'.
source("clipboard", echo=TRUE) and file("clipboard", open="rt") gave spurious errors. (Reported by Fernando Saldanha.)
attributes<-() stripped old attributes before checking that all elements of the right-hand side had names.
array() computed the total number of entries in the array before coercing the dimensions to integer. (Reported by Allen McIntosh.)
persp() misreported errors in the y parameter. (Reported by Allen McIntosh.)
colnames(df) is now also fast for dataframes with long automatic rownames. (PR#10470)
Fortran code in packages is no longer compiled with -Wall, as
this is not done on other platforms.
The canvas used when plotting on a jpeg() or bmp() device with
a transparent background (most often by copying from a screen
device with the default transparent background) is now white
and not grey.
It seems file.access() can be unreliable both ways: that is it
can also report that access is barred when it is not.
(Seen on network file systems.) So install.packages() to a
single library no longer makes use of file.access() but checks
directory creation instead: it is still possible that you can
create a directory but not be allowed to create a .dll or .chm
file, at least under Vista.
When R_COMPLETION is set to FALSE, TAB is no longer ignored,
but advances to the next tab stop in Rterm (the pre-2.5.0
behaviour) and inserts a space in Rgui.
Saving a plot to Postscript or PDF required the font database
to have been initialized: this is now done if necessary.
Very long file or pathnames could cause a crash if opened in
the script editor. (PR#10402)
Fortran code in packages is no longer compiled with -Wall, as this is not done on other platforms.
The canvas used when plotting on a jpeg() or bmp() device with a transparent background (most often by copying from a screen device with the default transparent background) is now white and not grey.
It seems file.access() can be unreliable both ways: that is it can also report that access is barred when it is not. (Seen on network file systems.) So install.packages() to a single library no longer makes use of file.access() but checks directory creation instead: it is still possible that you can create a directory but not be allowed to create a .dll or .chm file, at least under Vista.
When R_COMPLETION is set to FALSE, TAB is no longer ignored, but advances to the next tab stop in Rterm (the pre-2.5.0 behaviour) and inserts a space in Rgui.
Saving a plot to Postscript or PDF required the font database to have been initialized: this is now done if necessary.
Very long file or pathnames could cause a crash if opened in the script editor. (PR#10402)
plot.profile.nls() was losing the x axis labels
A compilation problem on one system where glob was not found has been corrected. (PR#10468)
Keyboard events in getGraphicsEvent() could cause stack imbalance errors (PR#10453)
plot.ts(x,y) could use wrong default labels; fixed thanks to Antonio, Fabio di Narzo.
reshape() got column names out of sync with contents in some cases; found by Antonio, Fabio Di Narzo.
ar(x) for short 'x' (i.e. length <= 10) could fail because the default 'order.max' was >= length(x) which is non-sensical.
choose(n, k) gave incorrect values for negative n and small k.
The "data.frame" and "factor" methods for [[ now support
the 'exact' argument introduced in 2.6.0.
plot.lm() gains a new argument 'cex.caption' to allow the
size of the captions to be controlled.
A series of changes make the CHARSXP cache introduced in 2.6.0
faster (and in some cases many times faster) in sessions with
a large number (e.g. a million) of unique character strings,
and also if there are many empty strings.
embedFonts(), bitmap() and dev2bitmap() explicitly turn off
auto-rotation in Ghostscript when generating PDF.
The canonical architecture is no longer checked when loading
packages using a non-empty sub-architecture, since it is
possible to (e.g.) build packages for i386-pc-linux-gnu on both
that architecture and on x86_64-unknown-linux-gnu.
Deparsing will (if option warnIncomplete is set) warn on
strings longer than the parser limit (8192 bytes).
url() now uses the UserAgent header in http transactions in
the same way as download.file() (making use of option
"HTTPUserAgent").
iconv() is again able to translate character strings with
embedded nuls (such as those in UCS-2).
new.packages() and update.packages() failed when called on an
empty library, since old.packages() threw an error.
old.packages() now returns NULL (as documented) in that case.
Builds on Mac OS X 10.4 or higher now allocate enough space
in the binary headers to relocate dependent libraries into the
framework.
R CMD build now computes the exclusion list on the copy it
makes: this avoids problems if the original sources contain
symbolic links (which are resolved in the copy). Thanks to
Michael Lawrence for diagnosis and patch.
object.size() had slightly too low a size for objects of type "S4".
symbol() in plotmath expressions was only accepting valid
character strings, which made it impossible to specify symbols
such as aleph (obtained by symbol("\300")) in a UTF-8 locale.
An event handling issue caused autorepeat functions to
misbehave with tcltk (notably scrollbars).
plot(sin, -5, 5) gives ylab 'sin(x)' again, where it resulted
in 'x(x)' in 2.6.0. Further, plot(sin) again plots from
[0,1] also in cases where a previously used coordinate system
differs.
curve() with unspecified 'from', 'to' and 'xlim' now reuses the
previous x limits, and not slightly larger ones.
It was intended that R code filenames in packages should start
with an ASCII letter or digits (and R CMD INSTALL uses that),
but the test used in R CMD build ([A-Za-z0-9]) was
locale-specific (and excluded t to y in Estonian, for
example). (PR#10351)
'R CMD build' could misbehave when faced with files with CRLF
line endings *and* no line ending on the final line of the
file, removing the last byte of the file.
DF[i, j] failed in 2.6.0 if j was a logical vector selecting a
single column.
Unix x11() would fail if a valid 'display' was specified but
DISPLAY was unset. (PR#10379)
postscript() was not always ignoring .Postscript.Options in
the workspace (where it should not have occurred).
help.search() would give an error if it found a badly
installed package, even if 'package' was not specified.
tclServiceMode() (package tcltk) now works under Unix-alikes.
(Although documented, it used only to work under Windows.)
As Mac OS X 10.5.0 comes with incompatible /bin/sh shell, we
force SHELL=/bin/bash (which is ok) in that case. [Only for
2.6.x: another solution is used in 2.7.0.]
Deliberately using malformed source attributes no longer
causes deparsing/printing of functions to crash R. (PR#10437)
R CMD check and R CMD INSTALL now work with (some) directory
names containing spaces.
The "data.frame" and "factor" methods for [[ now support the 'exact' argument introduced in 2.6.0.
plot.lm() gains a new argument 'cex.caption' to allow the size of the captions to be controlled.
A series of changes make the CHARSXP cache introduced in 2.6.0 faster (and in some cases many times faster) in sessions with a large number (e.g. a million) of unique character strings, and also if there are many empty strings.
embedFonts(), bitmap() and dev2bitmap() explicitly turn off auto-rotation in Ghostscript when generating PDF.
The canonical architecture is no longer checked when loading packages using a non-empty sub-architecture, since it is possible to (e.g.) build packages for i386-pc-linux-gnu on both that architecture and on x86_64-unknown-linux-gnu.
Deparsing will (if option warnIncomplete is set) warn on strings longer than the parser limit (8192 bytes).
url() now uses the UserAgent header in http transactions in the same way as download.file() (making use of option "HTTPUserAgent").
iconv() is again able to translate character strings with embedded nuls (such as those in UCS-2).
new.packages() and update.packages() failed when called on an empty library, since old.packages() threw an error. old.packages() now returns NULL (as documented) in that case.
Builds on Mac OS X 10.4 or higher now allocate enough space in the binary headers to relocate dependent libraries into the framework.
R CMD build now computes the exclusion list on the copy it makes: this avoids problems if the original sources contain symbolic links (which are resolved in the copy). Thanks to Michael Lawrence for diagnosis and patch.
object.size() had slightly too low a size for objects of type "S4".
symbol() in plotmath expressions was only accepting valid character strings, which made it impossible to specify symbols such as aleph (obtained by symbol("\300")) in a UTF-8 locale.
An event handling issue caused autorepeat functions to misbehave with tcltk (notably scrollbars).
plot(sin, -5, 5) gives ylab 'sin(x)' again, where it resulted in 'x(x)' in 2.6.0. Further, plot(sin) again plots from [0,1] also in cases where a previously used coordinate system differs.
curve() with unspecified 'from', 'to' and 'xlim' now reuses the previous x limits, and not slightly larger ones.
It was intended that R code filenames in packages should start with an ASCII letter or digits (and R CMD INSTALL uses that), but the test used in R CMD build ([A-Za-z0-9]) was locale-specific (and excluded t to y in Estonian, for example). (PR#10351)
'R CMD build' could misbehave when faced with files with CRLF line endings *and* no line ending on the final line of the file, removing the last byte of the file.
DF[i, j] failed in 2.6.0 if j was a logical vector selecting a single column.
Unix x11() would fail if a valid 'display' was specified but DISPLAY was unset. (PR#10379)
postscript() was not always ignoring .Postscript.Options in the workspace (where it should not have occurred).
help.search() would give an error if it found a badly installed package, even if 'package' was not specified.
tclServiceMode() (package tcltk) now works under Unix-alikes. (Although documented, it used only to work under Windows.)
As Mac OS X 10.5.0 comes with incompatible /bin/sh shell, we force SHELL=/bin/bash (which is ok) in that case. [Only for 2.6.x: another solution is used in 2.7.0.]
Deliberately using malformed source attributes no longer causes deparsing/printing of functions to crash R. (PR#10437)
R CMD check and R CMD INSTALL now work with (some) directory names containing spaces.
Deliberately using malformed source attributes no longer causes deparsing/printing of functions to crash R. (PR#10437)
R CMD check and R CMD INSTALL now work with (some) directory names containing spaces.
As Mac OS X 10.5.0 comes with incompatible /bin/sh shell, we force SHELL=/bin/bash (which is ok) in that case. [Only for 2.6.x: another solution is used in 2.7.0.]
Mac OS X 10.5.0 comes with incompatible /bin/sh shell, we force SHELL=/bin/bash (which is ok) in that case.
url() now uses the UserAgent header in http transactions in the same way as download.file() (making use of option "HTTPUserAgent").
tclServiceMode() (package tcltk) now works under Unix-alikes. (Although documented, it used only to work under Windows.)
Very long file or pathnames could cause a crash if opened in the script editor. (PR#10402)
help.search() would give an error if it found a badly installed package, even if 'package' was not specified.
Deparsing will (if option warnIncomplete is set) warn on strings longer than the parser limit (8192 bytes).
postscript() was not always ignoring .Postscript.Options in the workspace (where it should not have occurred).
The canonical architecture is no longer checked when loading packages using a non-empty sub-architecture, since it is possible to (e.g.) build packages for i386-pc-linux-gnu on both that architecture and on x86_64-unknown-linux-gnu.
DF[i, j] failed in 2.6.0 if j was a logical vector selecting a single column.
Unix x11() would fail if a valid 'display' was specified but DISPLAY was unset. (PR#10379)
'R CMD build' could misbehave when faced with files with CRLF line endings *and* no line ending on the final line of the file, removing the last byte of the file.
The "data.frame" and "factor" methods for [[ now support the 'exact' argument introduced in 2.6.0.
plot.lm() gains a new argument 'cex.caption' to allow the size of the captions to be controlled.
A series of changes make the CHARSXP cache introduced in 2.6.0 faster (and in some cases many times faster) in sessions with a large number (e.g. a million) of unique character strings, and also if there are many empty strings.
embedFonts(), bitmap() and dev2bitmap() explicitly turn off auto-rotation in Ghostscript when generating PDF.
The "data.frame" and "factor" methods for [[ now support
the 'exact' argument introduced in 2.6.0.
plot.lm() gains a new argument 'cex.caption' to allow the
size of the captions to be controlled.
A series of changes make the CHARSXP cache introduced in 2.6.0
faster (and in some cases many times faster) in sessions with
a large number (e.g. a million) of unique character strings,
and also if there are many empty strings.
embedFonts(), bitmap() and dev2bitmap() explicitly turn off
auto-rotation in Ghostscript when generating PDF.
It was intended that R code filenames in packages should start with an ASCII letter or digits (and R CMD INSTALL uses that), but the test used in R CMD build ([A-Za-z0-9]) was locale-specific (and excluded t to y in Estonian, for example). (PR#10351)
Fortran code in packages is no longer compiled with -Wall, as this is not done on other platforms.
It was intended that R code filenames in packages should start with an ASCII letter or digits (and R CMD INSTALL uses that), but the test used in R CMD build ([A-Za-z0-9]) was locale-specific (and excluded t to y in Estonian, for example).
An event handling issue caused autorepeat functions to misbehave with tcltk (notably scrollbars). This was due to a change intended to allow checking for user interrupts inside tight loops. The change has been backed out.
plot(sin, -5, 5) gives ylab 'sin(x)' again, where it resulted in 'x(x)' in 2.6.0. Further, plot(sin) again plots from [0,1] also in cases where a previously used coordinate system differs.
curve() with unspecified 'from', 'to' and 'xlim' now reuses the previous x limits, and not slightly larger ones.
An event handling issue caused autorepeat functions to misbehave with tcltk (notably scrollbars). This was due to a change intended to allow checking for user interrupts inside tight loops. The change has been backed out.
A series of changes make the CHARSXP cache introduced in 2.6.0 faster (and in some cases many times faster) in sessions with a large number (e.g. a million) of unique character strings, and also if there are many empty strings.
symbol() in plotmath expressions was only accepting valid character strings, which made it impossible to specify symbols such as aleph (obtained by symbol("\300")) in a UTF-8 locale.
showMethods() has a "smart" default for 'inherited' such that
showMethods(<genfun>, incl = TRUE) becomes a useful short cut.
The internal equivalents of as.complex, as.double, as.integer and as.logical used to handle length-=1 arguments now accept character strings (rather than report that this is 'unimplemented').
showMethods() has a "smart" default for 'inherited' such that showMethods(<genfun>, incl = TRUE) becomes a useful short cut.
New R_GE_str2col() exported via R_ext/GraphicsEngine.h for
external device developers.
New entry point R_GE_str2col listed in R_ext/GraphicsEngine.h for external graphics device developers.
object.size() had slightly too low a size for objects of type "S4".
embedFonts(), bitmap() and dev2bitmap() explicitly turn off auto-rotation in Ghostscript when generating PDF.
It seems file.access() can be unreliable both ways: that is it can also report that access is barred when it is not. (Seen on network file systems.) So install.packages() to a single library no longer makes use of file.access() but checks directory creation instead: it is still possible that you can create a directory but not be allowed to create a .dll or .chm file, at least under Vista.
When R_COMPLETION is set to FALSE, TAB is no longer ignored, but advances to the next tab stop in Rterm (the pre-2.5.0 behaviour) and inserts a space in Rgui.
The canvas used when plotting on a jpeg() or bmp() device with a transparent background (most often by copying from a screen device with the default transparent background) is now white and not grey.
o It seems file.access() can be unreliable both ways: that is it can also report that access is barred when it is not. (Seen on network file systems.) So install.packages() to a single library no longer makes use of file.access() but checks directory creation instead: it is still possible that you can create a directory but not be allowed to create a .dll or .chm file, at least under Vista.
The canvas used when plotting on a jpeg() or bmp() device with a transparent background (most often by copying from a screen device with the default transparent background) is now white and not grey.
o It seems file.access() can be unreliable both ways: that is it can also report that access is barred when it is not. (Seen on network file systems.) So install.packages() to a single library no longer makes use of file.access() but checks directory creation instead: it is still possible that you can create a directory but not be allowed to create a .dll or .chm file, at least under Vista.
If the user chooses to register R during installation, a registry entry HKEY_LOCAL_MACHINE\Software\R-core\R\{version}\InstallPath will be added. Users require administrative privileges to create this key. F: for others, the same key will be put under the HKEY_CURRENT_USER root.
R CMD build now computes the exclusion list on the copy it makes: this avoids problems if the original sources contain symbolic links (which are resolved in the copy). Thanks to Michael Lawrence for diagnosis and patch.
dQuote() and sQuote() now use directional quotes by default under RGui. You might prefer options(useFancyQuotes=FALSE) when running Rterm if the console font does not have these quotes: see the rw-FAQ.
'=' within -e expression is no longer interpreted as setting
an environment variable.
'=' within '-e expression' on the command line is no longer interpreted as setting an environment variable.
Using a modal widget from Rterm (e.g. select.list) is now far more likely to be forced to the front.
Rcnmd INSTALL --docs=txt etc works (for a single type, except 'chm' which is equivalent to 'all' nowadays).
new.packages() and update.packages() failed when called on an empty library, since old.packages() threw an error. old.packages() now returns NULL (as documented) in that case.
Builds on Mac OS X 10.4 or higher now allocate enough space in the binary headers to relocate dependent libraries into the framework.
Saving a plot to Postscript or PDF required the font database to have been initialized: this is now done if necessary.
The canvas used when plotting on a jpeg() or pngbmp() device with a transparent background (most often by copying from a screen device with the default transparent background) is now white and not grey.
The canvas used when plotting on a jpeg() or png() device with a transparent background (most often by copying from a screen device with the default transparent background) is now white and not grey.
The "data.frame" and "factor" methods for [[ now support the 'exact' argument introduced in 2.6.0.
iconv() is again able to translate character strings with embedded nuls (such as those in UCS-2).
plot.lm() gains a new argument 'cex.caption' to allow the size of the captions to be controlled.
A series of changes make the CHARSXP cache introduced in 2.6.0 faster (and in some cases many times faster) in sessions with a large number (e.g. a million) of unique character strings.
The [[ subsetting operator now has an argument 'exact' that allows programmers to disable partial matching (which will in due course become the default). The default value is exact=NA which causes a warning to be issued when partial matching occurs. When exact = TRUE, no partial matching will be performed. When exact = FALSE, partial matching can occur and no warning will be issued. This patch was written by Seth Falcon.
It is planned that [[exact=TRUE]] will become the default in R 2.7.0.
Ranges in chartr() now work better in CJK locales, thanks to Ei-ji Nakama.
seemsS4Object (methods package) is deprecated in favour of isS4().
help(<a character vector>) now uses the name and not the value of the vector unless it has length exactly one, so e.g. help(letters) now gives help on 'letters'. (Related to PR#9927)
getS3method() could fail if the method name contained a special regexp metacharacter such as "+".
Pasting into the script editor would sometimes change fonts and lose line breaks. (Reported by Bob Muenchen.)
Single and double quotations are now rendered using directional quotes in text conversions of R help (as they always have been in HTML, CHM and latex versions of the help). Note that directional double quotes are missing in FixedFont on someSys on most versions of Windows, and although the files will be rendered correctly in CJK locales using the builtin pager, they may not be in external pagers.
Rcmd Rdiff now ignores the difference between smart single quotes and '. This will probably only work correctly in single-byte locales. (This is in addition to UTF-8 directional single quotes which the Unix version has for some time equated to '.)
getS3method() could fail if the method name contained a special character such as "+".
dQuote() and sQuote() are more flexible, with rendering controlled by the new option 'useFancyQuotes'. This includes the ability to have TeX-style rendering and directional quotes (the so-called 'smart quotes') on Windows. The default is to use directional quotes in UTF-8 locales (as before) and in the Rgui console on Windows (new).
.find.packages(), packageDescription() and sessionInfo() assumed that attached environments named "package:foo" were package environments, although misguided users could use such a name in attach().
spline() and splinefun() with method = "periodic" could return incorrect results when length(x) was 2 or 3.
Trailing spaces are now consistently stripped from \alias{} entries in .Rd files, and this is now documented. (PR#9915)
Trailing spaces are now conistently stripped from \alias{} entries in .Rd files, and this is now documented. (PR#9915)