Headline: PhraseKit is now on RubyGems, and it ships as precompiled native gems — gem install phrasekit works with no Rust toolchain on the supported platforms.
PhraseKit is ultra-fast deterministic phrase matching for Ruby, backed by Rust and a Double-Array Aho-Corasick automaton. It is built for search query understanding, NLP pipelines, and information extraction at scale, with sub-millisecond matching over millions of phrases, hot-reloadable artifacts, and thread-safe operation through Magnus.
This 0.2.0 release is the first public RubyGems release. The headline change is packaging rather than features: PhraseKit now publishes prebuilt native binaries through the shared scientist-labs/rust-gem-release workflow, so most users install a binary gem directly and never compile Rust locally.
What ships
This release publishes precompiled native gems for the common platforms plus a source gem for everything else:
| Platform | Install requirement |
|---|---|
arm64-darwin |
none (precompiled) |
x86_64-linux |
none (precompiled) |
aarch64-linux |
none (precompiled) |
ruby (source) |
Rust toolchain |
RubyGems automatically selects the matching binary gem for your platform and Ruby ABI at install time, and falls back to the source ruby gem (which compiles the Rust extension, requiring a Rust toolchain) when no prebuilt binary matches. Precompiled binaries cover the Ruby 3.1, 3.2, 3.3, and 3.4 ABIs.
Notes
This is a packaging and CI/release-tooling release. There are no functional or API changes to phrase matching in 0.2.0 — the matching engine, policies (leftmost-longest, leftmost-first, salience-max), and load/reload behavior are unchanged. The work here is about adopting the standard release pipeline and getting signed, precompiled artifacts onto RubyGems.
Changelog
- Adopt
scientist-labs/rust-gem-release@v0for releases by @xrl in #2 - ci: add "type a version in a box" dispatch (rust-gem-release@0.11.0) (#3)
Full Changelog: https://github.com/scientist-labs/phrasekit/commits/0.2.0