This blog is updated daily.
A general description is here.
Multistratum MANOVA works. In fact, it seems to have done so for years
in spite of the help page claiming it did not.
‘PACKAGE = ""’ was accepted in ‘.C()’ etc calls, although it was
contrary to the documentation. It is now an error.
On Windows, the C stack size has been increased to 64MB (it has been 10MB since the days of 32MB RAM systems).
On other OSes the stack size is set at run time rather than when compiling.
‘StructTS()’ has a revised additive constant in the ‘loglik’ component of the result: the previous definition is returned as the ‘loglik0’ component. However, the help page has always warned of a lack of comparability of log-likelihoods for non-stationary models. (Suggested by Jouni Helske.)
There is support for vectors longer than 2^31 - 1 elements on 64-bit platforms. This applies to raw, logical, integer, double, complex and character vectors, as well as lists. (Elements of character vectors remain limited to 2^31 - 1 bytes.)
Use of such vectors is work-in-progress.
Most operations which can sensibly be done with long vectors now work: others may return the error ‘long vectors not supported yet’. Some of these are because they explicitly work with integer indices (e.g. ‘anyDuplicated()’ and ‘match()’) or because other limits (e.g. of character strings or matrix dimensions) would be exceeded or the operations would be extremely slow.
There is some support for matrices and arrays with each dimension less than 2^31 but total number of elements more than that. Only some aspects of matrix algebra work for such matrices, often taking a very long time. In other cases the underlying Fortran code has an unstated restriction (as was found for complex ‘svd()’).
‘.C()’ and ‘.Fortran()’ do not accept long vector inputs. This is a precaution as it is very unlikely that existing code will have been written to handle long vectors (and the R wrappers often assume that ‘length(x)’ is an integer).
Most of the ‘.Internal()’ calls used in the ‘stats’ package have been migrated to C code in that package.
This means that a number of ‘.Internal()’ calls which have been used by packages no longer exist, including ‘.Internal(cor)’ ‘.Internal(cov)’, ‘.Internal(optimhess)’ and ‘.Internal(update.formula)’.
It also means that packages such as ‘compositions’ which made copies of ‘stats’ functions at installation need to be re-installed. As may packages which have been byte-compiled, since some ‘.Internal()’ calls are inlined by the compiler.
‘PACKAGE = ""’ was accepted in ‘.C()’ etc calls, although it was contrary to the documentation. It is now an error.
Fix in package ‘grid’ for pushing a viewport into a layout cell, where the layout is within a viewport that has zero physical width OR where the layout has zero total relative width (likewise for height). The layout column widths (or row heights) in this case were being calculated with non-finite values. (Reported by Winston Chang.)
The ‘X11()’ device has some protection against being used with forked processes _via_ package ‘parallel’.
Some of the quality control functions (e.g. ‘tools::checkFF()’) were wrongly identifying the source of S4 methods in a package and so not checking them.