Skip to content

v0.6.3

Choose a tag to compare

@raeq raeq released this 08 Jun 13:51
· 101 commits to main since this release
9bb192e

A correctness, maintenance, and architecture-foundation release. No output-affecting changes — behaviour-preserving throughout; the one new public behaviour (slugify(default=...)) is opt-in.

DOI

Highlights

  • Error-model foundation (#181): a pure-Rust Error enum + stable code() + a single From<Error> for PyErr boundary — 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 Python UserWarning (#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__.py split (#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