This blog is updated daily.
A general description is here.
‘An Introduction to R’ has a new chapter on using R as a scripting language, interacting with the OS.
Various functions in ‘stats’ and elsewhere that use non-standard evaluation are now more careful to follow the namespace scoping rules. E.g. ‘stats::lm()’ can now find ‘stats::model.frame()’ even if ‘stats’ is not on the search path or if some package defines a function of that name.
If an invalid/corrupt ‘.Random.seed’ object is encountered in the workspace it is ignored with a warning rather than giving an error. (This allows R itself to rely on a working RNG, e.g. to choose a random port.)
‘stem()’ now discards infinite inputs rather than hanging. (PR#15376)