This blog is updated daily..
A general description is here.
It is now possible for 64-bit builds to allocate amounts of memory limited only by the OS. It may be wise to use OS facilities (e.g. ‘ulimit’ in a ‘bash’ shell, ‘limit’ in ‘csh’) to set limits on overall memory consumption of an R process, particularly in a multi-user environment. A number of packages, particularly those using Java, need at least 4GB of virtual memory.
Where methods for ‘length()’ return a double value which is representable as an integer (as often happens for package ‘Matrix’), this is converted to an integer.
On Windows, the C stack size has been increased to 64MB (it has been 10MB since the days of 32MB RAM systems).
What can be done with such vectors is currently somewhat limited, and most operations will return the error ‘long vectors not supported yet’. They can be serialized and unserialized, coercion, ‘identical()’ and ‘object.size()’ work and means can be computed. Their lengths can be get and set by ‘xlength()’: calling ‘length()’ on a long vector will throw an error.
Most aspects of indexing are available. Generally double-valued indices can be used to access elements beyond 2^31 - 1.
There is a new function ‘mcaffinity()’ which allows to get or set the CPU affinity mask for the current R process on systems that supports this (currently only Linux was tested successfully). It has no effect on systems that do not support process affinity. Users are not expected to use this function directly (with the exception of fixing libraries that break affinity settings like OpenBLAS) - the function is rather intended to support affinity control in high-level parallel functions. In the future, R may supplement lack of affinity control in the OS by its own bookkeeping via ‘mcaffinity’ related to processes and threads it spawns.
‘mcparallel()’ has a new argument ‘mc.affinity’ which attempts to set the affinity of the child process according to the specification contained therein.
On Windows, the C stack size has been increased to 64MB (it has been
10MB since the days of 32MB RAM systems).
New C functions ‘R_orderVector()’, ‘R_order2double()’, etc, corresponding to R's ‘order()’.
For ‘R CMD check’, a few people have reported problems with junctions on Windows (although they were tested on Windows 7, XP and Server 2008 machines). Setting the environment variable ‘R_WIN_NO_JUNCTIONS’ to a non-empty value (e.g. in ‘~/.R/check.Renviron’) will force copies to be used instead.
Calls to the new function ‘globalVariables()’ in ‘utils’ declare that functions and other objects in a package should be treated as globally defined, so that ‘CMD check’ will not note them.
A few people have reported problems with junctions, although they were
tested on Windows 7, XP and Server 2008 machines. Setting the
environment variable ‘R_WIN_NO_JUNCTIONS’ to a non-empty value (e.g. in
‘~/.R/check.Renviron’ will force ‘R CMD check’ to use copies instead.
Windows-specific changes will now be announced in this file (‘NEWS’). Changes up and including R 2.15.0 remain in the ‘CHANGES’ file.
There are two new environment variables which control the defaults for command-line options.
If ‘R_WIN_INTERNET2’ is set to a non-empty value, it is as if ‘--internet2’ was used.
If ‘R_MAX_MEM_SIZE’ is set, it gives the default memory limit if ‘--max-mem-size’ is not specified: invalid values being ignored.
For ‘tiff(type = "windows")’, the numbering of per-page files except the last was off by one.
On Windows, loading package ‘stats’ (which is done for a default session) would switch line endings on ‘stdout’ and ‘stderr’ from CRLF to LF. This affected ‘Rterm’ and ‘R CMD BATCH’.
On Windows, the compatibility function ‘x11()’ had not kept up with changes to ‘windows()’, and issued warnings about bad parameters. (PR#14880)
On Windows, the ‘Sys.glob()’ function didn't handle UNC paths as it was designed to try to do. (PR#14884)
