Storybook for React and Vite: Develop, document, and test UI components in isolation
Last release today
26 Aug 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
2363 releases · first in 2022
Release timeline
2363 releases since 2022Releases
- 10.6.0-alpha.926 Aug 2026pre-release
Release notes
Open source →10.6.0-alpha.9
- Angular: Decide the migration's zone.js import from the dependency tree - #36008, thanks @valentinpalkovic!
- CLI: Render the same toolset output as MCP - #36029, thanks @kasperpeulen!
- Core: Allow token-only WebSocket upgrade without Origin - #35980, thanks @JReinhold!
- Core: Keep Tabs memo out of an esbuild joined var - #36038, thanks @ndelangen!
- Vue: Raise the vue-component-meta floor to ^3.3.9 - #36040, thanks @seanogdev!
- Vue: Rearchitecture Story snippet generation - #36044, thanks @huang-julien!
- 10.6.0-alpha.825 Aug 2026pre-release
Release notes
Open source →10.6.0-alpha.8
- Angular Vite: Resolve tsConfig against the workspace root - #36026, thanks @ndelangen!
- Angular: Extract component JSDoc through TypeScript's APIs - #35977, thanks @huang-julien!
- Angular: Install the `@storybook/angular-vite` peers that nothing else brings in - #36002, thanks @valentinpalkovic!
- Angular: Migrate Analog projects to angular-vite instead of refusing them - #35971, thanks @valentinpalkovic!
- Angular: Resolve `@angular/core` through the package manager, not the raw specifier - #35999, thanks @valentinpalkovic!
- Angular: Resolve builder `styles` the way the Angular builders do - #35998, thanks @valentinpalkovic!
- Angular: Resolve builder styles against the workspace root - #35974, thanks @valentinpalkovic!
- Angular: hoist non-literal args onto the host component instead of inlining them - #36003, thanks @valentinpalkovic!
- CLI: Offer the new 10.5 experimental feature flags during upgrade - #35417, thanks @valentinpalkovic!
- CLI: Point the init outro at `storybook skills get setup` and remove duplicate sandbox addon - #36024, thanks @kasperpeulen!
- Core: Make TypeScript's JSDoc semantics canonical for component docgen - #35976, thanks @huang-julien!
- Core: Resolve tsconfig paths from the defining config - #35959, thanks @ndelangen!
- Docs: Declare the font on overlay surfaces so docs tooltips are not left to inherit - #35966, thanks @valentinpalkovic!
- Docs: Surface the story-docs snippet warning in docs and the Code panel - #35965, thanks @valentinpalkovic!
- Manifest debugger: Show the API description and snippet warnings - #36000, thanks @valentinpalkovic!
- Mcp: Support JsDoc annotations in component documentation - #35963, thanks @huang-julien!
- Performance: Halve the tools CLI cold-boot time - #35951, thanks @kasperpeulen!
- Search: Add docs headings to search results - #33593, thanks @kroeder!
- Vue: Fix Component Metadata in Production Builds - #36030, thanks @huang-julien!
- Vue: Fix docgen fidelity gaps - #36001, thanks @huang-julien!
- Vue: Fix docgen slot, exposed-member, and add warning for snippet losses - #35958, thanks @huang-julien!
- Vue: Substitute static arg values in template snippet expressions - #36027, thanks @huang-julien!
- 10.6.0-alpha.720 Aug 2026pre-release
Release notes
Open source →10.6.0-alpha.7
- Angular: Bind only what the component accepts in story snippets, and report the rest - #35943, thanks @valentinpalkovic!
- Angular: Declare story args the snippet markup binds by name - #35895, thanks @valentinpalkovic!
- Angular: Fix component resolution, MCP output, and dev/build path aliasing - #35952, thanks @valentinpalkovic!
- Angular: Fix eight upgrade and migration bugs - #35946, thanks @valentinpalkovic!
- Angular: Fix ten docgen bugs found across 22 community repositories - #35941, thanks @valentinpalkovic!
- Angular: Give agents real input and output documentation - #35896, thanks @valentinpalkovic!
- Angular: Hide class internals from the props table by default - #35887, thanks @valentinpalkovic!
- Angular: Keep the function control on constructor and generic signatures - #35921, thanks @valentinpalkovic!
- Angular: Make experimentalDocgenServer the default in angular-vite - #35886, thanks @valentinpalkovic!
- Angular: Print unevaluable story args instead of slicing the file - #35888, thanks @valentinpalkovic!
- Angular: Read the story shapes that supply their own markup - #35797, thanks @valentinpalkovic!
- Angular: Render self-closing tags in server-side docs snippets - #35953, thanks @valentinpalkovic!
- Angular: Skip the runtime source decorator when the docgen server produces snippets - #35906, thanks @valentinpalkovic!
- Angular: Stop marking a defaulted input as required in the props table - #35899, thanks @valentinpalkovic!
- Core: Fetch static open-service snapshots relative to the document - #35945, thanks @valentinpalkovic!
- Core: Pin oxc-resolver to 11.21.2 to keep tsconfig path aliases on solution-style tsconfigs - #35929, thanks @valentinpalkovic!
- Core: Recover from a docgen worker death instead of going dark for the session - #35964, thanks @valentinpalkovic!
- Core: Restore the args a server-docgen preview cannot type - #35907, thanks @valentinpalkovic!
- Core: Scope in-flight open-service loads to their runtime - #35897, thanks @valentinpalkovic!
- Core: Skip module-graph reverse-index mirror when a patch is a no-op - #35825, thanks @ndelangen!
- Core: Warn when multiple story files collapse onto one componentId - #35931, thanks @valentinpalkovic!
- Dependencies: Bump Vitest to 4.1.6 (CVE-2026-47428) - #35530, thanks @anupamme!
- Docgen server: Resolve arg spreads and identifier references in static snippets - #35923, thanks @valentinpalkovic!
- ESLint Plugin: Bundle CSF helpers so the plugin loads without storybook - #35950, thanks @ndelangen!
- Nextjs-Vite: Recover from Next.js 16.3 raw config cache - #35882, thanks @ndelangen!
- Pseudo-States: Make stylesheet rewrites WebKit-safe - #35629, thanks @ethriel3695!
- React: Preserve discriminated union prop values in metadata extraction - #35844, thanks @s-robertson!
- Vue: Decouple server side docgen from docgen options - #35920, thanks @huang-julien!
- Vue: Deprecate vue-docgen-api - #35927, thanks @huang-julien!
- Vue: Don't override story-snippet if already provided - #35902, thanks @huang-julien!
- Vue: Follow a re-export to the component that declares it - #35821, thanks @valentinpalkovic!
- Vue: Inject component import directly in script for story-docs - #35904, thanks @huang-julien!
- Vue: Provide apiDescription in the manifest - #35900, thanks @huang-julien!
- Vue: Support h() render trees and @import overrides for snippets - #35839, thanks @huang-julien!
- Vue: Support story template for snippet generation - #35823, thanks @huang-julien!
- 10.6.0-alpha.617 Aug 2026pre-release
Release notes
Open source →10.6.0-alpha.6
- Angular: Add an in-process docgen analyzer, replacing Compodoc under the flag - #35805, thanks @valentinpalkovic!
- Angular: Generate story-docs snippets from the analyzer - #35807, thanks @valentinpalkovic!
- Build: Stop nissuer from treating every repro URL as blocklisted - #35827, thanks @ndelangen!
- CLI: Add
storybook skillscommand - #35757, thanks @ghengeveld! - Core: Centralize import-statement generation in csf-tools - #35845, thanks @valentinpalkovic!
- Core: Move the component-meta invalidation state machine into core - #35806, thanks @valentinpalkovic!
- Core: Remove experimental Playwright CT integration - #35650, thanks @ndelangen!
- Core: Share the program-backed half of a component-meta project - #35820, thanks @valentinpalkovic!
- Dependencies: Bump @testing-library/user-event to 14.6.3 - #35840, thanks @ndelangen!
- Harness: Gate the Angular component meta analyzer against Compodoc - #35808, thanks @valentinpalkovic!
- Nextjs-Vite: Move vite-plugin-storybook-nextjs into the monorepo - #35833, thanks @ndelangen!
- Nextjs-Vite: Support % in next/font/local declarations - #35884, thanks @ndelangen!
- Nextjs: Replace archived image-size with probe-image-size - #35881, thanks @ndelangen!
- OSA: Review fixes for toolsets, skills, and MCP - #35846, thanks @JReinhold!
- Preview: Fix crash when initialising UrlStore on a docs path - #35521, thanks @TheSeydiCharyyev!
- React: Fix RDT tsconfig selection for Vite project references - #35743, thanks @ndelangen!
- Skills M2b: Rework the core toolsets into their intended shape - #35726, thanks @kasperpeulen!
- Skills M4: Run addon-mcp and @storybook/mcp on the shared core toolsets - #35858, thanks @JReinhold!
- Skills M5a: CLI: Add the public
storybook toolscommand derived at runtime from the OSA toolsets - #35850, thanks @JReinhold! - TanStack: Render real link hrefs in the Link mock - #35505, thanks @unpunnyfuns!
- Tanstack React: Remove @cloudflare/vite-plugin from the inherited Vite config - #35706, thanks @FrancoKaddour!
- Vue: Generate Story snippets from docgen payload - #35815, thanks @huang-julien!
- Webpack: Prevent long preview output filenames - #35533, thanks @zhangli091011!
- 10.6.0-alpha.510 Aug 2026pre-release
Release notes
Open source →10.6.0-alpha.5
- Angular-Vite: Run Compodoc on demand - #35776, thanks @valentinpalkovic!
- Angular: Derive required inputs from Compodoc's own flag - #35758, thanks @valentinpalkovic!
- Angular: Extract Compodoc parsing into its own package - #35749, thanks @valentinpalkovic!
- Angular: Extract docgen on the server via Compodoc - #35733, thanks @valentinpalkovic!
- Angular: Stop treating input/output alias collisions as two-way bindings - #35777, thanks @valentinpalkovic!
- CLI: Allow esbuild builds for Storybook-owned pnpm dlx - #35742, thanks @ndelangen!
- CLI: Categorize Execa failures for init telemetry - #35720, thanks @ndelangen!
- Core: Extract ComponentMetaManager to Core - #35657, thanks @huang-julien!
- Core: Share the CSF story-shape helpers snippet generators need - #35803, thanks @valentinpalkovic!
- Manifests: Add a warning field to story entries - #35794, thanks @valentinpalkovic!
- React: Share a TypeScript DocumentRegistry across component-meta projects - #35468, thanks @connorshea!
- Refactor: Update getVersionedPackages method to handle non-Storybook packages correctly - #35769, thanks @valentinpalkovic!
- TanStack: Keep the layout id when cloning a standalone index file route - #35660, thanks @Insik-Han!
- Tanstack: Wait for router to load before rendering - #35784, thanks @huang-julien!
- Vue: Add story-docs provider skeleton - #35786, thanks @huang-julien!
- Vue: Move vue-component-meta in vue renderer and implement docgen payload builder - #35665, thanks @huang-julien!
- 10.6.0-alpha.43 Aug 2026pre-release
Release notes
Open source →10.6.0-alpha.4
- Addon-Pseudo-States: Fix pseudo-states rewriting for nested functional selectors - #34318, thanks @filipw01!
- Angular: Serve ancestor node_modules for addon-vitest in browser mode - #35600, thanks @brandonroberts!
- Build: Fix repository.directory path in @storybook/nextjs-vite package.json - #35609, thanks @LHMQ878!
- Build: Fix repository.directory path in create-storybook package.json - #35596, thanks @LHMQ878!
- Builder-Webpack5: Use strict mtime equality for mock cache reuse - #35681, thanks @benwarbrooke-auror!
- CLI: Update AI setup instructions to msw-storybook-addon v3 - #35512, thanks @yannbf!
- Core: Add additionnal field for component API in manifest - #35585, thanks @huang-julien!
- Core: Define shared public toolsets (defineToolset) - #35516, thanks @ghengeveld!
- Core: Include null union members as enum options in TS argTypes conversion - #35599, thanks @solp721!
- Core: Move docgen JSDoc parser into csf-tools - #35623, thanks @huang-julien!
- Core: Upgrade `ws` to fix security advisories - #35584, thanks @ndelangen!
- Dependencies: Bump magic-string from 0.30.21 to 1.1.0 - #35559, thanks @wojtekmaj!
- Dependencies: Pin `@testing-library/jest-dom` to `6.9.1` - #35614, thanks @ndelangen!
- ESLint Plugin: Add plugin meta and document oxlint usage - #35655, thanks @yannbf!
- Icons: Add missing @storybook/icons to the toolbar icon map - #35595, thanks @thejamesgore!
- Manager: Toggle the mobile navigation drawer with the sidebar keyboard shortcut - #35263, thanks @TheSeydiCharyyev!
- Manifest Debugger: Stable deep-link anchors for component cards - #35470, thanks @rachelslurs!
- NextJS: Normalize trailing slash in the next/link mock - #35589, thanks @sobol-sudo!
- Review: Use correct role for footer - #35434, thanks @Sidnioulz!
- TanStack: Carry lazy route bindings onto cloned routes - #35500, thanks @unpunnyfuns!
- TanStack: Preserve explicit route ids on pathful clones - #35499, thanks @unpunnyfuns!
- TanStack: Resolve mock redirects through Vite's resolver - #35501, thanks @unpunnyfuns!
- TanStack: Select the story leaf by mount path and params - #35498, thanks @unpunnyfuns!
- Test: Fix Illegal invocation when reading prototype.focus - #35528, thanks @FrancoKaddour!
- Vue3 Vite: Enable Schema Extraction for Vue Component Meta - #35565, thanks @dmitriy-prokoshev!
- Vue3: Support TypeScript enum props in vue-component-meta docgen - #35684, thanks @valentinpalkovic!
- Vue: Resolve docgen per export so a type-only export does not drop a file's prop tables - #35593, thanks @seanogdev!
- Vue: Skip docgen for module ids carrying a query - #35598, thanks @seanogdev!
- 10.6.0-alpha.324 Jul 2026pre-release
Release notes
Open source →10.6.0-alpha.3
- Addon Vitest: Pin storybook/test in optimizeDeps so its CJS-only deps are prebundled - #35572, thanks @Nic-Polumeyv!
- ReactNative: Telemetry framework detection fix - #35560, thanks @ndelangen!
- SyntaxHighlighter: Fix PrismJS dark mode mismatch - #35541, thanks @hxy-asdw!
- TanStack: Respect routeOverrides component overrides in stories - #35497, thanks @unpunnyfuns!
- 10.6.0-alpha.220 Jul 2026pre-release
- 10.6.0-alpha.116 Jul 2026pre-release
Release notes
Open source →10.6.0-alpha.1
- Angular-Vite: Drop @angular/platform-browser-dynamic peer dependency - #35457, thanks @valentinpalkovic!
- Angular-Vite: Widen TypeScript peer dependency range to support TypeScript 6 - #35455, thanks @valentinpalkovic!
- Dependencies: Upgrade TypeScript to 6.0.3 - #34971, thanks @valentinpalkovic!
- Init: Detect TanStack packages in peerdependencies - #34969, thanks @huang-julien!
- Manager API: Add experimental_setFilters batch API - #35413, thanks @valentinpalkovic!
- TanStack: Fix createServerFn validator mock - #35185, thanks @sjh9714!
- TanStack: Support pathless layout routes (id-only) in story routing - #35465, thanks @unpunnyfuns!
- Tanstack-react: Add missing Hydrate export - #35111, thanks @arun-357!
- Tanstack-react: Keep JSX-only component references during dead-code elimination - #35206, thanks @yatishgoel!
- Vitest: Fix coverage toggle crash on Vite 6 by clearing closed Vitest instance on restart - #35461, thanks @yannbf!
- 10.6.0-alpha.010 Jul 2026pre-release
Nothing published for this version
- 10.5.1020 Aug 2026
Release notes
Open source →10.5.10
- Core: Fetch static open-service snapshots relative to the document - #35945, thanks @valentinpalkovic!
- Core: Pin oxc-resolver to 11.21.2 to keep tsconfig path aliases on solution-style tsconfigs - #35929, thanks @valentinpalkovic!
- Dependencies: Bump Vitest to 4.1.6 (CVE-2026-47428) - #35530, thanks @anupamme!
- Docs: Declare the font on overlay surfaces so docs tooltips are not left to inherit - #35966, thanks @valentinpalkovic!
- ESLint Plugin: Bundle CSF helpers so the plugin loads without storybook - #35950, thanks @ndelangen!
- React: Preserve discriminated union prop values in metadata extraction - #35844, thanks @s-robertson!
Additional notes
Open source →- Core: Fetch static open-service snapshots relative to the document - #35945, thanks @valentinpalkovic!
- Core: Pin oxc-resolver to 11.21.2 to keep tsconfig path aliases on solution-style tsconfigs - #35929, thanks @valentinpalkovic!
- Dependencies: Bump Vitest to 4.1.6 (CVE-2026-47428) - #35530, thanks @anupamme!
- Docs: Declare the font on overlay surfaces so docs tooltips are not left to inherit - #35966, thanks @valentinpalkovic!
- ESLint Plugin: Bundle CSF helpers so the plugin loads without storybook - #35950, thanks @ndelangen!
- React: Preserve discriminated union prop values in metadata extraction - #35844, thanks @s-robertson!
- 10.5.918 Aug 2026
Release notes
Open source →10.5.9
- Addon-Pseudo-States: Fix pseudo-states rewriting for nested functional selectors - #34318, thanks @filipw01!
- Core: Skip module-graph reverse-index mirror when a patch is a no-op - #35825, thanks @ndelangen!
- Core: Split module-graph into hot revisions and cold index services - #35831, thanks @ndelangen!
- Preview: Fix crash when initialising UrlStore on a docs path - #35521, thanks @TheSeydiCharyyev!
- Pseudo-States: Make stylesheet rewrites WebKit-safe - #35629, thanks @ethriel3695!
- TanStack: Keep the layout id when cloning a standalone index file route - #35660, thanks @Insik-Han!
- TanStack: Render real link hrefs in the Link mock - #35505, thanks @unpunnyfuns!
- Webpack: Prevent long preview output filenames - #35533, thanks @zhangli091011!
Additional notes
Open source →- Addon-Pseudo-States: Fix pseudo-states rewriting for nested functional selectors - #34318, thanks @filipw01!
- Core: Skip module-graph reverse-index mirror when a patch is a no-op - #35825, thanks @ndelangen!
- Core: Split module-graph into hot revisions and cold index services - #35831, thanks @ndelangen!
- Preview: Fix crash when initialising UrlStore on a docs path - #35521, thanks @TheSeydiCharyyev!
- Pseudo-States: Make stylesheet rewrites WebKit-safe - #35629, thanks @ethriel3695!
- TanStack: Keep the layout id when cloning a standalone index file route - #35660, thanks @Insik-Han!
- TanStack: Render real link hrefs in the Link mock - #35505, thanks @unpunnyfuns!
- Webpack: Prevent long preview output filenames - #35533, thanks @zhangli091011!
- 10.5.813 Aug 2026
Release notes
Open source →10.5.8
- React: Fix RDT tsconfig selection for Vite project references - #35743, thanks @ndelangen!
- Tanstack React: Remove @cloudflare/vite-plugin from the inherited Vite config - #35706, thanks @FrancoKaddour!
- Tanstack: Wait for router to load before rendering - #35784, thanks @huang-julien!
- Test: Fix Illegal invocation when reading prototype.focus - #35528, thanks @FrancoKaddour!
Additional notes
Open source →- React: Fix RDT tsconfig selection for Vite project references - #35743, thanks @ndelangen!
- Tanstack React: Remove @cloudflare/vite-plugin from the inherited Vite config - #35706, thanks @FrancoKaddour!
- Tanstack: Wait for router to load before rendering - #35784, thanks @huang-julien!
- Test: Fix Illegal invocation when reading prototype.focus - #35528, thanks @FrancoKaddour!
- 10.5.76 Aug 2026
Release notes
Open source →10.5.7
- Angular: Serve ancestor node_modules for addon-vitest in browser mode - #35600, thanks @brandonroberts!
- Refactor: Update getVersionedPackages method to handle non-Storybook packages correctly - #35769, thanks @valentinpalkovic!
- 10.5.63 Aug 2026
Release notes
Open source →10.5.6
- Dependencies: Pin `@testing-library/jest-dom` to `6.9.1` - #35614, thanks @ndelangen!
- ESLint Plugin: Add plugin meta and document oxlint usage - #35655, thanks @yannbf!
- Vue: Skip docgen for module ids carrying a query - #35598, thanks @seanogdev!
- 10.5.527 Jul 2026
Release notes
Open source →10.5.5
- CLI: Update AI setup instructions to msw-storybook-addon v3 - #35512, thanks @yannbf!
- Core: Upgrade `ws` to fix security advisories - #35584, thanks @ndelangen!
- ReactNative: Telemetry framework detection fix - #35560, thanks @ndelangen!
- SyntaxHighlighter: Fix PrismJS dark mode mismatch - #35541, thanks @hxy-asdw!
- TanStack: Preserve explicit route ids on pathful clones - #35499, thanks @unpunnyfuns!
- TanStack: Resolve mock redirects through Vite's resolver - #35501, thanks @unpunnyfuns!
- TanStack: Respect routeOverrides component overrides in stories - #35497, thanks @unpunnyfuns!
Additional notes
Open source →- CLI: Update AI setup instructions to msw-storybook-addon v3 - #35512, thanks @yannbf!
- Core: Upgrade
wsto fix security advisories - #35584, thanks @ndelangen! - ReactNative: Telemetry framework detection fix - #35560, thanks @ndelangen!
- SyntaxHighlighter: Fix PrismJS dark mode mismatch - #35541, thanks @hxy-asdw!
- TanStack: Preserve explicit route ids on pathful clones - #35499, thanks @unpunnyfuns!
- TanStack: Resolve mock redirects through Vite's resolver - #35501, thanks @unpunnyfuns!
- TanStack: Respect routeOverrides component overrides in stories - #35497, thanks @unpunnyfuns!
- 10.5.424 Jul 2026
- 10.5.320 Jul 2026
Release notes
Open source →10.5.3
- Dependencies: Upgrade TypeScript to 6.0.3 - #34971, thanks @valentinpalkovic!
Additional notes
Open source →- Dependencies: Upgrade TypeScript to 6.0.3 - #34971, thanks @valentinpalkovic!
- 10.5.216 Jul 2026
Release notes
Open source →10.5.2
- Angular-Vite: Drop @angular/platform-browser-dynamic peer dependency - #35457, thanks @valentinpalkovic!
- Angular-Vite: Widen TypeScript peer dependency range to support TypeScript 6 - #35455, thanks @valentinpalkovic!
- Core: Include chromatic packages in ecosystem identifier - #35170, thanks @yannbf!
- TanStack: Fix createServerFn validator mock - #35185, thanks @sjh9714!
- TanStack: Support pathless layout routes (id-only) in story routing - #35465, thanks @unpunnyfuns!
- Tanstack-react: Add missing Hydrate export - #35111, thanks @arun-357!
- Tanstack-react: Keep JSX-only component references during dead-code elimination - #35206, thanks @yatishgoel!
- Vitest: Fix coverage toggle crash on Vite 6 by clearing closed Vitest instance on restart - #35461, thanks @yannbf!
Additional notes
Open source →- TanStack: Fix createServerFn validator mock - #35185, thanks @sjh9714!
- TanStack: Support pathless layout routes (id-only) in story routing - #35465, thanks @unpunnyfuns!
- Tanstack-react: Add missing Hydrate export - #35111, thanks @arun-357!
- Tanstack-react: Keep JSX-only component references during dead-code elimination - #35206, thanks @yatishgoel!
- Vitest: Fix coverage toggle crash on Vite 6 by clearing closed Vitest instance on restart - #35461, thanks @yannbf!
- 10.5.116 Jul 2026
Release notes
Open source →10.5.1
- Angular-Vite: Drop @angular/platform-browser-dynamic peer dependency - #35457, thanks @valentinpalkovic!
- Angular-Vite: Widen TypeScript peer dependency range to support TypeScript 6 - #35455, thanks @valentinpalkovic!
- Core: Include chromatic packages in ecosystem identifier - #35170, thanks @yannbf!
Additional notes
Open source →- Angular-Vite: Drop @angular/platform-browser-dynamic peer dependency - #35457, thanks @valentinpalkovic!
- Angular-Vite: Widen TypeScript peer dependency range to support TypeScript 6 - #35455, thanks @valentinpalkovic!
- Core: Include chromatic packages in ecosystem identifier - #35170, thanks @yannbf!
- 10.5.010 Jul 2026
Release notes
Open source →10.5.0
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)
<details> <summary>List of all updates</summary>
- A11y: Fix MDX heading anchors not keyboard accessible - #34368, thanks @TheSeydiCharyyev!
- A11y: Handle lang attribute throughout preview - #35321, thanks @Sidnioulz!
- A11y: Surface required args and keyboard-reachable Setup controls in ArgsTable - #35306, thanks @Sidnioulz!
- Addon A11y: Preserve disabled a11y rules with runOnly - #34649, thanks @cyphercodes!
- Addon Docs: DocsContent not filling available width when TOC is enabled - #35043, thanks @k-utsumi!
- Addon Docs: Resolve CSF4 module exports without a default export - #34834, thanks @TheSeydiCharyyev!
- Addon Docs: Resolve providerImportSource to a path instead of a file:// URL - #34841, thanks @TheSeydiCharyyev!
- Addon Vitest: Add an initialGlobals option to pin a project's globals - #35226, thanks @lifeiscontent!
- Addon Vitest: Avoid erroring out on benign Win process exits - #35287, thanks @Sidnioulz!
- Addon Vitest: Fix dynamic import failure with Vitest 3 - #34927, thanks @Sidnioulz!
- Addon Vitest: Subscribe for run completion before triggering it - #35291, thanks @tsushanth!
- Angular: Add versioned `@types/node` to packages installed during `storybook init` - #34192, thanks @copilot-swe-agent!
- Angular: Fix custom paths for stats.json on angular - #34551, thanks @mrginglymus!
- Angular: Fix zone.js drop in angular-to-angular-vite migration + schema sync + transform widening - #35386, thanks @valentinpalkovic!
- Angular: Install @analogjs/vite-plugin-angular in angular-to-angular-vite automigration - #35432, thanks @valentinpalkovic!
- Angular: Introduce @storybook/angular-vite package - #34202, thanks @brandonroberts!
- Angular: Support Angular 22 in Webpack framework - #35318, thanks @EtiennePasteur!
- Angular: Use future-proof API for component reflection - #35228, thanks @Sidnioulz!
- Babel: Remove bugfixes from preset-env in v8 - #35266, thanks @Sidnioulz!
- Builder Vite: Fix empty external globals imports - #34348, thanks @raashish1601!
- Builder Vite: Support configLoader via builder options - #34080, thanks @holvi-sebastian!
- CLI: Add `storybook ai <tool>` MCP passthrough behind `STORYBOOK_FEATURE_AI_CLI` - #35125, thanks @kasperpeulen!
- CLI: Add telemetry for the `storybook ai <command>` passthrough - #35138, thanks @kasperpeulen!
- CLI: Allow -p shorthand to --port for ai command - #35390, thanks @huang-julien!
- CLI: Bundle the `ai` command in core so it never downloads `@storybook/cli` - #35147, thanks @kasperpeulen!
- CLI: Do not auto-open the browser in storybook dev under AI agents - #35412, thanks @kasperpeulen!
- CLI: Exit process after successful build - #34735, thanks @torleifhalseth!
- CLI: Fix angular-to-angular-vite migration failing to configure addon-vitest - #35404, thanks @valentinpalkovic!
- CLI: Fix silent hang in deferred addon configuration during upgrade - #35423, thanks @valentinpalkovic!
- CLI: Fix upgrade crash on Storybook latest version check - #35156, thanks @yatishgoel!
- CLI: Handle nested array schema for AI help - #35424, thanks @huang-julien!
- CLI: Install MCP when upgrade is ran by agent - #35215, thanks @huang-julien!
- CLI: Load Storybook AI help from preset metadata - #35212, thanks @kasperpeulen!
- CLI: Match `storybook ai` instances by config dir as well as cwd - #35392, thanks @kasperpeulen!
- CLI: Prefer agent-matched Storybook instances - #35235, thanks @kasperpeulen!
- CLI: Respect BROWSER and BROWSER_ARGS - #34513, thanks @ianzone!
- CLI: Show MCP workflow instructions in AI help - #35164, thanks @kasperpeulen!
- CLI: Skip a11y addon automigration prompting when not applicable - #35376, thanks @yannbf!
- CLI: Support Claude preview autoPort - #35259, thanks @kasperpeulen!
- CLI: Use detected package manager instead of npx for remote commands - #35409, thanks @ghengeveld!
- Controls: Add label to Object JSON control - #34766, thanks @Jaksenc!
- Controls: Guard normalizeOptions against array labels and prototype chain lookups - #34664, thanks @creazyfrog!
- Controls: Improve ArgsTable empty state guidance - #34857, thanks @Aniketiitk21!
- Controls: Load controls for composed-ref stories on direct deep-link - #35402, thanks @ndelangen!
- Controls: Load controls for stories from a composed ref - #35050, thanks @TheSeydiCharyyev!
- Controls: Prevent AbortError when rapidly resetting - #34412, thanks @whdjh!
- Controls: Prevent the save bar from covering the last control - #35136, thanks @TheSeydiCharyyev!
- Core: Add ai-review observability - #35300, thanks @yannbf!
- Core: Add experimentalReview feature flag and make the features type augmentable - #35379, thanks @yannbf!
- Core: Add missing export to globals - #34929, thanks @Sidnioulz!
- Core: Add ref-based components manifest index backed by docgen open service - #35063, thanks @JReinhold!
- Core: Add runtime instance registry - #34863, thanks @kasperpeulen!
- Core: Allow vite-plus 0.2.x in the optional peer range - #35221, thanks @lifeiscontent!
- Core: Categorize UniversalStore follower timeout error - #34592, thanks @justismailmemon!
- Core: Clean stale runtime instance records - #35023, thanks @kasperpeulen!
- Core: Compose core annotations before preview beforeAll - #35323, thanks @JReinhold!
- Core: Ensure every runtime installs the real channel and stop the mock fallback from poisoning it - #35410, thanks @ndelangen!
- Core: Expose backgrounds types from public subpath - #35044, thanks @ShaharAviram1!
- Core: Extract StoryDependencyGraphService from ChangeDetectionService - #35009, thanks @valentinpalkovic!
- Core: Fix cryptic invariant crash when dev server port detection fails - #35388, thanks @kasperpeulen!
- Core: Fix EEXIST race condition in static file copying during build - #34499, thanks @flt3150sk!
- Core: Fix npm dependency detection - #35083, thanks @fallintoplace!
- Core: Fix potential race condition in SET_CONFIG hook - #35401, thanks @mrginglymus!
- Core: Fix resolveImport TSX fallback - #34815, thanks @cyphercodes!
- Core: Flush preview-api hook effects in portable stories - #35224, thanks @lifeiscontent!
- Core: Ignore story-like directories in indexer - #34806, thanks @MukundaKatta!
- Core: Improve ActionBar focus indicator in high contrast mode - #34779, thanks @TheSeydiCharyyev!
- Core: Include chromatic packages in ecosystem identifier - #35170, thanks @yannbf!
- Core: Incorrect package json handling - #34515, thanks @lino-levan!
- Core: Introduce Agentic Review feature - #34837, thanks @yannbf!
- Core: Leave experimentalReview unset by default so the AI CLI plugins can enable review - #35396, thanks @kasperpeulen!
- Core: Recognize addon-mcp registered via getAbsolutePath() in runtime instance registry - #35286, thanks @yannbf!
- Core: Reset WebsocketTransport heartbeat on every message, not just ping - #35422, thanks @valentinpalkovic!
- Core: Skip story-docs Code panel emission in portable stories - #35387, thanks @ndelangen!
- Core: Use UndoIcon for Review-changes clear button - #34767, thanks @valentinpalkovic!
- CSF Next: Propagate skip tags to .test children - #34964, thanks @kwonoj!
- CSF Next: Add tags type support for - #34819, thanks @unional!
- CSF: Fix Canvas and userEvent types under Yarn PnP - #34986, thanks @yatishgoel!
- Docgen: Add mock open service - #34954, thanks @JReinhold!
- Docgen: Fix inferred argTypes from initial args overriding docgen and custom argTypes in experimentalDocgenServer mode - #35196, thanks @JReinhold!
- Docgen: Register service runtime, payload argTypes - #35108, thanks @JReinhold!
- Docgen: Run experimentalDocgenServer extraction in a worker thread - #35324, thanks @JReinhold!
- Docgen: Wire up react-component-meta with DocgenService - #34963, thanks @JReinhold!
- DocgenServer: Fix OOM by recycling the shared TS program - #35305, thanks @ndelangen!
- Docs: Add ariaLabel support to ActionItem interface - #34749, thanks @TheSeydiCharyyev!
- Docs: Add shallow MDX ref manifests for experimentalDocgenServer - #35189, thanks @JReinhold!
- Docs: Deprecate ExternalDocs - #35074, thanks @Sidnioulz!
- Docs: Fix Controls losing focus when subcomponents are defined - #35018, thanks @cssinate!
- Docs: Improve DocsParameters types - #35190, thanks @mrginglymus!
- Docs: Prevent heading anchor cutoff on docs pages - #34945, thanks @copilot-swe-agent!
- Docs: Restore React 16/17 support in useServiceDocgen - #35179, thanks @JReinhold!
- Docs: Route ArgTypes and Controls through docgen service when flag enabled - #35109, thanks @JReinhold!
- Docs: Scope control input ids to each <Controls /> block instance - #34793, thanks @TheSeydiCharyyev!
- Docs: Support explicit id prop on <Meta> for standalone MDX - #34808, thanks @TheSeydiCharyyev!
- ESLint Plugin: Avoid ESLint Unstable API Load - #35269, thanks @pupuking723!
- Index: Remove `hasActiveFilters` check - #35151, thanks @mrginglymus!
- Init: Support pnpm catalogs when adding addon-vitest dependencies - #35415, thanks @yannbf!
- Interactions: Prevent debugger controls from stealing focus - #35073, thanks @BrenoSI03!
- Maintenance: Centralize supported file extension lists - #34844, thanks @valentinpalkovic!
- Maintenance: Replace `resolve` and `resolve.exports` with `oxc-resolver` - #34692, thanks @valentinpalkovic!
- Manager: Apply addon-registered filters to the initial story index - #35408, thanks @ndelangen!
- Manager: Fix crash when toggling addon panel on mobile (LandmarkManager TypeError) - #34790, thanks @valentinpalkovic!
- Manager: Fix layout.showPanel config - #34777, thanks @kalinco-glitch!
- Manager: Fix race condition in `experimental_setFilter` - #35194, thanks @mrginglymus!
- Manager: Keep local preview iframe on host URL when a ref story loads first - #35078, thanks @TheSeydiCharyyev!
- Manager: Restructure review feature state, layout integration, and thumbnail pipeline - #35351, thanks @ghengeveld!
- Measure & Outline: Honor the `disable` parameter - #35150, thanks @yatishgoel!
- ModuleGraph: Refactor from StoryDependencyService to open service-based ModuleGraphService - #35048, thanks @JReinhold!
- ModuleGraph: Stop bumping the graph revision on story-index invalidation - #35178, thanks @JReinhold!
- Next: Call link onClick before preventing default - #35311, thanks @yatishgoel!
- Next: Support `as` prop in next/link mock - #35148, thanks @yatishgoel!
- Next Vite: Add Link mock with useLinkStatus to nextjs-vite framework - #34736, thanks @yatishgoel!
- Next Vite: Bump vite-plugin-storybook-nextjs to ^3.3.0 - #34838, thanks @yatishgoel!
- Open Service: Add `internal` property to control visibility - #35057, thanks @JReinhold!
- Open Service: Add schema-driven service runtime - #34860, thanks @JReinhold!
- Open Service: Add sync between server, manager and preview - #35017, thanks @ndelangen!
- Open Service: Call remote commands in load functions - #35106, thanks @JReinhold!
- Open Service: Fix docgen hot update controls refresh - #35158, thanks @JReinhold!
- Open Service: Fix reactivity on deep signals, fire subscribers on load dependencies - #34979, thanks @JReinhold!
- Open Service: Implement service registration on the server - #34875, thanks @JReinhold!
- Open Service: Implement service registration on the server (attempt 2) - #34961, thanks @JReinhold!
- Open Service: Introduce query states (loading/error/success) - #35214, thanks @JReinhold!
- Open Service: Load static query snapshots in browser builds - #35154, thanks @JReinhold!
- Open Service: Mark module-graph engine commands as internal - #35144, thanks @JReinhold!
- Open Service: Split story docs from docgen service - #35169, thanks @JReinhold!
- Open Service: Sync queries, load/loaded() API, strict reader handlers - #34932, thanks @JReinhold!
- Open Service: Type getService for core services per runtime - #35242, thanks @JReinhold!
- Preview: Preserve @ts-expect-error in web-component and vue preview - #34839, thanks @brentswisher!
- Preview: Preserve primitive args for non-ReactNode other types - #35088, thanks @TheSeydiCharyyev!
- Preview: Restore iframe scrolling after resizing the layout - #35310, thanks @yatishgoel!
- Preview: Use width/height instead of min-* in CanvasWrap - #35056, thanks @DevLikhith5!
- Pseudo States: Keep combinator broad pseudo selectors valid - #35060, thanks @mturac!
- Pseudo States: Preserve URL globals on story change - #35211, thanks @Sidnioulz!
- React Native: Remove babel deps from RN setup (not needed) - #35243, thanks @dannyhw!
- React: Add an optional TypeScript peer to react-vite - #34627, thanks @wojtekmaj!
- React: Align react-docgen versions - #35271, thanks @Sidnioulz!
- React: Fix subcomponent prop extraction without JSX usage - #35107, thanks @JReinhold!
- React: Render boolean props set to false in source snippets - #34968, thanks @valentinpalkovic!
- Review: Dynamic thumbnail scaling based on content dimensions - #35282, thanks @ghengeveld!
- Review: Fix accessibility/UX issues in the review UI - #35398, thanks @Sidnioulz!
- Review: Fix inaccurate review story counts in sidebar - #35391, thanks @ghengeveld!
- Review: Improve review thumbnail scaling and loading UX - #35335, thanks @ghengeveld!
- Review: Notify on review arrival instead of auto-navigating - #35276, thanks @ghengeveld!
- Review: Simplify layout handling - #35322, thanks @ghengeveld!
- Tanstack: Export `TanStackPreview` from `@storybook/tanstack-react` to unblock CSF Next typing - #34949, thanks @copilot-swe-agent!
- TanStack: Normalize route-group handling in createRoute mock - #34948, thanks @copilot-swe-agent!
- Tanstack: Remove Outlet mock - #35010, thanks @huang-julien!
- Tanstack: Supply id OR path when using RouteOptions for route mock - #34950, thanks @copilot-swe-agent!
- Telemetry: Preserve state machine when the module loads more than once - #35140, thanks @kasperpeulen!
- Telemetry: Prevent pnpm paths from leaking into framework.name - #35345, thanks @Sidnioulz!
- Test: Move @testing-library/dom to dependencies - #34604, thanks @XionWCFM!
- UI: Allow manager-head favicon override - #34809, thanks @MukundaKatta!
- UI: Fix args not preserved in isolation mode - #35055, thanks @sijie-Z!
- UI: Hide onboarding menu with feature flag - #35299, thanks @Sidnioulz!
- Viewport: Highlight toolbar button when custom viewport is active - #35075, thanks @derinbarutcu17!
- Viewport: Warn when legacy `defaultViewport` parameter is used - #35087, thanks @yatishgoel!
- Vitest: Reset playwright cursor position to avoid hover bug - #34765, thanks @Sidnioulz!
- Vue: Ensure vue-component-meta runs in post - #34976, thanks @Sidnioulz!
- Vue: Fix Unicode Default Values In Docs - #34909, thanks @Arunsiva003!
- Vue: Use AST to inject __docgenInfo correctly - #35201, thanks @Sidnioulz!
- Webpack: Gate lazy-compilation import pipeline on webpack version - #34931, thanks @copilot-swe-agent!
</details>
Additional notes
Open source →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)
<details> <summary>List of all updates</summary>
- A11y: Fix MDX heading anchors not keyboard accessible - #34368, thanks @TheSeydiCharyyev!
- A11y: Handle lang attribute throughout preview - #35321, thanks @Sidnioulz!
- A11y: Surface required args and keyboard-reachable Setup controls in ArgsTable - #35306, thanks @Sidnioulz!
- Addon A11y: Preserve disabled a11y rules with runOnly - #34649, thanks @cyphercodes!
- Addon Docs: DocsContent not filling available width when TOC is enabled - #35043, thanks @k-utsumi!
- Addon Docs: Resolve CSF4 module exports without a default export - #34834, thanks @TheSeydiCharyyev!
- Addon Docs: Resolve providerImportSource to a path instead of a file:// URL - #34841, thanks @TheSeydiCharyyev!
- Addon Vitest: Add an initialGlobals option to pin a project's globals - #35226, thanks @lifeiscontent!
- Addon Vitest: Avoid erroring out on benign Win process exits - #35287, thanks @Sidnioulz!
- Addon Vitest: Fix dynamic import failure with Vitest 3 - #34927, thanks @Sidnioulz!
- Addon Vitest: Subscribe for run completion before triggering it - #35291, thanks @tsushanth!
- Angular: Add versioned
@types/nodeto packages installed duringstorybook init- #34192, thanks @copilot-swe-agent! - Angular: Fix custom paths for stats.json on angular - #34551, thanks @mrginglymus!
- Angular: Fix zone.js drop in angular-to-angular-vite migration + schema sync + transform widening - #35386, thanks @valentinpalkovic!
- Angular: Install @analogjs/vite-plugin-angular in angular-to-angular-vite automigration - #35432, thanks @valentinpalkovic!
- Angular: Introduce @storybook/angular-vite package - #34202, thanks @brandonroberts!
- Angular: Support Angular 22 in Webpack framework - #35318, thanks @EtiennePasteur!
- Angular: Use future-proof API for component reflection - #35228, thanks @Sidnioulz!
- Babel: Remove bugfixes from preset-env in v8 - #35266, thanks @Sidnioulz!
- Builder Vite: Fix empty external globals imports - #34348, thanks @raashish1601!
- Builder Vite: Support configLoader via builder options - #34080, thanks @holvi-sebastian!
- CLI: Add
storybook ai <tool>MCP passthrough behindSTORYBOOK_FEATURE_AI_CLI- #35125, thanks @kasperpeulen! - CLI: Add telemetry for the
storybook ai <command>passthrough - #35138, thanks @kasperpeulen! - CLI: Allow -p shorthand to --port for ai command - #35390, thanks @huang-julien!
- CLI: Bundle the
aicommand in core so it never downloads@storybook/cli- #35147, thanks @kasperpeulen! - CLI: Do not auto-open the browser in storybook dev under AI agents - #35412, thanks @kasperpeulen!
- CLI: Exit process after successful build - #34735, thanks @torleifhalseth!
- CLI: Fix angular-to-angular-vite migration failing to configure addon-vitest - #35404, thanks @valentinpalkovic!
- CLI: Fix silent hang in deferred addon configuration during upgrade - #35423, thanks @valentinpalkovic!
- CLI: Fix upgrade crash on Storybook latest version check - #35156, thanks @yatishgoel!
- CLI: Handle nested array schema for AI help - #35424, thanks @huang-julien!
- CLI: Install MCP when upgrade is ran by agent - #35215, thanks @huang-julien!
- CLI: Load Storybook AI help from preset metadata - #35212, thanks @kasperpeulen!
- CLI: Match
storybook aiinstances by config dir as well as cwd - #35392, thanks @kasperpeulen! - CLI: Prefer agent-matched Storybook instances - #35235, thanks @kasperpeulen!
- CLI: Respect BROWSER and BROWSER_ARGS - #34513, thanks @ianzone!
- CLI: Show MCP workflow instructions in AI help - #35164, thanks @kasperpeulen!
- CLI: Skip a11y addon automigration prompting when not applicable - #35376, thanks @yannbf!
- CLI: Support Claude preview autoPort - #35259, thanks @kasperpeulen!
- CLI: Use detected package manager instead of npx for remote commands - #35409, thanks @ghengeveld!
- Controls: Add label to Object JSON control - #34766, thanks @Jaksenc!
- Controls: Guard normalizeOptions against array labels and prototype chain lookups - #34664, thanks @creazyfrog!
- Controls: Improve ArgsTable empty state guidance - #34857, thanks @Aniketiitk21!
- Controls: Load controls for composed-ref stories on direct deep-link - #35402, thanks @ndelangen!
- Controls: Load controls for stories from a composed ref - #35050, thanks @TheSeydiCharyyev!
- Controls: Prevent AbortError when rapidly resetting - #34412, thanks @whdjh!
- Controls: Prevent the save bar from covering the last control - #35136, thanks @TheSeydiCharyyev!
- Core: Add ai-review observability - #35300, thanks @yannbf!
- Core: Add experimentalReview feature flag and make the features type augmentable - #35379, thanks @yannbf!
- Core: Add missing export to globals - #34929, thanks @Sidnioulz!
- Core: Add ref-based components manifest index backed by docgen open service - #35063, thanks @JReinhold!
- Core: Add runtime instance registry - #34863, thanks @kasperpeulen!
- Core: Allow vite-plus 0.2.x in the optional peer range - #35221, thanks @lifeiscontent!
- Core: Categorize UniversalStore follower timeout error - #34592, thanks @justismailmemon!
- Core: Clean stale runtime instance records - #35023, thanks @kasperpeulen!
- Core: Compose core annotations before preview beforeAll - #35323, thanks @JReinhold!
- Core: Ensure every runtime installs the real channel and stop the mock fallback from poisoning it - #35410, thanks @ndelangen!
- Core: Expose backgrounds types from public subpath - #35044, thanks @ShaharAviram1!
- Core: Extract StoryDependencyGraphService from ChangeDetectionService - #35009, thanks @valentinpalkovic!
- Core: Fix cryptic invariant crash when dev server port detection fails - #35388, thanks @kasperpeulen!
- Core: Fix EEXIST race condition in static file copying during build - #34499, thanks @flt3150sk!
- Core: Fix npm dependency detection - #35083, thanks @fallintoplace!
- Core: Fix potential race condition in SET_CONFIG hook - #35401, thanks @mrginglymus!
- Core: Fix resolveImport TSX fallback - #34815, thanks @cyphercodes!
- Core: Flush preview-api hook effects in portable stories - #35224, thanks @lifeiscontent!
- Core: Ignore story-like directories in indexer - #34806, thanks @MukundaKatta!
- Core: Improve ActionBar focus indicator in high contrast mode - #34779, thanks @TheSeydiCharyyev!
- Core: Include chromatic packages in ecosystem identifier - #35170, thanks @yannbf!
- Core: Incorrect package json handling - #34515, thanks @lino-levan!
- Core: Introduce Agentic Review feature - #34837, thanks @yannbf!
- Core: Leave experimentalReview unset by default so the AI CLI plugins can enable review - #35396, thanks @kasperpeulen!
- Core: Recognize addon-mcp registered via getAbsolutePath() in runtime instance registry - #35286, thanks @yannbf!
- Core: Reset WebsocketTransport heartbeat on every message, not just ping - #35422, thanks @valentinpalkovic!
- Core: Skip story-docs Code panel emission in portable stories - #35387, thanks @ndelangen!
- Core: Use UndoIcon for Review-changes clear button - #34767, thanks @valentinpalkovic!
- CSF Next: Propagate skip tags to .test children - #34964, thanks @kwonoj!
- CSF Next: Add tags type support for - #34819, thanks @unional!
- CSF: Fix Canvas and userEvent types under Yarn PnP - #34986, thanks @yatishgoel!
- Docgen: Add mock open service - #34954, thanks @JReinhold!
- Docgen: Fix inferred argTypes from initial args overriding docgen and custom argTypes in experimentalDocgenServer mode - #35196, thanks @JReinhold!
- Docgen: Register service runtime, payload argTypes - #35108, thanks @JReinhold!
- Docgen: Run experimentalDocgenServer extraction in a worker thread - #35324, thanks @JReinhold!
- Docgen: Wire up react-component-meta with DocgenService - #34963, thanks @JReinhold!
- DocgenServer: Fix OOM by recycling the shared TS program - #35305, thanks @ndelangen!
- Docs: Add ariaLabel support to ActionItem interface - #34749, thanks @TheSeydiCharyyev!
- Docs: Add shallow MDX ref manifests for experimentalDocgenServer - #35189, thanks @JReinhold!
- Docs: Deprecate ExternalDocs - #35074, thanks @Sidnioulz!
- Docs: Fix Controls losing focus when subcomponents are defined - #35018, thanks @cssinate!
- Docs: Improve DocsParameters types - #35190, thanks @mrginglymus!
- Docs: Prevent heading anchor cutoff on docs pages - #34945, thanks @copilot-swe-agent!
- Docs: Restore React 16/17 support in useServiceDocgen - #35179, thanks @JReinhold!
- Docs: Route ArgTypes and Controls through docgen service when flag enabled - #35109, thanks @JReinhold!
- Docs: Scope control input ids to each <Controls /> block instance - #34793, thanks @TheSeydiCharyyev!
- Docs: Support explicit id prop on <Meta> for standalone MDX - #34808, thanks @TheSeydiCharyyev!
- ESLint Plugin: Avoid ESLint Unstable API Load - #35269, thanks @pupuking723!
- Index: Remove
hasActiveFilterscheck - #35151, thanks @mrginglymus! - Init: Support pnpm catalogs when adding addon-vitest dependencies - #35415, thanks @yannbf!
- Interactions: Prevent debugger controls from stealing focus - #35073, thanks @BrenoSI03!
- Maintenance: Centralize supported file extension lists - #34844, thanks @valentinpalkovic!
- Maintenance: Replace
resolveandresolve.exportswithoxc-resolver- #34692, thanks @valentinpalkovic! - Manager: Apply addon-registered filters to the initial story index - #35408, thanks @ndelangen!
- Manager: Fix crash when toggling addon panel on mobile (LandmarkManager TypeError) - #34790, thanks @valentinpalkovic!
- Manager: Fix layout.showPanel config - #34777, thanks @kalinco-glitch!
- Manager: Fix race condition in
experimental_setFilter- #35194, thanks @mrginglymus! - Manager: Keep local preview iframe on host URL when a ref story loads first - #35078, thanks @TheSeydiCharyyev!
- Manager: Restructure review feature state, layout integration, and thumbnail pipeline - #35351, thanks @ghengeveld!
- Measure & Outline: Honor the
disableparameter - #35150, thanks @yatishgoel! - ModuleGraph: Refactor from StoryDependencyService to open service-based ModuleGraphService - #35048, thanks @JReinhold!
- ModuleGraph: Stop bumping the graph revision on story-index invalidation - #35178, thanks @JReinhold!
- Next: Call link onClick before preventing default - #35311, thanks @yatishgoel!
- Next: Support
asprop in next/link mock - #35148, thanks @yatishgoel! - Next Vite: Add Link mock with useLinkStatus to nextjs-vite framework - #34736, thanks @yatishgoel!
- Next Vite: Bump vite-plugin-storybook-nextjs to ^3.3.0 - #34838, thanks @yatishgoel!
- Open Service: Add
internalproperty to control visibility - #35057, thanks @JReinhold! - Open Service: Add schema-driven service runtime - #34860, thanks @JReinhold!
- Open Service: Add sync between server, manager and preview - #35017, thanks @ndelangen!
- Open Service: Call remote commands in load functions - #35106, thanks @JReinhold!
- Open Service: Fix docgen hot update controls refresh - #35158, thanks @JReinhold!
- Open Service: Fix reactivity on deep signals, fire subscribers on load dependencies - #34979, thanks @JReinhold!
- Open Service: Implement service registration on the server - #34875, thanks @JReinhold!
- Open Service: Implement service registration on the server (attempt 2) - #34961, thanks @JReinhold!
- Open Service: Introduce query states (loading/error/success) - #35214, thanks @JReinhold!
- Open Service: Load static query snapshots in browser builds - #35154, thanks @JReinhold!
- Open Service: Mark module-graph engine commands as internal - #35144, thanks @JReinhold!
- Open Service: Split story docs from docgen service - #35169, thanks @JReinhold!
- Open Service: Sync queries, load/loaded() API, strict reader handlers - #34932, thanks @JReinhold!
- Open Service: Type getService for core services per runtime - #35242, thanks @JReinhold!
- Preview: Preserve @ts-expect-error in web-component and vue preview - #34839, thanks @brentswisher!
- Preview: Preserve primitive args for non-ReactNode other types - #35088, thanks @TheSeydiCharyyev!
- Preview: Restore iframe scrolling after resizing the layout - #35310, thanks @yatishgoel!
- Preview: Use width/height instead of min-* in CanvasWrap - #35056, thanks @DevLikhith5!
- Pseudo States: Keep combinator broad pseudo selectors valid - #35060, thanks @mturac!
- Pseudo States: Preserve URL globals on story change - #35211, thanks @Sidnioulz!
- React Native: Remove babel deps from RN setup (not needed) - #35243, thanks @dannyhw!
- React: Add an optional TypeScript peer to react-vite - #34627, thanks @wojtekmaj!
- React: Align react-docgen versions - #35271, thanks @Sidnioulz!
- React: Fix subcomponent prop extraction without JSX usage - #35107, thanks @JReinhold!
- React: Render boolean props set to false in source snippets - #34968, thanks @valentinpalkovic!
- Review: Dynamic thumbnail scaling based on content dimensions - #35282, thanks @ghengeveld!
- Review: Fix accessibility/UX issues in the review UI - #35398, thanks @Sidnioulz!
- Review: Fix inaccurate review story counts in sidebar - #35391, thanks @ghengeveld!
- Review: Improve review thumbnail scaling and loading UX - #35335, thanks @ghengeveld!
- Review: Notify on review arrival instead of auto-navigating - #35276, thanks @ghengeveld!
- Review: Simplify layout handling - #35322, thanks @ghengeveld!
- Tanstack: Export
TanStackPreviewfrom@storybook/tanstack-reactto unblock CSF Next typing - #34949, thanks @copilot-swe-agent! - TanStack: Normalize route-group handling in createRoute mock - #34948, thanks @copilot-swe-agent!
- Tanstack: Remove Outlet mock - #35010, thanks @huang-julien!
- Tanstack: Supply id OR path when using RouteOptions for route mock - #34950, thanks @copilot-swe-agent!
- Telemetry: Preserve state machine when the module loads more than once - #35140, thanks @kasperpeulen!
- Telemetry: Prevent pnpm paths from leaking into framework.name - #35345, thanks @Sidnioulz!
- Test: Move @testing-library/dom to dependencies - #34604, thanks @XionWCFM!
- UI: Allow manager-head favicon override - #34809, thanks @MukundaKatta!
- UI: Fix args not preserved in isolation mode - #35055, thanks @sijie-Z!
- UI: Hide onboarding menu with feature flag - #35299, thanks @Sidnioulz!
- Viewport: Highlight toolbar button when custom viewport is active - #35075, thanks @derinbarutcu17!
- Viewport: Warn when legacy
defaultViewportparameter is used - #35087, thanks @yatishgoel! - Vitest: Reset playwright cursor position to avoid hover bug - #34765, thanks @Sidnioulz!
- Vue: Ensure vue-component-meta runs in post - #34976, thanks @Sidnioulz!
- Vue: Fix Unicode Default Values In Docs - #34909, thanks @Arunsiva003!
- Vue: Use AST to inject __docgenInfo correctly - #35201, thanks @Sidnioulz!
- Webpack: Gate lazy-compilation import pipeline on webpack version - #34931, thanks @copilot-swe-agent!
</details>
- 10.5.0-beta.28 Jul 2026pre-release
Release notes
Open source →10.5.0-beta.2
- Angular: Support Angular 22 in Webpack framework - #35318, thanks @EtiennePasteur!
- CLI: Match `storybook ai` instances by config dir as well as cwd - #35392, thanks @kasperpeulen!
- Core: Fix cryptic invariant crash when dev server port detection fails - #35388, thanks @kasperpeulen!
- Core: Leave experimentalReview unset by default so the AI CLI plugins can enable review - #35396, thanks @kasperpeulen!
- Core: Skip story-docs Code panel emission in portable stories - #35387, thanks @ndelangen!
- Review: Fix inaccurate review story counts in sidebar - #35391, thanks @ghengeveld!
- Telemetry: Prevent pnpm paths from leaking into framework.name - #35345, thanks @Sidnioulz!
- 10.5.0-beta.17 Jul 2026pre-release
Release notes
Open source →10.5.0-beta.1
- Core: Add experimentalReview feature flag and make the features type augmentable - #35379, thanks @yannbf!
- 10.5.0-beta.06 Jul 2026pre-release
Nothing published for this version
- 10.5.0-alpha.113 Jul 2026pre-release
Release notes
Open source →10.5.0-alpha.11
- Addon-vitest: Add an initialGlobals option to pin a project's globals - #35226, thanks @lifeiscontent!
- Core: Add ai-review observability - #35300, thanks @yannbf!
- Core: Allow vite-plus 0.2.x in the optional peer range - #35221, thanks @lifeiscontent!
- Manager: Restructure review feature state, layout integration, and thumbnail pipeline - #35351, thanks @ghengeveld!
- Preview: Restore iframe scrolling after resizing the layout - #35310, thanks @yatishgoel!
- 10.5.0-alpha.103 Jul 2026pre-release
Release notes
Open source →10.5.0-alpha.10
- A11y: Handle lang attribute throughout preview - #35321, thanks @Sidnioulz!
- A11y: Surface required args and keyboard-reachable Setup controls in ArgsTable - #35306, thanks @Sidnioulz!
- Addon-Vitest: Subscribe for run completion before triggering it - #35291, thanks @tsushanth!
- Core: Compose core annotations before preview beforeAll - #35323, thanks @JReinhold!
- Docgen: Run experimentalDocgenServer extraction in a worker thread - #35324, thanks @JReinhold!
- DocgenServer: Fix OOM by recycling the shared TS program - #35305, thanks @ndelangen!
- Next: Call link onClick before preventing default - #35311, thanks @yatishgoel!
- Review: Dynamic thumbnail scaling based on content dimensions - #35282, thanks @ghengeveld!
- Review: Improve review thumbnail scaling and loading UX - #35335, thanks @ghengeveld!
- Review: Notify on review arrival instead of auto-navigating - #35276, thanks @ghengeveld!
- Review: Simplify layout handling - #35322, thanks @ghengeveld!
- UI: Hide onboarding menu with feature flag - #35299, thanks @Sidnioulz!
- Vue: Fix Unicode Default Values In Docs - #34909, thanks @Arunsiva003!
- 10.5.0-alpha.926 Jun 2026pre-release
Release notes
Open source →10.5.0-alpha.9
- Addon Vitest: Avoid erroring out on benign Win process exits - #35287, thanks @Sidnioulz!
- Core: Introduce Agentic Review feature - #34837, thanks @yannbf!
- Core: Recognize addon-mcp registered via getAbsolutePath() in runtime instance registry - #35286, thanks @yannbf!
- ESLint Plugin: Avoid ESLint Unstable API Load - #35269, thanks @pupuking723!
- Index: Remove `hasActiveFilters` check - #35151, thanks @mrginglymus!
- 10.5.0-alpha.826 Jun 2026pre-release
Release notes
Open source →10.5.0-alpha.8
- Angular: Add versioned `@types/node` to packages installed during `storybook init` - #34192, thanks @copilot-swe-agent!
- Angular: Introduce @storybook/angular-vite package - #34202, thanks @brandonroberts!
- Angular: Use future-proof API for component reflection - #35228, thanks @Sidnioulz!
- Babel: Remove bugfixes from preset-env in v8 - #35266, thanks @Sidnioulz!
- Builder-Vite: Fix empty external globals imports - #34348, thanks @raashish1601!
- CLI: Exit process after successful build - #34735, thanks @torleifhalseth!
- CLI: Fix upgrade crash on Storybook latest version check - #35156, thanks @yatishgoel!
- CLI: Load Storybook AI help from preset metadata - #35212, thanks @kasperpeulen!
- CLI: Prefer agent-matched Storybook instances - #35235, thanks @kasperpeulen!
- CLI: Show MCP workflow instructions in AI help - #35164, thanks @kasperpeulen!
- CLI: Support Claude preview autoPort - #35259, thanks @kasperpeulen!
- Cli: Install MCP when upgrade is ran by agent - #35215, thanks @huang-julien!
- Controls: Prevent AbortError when rapidly resetting - #34412, thanks @whdjh!
- Controls: Prevent the save bar from covering the last control - #35136, thanks @TheSeydiCharyyev!
- Core: Fix npm dependency detection - #35083, thanks @fallintoplace!
- Core: Flush preview-api hook effects in portable stories - #35224, thanks @lifeiscontent!
- Core: Include chromatic packages in ecosystem identifier - #35170, thanks @yannbf!
- Core: Use UndoIcon for Review-changes clear button - #34767, thanks @valentinpalkovic!
- Docgen: Fix inferred argTypes from initial args overriding docgen and custom argTypes in experimentalDocgenServer mode - #35196, thanks @JReinhold!
- Docs: Add shallow MDX ref manifests for experimentalDocgenServer - #35189, thanks @JReinhold!
- Docs: Improve DocsParameters types - #35190, thanks @mrginglymus!
- Docs: Restore React 16/17 support in useServiceDocgen - #35179, thanks @JReinhold!
- Manager: Fix crash when toggling addon panel on mobile (LandmarkManager TypeError) - #34790, thanks @valentinpalkovic!
- Manager: Fix race condition in `experimental_setFilter` - #35194, thanks @mrginglymus!
- Measure & Outline: Honor the `disable` parameter - #35150, thanks @yatishgoel!
- ModuleGraph: Stop bumping the graph revision on story-index invalidation - #35178, thanks @JReinhold!
- NextJS: Support `as` prop in next/link mock - #35148, thanks @yatishgoel!
- Open Service: Split story docs from docgen service - #35169, thanks @JReinhold!
- Open-Service: Introduce query states (loading/error/success) - #35214, thanks @JReinhold!
- Open-Service: Type getService for core services per runtime - #35242, thanks @JReinhold!
- Preview: Preserve primitive args for non-ReactNode other types - #35088, thanks @TheSeydiCharyyev!
- PseudoStates: Preserve URL globals on story change - #35211, thanks @Sidnioulz!
- React Native: Remove babel deps from RN setup (not needed) - #35243, thanks @dannyhw!
- React: Align react-docgen versions - #35271, thanks @Sidnioulz!
- UI: Fix args not preserved in isolation mode - #35055, thanks @sijie-Z!
- Vue: Use AST to inject __docgenInfo correctly - #35201, thanks @Sidnioulz!
- 10.5.0-alpha.716 Jun 2026pre-release
Release notes
Open source →10.5.0-alpha.7
- CLI: Add `storybook ai <tool>` MCP passthrough behind `STORYBOOK_FEATURE_AI_CLI` - #35125, thanks @kasperpeulen!
- CLI: Add telemetry for the `storybook ai <command>` passthrough - #35138, thanks @kasperpeulen!
- CLI: Bundle the `ai` command in core so it never downloads `@storybook/cli` - #35147, thanks @kasperpeulen!
- CSF: Allow partial globals overrides in story and meta annotations - #34985, thanks @TheSeydiCharyyev!
- Dependencies: Upgrade esbuild - #35157, thanks @Kakadus!
- Docgen: Register service runtime, payload argTypes - #35108, thanks @JReinhold!
- Docs: Route ArgTypes and Controls through docgen service when flag enabled - #35109, thanks @JReinhold!
- Open Service: Fix docgen hot update controls refresh - #35158, thanks @JReinhold!
- Open Service: Load static query snapshots in browser builds - #35154, thanks @JReinhold!
- Open Service: Mark module-graph engine commands as internal - #35144, thanks @JReinhold!
- Telemetry: Preserve state machine when the module loads more than once - #35140, thanks @kasperpeulen!
- Viewport: Warn when legacy `defaultViewport` parameter is used - #35087, thanks @yatishgoel!
- 10.5.0-alpha.610 Jun 2026pre-release
Release notes
Open source →10.5.0-alpha.6
- Controls: Guard normalizeOptions against array labels and prototype chain lookups - #34664, thanks @creazyfrog!
- Core: Add ref-based components manifest index backed by docgen open service - #35063, thanks @JReinhold!
- Core: Fix resolveImport TSX fallback - #34815, thanks @cyphercodes!
- Core: Rework AI checklist feature gate - #35053, thanks @Sidnioulz!
- Docs: Deprecate ExternalDocs - #35074, thanks @Sidnioulz!
- Interactions: Prevent debugger controls from stealing focus - #35073, thanks @BrenoSI03!
- Manager: Keep local preview iframe on host URL when a ref story loads first - #35078, thanks @TheSeydiCharyyev!
- Module Graph: Refactor from StoryDependencyService to open service-based ModuleGraphService - #35048, thanks @JReinhold!
- Open Service: Add `internal` property to control visibility - #35057, thanks @JReinhold!
- Open Service: Add sync between server, manager and preview - #35017, thanks @ndelangen!
- Open Service: Call remote commands in load functions - #35106, thanks @JReinhold!
- Preview: Stop mixed CSF3+4 stories getting core annotations injected twice - #35094, thanks @JReinhold!
- React: Fix subcomponent prop extraction without JSX usage - #35107, thanks @JReinhold!
- Telemetry: Add timeout to event-log POST to prevent build hang - #35085, thanks @badams!
- Viewport: Highlight toolbar button when custom viewport is active - #35075, thanks @derinbarutcu17!
- Webpack: Gate lazy-compilation import pipeline on webpack version - #34931, thanks @copilot-swe-agent!
- 10.5.0-alpha.55 Jun 2026pre-release
Release notes
Open source →10.5.0-alpha.5
- Addon Docs: DocsContent not filling available width when TOC is enabled - #35043, thanks @k-utsumi!
- Addon Docs: Fix Primary and Controls blocks not rendering in custom MDX pages - #34496, thanks @NYCU-Chung!
- CSF: Fix Canvas and userEvent types under Yarn PnP - #34986, thanks @yatishgoel!
- Controls: Load controls for stories from a composed ref - #35050, thanks @TheSeydiCharyyev!
- Core: Expose backgrounds types from public subpath - #35044, thanks @ShaharAviram1!
- Core: Respect !dev tag on MDX docs in sidebar - #35031, thanks @JReinhold!
- Docgen: Add mock open service - #34954, thanks @JReinhold!
- Docgen: Wire up react-component-meta with DocgenService - #34963, thanks @JReinhold!
- Docs: Fix Controls losing focus when subcomponents are defined - #35018, thanks @cssinate!
- Open Service: Fix reactivity on deep signals, fire subscribers on load dependencies - #34979, thanks @JReinhold!
- Preview: Use width/height instead of min-* in CanvasWrap - #35056, thanks @DevLikhith5!
- Pseudo States: Keep combinator broad pseudo selectors valid - #35060, thanks @mturac!
- React: Add support for resolving subcomponents attached as properties of a parent component - #34967, thanks @yatishgoel!
- TanStack: Normalize route-group handling in createRoute mock - #34948, thanks @copilot-swe-agent!
- UI: Prevent docs page scroll reset on HMR re-render - #35021, thanks @LongTangGithub!
- 10.5.0-alpha.42 Jun 2026pre-release
Release notes
Open source →10.5.0-alpha.4
- Addon Vitest: Fix dynamic import failure with Vitest 3 - #34927, thanks @Sidnioulz!
- Bug: Fix Windows command resolution for non-Node package managers - #33534, thanks @copilot-swe-agent!
- CSF Next: Propagate skip tags to .test children - #34964, thanks @kwonoj!
- Controls: Improve ArgsTable empty state guidance - #34857, thanks @Aniketiitk21!
- Core: Add missing export to globals - #34929, thanks @Sidnioulz!
- Core: Clean stale runtime instance records - #35023, thanks @kasperpeulen!
- Core: Extract StoryDependencyGraphService from ChangeDetectionService - #35009, thanks @valentinpalkovic!
- Docs: Prevent heading anchor cutoff on docs pages - #34945, thanks @copilot-swe-agent!
- Manager: Fix layout.showPanel config - #34777, thanks @kalinco-glitch!
- Open Service: Sync queries, load/loaded() API, strict reader handlers - #34932, thanks @JReinhold!
- Open-Service: Add schema-driven service runtime - #34860, thanks @JReinhold!
- Open-service: Implement service registration on the server (attempt 2) - #34961, thanks @JReinhold!
- Open-service: Implement service registration on the server - #34875, thanks @JReinhold!
- Preview: Preserve @ts-expect-error in web-component and vue preview - #34839, thanks @brentswisher!
- Publish: Add npm provenance attestations - #34936, thanks @copilot-swe-agent!
- React: Render boolean props set to false in source snippets - #34968, thanks @valentinpalkovic!
- Tanstack: Export `TanStackPreview` from `@storybook/tanstack-react` to unblock CSF Next typing - #34949, thanks @copilot-swe-agent!
- Tanstack: Remove Outlet mock - #35010, thanks @huang-julien!
- Tanstack: Supply id OR path when using RouteOptions for route mock - #34950, thanks @copilot-swe-agent!
- Vue: Ensure vue-component-meta runs in post - #34976, thanks @Sidnioulz!
- 10.5.0-alpha.327 May 2026pre-release
Release notes
Open source →10.5.0-alpha.3
- A11y-Addon: Preserve disabled a11y rules with runOnly - #34649, thanks @cyphercodes!
- Add an optional TypeScript peer to react-vite - #34627, thanks @wojtekmaj!
- Addon-Docs: Resolve CSF4 module exports without a default export - #34834, thanks @TheSeydiCharyyev!
- Addon-Docs: Resolve providerImportSource to a path instead of a file:// URL - #34841, thanks @TheSeydiCharyyev!
- Build: Upgrade type-fest to latest version 5.6.0 - #34791, thanks @tobiasdiez!
- CLI: Respect BROWSER and BROWSER_ARGS - #34513, thanks @ianzone!
- CSF-Next: Add tags type support for - #34819, thanks @unional!
- CSF: Fix parsing of string literal export names - #34901, thanks @shilman!
- Controls: Add label to Object JSON control - #34766, thanks @Jaksenc!
- Core: Add runtime instance registry - #34863, thanks @kasperpeulen!
- Core: Categorize UniversalStore follower timeout error - #34592, thanks @justismailmemon!
- Core: Fix EEXIST race condition in static file copying during build - #34499, thanks @flt3150sk!
- Core: Improve ActionBar focus indicator in high contrast mode - #34779, thanks @TheSeydiCharyyev!
- Core: Incorrect package json handling - #34515, thanks @lino-levan!
- Maintenance: Centralize supported file extension lists - #34844, thanks @valentinpalkovic!
- UI: Allow manager-head favicon override - #34809, thanks @MukundaKatta!
- 10.5.0-alpha.222 May 2026pre-release
Release notes
Open source →10.5.0-alpha.2
- A11y: Fix MDX heading anchors not keyboard accessible - #34368, thanks @TheSeydiCharyyev!
- Angular: Detect model() signal outputs (type inference + compodoc autodocs + runtime binding) - #34833, thanks @valentinpalkovic!
- CLI: Support `peerDependencies` in framework detection for component libraries - #34516, thanks @zhyd1997!
- Docs: Add ariaLabel support to ActionItem interface - #34749, thanks @TheSeydiCharyyev!
- Docs: Scope control input ids to each <Controls /> block instance - #34793, thanks @TheSeydiCharyyev!
- Docs: Support explicit id prop on <Meta> for standalone MDX - #34808, thanks @TheSeydiCharyyev!
- Maintenance: Replace `resolve` and `resolve.exports` with `oxc-resolver` - #34692, thanks @valentinpalkovic!
- Next.js-Vite: Bump vite-plugin-storybook-nextjs to ^3.3.0 - #34838, thanks @yatishgoel!
- Vitest: Reset playwright cursor position to avoid hover bug - #34765, thanks @Sidnioulz!
- Vue3: Specify a specific version for non-dev dependency - #34794, thanks @ScopeyNZ!
- 10.5.0-alpha.121 May 2026pre-release
Release notes
Open source →10.5.0-alpha.1
- Angular: Fix custom paths for stats.json on angular - #34551, thanks @mrginglymus!
- Builder-Vite: Support configLoader via builder options - #34080, thanks @holvi-sebastian!
- CLI: Run `npx expo install --fix` after init for Expo projects - #34803, thanks @ndelangen!
- Core: Ignore story-like directories in indexer - #34806, thanks @MukundaKatta!
- Next.js Vite: Add Link mock with useLinkStatus to nextjs-vite framework - #34736, thanks @yatishgoel!
- Next.js: Add useLinkStatus mock to next/link export mock - #34593, thanks @philwolstenholme!
- Test: Move @testing-library/dom to dependencies - #34604, thanks @XionWCFM!
- 10.5.0-alpha.014 May 2026pre-release
Nothing published for this version
- 10.4.616 Jun 2026
- 10.4.515 Jun 2026
- 10.4.411 Jun 2026
Release notes
Open source →10.4.4
- Telemetry: Add timeout to event-log POST to prevent build hang - #35085, thanks @badams!
Additional notes
Open source →- Telemetry: Add timeout to event-log POST to prevent build hang - #35085, thanks @badams!
- 10.4.39 Jun 2026
Release notes
Open source →10.4.3
- Addon Docs: Fix Primary and Controls blocks not rendering in custom MDX pages - #34496, thanks @NYCU-Chung!
- Core: Respect !dev tag on MDX docs in sidebar - #35031, thanks @JReinhold!
- React: Add support for resolving subcomponents attached as properties of a parent component - #34967, thanks @yatishgoel!
- UI: Prevent docs page scroll reset on HMR re-render - #35021, thanks @LongTangGithub!
Additional notes
Open source →- Addon Docs: Fix Primary and Controls blocks not rendering in custom MDX pages - #34496, thanks @NYCU-Chung!
- Core: Respect !dev tag on MDX docs in sidebar - #35031, thanks @JReinhold!
- React: Add support for resolving subcomponents attached as properties of a parent component - #34967, thanks @yatishgoel!
- UI: Prevent docs page scroll reset on HMR re-render - #35021, thanks @LongTangGithub!
- 10.4.22 Jun 2026
Release notes
Open source →10.4.2
- Bug: Fix Windows command resolution for non-Node package managers - #33534, thanks @copilot-swe-agent!
- Build: Upgrade type-fest to latest version 5.6.0 - #34791, thanks @tobiasdiez!
- CSF: Fix parsing of string literal export names - #34901, thanks @shilman!
- Publish: Add npm provenance attestations - #34936, thanks @copilot-swe-agent!
- 10.4.122 May 2026
Release notes
Open source →10.4.1
- Angular: Detect model() signal outputs (type inference + compodoc autodocs + runtime binding) - #34833, thanks @valentinpalkovic!
- Build: Upgrade type-fest to latest version 5.6.0 - #34791, thanks @tobiasdiez!
- CLI: Run `npx expo install --fix` after init for Expo projects - #34803, thanks @ndelangen!
- CLI: Support `peerDependencies` in framework detection for component libraries - #34516, thanks @zhyd1997!
- Next.js: Add useLinkStatus mock to next/link export mock - #34593, thanks @philwolstenholme!
- Vue3: Specify a specific version for non-dev dependency - #34794, thanks @ScopeyNZ!
Additional notes
Open source →- Angular: Detect model() signal outputs (type inference + compodoc autodocs + runtime binding) - #34833, thanks @valentinpalkovic!
- Build: Upgrade type-fest to latest version 5.6.0 - #34791, thanks @tobiasdiez!
- CLI: Run
npx expo install --fixafter init for Expo projects - #34803, thanks @ndelangen! - CLI: Support
peerDependenciesin framework detection for component libraries - #34516, thanks @zhyd1997! - Next.js: Add useLinkStatus mock to next/link export mock - #34593, thanks @philwolstenholme!
- Vue3: Specify a specific version for non-dev dependency - #34794, thanks @ScopeyNZ!
- 10.4.014 May 2026
Release notes
Open source →10.4.0
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
<details> <summary>List of all updates</summary>
- A11y: Add aria-live announcements via @react-aria/live-announcer - #33970, thanks @copilot-swe-agent!
- A11y: Improve boolean control contrast in forced colors mode - #34204, thanks @anchmelev!
- Actions: Fix state mutation and keep newest actions when limit reached - #34286, thanks @Sidnioulz!
- Addon-Docs: Add Reset story button to re-render stories in docs - #34086, thanks @6810779s!
- Addon-Docs: Avoid rerendering static Source blocks - #34206, thanks @anchmelev!
- Addon-Vitest: Use Vitest's provide-API for injecting values - #34518, thanks @JReinhold!
- Agentic Setup: Add --extensive for an extra prompt - #34730, thanks @Sidnioulz!
- Agentic Setup: Allow failed stories to persist - #34717, thanks @Sidnioulz!
- Agentic Setup: Keep sample content if users want onboarding - #34704, thanks @Sidnioulz!
- Agentic Setup: Rework ai-init-opt-in logic - #34739, thanks @Sidnioulz!
- Angular: Use Story ID for renderer IDs (including standalone stories) - #33982, thanks @ValentinFunk!
- Automigration: Move RN on-device addons to `deviceAddons` - #34659, thanks @ndelangen!
- Builder-Vite: Add onModuleGraphChange method - #34323, thanks @ghengeveld!
- CLI: Add automigrate check for 'storybook' package name conflict - #34290, thanks @whdjh!
- CLI: Add react-vite to tanstack-react automigration - #34718, thanks @huang-julien!
- CLI: Change mock event detection - #34586, thanks @yannbf!
- CLI: Explicitly tell whether smoke tests passed or failed - #34419, thanks @Sidnioulz!
- CLI: Fix Next.js Vite automigration corrupting configs already using `@storybook/nextjs-vite` - #34249, thanks @nathanjessen!
- CLI: Fix agentic check - #34678, thanks @yannbf!
- CLI: Handle minimumReleaseAge conflicts across package managers - #34769, thanks @JReinhold!
- CLI: Improve package incompatibility detection and warning - #34559, thanks @copilot-swe-agent!
- CLI: Improve self-healing scoring observability - #34699, thanks @yannbf!
- CLI: Introduce Agentic Setup workflow - #34297, thanks @yannbf!
- CLI: Remove extensive prompt option - #34740, thanks @yannbf!
- CLI: Streamline Node.js version detection code - #34440, thanks @Sidnioulz!
- Change-Detection: Set GIT_OPTIONAL_LOCKS=0 to avoid blocking commits - #34726, thanks @valentinpalkovic!
- Cli: Set ai prompt to yes if yes flag for react-vite to tanstack migration - #34743, thanks @huang-julien!
- Code: Fix inline code blocks inside links removing link affordance - #33903, thanks @yatishgoel!
- Controls: Add maxPresetColors option to ColorControl - #33998, thanks @mixelburg!
- Core: Add `ChangeDetectionService` and wire up builder-vite - #34369, thanks @ghengeveld!
- Core: Add changeDetection feature flag - #34314, thanks @valentinpalkovic!
- Core: Barrel-aware named import resolution for change detection - #34675, thanks @valentinpalkovic!
- Core: Ensure process termination on SIGINT when telemetry is disabled - #34585, thanks @ghengeveld!
- Core: Fix "Open In Editor" support for VSCode - #34747, thanks @JReinhold!
- Core: Fix telemetry not handling canceling of prompts - #34680, thanks @JReinhold!
- Core: Implement Git change detection - #34420, thanks @ghengeveld!
- Core: Improve startup performance by deferring change detection initialization - #34498, thanks @ghengeveld!
- Core: Normalize file paths in ChangeDetectionService and trace-changed for Windows support - #34445, thanks @ghengeveld!
- Core: Quiet change-detection regex warning and swap clear icon - #34758, thanks @valentinpalkovic!
- Core: Rename preview.ts to preview.tsx in generated projects - #34396, thanks @Sidnioulz!
- Core: Show "new" status on newly added individual stories - #34504, thanks @ghengeveld!
- Dependencies: Update `vite-plugin-storybook-nextjs` to ^3.2.4 - #34280, thanks @k35o!
- Docs: Ensure unique control id attributes across multiple Controls blocks - #34021, thanks @TheSeydiCharyyev!
- Fix ArgsTable borders not visible in Windows High Contrast Mode - #34264, thanks @TheSeydiCharyyev!
- Fix: Add vite-plus vendored libraries version detection - #34509, thanks @huang-julien!
- MDX: Replace `@storybook/docs-mdx` with inline implementation - #34611, thanks @copilot-swe-agent!
- Maintenance: Add assertions outside step incorrectly nested in interactions panel - #34296, thanks @majiayu000!
- Maintenance: Enhance ghost stories internal tests - #34707, thanks @yannbf!
- Maintenance: Extract getBuilderOptions helper across framewo… - #34260, thanks @alex-js-ltd!
- Maintenance: Extract parseFilterParam shared helper from tags and statuses modules - #34436, thanks @mixelburg!
- Maintenance: Fix self healing payload - #34782, thanks @yannbf!
- Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils - #34168, thanks @mixelburg!
- Maintenance: Use errorToErrorLike in boot-test-runner for consistent stack deduplication - #34385, thanks @mixelburg!
- Manager: URL-based tag filter state + filter-aware initial story selection - #34283, thanks @valentinpalkovic!
- Nextjs: Handle node builtin webpack imports - #34494, thanks @JReinhold!
- Onboarding: Fix checklist MDX instructions - #33193, thanks @kylegach!
- Prompt: Run vitest fewer times, improve play functions - #34651, thanks @yannbf!
- React-Docgen: Add tsconfig fallback chain and warning for monorepos - #34353, thanks @viditkbhatnagar!
- React: Add component metadata extraction via Volar-style LanguageService - #33914, thanks @kasperpeulen!
- React: Add subcomponents to component manifests - #34428, thanks @kasperpeulen!
- ReactNative: Add Metro config AST codemod for init - #34660, thanks @ndelangen!
- ReactNative: Add true entrypoint generation - #34663, thanks @ndelangen!
- ReactNative: AppRegistry component name in template - #34742, thanks @ndelangen!
- ReactNative: New init setup - #34665, thanks @ndelangen!
- Refactor: Extract shared `PseudoStateGrid` component in pseudo-states stories - #34334, thanks @copilot-swe-agent!
- Security: Makes sure `serialize-javascript` is at latest version - #34034, thanks @50bbx!
- Sidebar: Add dual-slot status icons for change detection and test results - #34346, thanks @valentinpalkovic!
- Sidebar: Add status-based filtering with refactored status architecture - #34339, thanks @valentinpalkovic!
- Sidebar: Fix clear filter button not refreshing story list - #34737, thanks @valentinpalkovic!
- Sidebar: Fix clear status button to only clear test statuses - #34478, thanks @valentinpalkovic!
- Sidebar: Show same status icon at story and group level - #34702, thanks @valentinpalkovic!
- Sidebar: Soften change-detection signals + add Review CTA - #34701, thanks @valentinpalkovic!
- StatusValue: Add 'status-value:<new|modified|affected>' - #34305, thanks @valentinpalkovic!
- Svelte: Fix Vite 8 + Vitest breaking rolldown deps scanner - #34783, thanks @JReinhold!
- Tanstack: Add `@storybook/tanstack-react` package - #34403, thanks @huang-julien!
- Tanstack: Optimize tanstack react-store - #34731, thanks @huang-julien!
- Tanstack: Treeshake top-level unused functions - #34760, thanks @huang-julien!
- Telemetry: Add sidebar filter telemetry for change detection - #34533, thanks @valentinpalkovic!
- Telemetry: Centralize disable logic with module-level flag - #34485, thanks @valentinpalkovic!
- Telemetry: Fix delayed init events - #34670, thanks @JReinhold!
- Telemetry: Refactor init tracking - #34629, thanks @Programer1804!
- UI: Add Share section to onboarding checklist and redesign share tool - #34413, thanks @valentinpalkovic!
- UI: Ensure Controls panel can scroll horizontally for now - #34248, thanks @Sidnioulz!
- UI: Fix global shortcuts not showing region focus indicator - #34201, thanks @Sidnioulz!
- UI: Fix mobile navigation when renderLabel returns a React node - #34262, thanks @Nathan54Villaume!
- UI: Fix showing and hiding copy prompt in the correct scenarios - #34706, thanks @yannbf!
- UI: Improve interactions panel accessibility - #34110, thanks @anchmelev!
- Vite: Use vite hook filter for performance improvements - #34022, thanks @huang-julien!
- Vitest: Fix agent detection breaking runs - #34681, thanks @JReinhold!
- Vue3: Clear stale args/globals when nextArgs is empty in updateArgs - #34409, thanks @whdjh!
</details>
Additional notes
Open source →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-reactframework 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
<details> <summary>List of all updates</summary>
- A11y: Add aria-live announcements via @react-aria/live-announcer - #33970, thanks @copilot-swe-agent!
- A11y: Improve boolean control contrast in forced colors mode - #34204, thanks @anchmelev!
- Actions: Fix state mutation and keep newest actions when limit reached - #34286, thanks @Sidnioulz!
- Addon-Docs: Add Reset story button to re-render stories in docs - #34086, thanks @6810779s!
- Addon-Docs: Avoid rerendering static Source blocks - #34206, thanks @anchmelev!
- Addon-Vitest: Use Vitest's provide-API for injecting values - #34518, thanks @JReinhold!
- Agentic Setup: Add --extensive for an extra prompt - #34730, thanks @Sidnioulz!
- Agentic Setup: Allow failed stories to persist - #34717, thanks @Sidnioulz!
- Agentic Setup: Keep sample content if users want onboarding - #34704, thanks @Sidnioulz!
- Agentic Setup: Rework ai-init-opt-in logic - #34739, thanks @Sidnioulz!
- Angular: Use Story ID for renderer IDs (including standalone stories) - #33982, thanks @ValentinFunk!
- Automigration: Move RN on-device addons to
deviceAddons- #34659, thanks @ndelangen! - Builder-Vite: Add onModuleGraphChange method - #34323, thanks @ghengeveld!
- CLI: Add automigrate check for 'storybook' package name conflict - #34290, thanks @whdjh!
- CLI: Add react-vite to tanstack-react automigration - #34718, thanks @huang-julien!
- CLI: Change mock event detection - #34586, thanks @yannbf!
- CLI: Explicitly tell whether smoke tests passed or failed - #34419, thanks @Sidnioulz!
- CLI: Fix Next.js Vite automigration corrupting configs already using
@storybook/nextjs-vite- #34249, thanks @nathanjessen! - CLI: Fix agentic check - #34678, thanks @yannbf!
- CLI: Handle minimumReleaseAge conflicts across package managers - #34769, thanks @JReinhold!
- CLI: Improve package incompatibility detection and warning - #34559, thanks @copilot-swe-agent!
- CLI: Improve self-healing scoring observability - #34699, thanks @yannbf!
- CLI: Introduce Agentic Setup workflow - #34297, thanks @yannbf!
- CLI: Remove extensive prompt option - #34740, thanks @yannbf!
- CLI: Streamline Node.js version detection code - #34440, thanks @Sidnioulz!
- Change-Detection: Set GIT_OPTIONAL_LOCKS=0 to avoid blocking commits - #34726, thanks @valentinpalkovic!
- Cli: Set ai prompt to yes if yes flag for react-vite to tanstack migration - #34743, thanks @huang-julien!
- Code: Fix inline code blocks inside links removing link affordance - #33903, thanks @yatishgoel!
- Controls: Add maxPresetColors option to ColorControl - #33998, thanks @mixelburg!
- Core: Add
ChangeDetectionServiceand wire up builder-vite - #34369, thanks @ghengeveld! - Core: Add changeDetection feature flag - #34314, thanks @valentinpalkovic!
- Core: Barrel-aware named import resolution for change detection - #34675, thanks @valentinpalkovic!
- Core: Ensure process termination on SIGINT when telemetry is disabled - #34585, thanks @ghengeveld!
- Core: Fix "Open In Editor" support for VSCode - #34747, thanks @JReinhold!
- Core: Fix telemetry not handling canceling of prompts - #34680, thanks @JReinhold!
- Core: Implement Git change detection - #34420, thanks @ghengeveld!
- Core: Improve startup performance by deferring change detection initialization - #34498, thanks @ghengeveld!
- Core: Normalize file paths in ChangeDetectionService and trace-changed for Windows support - #34445, thanks @ghengeveld!
- Core: Quiet change-detection regex warning and swap clear icon - #34758, thanks @valentinpalkovic!
- Core: Rename preview.ts to preview.tsx in generated projects - #34396, thanks @Sidnioulz!
- Core: Show "new" status on newly added individual stories - #34504, thanks @ghengeveld!
- Dependencies: Update
vite-plugin-storybook-nextjsto ^3.2.4 - #34280, thanks @k35o! - Docs: Ensure unique control id attributes across multiple Controls blocks - #34021, thanks @TheSeydiCharyyev!
- Fix ArgsTable borders not visible in Windows High Contrast Mode - #34264, thanks @TheSeydiCharyyev!
- Fix: Add vite-plus vendored libraries version detection - #34509, thanks @huang-julien!
- MDX: Replace
@storybook/docs-mdxwith inline implementation - #34611, thanks @copilot-swe-agent! - Maintenance: Add assertions outside step incorrectly nested in interactions panel - #34296, thanks @majiayu000!
- Maintenance: Enhance ghost stories internal tests - #34707, thanks @yannbf!
- Maintenance: Extract getBuilderOptions helper across framewo… - #34260, thanks @alex-js-ltd!
- Maintenance: Extract parseFilterParam shared helper from tags and statuses modules - #34436, thanks @mixelburg!
- Maintenance: Fix self healing payload - #34782, thanks @yannbf!
- Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils - #34168, thanks @mixelburg!
- Maintenance: Use errorToErrorLike in boot-test-runner for consistent stack deduplication - #34385, thanks @mixelburg!
- Manager: URL-based tag filter state + filter-aware initial story selection - #34283, thanks @valentinpalkovic!
- Nextjs: Handle node builtin webpack imports - #34494, thanks @JReinhold!
- Onboarding: Fix checklist MDX instructions - #33193, thanks @kylegach!
- Prompt: Run vitest fewer times, improve play functions - #34651, thanks @yannbf!
- React-Docgen: Add tsconfig fallback chain and warning for monorepos - #34353, thanks @viditkbhatnagar!
- React: Add component metadata extraction via Volar-style LanguageService - #33914, thanks @kasperpeulen!
- React: Add subcomponents to component manifests - #34428, thanks @kasperpeulen!
- ReactNative: Add Metro config AST codemod for init - #34660, thanks @ndelangen!
- ReactNative: Add true entrypoint generation - #34663, thanks @ndelangen!
- ReactNative: AppRegistry component name in template - #34742, thanks @ndelangen!
- ReactNative: New init setup - #34665, thanks @ndelangen!
- Refactor: Extract shared
PseudoStateGridcomponent in pseudo-states stories - #34334, thanks @copilot-swe-agent! - Security: Makes sure
serialize-javascriptis at latest version - #34034, thanks @50bbx! - Sidebar: Add dual-slot status icons for change detection and test results - #34346, thanks @valentinpalkovic!
- Sidebar: Add status-based filtering with refactored status architecture - #34339, thanks @valentinpalkovic!
- Sidebar: Fix clear filter button not refreshing story list - #34737, thanks @valentinpalkovic!
- Sidebar: Fix clear status button to only clear test statuses - #34478, thanks @valentinpalkovic!
- Sidebar: Show same status icon at story and group level - #34702, thanks @valentinpalkovic!
- Sidebar: Soften change-detection signals + add Review CTA - #34701, thanks @valentinpalkovic!
- StatusValue: Add 'status-value:<new|modified|affected>' - #34305, thanks @valentinpalkovic!
- Svelte: Fix Vite 8 + Vitest breaking rolldown deps scanner - #34783, thanks @JReinhold!
- Tanstack: Add
@storybook/tanstack-reactpackage - #34403, thanks @huang-julien! - Tanstack: Optimize tanstack react-store - #34731, thanks @huang-julien!
- Tanstack: Treeshake top-level unused functions - #34760, thanks @huang-julien!
- Telemetry: Add sidebar filter telemetry for change detection - #34533, thanks @valentinpalkovic!
- Telemetry: Centralize disable logic with module-level flag - #34485, thanks @valentinpalkovic!
- Telemetry: Fix delayed init events - #34670, thanks @JReinhold!
- Telemetry: Refactor init tracking - #34629, thanks @Programer1804!
- UI: Add Share section to onboarding checklist and redesign share tool - #34413, thanks @valentinpalkovic!
- UI: Ensure Controls panel can scroll horizontally for now - #34248, thanks @Sidnioulz!
- UI: Fix global shortcuts not showing region focus indicator - #34201, thanks @Sidnioulz!
- UI: Fix mobile navigation when renderLabel returns a React node - #34262, thanks @Nathan54Villaume!
- UI: Fix showing and hiding copy prompt in the correct scenarios - #34706, thanks @yannbf!
- UI: Improve interactions panel accessibility - #34110, thanks @anchmelev!
- Vite: Use vite hook filter for performance improvements - #34022, thanks @huang-julien!
- Vitest: Fix agent detection breaking runs - #34681, thanks @JReinhold!
- Vue3: Clear stale args/globals when nextArgs is empty in updateArgs - #34409, thanks @whdjh!
</details>
- 10.4.0-beta.014 May 2026pre-release
Release notes
Open source →10.4.0-beta.0
- CLI: Handle minimumReleaseAge conflicts across package managers - #34769, thanks @JReinhold!
- Core: Fix telemetry not handling canceling of prompts - #34680, thanks @JReinhold!
- Maintenance: Fix self healing payload - #34782, thanks @yannbf!
- Svelte: Fix Vite 8 + Vitest breaking rolldown deps scanner - #34783, thanks @JReinhold!
- 10.4.0-alpha.1913 May 2026pre-release
Release notes
Open source →10.4.0-alpha.19
- Agentic Setup: Add --extensive for an extra prompt - #34730, thanks @Sidnioulz!
- Agentic Setup: Rework ai-init-opt-in logic - #34739, thanks @Sidnioulz!
- CLI: Improve package incompatibility detection and warning - #34559, thanks @copilot-swe-agent!
- CLI: Remove extensive prompt option - #34740, thanks @yannbf!
- Cli: Set ai prompt to yes if yes flag for react-vite to tanstack migration - #34743, thanks @huang-julien!
- Core: Fix "Open In Editor" support for VSCode - #34747, thanks @JReinhold!
- Core: Quiet change-detection regex warning and swap clear icon - #34758, thanks @valentinpalkovic!
- ReactNative: AppRegistry component name in template - #34742, thanks @ndelangen!
- Sidebar: Fix clear filter button not refreshing story list - #34737, thanks @valentinpalkovic!
- Sidebar: Show same status icon at story and group level - #34702, thanks @valentinpalkovic!
- Tanstack: Treeshake top-level unused functions - #34760, thanks @huang-julien!
- 10.4.0-alpha.187 May 2026pre-release
Release notes
Open source →10.4.0-alpha.18
- Agentic Setup: Allow failed stories to persist - #34717, thanks @Sidnioulz!
- CLI: Add react-vite to tanstack-react automigration - #34718, thanks @huang-julien!
- Change-Detection: Set GIT_OPTIONAL_LOCKS=0 to avoid blocking commits - #34726, thanks @valentinpalkovic!
- Core: Barrel-aware named import resolution for change detection - #34675, thanks @valentinpalkovic!
- Fix ArgsTable borders not visible in Windows High Contrast Mode - #34264, thanks @TheSeydiCharyyev!
- Sidebar: Soften change-detection signals + add Review CTA - #34701, thanks @valentinpalkovic!
- Tanstack: Optimize tanstack react-store - #34731, thanks @huang-julien!
- Telemetry: Refactor init tracking - #34629, thanks @Programer1804!
- UI: Add Share section to onboarding checklist and redesign share tool - #34413, thanks @valentinpalkovic!
- 10.4.0-alpha.175 May 2026pre-release
Release notes
Open source →10.4.0-alpha.17
- Agentic Setup: Keep sample content if users want onboarding - #34704, thanks @Sidnioulz!
- MDX: Replace `@storybook/docs-mdx` with inline implementation - #34611, thanks @copilot-swe-agent!
- Maintenance: Enhance ghost stories internal tests - #34707, thanks @yannbf!
- ReactNative: Add Metro config AST codemod for init - #34660, thanks @ndelangen!
- ReactNative: New init setup - #34665, thanks @ndelangen!
- Tanstack: Add `@storybook/tanstack-react` package - #34403, thanks @huang-julien!
- UI: Fix showing and hiding copy prompt in the correct scenarios - #34706, thanks @yannbf!
- 10.4.0-alpha.165 May 2026pre-release
Release notes
Open source →10.4.0-alpha.16
- Automigration: Move RN on-device addons to `deviceAddons` - #34659, thanks @ndelangen!
- CLI: Improve self-healing scoring observability - #34699, thanks @yannbf!
- Prompt: Run vitest fewer times, improve play functions - #34651, thanks @yannbf!
- ReactNative: Add true entrypoint generation - #34663, thanks @ndelangen!
- 10.4.0-alpha.151 May 2026pre-release
Release notes
Open source →10.4.0-alpha.15
- Vitest: Fix agent detection breaking runs - #34681, thanks @JReinhold!
- 10.4.0-alpha.141 May 2026pre-release
- 10.4.0-alpha.131 May 2026pre-release
- 10.4.0-alpha.1230 Apr 2026pre-release
Release notes
Open source →10.4.0-alpha.12
- CLI: Introduce Agentic Setup workflow - #34297, thanks @yannbf!
- 10.4.0-alpha.1129 Apr 2026pre-release
Release notes
Open source →10.4.0-alpha.11
- CLI: Change mock event detection - #34586, thanks @yannbf!
- Core: Ensure process termination on SIGINT when telemetry is disabled - #34585, thanks @ghengeveld!
- Core: Show "new" status on newly added individual stories - #34504, thanks @ghengeveld!
- React: Add optional React type peers to packages that publish React-based declarations - #34641, thanks @copilot-swe-agent!
- Telemetry: Add sidebar filter telemetry for change detection - #34533, thanks @valentinpalkovic!
- UI: Fix global background + color styles affecting stories - #34071, thanks @Axadali!
- 10.4.0-alpha.1016 Apr 2026pre-release
- 10.4.0-alpha.914 Apr 2026pre-release
Release notes
Open source →10.4.0-alpha.9
- A11y: Improve boolean control contrast in forced colors mode - #34204, thanks @anchmelev!
- Addon-Docs: Avoid rerendering static Source blocks - #34206, thanks @anchmelev!
- CLI: Streamline Node.js version detection code - #34440, thanks @Sidnioulz!
- Core: Improve startup performance by deferring change detection initialization - #34498, thanks @ghengeveld!
- Core: Normalize file paths in ChangeDetectionService and trace-changed for Windows support - #34445, thanks @ghengeveld!
- Fix: Add vite-plus vendored libraries version detection - #34509, thanks @huang-julien!
- Nextjs: Handle node builtin webpack imports - #34494, thanks @JReinhold!
- React: Add subcomponents to component manifests - #34428, thanks @kasperpeulen!
- Vue3: Clear stale args/globals when nextArgs is empty in updateArgs - #34409, thanks @whdjh!
- 10.4.0-alpha.87 Apr 2026pre-release
Release notes
Open source →10.4.0-alpha.8
- A11y: Add aria-live announcements via @react-aria/live-announcer - #33970, thanks @copilot-swe-agent!
- Actions: Fix state mutation and keep newest actions when limit reached - #34286, thanks @Sidnioulz!
- Core: Disable component manifest by default - #34408, thanks @yannbf!
- Core: Implement Git change detection - #34420, thanks @ghengeveld!
- Core: Rename preview.ts to preview.tsx in generated projects - #34396, thanks @Sidnioulz!
- Sidebar: Add dual-slot status icons for change detection and test results - #34346, thanks @valentinpalkovic!
- UI: Improve interactions panel accessibility - #34110, thanks @anchmelev!
- 10.4.0-alpha.72 Apr 2026pre-release
Release notes
Open source →10.4.0-alpha.7
- CLI: Explicitly tell whether smoke tests passed or failed - #34419, thanks @Sidnioulz!
- Core: Add `ChangeDetectionService` and wire up builder-vite - #34369, thanks @ghengeveld!
- Maintenance: Extract parseFilterParam shared helper from tags and statuses modules - #34436, thanks @mixelburg!
- Sidebar: Add status-based filtering with refactored status architecture - #34339, thanks @valentinpalkovic!
- UI: Fix global shortcuts not showing region focus indicator - #34201, thanks @Sidnioulz!
- 10.4.0-alpha.631 Mar 2026pre-release
Release notes
Open source →10.4.0-alpha.6
- Builder-Vite: Add onModuleGraphChange method - #34323, thanks @ghengeveld!
- CLI: Add automigrate check for 'storybook' package name conflict - #34290, thanks @whdjh!
- CLI: Prompt for init crash reports - #34316, thanks @JReinhold!
- CSF4: Fix duplicate preview loading issue in Vitest - #34361, thanks @valentinpalkovic!
- Maintenance: Add assertions outside step incorrectly nested in interactions panel - #34296, thanks @majiayu000!
- Maintenance: Extract getBuilderOptions helper across framewo… - #34260, thanks @alex-js-ltd!
- Maintenance: Use errorToErrorLike in boot-test-runner for consistent stack deduplication - #34385, thanks @mixelburg!
- Onboarding: Fix checklist MDX instructions - #33193, thanks @kylegach!
- React-Docgen: Add tsconfig fallback chain and warning for monorepos - #34353, thanks @viditkbhatnagar!
- React-Docgen: Try .tsx fallback when resolving .js ESM imports in docgen resolvers - #34393, thanks @mixelburg!
- UI: Fix mobile navigation when renderLabel returns a React node - #34262, thanks @Nathan54Villaume!
- Vite: Use vite hook filter for performance improvements - #34022, thanks @huang-julien!
- 10.4.0-alpha.527 Mar 2026pre-release
Release notes
Open source →10.4.0-alpha.5
- Addon-a11y: Clear status transition timer on unmount to prevent test flake - #34203, thanks @mixelburg!
- Builder-Vite: Use djb2 hash to prevent variable name collisions in builder-vite - #34274, thanks @chida09!
- CLI: Fix Next.js Vite automigration corrupting configs already using `@storybook/nextjs-vite` - #34249, thanks @nathanjessen!
- Core: Add changeDetection feature flag - #34314, thanks @valentinpalkovic!
- Manager: URL-based tag filter state + filter-aware initial story selection - #34283, thanks @valentinpalkovic!
- React-Vite: Upgrade @joshwooding/vite-plugin-react-docgen-typescript to 0.7.0 - #34335, thanks @beeswhacks!
- Refactor: Extract shared `PseudoStateGrid` component in pseudo-states stories - #34334, thanks @copilot-swe-agent!
- 10.4.0-alpha.425 Mar 2026pre-release
Release notes
Open source →10.4.0-alpha.4
- Addon-Docs: Add Reset story button to re-render stories in docs - #34086, thanks @6810779s!
- Code: Fix inline code blocks inside links removing link affordance - #33903, thanks @yatishgoel!
- Controls: Add maxPresetColors option to ColorControl - #33998, thanks @mixelburg!
- Core: Fix WebSocket connection for StackBlitz/WebContainers - #34281, thanks @ghengeveld!
- Dependencies: Update `vite-plugin-storybook-nextjs` to ^3.2.4 - #34280, thanks @k35o!
- React: Add component metadata extraction via Volar-style LanguageService - #33914, thanks @kasperpeulen!
- StatusValue: Add 'status-value:<new|modified|affected>' - #34305, thanks @valentinpalkovic!
- UI: Ensure Controls panel can scroll horizontally for now - #34248, thanks @Sidnioulz!