What's Changed
- Fixes: A single locked file in ClearDirectory permanently breaks index initialisation (no retry)
#434 - Add agentic workflow daily-issue-triage by @Shazwazza in #459
- Fix fieldValue argument exception by @nkgotcode in #484
- [perf-improver] perf: reduce allocations in GroupedAnd/Or/Not and search result field loading by @github-actions[bot] in #462
- [perf-improver] perf: eliminate intermediate dictionary and generator allocations in ValueSet constructor by @github-actions[bot] in #469
- [efficiency-improver] perf: eliminate redundant Cast(IExamineValue)() and avoid field-array copy in LuceneQuery by @github-actions[bot] in #475
- [perf-improver] perf: fast-path IndexItems when no validator configured by @github-actions[bot] in #479
- Narrow github toolsets in perf/efficiency-improver agentic workflows to cut token usage by @Shazwazza with @Copilot in #492
- [perf-improver] perf: reuse ThreadStatic HashSet for ExtractTerms validation and single-pass SearchableFields by @github-actions[bot] in #490
- [efficiency-improver] perf: avoid redundant string[] copy in LuceneSearchQueryBase grouped query methods by @github-actions[bot] in #481
- Bump nokogiri from 1.18.8 to 1.19.4 in /docs by @dependabot[bot] in #503
- Bump concurrent-ruby from 1.1.6 to 1.3.7 in /docs by @dependabot[bot] in #504
- Recover search after transient index-lock failures by making the searcher lazy resettable by @Shazwazza with @Copilot in #508
- [perf-improver] perf: add QueryBuilder and ValueSet constructor benchmarks by @github-actions[bot] in #487
- [perf-improver] perf: inline GetMaxDoc() and use TryAdd in CreateSearchResult by @github-actions[bot] in #506
- [efficiency-improver] perf: single-pass field collection in CreateSearchResult (O(N2) → O(N)) by @github-actions[bot] in #509
- [perf-improver] perf: cache system field value types in AddDocument + precompute TimeSpan constants by @github-actions[bot] in #512
New Contributors
- @nkgotcode made their first contribution in #484
Full Changelog: v3.8.0...v3.9.0