NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2692 most downloaded on npm
Storybook React renderer
Last release 15 days ago
03 Sep 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
9 years old
3484 releases · first in 2017
Addon Themes: Define missing React dependencies - #31688, thanks @ghengeveld!
--skip-install failing missing packageJson invariant - #31720, thanks @JReinhold!CSF Factories: Add parameters/globals types, extend API, portable stories - #30601, thanks @kasperpeulen!
One column per quarter.
extend API, portable stories - #30601, thanks @kasperpeulen!Addon A11y: Briefly disable highlights while Axe is running - #31621, thanks @ghengeveld!
<wrapper ...> - #31639, thanks @JReinhold!project.json for getAbsolutePath - #31510, thanks @ndelangen!toSatisfy-matcher implementation - #31664, thanks @ndelangen!Addon-Vitest: Properly merge configs - #31629, thanks @valentinpalkovic!
Angular: Include 20.x in version range - #31602, thanks @shilman!
Nothing published for this version
CLI: Fix Storybook doctor compatibility checks - #32077, thanks @yannbf!
Addon Vitest: Fix support for plain stories.tsx files - #32041, thanks @ghengeveld!
Automigration: Fail with non-zero exit code on migration failure - #31923, thanks @mrginglymus!
sb CLI by explicitly exporting bin/index.cjs from storybook package - #31922, thanks @ghengeveld!CLI: Do not fail incompatible package check in doctor if only core packages used - #31886, thanks @mrginglymus!
CLI: Prebundle more in cli-storybook package - #31746, thanks @ndelangen!
vite peerDependencies range to include 7.0.0 - #31859, thanks @ghengeveld!Core: Gracefully handle disallowed cross-origin clipboard access - #31834, thanks @ghengeveld!
Addon Vitest: Support init in Vitest >= 3.2 - #31715, thanks @valentinpalkovic!
Addons: Use chromatic-com/storybook without version specifier - #31627, thanks @valentinpalkovic!
CLI: Add RN/RNW "both" init option - #31778, thanks @shilman!
Angular: Update MiniCssExtractPlugin configuration for cache busting - #31752, thanks @valentinpalkovic!
userEvent.setup() - #31730, thanks @ghengeveld!Addon Docs: Fix SyntaxHighlighter "Copy" button by avoiding potentially mocked clipboard - #31682, thanks @ghengeveld!
--skip-install failing missing packageJson invariant - #31720, thanks @JReinhold![!NOTE]
Version 9.0.7 was skipped because of a bad release ofeslint-plugin-storybook.
Addon Docs: Fix reference to global JSX namespace - #31671, thanks @mrginglymus!
Addon A11y: Briefly disable highlights while Axe is running - #31621, thanks @ghengeveld!
<wrapper ...> - #31639, thanks @JReinhold!toSatisfy-matcher implementation - #31664, thanks @ndelangen!Addon Vitest: Fix path comparison on Windows - #31630, thanks @valentinpalkovic!
Addon-Vitest: Properly merge configs - #31629, thanks @valentinpalkovic!
CLI: Respect --skip-install in postinstall scripts - #31605, thanks @yannbf!
Angular: Include 20.x in version range - #31602, thanks @shilman!
CLI: Enhance compatibility check: deprecated detection - #31317, thanks @ndelangen!
This is a huge release focused on testing and bundle size.
Please checkout our Migration guide to upgrade from earlier versions of Storybook. To see a comprehensive list of changes that went into 9.0, you can refer to the 9.0 prerelease changelogs
<details> <summary>List of all updates</summary>
linkPath to Axe results and use it in copy link action - #31009, thanks @ghengeveld!layout: centered in conjunction with inline: false - #31430, thanks @ghengeveld!@storybook/experimental-addon-test to @storybook/addon-vitest - #31014, thanks @valentinpalkovic!vitest.projects.ts file as workspace file during postinstall - #31565, thanks @ghengeveld!element parameter with context - #31036, thanks @JReinhold!storybook-static from coverage reports - #31005, thanks @JReinhold!staticDir - #31340, thanks @JReinhold!addon-docs - #31488, thanks @JReinhold!missingStorybookDependencies for 9.0 - #30769, thanks @ndelangen!@storybook/addon-essentials proper - #31015, thanks @ndelangen!docs.autodocs field - #31203, thanks @ndelangen!storybook-static to .gitignore on init - #31201, thanks @JReinhold!.rnstorybook CLI automigration - #30882, thanks @shilman!init - #30799, thanks @ndelangen!@chromatic-com/storybook - #30662, thanks @JReinhold!@latest from yarn create commands - #31458, thanks @ndelangen!STORY_HOT_UPDATED and rerun A11y tests on HMR - #31423, thanks @ghengeveld!--preview-only CLI flag - #31102, thanks @JReinhold!features for addons moved into core - #31146, thanks @ndelangen!clickEvent serialization and export public types - #31179, thanks @ghengeveld!util, browser-assert, process deps - #30805, thanks @ndelangen!uuid package from core - #31219, thanks @JReinhold!telejson - #30998, thanks @ndelangen!preview-api import for react-native - #31057, thanks @ndelangen!@storybook/core with storybook - #30168, thanks @ndelangen!Uncaught ReferenceError: global is not defined - #30970, thanks @JReinhold!.js files when .cjs files are passed for entries that should be ESM - #31556, thanks @JReinhold!__STORYBOOK_ADDON_INTERACTIONS_INSTRUMENTER_STATE__ access - #30820, thanks @dannyhw!userEvent.setup() errors in jest - #30833, thanks @dannyhw!userEvent.setup() errors outside browser context - #30831, thanks @dannyhw!@storybook/addon-mdx-gfm) - #30996, thanks @ndelangen!ts-dedent dependency - #31289, thanks @JReinhold!latest version of @storybook/addon-svelte-csf - #31398, thanks @JReinhold!sveltedoc-parser - #31246, thanks @JReinhold!svelte-preprocess dependency - #31332, thanks @JReinhold!enhance - #31360, thanks @JReinhold!storybookVersion - #31577, thanks @tmeasday!@storybook/test into storybook/test - #30742, thanks @valentinpalkovic!Total contributions: 240 Unique contributors: 29
</details>
Addon A11y: Improve selector automigration detection - #31392, thanks @yannbf!
vitest.projects.ts file as workspace file during postinstall - #31565, thanks @ghengeveld!.js files when .cjs files are passed for entries that should be ESM - #31556, thanks @JReinhold!Addon Vitest: Improve handling multiple browser mode projects - #31508, thanks @yannbf!
Addon Vitest: Ensure vitest exclusions are relative to the project root, not cwd - #31514, thanks @mrginglymus!
addon-docs - #31488, thanks @JReinhold!Addon Docs: Simplify color parsing and color cycling logic - #29840, thanks @leyvae!
Addon Docs: Fix docs-content overflow with TOC - #27167, thanks @njsokol!
Addon A11y: Fix usage of axe-core in pnpm projects - #31422, thanks @yannbf!
layout: centered in conjunction with inline: false - #31430, thanks @ghengeveld!@latest from yarn create commands - #31458, thanks @ndelangen!STORY_HOT_UPDATED and rerun A11y tests on HMR - #31423, thanks @ghengeveld!Addon A11y: Fix setup as part of storybook create - #31403, thanks @yannbf!
latest version of @storybook/addon-svelte-csf - #31398, thanks @JReinhold!CLI: Improve CLI upgrade process for @latest and @next - #31356, thanks @yannbf!
CLI: Enhance compatibility check: deprecated detection - #31317, thanks @ndelangen!
Addon-vitest: Remove internal log for staticDir - #31340, thanks @JReinhold!
staticDir - #31340, thanks @JReinhold!react-native-web - #31324, thanks @ndelangen!svelte-preprocess dependency - #31332, thanks @JReinhold!CLI: Fix get versions utility for NPM - #29577, thanks @johnrcui!
Next.js: Remove deprecated compatibility files - #31295, thanks @valentinpalkovic!
ts-dedent dependency - #31289, thanks @JReinhold!All packages: Remove unused dependencies - #31227, thanks @webpro!
sveltedoc-parser - #31246, thanks @JReinhold!Highlights: Dont run highlights when the feature is disabled - #31239, thanks @dannyhw!
Automigration: Remove docs.autodocs field - #31203, thanks @ndelangen!
Addon A11y: Use short titles and friendly summary messages in A11y report - #31185, thanks @ghengeveld!
storybook-static to .gitignore on init - #31201, thanks @JReinhold!--preview-only CLI flag - #31102, thanks @JReinhold!uuid package from core - #31219, thanks @JReinhold!Addon A11y: Only run checks in story mode - #30976, thanks @kroeder!
Addon-vitest: Fix coverage being disabled with Run All button - #31074, thanks @JReinhold!
Addon Controls: Fix loading state UI in addon panel - #31168, thanks @iineineno03k!
element parameter with context - #31036, thanks @JReinhold!features for addons moved into core - #31146, thanks @ndelangen!clickEvent serialization and export public types - #31179, thanks @ghengeveld!Addon Docs: Update telejson - #31115, thanks @valentinpalkovic!
CLI: Fix framework for preview imports - #31101, thanks @valentinpalkovic!
Addon-vitest: Fix coverage when restarting Vitest due to config change - #31069, thanks @JReinhold!
Addon Test: Rename @storybook/experimental-addon-test to @storybook/addon-vitest - #31014, thanks @valentinpalkovic!
@storybook/experimental-addon-test to @storybook/addon-vitest - #31014, thanks @valentinpalkovic!preview-api import for react-native - #31057, thanks @ndelangen!Automigration: Remove @storybook/addon-essentials proper - #31015, thanks @ndelangen!
@storybook/addon-essentials proper - #31015, thanks @ndelangen!Addon A11y: Add linkPath to Axe results and use it in copy link action - #31009, thanks @ghengeveld!
linkPath to Axe results and use it in copy link action - #31009, thanks @ghengeveld!storybook-static from coverage reports - #31005, thanks @JReinhold!Automigrations: Re-add renderer-to-framework and fix issue in monorepositories - #31011, thanks @valentinpalkovic!
telejson - #30998, thanks @ndelangen!@storybook/addon-mdx-gfm) - #30996, thanks @ndelangen!Core: Remove deprecated parts of test provider API - #30962, thanks @JReinhold!
node_modules from docgen - #30981, thanks @JReinhold!Maintenance: Remove deprecated APIs - #30926, thanks @valentinpalkovic!
Uncaught ReferenceError: global is not defined - #30970, thanks @JReinhold!Addons: Move @storybook/addon-interactions into core - #30916, thanks @valentinpalkovic!
Addon-Essentials: Remove addon-docs - #30856, thanks @ndelangen!
Addons: Update the Viewport and Background Addon - #30841, thanks @ndelangen!
.rnstorybook CLI automigration - #30882, thanks @shilman!Angular: Export all files in Angular package.json - #30849, thanks @kasperpeulen!
Core: New Test Provider Store - #30828, thanks @JReinhold!
userEvent.setup() errors in jest - #30833, thanks @dannyhw!userEvent.setup() errors outside browser context - #30831, thanks @dannyhw!Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →