Library

utf8proc v2.12.0

Versionv2.12.0
Stars★ 1,301
Released2026-09-25

a clean C library for processing UTF-8 Unicode data

Release notes

- 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](https://ziglang.org/learn/build-system/) build scripts (#351).

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

Share this resource


Discovered 2026-09-25 Source GitHub Archive 2026-09 →