This blog is updated daily.
A general description is here.
Specifying C++11 or C++14 in ‘src/Makevars’ has long given a note: in 99% of CRAN packages the specification was unnecessary as the default C++17 suffices (in a few cases with a deprecation warning from some compilers).
The intention is that support for those standards will be withdrawn before release.
‘R CMD config’ variables ‘CXX11’, ‘CXX14’ and their associated ‘CXXxxFLAGS’, ‘CXXxxPICFLAGS’ ‘CXXxxSTD’, ‘SHLIBCXXxxLD’ and ‘SHLIBCXXxxLDFLAGS’ variables are no longer supported and reported as ‘defunct’.
The default C++ standard will be changed to C++20 ‘where available’ (which it is on all known platforms since 2021): if not C++17 is used if available otherwise C++ is not supported (as before).
Several CRAN packages already require C++20 and have hundreds of others depending on them. (Packages can request C++17 if essential.)
C++ standard specifications (‘CXX_STD =’ in ‘src/Makevars*’ and in the ‘SystemRequirements’ field of the ‘DESCRIPTION’ file) are now checked more thoroughly. Invalid values are still ignored but now give a warning.
