Repository navigation
Comparing changes
Open a pull request
base repository: ktsu-dev/TextFilter
base: v1.5.54
head repository: ktsu-dev/TextFilter
compare: v1.7.0
- 11 commits
- 8 files changed
- 5 contributors
Commits on Sep 22, 2026
-
Bump the ktsu group with 11 updates
Bumps ktsu.Extensions from 1.6.15 to 1.6.16 Bumps ktsu.FuzzySearch from 1.3.7 to 1.3.9 Bumps ktsu.Sdk from 2.30.1 to 2.31.0 Bumps ktsu.Sdk.Android from 2.30.1 to 2.31.0 Bumps ktsu.Sdk.App from 2.30.1 to 2.31.0 Bumps ktsu.Sdk.ConsoleApp from 2.30.1 to 2.31.0 Bumps ktsu.Sdk.iOS from 2.30.1 to 2.31.0 Bumps ktsu.Sdk.Linux from 2.30.1 to 2.31.0 Bumps ktsu.Sdk.macOS from 2.30.1 to 2.31.0 Bumps ktsu.Sdk.Tool from 2.30.1 to 2.31.0 Bumps ktsu.Sdk.Windows from 2.30.1 to 2.31.0 --- updated-dependencies: - dependency-name: ktsu.Extensions dependency-version: 1.6.16 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ktsu - dependency-name: ktsu.FuzzySearch dependency-version: 1.3.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ktsu - dependency-name: ktsu.Sdk dependency-version: 2.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ktsu - dependency-name: ktsu.Sdk.Android dependency-version: 2.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ktsu - dependency-name: ktsu.Sdk.App dependency-version: 2.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ktsu - dependency-name: ktsu.Sdk.ConsoleApp dependency-version: 2.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ktsu - dependency-name: ktsu.Sdk.iOS dependency-version: 2.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ktsu - dependency-name: ktsu.Sdk.Linux dependency-version: 2.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ktsu - dependency-name: ktsu.Sdk.macOS dependency-version: 2.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ktsu - dependency-name: ktsu.Sdk.Tool dependency-version: 2.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ktsu - dependency-name: ktsu.Sdk.Windows dependency-version: 2.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ktsu ... Signed-off-by: dependabot[bot] <support@github.com>
Configuration menu - View commit details
-
Copy full SHA for 9ae27fd - Browse repository at this point
Copy the full SHA 9ae27fdView commit details -
Merge pull request #94 from ktsu-dev/dependabot/nuget/ktsu-657a677a51
Bump the ktsu group with 11 updates
Configuration menu - View commit details
-
Copy full SHA for 142948e - Browse repository at this point
Copy the full SHA 142948eView commit details -
Match required glob tokens by any word under ByWordAll
DoesMatchGlob picked AllTokensMatchGlobFilter for required tokens whenever the match option was not ByWordAny, so a "+world" token asked whether *every* word in the text matched the glob "world" rather than whether "world" appeared among them. Any multi-word text failed, making +token filters unusable under ByWordAll. Required tokens now always use AnyTokenMatchesGlobFilter, matching the excluded-token branch a few lines above, which asks the same question and never varied by match option. Fixes #95 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UscjStBJdW3uHm5NR289DX
Configuration menu - View commit details
-
Copy full SHA for 08b7e5e - Browse repository at this point
Copy the full SHA 08b7e5eView commit details -
[bot][skip ci] Update Metadata
Github Actions committedSep 22, 2026 Configuration menu - View commit details
-
Copy full SHA for ddb65d4 - Browse repository at this point
Copy the full SHA ddb65d4View commit details -
Let a caller ask for case-insensitive matching [minor]
Glob and regex matching were case sensitive at every TextFilterMatchOptions value, with no way to ask for anything else, even though DotNet.Glob supports case-insensitivity perfectly well and the wrapper simply never passed the option through. Adds TextFilterCaseSensitivity, defaulting to CaseSensitive so no existing behaviour changes. Glob routes it to GlobOptions.Evaluation.CaseInsensitive and regex to RegexOptions.IgnoreCase. Both caches are keyed by pattern text, so the sensitivity is folded into the key; without that, whichever variant was compiled first would decide the answer for the other. Fuzzy matching does not take the setting and is documented as always case insensitive, which is what it already was. Fixes #97 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VECND7h5BXVvufyf9jbpwT
Configuration menu - View commit details
-
Copy full SHA for 7b59874 - Browse repository at this point
Copy the full SHA 7b59874View commit details -
Bound regex evaluation with a match timeout [patch]
SonarCloud S6444 on the previous commit: the Regex constructed from the caller-supplied filter had no timeout, so a pattern with catastrophic backtracking runs unbounded on the calling thread. The line is pre-existing but this branch rewrote it, which is fair enough - it is a real ReDoS on a public entry point that takes arbitrary pattern text. Passes a one-second match timeout, and catches RegexMatchTimeoutException at the match site rather than letting the new throw path reach callers: filtering is a predicate, and a list that throws mid-keystroke on a pathological pattern is a worse contract than one that returns nothing for it. That mirrors how an invalid pattern already degrades. Also switches the one new CollectionAssert.AreEqual to Assert.AreSequenceEqual for MSTEST0068. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VECND7h5BXVvufyf9jbpwT
Configuration menu - View commit details
-
Copy full SHA for b249339 - Browse repository at this point
Copy the full SHA b249339View commit details
Commits on Sep 23, 2026
-
Merge pull request #96 from ktsu-dev/claude/textfilter-95-required-to…
…ken-bywordall
Configuration menu - View commit details
-
Copy full SHA for 7d2191b - Browse repository at this point
Copy the full SHA 7d2191bView commit details -
[bot][skip ci] Update Metadata
Github Actions committedSep 23, 2026 Configuration menu - View commit details
-
Copy full SHA for 23ffda0 - Browse repository at this point
Copy the full SHA 23ffda0View commit details -
Merge main into the case-insensitive matching branch
PR #96 landed after this branch was cut and rewrote the same requiredMatchFunc selection in DoesMatchGlob that the method-group-to- lambda change here touches, leaving the PR conflicted. Resolved as the PR described: keep #96's always-Any choice for required tokens, and retain the captured caseSensitivity argument so the required call site still honours the sensitivity. Both sides' tests survive the resolution: 84 pass, 0 fail (this branch's 79 plus #96's 5). Restoring this branch's side of the hunk fails 2 of #96's ByWordAll required-token tests, which is what pins the choice. Release build clean across all five TFMs, 0 warnings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017wK8pxTxpgg3R2m3siPY3Y
Configuration menu - View commit details
-
Copy full SHA for 2bbf375 - Browse repository at this point
Copy the full SHA 2bbf375View commit details -
Merge pull request #98 from ktsu-dev/claude/textfilter-97-case-insens…
…itive-matching Let a caller ask for case-insensitive matching [minor]
Configuration menu - View commit details
-
Copy full SHA for bc44574 - Browse repository at this point
Copy the full SHA bc44574View commit details -
[bot][skip ci] Update Metadata
Github Actions committedSep 23, 2026 Configuration menu - View commit details
-
Copy full SHA for 71ae749 - Browse repository at this point
Copy the full SHA 71ae749View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.5.54...v1.7.0