This blog is updated daily.
A general description is here.
The environment variable ‘R_MAX_VSIZE’ can now be used to specify the maximal vector heap size. On macOS, unless specified by this environment variable, the maximal vector heap size is set to the maximum of 16GB and the available physical memory. This is to avoid having the ‘R’ process killed when macOS over-commits memory.
R has new serialization format (version 3) which supports custom serialization of ‘ALTREP’ framework objects. These objects can still be serialized in format 2, but less efficiently. Serialization format 3 also records the current native encoding of unflagged strings and converts them when de-serialized in R running under different native encoding. Format 3 comes with new serialization magic numbers (RDA3, RDB3, RDX3). Format 3 can be selected by ‘version = 3’ in ‘save()’, ‘serialize()’ and ‘saveRDS()’, but format 2 remains the default for all serialization and saving of the workspace. Serialized data in format 3 cannot be read by versions of R prior to version 3.5.0.
‘configure’ sets a ‘-std’ flag for the C++ compiler for all supported C++ standards (e.g., ‘-std=gnu++11’ for the C++11 compiler). Previously this was not done in a few cases where the default standard passed the tests made (e.g. ‘clang 6.0.0’ for C++11).
Deparsing of consecutive ‘!’ calls is now consistent with deparsing unary ‘-’ and ‘+’ calls and creates code that can be reparsed exactly; thanks to a patch by Lionel Henry in PR#17397. (As a side effect, this uses fewer parentheses in some other deparsing involving ‘!’ calls.)