Skip to content

v0.5.0 — Upstash Backend & Scroll-to-Text

Choose a tag to compare

@gregpriday gregpriday released this 31 Mar 03:55
· 213 commits to develop since this release

What's New

Upstash Search Backend

The vector backend has been migrated from Jina + Turso to Upstash Search — a single managed service that handles both storage and retrieval. This removes the need to provision a separate Turso database and simplifies the infrastructure to one API key and one service.

Breaking change: existing indexes must be re-indexed. Update your config to use the Upstash provider and run `searchsocket index --force`.

Scroll-to-Text Navigation

Search result links now include everything needed for smooth in-page navigation:

  • `_sskt` query param — the matched text target for SvelteKit client navigations
  • `_ssk` query param — the section title for context
  • `#:~:text=` fragment — native browser scroll-to-text for full page loads

Results scroll the user directly to the relevant passage rather than just the top of the page.

Cross-Node Text Matching

A TreeWalker-based text map concatenates all visible text nodes before matching, so search terms that span split DOM nodes (e.g. `Installation`) are found and highlighted correctly.

CSS Custom Highlight API

Highlighting now uses the CSS Custom Highlight API (`::highlight()` pseudo-element) where available — non-destructive, no DOM mutations. A DOM mutation fallback handles older browsers.

Two-Pass Regex Matching

Highlights are found using a two-pass strategy: a strict pass requires separators between tokens, and a lenient fallback allows zero-width separators for adjacent DOM nodes without whitespace.

Dual Page+Chunk Parallel Search

Vector search now runs in parallel at both page and chunk granularity, with score blending to combine the results. This improves relevance especially for queries that match well at one level but not the other.

Ranking Pipeline Improvements

New reranking, score-gap trimming, and title boost options give finer control over result ordering.

Changed

  • Removed local markdown mirror feature

Fixed

  • Respect Upstash 4096-char content limit per document during indexing
  • Fixed pnpm version in CI prune workflow

Full Changelog

v0.4.0...v0.5.0