Repository navigation
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.0stay 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". StringLoadertreats\r\nas one line break and skips empty and whitespace-only lines.
- Matching uses Unicode case folding, so
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: truenow 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:)andStringLoader.load(fromTextFileNamed:)take a newbundleparameter (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:)defaultsprefixto"", sostrings()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.mdandCLAUDE.mdfor coding agents (#9).
Full changelog: 2.0.0...3.0.0