Changelog
Every release and every change, newest first.
CHANGELOG.mdSemver-ish. Breaking changes are called out explicitly. Buyers can upgrade to any later compatible release within their major version through the private download link.
2.1.0 — 2026-10-22
The hero chat becomes a real agent: it reasons, calls tools, asks before it changes anything, and shows what the run cost. AgentKit moves to AI SDK 7.
Added
- OpenRouter as a third provider:
ai.provider: 'openrouter'withOPENROUTER_API_KEY, alongside OpenAI and Anthropic. - A real agent loop in the hero: reasoning, tool steps, an approval card for any tool that changes state (Approve / Deny), and a run footer with steps, tokens, cost and speed. The header names the model that actually answered.
- Demo tools in
src/lib/demo-tools.ts(list_deploys,search_logs,rollback_deploy) with an approval policy indemoToolApproval. They return canned data and change nothing real; replace them with your own. - "Try it live" panels on five component pages, running the same agent once an API key is set; without one they explain what is needed and claim nothing.
- The
agent-playgroundstarter runs the real agent (model, temperature, trace, tokens and cost); without a key it replays a clearly labelled scripted sample. demo.heroRun— an optional scripted agent run (reasoning, tool steps, a self-approving card, the reply and a run footer) the hero plays on load, before the visitor types. Without it the hero playsdemo.heroChatas before.hero.chat.suggestions— two or three prompts shown as chips under the hero chat.- New optional
aifields:allowedModels(the models the browser may request; anything else is a 400),fallbackModels(tried in order if a model fails before it streams),reasoning,maxStepsandallowClientSystemPrompt. TOOL_APPROVAL_SECRET— signs tool approvals so a browser cannot forge one. Set it in production.
Changed
- AI SDK 7 (
ai7,@ai-sdk/openai,@ai-sdk/anthropicand@ai-sdk/react4). - zod 4,
motion(replacesframer-motion),lucide-react1,tailwind-merge3, ESLint 10, vitest 5. - Node 22.12 or newer (
engines.nodeis>=22.12.0).
Upgrading: see docs/MIGRATING.md. An unchanged v2.0 site.config.ts still validates.
2.0.0 — 2026-10-21
AgentKit becomes a template: every product-specific string lives in one config file, and the kit ships with a neutral example product (Relay) instead of its own marketing copy.
Added
site.config.ts— name, URLs, nav, hero, features, trace, tool calling, pricing, social proof, FAQ, final CTA, footer, demo scripts, AI model andllms.txtin one typed file. Its types live insrc/config/schema.ts, and a validator names the exact field when something is wrong.- Relay, a complete example product in
site.config.ts, so a fresh install renders a believable site with no AgentKit copy and no invented social proof. showcaseswitch — set it tofalseto hide the kit catalog (/components,/sections,/docs,/starters) and its links on a product site. With it off, those pages are not built and every request for them is a 404.- Live chat runs on OpenAI or Anthropic, chosen in
site.config.ts → aiand overridable withAI_PROVIDER/AI_MODEL. AGENTS.md, a Cursor rule (.cursor/rules/agentkit.mdc) andprompts/rebrand.md— paste your product brief into the prompt and let your AI assistant fill in the config./llms.txtis generated from the config.- The validator also checks organization, offer and
sameAsURLs, FAQ and pricing ids, tier names,seo.titleTemplateand nav links. - Every release zip is unpacked, installed and built before it ships, once as delivered and once with
showcase: false.
Changed
- Landing sections take their content as props and never read the config themselves.
- Metadata, JSON-LD, Open Graph image, sitemap and robots come from the config.
docs/CUSTOMIZE.mdis rewritten aroundsite.config.ts.- The chat offline note is provider-neutral.
Removed
src/lib/product.ts— its values moved intosite.config.ts.- The demo scripts in
src/lib/demo-agent.ts— they are config now (demoblock). public/llms.txt— replaced by the generated route.
Upgrading: see docs/MIGRATING.md.
v1.8.0 — Trust fixes and dependency updates (2026-10-19)
- FAQ answers the Figma question honestly (there is no Figma file; AgentKit ships as code), no longer mentions other kits, and adds a refund answer for not-a-fit buyers.
- Chat bubbles render nested inline markdown (
**\code`**`, emphasis) and hide unclosed markers while streaming. - Hero says "Interactive demo"; the chat header names the model only when a live model is configured.
- Faint and dim text meet WCAG AA 4.5:1 in all three themes; fonts load Latin subsets only.
- No horizontal scroll at 390px.
- Current model IDs across the model selector, starters and docs (
src/lib/models.ts). - Chat route runs on the Node.js runtime; HSTS no longer sets includeSubDomains/preload by default.
ecosystem.example.cjsreplaces the server-specific PM2 config.- Dependency updates within current major versions (Next.js 16.4.2, React 19.3.1, vitest 4.1.12, AI SDK 6.0.309).
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.
— webdesignhot.com