This blog is updated daily.
A general description is here.
‘arima()’ and ‘makeARIMA()’ get a new optional argument ‘SSinit’, allowing the choice of a different *s*tate *s*pace initialization which has been observed to be more reliable close to non-stationarity: see PR#14682.
‘read.table()’, ‘readLines()’ and ‘scan()’ have a new argument to influence the treatment of embedded nuls.
Avoid duplicating the right hand side values in complex assignments when possible. This reduces copying of replacement values in expressions such as ‘Z$a <- a0’ and ‘ans[[i]] <- tmp’: some package code has relied on there being copies. (Based on suggestions from Michael Lawrence.)
The ‘fast’ argument of ‘KalmanLike()’, ‘KalmanRun()’ and ‘KalmanForecast()’ has been replaced by ‘update’, which instead of updating ‘mod’ in place, optionally returns the updated model in an attribute ‘"mod"’ of the return value.
The function ‘LENGTH()’ now checks that it is only applied to vector arguments. However, in packages ‘length()’ should be used. (In R itself ‘LENGTH()’ is a macro without the function overhead of ‘length()’.)
‘strptime()’ now checks the locale only when locale-specific formats are used and caches the locale in use: this can halve the time taken on OSes with slow system functions (e.g. OS X).
‘strptime()’ and the ‘format()’ methods for classes ‘"POSIXct"’, ‘"POSIXlt"’ and ‘"Date"’ recognize strings with marked encodings: this allows, for example, UTF-8 French month names to be read on (French) Windows.
In locales where the abbreviated name of one month is a partial match for the full name of a later one, the ‘%B’ format in ‘strptime()’ could fail. An example was French on OS X, where ‘juin’ is abbreviated to ‘jui’ and partially matches ‘juillet’. Similarly for weekday names.
‘rowsum()’ has more support for matrices and dataframes with 2^31 or more elements. (PR#15587)