Changelog
Every release, every change — you bought lifetime updates.
CHANGELOG.mdSemver-ish. Breaking changes called out explicitly. Buyers on any prior version can upgrade to any later version — see the top of the download email for the upgrade URL.
v1.7.0 — ReasoningBlock + AudioWaveform + PromptLibrary + GenerationCanvas + HotkeyHelp
New — 5 components targeting the biggest gaps for 2026 AI products:
<ReasoningBlock>(flagship) — Collapsible panel for extended-reasoning models (Claude extended thinking, OpenAI o-series, DeepSeek R1, Qwen QwQ). Auto-scrolls while streaming, shows token count + wall-clock duration, auto-collapses 1.5s after the stream ends so the user's eye lands on the final answer. Pairs with<MessageBubble>immediately below it.<AudioWaveform>— Two-mode visual waveform.mode="recording"accepts aMediaStreamfromgetUserMediaand samples real amplitudes via Web AudioAnalyserNode; with no stream, it animates a tasteful synthetic waveform so the empty state still looks alive.mode="playback"renders a precomputedlevels[]array with click-to-seek and a duration label. Pairs with<VoiceInputButton>.<PromptLibrary>— Searchable, starred, category-grouped saved-prompts panel. Filters across title / body / tags / category. Outer row usesrole="button"+ Enter/Space handling so the per-row star + delete buttons don't nest invalidly.<GenerationCanvas>— Post-stream image-generation output card. Pairs with<ImageGenerationProgress>(in-flight) for the full lifecycle. Action bar: Regenerate, Variations, Fork prompt, Copy prompt, Download — all consumer-wired. Three states (ready/generating/error) with proper visual treatments and disabled action buttons during generation.<HotkeyHelp>—?-keyed shortcut cheatsheet modal. The natural companion to<CommandPalette>(⌘K to do,?to discover). Searchable, grouped, with smart trigger suppression while focus is in an input / textarea / contenteditable so users typing?into a chat composer don't accidentally summon it.
New — src/lib/use-is-mounted.ts is now relied on by <ReasoningBlock>, <CommandPalette>, <HotkeyHelp>, and the existing <Toaster> / <Popover> / <CitationDrawer> / <StreamingForm>.
Tests — 47 new vitest cases (9 + 8 + 11 + 7 + 12) across 5 new files. Total: 279 tests, 53 files, 0 failing.
Counts after this release
- 48 AI components (chat-primitives 5, chat-extensions 8, streaming 8, agent-state 11, config 8, tool-results 3, RAG/search 5)
- 17 UI primitives
- 9 landing sections
- 65 routable component pages at
/components/[slug] - 74 components total (48 + 17 + 9)
v1.6.0 — CommandPalette + Starters
New
<CommandPalette>— ⌘K-triggered command palette with grouped, searchable items. Filters across label / hint / group /keywords[]; supports shortcut chips, disabled rows,keepOpenAfterActionfor settings-style actions, and a globalglobalHotkeytoggle. Proper combobox + listbox + activedescendant ARIA wiring./starters— three pre-composed full-page templates that stitch the kit's components into complete product surfaces:/starters/chatgpt-clone— ChatSidebar + MessageBubble + StreamingText + SuggestedPrompts + ChatInput + ModelSelector + CommandPalette wired together./starters/rag-explorer— AISearchBox + SourceCitation + InlineCitation + CitationDrawer + StreamingMarkdown./starters/agent-playground— three-column dev playground with ModelSelector + TemperatureSlider + SystemPromptEditor on the left, AgentTraceViewer + ToolCallPanel in the centre, CostTracker + TokenCounter on the right.
npm run lintis now clean (0 errors, 0 warnings) — every React 19 lint rule (react-hooks/set-state-in-effect,react-hooks/static-components,react-hooks/immutability) is either satisfied or has an inline-documented intentional suppression.
Fixed
<AISearchBox>— invalid ARIAaria-expandedon the input's implicitrole="textbox"is gone. Input now usesrole="combobox"witharia-controls+aria-activedescendantwired to auseId()-generated listbox id, so screen readers correctly announce the open dropdown and active option.<Avatar>—<img>usage documented (intentional, for src-host flexibility) and the unused eslint-disable directive cleaned up.theme-init.js— unused_catch parameter removed.tests/citation-drawer.test.tsx— wrapped a flaky cold-start assertion inwaitForso the React-19 state-propagation race no longer fails on slow CI machines.
Migration notes
- New module
src/lib/use-is-mounted.ts— auseSyncExternalStore-based replacement for theuseState(false) + useEffect(() => setMounted(true))pattern. Several internal components now use it; copy it into your own components if you have the same lint warnings. - The
iconFor()helpers in<CitationDrawer>,<AttachmentPreview>, and<SourceCitation>were renamed torenderIcon()and now return JSX directly instead of component references. If you were importing those helpers (you shouldn't be — they're internal), update your imports.
Total after this release: 43 AI + 17 UI + 9 sections = 69 components, of which 60 have routable component pages at /components/[slug]. 232 tests across 48 files, 0 failing.
v1.5.0 — full documentation set
New — 4 new guides + CHANGELOG (1,790 lines total):
docs/GETTING-STARTED.md— 15-minute opinionated walkthrough: unzip → install → browse/components→ rewrite hero → brand color → wire AI → remove sections → deploy → DNSdocs/RECIPES.md— 6 complete recipes with copy-paste code: ChatGPT-clone layout, RAG with inline citations, agent playground with trace + cost, multi-agent orchestration, tool-call marketing section, reasoning tree for researchdocs/TROUBLESHOOTING.md— 24 known issues across 7 categories, each with Symptom → Cause → Fix including verbatim error strings (Node version, M-series native builds, port conflicts, Turbopack cache, hydration timestamps, env cache, edge runtime, Tailwind 4 bracket syntax, React 19 peer deps, Radix + jsdom, etc.)docs/MIGRATING.md— porting guides from shadcn/ui, ShipFast, Chatbot UI, and vanilla Next.js + AI SDK, each with a concrete checklistCHANGELOG.md— version history (this file)
Fixed — README.md counts updated from "15+ components / 9 sections" → accurate 42 AI + 17 UI + 9 sections = 68 (now 69 with CommandPalette in v1.6.0)
v1.4.0 — shadcn-style component docs
New
/components— index page with sidebar, search, 11 categories/components/[slug]— one route per component (59 routes total). Each page has a live Preview tab, a Code tab with one-click copy, and the exact source path- Sticky left sidebar with per-category grouping, current-page highlight, and a flagship-component (★) marker on
<AgentTraceViewer> - No-FOUC theme switcher — saved theme applied in
<head>via/theme-init.jsbefore first paint; refreshing onbrightorcool-blueno longer flashes editorial-dark
Fixed
- Layout width no longer shifts between component routes (flex container now has
w-fullso outer width stops sizing to content) /components/agent-memory-viewer,/components/streaming-table, etc. no longer 500 when passing render / onDelete functions to client primitives (affected pages now'use client')<Radio>wiresaria-labelledbyso screen readers announce the visible label; clicking the label text now selects + focuses the radio (previously only the circle was clickable)
Migration notes
- The old
/showcaseroute is gone. "Showcase" traditionally means customer logos; component docs belong at/components. If you had<a href="/showcase">anywhere (e.g. a nav link), change it to/components
v1.3.0 — test coverage
New
- 193 new vitest tests across 41 new files. Total: 222 tests, 47 files, 0 failing
- Every component added in v1.2.0 now has at least 3 behavior tests (render, interaction, variant)
Fixed
<Radio>accessibility:aria-labelledbywired, label text click selects the radio
v1.2.0 — 36 new components
New — 21 AI components + 15 UI primitives
AI additions:
- Chat extensions:
<ChatSidebar>,<MessageThread>,<AttachmentPreview>,<VoiceInputButton>,<CitationDrawer> - Streaming:
<StreamingTable>,<StreamingForm>,<ImageGenerationProgress> - Agent orchestration:
<MultiAgentView>,<AgentTimeline>,<TaskList>,<ReasoningTree>,<AgentMemoryViewer> - Tool & result:
<ToolCallInline>,<ToolResultTable>,<ToolResultChart>(pure-SVG bar/line/area, no chart lib) - RAG:
<AISearchBox>,<DocumentUploader> - Config:
<TemperatureSlider>,<SystemPromptEditor>,<CostTracker>
UI primitives (dependency-light; Radix only where already installed):
- Form:
<Input>,<Textarea>,<Select>,<Checkbox>,<RadioGroup>+<Radio>,<Switch>,<Separator> - Overlays:
<Dialog>,<Tabs>,<Tooltip>,<Popover>(pure React),<Toast>+<Toaster>(imperative API viauseSyncExternalStore) - Display:
<Avatar>,<Badge>,<Skeleton>
Total after this release: 42 AI + 17 UI + 9 sections = 68 components.
v1.1.0 — 22 AI components, showcase, honest social proof
New
- 16 new AI components on top of the original 6 — message primitives, streaming renderers, agent state, config, RAG
/showcasepage showing every component (superseded by/componentsin v1.4.0)- Honest pre-launch social-proof section with open testimonial slots (no fake reviews)
v1.0.1 — polish
6 AI components, SEO plumbing, OG images, favicon.
v1.0.0 — initial release
Next.js 16 + React 19 + Tailwind 4 + Vercel AI SDK v6. Nine landing sections, live chat hero with scripted fallback, editorial-dark default theme.
— Richard · webdesignhot.com