Skip to content

@harperfast/fulltext v0.8.0

Choose a tag to compare

@kylebernhardy kylebernhardy released this 30 Oct 18:21
bb4fac1

Published to npm: @harperfast/fulltext 0.8.0 and all four matching native packages are available; latest points to 0.8.0.

Release correction: before any npm publication, Kyle approved moving v0.8.0 from the initial release commit to the supported-runner repair. Only two macOS runner labels changed; application sources are identical. The initial packaging attempt encountered GitHub's macOS 14 brownout. Original benchmark assets were preserved before restarting.

Compatibility: rebuild existing string-metadata indexes

Indexes with string filterFields need rebuilding when upgrading from 0.7.0. Version 0.8.0 adds raw fast fields for metadata sorting and aggregations. Incompatible indexes fail closed with E_IDENTITY_MISMATCH; do not edit identity sidecars to bypass the check.

Drain work and close every reader and writer, retire the old index with resetNativeFullTextIndex(), and rebuild from authoritative records using a new generation. Publish source-checkpoint coverage only after rebuilding, then verify reopen, filters, sorting and aggregations before cutover. Numeric/Boolean-only indexes retain compatibility when the rest of their configuration is unchanged. Always deploy matching JavaScript and native package versions.

See the metadata migration guide for upgrade, downgrade and recovery procedures. Earlier analyzer migration requirements still apply to upgrades from 0.6.x.

What changed

Tantivy remains 0.27.0. Distance-two fuzzy matching remains preview with no hard process-memory bound; qualify corpus and concurrency before exposing it to callers. Deadlines remain cooperative. Phrase slop is deferred; no unreleased Tantivy patch is included.

Verification and remaining uncertainty

The repaired release commit passed all 17 main CI jobs across Linux x64/arm64, macOS arm64 and Windows x64, including Node 22.18, 24 and 26. The publish workflow built all four native packages and the JavaScript facade, passed packed-consumer installs and public examples on all four platforms, and published all five packages with provenance.

Public registry checks verified every 0.8.0 package and the root latest dist-tag. A separate clean npm installation on macOS ARM64 reports wrapper 0.8.0 / Tantivy 0.27.0, with all nine shipped examples passing. The release benchmark workflow passed, and all eight Linux benchmark result files are attached.

Historical Windows stalls and sustained-memory qualification remain tracked in Qualify remaining native metadata collector resource tradeoffs. Passing CI does not establish their cause or production memory headroom.

Full changelog

Comment generated by kAIle (GPT-6)