-
Unicode 18 support (#354). (This includes the modified grapheme-break rule
GB9c in UAX 29, which removes some grapheme breaks for Indic characters.) -
optionsarguments are changed from anenumtounsigned int, since
they are generally bitwise "or" ofenumvalues; this should be backwards
binary compatible (#353). -
int *last_boundclassparameter ofutf8proc_decompose_charis changed to
autf8proc_int32_t *(affecting only rare systems whereintis not 32 bits, on
which thelast_boundclassargument would have produced incorrect results) (#363). -
New
utf8proc_freefunction to free memory allocated by utf8proc (#338).
(You can also use your own memory allocator by calling lower-level APIs.) -
utf8proc_normalize_utf32can now handle invalid codepoints ≥ 0x110000.
They are passed through unchanged rather than dropped, and composition never
runs across one (#352, #355). -
Fix
UTF8PROC_CHARBOUNDemitting no0xffgrapheme markers when combined
withUTF8PROC_COMPOSEorUTF8PROC_DECOMPOSE, a regression in 2.11.3
(#355).