PackageTrack
Sign in Get early access

fuzzy_bolt

A high-performance fuzzy search algorithm in Dart, designed for intelligent auto-suggestions, typo tolerance, and fast string matching.

2.0.2 5.1K downloads/mo #3810 most downloaded on pub.dev Vishwa-Karthik/fuzzy_bolt

What this package is like to depend on

Last release 10 months ago

21 Oct 2025

Ships unpredictably

gaps range from 8 days to 5 months

Nearly every release is documented

notes for 14 of 14 stable releases

Nothing withdrawn

no release was ever pulled

1 years old

14 releases · first in 2025

3 releases in the last 12 months

see the full history below

Release timeline

14 releases · Mar 2025 to Oct 2025
2026
Release Pre-release

Releases

latest 14
  1. 2.0.2 21 Oct 2025
    Release notes

    🚀 Performance Optimizations

    • Faster Default Mode: Lightweight operation without stemming/cleaning overhead
    • Improved Concurrency: Better isolate error handling and fallback mechanisms
    • Cache Efficiency: 1,000 item cache limit with overflow protection and utilization tracking
    • Memory Protection: Hard limits prevent memory exhaustion while maintaining functionality
    Open source →
  2. 2.0.1 12 Oct 2025
    Release notes

    Features

    • Porter Stemming: Added stemming process to fetch clearer results
    • Dataset Cleaning: Clean the dataset before for efficiency
    Open source →
  3. 2.0.0 23 Sep 2025
    Release notes

    Features

    • Generic Fuzzy Search API: Works with any model T using configurable selectors
    • Dual Algorithm Ranking: Combines Jaro-Winkler and Levenshtein algorithms
    • Adaptive Scoring: Intelligent ranking with prefix bonuses and multi-field optimization
    • Parallel Processing: Automatic isolate usage for large datasets (>1000 items)
    • Web Compatibility: Graceful fallback for web platforms
    • Production Ready: Comprehensive test coverage and SOLID architecture

    Core Components

    • FuzzyBolt.search<T>() - Returns matching items directly
    • FuzzyBolt.searchWithScores<T>() - Returns items with similarity scores
    • FuzzyBolt.searchWithConfig<T>() - Advanced configuration support
    • FuzzyResult<T> - Rich result model with item, score, and matched text
    • FuzzySearchConfig - Configurable thresholds and options

    Configuration

    • strictThreshold: Control exactness matching (default: 0.85)
    • typeThreshold: Control typo tolerance (default: 0.65)
    • isolateThreshold: Dataset size for parallel processing (default: 1000)
    • skipIsolate: Force disable isolates for web compatibility
    • maxResults: Limit number of returned results

    Open source →
  4. 1.1.9 30 Apr 2025
    Release notes

    Added

    • Enhanced search, searchWithRanks, streamSearch and streamSearchWithRanks APIs to handle errors gracefully at the FuzzyBolt level.

    Fixed

    • Resolved potential hanging issues in streamSearch when the dataset is empty or invalid queries are provided.
    • Improved error propagation and stream cleanup to prevent indefinite waiting in test cases.

    Known Issues

    • The onError callback in streamSearch may behave inconsistently in certain edge cases. Use with caution and ensure proper testing for your specific use case.

    Open source →
  5. 1.1.8 20 Apr 2025
    Release notes

    Added

    • Introduced streamSearchWithRanks API for stream-based search with ranking support.
    • Introduced searchWithRanks API to provide ranked results for normal searches.

    Changed

    • updated search and streamSearch results in [List<String>] instead of [Map] without ranks for easier check.

    Fixed

    • Resolved issue where incorrect mapping of results caused empty lists in streamSearch.

    Open source →
  6. 1.1.7 20 Apr 2025
    Release notes

    Fixed

    • Rectified the correct export methods.

    Open source →
  7. 1.1.6 22 Mar 2025
    Release notes

    Added

    • Added web platform support.
    • Updated README to help developers understand the necessity and use case of this application.

    Changed

    • Added web fallback mechanism to run without the use of Isolates.

    Open source →
  8. 1.1.5 17 Mar 2025
    Release notes

    Changed

    • Updated README for better documentation.
    • Project-level indentation and formatter.

    Open source →
  9. 1.1.4 16 Mar 2025
    Release notes

    Changed

    • Dart SDK Version conflict resolved.
    • Updated README for better understanding.

    Open source →
  10. 1.1.3 14 Mar 2025
    Release notes

    Added

    • Updated Documentation.

    Changed

    • Enhanced the search and ranking algorithm for better performance.
    • Reduced Isolate fallback dependency from 1000 length to 500.

    Open source →
  11. 1.1.2 11 Mar 2025
    Release notes

    Changed

    • Enhanced stream-based fuzzy search for improved responsiveness.
    • Optimized event handling to ensure seamless updates when queries change.
    • Improved case-insensitive matching for better search accuracy.

    Fixed

    • Resolved issue where empty search results were not emitted correctly.
    • Addressed inconsistencies in asynchronous search streaming.
    • Fine-tuned ranking algorithm for better precision in result ordering.

    Added

    • Introduced unit tests for stream-based search to ensure reliability.
    • Expanded debug logging to assist with troubleshooting and performance tuning.
    • Added support for wildcard searches to broaden query flexibility.

    Open source →
  12. 1.0.2 10 Mar 2025
    Release notes

    Changed

    • Refactored project structure to align with SOLID principles.
    • Implemented abstract class FuzzyBolt with search.

    Fixed

    • Optimized search ranking for improved fuzzy matching accuracy.
    • Addressed minor inconsistencies in Jaro-Winkler and Levenshtein handling.

    Open source →
  13. 1.0.1 08 Mar 2025
    Release notes

    Fixed

    • Updated SDK constraints to support Dart >=2.17.0 <3.7.1.
    • Excluded Web platform support due to Isolate API restrictions.
    • Resolved dart analyze warnings and improved code quality.

    Added

    • Comprehensive documentation and inline comments.
    • Explicit platforms declaration in pubspec.yaml.

    Open source →
  14. 1.0.0 07 Mar 2025
    Release notes

    Initial Release

    • Implemented Fuzzy String Matching using Jaro-Winkler and Damerau-Levenshtein algorithms.
    • Added fuzzy search support with adjustable strictThreshold and typoThreshold.
    • Optimized performance using Isolates for parallel computation.
    • Provided usage examples and test cases.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive