v30.2

the-dev-tools/dev-toolsv30.2Apr 19, 2026by kishorenc

AI Summary

This release fixes critical bugs related to filter handling, highlighting, and API key handling, as well as improving performance during bulk inserts.

Key Highlights

  • Fixed incorrect handling of numeric `!=` filters.
  • Fixed highlighting for single-token phrase matches.
  • Fixed missing curation fields in GET responses.
  • Fixed union search deduplication for pinned hits.
  • Fixed `/health` responsiveness during heavy bulk inserts.

New Features

  • Numeric filter handling fixes
  • Highlighting and race condition fixes
  • Curation field restoration
  • Diversity search edge case fixes
  • Union search deduplication fixes
  • Reference faceting bug fixes
  • Vector search behavior fixes
  • Scoped API key handling fixes
  • Conversation search error handling fixes
  • Search cache keying fixes
  • JSON response escaping fixes
  • HTTP/2 async import fixes

Full Release Notes

This release fixes some important bugs identified in `v30.1`.

### Bug Fixes

- **[v30.2]** Fixed incorrect handling of numeric `!=` filters in both lazy and eager filter execution, including explicit not-equals lists on range-indexed numeric fields.
- **[v30.2]** Fixed highlighting to correctly mark single-token phrase matches and to avoid race conditions during union searches that run alongside concurrent writes.
- **[v30.2]** Fixed missing `synonyms`, `stem`, and `stemming_dictionary` fields in curation GET responses.
- **[v30.2]** Fixed a number of edge cases in diversity search.
- **[v30.2]** Fixed union search deduplication so curated pinned hits are no longer collapsed.
- **[v30.2]** Fixed a bug related to reference faceting.
- **[v30.2]** Fixed vector search behavior so zero-match phrase queries still preserve vector search results.
- **[v30.2]** Fixed scoped API key handling so embedded collection parameters can supply a missing collection in multi-search requests.
- **[v30.2]** Fixed conversation search error handling so failed searches do not incorrectly reuse the first search collection.
- **[v30.2]** Fixed search cache keying so scoped API key parameters and request-specific embedded params do not collide in the cache.
- **[v30.2]** Fixed JSON response escaping by using `nlohmann::json::dump()` when serializing response payloads.
- **[v30.2]** Fixed `/health` responsiveness during heavy bulk inserts by routing health checks to the meta thread pool.
- **[v30.2]** Fixed HTTP/2 async import teardown on early exit.