This blog is updated daily.
A general description is here.
Calling ‘&&’ or ‘||’ with either argument of length greater than one is
now an error. Environment variable ‘_R_CHECK_LENGTH_1_LOGIC2_’ can
still be set to get a verbose report (although that is likely to be
removed before release, and is no longer set by ‘R CMD check
--as-cran’).
The default error report is of the form
'length = 4' in coercion to 'logical(1)'
Calling ‘&&’ or ‘||’ with either argument of length greater than one is now always an error, with a report of the form
'length = 4' in coercion to 'logical(1)'
Environment variable ‘_R_CHECK_LENGTH_1_LOGIC2_’ no longer has any effect.
The parser now signals _classed_ errors, notably in case of the pipe operator, ‘|>’. The error object and message now give line and column numbers, mostly as proposed and provided by Duncan Murdoch in PR#18328.
A system installation of generic LAPACK 3.10.0 or later will be preferred to the version in the R sources.
‘configure’ option ‘--with-lapack=no’ (equivalently ‘--without-lapack’) forces compilation of the internal LAPACK sources.
If ‘--with-lapack’ is not specified, a system ‘liblapack’ is looked for and used if it reports version 3.10.0 or later and does not contain BLAS routines.
Packages using LAPACK will need to be reinstalled if this changes to using an external library.
The included LAPACK sources have been updated to include the four Fortran 90 routines rather than their Fortran 77 predecessors. This may give some different signs in SVDs or eigendecompositions.. (This completes the transition to LAPACK 3.10.x begun in R 4.2.0.)
The flag ‘-fno-optimize-sibling-calls’ is no longer forced for ‘gfortran’ 7 and later. It should no longer be needed now using ‘hidden’ character-length arguments is the default even for packages. (Unless perhaps packages call Fortran code from C/C++ without using R's headers and without allowing for these arguments.)
The deprecated legacy typedefs of ‘Sint’ and ‘Sfloat’ in header ‘R.h’ can be excluded by defining macro ‘NO_S_TYPEDEFS’ before including the header. This is defined when using ‘R CMD check --as-cran’ or by defining the environment variable ‘_R_NO_S_TYPEDEFS_’ to a true value when running ‘R CMD check’.
If these are excluded, ‘R.h’ no longer includes header ‘limits.h’ (nor ‘climits’ from C++).
Hashed ‘environment’s with sizes less than 5 can now grow. (Reported to R-devel by Duncan Garmonsway.)
The libraries searched for by ‘--with-blas’ (without a value) now include BLIS (after OpenBLAS but before ATLAS). And on macOS, the Accelerate framework (after ATLAS). (This is patterned after the ‘AX_BLAS’ macro from the Autoconf Archive.)
The search for a CRAN mirror when checking packages now uses ‘getOption("repos")’ if that specifies a CRAN mirror, even when it does not also specify all three Bioconductor repositiotries (as was previously required).