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’, unless for ‘type = "width"’ which still returns ‘2’, the formatting / printing width of ‘NA’.
‘nzchar(x)’ gets the same new argument, with default ‘keepNA = FALSE’ however. Consequently ‘nzchar(x)’ keeps returning a non-‘NA’ logical vector, back compatibly.
‘nchar(x, *)’ and ‘nzchar(x)’ gain a new argument ‘keepNA’ which governs how the result for ‘NA’s in ‘x’ is determined. For the R 3.2.x series, the default remains ‘FALSE’ which is fully back compatible. From R 3.3.0, the default will change to ‘keepNA = NA’ and you are advised to consider this for code portability.
On some plaforms ‘nchar(x, "c")’ and ‘nchar(x, "w")’ would return values (possibly ‘NA’) for inputs which were declared to be UTF-8 but were not, or for invalid strings without a marked encoding in a multi-byte locale, rather than give an error. Additional checks have been added to mitigate this.