fix long-string ASCII::to_ascii() regression coverage to match current degree-sign handling and lock in cache-order behavior across cleanup, transliteration, and retention modes
2.1.0 (2026-04-16)
run all checks and tests up to PHP 8.5
raise the minimum PHP version from 7.0 to 7.1
update PHPUnit dev-dependency to support ~8.5 || ~9.6 || ~10.5 || ~11.5
modernize CI: add a required PHPStan job, update the GitHub Actions matrix, and refresh the AppVeyor config
optimize ASCII::to_ascii() / ASCII::to_transliterate() hot paths, add benchmark coverage, and document current benchmark results
harden invalid UTF-8 handling in clean(), to_ascii(), and to_transliterate() for malformed, overlong, surrogate, and out-of-range sequences
expand regression coverage for malformed UTF-8, transliteration boundaries, slug loops, and other edge cases
2.0.3 (2024-11-21)
use modern phpdocs e.g. list or conditional-return annotations
optimize the performance, via single char replacements
1.3.6 (2019-12-13)
"ascii_extras" -> convert the static content into ascii
-> e.g.: instead of replacing "+" with "più" we use "piu" (Italian), because we want to use ascii anyway
1.3.5 (2019-11-11)
fix "ASCII::remove_invisible_characters()" -> do not remove invisible encoded url strings by default
1.3.4 (2019-10-14)
fix static cache for "ASCII::charsArrayWithOneLanguage"
1.3.3 (2019-10-14)
fix "Turkish" mapping -> 'ä' -> 'a'
1.3.2 (2019-10-14)
fix language parameter usage with e.g. "de_DE"
re-add missing "extra"-mapping chars
1.3.1 (2019-10-13)
fix "ASCII::to_slugify" -> remove unicode chars
add more test for ascii chars in the mapping
fix non ascii chars in the mapping
1.3.0 (2019-10-12)
add transliteration "fr" (was supported before, but with chars from other languages)
add transliteration "ru" - Passport (2013), ICAO
add transliteration "ru" - GOST 7.79-2000(B)
add transliteration "el" - greeklish
add transliteration "zh"
add transliteration "nl"
add transliteration "it"
add transliteration "mk"
add transliteration "pt"
add constants -> ASCII::*LANGUAGE_CODES
add more special latin chars / (currency) symbols
add simple tests for all supported languages
optimize "Russian" to ASCII (via "translit.ru")
optimize performance of string replacement
optimize performance of array merging
optimize phpdoc comments
"ASCII::to_transliterate" -> use "transliterator_create" + static cache