What’s changed
- Supports free-threaded CPython 3.14 without re-enabling the GIL, including dedicated tests, wheels, and before/after performance measurements.
- Accelerates uchardet language-model lookups with per-detector code-point caches while preserving candidate results.
- Caches multibyte candidate analysis and eliminates duplicate known-language candidates during finalization.
- Reuses the single-byte filtering buffer for incremental input.
- Adds a native C API benchmark and an exact candidate-output comparison tool.
See CHANGES.md for the full release notes.