This blog is updated daily.
A general description is here.
‘nchar(x)’ gains a new argument ‘keepNA’ which governs how the result for ‘NA’s in ‘x’ is determined. The new default ‘keepNA = NA’ returns ‘NA’ where ‘x’ is ‘NA’, except for ‘type = "width"’ which still returns ‘2’, the formatting / printing width of ‘NA’.
‘nzchar(x)’ gets the same new argument, but with default ‘keepNA = FALSE’. Hence ‘nzchar(x)’ still returns a non-‘NA’ logical vector.
‘tools::undoc(dir = D)’ and ‘codoc(dir = D)’ now also work when ‘D’ is a directory whose ‘normalizePath()’ed version no longer ends in the package name, e.g. from a symlink.
‘abbreviate()’ has more support for multi-byte character sets - it no longer removes bytes within characters and it knows about (English) vowels with accents. It is still only really suitable for (most) European languages, and still warns on non-ASCII input.
‘qr()’ no longer has a ‘...’ argument to pass additional arguments to methods.
It is now possible (again) to ‘replayPlot()’ a display list snapshot that was created by ‘recordPlot()’ in a different R session.
It is still not a good idea to use snapshots as a persistent storage format for R plots, but it is now not completely silly to use a snapshot as a format for transferring an R plot between two R sessions.
The underlying changes mean that packages providing graphics devices (e.g., ‘Cairo’, ‘RSvgDevice’, ‘cairoDevice’, ‘tikzDevice’) will need to be reinstalled.
Code for restoring snapshots was contributed by Jeroen Ooms and JJ Allaire.
Some testing code is available at <URL: https://github.com/pmur002/R-display-list> .
The previously included versions of ‘zlib’, ‘bzip2’, ‘xz’ and PCRE have been removed, so suitable external (usuallly system) versions are required (see the ‘R Installation and Administration’ manual).
‘configure’ uses ‘pkg-config’ for PNG, TIFF and JPEG where this is available. This should work better with multiple installs and with static libs.
C-level ‘asChar(x)’ is fixed for when ‘x’ is not a vector, and it returns ‘"TRUE"’/‘"FALSE"’ instead of ‘"T"’/‘"F"’ for logical vectors.
The macros ‘SHLIB_OPENMP_CFLAGS’ etc can be set in e.g. ‘config.site’.
The ‘configure’ default for ‘MAIN_LDFLAGS’ has been changed for the FreeBSD, NetBSD and Hurd OSes to one more likely to work with compilers other than ‘gcc’ (FreeBSD 10 defaults to ‘clang’).
(Unix-only) Under some rare circumstances piping the output from ‘Rscript’ or ‘R -f’ could result in attempting to close the input file twice, possibly crashing the process. (PR#16500)
‘libcurl’ connections signal errors rather than retrieving HTTP error pages.