Skip to content

4.0.0a9

Latest

Choose a tag to compare

@HCYT HCYT released this 14 Jan 01:21
· 0 commits to master since this release
Immutable release. Only release title and notes can be modified.

Changelog

All notable changes to this project will be documented in this file.

[4.0.0a9] - 2026-01-14

馃殌 Major Rewrite (The Rust Era)

  • Rust Core: The entire core logic has been rewritten in Rust (flashtext-rs), providing massive performance gains and memory safety.
  • Performance: Throughput increased by 3x-4x compared to v3.0 (Python). Match latency is now near-constant regardless of keyword count.
  • Drop-in Compatible: 100% API compatibility with the original FlashText and v3.x series.

Added

  • True Unicode Boundaries: Fixed the long-standing issue where non-ASCII characters (e.g., 茅, 脽, Adjancent CJK) were incorrectly treated as delimiters. Rust's unicode-segmentation now handles word boundaries correctly for ALL languages.
  • Universal Wheels: Pre-compiled binary wheels for macOS (Intel/Silicon), Windows (x64), Linux (x86_64/aarch64), and Musl Linux (Alpine). No Rust compiler needed for users.
  • JSON File Loading: Native support for loading keywords from JSON files for faster startup.

Changed

  • Packaging: Migrated build system to maturin + pyo3.
  • Minimum Python: Now requires Python >= 3.8.