* feat(@shadcn/react): add message-scroller package
Add the @shadcn/react headless primitives package with MessageScroller
scroll anchoring, streaming follow, history prepend, and jump-to-message
behavior. Includes geometry helpers, use-render utility, and unit,
browser, and perf tests.
* feat(registry): add chat components
Add MessageScroller, Message, Bubble, Attachment, and Marker registry
sources for base and radix, style variants, preview-03 chat blocks,
and registry index wiring.
* feat(v4): integrate chat components into docs site
Wire chat components into the v4 app with docs routes, example preview
pages, message part renderers, markdown support, registry build updates,
and supporting lib utilities.
* feat(examples): add chat component demos
Add base and radix example demos for MessageScroller, Message, Bubble,
Attachment, Marker, scroll-fade, and shimmer.
* docs: add chat component documentation
Add component and utility docs for the chat component set, update docs
navigation, and add the June 2026 chat components changelog entry.
* chore: regenerate registry JSON output
Rebuild public registry artifacts for all style variants with the new
chat components.
* chore(release): add @shadcn/react publish and CI pipeline
Add Changesets prerelease workflow, browser test job, RELEASING docs,
and monorepo wiring for publishing @shadcn/react independently from
the shadcn CLI.
* docs: fix display of component preview on mobile
* fix
* fix
* docs: add message scroller docs
* style: format
* fix
Summary:
- Add the @payload-components namespace to the public registry directory.
- Include the live registry URL, homepage, description, and logo.
Validation:
- pnpm validate:registries
- curl checks for /r/registry.json and /r/hero-basic.json
* Add Saaskit component to directory.json
Added Saaskit component with description, URL, author, and logo.
* Update Saaskit entry in directory.json
* Add new registry entry for @saaskit
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
- Search across multiple registries and make the registry argument
optional: omit it to search every registry configured in components.json
(builtins like @shadcn excluded). Without a components.json or configured
registries, a clear usage error is printed.
- Add a --type filter (accepts "ui" or "registry:ui", comma-separated)
with validation against the known item types.
- Fetch registries concurrently with a capped worker pool, preserving
result order.
- Tolerate per-registry failures when searching all configured registries
(reported in a structured `errors` field); exit non-zero when every
registry fails. Usage errors print directly instead of routing through
handleError.
- MCP parity: optional registries (search-all), a `types` filter, and type
validation across the search/list/examples tools.
- Keep the public registry surface to `searchRegistries` and make it
self-contained (clears its own context, useCache defaults to false).
- Consolidate search formatting into registry/search, add the `errors`
field to searchResultsSchema, and update the skill docs.
* feat(registry): add @sora-ui to community registry directory
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat(registry): rename @sora-ui to @soralabs in community registry directory
---------
Co-authored-by: Cursor <cursoragent@cursor.com>