Revision history for the Perl package Unicode::Towctrans.
0.04 2026-03-04
- replace CaseFolding.txt (--cf) with UnicodeData.txt (--ud) for
correct case mappings. CaseFolding.txt provides case folding
(normalization for comparison), not case mapping (towlower/towupper).
- add --bsearch-both generator with uint8_t index arrays
- add --table generator (musl-new style)
- fix lower param convention: lower=1 means towlower, lower=0 means
towupper
- fix towupper(DZ) bug: remove spurious reverse pair [0x1F3, 0x1F1]
- fix simulate(): use index-based iteration instead of fragile each
- fix add_lace() clash: demote clashing lace to pair instead of warning
- add upper bound exclusion guard for towupper performance, avoiding
full table scans for >1M codepoints above the last cased character
- eliminate separate @lace array: merge 2-member lace entries into @map,
simplify simulate() and C gen loop to single-pass iteration
- emit titlecase digraph lace exceptions only into the loop(s) where
the digraphs actually land (casemaps vs casemapsl depends on --bits)
- bench: use Unicode 10.0 data to match musl-old, add setlocale
- try more downloaders, like curl or LWP::Simple if wget fails.
0.03 2026-02-22
- add --musl and --safec generators
- extend benchmark to error counting
- fix bench for glibc size
- format for indent 4
- document tunables, change MIN_EXCL to 2500 (matching musl-old)
0.02 2026-02-19
- massive performance and size improvements
- added benchmarks and iswalpha tests.
- add conditional turkish locale check: add -DHAVE_LOCALE_TR
if there's a chance the user will be on a turkish or azeri locale
for the turkish i rule.
- added pre-commit checks
0.01 2026-02-17
- first version; created from scratch