Fuse.js is a lightweight, zero-dependency fuzzy-search library in JavaScript and TypeScript, designed to run in the browser and on the server. It helps developers search small-to-medium datasets client-side, with features like typo-tolerant matching (Bitap), relevance ranking, and optional token search, web workers, and extended or logical query syntax.
Project status
- Actively maintained: The upstream GitHub repo shows very recent activity (last upstream push on 2026-06-05) and a steady stream of tag updates in May and June 2026, indicating ongoing development rather than dormancy.
- Update cadence: After the 7.4.0-beta cycle starting in mid-April 2026, updates moved quickly through late April to early June (for example, 2026-05-22, 2026-05-30, 2026-06-02, 2026-06-05), suggesting an active, incremental release process.
AI summary generated
Recent updates
v7.4.2
v7.4.2 is primarily a TypeScript types packaging fix for CommonJS consumers, adding `.d.cts` declarations to avoid TS1479 in `node16`/`nodenext` module resolution. However, the actual source and built worker code also show runtime behavior changes related to worker URL resolution and the exported `Fuse.version` value, which are not mentioned in the release notes.
v7.4.1
v7.4.1 focuses on TypeScript declaration fixes for Fuse.js Web Worker entry points. The release notes specifically address the worker subpath type resolution problem and add missing typings for `fuse.js/worker` and `fuse.js/worker-script`.
v7.4.0
v7.4.0 is marked as the first stable release on the 7.4 line, and the notes say it aggregates changes from the 7.4.0-beta.1 through 7.4.0-beta.8 cycle. The provided code diff for beta.8 to v7.4.0 shows primarily version branding and changelog entry updates in the built artifacts, with no visible functional logic changes.
BreakingFeaturesv7.4.0-beta.8
v7.4.0-beta.8 ships a bug fix focused on the shape of match metadata returned by Fuse. The main change ensures array-path keys (example: `['author', 'firstName']`) report `result.matches[].key` as a canonical dotted string.
v7.4.0-beta.7
This release adds `tokenMatch: 'all' | 'any'` to the token-search mode, enabling record-level AND filtering for multi-word queries when `useTokenSearch` is enabled. It also updates documentation (including the demo playground data behavior) and bumps published bundle sizes due to the new option and logic. The core search loop was modified to enforce the AND constraint before heap insertion (so limiting yields consistent top-N results).
Featuresv7.4.0-beta.6
v7.4.0-beta.6 contains a targeted bug fix to Fuse's bitap fuzzy search highlight behavior when `includeMatches: true` is enabled. The change restricts match highlighting to the actual bitap-matched window, improving correctness and reducing noisy cross-text bleed, with a small performance improvement in fuzzy search.
Breakingv7.4.0-beta.5
v7.4.0-beta.5 focuses on fixing incorrect doc-index alignment for Fuse<string> collections containing blank or whitespace-only strings, which could cause search result misalignment and incorrect mutation bookkeeping. It also changes internal mutation flows around blank strings and introduces a required docIndex parameter for direct callers of FuseIndex.add.
Breakingv7.4.0-beta.4
v7.4.0-beta.4 focuses on improving token-search performance by shrinking the inverted index memory footprint. The release notes describe removing unused posting data from the token-search index and switching to a stats-only internal representation.
v7.4.0-beta.3
v7.4.0-beta.3 hardens token search usage and fixes ordering behavior in the web worker build. It adds explicit runtime guards so invalid option combinations fail fast with clear errors, and it adjusts worker result merging to match single-thread Fuse ordering.
Breakingv7.4.0-beta.2
v7.4.0-beta.2 is a follow-up beta release focused on correctness fixes in field normalization and token-search/index maintenance, with an additional fix for FuseWorker sharded searches. The release notes emphasize re-testing if you use FuseWorker or token search, and the code diff shows multiple internal refactors that support these changes.
Featuresv7.4.0-beta.1
This beta release introduces FuseWorker, a parallelized search API that distributes Fuse.js searches across multiple Web Workers and merges results. The release notes only document the high-level API (search, add, setCollection, terminate) but do not cover several key behavioral and configuration details visible in the code.
Features