NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4767 most downloaded on npm
Simple, expected, and deterministic best-match sorting of an array in JavaScript
Last release 5 months ago
15 Apr 2026
Ships unpredictably
gaps range from 3 weeks to 2.3 years
Nearly every release is documented
notes for 50 of 50 stable releases
1 version withdrawn
withdrawn after publishing
10 years old
52 releases · first in 2016
add matchSorterWithRankInfo to expose rank info in results (#169) (e7c9c20), closes #170
One column per quarter.
# 8.1.0 (2025-07-24) ### Features * perf: improve getAcronym
Make sure that later matches at the start of words rank higher than earlier substring matches
perf: Improve performance of getMatchRankings by replacing 4 string comparisons with a single indexOf
## 8.0.1 (2025-05-02) ### Bug Fixes * update github actions badge
revert: support finding data with typos
release: The last release was arguably a breaking change so we're going to trigger this major version and deprecate the 6.4.0.
This has the same contents as v6.4.0:
DEPRECATED: This was arguably a breaking change so we've deprecated this version and released a major version.
use Object.hasOwnProperty for additional browser support
Defer the assignment of matchSorter.rankings
upgraded remove-accents to 0.5.0
TS: allow readonly arrays as inputs
# 6.3.0 (2021-02-18) ### Features * support custom sorter
restrict threshold/ranking type to known values
handle nested arrays with wildcard keys
## 6.0.2 (2020-12-06) ### Bug Fixes * :bug: Fix TypeError
Add types reference in package.json
the API for baseSort arguments now uses rankedValue instead of rankedItem
the API for baseSort arguments now uses rankedValue instead of rankedItem
Now using String.prototype.{startsWith,includes}. Older browsers must have a polyfill for these modern APIs.
apply @rbusquet's suggestions and upgrade kcd-scripts
change export from default to named
still sort when search value is absent (#101) (a110574), closes #100
add baseSort configuration option
# 4.1.0 (2020-03-25) ### Features * update dependencies
sort objects by matched key only (#79) (32360b2), closes #78
deps: add @babel/runtime as a dep (dbb870a), closes #71
upgrade everything and remove CJS/UMD entries (fe94fc6), closes #41 #70
## 3.1.1 (2019-06-13) ### Bug Fixes * rankedItem casting to string
sort same ranked items alphabetically
replace Diactric.js with remove-accents (#58) (fa454c5), closes #57
add ability to set a threshold per key
issue with filtering with property values of number 0
replaced String.includes() with indexOf() due to IE incompatibility
add sorting based on case to the ranking system
null check in nested key resolution
umd: add sourcemaps to minified
## 2.0.1 (2017-09-22) ### Bug Fixes * umd: add sourcemap
remove global-object dep and upgrade build
sorting: change keyIndex only when ranking changes
<a name"1.8.1"></a>
MATCH: adds close match sort functionality
<a name"1.8.0"></a>
ranking: Add min/max ranking options
<a name"1.7.0"></a>
rankings: Add CASE_SENSITIVE_EQUAL threshold
<a name"1.6.0"></a>
options: add support for callback properties
<a name"1.5.0"></a>
umd: do umd manually (#15) (23590fe8, closes #14)
Nothing published for this version
match: ignore diacritics when matching by default (#10) (774ca9cf, closes #8)
## 1.3.0 (2016-08-29) #### Features - items: add support for arrays
lgtm: MAINTAINERS was improperly formatted.
<a name"1.2.1"></a>
nested keys: add ability to pass in keypath for object value (#2) (6478bfc9, closes #1)
thresholds: add threshold option
## 1.0.0 (2016-08-25) #### Features - lib: initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →