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
2272 releases · first in 2023
Release timeline
2272 releases since 2023Releases
- 10.4.0-alpha.323 Mar 2026pre-release
Release notes
Open source →10.4.0-alpha.3
- Addon-Vitest: Streamline vite(st) config detection across init and postinstall - #34193, thanks @valentinpalkovic!
- Angular: Use Story ID for renderer IDs (including standalone stories) - #33982, thanks @ValentinFunk!
- Bug: Skip re-processing already transformed config files for CSF factories - #34273, thanks @huang-julien!
- CLI: Shorten CTA link messages - #34236, thanks @shilman!
- React Native Web: Fix vite8 support by bumping vite-plugin-rnw - #34231, thanks @dannyhw!
- 10.4.0-alpha.219 Mar 2026pre-release
Release notes
Open source →10.4.0-alpha.2
- CLI: Use npm info to fetch versions in repro command - #34214, thanks @yannbf!
- Core: Prevent story-local viewport from persisting in URL - #34153, thanks @ghengeveld!
- Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils - #34168, thanks @mixelburg!
- Security: Makes sure `serialize-javascript` is at latest version - #34034, thanks @50bbx!
- 10.4.0-alpha.119 Mar 2026pre-release
Release notes
Open source →10.4.0-alpha.1
- Docs: Ensure unique control id attributes across multiple Controls blocks - #34021, thanks @TheSeydiCharyyev!
- 10.4.0-alpha.018 Mar 2026pre-release
Nothing published for this version
- 10.3.629 Apr 2026
Release notes
Open source →10.3.6
- ESLint: Update deprecated @storybook/test reference to storybook/test - #34430, thanks @venkat22022202!
- React: Add optional React type peers to packages that publish React-based declarations - #34641, thanks @copilot-swe-agent!
- UI: Fix global background + color styles affecting stories - #34071, thanks @Axadali!
Additional notes
Open source →- ESLint: Update deprecated @storybook/test reference to storybook/test - #34430, thanks @venkat22022202!
- React: Add optional React type peers to packages that publish React-based declarations - #34641, thanks @copilot-swe-agent!
- UI: Fix global background + color styles affecting stories - #34071, thanks @Axadali!
- 10.3.57 Apr 2026
Release notes
Open source →10.3.5
- Core: Disable component manifest by default - #34408, thanks @yannbf!
[!NOTE] Version >=0.5.0 of
@storybook/addon-mcpenables component manifests again. If you're upgrading Storybook from version >= 10.3.0 to >= 10.3.5 and are using the MCP addon, you should also upgrade@storybook/addon-mcpto keep the docs toolset in the MCP server.Additional notes
Open source →- Core: Disable component manifest by default - #34408, thanks @yannbf!
[!NOTE] Version >=0.5.0 of
@storybook/addon-mcpenables component manifests again. If you're upgrading Storybook from version >= 10.3.0 to >= 10.3.5 and are using the MCP addon, you should also upgrade@storybook/addon-mcpto keep the docs toolset in the MCP server. - 10.3.42 Apr 2026
Release notes
Open source →10.3.4
- Addon-a11y: Clear status transition timer on unmount to prevent test flake - #34203, thanks @mixelburg!
- Bug: Skip re-processing already transformed config files for CSF factories - #34273, thanks @huang-julien!
- Builder-Vite: Use djb2 hash to prevent variable name collisions in builder-vite - #34274, thanks @chida09!
- CLI: Prompt for init crash reports - #34316, thanks @JReinhold!
- CSF4: Fix duplicate preview loading issue in Vitest - #34361, thanks @valentinpalkovic!
- Core: Fix WebSocket connection for StackBlitz/WebContainers - #34281, thanks @ghengeveld!
- React-Docgen: Try .tsx fallback when resolving .js ESM imports in docgen resolvers - #34393, thanks @mixelburg!
- React-Vite: Upgrade @joshwooding/vite-plugin-react-docgen-typescript to 0.7.0 - #34335, thanks @beeswhacks!
Additional notes
Open source →- Addon-a11y: Clear status transition timer on unmount to prevent test flake - #34203, thanks @mixelburg!
- Bug: Skip re-processing already transformed config files for CSF factories - #34273, thanks @huang-julien!
- Builder-Vite: Use djb2 hash to prevent variable name collisions in builder-vite - #34274, thanks @chida09!
- CLI: Prompt for init crash reports - #34316, thanks @JReinhold!
- CSF4: Fix duplicate preview loading issue in Vitest - #34361, thanks @valentinpalkovic!
- Core: Fix WebSocket connection for StackBlitz/WebContainers - #34281, thanks @ghengeveld!
- React-Docgen: Try .tsx fallback when resolving .js ESM imports in docgen resolvers - #34393, thanks @mixelburg!
- React-Vite: Upgrade @joshwooding/vite-plugin-react-docgen-typescript to 0.7.0 - #34335, thanks @beeswhacks!
- 10.3.323 Mar 2026
Release notes
Open source →10.3.3
- Addon-Vitest: Streamline vite(st) config detection across init and postinstall - #34193, thanks @valentinpalkovic!
Additional notes
Open source →- Addon-Vitest: Streamline vite(st) config detection across init and postinstall - #34193, thanks @valentinpalkovic!
- 10.3.223 Mar 2026
- 10.3.119 Mar 2026
- 10.3.018 Mar 2026
Release notes
Open source →10.3.0
> Improved developer experience, AI-assisting tools, and broader ecosystem support
Storybook 10.3 contains hundreds of fixes and improvements including:
- 🤖 Storybook MCP: Agentic component dev, docs, and test (Preview release for React)
- ⚡ Vite 8 support
- ▲ Next.js 16.2 support
- 📝 ESLint 10 support
- 〰️ Addon Pseudo-States: Tailwind v4 support
- 🔧 Addon-Vitest: Simplified configuration - no more setup files required
- ♿ Numerous accessibility improvements across the UI
<details> <summary>List of all updates</summary>
- A11y: Add ScrollArea prop focusable for when it has static children - #33876, thanks @Sidnioulz!
- A11y: Ensure popover dialogs have an ARIA label - #33500, thanks @gayanMatch!
- A11y: Make resize handles for addon panel and sidebar accessible #33980
- A11y: Underline MDX links for WCAG SC 1.4.1 compliance - #33139, thanks @NikhilChowdhury27!
- Actions: Add expandLevel parameter to configure tree depth - #33977, thanks @mixelburg!
- Actions: Fix HandlerFunction type to support async callback props - #33864, thanks @mixelburg!
- Addon-Docs: Add React as optimizeDeps entry - #34176, thanks @valentinpalkovic!
- Addon-Docs: Add support for `sourceState: 'none'` to canvas block parameters - #33627, thanks @quisido!
- Addon-docs: Restore `docs.components` overrides for doc blocks #34111
- Addon-Vitest: Add channel API to programmatically trigger test runs - #33206, thanks @JReinhold!
- Addon-Vitest: Handle additional vitest config export patterns in postinstall - #34106, thanks @copilot-swe-agent!
- Addon-Vitest: Make Playwright `--with-deps` platform-aware to avoid `sudo` prompt on Linux #34121
- Addon-Vitest: Refactor Vitest setup to eliminate the need for a dedicated setup file - #34025, thanks @valentinpalkovic!
- Addon-Vitest: Support Vitest canaries - #33833, thanks @valentinpalkovic!
- Angular: Add moduleResolution: bundler to tsconfig - #34085, thanks @valentinpalkovic!
- Angular: only load webpack dependencies on demand - #34043, thanks @sod!
- Angular: Storybook fails with unknown option silent - #33736, thanks @tanujbhaud!
- Build: Update @types/node - #34037, thanks @valentinpalkovic!
- Builder-Vite: Centralize Vite plugins for builder-vite and addon-vitest - #33819, thanks @valentinpalkovic!
- Builder-Vite: Fix cold-cache vitest failures for story paths containing glob special characters - #34044, thanks @copilot-swe-agent!
- Builder-Vite: Use preview annotations as entry points for optimizeDeps - #33875, thanks @copilot-swe-agent!
- CI: declare explicit permissions for stale and weekly cron workflows - #33902, thanks @Rohan5commit!
- CLI: Add vike CLI metadata - #34189, thanks @yannbf!
- CLI: Avoid hanging of postinstall during init - #34175, thanks @valentinpalkovic!
- CLI: Fix onboarding not opening - #33609, thanks @ndelangen!
- CLI: Show multiple favicons warning as debug message - #34069, thanks @remino!
- Cli: Use npm for registry URL in PNPMProxy to avoid workspace errors - #33571, thanks @ia319!
- Controls: Allow story argTypes to override control: false from meta - #33729, thanks @jonathan-fulton!
- Controls: Fix Object contrast issue and tidy up code - #33923, thanks @Sidnioulz!
- Core: Ensure telemetry is never triggered on initial load of checklist data - #33918, thanks @ghengeveld!
- Core: Fix event source URL based on refId when multiple iframes share the same origin #34105
- Core: Fix false-positive CJS warning when 'exports' appears in strings or comments - #33572, thanks @reeseo3o!
- Core: Fix handling complex viewport sizes #33615
- Core: Fix iframe reference for composed Storybook on a subpath #34100
- Core: Fix typos: occured -> occurred, recieves -> receives - #33727, thanks @jonathan-fulton!
- Core: Handle BROWSER=none correctly and improve error messages - #33730, thanks @jonathan-fulton!
- Core: Ignore empty files when indexing - #33782, thanks @JReinhold!
- Core: Register CORS middleware before index.json route - #33728, thanks @jonathan-fulton!
- Core: Revert Pull Request #33420 from Maelryn/fix/copy-button-overlap - #33877, thanks @Sidnioulz!
- Core: Zoom tool refinements - Hide reset button when value is initial - #33635, thanks @superLipbalm!
- Docs: Edit JSON button is now accessible at 320x256 viewport (WCAG 2.1 Reflow test) - #33707, thanks @TheSeydiCharyyev!
- Docs: Make CSS ordering in DocsContainer more predictable #34015
- ESLint-plugin: Disallow extra properties in eslint plugin rule options - #32056, thanks @andreww2012!
- ESLint: bail out config setup if eslint-plugin-storybook is already imported - #34089, thanks @copilot-swe-agent!
- HMR: Fix race conditions causing stale play functions to fire on re-rendered stories - #33930, thanks @copilot-swe-agent!
- Maintenance: Revert pull request #33930 HMR events - #34190, thanks @yannbf!
- Maintenance: Use std-env for AI agent detection in telemetry #34114
- Manifest: Add docs entries to debugger - #33607, thanks @JReinhold!
- Manifest: Rename `experimentalComponentsManifest` → `componentsManifest`, default to `true` #33974
- Manifests: Fix Attached MDX causing wrong component entries #34101
- Next.js-Vite: Fix failing postcss mutation - #33879, thanks @valentinpalkovic!
- Next.js: Move image configuration from FrameworkOptions to parameters #32639, thanks @y-hsgw!
- Preact: Support inferring props from component types - #33828, thanks @JoviDeCroock!
- React Native Web: Fix inconsistent example stories - #33891, thanks @danielalanbates!
- React: Add react-docgen-typescript to component manifest - #33818, thanks @kasperpeulen!
- Revert "Toolbar: Remove extra toolbar divider when zoom controls not shown" - #34099, thanks @valentinpalkovic!
- Test: Fix clearing mocks in Vitest #34078
- Test: Update @testing-library/jest-dom - #33928, thanks @valentinpalkovic!
- Theming: Export interface declaration for `ThemesGlobals` - #33343, thanks @icopp!
- Toolbar: Remove extra toolbar divider when zoom controls not shown - #33731, thanks @jonathan-fulton!
- UI: Allow direct kb/mouse actions on zoom tool button - #33496, thanks @Sidnioulz!
- UI: Avoid large animation for reduced motion users - #33530, thanks @Sidnioulz!
- UI: Ensure Link without href is keyboard-reachable - #34163, thanks @Sidnioulz!
- UI: Fix `z-index` problem with `popover`s and `modal`s nesting - #33757, thanks @ndelangen!
- UI: Fix code/copy buttons overlap with content - #33889, thanks @Sidnioulz!
- UI: Fix Copy button overlapping code in portrait mode - #33420, thanks @Maelryn!
- UI: Fix modal text selection - #33967, thanks @Sidnioulz!
- UI: Fix tab navigation after closing addon panel - #33971, thanks @copilot-swe-agent!
- UI: Handle kb nav edge cases when preview and panel are hidden - #33588, thanks @Sidnioulz!
- UI: Hide addon panel Drag on pages without a panel - #34162, thanks @Sidnioulz!
- UI: Hide manifest tag for now - #34165, thanks @Sidnioulz!
- UI: Make disabled Buttons keyboard-focusable - #34166, thanks @Sidnioulz!
- UI: Make TagsFilter state persistent #33374
- UI: Use correct selector for addon panel focus check - #34164, thanks @Sidnioulz!
- UI: Zoom faster when pressing shift - #34185, thanks @Sidnioulz!
- Viewport: Skip viewport validation before parameters load - #33794, thanks @ia319!
- Vite: Add mock entries to optimizeDeps.entries - #34167, thanks @valentinpalkovic!
- Vue3-Vite: Allow paths in docgen tsconfig option #32310, thanks @Thomaash!
</details>
Additional notes
Open source →Improved developer experience, AI-assisting tools, and broader ecosystem support
Storybook 10.3 contains hundreds of fixes and improvements including:
- 🤖 Storybook MCP: Agentic component dev, docs, and test (Preview release for React)
- ⚡ Vite 8 support
- ▲ Next.js 16.2 support
- 📝 ESLint 10 support
- 〰️ Addon Pseudo-States: Tailwind v4 support
- 🔧 Addon-Vitest: Simplified configuration - no more setup files required
- ♿ Numerous accessibility improvements across the UI
<details> <summary>List of all updates</summary>
- A11y: Add ScrollArea prop focusable for when it has static children - #33876, thanks @Sidnioulz!
- A11y: Ensure popover dialogs have an ARIA label - #33500, thanks @gayanMatch!
- A11y: Make resize handles for addon panel and sidebar accessible #33980
- A11y: Underline MDX links for WCAG SC 1.4.1 compliance - #33139, thanks @NikhilChowdhury27!
- Actions: Add expandLevel parameter to configure tree depth - #33977, thanks @mixelburg!
- Actions: Fix HandlerFunction type to support async callback props - #33864, thanks @mixelburg!
- Addon-Docs: Add React as optimizeDeps entry - #34176, thanks @valentinpalkovic!
- Addon-Docs: Add support for
sourceState: 'none'to canvas block parameters - #33627, thanks @quisido! - Addon-docs: Restore
docs.componentsoverrides for doc blocks #34111 - Addon-Vitest: Add channel API to programmatically trigger test runs - #33206, thanks @JReinhold!
- Addon-Vitest: Handle additional vitest config export patterns in postinstall - #34106, thanks @copilot-swe-agent!
- Addon-Vitest: Make Playwright
--with-depsplatform-aware to avoidsudoprompt on Linux #34121 - Addon-Vitest: Refactor Vitest setup to eliminate the need for a dedicated setup file - #34025, thanks @valentinpalkovic!
- Addon-Vitest: Support Vitest canaries - #33833, thanks @valentinpalkovic!
- Angular: Add moduleResolution: bundler to tsconfig - #34085, thanks @valentinpalkovic!
- Angular: only load webpack dependencies on demand - #34043, thanks @sod!
- Angular: Storybook fails with unknown option silent - #33736, thanks @tanujbhaud!
- Build: Update @types/node - #34037, thanks @valentinpalkovic!
- Builder-Vite: Centralize Vite plugins for builder-vite and addon-vitest - #33819, thanks @valentinpalkovic!
- Builder-Vite: Fix cold-cache vitest failures for story paths containing glob special characters - #34044, thanks @copilot-swe-agent!
- Builder-Vite: Use preview annotations as entry points for optimizeDeps - #33875, thanks @copilot-swe-agent!
- CI: declare explicit permissions for stale and weekly cron workflows - #33902, thanks @Rohan5commit!
- CLI: Add vike CLI metadata - #34189, thanks @yannbf!
- CLI: Avoid hanging of postinstall during init - #34175, thanks @valentinpalkovic!
- CLI: Fix onboarding not opening - #33609, thanks @ndelangen!
- CLI: Show multiple favicons warning as debug message - #34069, thanks @remino!
- Cli: Use npm for registry URL in PNPMProxy to avoid workspace errors - #33571, thanks @ia319!
- Controls: Allow story argTypes to override control: false from meta - #33729, thanks @jonathan-fulton!
- Controls: Fix Object contrast issue and tidy up code - #33923, thanks @Sidnioulz!
- Core: Ensure telemetry is never triggered on initial load of checklist data - #33918, thanks @ghengeveld!
- Core: Fix event source URL based on refId when multiple iframes share the same origin #34105
- Core: Fix false-positive CJS warning when 'exports' appears in strings or comments - #33572, thanks @reeseo3o!
- Core: Fix handling complex viewport sizes #33615
- Core: Fix iframe reference for composed Storybook on a subpath #34100
- Core: Fix typos: occured -> occurred, recieves -> receives - #33727, thanks @jonathan-fulton!
- Core: Handle BROWSER=none correctly and improve error messages - #33730, thanks @jonathan-fulton!
- Core: Ignore empty files when indexing - #33782, thanks @JReinhold!
- Core: Register CORS middleware before index.json route - #33728, thanks @jonathan-fulton!
- Core: Revert Pull Request #33420 from Maelryn/fix/copy-button-overlap - #33877, thanks @Sidnioulz!
- Core: Zoom tool refinements - Hide reset button when value is initial - #33635, thanks @superLipbalm!
- Docs: Edit JSON button is now accessible at 320x256 viewport (WCAG 2.1 Reflow test) - #33707, thanks @TheSeydiCharyyev!
- Docs: Make CSS ordering in DocsContainer more predictable #34015
- ESLint-plugin: Disallow extra properties in eslint plugin rule options - #32056, thanks @andreww2012!
- ESLint: bail out config setup if eslint-plugin-storybook is already imported - #34089, thanks @copilot-swe-agent!
- HMR: Fix race conditions causing stale play functions to fire on re-rendered stories - #33930, thanks @copilot-swe-agent!
- Maintenance: Revert pull request #33930 HMR events - #34190, thanks @yannbf!
- Maintenance: Use std-env for AI agent detection in telemetry #34114
- Manifest: Add docs entries to debugger - #33607, thanks @JReinhold!
- Manifest: Rename
experimentalComponentsManifest→componentsManifest, default totrue#33974 - Manifests: Fix Attached MDX causing wrong component entries #34101
- Next.js-Vite: Fix failing postcss mutation - #33879, thanks @valentinpalkovic!
- Next.js: Move image configuration from FrameworkOptions to parameters #32639, thanks @y-hsgw!
- Preact: Support inferring props from component types - #33828, thanks @JoviDeCroock!
- React Native Web: Fix inconsistent example stories - #33891, thanks @danielalanbates!
- React: Add react-docgen-typescript to component manifest - #33818, thanks @kasperpeulen!
- Revert "Toolbar: Remove extra toolbar divider when zoom controls not shown" - #34099, thanks @valentinpalkovic!
- Test: Fix clearing mocks in Vitest #34078
- Test: Update @testing-library/jest-dom - #33928, thanks @valentinpalkovic!
- Theming: Export interface declaration for
ThemesGlobals- #33343, thanks @icopp! - Toolbar: Remove extra toolbar divider when zoom controls not shown - #33731, thanks @jonathan-fulton!
- UI: Allow direct kb/mouse actions on zoom tool button - #33496, thanks @Sidnioulz!
- UI: Avoid large animation for reduced motion users - #33530, thanks @Sidnioulz!
- UI: Ensure Link without href is keyboard-reachable - #34163, thanks @Sidnioulz!
- UI: Fix
z-indexproblem withpopovers andmodals nesting - #33757, thanks @ndelangen! - UI: Fix code/copy buttons overlap with content - #33889, thanks @Sidnioulz!
- UI: Fix Copy button overlapping code in portrait mode - #33420, thanks @Maelryn!
- UI: Fix modal text selection - #33967, thanks @Sidnioulz!
- UI: Fix tab navigation after closing addon panel - #33971, thanks @copilot-swe-agent!
- UI: Handle kb nav edge cases when preview and panel are hidden - #33588, thanks @Sidnioulz!
- UI: Hide addon panel Drag on pages without a panel - #34162, thanks @Sidnioulz!
- UI: Hide manifest tag for now - #34165, thanks @Sidnioulz!
- UI: Make disabled Buttons keyboard-focusable - #34166, thanks @Sidnioulz!
- UI: Make TagsFilter state persistent #33374
- UI: Use correct selector for addon panel focus check - #34164, thanks @Sidnioulz!
- UI: Zoom faster when pressing shift - #34185, thanks @Sidnioulz!
- Viewport: Skip viewport validation before parameters load - #33794, thanks @ia319!
- Vite: Add mock entries to optimizeDeps.entries - #34167, thanks @valentinpalkovic!
- Vue3-Vite: Allow paths in docgen tsconfig option #32310, thanks @Thomaash! </details>
- 10.3.0-beta.318 Mar 2026pre-release
Release notes
Open source →10.3.0-beta.3
- Addon-Vitest: Handle additional vitest config export patterns in postinstall - #34106, thanks @copilot-swe-agent!
- CLI: Add vike CLI metadata - #34189, thanks @yannbf!
- Maintenance: Revert pull request #33930 HMR events - #34190, thanks @yannbf!
- UI: Ensure Link without href is keyboard-reachable - #34163, thanks @Sidnioulz!
- UI: Zoom faster when pressing shift - #34185, thanks @Sidnioulz!
- Vite: Add mock entries to optimizeDeps.entries - #34167, thanks @valentinpalkovic!
- 10.3.0-beta.217 Mar 2026pre-release
Release notes
Open source →10.3.0-beta.2
- UI: Hide addon panel Drag on pages without a panel - #34162, thanks @Sidnioulz!
- UI: Hide manifest tag for now - #34165, thanks @Sidnioulz!
- UI: Make disabled Buttons keyboard-focusable - #34166, thanks @Sidnioulz!
- UI: Use correct selector for addon panel focus check - #34164, thanks @Sidnioulz!
- Vue: Make globals reactive in decorators - #34116, thanks @Sidnioulz!
- 10.3.0-beta.117 Mar 2026pre-release
- 10.3.0-beta.016 Mar 2026pre-release
Release notes
Open source →10.3.0-beta.0
- Test: Fix clearing mocks in Vitest #34078
- Core: Fix event source URL based on refId when multiple iframes share the same origin #34105
- UI: Make TagsFilter state persistent #33374
- A11y: Make resize handles for addon panel and sidebar accessible #33980
- Maintenance: Use std-env for AI agent detection in telemetry #34114
- Addon-Vitest: Make Playwright
--with-depsplatform-aware to avoidsudoprompt on Linux #34121 - Addon-docs: Restore
docs.componentsoverrides for doc blocks #34111 - Maintenance: Support vite-plugin-svelte7 which supports Vite 8 #34115
- Core: Fix handling complex viewport sizes #33615
- Core: Fix iframe reference for composed Storybook on a subpath #34100
- Manifest: Rename
experimentalComponentsManifest→componentsManifest, default totrue#33974 - Manifests: Fix Attached MDX causing wrong component entries #34101
- Vue3-Vite: Allow paths in docgen tsconfig option #32310, thanks @Thomaash!
- Next.js: Move image configuration from FrameworkOptions to parameters #32639, thanks @y-hsgw!
- Docs: Make CSS ordering in DocsContainer more predictable #34015
- 10.3.0-alpha.1713 Mar 2026pre-release
Release notes
Open source →10.3.0-alpha.17
- Core: Correctly fallback to first detected vitest config file - #33865, thanks @yannbf!
- ESLint-plugin: Disallow extra properties in eslint plugin rule options - #32056, thanks @andreww2012!
- ESLint: bail out config setup if eslint-plugin-storybook is already imported - #34089, thanks @copilot-swe-agent!
- Revert "Toolbar: Remove extra toolbar divider when zoom controls not shown" - #34099, thanks @valentinpalkovic!
- 10.3.0-alpha.1610 Mar 2026pre-release
Release notes
Open source →10.3.0-alpha.16
- A11y: Underline MDX links for WCAG SC 1.4.1 compliance - #33139, thanks @NikhilChowdhury27!
- Angular: Add moduleResolution: bundler to tsconfig - #34085, thanks @valentinpalkovic!
- Angular: only load webpack dependencies on demand - #34043, thanks @sod!
- CLI: Show multiple favicons warning as debug message - #34069, thanks @remino!
- Core: Fix error reporting in ManagerErrorBoundary - #33915, thanks @ghengeveld!
- Vite: Support Vite 8 - #33788, thanks @valentinpalkovic!
- 10.3.0-alpha.159 Mar 2026pre-release
Release notes
Open source →10.3.0-alpha.15
- Actions: Add expandLevel parameter to configure tree depth - #33977, thanks @mixelburg!
- Actions: Fix HandlerFunction type to support async callback props - #33864, thanks @mixelburg!
- Addon-Vitest: Refactor Vitest setup to eliminate the need for a dedicated setup file - #34025, thanks @valentinpalkovic!
- Build: Update @types/node - #34037, thanks @valentinpalkovic!
- Builder-Vite: Fix cold-cache vitest failures for story paths containing glob special characters - #34044, thanks @copilot-swe-agent!
- CI:: declare explicit permissions for stale and weekly cron workflows - #33902, thanks @Rohan5commit!
- Core: Add vike metadata frameworks - #33965, thanks @yannbf!
- Core: Resolve builder preset path correctly in pnpm strict mode - #34032, thanks @braedenfoster!
- Core: Update default allowed hosts in host validation middleware - #34045, thanks @ghengeveld!
- Next.js: Add support for v16.2 - #34046, thanks @valentinpalkovic!
- UI: Fix code/copy buttons overlap with content - #33889, thanks @Sidnioulz!
- UI: Fix modal text selection - #33967, thanks @Sidnioulz!
- UI: Fix tab navigation after closing addon panel - #33971, thanks @copilot-swe-agent!
- UI: Handle kb nav edge cases when preview and panel are hidden - #33588, thanks @Sidnioulz!
- 10.3.0-alpha.144 Mar 2026pre-release
Release notes
Open source →10.3.0-alpha.14
- CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type<T>()` export default - #33885, thanks @copilot-swe-agent!
- Core: Add host/origin validation to requests and websocket connections - #33835, thanks @ghengeveld!
- Core: Storybook failed to load iframe.html when publishing - #33896, thanks @danielalanbates!
- Core: Zoom tool refinements - Hide reset button when value is initial - #33635, thanks @superLipbalm!
- Docs: Edit JSON button is now accessible at 320x256 viewport (WCAG 2.1 Reflow test) - #33707, thanks @TheSeydiCharyyev!
- Manager-API: Update refs sequentially in experimental_setFilter - #33958, thanks @ia319!
- UI: Allow direct kb/mouse actions on zoom tool button - #33496, thanks @Sidnioulz!
- 10.3.0-alpha.133 Mar 2026pre-release
Release notes
Open source →10.3.0-alpha.13
- A11y: Add ScrollArea prop focusable for when it has static children - #33876, thanks @Sidnioulz!
- CLI: Set STORYBOOK environment variable - #33938, thanks @yannbf!
- Controls: Fix Object contrast issue and tidy up code - #33923, thanks @Sidnioulz!
- HMR: Fix race conditions causing stale play functions to fire on re-rendered stories - #33930, thanks @copilot-swe-agent!
- React: Handle render identifier in manifest snippet generation - #33940, thanks @kasperpeulen!
- UI: Prevent crash when tag filters contain undefined entries - #33931, thanks @abhaysinh1000!
- 10.3.0-alpha.1226 Feb 2026pre-release
Release notes
Open source →10.3.0-alpha.12
- Builder-Vite: Prevent config duplication - #33883, thanks @copilot-swe-agent!
- CLI: Fix React native web A11y issues - #33937, thanks @jonniebigodes!
- Core: Ensure telemetry is never triggered on initial load of checklist data - #33918, thanks @ghengeveld!
- Eslint: Fix ESLint 10 compatibility in eslint-plugin-storybook rules - #33884, thanks @copilot-swe-agent!
- Test: Update @testing-library/jest-dom - #33928, thanks @valentinpalkovic!
- 10.3.0-alpha.1125 Feb 2026pre-release
Release notes
Open source →10.3.0-alpha.11
- Addon Pseudo-states: Process all nested css rules - #33605, thanks @hpohlmeyer!
- Core: Avoid hanging when inferring args for recursive calls on DOM elemens - #33922, thanks @valentinpalkovic!
- Core: Sanitize inputs for save from controls - #33868, thanks @valentinpalkovic!
- Telemetry: Add project age - #33910, thanks @shilman!
- Viewport: Prioritize story viewport globals and avoid user-global pollution - #33849, thanks @ia319!
- 10.3.0-alpha.1024 Feb 2026pre-release
Release notes
Open source →10.3.0-alpha.10
- Addon-Vitest: Fix postinstall a11y installation - #33888, thanks @valentinpalkovic!
- Builder-Vite: Use preview annotations as entry points for optimizeDeps - #33875, thanks @copilot-swe-agent!
- React Native Web: Fix inconsistent example stories - #33891, thanks @danielalanbates!
- Webpack: Improve performance of module-mocking plugins - #33169, thanks @valentinpalkovic!
- 10.3.0-alpha.923 Feb 2026pre-release
Release notes
Open source →10.3.0-alpha.9
- React: Add react-docgen-typescript to component manifest - #33818, thanks @kasperpeulen!
- 10.3.0-alpha.823 Feb 2026pre-release
Release notes
Open source →10.3.0-alpha.8
- A11y: Ensure popover dialogs have an ARIA label - #33500, thanks @gayanMatch!
- Addon-Vitest: Add channel API to programmatically trigger test runs - #33206, thanks @JReinhold!
- Builder-Vite: Centralize Vite plugins for builder-vite and addon-vitest - #33819, thanks @valentinpalkovic!
- Core: Revert Pull Request #33420 from Maelryn/fix/copy-button-overlap - #33877, thanks @Sidnioulz!
- Next.js-Vite: Fix failing postcss mutation - #33879, thanks @valentinpalkovic!
- React: Fix manifest stories empty when meta has no explicit title - #33878, thanks @kasperpeulen!
- UI: Fix Copy button overlapping code in portrait mode - #33420, thanks @Maelryn!
- 10.3.0-alpha.719 Feb 2026pre-release
- 10.3.0-alpha.616 Feb 2026pre-release
Release notes
Open source →10.3.0-alpha.6
- Addon-Vitest: Improve config file detection in monorepos - #33814, thanks @valentinpalkovic!
- Addon-Vitest: Support Vitest canaries - #33833, thanks @valentinpalkovic!
- Builder-Vite: Update dependencies react-vite framework - #33810, thanks @valentinpalkovic!
- Next.js: Fix Link component override in appDirectory configuration - #31251, thanks @yatishgoel!
- 10.3.0-alpha.511 Feb 2026pre-release
Release notes
Open source →10.3.0-alpha.5
- Builder-Vite: Use relative path for mocker entry in production builds - #33792, thanks @DukeDeSouth!
- CLI: Support addon-vitest setup when --skip-install is passed - #33718, thanks @valentinpalkovic!
- CSF: Fix cross-file story imports in csf-factories codemod - #33723, thanks @yatishgoel!
- Compile: reduce VCPUs for CI check task from 4 to 3 - #33822, thanks @valentinpalkovic!
- Core: Ignore empty files when indexing - #33782, thanks @JReinhold!
- Globals: Repair dynamicTitle: false for user-defined tools - #33284, thanks @ia319!
- Logger: Honor --loglevel for npmlog output - #33776, thanks @LouisLau-art!
- Telemetry: Add Expo metaframework - #33783, thanks @copilot-swe-agent!
- Telemetry: Add init exit event - #33773, thanks @valentinpalkovic!
- Telemetry: Add share events - #33766, thanks @ndelangen!
- Test: Update event creation logic in user-event package - #33787, thanks @valentinpalkovic!
- Viewport: Skip viewport validation before parameters load - #33794, thanks @ia319!
- 10.3.0-alpha.44 Feb 2026pre-release
Release notes
Open source →10.3.0-alpha.4
- Addon-Vitest: Support vite/vitest config with deferred export - #33755, thanks @valentinpalkovic!
- Controls: Allow story argTypes to override control: false from meta - #33729, thanks @jonathan-fulton!
- Manager: Update logic to use base path instead of full pathname - #33686, thanks @JSMike!
- Manifests: Use correct story name - #33709, thanks @JReinhold!
- Toolbar: Remove extra toolbar divider when zoom controls not shown - #33731, thanks @jonathan-fulton!
- 10.3.0-alpha.33 Feb 2026pre-release
Release notes
Open source →10.3.0-alpha.3
- Angular: Storybook fails with unknown option silent - #33736, thanks @tanujbhaud!
- Angular: fix --loglevel options in docs and descriptions - #33726, thanks @theRuslan!
- Builder-Vite: Add plugin to enforce Storybook's output directory in Vite build configuration - #33740, thanks @valentinpalkovic!
- Core: Fix typos: occured -> occurred, recieves -> receives - #33727, thanks @jonathan-fulton!
- Core: Handle BROWSER=none correctly and improve error messages - #33730, thanks @jonathan-fulton!
- Core: Invalidate cache on Storybook version upgrade - #33717, thanks @copilot-swe-agent!
- Core: Register CORS middleware before index.json route - #33728, thanks @jonathan-fulton!
- Manager: Remove deprecated `active` prop warning in ZoomButton - #33697, thanks @yatishgoel!
- Next.js: Alias AppRouterContext to shared runtime to fix Link navigation - #33419, thanks @pallaprolus!
- UI: Fix `z-index` problem with `popover`s and `modal`s nesting - #33757, thanks @ndelangen!
- Vue: Make globals reactive in decorators - #33562, thanks @Sidnioulz!
- 10.3.0-alpha.230 Jan 2026pre-release
Release notes
Open source →10.3.0-alpha.2
- Addon Vitest: Support simple vite.config without defineConfig helper - #33694, thanks @valentinpalkovic!
- Addon-Docs: Add support for `sourceState: 'none'` to canvas block parameters - #33627, thanks @quisido!
- Addon-Vitest: Append Storybook project to existing test.projects array without double nesting - #33708, thanks @valentinpalkovic!
- Addon-Vitest: Normalize Windows paths in addon-vitest automigration - #33340, thanks @tanujbhaud!
- Addon-Vitest: Skip postinstall setup when configured - #33712, thanks @valentinpalkovic!
- Addon-Vitest: Update Vitest plugin configuration to disable requireAssertions for expect - #33693, thanks @valentinpalkovic!
- CSF-Factories: Fix codemod for preview files without exports - #33673, thanks @kasperpeulen!
- CSF: Fix false positive detection of Zod v4 .meta() as CSF Factory - #33666, thanks @kasperpeulen!
- CSFFactories: Add non-interactive mode and --glob flag - #33648, thanks @kasperpeulen!
- CSFFactories: Preserve leading comments when adding imports - #33645, thanks @kasperpeulen!
- Cli: Use npm for registry URL in PNPMProxy to avoid workspace errors - #33571, thanks @ia319!
- Codemod: Fix csf-2-to-3 failing due to quoted filenames - #33646, thanks @kasperpeulen!
- Codemod: Fix glob pattern handling on Windows - #33714, thanks @kasperpeulen!
- Composition: Handle 401 responses with loginUrl from Chromatic - #33705, thanks @kasperpeulen!
- Core: Fix false-positive CJS warning when 'exports' appears in strings or comments - #33572, thanks @reeseo3o!
- Telemetry: Add agent detection - #33675, thanks @valentinpalkovic!
- 10.3.0-alpha.128 Jan 2026pre-release
Release notes
Open source →10.3.0-alpha.1
- Builder-Webpack5: Fix @vitest/mocker resolution issue - #33315, thanks @valentinpalkovic!
- CLI: Add init telemetry for CLI integrations - #33603, thanks @shilman!
- Core: Fix `previewHref` when current path does not end with a slash - #33647, thanks @ghengeveld!
- Core: Fix rendering of View Transitions in Firefox - #33651, thanks @ghengeveld!
- Manifest: Add docs entries to debugger - #33607, thanks @JReinhold!
- Theming: Export interface declaration for `ThemesGlobals` - #33343, thanks @icopp!
- UI: Avoid large animation for reduced motion users - #33530, thanks @Sidnioulz!
- 10.3.0-alpha.021 Jan 2026pre-release
Release notes
Open source →10.3.0-alpha.0
- CLI: Fix onboarding not opening - #33609, thanks @ndelangen!
- 10.2.1913 Mar 2026
- 10.2.1813 Mar 2026
- 10.2.179 Mar 2026
Release notes
Open source →10.2.17
- Next.js: Add support for v16.2 - #34046, thanks @valentinpalkovic!
- 10.2.166 Mar 2026
Release notes
Open source →10.2.16
- CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type<T>()` export default - #33885, thanks @copilot-swe-agent!
- Core: Add host/origin validation to requests and websocket connections - #33835, thanks @ghengeveld!
- Core: Add vike metadata frameworks - #33965, thanks @yannbf!
- Core: Resolve builder preset path correctly in pnpm strict mode - #34032, thanks @braedenfoster!
- Core: Update default allowed hosts in host validation middleware - #34045, thanks @ghengeveld!
Additional notes
Open source →- CSF-Factories: Fix ConfigFile parser false warning on
definePreview({...}).type<T>()export default - #33885, thanks @copilot-swe-agent! - Core: Add host/origin validation to requests and websocket connections - #33835, thanks @ghengeveld!
- Core: Add vike metadata frameworks - #33965, thanks @yannbf!
- Core: Resolve builder preset path correctly in pnpm strict mode - #34032, thanks @braedenfoster!
- Core: Update default allowed hosts in host validation middleware - #34045, thanks @ghengeveld!
- 10.2.154 Mar 2026
- 10.2.142 Mar 2026
- 10.2.1326 Feb 2026
Release notes
Open source →10.2.13
- Addon Pseudo-states: Process all nested css rules - #33605, thanks @hpohlmeyer!
- Builder-Vite: Prevent config duplication - #33883, thanks @copilot-swe-agent!
- CLI: Fix React native web A11y issues - #33937, thanks @jonniebigodes!
- Core: Avoid hanging when inferring args for recursive calls on DOM elemens - #33922, thanks @valentinpalkovic!
- Eslint: Fix ESLint 10 compatibility in eslint-plugin-storybook rules - #33884, thanks @copilot-swe-agent!
- Viewport: Prioritize story viewport globals and avoid user-global pollution - #33849, thanks @ia319!
Additional notes
Open source →- Addon Pseudo-states: Process all nested css rules - #33605, thanks @hpohlmeyer!
- Builder-Vite: Prevent config duplication - #33883, thanks @copilot-swe-agent!
- CLI: Fix React native web A11y issues - #33937, thanks @jonniebigodes!
- Core: Avoid hanging when inferring args for recursive calls on DOM elemens - #33922, thanks @valentinpalkovic!
- Eslint: Fix ESLint 10 compatibility in eslint-plugin-storybook rules - #33884, thanks @copilot-swe-agent!
- Viewport: Prioritize story viewport globals and avoid user-global pollution - #33849, thanks @ia319!
- 10.2.1224 Feb 2026
- 10.2.1123 Feb 2026
Release notes
Open source →10.2.11
- Addon-Vitest: Fix postinstall a11y installation - #33888, thanks @valentinpalkovic!
- Manifests: Use correct story name - #33709, thanks @JReinhold!
- Next.js: Handle legacyBehavior prop in Link mock component - #33862, thanks @yatishgoel!
- React: Fix manifest stories empty when meta has no explicit title - #33878, thanks @kasperpeulen!
Additional notes
Open source →- Addon-Vitest: Fix postinstall a11y installation - #33888, thanks @valentinpalkovic!
- Manifests: Use correct story name - #33709, thanks @JReinhold!
- Next.js: Handle legacyBehavior prop in Link mock component - #33862, thanks @yatishgoel!
- React: Fix manifest stories empty when meta has no explicit title - #33878, thanks @kasperpeulen!
- 10.2.1018 Feb 2026
Release notes
Open source →10.2.10
- Core: Require token for websocket connections - #33820, thanks @ghengeveld!
Additional notes
Open source →- Core: Require token for websocket connections - #33820, thanks @ghengeveld!
- 10.2.917 Feb 2026
Release notes
Open source →10.2.9
- Addon-Vitest: Improve config file detection in monorepos - #33814, thanks @valentinpalkovic!
- Builder-Vite: Update dependencies react-vite framework - #33810, thanks @valentinpalkovic!
- Builder-Vite: Use relative path for mocker entry in production builds - #33792, thanks @DukeDeSouth!
- Next.js: Fix Link component override in appDirectory configuration - #31251, thanks @yatishgoel!
Additional notes
Open source →- Addon-Vitest: Improve config file detection in monorepos - #33814, thanks @valentinpalkovic!
- Builder-Vite: Update dependencies react-vite framework - #33810, thanks @valentinpalkovic!
- Builder-Vite: Use relative path for mocker entry in production builds - #33792, thanks @DukeDeSouth!
- Next.js: Fix Link component override in appDirectory configuration - #31251, thanks @yatishgoel!
- 10.2.89 Feb 2026
- 10.2.75 Feb 2026
Release notes
Open source →10.2.7
- CSF: Fix cross-file story imports in csf-factories codemod - #33723, thanks @yatishgoel!
- Core: Fix rendering of View Transitions in Firefox - #33651, thanks @ghengeveld!
- Globals: Repair dynamicTitle: false for user-defined tools - #33284, thanks @ia319!
- Logger: Honor --loglevel for npmlog output - #33776, thanks @LouisLau-art!
Additional notes
Open source →- CSF: Fix cross-file story imports in csf-factories codemod - #33723, thanks @yatishgoel!
- Core: Fix rendering of View Transitions in Firefox - #33651, thanks @ghengeveld!
- Globals: Repair dynamicTitle: false for user-defined tools - #33284, thanks @ia319!
- Logger: Honor --loglevel for npmlog output - #33776, thanks @LouisLau-art!
- 10.2.64 Feb 2026
Release notes
Open source →10.2.6
- Addon-Vitest: Skip postinstall setup when configured - #33712, thanks @valentinpalkovic!
- Addon-Vitest: Support vite/vitest config with deferred export - #33755, thanks @valentinpalkovic!
- CLI: Support addon-vitest setup when --skip-install is passed - #33718, thanks @valentinpalkovic!
- Manager: Update logic to use base path instead of full pathname - #33686, thanks @JSMike!
Additional notes
Open source →- Addon-Vitest: Skip postinstall setup when configured - #33712, thanks @valentinpalkovic!
- Addon-Vitest: Support vite/vitest config with deferred export - #33755, thanks @valentinpalkovic!
- CLI: Support addon-vitest setup when --skip-install is passed - #33718, thanks @valentinpalkovic!
- Manager: Update logic to use base path instead of full pathname - #33686, thanks @JSMike!
- 10.2.54 Feb 2026
Release notes
Open source →10.2.5
- Angular: fix --loglevel options in docs and descriptions - #33726, thanks @theRuslan!
- Builder-Vite: Add plugin to enforce Storybook's output directory in Vite build configuration - #33740, thanks @valentinpalkovic!
- Core: Invalidate cache on Storybook version upgrade - #33717, thanks @copilot-swe-agent!
Additional notes
Open source →- Angular: fix --loglevel options in docs and descriptions - #33726, thanks @theRuslan!
- Builder-Vite: Add plugin to enforce Storybook's output directory in Vite build configuration - #33740, thanks @valentinpalkovic!
- Core: Invalidate cache on Storybook version upgrade - #33717, thanks @copilot-swe-agent!
- 10.2.42 Feb 2026
Release notes
Open source →10.2.4
- CSF-Factories: Fix codemod for preview files without exports - #33673, thanks @kasperpeulen!
- CSF: Fix false positive detection of Zod v4 .meta() as CSF Factory - #33666, thanks @kasperpeulen!
- CSFFactories: Add non-interactive mode and --glob flag - #33648, thanks @kasperpeulen!
- CSFFactories: Preserve leading comments when adding imports - #33645, thanks @kasperpeulen!
- Codemod: Fix csf-2-to-3 failing due to quoted filenames - #33646, thanks @kasperpeulen!
- Codemod: Fix glob pattern handling on Windows - #33714, thanks @kasperpeulen!
- Manager: Remove deprecated `active` prop warning in ZoomButton - #33697, thanks @yatishgoel!
- Next.js: Alias AppRouterContext to shared runtime to fix Link navigation - #33419, thanks @pallaprolus!
Additional notes
Open source →- CSF-Factories: Fix codemod for preview files without exports - #33673, thanks @kasperpeulen!
- CSF: Fix false positive detection of Zod v4 .meta() as CSF Factory - #33666, thanks @kasperpeulen!
- CSFFactories: Add non-interactive mode and --glob flag - #33648, thanks @kasperpeulen!
- CSFFactories: Preserve leading comments when adding imports - #33645, thanks @kasperpeulen!
- Codemod: Fix csf-2-to-3 failing due to quoted filenames - #33646, thanks @kasperpeulen!
- Codemod: Fix glob pattern handling on Windows - #33714, thanks @kasperpeulen!
- Manager: Remove deprecated
activeprop warning in ZoomButton - #33697, thanks @yatishgoel! - Next.js: Alias AppRouterContext to shared runtime to fix Link navigation - #33419, thanks @pallaprolus!
- 10.2.330 Jan 2026
- 10.2.230 Jan 2026
Release notes
Open source →10.2.2
- Addon Vitest: Support simple vite.config without defineConfig helper - #33694, thanks @valentinpalkovic!
- Addon-Vitest: Append Storybook project to existing test.projects array without double nesting - #33708, thanks @valentinpalkovic!
- Addon-Vitest: Update Vitest plugin configuration to disable requireAssertions for expect - #33693, thanks @valentinpalkovic!
- Composition: Handle 401 responses with loginUrl from Chromatic - #33705, thanks @kasperpeulen!
- Telemetry: Add agent detection - #33675, thanks @valentinpalkovic!
Additional notes
Open source →- Addon Vitest: Support simple vite.config without defineConfig helper - #33694, thanks @valentinpalkovic!
- Addon-Vitest: Append Storybook project to existing test.projects array without double nesting - #33708, thanks @valentinpalkovic!
- Addon-Vitest: Update Vitest plugin configuration to disable requireAssertions for expect - #33693, thanks @valentinpalkovic!
- Composition: Handle 401 responses with loginUrl from Chromatic - #33705, thanks @kasperpeulen!
- Telemetry: Add agent detection - #33675, thanks @valentinpalkovic!
- 10.2.127 Jan 2026
- 10.2.021 Jan 2026
Release notes
Open source →10.2.0
Improved UI and story authoring ergonomics
Storybook 10.2 contains hundreds of fixes and improvement including:
- 💅 New Viewports and Zoom UI
- 🏭 Typesafe CSF factories for Vue, Angular, Web Components (preview)
- 📄 MDX support for Storybook MCP (experimental)
<details> <summary>List of all updates</summary>
- Addon-A11y: Lock vision filter dropdown for stories with `vision` global - #33599, thanks @ghengeveld!
- Addon-Docs: Add MDX manifest generation - #33408, thanks @copilot-swe-agent!
- Addon-Docs: Skip `!autodocs` stories when computing primary story - #32712, thanks @ia319!
- Addon-Pseudo States: Fix stylesheet rewrite for `:not()` with parenthesis in inner selector - #33491, thanks @ghengeveld!
- Addon-Vitest: Added timeout for fetching localhost 6006 during global setup. - #33232, thanks @snippy4!
- Addon-Vitest: Fallback detecting vitest version in postinstall - #33415, thanks @ndelangen!
- Addon-Vitest: Improve error message in testing widget modal - #33481, thanks @yannbf!
- Addon-Vitest: Improve perf & fix loading incorrect `.env` file - #33469, thanks @ndelangen!
- CLI: Detect free port when running dev during initiate - #33532, thanks @ndelangen!
- CLI: Remove any return type of getAbsolutePath - #32977, thanks @nzws!
- CLI: Skip vitest transform for CSF Factories in a11y-addon-test automigration - #31941, thanks @mrginglymus!
- Codemod: Fix glob string to only match stories files - #33592, thanks @JReinhold!
- Controls: Allow resetting the Select control - #33289, thanks @Sidnioulz!
- Controls: Fix displaying as object instead of select for optional union types - #33200, thanks @tanujbhaud!
- Controls: Force object control JSON mode to reset - #33330, thanks @Sidnioulz!
- Core and Vite: Use story index as source of truth for Vite paths - #30612, thanks @JReinhold!
- Core: Add `getStoryHrefs` manager API and add hotkey for "open in isolation" - #33416, thanks @ghengeveld!
- Core: Add global error boundary for Manager UI - #33211, thanks @copilot-swe-agent!
- Core: Add support for wrapped components in component transformer - #33578, thanks @yannbf!
- Core: Add try-catch for cross-origin access in Storybook hooks - #33448, thanks @ndelangen!
- Core: Add zoom level 8 and limit manual input to 800% - #33561, thanks @ghengeveld!
- Core: Avoid late layout shift and improve ChecklistWidget perceived performance - #33184, thanks @ghengeveld!
- Core: Ensure /project.json route is up before builders serve local FS - #33303, thanks @Sidnioulz!
- Core: Fix `react-docgen-typescript` support in story creation - #33586, thanks @yannbf!
- Core: Fix Checklist behavior with hidden sidebar - #33556, thanks @ghengeveld!
- Core: Fix cwd handling for negated globs - #33241, thanks @ia319!
- Core: Fix Date input layout - #33595, thanks @ghengeveld!
- Core: Fix import statement for `react-docgen-typescript` - #33589, thanks @yannbf!
- Core: Fix input width - #33591, thanks @ghengeveld!
- Core: Fix manual zoom input field UX - #33581, thanks @ghengeveld!
- Core: Fix onboarding visual bugs, survey telemetry and modal dismissal - #33326, thanks @ghengeveld!
- Core: Fix play function `mount` detection when destructuring in the function body - #33367, thanks @ghengeveld!
- Core: Fix viewport args handling and reset option - #33560, thanks @ghengeveld!
- Core: Honor BROWSER shell scripts before xdg-open - #33292, thanks @robbchar!
- Core: Improve addon sanitization - #33554, thanks @yannbf!
- Core: Improve path handling in arg types data extraction - #33536, thanks @yannbf!
- Core: Improve the story generation experience - #33259, thanks @yannbf!
- Core: Redesign and refactor Viewports tool - #33290, thanks @ghengeveld!
- Core: Refactor channel initialization - #33520, thanks @yannbf!
- Core: Render sidebar toggle on settings pages - #33501, thanks @ghengeveld!
- Core: Retry `writeFile` cache when EBUSY error occurs - #32981, thanks @reduckted!
- Core: Support defineConfig when setting up ESLint plugin - #32878, thanks @copilot-swe-agent!
- Core: Support disabling Checklist widget through feature config - #33430, thanks @ghengeveld!
- Core: Track vision simulator state through globals and apply styles in preview - #33418, thanks @ghengeveld!
- Core: Use canonical links in sidebar and menu - #33400, thanks @Sidnioulz!
- Core: Viewport UX fixes - #33557, thanks @ghengeveld!
- Core: Zoom tool reimplementation - #33375, thanks @ghengeveld!
- CSF-Factories: Add CSF Factories for Vue3, Web Components, and Angular - #33365, thanks @kasperpeulen!
- CSF-Factories: Allow kebab-case HTML attribute names in web components args - #33526, thanks @kasperpeulen!
- CSF-Factories: Export WebComponentsTypes and VueTypes - #33521, thanks @kasperpeulen!
- CSF-Factories: Skip non-factory exports instead of throwing error - #33550, thanks @kasperpeulen!
- CSF: Export type to prevent `type cannot be named`-errors - #33216, thanks @unional!
- Dependencies: Bump various packages - #33412, thanks @ndelangen!
- Dependencies: Update `baseline-browser-mapping` - #33576, thanks @ndelangen!
- Docgen: Update extraction of React docgen - #33598, thanks @ndelangen!
- Docs-Blocks: Fix broken tooltip in ArgValue details - #33264, thanks @Sidnioulz!
- Docs: Ensure CodePanel hooks are called within component - #33162, thanks @mrginglymus!
- Interactions: Add disable parameter for interactions panel - #33368, thanks @jeevikar14!
- Interactions: Fix state reset bug when switching stories with date mocks - #33388, thanks @Sidnioulz!
- Manager: Ensure reset item only appears in globals toolbar when specified - #33276, thanks @mrginglymus!
- Manager: Fix system query parameters being overridable - #33535, thanks @JReinhold!
- Manifests: Add support for summaries in MDX files - #33475, thanks @JReinhold!
- Manifests: Refactor from `componentManifestGenerator` to extensible `manifests` preset property - #33392, thanks @JReinhold!
- Manifests: Support `!manifest` tag in preview files - #33406, thanks @JReinhold!
- NextJS: Import `next/dist` with `.js`-extension for ESM compat - #33380, thanks @yue4u!
- NextJS: Support top-level weight/style in next/font/local with string src - #32998, thanks @Chiman2937!
- NextJSVite: Add `@opentelemetry/api` to `optimizeDeps` - #33577, thanks @ndelangen!
- NextJSVite: Update vite-plugin-storybook-nextjs to v3.1.7 - #33351, thanks @valentinpalkovic!
- NextJSVite: Upgrade plugin - #33538, thanks @ndelangen!
- Onboarding: Fix navigation to first story when configure-your-project entry missing - #33559, thanks @copilot-swe-agent!
- Onboarding: Hide TourGuide as soon as tests start - #33587, thanks @ghengeveld!
- Preview: Prevent error in RN due to `navigator?.clipboard` - #33219, thanks @ndelangen!
- Preview: Treat canceled animations as finished - #32401, thanks @bawjensen!
- React: Use self-closing tag for code snippets - #33342, thanks @valentinpalkovic!
- SvelteKit: Align JS template with TS template - #31451, thanks @brettearle!
- Telemetry: Add `packageJson.type` - #33525, thanks @ndelangen!
- TypeScript: Fix summary undefined type issue - #32585, thanks @afsalshamsudeen!
- TypeScript: Improve globalTypes type-strictness - #33313, thanks @mrginglymus!
- TypeScript: Reduce `cannot be named` errors - #33344, thanks @icopp!
- TypeScript: Support `exactOptionalPropertyTypes` for public API types - #33149, thanks @copilot-swe-agent!
- UI: Ensure consistent right padding in TreeNode - #33322, thanks @Sidnioulz!
- UI: Ensure preview error displays use a readable text color - #33580, thanks @Sidnioulz!
- UI: Fix border color for Select picker - #33585, thanks @ghengeveld!
- UI: Fix empty sidebar after navigating from search - #33590, thanks @Sidnioulz!
- UI: Fix regression in select close handler focus - #33470, thanks @Sidnioulz!
- UI: Fix search highlight visibility in High Contrast Mode - #33427, thanks @Maelryn!
- UI: Improve landmark navigation - #33457, thanks @Sidnioulz!
- UI: Keep preview frame stable in overall layout - #33447, thanks @Sidnioulz!
- UI: Make vertical alignment of TestStatusIcon more robust - #33305, thanks @Sidnioulz!
- UI: Prevent primary story from duplicating anchor ID - #33384, thanks @Sidnioulz!
- UI: Prevent updating non-existent stories in sidebar - #33037, thanks @ia319!
- Upgrade: Preserve package.json indentation when upgrading - #32280, thanks @y-hsgw!
- Vue3: Update renderer's setup function to allow passing generic HostElement type - #32029, thanks @DamianGlowala!
- Webpack: Revert "disable `bugfixes` property in swc and babel - #33498, thanks @ndelangen!
- Zoom: Keyboard-shortcut for the `plus` key - #33565, thanks @ndelangen!
</details>
Additional notes
Open source →Improved UI and story authoring ergonomics
Storybook 10.2 contains hundreds of fixes and improvement including:
- 💅 New Viewports and Zoom UI
- 🏭 Typesafe CSF factories for Vue, Angular, Web Components (preview)
- 📄 MDX support for Storybook MCP (experimental)
<details> <summary>List of all updates</summary>
- Addon-A11y: Lock vision filter dropdown for stories with
visionglobal - #33599, thanks @ghengeveld! - Addon-Docs: Add MDX manifest generation - #33408, thanks @copilot-swe-agent!
- Addon-Docs: Skip
!autodocsstories when computing primary story - #32712, thanks @ia319! - Addon-Pseudo States: Fix stylesheet rewrite for
:not()with parenthesis in inner selector - #33491, thanks @ghengeveld! - Addon-Vitest: Added timeout for fetching localhost 6006 during global setup. - #33232, thanks @snippy4!
- Addon-Vitest: Fallback detecting vitest version in postinstall - #33415, thanks @ndelangen!
- Addon-Vitest: Improve error message in testing widget modal - #33481, thanks @yannbf!
- Addon-Vitest: Improve perf & fix loading incorrect
.envfile - #33469, thanks @ndelangen! - CLI: Detect free port when running dev during initiate - #33532, thanks @ndelangen!
- CLI: Remove any return type of getAbsolutePath - #32977, thanks @nzws!
- CLI: Skip vitest transform for CSF Factories in a11y-addon-test automigration - #31941, thanks @mrginglymus!
- Codemod: Fix glob string to only match stories files - #33592, thanks @JReinhold!
- Controls: Allow resetting the Select control - #33289, thanks @Sidnioulz!
- Controls: Fix displaying as object instead of select for optional union types - #33200, thanks @tanujbhaud!
- Controls: Force object control JSON mode to reset - #33330, thanks @Sidnioulz!
- Core and Vite: Use story index as source of truth for Vite paths - #30612, thanks @JReinhold!
- Core: Add
getStoryHrefsmanager API and add hotkey for "open in isolation" - #33416, thanks @ghengeveld! - Core: Add global error boundary for Manager UI - #33211, thanks @copilot-swe-agent!
- Core: Add support for wrapped components in component transformer - #33578, thanks @yannbf!
- Core: Add try-catch for cross-origin access in Storybook hooks - #33448, thanks @ndelangen!
- Core: Add zoom level 8 and limit manual input to 800% - #33561, thanks @ghengeveld!
- Core: Avoid late layout shift and improve ChecklistWidget perceived performance - #33184, thanks @ghengeveld!
- Core: Ensure /project.json route is up before builders serve local FS - #33303, thanks @Sidnioulz!
- Core: Fix
react-docgen-typescriptsupport in story creation - #33586, thanks @yannbf! - Core: Fix Checklist behavior with hidden sidebar - #33556, thanks @ghengeveld!
- Core: Fix cwd handling for negated globs - #33241, thanks @ia319!
- Core: Fix Date input layout - #33595, thanks @ghengeveld!
- Core: Fix import statement for
react-docgen-typescript- #33589, thanks @yannbf! - Core: Fix input width - #33591, thanks @ghengeveld!
- Core: Fix manual zoom input field UX - #33581, thanks @ghengeveld!
- Core: Fix onboarding visual bugs, survey telemetry and modal dismissal - #33326, thanks @ghengeveld!
- Core: Fix play function
mountdetection when destructuring in the function body - #33367, thanks @ghengeveld! - Core: Fix viewport args handling and reset option - #33560, thanks @ghengeveld!
- Core: Honor BROWSER shell scripts before xdg-open - #33292, thanks @robbchar!
- Core: Improve addon sanitization - #33554, thanks @yannbf!
- Core: Improve path handling in arg types data extraction - #33536, thanks @yannbf!
- Core: Improve the story generation experience - #33259, thanks @yannbf!
- Core: Redesign and refactor Viewports tool - #33290, thanks @ghengeveld!
- Core: Refactor channel initialization - #33520, thanks @yannbf!
- Core: Render sidebar toggle on settings pages - #33501, thanks @ghengeveld!
- Core: Retry
writeFilecache when EBUSY error occurs - #32981, thanks @reduckted! - Core: Support defineConfig when setting up ESLint plugin - #32878, thanks @copilot-swe-agent!
- Core: Support disabling Checklist widget through feature config - #33430, thanks @ghengeveld!
- Core: Track vision simulator state through globals and apply styles in preview - #33418, thanks @ghengeveld!
- Core: Use canonical links in sidebar and menu - #33400, thanks @Sidnioulz!
- Core: Viewport UX fixes - #33557, thanks @ghengeveld!
- Core: Zoom tool reimplementation - #33375, thanks @ghengeveld!
- CSF-Factories: Add CSF Factories for Vue3, Web Components, and Angular - #33365, thanks @kasperpeulen!
- CSF-Factories: Allow kebab-case HTML attribute names in web components args - #33526, thanks @kasperpeulen!
- CSF-Factories: Export WebComponentsTypes and VueTypes - #33521, thanks @kasperpeulen!
- CSF-Factories: Skip non-factory exports instead of throwing error - #33550, thanks @kasperpeulen!
- CSF: Export type to prevent
type cannot be named-errors - #33216, thanks @unional! - Dependencies: Bump various packages - #33412, thanks @ndelangen!
- Dependencies: Update
baseline-browser-mapping- #33576, thanks @ndelangen! - Docgen: Update extraction of React docgen - #33598, thanks @ndelangen!
- Docs-Blocks: Fix broken tooltip in ArgValue details - #33264, thanks @Sidnioulz!
- Docs: Ensure CodePanel hooks are called within component - #33162, thanks @mrginglymus!
- Interactions: Add disable parameter for interactions panel - #33368, thanks @jeevikar14!
- Interactions: Fix state reset bug when switching stories with date mocks - #33388, thanks @Sidnioulz!
- Manager: Ensure reset item only appears in globals toolbar when specified - #33276, thanks @mrginglymus!
- Manager: Fix system query parameters being overridable - #33535, thanks @JReinhold!
- Manifests: Add support for summaries in MDX files - #33475, thanks @JReinhold!
- Manifests: Refactor from
componentManifestGeneratorto extensiblemanifestspreset property - #33392, thanks @JReinhold! - Manifests: Support
!manifesttag in preview files - #33406, thanks @JReinhold! - NextJS: Import
next/distwith.js-extension for ESM compat - #33380, thanks @yue4u! - NextJS: Support top-level weight/style in next/font/local with string src - #32998, thanks @Chiman2937!
- NextJSVite: Add
@opentelemetry/apitooptimizeDeps- #33577, thanks @ndelangen! - NextJSVite: Update vite-plugin-storybook-nextjs to v3.1.7 - #33351, thanks @valentinpalkovic!
- NextJSVite: Upgrade plugin - #33538, thanks @ndelangen!
- Onboarding: Fix navigation to first story when configure-your-project entry missing - #33559, thanks @copilot-swe-agent!
- Onboarding: Hide TourGuide as soon as tests start - #33587, thanks @ghengeveld!
- Preview: Prevent error in RN due to
navigator?.clipboard- #33219, thanks @ndelangen! - Preview: Treat canceled animations as finished - #32401, thanks @bawjensen!
- React: Use self-closing tag for code snippets - #33342, thanks @valentinpalkovic!
- SvelteKit: Align JS template with TS template - #31451, thanks @brettearle!
- Telemetry: Add
packageJson.type- #33525, thanks @ndelangen! - TypeScript: Fix summary undefined type issue - #32585, thanks @afsalshamsudeen!
- TypeScript: Improve globalTypes type-strictness - #33313, thanks @mrginglymus!
- TypeScript: Reduce
cannot be namederrors - #33344, thanks @icopp! - TypeScript: Support
exactOptionalPropertyTypesfor public API types - #33149, thanks @copilot-swe-agent! - UI: Ensure consistent right padding in TreeNode - #33322, thanks @Sidnioulz!
- UI: Ensure preview error displays use a readable text color - #33580, thanks @Sidnioulz!
- UI: Fix border color for Select picker - #33585, thanks @ghengeveld!
- UI: Fix empty sidebar after navigating from search - #33590, thanks @Sidnioulz!
- UI: Fix regression in select close handler focus - #33470, thanks @Sidnioulz!
- UI: Fix search highlight visibility in High Contrast Mode - #33427, thanks @Maelryn!
- UI: Improve landmark navigation - #33457, thanks @Sidnioulz!
- UI: Keep preview frame stable in overall layout - #33447, thanks @Sidnioulz!
- UI: Make vertical alignment of TestStatusIcon more robust - #33305, thanks @Sidnioulz!
- UI: Prevent primary story from duplicating anchor ID - #33384, thanks @Sidnioulz!
- UI: Prevent updating non-existent stories in sidebar - #33037, thanks @ia319!
- Upgrade: Preserve package.json indentation when upgrading - #32280, thanks @y-hsgw!
- Vue3: Update renderer's setup function to allow passing generic HostElement type - #32029, thanks @DamianGlowala!
- Webpack: Revert "disable
bugfixesproperty in swc and babel - #33498, thanks @ndelangen! - Zoom: Keyboard-shortcut for the
pluskey - #33565, thanks @ndelangen!
</details>
- 10.2.0-beta.520 Jan 2026pre-release
Release notes
Open source →10.2.0-beta.5
- Addon A11y: Lock vision filter dropdown for stories with `vision` global - #33599, thanks @ghengeveld!
- 10.2.0-beta.420 Jan 2026pre-release
Release notes
Open source →10.2.0-beta.4
- Addon Vitest: Improve error message in testing widget modal - #33481, thanks @yannbf!
- Codemod: Fix glob string to only match stories files - #33592, thanks @JReinhold!
- Core: Add support for wrapped components in component transformer - #33578, thanks @yannbf!
- Core: Fix Date input layout - #33595, thanks @ghengeveld!
- Core: Fix `react-docgen-typescript` support in story creation - #33586, thanks @yannbf!
- Core: Fix import statement for `react-docgen-typescript` - #33589, thanks @yannbf!
- Core: Fix input width - #33591, thanks @ghengeveld!
- Core: Fix manual zoom input field UX - #33581, thanks @ghengeveld!
- Core: Improve addon sanitization - #33554, thanks @yannbf!
- Docgen: Update extraction of React docgen - #33598, thanks @ndelangen!
- Guide: Hide TourGuide as soon as tests start - #33587, thanks @ghengeveld!
- TypeScript: Improve globalTypes type-strictness - #33313, thanks @mrginglymus!
- UI: Ensure preview error displays use a readable text color - #33580, thanks @Sidnioulz!
- UI: Fix border color for Select picker - #33585, thanks @ghengeveld!
- UI: Fix empty sidebar after navigating from search - #33590, thanks @Sidnioulz!
- 10.2.0-beta.319 Jan 2026pre-release
Release notes
Open source →10.2.0-beta.3
- Core: Support defineConfig when setting up ESLint plugin - #32878, thanks @copilot-swe-agent!
- Core: Viewport UX fixes - #33557, thanks @ghengeveld!
- NextJSVite: Add `@opentelemetry/api` to `optimizeDeps` - #33577, thanks @ndelangen!
- TypeScript: Reduce `cannot be named` errors - #33344, thanks @icopp!
- 10.2.0-beta.219 Jan 2026pre-release
Release notes
Open source →10.2.0-beta.2
- CSF-Factories: Skip non-factory exports instead of throwing error - #33550, thanks @kasperpeulen!
- Core: Add zoom level 8 and limit manual input to 800% - #33561, thanks @ghengeveld!
- Core: Fix Checklist behavior with hidden sidebar - #33556, thanks @ghengeveld!
- Core: Fix viewport args handling and reset option - #33560, thanks @ghengeveld!
- Dependencies: Update `baseline-browser-mapping` - #33576, thanks @ndelangen!
- Onboarding: Fix navigation to first story when configure-your-project entry missing - #33559, thanks @copilot-swe-agent!
- Zoom: Keyboardshortcut for the `plus` key - #33565, thanks @ndelangen!
- 10.2.0-beta.116 Jan 2026pre-release
- 10.2.0-beta.015 Jan 2026pre-release
- 10.2.0-alpha.1814 Jan 2026pre-release
Release notes
Open source →10.2.0-alpha.18
- Build: Fix `ejslint` execution path in lint-staged - #33504, thanks @Yeonny0723!
- CLI: Detect free port when running dev during initiate - #33532, thanks @ndelangen!
- Core: Improve path handling in arg types data extraction - #33536, thanks @yannbf!
- Core: Refactor channel initialization - #33520, thanks @yannbf!
- Telemetry: Add `packageJson.type` - #33525, thanks @ndelangen!
- UI: Improve landmark navigation - #33457, thanks @Sidnioulz!