This blog is updated daily.
A general description is here.
The graphical dialog version of ‘select.list()’ could cause later dialogs to fail if Windows events were not processed between the calls.
Building badly-written vignettes which used the default device
(‘pdf(file = "Rplots.pdf")’ could leave the device open and hence the
file ‘Rplots.pdf’ could not be removed on Windows: all devices are now
closed.
In some circumstances the caret (cursor) could be positioned
incorrectly. (PR#14460)
When loading ‘Rconsole’ from disk, a spurious warning message was
sometimes shown.
In R 2.12.1, ‘system()’ sometimes passed an empty input stream to the
new process rather than allowing user input.
The internal method for ‘untar()’ does a better job of unravelling
symbolic links in the tarball (but still with many limitations).
Building badly-written vignettes which used the default device (‘pdf(file = "Rplots.pdf")’ could leave the device open and hence the file ‘Rplots.pdf’ could not be removed on Windows: all devices are now closed.
In some circumstances the caret (cursor) could be positioned incorrectly. (PR#14460)
When loading ‘Rconsole’ from disk, a spurious warning message was sometimes shown.
In R 2.12.1, ‘system()’ sometimes passed an empty input stream to the new process rather than allowing user input.
The internal method for ‘untar()’ does a better job of unravelling symbolic links in the tarball (but still with many limitations).
Bug fixes for drawing raster objects on ‘windows()’. The symptom was the occasional raster image not being drawn, especially when drawing multiple raster images in a single expression. Thanks to Michael Sumner for report and testing.
Building badly-written vignettes which used the default device (‘pdf(file = "Rplots.pdf")’ could leave the device open and hence the file ‘Rplots.pdf’ could not be removed on Windows: all devices are now closed.
The internal method for ‘untar()’ does a better job of unravelling symbolic links in the tarball (but still with many limitations).
In R 2.12.1, ‘system()’ sometimes passed an empty input stream to the new process rather than allowing user input.
In some circumstances the caret (cursor) could be positioned incorrectly. (PR#14460)
When loading ‘Rconsole’ from disk, a spurious warning message was sometimes shown.
‘system()’ and ‘system2()’ with output redirected to a character vector
now give a warning if the command returns a non-zero error code. (This
is what a Unix-alike does as from R 2.12.0.)
‘system()’ and ‘system2()’ no longer discard output from the command to
stdout and stderr as often as they used to, and more cases of
‘system2()’ are implemented.
‘stdin’ is now flushed after echoing the input line.
The internal implementation of ‘tar()’ (package ‘utils’) is now
supported on Windows.
The MSI installer is now made by an R script, and there is now support
for 64-bit builds. (Unlike the Inno Setup installer, there are
separate MSI installers for 32- and 64-bit Windows.)
It is now built using ‘WiX 3.x’ rather than ‘WiX 2.0’. (As a result it is about 25% smaller.)
Some warning/error messages from ‘dyn.load()’ could be masked in ‘Rgui’
on Windows 7, as that OS can return messages containing carriage
returns and ‘Rgui’ does not support overwriting.
Filenames could not be specified using backslashes in ‘Sweave()’.
In R 2.12.0, ‘system(intern = TRUE)’ captured ‘stderr’ on ‘Rterm’ when
it was documented to only do so on ‘Rgui’.
‘Rgui’ in R 2.12.0 (only) did not always handle lines containing
carriage returns (‘\r’) correctly: sometimes random characters where
shown.
Since carriage returns have been supported in ‘Rgui’, the cursor positioning after outputting a line containing a carriage return had been unreliable.
‘system()’ and ‘system2()’ with output redirected to a character vector now give a warning if the command returns a non-zero error code. (This is what a Unix-alike does as from R 2.12.0.)
‘system()’ and ‘system2()’ no longer discard output from the command to stdout and stderr as often as they used to, and more cases of ‘system2()’ are implemented.
‘stdout’ is now flushed after echoing the input line.
The internal implementation of ‘tar()’ (package ‘utils’) is now supported on Windows.
The MSI installer is now made by an R script, and there is now support for 64-bit builds. (Unlike the Inno Setup installer, there are separate MSI installers for 32- and 64-bit Windows.)
It is now built using ‘WiX 3.x’ rather than ‘WiX 2.0’. (As a result it is about 25% smaller.)
Some warning/error messages from ‘dyn.load()’ could be masked in ‘Rgui’ on Windows 7, as that OS can return messages containing carriage returns and ‘Rgui’ does not support overwriting.
Filenames could not be specified using backslashes in ‘Sweave()’.
In R 2.12.0, ‘system(intern = TRUE)’ captured ‘stderr’ on ‘Rterm’ when it was documented to only do so on ‘Rgui’.
‘Rgui’ in R 2.12.0 (only) did not always handle lines containing carriage returns (‘\r’) correctly: sometimes random characters where shown.
Since carriage returns have been supported in ‘Rgui’, the cursor positioning after outputting a line containing a carriage return had been unreliable.
The internal implementation of ‘tar()’ (package ‘utils’) is now supported on Windows.
‘Rgui’ in R 2.12.0 (only) did not always handle lines containing carriage returns (‘\r’) correctly: sometimes random characters where shown.
Since carriage returns have been supported in ‘Rgui’, the cursor positioning after outputting a line containing a carriage return had been unreliable.
In R 2.12.0, ‘system(intern = TRUE)’ captured ‘stderr’ on ‘Rterm’ when it was documented to only do so on ‘Rgui’.
‘stdin’ is now flushed after echoing the input line.
‘system()’ and ‘system2()’ no longer discard output from the command to stdout and stderr as often as they used to, and more cases of ‘system2()’ are implemented.
The MSI installer is now made by an R script, and there is now support for 64-bit builds. (Unlike the Inno Setup installer, there are separate MSI installers for 32- and 64-bit Windows.)
It is now built using ‘WiX 3.x’ rather than ‘WiX 2.0’. (As a result it is about 25% smaller.)
‘system()’ and ‘system2()’ no longer discard output from the command to stdout and stderr as often as they used to.
The MSI installer is now made by an R script, and there is now support for 64-bit builds.
It is now built using ‘WiX 3.0’ rather than ‘WiX 2.0’. (As a result it is about 25% smaller.)
The 32- and 64-bit distributions have been merged:
There is a combined installer (called ‘R-<version>-win.exe’). When used under 32-bit Windows this works as before and installs 32-bit R. When used under 64-bit Windows there are options to install either or both of 32- and 64-bit R: the default is to install both.
The default package type is ‘"win.binary"’ on both 32- and 64-bit builds: a single repository contains binary packages for both architectures. This is in place for CRAN, CRAN extras and BioC: ‘type = "win64.binary"’ can still be used for any repositories which follow the R 2.11.x convention. With the default filters (see ‘?available.packages’) packages will only be offered if they are available for the current architecture.
The default personal library, e.g. ‘~/R/win-library/2.12’ is now the same for both 32- and 64-bit R.
The recommended 64-bit toolchain has been changed to one that does not add leading underscores. See <URL: http://www.murdoch-sutherland.com/Rtools/> or <URL: http://www.stats.ox.ac.uk/pub/Rtools/>. Any static or import libraries for external software used in installing packages will need to be re-compiled for this toolchain, but the use of DLLs is unaffected.
‘system()’ (and hence ‘shell()’) did not always set the standard file handles properly, so some programs would not run.
The MSI installer is now made by an R script, and there is now support for 64-bit builds.
Some warning/error messages from ‘dyn.load()’ could be masked in ‘Rgui’ on Windows 7, as that OS can return messages containing carriage returns and ‘Rgui’ does not support overwriting.
Filenames could not be specified using backslashes in ‘Sweave()’.
‘system()’ and ‘system2()’ with output redirected to a character vector now give a warning if the command returns a non-zero error code. (This is what a Unix-alike does as from R 2.12.0.)
‘system(intern = FALSE)’ now returns ‘127’ (the same as Unix-alikes) rather than ‘-1’ if the command cannot be run, and (like Unix-alikes) no longer gives a warning.
‘R.exe’ when used in place of ‘Rterm.exe’ set the environment variables set by ‘R CMD’. Conversely, ‘R CMD BATCH’ did not.
‘memory.limit()’ did not allow sizes greater than 4095 on 64 bit builds. (PR#14372)
The 32- and 64-bit distributions have been merged:
There is a combined installer (called ‘R-<version>-win.exe’). When used under 32-bit Windows this works as before and installs 32-bit R. When used under 64-bit Windows there are options to install either or both of 32- and 64-bit R: the default is to install both.
The default package type is ‘"win.binary"’ on both 32- and 64-bit builds: a single repository contains binary packages for both architectures. This is in place for CRAN, CRANextras and BioC: ‘type = "win64.binary"’ can still be used for any repositories which follow the R 2.11.x convention. With the default filters (see ‘?available.packages’) packages will only be offered if they are available for the current architecture.
The default personal library, e.g. ‘~/R/win-library/2.12’ is now the same for both 32- and 64-bit R.
The recommended 64-bit toolchain has been changed to one that does not add leading underscores. See <URL: http://www.murdoch-sutherland.com/Rtools/> or <URL: http://www.stats.ox.ac.uk/pub/Rtools/>. Any static or import libraries for external software used in installing packages will need to be re-compiled for this toolchain, but the use of DLLs is unaffected.
‘Rscript -e’ and similar use a temporary file, and now work harder to ensure that filename is not the same as some other simultaneous R process.
‘R.exe’ when used in place of ‘Rterm.exe’ used to set the environment variables set by ‘R CMD’. Conversely, ‘R CMD BATCH’ did not.