unstale

npm / fuse.js

fuse.js

What changed in fuse.js 7, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

10 breaking1 security6 new APIs and options4 performance5 behavior and defaults17 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

fuse.js 743 changes

Breaking changes 10

  • Tabs and newlines now count as word separators when scoring fields, changing scores for fields containing them.

    7.5.0release notes

  • Field-length normalisation now counts word starts instead of space transitions, changing field scores.

    7.5.0release notes

  • Key weights are normalised in object and keyless-logical search, changing relative rankings when weights do not sum to 1.

    7.5.0release notes

  • When scores tie at the cutoff boundary, limit now returns the correct top-N results.

    7.5.0release notes

  • The exact-match shortcut now respects minMatchCharLength, excluding shorter matches from the matches array.

    7.5.0release notes

  • Explicitly rejects useTokenSearch in Fuse.match.

    7.4.0release notes

  • For array-path keys, match.key now returns the canonical dotted string instead of a raw string array; consumers can remove .join('.') conversions.

    7.4.0release notes

  • Rejects useTokenSearch in FuseWorker.

    7.4.0release notes

  • An empty query now returns all results.

    7.3.0release notes

  • UMD builds are no longer provided.

    7.3.0release notes

Security 1

  • toJSON() omits getFn from keys for safe serialization.

    7.3.0release notes

New APIs and options 6

  • Adds a class that shards a collection across Web Workers, runs searches in parallel, and preserves Fuse result ordering.

    7.4.0release notes

  • Adds a customizable tokenizer and a unicode-aware default that segments CJK, Cyrillic, Greek, Arabic, and other scripts.

    7.4.0release notes

  • Adds 'all' and 'any' token-search semantics; the default 'any' preserves existing behavior, while 'all' requires every query word to match.

    7.4.0release notes

  • Adds a static method for single string matching.

    7.3.0release notes

  • Token search adds per-term fuzzy matching with IDF scoring.

    7.3.0release notes

  • Adds runtime plugin registration.

    7.2.0release notes

Performance 4

  • Includes optimizations to Bitap search, search hot paths, index creation, field normalization, and collection removal.

    7.4.0release notes

  • Compiled searchers are cached for repeated queries.

    7.2.0release notes

  • Search uses heap-based top-k selection when limit is set.

    7.2.0release notes

  • Bulk removals now use O(n) batching instead of O(n*k).

    7.2.0release notes

Behavior and default changes 5

Fixes and other changes 17

  • CommonJS type declarations now resolve correctly for consumers using moduleResolution: node16 or nodenext, avoiding TS1479 when importing from a CommonJS project.

    7.4.2release notes

  • TypeScript declarations are now shipped for this subpath, allowing it to resolve types under node16/nodenext and bundler module resolution.

    7.4.1release notes

  • TypeScript declarations are now shipped for this subpath, allowing it to resolve types under node16/nodenext and bundler module resolution.

    7.4.1release notes

  • Invalidates the searcher cache when the collection is mutated.

    7.4.0release notes

  • Corrects doc-index alignment for string collections containing blank documents.

    7.4.0release notes

  • Restricts Bitap highlight indices to the matched window.

    7.4.0release notes

  • Renumbers the inverted index after document removal.

    7.4.0release notes

  • Non-string array values are coerced to strings during indexing.

    7.3.0release notes

  • The default config is frozen to prevent mutation across instances.

    7.3.0release notes

  • Overlapping match indices are merged in extended search.

    7.3.0release notes

  • Inverse patterns now work correctly across multiple keys.

    7.3.0release notes

  • Extended search handles quoted tokens containing inner spaces and quotes.

    7.3.0release notes

  • Handles non-decomposable diacritics.

    7.3.0release notes

  • Corrects the type of key in FuseSortFunctionMatch.

    7.2.0release notes

  • Search results deduplicate and merge overlapping match indices.

    7.2.0release notes

  • Preserves original array indices during nested path traversal.

    7.2.0release notes

  • Corrects the type of the keys parameter in parseIndex.

    7.2.0release notes