Changelog

Changelog

Every release, every change — you bought lifetime updates.

SourceCHANGELOG.md

Semver-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 a MediaStream from getUserMedia and samples real amplitudes via Web Audio AnalyserNode; with no stream, it animates a tasteful synthetic waveform so the empty state still looks alive. mode="playback" renders a precomputed levels[] 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 uses role="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.

Newsrc/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, keepOpenAfterAction for settings-style actions, and a global globalHotkey toggle. 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 lint is 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 ARIA aria-expanded on the input's implicit role="textbox" is gone. Input now uses role="combobox" with aria-controls + aria-activedescendant wired to a useId()-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 in waitFor so the React-19 state-propagation race no longer fails on slow CI machines.

Migration notes

  • New module src/lib/use-is-mounted.ts — a useSyncExternalStore-based replacement for the useState(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 to renderIcon() 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 → DNS
  • docs/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 research
  • docs/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 checklist
  • CHANGELOG.md — version history (this file)

FixedREADME.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.js before first paint; refreshing on bright or cool-blue no longer flashes editorial-dark

Fixed

  • Layout width no longer shifts between component routes (flex container now has w-full so 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> wires aria-labelledby so 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 /showcase route 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-labelledby wired, 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 via useSyncExternalStore)
  • 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
  • /showcase page showing every component (superseded by /components in 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