@storybook/react
10.6.5 · 27 Oct 2026MIT31.7M / weekRepositoryHomepagenpmAtom feed
505 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
10.6.5
27 Oct 2026Typescript: Exclude all dunderscore prefixed folders from production compilation
10.6.4
26 Oct 2026Core: Skip TypeScript loader hook registration under Jest
10.6.3
20 Oct 2026Addon Vitest: Support Vitest 5
Next.js: Fix app-router mock crash on Next.js 16.4
Nextjs-Vite: Provide parentRenderTree.bfcacheId in app router mock
Addon Vitest: Support Vitest 5
Next.js: Fix app-router mock crash on Next.js 16.4
Nextjs-Vite: Provide parentRenderTree.bfcacheId in app router mock
TypeScript: Explicitly type returntype of ArgsStore#get
10.6.2
12 Oct 2026- breaking
Angular-Vite: Require @analogjs/vite-plugin-angular 2.7.3 or later
- security
Security: Patch GHSA-f2ph-cmg5-wxc8 and GHSA-px85-f4q5-jh77
CLI: Fix hidden output of CLI commands on Yarn 1
- breaking
Angular-Vite: Require @analogjs/vite-plugin-angular 2.7.3 or later
CLI: Fix hidden output of CLI commands on Yarn 1
Preact: Support Preact 11
- security
Security: Patch GHSA-f2ph-cmg5-wxc8 and GHSA-px85-f4q5-jh77
Typescript: Explicitly type enhanceArgTypes
10.6.1
29 Sep 2026Addon A11y: Fix vision simulator color filters in Firefox
Addon Vitest: Support Vitest 5 browser tests
CLI: Fix vitest ERESOLVE on fresh Next.js apps.
Addon A11y: Fix vision simulator color filters in Firefox
Addon Vitest: Support Vitest 5 browser tests
CLI: Fix vitest ERESOLVE on fresh Next.js apps.
Core: Fix build crash when ref reachability check fails mid-request
Core: Restore the change-detection CTA in the sidebar
TanStack: Support both interpolatePath signatures
Telemetry: One tools-command record per invocation with CLI toolset and tool names
10.6.0
2 Sep 2026- deprecated
Vue: Deprecate vue-docgen-api
💻 CLI bindings for agent tools/skills
🅰️ Angular-Vite MCP/skills support and improved docgen/snippets (experimental)
New skills architecture for agentic workflows
Storybook 10.6 contains hundreds of fixes and improvements:
💻 CLI bindings for agent tools/skills
🅰️ Angular-Vite MCP/skills support and improved docgen/snippets (experimental)
🟢 Vue MCP/skills support and improved docgen/snippets (experimental)
🧩 Tanstack / NextJS-Vite framework bugfixes
⚡ Improved performance and reduced bundle size
List of all updates
Addon MCP: Stop silently dropping composed refs from MCP composition
Addon Vitest: Pin storybook/test in optimizeDeps so its CJS-only deps are prebundled
Addon Vitest: Report test runs with failures as failed tool outcomes
Addon Vitest: Resolve story test globs against the project root
Addon-vitest: Filter Storybook instrumentation from reported stack traces
Angular Vite: Resolve tsConfig against the workspace root
Angular-Vite: Run Compodoc on demand
Angular: Add an in-process docgen analyzer, replacing Compodoc under the flag
Angular: Bind only what the component accepts in story snippets, and report the rest
Angular: Decide the migration's zone.js import from the dependency tree
Angular: Declare story args the snippet markup binds by name
Angular: Declare style preprocessors as optional peers and name the missing one
Angular: Derive required inputs from Compodoc's own flag
Angular: Extract Compodoc parsing into its own package
Angular: Extract component JSDoc through TypeScript's APIs
Angular: Extract docgen on the server via Compodoc
Angular: Fix component resolution, MCP output, and dev/build path aliasing
Angular: Fix eight upgrade and migration bugs
Angular: Fix ten docgen bugs found across 22 community repositories
Angular: Generate story-docs snippets from the analyzer
Angular: Give agents real input and output documentation
Angular: Hide class internals from the props table by default
Angular: Install the `@storybook/angular-vite` peers that nothing else brings in
Angular: Keep the function control on constructor and generic signatures
Angular: Make experimentalDocgenServer the default in angular-vite
Angular: Migrate Analog projects to angular-vite instead of refusing them
Angular: Print unevaluable story args instead of slicing the file
Angular: Read the story shapes that supply their own markup
Angular: Render self-closing tags in server-side docs snippets
Angular: Render the required badge for required inputs in the props table
Angular: Resolve `@angular/core` through the package manager, not the raw specifier
Angular: Resolve builder `styles` the way the Angular builders do
Angular: Resolve builder styles against the workspace root
Angular: Skip the runtime source decorator when the docgen server produces snippets
Angular: Stop marking a defaulted input as required in the props table
Angular: Stop treating input/output alias collisions as two-way bindings
Angular: Hoist non-literal args onto the host component instead of inlining them
Builder-Webpack5: Use strict mtime equality for mock cache reuse
CLI plugins: Delegate to `storybook skills` / `storybook tools` and align the evals
CLI: Add `storybook skills` command
CLI: Align `storybook skills` with `storybook tools` shape
CLI: Allow esbuild builds for Storybook-owned pnpm dlx
CLI: Attach to the most recent matching Storybook instance and add --port target selection
CLI: Categorize Execa failures for init telemetry
CLI: Detect Turbopack, Module Federation, and renderer versions
CLI: Drop `skills get`/`skills list`, add `skills --all`
CLI: Enrich tools-command telemetry with attach dimensions
CLI: Fix stories changed hanging on attach
CLI: Keep `storybook tools --json` stdout parseable
CLI: Label the tools help `Output` block as the `--json` shape
CLI: Match Storybook instances across Windows drive-letter case
CLI: Offer the new 10.5 experimental feature flags during upgrade
CLI: Point the init outro at `storybook skills get setup` and remove duplicate sandbox addon
CLI: Render the same toolset output as MCP
CLI: Serve the skills docs workflow whenever manifests are producible
CLI: Silence auto-mode fallback when no Storybook is running
Core: Add additionnal field for component API in manifest
Core: Add security token to instance registry record
Core: Add storybook/internal/tools SDK skeleton
Core: Allow token-only WebSocket upgrade without Origin
Core: Always show warning in story-docs if available
Core: Centralize import-statement generation in csf-tools
Core: Define shared public toolsets (defineToolset)
Core: Extract ComponentMetaManager to Core
Core: Fix change detection missing working-tree edits until a commit
Core: Fix module resolution for packages with conditional-only exports maps
Core: Fix resolve wrapped addon entries via package exports map
Core: Include null union members as enum options in TS argTypes conversion
Core: Keep Tabs memo out of an esbuild joined var
Core: Make TypeScript's JSDoc semantics canonical for component docgen
Core: Move docgen JSDoc parser into csf-tools
Core: Move the component-meta invalidation state machine into core
Core: Recover from a docgen worker death instead of going dark for the session
Core: Remove experimental Playwright CT integration
Core: Resolve tsconfig paths from the defining config
Core: Restore the args a server-docgen preview cannot type
Core: Scope in-flight open-service loads to their runtime
Core: Share the CSF story-shape helpers snippet generators need
Core: Share the program-backed half of a component-meta project
Core: Skip builder preset in headless loading if non-existing
Core: Warn when multiple story files collapse onto one componentId
Docgen server: Resolve arg spreads and identifier references in static snippets
Harness: Gate the Angular component meta analyzer against Compodoc
Icons: Add missing @storybook/icons to the toolbar icon map
Init: Detect TanStack packages in peerdependencies
Manager API: Add experimental_setFilters batch API
Manager: Fix sidebar scroll on iOS Safari
Manager: Toggle the mobile navigation drawer with the sidebar keyboard shortcut
Manifest Debugger: Stable deep-link anchors for component cards
Manifest debugger: Show the API description and snippet warnings
Manifests: Add a warning field to story entries
Mcp: Support JsDoc annotations in component documentation
NextJS: Normalize trailing slash in the next/link mock
Nextjs-Vite: Move vite-plugin-storybook-nextjs into the monorepo
Nextjs-Vite: Recover from Next.js 16.3 raw config cache
Nextjs-Vite: Support % in next/font/local declarations
Nextjs-Vite: Unwrap CJS loadJsConfig on Vite 7
Nextjs: Replace archived image-size with probe-image-size
OSA: Review fixes for toolsets, skills, and MCP
Open Service: Add delegated mode for Open Service transports
Performance: Halve the tools CLI cold-boot time
React: Share a TypeScript DocumentRegistry across component-meta projects
Review: Use correct role for footer
Search: Add docs headings to search results
Search: Show docs stories as docs search result item instead of a story-group search result item
Skills M2b: Rework the core toolsets into their intended shape
Skills M4: Run addon-mcp and @storybook/mcp on the shared core toolsets
Skills M5a: CLI: Add the public `storybook tools` command derived at runtime from the OSA toolsets
TanStack: Carry lazy route bindings onto cloned routes
TanStack: Keep Start's document shell out of stories
TanStack: Select the story leaf by mount path and params
Tanstack: Use dependency chain for deps optimization
Telemetry: Track StyleX as a styling package
Tools: Accept a story ID in `docs show-story` as an alternative to componentId + storyName
Tools: Auto-spawn a project-local child host on fidelity failure
Tools: Default to attach mode, delete MCP proxy
Tools: Flush remote-command ack before the handler's fan-out starts
Tools: Implement attached mode in `storybook/internal/tools`
Tools: Record the dev server's storybook installation and attach through it
Tools: Spawn a child host for local mode when cwd differs
UI: Fix missing whitespace in search result breadcrumb
Vue3 Vite: Enable Schema Extraction for Vue Component Meta
Vue3: Support TypeScript enum props in vue-component-meta docgen
Vue: Add story-docs provider skeleton
Vue: Allow args to be explictly undefined in story-snippet generation
Vue: Decouple server side docgen from docgen options
- deprecated
Vue: Deprecate vue-docgen-api
Vue: Don't override story-snippet if already provided
Vue: Fix Component Metadata in Production Builds
Vue: Fix docgen fidelity gaps
Vue: Fix docgen slot, exposed-member, and add warning for snippet losses
Vue: Follow a re-export to the component that declares it
Vue: Format correctly story snippets
Vue: Generate Story snippets from docgen payload
Vue: Inject component import directly in script for story-docs
Vue: Move vue-component-meta in vue renderer and implement docgen payload builder
Vue: Provide apiDescription in the manifest
Vue: Raise the vue-component-meta floor to ^3.3.9
Vue: Rearchitecture Story snippet generation
Vue: Resolve docgen per export so a type-only export does not drop a file's prop tables
Vue: Substitute static arg values in template snippet expressions
Vue: Support h() render trees and @import overrides for snippets
Vue: Support story template for snippet generation
10.5.10
20 Aug 2026- security
Dependencies: Bump Vitest to 4.1.6 (CVE-2026-47428)
Core: Fetch static open-service snapshots relative to the document
Core: Pin oxc-resolver to 11.21.2 to keep tsconfig path aliases on solution-style tsconfigs
Core: Fetch static open-service snapshots relative to the document
Core: Pin oxc-resolver to 11.21.2 to keep tsconfig path aliases on solution-style tsconfigs
- security
Dependencies: Bump Vitest to 4.1.6 (CVE-2026-47428)
ESLint Plugin: Bundle CSF helpers so the plugin loads without storybook
React: Preserve discriminated union prop values in metadata extraction
10.5.9
18 Aug 2026Addon-Pseudo-States: Fix pseudo-states rewriting for nested functional selectors
Core: Skip module-graph reverse-index mirror when a patch is a no-op
Core: Split module-graph into hot revisions and cold index services
Addon-Pseudo-States: Fix pseudo-states rewriting for nested functional selectors
Core: Skip module-graph reverse-index mirror when a patch is a no-op
Core: Split module-graph into hot revisions and cold index services
Preview: Fix crash when initialising UrlStore on a docs path
Pseudo-States: Make stylesheet rewrites WebKit-safe
TanStack: Keep the layout id when cloning a standalone index file route
TanStack: Render real link hrefs in the Link mock
Webpack: Prevent long preview output filenames
10.5.8
13 Aug 2026React: Fix RDT tsconfig selection for Vite project references
Tanstack React: Remove @cloudflare/vite-plugin from the inherited Vite config
Tanstack: Wait for router to load before rendering
React: Fix RDT tsconfig selection for Vite project references
Tanstack React: Remove @cloudflare/vite-plugin from the inherited Vite config
Tanstack: Wait for router to load before rendering
10.5.7
6 Aug 2026Angular: Serve ancestor node_modules for addon-vitest in browser mode
Angular: Serve ancestor node_modules for addon-vitest in browser mode
10.5.6
3 Aug 2026Dependencies: Pin `@testing-library/jest-dom` to `6.9.1`
ESLint Plugin: Add plugin meta and document oxlint usage
Vue: Skip docgen for module ids carrying a query
10.5.5
27 Jul 2026- security
Core: Upgrade `ws` to fix security advisories
CLI: Update AI setup instructions to msw-storybook-addon v3
ReactNative: Telemetry framework detection fix
CLI: Update AI setup instructions to msw-storybook-addon v3
- security
Core: Upgrade `ws` to fix security advisories
ReactNative: Telemetry framework detection fix
SyntaxHighlighter: Fix PrismJS dark mode mismatch
TanStack: Preserve explicit route ids on pathful clones
TanStack: Resolve mock redirects through Vite's resolver
TanStack: Respect routeOverrides component overrides in stories
10.5.4
24 Jul 2026ReactNative: Telemetry framework detection fix
SyntaxHighlighter: Fix PrismJS dark mode mismatch
10.5.3
20 Jul 2026Only updates a dependency:TypeScript 6.0.3
10.5.2
16 Jul 2026Angular-Vite: Drop @angular/platform-browser-dynamic peer dependency
Angular-Vite: Widen TypeScript peer dependency range to support TypeScript 6
Core: Include chromatic packages in ecosystem identifier
Angular-Vite: Drop @angular/platform-browser-dynamic peer dependency
Angular-Vite: Widen TypeScript peer dependency range to support TypeScript 6
Core: Include chromatic packages in ecosystem identifier
TanStack: Fix createServerFn validator mock
TanStack: Support pathless layout routes (id-only) in story routing
Tanstack-react: Add missing Hydrate export
Tanstack-react: Keep JSX-only component references during dead-code elimination
Vitest: Fix coverage toggle crash on Vite 6 by clearing closed Vitest instance on restart
10.5.1
16 Jul 2026Angular-Vite: Drop @angular/platform-browser-dynamic peer dependency
Angular-Vite: Widen TypeScript peer dependency range to support TypeScript 6
Core: Include chromatic packages in ecosystem identifier
10.5.0
10 Jul 2026⚡️ Angular-vite framework: Modern, fast dev, docs, and test (preview)
🌈 Vitest initialGlobals: Test across themes, viewports, locales
🤖 Agentic review: AI-curated visual changesets and search results (experimental)
Foundational changes for new AI workflows
Storybook 10.5 contains hundreds of fixes and improvements:
⚡️ Angular-vite framework: Modern, fast dev, docs, and test (preview)
🌈 Vitest initialGlobals: Test across themes, viewports, locales
🤖 Agentic review: AI-curated visual changesets and search results (experimental)
⚛️ React docgen service: Unified metadata across MCP, Docs, and Controls (experimental)
🧑💻 Claude / Codex plugins: One-click ADE integration (experimental)
List of all updates
A11y: Fix MDX heading anchors not keyboard accessible
A11y: Handle lang attribute throughout preview
A11y: Surface required args and keyboard-reachable Setup controls in ArgsTable
Addon A11y: Preserve disabled a11y rules with runOnly
Addon Docs: DocsContent not filling available width when TOC is enabled
Addon Docs: Resolve CSF4 module exports without a default export
Addon Docs: Resolve providerImportSource to a path instead of a file:// URL
Addon Vitest: Add an initialGlobals option to pin a project's globals
Addon Vitest: Avoid erroring out on benign Win process exits
Addon Vitest: Fix dynamic import failure with Vitest 3
Addon Vitest: Subscribe for run completion before triggering it
Angular: Add versioned `@types/node` to packages installed during `storybook init`
Angular: Fix custom paths for stats.json on angular
Angular: Fix zone.js drop in angular-to-angular-vite migration + schema sync + transform widening
Angular: Install @analogjs/vite-plugin-angular in angular-to-angular-vite automigration
Angular: Introduce @storybook/angular-vite package
Angular: Support Angular 22 in Webpack framework
Angular: Use future-proof API for component reflection
Babel: Remove bugfixes from preset-env in v8
Builder Vite: Fix empty external globals imports
Builder Vite: Support configLoader via builder options
CLI: Add `storybook ai <tool>` MCP passthrough behind `STORYBOOK_FEATURE_AI_CLI`
CLI: Add telemetry for the `storybook ai <command>` passthrough
CLI: Allow -p shorthand to --port for ai command
CLI: Bundle the `ai` command in core so it never downloads `@storybook/cli`
CLI: Do not auto-open the browser in storybook dev under AI agents
CLI: Exit process after successful build
CLI: Fix angular-to-angular-vite migration failing to configure addon-vitest
CLI: Fix silent hang in deferred addon configuration during upgrade
CLI: Fix upgrade crash on Storybook latest version check
CLI: Handle nested array schema for AI help
CLI: Install MCP when upgrade is ran by agent
CLI: Load Storybook AI help from preset metadata
CLI: Match `storybook ai` instances by config dir as well as cwd
CLI: Prefer agent-matched Storybook instances
CLI: Respect BROWSER and BROWSER_ARGS
CLI: Show MCP workflow instructions in AI help
CLI: Skip a11y addon automigration prompting when not applicable
CLI: Support Claude preview autoPort
CLI: Use detected package manager instead of npx for remote commands
Controls: Add label to Object JSON control
Controls: Guard normalizeOptions against array labels and prototype chain lookups
Controls: Improve ArgsTable empty state guidance
Controls: Load controls for composed-ref stories on direct deep-link
Controls: Load controls for stories from a composed ref
Controls: Prevent AbortError when rapidly resetting
Controls: Prevent the save bar from covering the last control
Core: Add ai-review observability
Core: Add experimentalReview feature flag and make the features type augmentable
Core: Add missing export to globals
Core: Add ref-based components manifest index backed by docgen open service
Core: Add runtime instance registry
Core: Allow vite-plus 0.2.x in the optional peer range
Core: Categorize UniversalStore follower timeout error
Core: Clean stale runtime instance records
Core: Compose core annotations before preview beforeAll
Core: Ensure every runtime installs the real channel and stop the mock fallback from poisoning it
Core: Expose backgrounds types from public subpath
Core: Extract StoryDependencyGraphService from ChangeDetectionService
Core: Fix cryptic invariant crash when dev server port detection fails
Core: Fix EEXIST race condition in static file copying during build
Core: Fix npm dependency detection
Core: Fix potential race condition in SET_CONFIG hook
Core: Fix resolveImport TSX fallback
Core: Flush preview-api hook effects in portable stories
Core: Ignore story-like directories in indexer
Core: Improve ActionBar focus indicator in high contrast mode
Core: Include chromatic packages in ecosystem identifier
Core: Incorrect package json handling
Core: Introduce Agentic Review feature
Core: Leave experimentalReview unset by default so the AI CLI plugins can enable review
Core: Recognize addon-mcp registered via getAbsolutePath() in runtime instance registry
Core: Reset WebsocketTransport heartbeat on every message, not just ping
Core: Skip story-docs Code panel emission in portable stories
Core: Use UndoIcon for Review-changes clear button
CSF Next: Propagate skip tags to .test children
CSF Next: Add tags type support for
CSF: Fix Canvas and userEvent types under Yarn PnP
Docgen: Add mock open service
Docgen: Fix inferred argTypes from initial args overriding docgen and custom argTypes in experimentalDocgenServer mode
Docgen: Register service runtime, payload argTypes
Docgen: Run experimentalDocgenServer extraction in a worker thread
Docgen: Wire up react-component-meta with DocgenService
DocgenServer: Fix OOM by recycling the shared TS program
ESLint Plugin: Avoid ESLint Unstable API Load
Index: Remove `hasActiveFilters` check
Init: Support pnpm catalogs when adding addon-vitest dependencies
Interactions: Prevent debugger controls from stealing focus
Maintenance: Centralize supported file extension lists
Maintenance: Replace `resolve` and `resolve.exports` with `oxc-resolver`
Manager: Apply addon-registered filters to the initial story index
Manager: Fix crash when toggling addon panel on mobile (LandmarkManager TypeError)
Manager: Fix layout.showPanel config
Manager: Fix race condition in `experimental_setFilter`
Manager: Keep local preview iframe on host URL when a ref story loads first
Manager: Restructure review feature state, layout integration, and thumbnail pipeline
Measure & Outline: Honor the `disable` parameter
ModuleGraph: Refactor from StoryDependencyService to open service-based ModuleGraphService
ModuleGraph: Stop bumping the graph revision on story-index invalidation
Next: Call link onClick before preventing default
Next: Support `as` prop in next/link mock
Next Vite: Add Link mock with useLinkStatus to nextjs-vite framework
Next Vite: Bump vite-plugin-storybook-nextjs to ^3.3.0
Open Service: Add `internal` property to control visibility
Open Service: Add schema-driven service runtime
Open Service: Add sync between server, manager and preview
Open Service: Call remote commands in load functions
Open Service: Fix docgen hot update controls refresh
Open Service: Fix reactivity on deep signals, fire subscribers on load dependencies
Open Service: Implement service registration on the server
Open Service: Implement service registration on the server (attempt 2)
Open Service: Introduce query states (loading/error/success)
Open Service: Load static query snapshots in browser builds
Open Service: Mark module-graph engine commands as internal
Open Service: Split story docs from docgen service
Open Service: Sync queries, load/loaded() API, strict reader handlers
Open Service: Type getService for core services per runtime
Preview: Preserve @ts-expect-error in web-component and vue preview
Preview: Preserve primitive args for non-ReactNode other types
Preview: Restore iframe scrolling after resizing the layout
Preview: Use width/height instead of min-* in CanvasWrap
Pseudo States: Keep combinator broad pseudo selectors valid
Pseudo States: Preserve URL globals on story change
React Native: Remove babel deps from RN setup (not needed)
React: Add an optional TypeScript peer to react-vite
React: Align react-docgen versions
React: Fix subcomponent prop extraction without JSX usage
React: Render boolean props set to false in source snippets
Review: Dynamic thumbnail scaling based on content dimensions
Review: Fix accessibility/UX issues in the review UI
Review: Fix inaccurate review story counts in sidebar
Review: Improve review thumbnail scaling and loading UX
Review: Notify on review arrival instead of auto-navigating
Review: Simplify layout handling
Tanstack: Export `TanStackPreview` from `@storybook/tanstack-react` to unblock CSF Next typing
TanStack: Normalize route-group handling in createRoute mock
Tanstack: Remove Outlet mock
Tanstack: Supply id OR path when using RouteOptions for route mock
Telemetry: Preserve state machine when the module loads more than once
Telemetry: Prevent pnpm paths from leaking into framework.name
UI: Allow manager-head favicon override
UI: Fix args not preserved in isolation mode
UI: Hide onboarding menu with feature flag
Viewport: Highlight toolbar button when custom viewport is active
Viewport: Warn when legacy `defaultViewport` parameter is used
Vitest: Reset playwright cursor position to avoid hover bug
Vue: Ensure vue-component-meta runs in post
Vue: Fix Unicode Default Values In Docs
Vue: Use AST to inject __docgenInfo correctly
Webpack: Gate lazy-compilation import pipeline on webpack version
10.4.6
16 Jun 2026CSF: Allow partial globals overrides in story and meta annotations
Dependencies: Upgrade esbuild
10.4.5
15 Jun 2026Core: Rework AI checklist feature gate
Preview: Stop mixed CSF3+4 stories getting core annotations injected twice
10.4.4
11 Jun 2026Telemetry: Add timeout to event-log POST to prevent build hang
10.4.3
9 Jun 2026Addon Docs: Fix Primary and Controls blocks not rendering in custom MDX pages
Core: Respect !dev tag on MDX docs in sidebar
React: Add support for resolving subcomponents attached as properties of a parent component
Addon Docs: Fix Primary and Controls blocks not rendering in custom MDX pages
Core: Respect !dev tag on MDX docs in sidebar
React: Add support for resolving subcomponents attached as properties of a parent component
UI: Prevent docs page scroll reset on HMR re-render
10.4.2
2 Jun 2026Bug: Fix Windows command resolution for non-Node package managers
CSF: Fix parsing of string literal export names
Publish: Add npm provenance attestations
Bug: Fix Windows command resolution for non-Node package managers
CSF: Fix parsing of string literal export names
Publish: Add npm provenance attestations
10.4.1
22 May 2026Angular: Detect model() signal outputs (type inference + compodoc autodocs + runtime binding)
CLI: Run `npx expo install --fix` after init for Expo projects
CLI: Support `peerDependencies` in framework detection for component libraries
Angular: Detect model() signal outputs (type inference + compodoc autodocs + runtime binding)
CLI: Run `npx expo install --fix` after init for Expo projects
CLI: Support `peerDependencies` in framework detection for component libraries
Next.js: Add useLinkStatus mock to next/link export mock
Vue3: Specify a specific version for non-dev dependency
10.4.0
14 May 2026- removed
CLI: Remove extensive prompt option
🤖 Agentic Setup: New CLI workflow for AI-assisted Storybook setup and onboarding
🔍 Change review: Sidebar filtering to highlight new, modified, and related stories based on git changes
AI-assisted setup, change-aware review, and stronger framework support
Storybook 10.4 contains hundreds of fixes and improvements including:
🤖 Agentic Setup: New CLI workflow for AI-assisted Storybook setup and onboarding
🔍 Change review: Sidebar filtering to highlight new, modified, and related stories based on git changes
🧭 Sidebar review tools: Status filtering, URL-persisted filters, and clearer review signals in the sidebar
⚛️ TanStack React: New `@storybook/tanstack-react` framework with routing and server function support
🧩 React MCP: Faster, more accurate component docgen powered by the TypeScript Language Server
📱 React Native: Zero config RN project initialization
🤝 Sharing: Easily publish and share your local Storybook with teammates, powered by Chromatic
List of all updates
A11y: Add aria-live announcements via @react-aria/live-announcer
A11y: Improve boolean control contrast in forced colors mode
Actions: Fix state mutation and keep newest actions when limit reached
Addon-Docs: Add Reset story button to re-render stories in docs
Addon-Docs: Avoid rerendering static Source blocks
Addon-Vitest: Use Vitest's provide-API for injecting values
Agentic Setup: Add --extensive for an extra prompt
Agentic Setup: Allow failed stories to persist
Agentic Setup: Keep sample content if users want onboarding
Agentic Setup: Rework ai-init-opt-in logic
Angular: Use Story ID for renderer IDs (including standalone stories)
Automigration: Move RN on-device addons to `deviceAddons`
Builder-Vite: Add onModuleGraphChange method
CLI: Add automigrate check for 'storybook' package name conflict
CLI: Add react-vite to tanstack-react automigration
CLI: Change mock event detection
CLI: Explicitly tell whether smoke tests passed or failed
CLI: Fix Next.js Vite automigration corrupting configs already using `@storybook/nextjs-vite`
CLI: Fix agentic check
CLI: Handle minimumReleaseAge conflicts across package managers
CLI: Improve package incompatibility detection and warning
CLI: Improve self-healing scoring observability
CLI: Introduce Agentic Setup workflow
- removed
CLI: Remove extensive prompt option
CLI: Streamline Node.js version detection code
Change-Detection: Set GIT_OPTIONAL_LOCKS=0 to avoid blocking commits
Cli: Set ai prompt to yes if yes flag for react-vite to tanstack migration
Code: Fix inline code blocks inside links removing link affordance
Controls: Add maxPresetColors option to ColorControl
Core: Add `ChangeDetectionService` and wire up builder-vite
Core: Add changeDetection feature flag
Core: Barrel-aware named import resolution for change detection
Core: Ensure process termination on SIGINT when telemetry is disabled
Core: Fix "Open In Editor" support for VSCode
Core: Fix telemetry not handling canceling of prompts
Core: Implement Git change detection
Core: Improve startup performance by deferring change detection initialization
Core: Normalize file paths in ChangeDetectionService and trace-changed for Windows support
Core: Quiet change-detection regex warning and swap clear icon
Core: Rename preview.ts to preview.tsx in generated projects
Core: Show "new" status on newly added individual stories
Dependencies: Update `vite-plugin-storybook-nextjs` to ^3.2.4
Fix ArgsTable borders not visible in Windows High Contrast Mode
Add vite-plus vendored libraries version detection
MDX: Replace `@storybook/docs-mdx` with inline implementation
Maintenance: Add assertions outside step incorrectly nested in interactions panel
Maintenance: Enhance ghost stories internal tests
Maintenance: Extract getBuilderOptions helper across framewo…
Maintenance: Extract parseFilterParam shared helper from tags and statuses modules
Maintenance: Fix self healing payload
Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils
Maintenance: Use errorToErrorLike in boot-test-runner for consistent stack deduplication
Manager: URL-based tag filter state + filter-aware initial story selection
Nextjs: Handle node builtin webpack imports
Onboarding: Fix checklist MDX instructions
Prompt: Run vitest fewer times, improve play functions
React-Docgen: Add tsconfig fallback chain and warning for monorepos
React: Add component metadata extraction via Volar-style LanguageService
React: Add subcomponents to component manifests
ReactNative: Add Metro config AST codemod for init
ReactNative: Add true entrypoint generation
ReactNative: AppRegistry component name in template
ReactNative: New init setup
Security: Makes sure `serialize-javascript` is at latest version
Sidebar: Add dual-slot status icons for change detection and test results
Sidebar: Add status-based filtering with refactored status architecture
Sidebar: Fix clear filter button not refreshing story list
Sidebar: Fix clear status button to only clear test statuses
Sidebar: Show same status icon at story and group level
Sidebar: Soften change-detection signals + add Review CTA
StatusValue: Add 'status-value:<new|modified|affected>'
Svelte: Fix Vite 8 + Vitest breaking rolldown deps scanner
Tanstack: Add `@storybook/tanstack-react` package
Tanstack: Optimize tanstack react-store
Tanstack: Treeshake top-level unused functions
Telemetry: Add sidebar filter telemetry for change detection
Telemetry: Centralize disable logic with module-level flag
Telemetry: Fix delayed init events
Telemetry: Refactor init tracking
UI: Add Share section to onboarding checklist and redesign share tool
UI: Ensure Controls panel can scroll horizontally for now
UI: Fix global shortcuts not showing region focus indicator
UI: Fix mobile navigation when renderLabel returns a React node
UI: Fix showing and hiding copy prompt in the correct scenarios
UI: Improve interactions panel accessibility
Vite: Use vite hook filter for performance improvements
Vitest: Fix agent detection breaking runs
Vue3: Clear stale args/globals when nextArgs is empty in updateArgs
10.3.6
29 Apr 2026ESLint: Update deprecated @storybook/test reference to storybook/test
React: Add optional React type peers to packages that publish React-based declarations
UI: Fix global background + color styles affecting stories
10.3.5
7 Apr 2026Core: Disable component manifest by default
10.3.4
2 Apr 2026Addon-a11y: Clear status transition timer on unmount to prevent test flake
Bug: Skip re-processing already transformed config files for CSF factories
Builder-Vite: Use djb2 hash to prevent variable name collisions in builder-vite
Addon-a11y: Clear status transition timer on unmount to prevent test flake
Bug: Skip re-processing already transformed config files for CSF factories
Builder-Vite: Use djb2 hash to prevent variable name collisions in builder-vite
CLI: Prompt for init crash reports
CSF4: Fix duplicate preview loading issue in Vitest
Core: Fix WebSocket connection for StackBlitz/WebContainers
React-Docgen: Try .tsx fallback when resolving .js ESM imports in docgen resolvers
React-Vite: Upgrade @joshwooding/vite-plugin-react-docgen-typescript to 0.7.0
10.3.3
23 Mar 2026Addon-Vitest: Streamline vite(st) config detection across init and postinstall
10.3.2
23 Mar 2026CLI: Shorten CTA link messages
React Native Web: Fix vite8 support by bumping vite-plugin-rnw
10.3.1
19 Mar 2026CLI: Use npm info to fetch versions in repro command
Core: Prevent story-local viewport from persisting in URL
10.3.0
18 Mar 2026🤖 Storybook MCP: Agentic component dev, docs, and test (Preview release for React)
⚡ Vite 8 support
▲ Next.js 16.2 support
> Improved developer experience, AI-assisting tools, and broader ecosystem support
Storybook 10.3 contains hundreds of fixes and improvements including:
🤖 Storybook MCP: Agentic component dev, docs, and test (Preview release for React)
⚡ Vite 8 support
▲ Next.js 16.2 support
📝 ESLint 10 support
〰️ Addon Pseudo-States: Tailwind v4 support
🔧 Addon-Vitest: Simplified configuration - no more setup files required
♿ Numerous accessibility improvements across the UI
List of all updates
A11y: Add ScrollArea prop focusable for when it has static children
A11y: Ensure popover dialogs have an ARIA label
A11y: Make resize handles for addon panel and sidebar accessible #33980
A11y: Underline MDX links for WCAG SC 1.4.1 compliance
Actions: Add expandLevel parameter to configure tree depth
Actions: Fix HandlerFunction type to support async callback props
Addon-Docs: Add React as optimizeDeps entry
Addon-Docs: Add support for `sourceState: 'none'` to canvas block parameters
Addon-docs: Restore `docs.components` overrides for doc blocks #34111
Addon-Vitest: Add channel API to programmatically trigger test runs
Addon-Vitest: Handle additional vitest config export patterns in postinstall
Addon-Vitest: Make Playwright `--with-deps` platform-aware to avoid `sudo` prompt on Linux #34121
Addon-Vitest: Refactor Vitest setup to eliminate the need for a dedicated setup file
Addon-Vitest: Support Vitest canaries
Angular: Add moduleResolution: bundler to tsconfig
Angular: Only load webpack dependencies on demand
Angular: Storybook fails with unknown option silent
Builder-Vite: Centralize Vite plugins for builder-vite and addon-vitest
Builder-Vite: Fix cold-cache vitest failures for story paths containing glob special characters
Builder-Vite: Use preview annotations as entry points for optimizeDeps
CLI: Add vike CLI metadata
CLI: Avoid hanging of postinstall during init
CLI: Fix onboarding not opening
CLI: Show multiple favicons warning as debug message
Cli: Use npm for registry URL in PNPMProxy to avoid workspace errors
Controls: Allow story argTypes to override control: false from meta
Controls: Fix Object contrast issue and tidy up code
Core: Ensure telemetry is never triggered on initial load of checklist data
Core: Fix event source URL based on refId when multiple iframes share the same origin #34105
Core: Fix false-positive CJS warning when 'exports' appears in strings or comments
Core: Fix handling complex viewport sizes #33615
Core: Fix iframe reference for composed Storybook on a subpath #34100
Core: Handle BROWSER=none correctly and improve error messages
Core: Ignore empty files when indexing
Core: Register CORS middleware before index.json route
Core: Revert Pull Request #33420 from Maelryn/fix/copy-button-overlap
Core: Zoom tool refinements - Hide reset button when value is initial
ESLint-plugin: Disallow extra properties in eslint plugin rule options
ESLint: Bail out config setup if eslint-plugin-storybook is already imported
HMR: Fix race conditions causing stale play functions to fire on re-rendered stories
Maintenance: Revert pull request #33930 HMR events
Maintenance: Use std-env for AI agent detection in telemetry #34114
Manifest: Add docs entries to debugger
Manifest: Rename `experimentalComponentsManifest` → `componentsManifest`, default to `true` #33974
Manifests: Fix Attached MDX causing wrong component entries #34101
Next.js-Vite: Fix failing postcss mutation
Next.js: Move image configuration from FrameworkOptions to parameters #32639, thanks @y-hsgw!
Preact: Support inferring props from component types
React Native Web: Fix inconsistent example stories
React: Add react-docgen-typescript to component manifest
Revert "Toolbar: Remove extra toolbar divider when zoom controls not shown"
Theming: Export interface declaration for `ThemesGlobals`
Toolbar: Remove extra toolbar divider when zoom controls not shown
UI: Allow direct kb/mouse actions on zoom tool button
UI: Avoid large animation for reduced motion users
UI: Ensure Link without href is keyboard-reachable
UI: Fix `z-index` problem with `popover`s and `modal`s nesting
UI: Fix code/copy buttons overlap with content
UI: Fix Copy button overlapping code in portrait mode
UI: Fix modal text selection
UI: Fix tab navigation after closing addon panel
UI: Handle kb nav edge cases when preview and panel are hidden
UI: Hide addon panel Drag on pages without a panel
UI: Hide manifest tag for now
UI: Make disabled Buttons keyboard-focusable
UI: Make TagsFilter state persistent #33374
UI: Use correct selector for addon panel focus check
UI: Zoom faster when pressing shift
Viewport: Skip viewport validation before parameters load
Vite: Add mock entries to optimizeDeps.entries
Vue3-Vite: Allow paths in docgen tsconfig option #32310, thanks @Thomaash!
10.2.19
13 Mar 2026Maintenance: Support vite-plugin-svelte@7 which supports Vite 8
Vite: Support Vite 8
10.2.18
13 Mar 2026Core: Correctly fallback to first detected vitest config file
Core: Fix error reporting in ManagerErrorBoundary
10.2.17
9 Mar 2026Next.js: Add support for v16.2
10.2.16
6 Mar 2026CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type<T>()` export default
Core: Add host/origin validation to requests and websocket connections
Core: Add vike metadata frameworks
CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type<T>()` export default
Core: Add host/origin validation to requests and websocket connections
Core: Add vike metadata frameworks
Core: Resolve builder preset path correctly in pnpm strict mode
Core: Update default allowed hosts in host validation middleware
10.2.15
4 Mar 2026Core: Storybook failed to load iframe.html when publishing
Manager-API: Update refs sequentially in experimental_setFilter
React: Handle render identifier in manifest snippet generation
10.2.14
2 Mar 2026CLI: Set STORYBOOK environment variable
UI: Prevent crash when tag filters contain undefined entries
10.2.13
26 Feb 2026Addon Pseudo-states: Process all nested css rules
Builder-Vite: Prevent config duplication
CLI: Fix React native web A11y issues
Addon Pseudo-states: Process all nested css rules
Builder-Vite: Prevent config duplication
CLI: Fix React native web A11y issues
Core: Avoid hanging when inferring args for recursive calls on DOM elemens
Eslint: Fix ESLint 10 compatibility in eslint-plugin-storybook rules
Viewport: Prioritize story viewport globals and avoid user-global pollution
10.2.12
24 Feb 2026Core: Sanitize inputs for save from controls
Telemetry: Add project age
Webpack: Improve performance of module-mocking plugins
10.2.11
23 Feb 2026Addon-Vitest: Fix postinstall a11y installation
Manifests: Use correct story name
Next.js: Handle legacyBehavior prop in Link mock component
Addon-Vitest: Fix postinstall a11y installation
Manifests: Use correct story name
Next.js: Handle legacyBehavior prop in Link mock component
React: Fix manifest stories empty when meta has no explicit title
10.2.10
18 Feb 2026Core: Require token for websocket connections
10.2.9
17 Feb 2026Addon-Vitest: Improve config file detection in monorepos
Builder-Vite: Update dependencies react-vite framework
Builder-Vite: Use relative path for mocker entry in production builds
Addon-Vitest: Improve config file detection in monorepos
Builder-Vite: Update dependencies react-vite framework
Builder-Vite: Use relative path for mocker entry in production builds
Next.js: Fix Link component override in appDirectory configuration
10.2.8
9 Feb 2026Telemetry: Add Expo metaframework
Telemetry: Add init exit event
Telemetry: Add share events
Telemetry: Add Expo metaframework
Telemetry: Add init exit event
Telemetry: Add share events
10.2.7
5 Feb 2026CSF: Fix cross-file story imports in csf-factories codemod
Core: Fix rendering of View Transitions in Firefox
Globals: Repair dynamicTitle: false for user-defined tools
CSF: Fix cross-file story imports in csf-factories codemod
Core: Fix rendering of View Transitions in Firefox
Globals: Repair dynamicTitle: false for user-defined tools
Logger: Honor --loglevel for npmlog output
10.2.6
4 Feb 2026Addon-Vitest: Skip postinstall setup when configured
Addon-Vitest: Support vite/vitest config with deferred export
CLI: Support addon-vitest setup when --skip-install is passed
Addon-Vitest: Skip postinstall setup when configured
Addon-Vitest: Support vite/vitest config with deferred export
CLI: Support addon-vitest setup when --skip-install is passed
Manager: Update logic to use base path instead of full pathname
10.2.5
4 Feb 2026Angular: Fix --loglevel options in docs and descriptions
Builder-Vite: Add plugin to enforce Storybook's output directory in Vite build configuration
Core: Invalidate cache on Storybook version upgrade
10.2.4
2 Feb 2026CSF-Factories: Fix codemod for preview files without exports
CSF: Fix false positive detection of Zod v4 .meta() as CSF Factory
CSFFactories: Add non-interactive mode and --glob flag
CSF-Factories: Fix codemod for preview files without exports
CSF: Fix false positive detection of Zod v4 .meta() as CSF Factory
CSFFactories: Add non-interactive mode and --glob flag
CSFFactories: Preserve leading comments when adding imports
Codemod: Fix csf-2-to-3 failing due to quoted filenames
Codemod: Fix glob pattern handling on Windows
Manager: Remove deprecated `active` prop warning in ZoomButton
Next.js: Alias AppRouterContext to shared runtime to fix Link navigation
10.2.3
30 Jan 2026Addon-Vitest: Normalize Windows paths in addon-vitest automigration
Core: Fix `previewHref` when current path does not end with a slash
10.2.2
30 Jan 2026Addon Vitest: Support simple vite.config without defineConfig helper
Addon-Vitest: Append Storybook project to existing test.projects array without double nesting
Addon-Vitest: Update Vitest plugin configuration to disable requireAssertions for expect
Addon Vitest: Support simple vite.config without defineConfig helper
Addon-Vitest: Append Storybook project to existing test.projects array without double nesting
Addon-Vitest: Update Vitest plugin configuration to disable requireAssertions for expect
Composition: Handle 401 responses with loginUrl from Chromatic
Telemetry: Add agent detection
10.2.1
27 Jan 2026Builder-Webpack5: Fix @vitest/mocker resolution issue
CLI: Add init telemetry for CLI integrations