1
0
Fork 0
docsearch/packages/docsearch-react/RELEASE_NOTES.md

149 lines
No EOL
6.9 KiB
Markdown

### Major Changes
- ecd905d: # DocSearch v5-beta
DocSearch v5 is a major release that introduces AI-powered answers via Agent
Studio, a refreshed search UI, and a modernized package architecture.
## Ask AI & Agent Studio
- Agent Studio integration with core tools and dynamic tool calls
- Conversation memory support
- Compatibility with the Algolia MCP search tool, with aggregated MCP search
tool calls
- Dynamic index selection for Agent Studio
- Feedback integration, including feedback notes and tags
- Prompt suggestions in keyword search and follow-up prompt suggestions
- Ask AI modal split into its own component and Ask AI transport layer removed
## Search UI
- Refreshed v5 UI with improved dark theme, sources panel, and accessibility
- Faceted search with filter chips
- Hit breadcrumbs and result badges
## Packaging & architecture
- New `@docsearch/cli` package for MCP setup and search
- MCP plugin support
- Split JS bundles for search-only usage and JS-based hybrid mode
- Migrated the build system to tsdown
- Migrated CSS building to LightningCSS
## Breaking changes
- Ask AI related props are now nested under a single root `askai` option
- The Ask AI transport layer has been removed
### Patch Changes
- ecd905d: feat(v5): General UI styling updates and fixes
- New `--docsearch-font-family` variable, used by the search button, keyboard
keys, modal, and sidepanel. It replaces the system font stacks that were
duplicated across `sidepanel.css` and `button.css`, so overriding one
variable now themes every DocSearch surface
- The search input and modal heading are `1rem` at every breakpoint
(previously `0.875rem` with a mobile-only override)
- `.DocSearch-Title` uses `line-height: 1.5em` instead of `0.5em` and adds
`overflow-wrap: anywhere`, so long titles wrap instead of overlapping (#2908)
- Hit icon `svg` sizing moved into `.DocSearch-Hit-icon`. The
`.DocSearch-Hit-icon--small` modifier is replaced by
`.DocSearch-Hit-icon--start`, which top-aligns the icon; recent
conversations use it
- The Ask AI button icon centers with `display: inline-flex` instead of
`margin-block-start`/`align-self` overrides
- Removed the 2px offset on the Ask AI sources action text
- `SourcesPanel` accepts `pluralTitleText`. `titleText` is now the singular
label, and the trigger renders `{count} {label}`
- `AskAiScreenTranslations` and `ConversationScreenTranslations` expose
`relatedSourcesTextPlural`
- Docusaurus adapter: `theme.SearchModal.askAiScreen.relatedSourcesText` is
now the singular "Source", and the new
`theme.SearchModal.askAiScreen.relatedSourcesTextPlural` provides "Sources"
- ecd905d: feat(v5): UI and DX updates
- Rename the Ask AI assistantId option to agentId (adapter theme.SearchModal.askAi.assistantId → agentId)
- appId and apiKey moved up into @docsearch/core, so they're configured once and shared
- Removed the indexName prop from the Sidepanel
- Facet defaults can now be read from the index searchParameters
- Restored nested grouping of search results
- ecd905d: Surface Agent Studio cost-control errors and block prompts until the user can recover. [#2878](https://github.com/algolia/docsearch/pull/2878)
- ecd905d: Prevent the slash search shortcut from intercepting key events on focused buttons.
- ecd905d: Recognize current Agent Studio conversation-depth error messages.
- ecd905d: Align Ask AI dynamic indices with Agent Studio completions: `askAi.indices` is now `string[]` (index names only). Use `askAi.searchParameters` for per-index runtime overrides.
- ecd905d: Stop over-truncating mobile snippets and allow long search hits to wrap.
- ecd905d: fix(askai): Ask AI fixes for v5
- `getMessageContent` now joins every assistant text part instead of stopping
at the first one, so copying an answer that interleaves text with tool calls
returns the complete response (#2782)
- Key Ask AI conversation storage by `appId` instead of `indexName`, fixes
triggering a new conversation in hybrid mode
- Negative feedback panel is labelled with `aria-labelledby` and reason chips
expose selection via `aria-pressed` (styling moved off the
`--selected` modifier)
- `Popover.Trigger` forwards refs, fixes sources panel not showing in some cases
- Add `--docsearch-error-soft-color`, `--docsearch-error-text-color`, and
`--docsearch-code-block-background` variables; restyle the Ask AI error panel
and markdown code blocks to use them
```
```
- ecd905d: Sanitize Ask AI Markdown HTML and URLs before rendering to prevent XSS.
- ecd905d: fix(askai): support Agent Studio's batched MCP search tool
The Algolia MCP search tool can now issue multiple queries in a single tool
call (`queries[]`), which previously rendered as an empty query and broke
consecutive tool-call aggregation.
- `AlgoliaMCPSearchTool["input"]` accepts both the legacy single-query shape
and the new batched `queries[]` shape, and tolerates a missing `output`
- New `getSearchToolQueries()` helper normalizes query extraction across
`searchIndex`, batched MCP, and legacy MCP tool parts
- `ToolCall` renders one tool state per query for both `input-available` and
`output-available` states
- `groupConsecutiveToolResults` reuses the shared helper so batched calls
aggregate correctly
- Fix `AggregatedSearchBlock` keyboard handler comparing `e.key === 'enter'`,
which never matched and made query chips unusable via keyboard
- ecd905d: feat(v5): add customizable footer action
- New `footerAction` prop renders a custom action in the modal footer,
before the Algolia logo, inside `.DocSearch-Footer-Action`
- `@docsearch/js` supports `footerAction` via template patterns (html helper,
JSX, or function-based)
- Fixes typing differences between `@docsearch/react` and `@docsearch/js`
- Restyle the footer with a `.DocSearch-Footer-Actions` wrapper
- ecd905d: Align CSS class and animation names with the `DocSearch-` naming convention.
- The `shimmer` utility class is now `DocSearch-shimmer`
- Fixed a typo in `DocSearck-AskAiScreen-MessageContent-Stopped`, now
`DocSearch-AskAiScreen-MessageContent-Stopped`
- Keyframes renamed to kebab-case: `shimmerText``shimmer-text`,
`slideDown``slide-down`, `fadeIn``fade-in`
- Dark theme selectors use `:root[data-theme='dark']` instead of
`html[data-theme='dark']`
- Dropped redundant type qualifiers from `.DocSearch-Hits-padded` and
`.DocSearch-Hit-Select-Icon` selectors, slightly lowering their specificity
If you override these classes or keyframes in custom styles, update your
selectors accordingly.
- Updated dependencies [ecd905d]
- Updated dependencies [ecd905d]
- Updated dependencies [ecd905d]
- Updated dependencies [ecd905d]
- Updated dependencies [ecd905d]
- Updated dependencies [ecd905d]
- Updated dependencies [ecd905d]
- Updated dependencies [ecd905d]
- Updated dependencies [ecd905d]
- @docsearch/css@5.0.0
- @docsearch/core@5.0.0