Skip to content

Prepare v1.1.0 with API, q-gram, bug-fix, and threading updates#65

Merged
matthieugomez merged 2 commits into
mainfrom
v1.1.0-improvements
Apr 8, 2026
Merged

Prepare v1.1.0 with API, q-gram, bug-fix, and threading updates#65
matthieugomez merged 2 commits into
mainfrom
v1.1.0-improvements

Conversation

@matthieugomez

Copy link
Copy Markdown
Owner

Summary

This PR prepares the 1.1.0 release.

Changes

  • add similarity as the canonical public API and deprecate compare
  • bump the package version to 1.1.0
  • define deterministic q-gram behavior when both inputs are shorter than q
    identical inputs now return distance 0.0
    different inputs now return distance 1.0
  • update README/examples and benchmark script naming to use similarity

Bug fixes

  • make findnearest and findall ignore missing entries instead of failing
  • add regression tests for missing handling and short-string q-gram edge cases
  • fix stale docs/examples for pairwise and nearest-match examples

Performance

  • rework the threading model to use coarse-grained Threads.@threads :dynamic loops in pairwise, q-gram preprocessing, findnearest, and findall
  • remove the previous many-small-task @spawn pattern
  • benchmarked current vs previous HEAD on the same synthetic workload
    multithreaded results improved materially on the main paths, especially pairwise
    single-threaded results were mostly improved as well, with modest regressions on q-gram search

Validation

  • Pkg.test()
  • julia --compiled-modules=no --threads 4,1 --project=. -e "using StringDistances, Test; include(\"test/runtests.jl\")"
  • current-vs-HEAD benchmark comparison using a temporary harness on the same deterministic dataset

@matthieugomez matthieugomez merged commit 20aeac7 into main Apr 8, 2026
4 checks passed
matthieugomez added a commit that referenced this pull request Apr 9, 2026
* Prepare v1.0.0 with API, q-gram, and threading improvements

* Raise minimum Julia version to 1.8 for dynamic thread scheduling
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant