Skip to content

Releases: mabidakun/StringSearchKit

Release list

3.0.0

Choose a tag to compare

@mabidakun mabidakun released this 24 Oct 11:01
4d9f9af

StringSearchKit now ships as a Swift package. 3.0.0 is the first Swift Package Manager (SPM) version and the last CocoaPods version, because CocoaPods Trunk becomes read-only on 2026-12-02.

Installation

.package(url: "https://github.com/mabidakun/StringSearchKit.git", from: "3.0.0")

CocoaPods users can still use pod 'StringSearchKit', '~> 3.0', but no later version will go to CocoaPods.

Breaking changes

  • Minimum versions are now macOS 12, iOS 15 and tvOS 15, and Swift 5.9. Projects pinned to ~> 2.0 stay on 2.0.0.
  • Some search results change:
    • Matching uses Unicode case folding, so "Straße" matches "strass" and "İstanbul" matches "ist".
    • A trailing space in a prefix is now part of the prefix, so "new " matches "new york" but not "newark".
    • StringLoader treats \r\n as one line break and skips empty and whitespace-only lines.

Fixes

  • Strings of a few thousand characters no longer crash the app with a stack overflow when they are searched, removed or freed on a background thread (#8).
  • preserveCase: true now keeps the original case for strings added after init and for strings with surrounding whitespace (#8).
  • A whitespace-only string is no longer stored as an empty string (#8).
  • StringDictionary(withTextFileNamed:) and StringLoader.load(fromTextFileNamed:) take a new bundle parameter (default .main). Before, they looked in the library's own bundle, which under SPM is not the caller's bundle, so they loaded nothing (#7).

Other changes

  • strings(withPrefix:) defaults prefix to "", so strings() returns every string (#7).
  • The public API has doc comments, and the README has a Trie diagram and a "Matching Rules" section (#7, #8, #10).
  • GitHub Actions replaces Travis CI (#7). The repo has AGENTS.md and CLAUDE.md for coding agents (#9).

Full changelog: 2.0.0...3.0.0