Skip to content

v2.12.0

Latest

Choose a tag to compare

@stevengj stevengj released this 25 Sep 06:00
79cdd5a
  • Unicode 18 support (#354). (This includes the modified grapheme-break rule
    GB9c in UAX 29, which removes some grapheme breaks for Indic characters.)

  • options arguments are changed from an enum to unsigned int, since
    they are generally bitwise "or" of enum values; this should be backwards
    binary compatible (#353).

  • int *last_boundclass parameter of utf8proc_decompose_char is changed to
    a utf8proc_int32_t * (affecting only rare systems where int is not 32 bits, on
    which the last_boundclass argument would have produced incorrect results) (#363).

  • New utf8proc_free function to free memory allocated by utf8proc (#338).
    (You can also use your own memory allocator by calling lower-level APIs.)

  • utf8proc_normalize_utf32 can now handle invalid codepoints ≥ 0x110000.
    They are passed through unchanged rather than dropped, and composition never
    runs across one (#352, #355).

  • Fix UTF8PROC_CHARBOUND emitting no 0xff grapheme markers when combined
    with UTF8PROC_COMPOSE or UTF8PROC_DECOMPOSE, a regression in 2.11.3
    (#355).

  • Zig build scripts (#351).

  • Minor build-system improvements (#326, #327, #334).