The code for evaluating default (extended) regular

expressions now uses the same character-classification functions

(previously they differed on Windows, macOS and

There is a build-time option to replace the system's

work with Unicode characters beyond the Basic Multilingual Plane

where not supported by system functions (e.g. on Solaris where it

R is more careful when truncating UTF-8 and other multi-byte

strings that are too long to be printed, passed to the system or

libraries or placed into an internal buffer.  Truncation will no

longer produce incomplete multibyte characters.

disabled; it worked by accident only and was undocumented.

Many more C-level allocations (mainly by

) are checked for success with suitable alternative

graphics engine display list recording if a recorded plot was

replayed in the same session.  The impact of the bug became

visible if resize the device after replay OR if attempted another

after replay (empty display list means empty

non-existing S4 classes or methods, also in case of no

reproducible example and patch by Sebastian Meyer in

on the formula to work correctly for models with extended formulas.

(As reported and suggested by Neal Fultz in

The horizontal position of leaves in a dendrogram is now

describes the difference in its return value (

are now computed more carefully and symmetrically in their range,

.  The change really corresponds to an improved

to at least five digits where it was catastrophically wrong,

-group member functions now work for data frames

had trouble with tibbles due to unsound use of

and relatives treated an "NA" column name as

Parsing strings containing UTF-16 surrogate pairs such as

works better on some (uncommon) platforms.

necessarily fail, as currently for different

Message translation domains, e.g., for errors and warnings, are

now correctly determined also when e.g., a

thanks to a patch from Joris Goosen fixing

Too long lines in environment files (e.g.,

. This limit has been increased to 100,000 bytes.

There is a further workaround for FreeType giving