v0.6.3
A correctness, maintenance, and architecture-foundation release. No output-affecting changes — behaviour-preserving throughout; the one new public behaviour (slugify(default=...)) is opt-in.
Highlights
- Error-model foundation (#181): a pure-Rust
Errorenum + stablecode()+ a singleFrom<Error> for PyErrboundary — decouples the core from PyO3 and lays the groundwork for the multi-language bindings roadmap. slugify(text, default="…")— opt-in fallback for inputs that would slug to""(#97).- Fixed:
PRESETS["strip_obfuscation"]order (#141), lock-poison PythonUserWarning(#117),docs/api/exceptions.md(#182). - Dependencies (migrated + verified behaviour-preserving): phf 0.13, criterion 0.8, chardetng 1.0 (#146 / #153 / #164).
- Maintenance:
__init__.pysplit (#73), build.rs language auto-discovery (#74), stub/binary drift-check (#76), integration-test split (#75), the "Conversations resolved" merge gate (#55), and a documented dependency-upgrade methodology.
Pre-release verified: full Tier-1 CI + Tier-3 exhaustive (all Hangul/BMP/CJK/Indic) + formal invariants I1–I7.
Full changelog: https://github.com/raeq/translit/blob/main/CHANGELOG.md
Correction: this release originally listed a Trivy image-scan fix (#138). That fix did not work, and the Docker build/publish pipeline has since been removed entirely.
pip install -U translit-rs