Skip to content

v0.6.0

Latest

Choose a tag to compare

@scmmishra scmmishra released this 25 Feb 08:21
108b5bc

v0.6.0

Replaced Jaro-Winkler with fzf-style fuzzy matching

The search algorithm has been completely rewritten. pico-search now uses subsequence-based fuzzy matching inspired by fzf, replacing the Jaro-Winkler similarity algorithm. This change was necessary since most of the use-case for this was around labels and command palettes, it still works well for full text searching if you need that

What's new

  • Subsequence matching"jd" now finds "John Doe", "dnd" finds "do-not-disturb"
  • Smarter window selection — forward+reverse scan finds the tightest match window, so "dund" correctly prefers "Crocodile Dundee" over "Django Unchained"
  • Word boundary awareness — matches at spaces, hyphens, dots, slashes, and camelCase transitions score higher
  • Multi-word queries — space-separated terms are scored independently across all keys (all terms must match somewhere)

Bug fixes

  • Fixed: searching "3" now finds "360dialog" (previously failed due to a matching window bug with short strings)
  • Fixed: scattered character matches like "shwshnk" now find "The Shawshank Redemption"

Breaking changes

  • Default threshold lowered from 0.8 to 0.3 to match the new scoring range. If you were passing a custom threshold, you may need to adjust it.

Full Changelog: v0.5.4...v0.6.0