This blog is updated daily.
A general description is here.
The minimum required version of ‘libcurl’ has been increased from
7.28.0 to 7.32.0 (released in Aug 2013).
There is support for a package to indicate the version of the C standard which should be used to compile it, and for the installing user to specify this. In most cases R defaults to the C compiler's default standard which is C17 (a `bug-fix' of C11) - earlier versions of R or compilers may have defaulted to C99.
Current options are:
USE_C17 Use a standard that is at most C17. The intention is to allow legacy packages to still be installed when later C standards become the default, including packages using new keywords as identifiers or with K&R-style function declarations. This will use C17 if available, falling back to C11.
USE_C90 Use the C90 (aka C89) standard. (As that standard did not require compilers to identify that version, all we can verify is that the compiler does not claim to be using a later standard. It may accept C99 features - for example ‘clang’ accepts // to make comments.)
USE_C99 Use the C99 standard. This should be rarely needed - it avoids the few new features of C11/C17 which can be useful if a package assumes them if C17 is specified and they are not implemented.
USE_C23 Use C23 (or in future, later). Compiler/library support for C23 is still being implemented, but LLVM clang 15 and the upcoming GCC 13 have quite extensive support.
These can be specified as part of the ‘SystemRequirements’ field in the package's ‘DESCRIPTION’ file or _via_ options ‘--use-C17’ and so on of ‘R CMD INSTALL’ and ‘R CMD SHLIB’.
For further details see “Writing R Extensions” §1.2.5.