Skip to content

@harperfast/fulltext v0.7.0

Choose a tag to compare

@kylebernhardy kylebernhardy released this 27 Oct 20:47
0b56087

Compatibility: rebuild existing indexes

Upgrading from 0.6.x requires an index rebuild. Version 0.7.0 embeds Tantivy 0.27.0, whose English stemmer changes some indexed terms. Existing indexes are rejected with E_IDENTITY_MISMATCH before search or mutation, even when the public analyzer remains english@2.

Drain and close readers and writers, retire the old index with resetNativeFullTextIndex(), then rebuild from authoritative source records. Publish checkpoint coverage only after rebuilding. Before downgrading, retire the 0.7 index using the 0.7 reset API and rebuild with 0.6.x. Do not edit identity sidecars to force compatibility. See Upgrading from 0.6.x.

What changed

  • Upgraded the embedded engine to Tantivy 0.27.0 and added explicit persisted analyzer compatibility checks and safe retirement/rebuild handling.
  • Updated search collectors and shared version hydration, with native prefix automaton reuse and retained full-fuzzy dictionary parity.
  • Added a runnable catalog-search example, relevance fixtures, migration guidance, and hydration/trace benchmark profiles.

The public analyzer name and query API remain unchanged. Relevance scores may differ between engine versions; continuation tokens remain tied to their reader instance. Applications continue to own source records, authorization, and rebuilding their derived indexes.

See Upgrade fulltext to Tantivy 0.27 with safe index rebuilds.

Verification

Main CI and the publish workflow passed on Linux x64/arm64, macOS arm64, and Windows x64. All four native packages passed packed-consumer installs and public examples before npm publication. A separate clean npm installation on macOS ARM64 reports wrapper 0.7.0 / Tantivy 0.27.0 and passes every shipped example. The release benchmark workflow passed; all eight Linux benchmark result files are attached.

Full changelog

Comment generated by kAIle (GPT-6)