feat: drop the -v2 suffix from the search endpoints#5345
Merged
habdelra merged 1 commit intoJun 27, 2026
Merged
Conversation
The `search-entry` endpoints are now the only search endpoints, so the `-v2` disambiguator is retired and the canonical names are reclaimed: /_search-v2 -> /_search /_federated-search-v2 -> /_federated-search Updates the route registrations and handler, every consumer (host resources/services, runtime-common query helpers, boxel-cli, vscode-boxel-tools), and all tests/fixtures/skills/docs that referenced the `-v2` paths. The handler module and the `search-entry` test files are renamed to match. This changes the client<->server search contract: a boxel-cli built before this release calls the removed `-v2` paths. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR renames the canonical search-entry HTTP endpoints by removing the now-redundant -v2 suffix (/_search-v2 → /_search, /_federated-search-v2 → /_federated-search) and updates all server/host/CLI/editor consumers, tests, fixtures, and documentation accordingly.
Changes:
- Reclaims canonical realm-server and realm endpoints (
/_search,/_federated-search) and updates handler/router wiring. - Updates all call sites (host resources/services, runtime-common helpers, boxel-cli, VS Code tools) to use the new endpoint paths.
- Renames/updates tests, fixtures, codemods, skills, and docs to drop
-v2terminology and path matching.
Reviewed changes
Copilot reviewed 66 out of 66 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/vscode-boxel-tools/src/skills.ts | Update skill discovery search URL to /_search. |
| packages/runtime-common/search-results-component.ts | Remove “v2” wording from search-results component contract docs. |
| packages/runtime-common/search-entry.ts | Remove “v2” wording; document wire grammar as /_search//_federated-search. |
| packages/runtime-common/resource-types.ts | Remove “v2” wording from search-entry resource docs. |
| packages/runtime-common/realm.ts | Register realm router search endpoint at /_search (GET/QUERY). |
| packages/runtime-common/realm-index-query-engine.ts | Update cross-realm search comments to /_search. |
| packages/runtime-common/query.ts | Narrow parseSearchURL stripping to /_search only. |
| packages/runtime-common/query-field-utils.ts | Build query search URLs using /_search. |
| packages/runtime-common/index-query-engine.ts | Remove “v2” wording in search projection docs. |
| packages/runtime-common/document-types.ts | Remove “v2” wording from search response types. |
| packages/realm-server/tests/superseded-search-surface-removed-test.ts | Rename guard test away from “pre-v2” terminology. |
| packages/realm-server/tests/server-endpoints/search-test.ts | Update federated endpoint tests to /_federated-search. |
| packages/realm-server/tests/server-endpoints/realm-lifecycle-test.ts | Update lifecycle tests to use /_search. |
| packages/realm-server/tests/realm-endpoints/search-test.ts | Update realm endpoint tests to use /_search. |
| packages/realm-server/tests/prerendering-test.ts | Rename fixtures/test cases from v2-* to card-search-* and update assertions. |
| packages/realm-server/tests/parse-search-url-test.ts | Update parseSearchURL tests to only cover /_search. |
| packages/realm-server/tests/index.ts | Update test file list to renamed search tests and guard test name. |
| packages/realm-server/tests/helpers/prerender-page-patches.ts | Narrow request observer to /_search + /_federated-search. |
| packages/realm-server/tests/helpers/index.ts | Remove “v2” wording from test helper docs. |
| packages/realm-server/tests/codemod-context-search-test.ts | Update codemod test strings/docs to “search-entry” wording (no “v2”). |
| packages/realm-server/tests/card-endpoints-test.ts | Update endpoint expectations/requests to /_search. |
| packages/realm-server/scripts/codemod/context-search/transform.ts | Update codemod comments/docs to “search-entry” wording (no “v2”). |
| packages/realm-server/scripts/bench-realm/fixtures/realm-snapshot/StickyNote/todo-green.json | Update bench fixture text to “search endpoint” wording. |
| packages/realm-server/scripts/bench-realm/bench.ts | Update benchmark request URL to /_search. |
| packages/realm-server/routes.ts | Register federated search route at /_federated-search and use new handler module. |
| packages/realm-server/middleware/index.ts | Update in-flight search path regex to match /_search + /_federated-search. |
| packages/realm-server/handlers/handle-search.ts | Rename handler and update docs to “federated search” (no “v2”). |
| packages/host/tests/integration/store-test.gts | Update mocked federated search route path and docs. |
| packages/host/tests/integration/search-correlation-id-test.gts | Update correlation-id coverage to /_federated-search. |
| packages/host/tests/integration/resources/search-entries-test.gts | Update test wording to “in-flight search” (no “v2”). |
| packages/host/tests/integration/realm-test.gts | Update realm integration tests to /_search and docs. |
| packages/host/tests/integration/components/serialization-test.gts | Update canonical search link assertions to /_search. |
| packages/host/tests/integration/components/search-results-test.gts | Update test wording to “search” (no “v2”). |
| packages/host/tests/integration/components/card-context-search-results-test.gts | Update wording/assertions around @context.searchResultsComponent. |
| packages/host/tests/integration/components/card-chooser-test.gts | Update test docs to “search resource” (no “v2”). |
| packages/host/tests/integration/commands/sync-openrouter-models-test.gts | Update command test wording to /_search. |
| packages/host/tests/helpers/search-cards.ts | Update helper docs to “search-entry engine” (no “v2”). |
| packages/host/tests/helpers/realm-server-mock/routes.ts | Update mock routes and remote realm passthrough to /_search + error text. |
| packages/host/tests/acceptance/query-fields-test.gts | Update intercepted request matcher to /_federated-search. |
| packages/host/tests/acceptance/host-mode-test.gts | Update fetch interception and docs to /_federated-search. |
| packages/host/app/services/store.ts | Update federated search URL to /_federated-search and related docs. |
| packages/host/app/services/host-mode-service.ts | Update head-query federated search URL to /_federated-search. |
| packages/host/app/routes/render.ts | Update render-route cleanup docs to /_federated-search. |
| packages/host/app/resources/search.ts | Update prerender optimization docs to /_federated-search. |
| packages/host/app/resources/search-entries.ts | Update docs to “search” (no “v2”) across resource/view-model docs. |
| packages/host/app/resources/renderable-search-entries.ts | Update view-model docs to “search” (no “v2”). |
| packages/host/app/lib/search-in-flight-key.ts | Update docs to /_federated-search. |
| packages/host/app/lib/prerender-fetch-headers.ts | Update correlation-id docs to /_federated-search. |
| packages/host/app/components/operator-mode/create-listing-modal.gts | Update docs to “search-entry query” (no “v2”). |
| packages/host/app/components/operator-mode/code-submode/playground/playground-panel.gts | Update docs to “search-entry queries/identity” (no “v2”). |
| packages/host/app/components/card-search/search-results.gts | Update component-family docs to “search” (no “v2”). |
| packages/host/app/components/card-search/panel-content.gts | Update docs to “search-entry query/search applies…” (no “v2”). |
| packages/host/app/components/card-search/hydratable-card.gts | Update HydrationMode docs to remove “v2” wording. |
| packages/host/app/commands/sync-openrouter-models.ts | Update direct realm search URL to /_search and warning message text. |
| packages/experiments-realm/components/card-list.gts | Update docs to “search-entry-rooted query” (no “v2”). |
| packages/experiments-realm/app-card.gts | Update docs to “search-entry-rooted query” (no “v2”). |
| packages/boxel-cli/tests/commands/ingest-card-graph.test.ts | Update ingester test fake server routing to /_search. |
| packages/boxel-cli/src/lib/boxel-cli-client.ts | Update federated search docstring to /_federated-search. |
| packages/boxel-cli/src/commands/search.ts | Update endpoint path to /_federated-search and docs to “search-entry”. |
| packages/boxel-cli/src/commands/realm/ingest-card.ts | Update source-realm search URL to /_search. |
| packages/boxel-cli/plugin/skills/search/SKILL.md | Update CLI skill docs to /_federated-search. |
| packages/boxel-cli/plugin/skills/boxel-api/SKILL.md | Update API skill docs to /_federated-search. |
| packages/base/components/card-list.gts | Update docs to “search-entry-rooted query” (no “v2”). |
| packages/base/card-api.gts | Update CardContext docs to “search rendering surface” (no “v2”). |
| docs/search.md | Update documentation and example to /_search + /_federated-search. |
| .claude/skills/search/SKILL.md | Update platform search skill docs/table to canonical endpoints. |
Comments suppressed due to low confidence (1)
packages/realm-server/tests/superseded-search-surface-removed-test.ts:9
- Comment reads awkwardly due to missing article; it currently starts with “superseded in-place additions…”. Adding “the” makes the sentence grammatical and clearer.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
backspace
approved these changes
Jun 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Now that the four legacy search endpoints and the
search-compatlayer are retired, thesearch-entryendpoints are the only search endpoints — the-v2suffix no longer disambiguates anything. This reclaims the canonical names:/_search-v2→/_search/_federated-search-v2→/_federated-searchScope
routes.ts, the realm-internal router inrealm.ts, and the handler module (handle-search-v2.ts→handle-search.ts,handleSearchV2→handleSearch).runtime-commonquery helpers,boxel-cli,vscode-boxel-tools.search-entryendpoint test files renamed to drop-v2; the prerender fixtures renamedCardSearch*to mirror the siblingFileSearch*; the suffix-aware URL/path regexes (parseSearchURL, the in-flight-search path matcher) narrowed to the single canonical spelling.searchskill, the boxel-cli plugin skills, anddocs/search.md.End state:
mainexposes/_search+/_federated-searchas thesearch-entryendpoints, with no-v2suffix anywhere.boxel-cli
This changes the client↔server search contract: a
boxel-clibuilt before this release calls the now-removed-v2paths, and this build calls endpoints that a realm-server older than the rename does not expose. Released as a minor version bump.Closes CS-11636.