This blog is updated daily.

A general description is here.

‘head(x, n)’ and ‘tail()’ default and other S3 methods notably for _vector_ ‘n’, e.g. to get a “corner” of a matrix, also extended for ‘array’'s of higher dimension, thanks to the patch proposal by Gabe Becker in PR#17652. Consequently, optional argument ‘addrownums’ is deprecated and replaced by the (more general) ‘keepnums’. Invalid (second argument) ‘n’ now leads to typically more easily readable error messages.

Where available, ‘writeBin()’ now allows long vectors (those of length >= 2^31).

‘wilcox.test()’ enhancements: In the (non-paired) two-sample case, ‘Inf’ values are treated as very large for robustness consistency. If exact computations are used, the result now has ‘"exact"’ in the ‘method’ element of its return value. New arguments ‘tol.root’ and ‘digits.rank’. The latter may be used for stability to treat very close numbers as ties.

New function ‘proportions()’ and ‘marginSums()’. These should replace the unfortunately named ‘prop.table()’ and ‘margin.table()’. They are drop-in replacements, but also add named-margin functionality. The old function names are retained as aliases for back-compatibility.

‘mle()’ in the ‘stats4’ package has had its interface extended so that arguments to the negative log-likelihood function can be one or more vectors, with similar conventions applying to bounds, start values, and parameter values to be kept fixed. This required a minor extension to class ‘"mle"’, so saved objects from earlier versions may need to be recomputed.

The internal implementation of ‘grid’ units has changed, but the only visible effects at user-level should be: a slightly different print format for some units (especially unit arithmetic); faster performance (for unit operations); and two new functions ‘unitType()’ and ‘unit.psum()’. Based on code contributed by Thomas Lin Pedersen.

‘Rterm’ now accepts ‘ALT+xxx’ sequences also with NumLock on. Tilde can be pasted with Italian keyboard (PR#17679).

Header ‘R_ext/Print.h’ defines ‘R_USE_C99_IN_CXX’ and hence exposes ‘Rvprintf’ and ‘REprintf’ if used with a C++11 (or later) compiler.

~~‘R CMD check --as-cran’ now uses a ‘stringsAsFactors = FALSE’ default setting.~~

‘dotchart()’ now places the y-axis label (‘ylab’) much better, not overplotting labels, thanks to a report and suggestion by Alexey Shipunov.

‘Sys.glob()’ on Windows now supports all characters from the Unicode Basic Multilingual Plane, no longer corrupting (less commonly used) characters (PR#17638).

The return value of ‘contourLines()’ is no longer ‘invisible()’.

The Fortran code for calculating the ‘coefficients’ component in ‘lm.influence()’ was very inefficient. It has (for now) been replaced with much faster R code (PR#17624).

‘cm.colors(n)’ _etc_ no longer append the code for ‘alpha = 1’, ‘"FF"’, to all colors. Hence all eight ‘*.colors()’ functions and ‘rainbow()’ behave consistently and have the same non-explicit default (PR#17659).

‘dnorm’ had a problematic corner case with ‘sd == -Inf’ and negative ‘sd’ which was not flagged as error in all cases. Thanks to Stephen D. Weigand for reporting and Wang Jiefei for analyzing this; similar change has been made in ‘dlnorm()’.

The optional ‘iter.smooth’ argument of ‘plot.lm()’, (the ‘plot()’ method for ‘lm’ and ‘glm’ fits) now defaults to ‘0’ for all ‘glm’ fits. Especially for binary observations with high or low fitted probabilities, this effectively deleted all observations of 1 or 0, respectively. Also, the type of residuals used in the ‘glm’ case has been switched to ‘"pearson"’ since deviance residuals do not in general have approximately zero mean.

In case of errors ‘mcmapply()’ now preserves attributes of returned ‘"try-error"’ objects and avoids simplification, overriding ‘SIMPLIFY’ to ‘FALSE’. (PR#17653)

‘as.difftime()’ gets new optional ‘tz = "UTC"’ argument which should fix behaviour during daylight-savings-changeover days, fixing PR#16764, thanks to proposals and analysis by Johannes Ranke and Kirill Müller.

‘is()’ behaves more robustly when its argument ‘class2’ is a ‘classRepresentation’ object.