This blog is updated daily.
A general description is here.
Code converting UTF-8 strings (e.g., ‘tolower()’ and some ‘printing’ now uses internal routines rather than system functions: these detect more uses of invalid UTF-8 strings.
The parser now treats ‘\Unnnnnnnn’ escapes larger than the upper limit for Unicode points (‘\U10FFFF’) as an error as they cannot be represented by valid UTF-8.
Where such escapes are use for outputting non-printable characters, 6 (not 8) hex digits are used (as it was decided by Unicode that the first two would always be zero).