This blog is updated daily.
A general description is here.
The ‘methods’ package internal function ‘.requirePackage()’ now calls ‘requireNamespace(p)’ instead of ‘require(p)’, hence no longer adding packages to the ‘search()’ path in cases methods or class definitions are needed. Consequently, previous workflows relying on the old behaviour will have to be amended by adding corresponding ‘library(p)’ calls.
More R-level messages use a common format containing ‘"character string"’ for more consistency and less translation work.
A C23 compiler (if available) can be selected for compilation of R and packages _via_ the ‘configure’ flag ‘--with-C23’. The compliance test is of support of new keywords: C23 does have feature-tests macros for many of its new features.
It is intended that this will become the default before release: already R's ‘configure’ may select a compiler which defaults to C23 (such as GCC 15).
When C23 is selected, packages using R's compiler settings can ask not to use C23 _via_ including ‘USE_C17’ in ‘SystemRequirements’ or can be installed by ‘R CMD INSTALL --use-C17’.
‘cbind()’ could segfault with ‘NULL’ inputs. (Seen when R was built with ‘gcc-14’, LTO and C99 inlining semantics.)