Packages

storybook

10.6.5 · 27 Oct 2026MIT22.3M / weekRepositoryHomepagenpmAtom feed

Your version

10.3.0

18 Mar 2026Where it was published

10.6.5 is the newest release of 10.x.

In short

7 changed

Security

2 advisories affect 10.3.0; 10.6.2 fixes them

Release note

Improved developer experience, AI-assisting tools, and broader ecosystem support

Storybook 10.3 contains hundreds of fixes and improvements including:

  • 🤖 Storybook MCP: Agentic component dev, docs, and test (Preview release for React)

  • ⚡ Vite 8 support

  • ▲ Next.js 16.2 support

  • 📝 ESLint 10 support

  • 〰️ Addon Pseudo-States: Tailwind v4 support

  • 🔧 Addon-Vitest: Simplified configuration - no more setup files required

  • ♿ Numerous accessibility improvements across the UI

List of all updates - A11y: Add ScrollArea prop focusable for when it has static children - A11y: Ensure popover dialogs have an ARIA label - A11y: Make resize handles for addon panel and sidebar accessible [#33980](https://github.com/storybookjs/storybook/pull/33980) - A11y: Underline MDX links for WCAG SC 1.4.1 compliance - Actions: Add expandLevel parameter to configure tree depth - Actions: Fix HandlerFunction type to support async callback props - Addon-Docs: Add React as optimizeDeps entry - Addon-Docs: Add support for `sourceState: 'none'` to canvas block parameters - Addon-docs: Restore `docs.components` overrides for doc blocks [#34111](https://github.com/storybookjs/storybook/pull/34111) - Addon-Vitest: Add channel API to programmatically trigger test runs - Addon-Vitest: Handle additional vitest config export patterns in postinstall - Addon-Vitest: Make Playwright `--with-deps` platform-aware to avoid `sudo` prompt on Linux [#34121](https://github.com/storybookjs/storybook/pull/34121) - Addon-Vitest: Refactor Vitest setup to eliminate the need for a dedicated setup file - Addon-Vitest: Support Vitest canaries - Angular: Add moduleResolution: bundler to tsconfig - Angular: only load webpack dependencies on demand - Angular: Storybook fails with unknown option silent - Build: Update @types/node - Builder-Vite: Centralize Vite plugins for builder-vite and addon-vitest - Builder-Vite: Fix cold-cache vitest failures for story paths containing glob special characters - Builder-Vite: Use preview annotations as entry points for optimizeDeps - CI: declare explicit permissions for stale and weekly cron workflows - CLI: Add vike CLI metadata - CLI: Avoid hanging of postinstall during init - CLI: Fix onboarding not opening - CLI: Show multiple favicons warning as debug message - Cli: Use npm for registry URL in PNPMProxy to avoid workspace errors - Controls: Allow story argTypes to override control: false from meta - Controls: Fix Object contrast issue and tidy up code - Core: Ensure telemetry is never triggered on initial load of checklist data - Core: Fix event source URL based on refId when multiple iframes share the same origin [#34105](https://github.com/storybookjs/storybook/pull/34105) - Core: Fix false-positive CJS warning when 'exports' appears in strings or comments - Core: Fix handling complex viewport sizes [#33615](https://github.com/storybookjs/storybook/pull/33615) - Core: Fix iframe reference for composed Storybook on a subpath [#34100](https://github.com/storybookjs/storybook/pull/34100) - Core: Fix typos: occured -> occurred, recieves -> receives - Core: Handle BROWSER=none correctly and improve error messages - Core: Ignore empty files when indexing - Core: Register CORS middleware before index.json route - Core: Revert Pull Request #33420 from Maelryn/fix/copy-button-overlap - Core: Zoom tool refinements - Hide reset button when value is initial - Docs: Edit JSON button is now accessible at 320x256 viewport (WCAG 2.1 Reflow test) - Docs: Make CSS ordering in DocsContainer more predictable [#34015](https://github.com/storybookjs/storybook/pull/34015) - ESLint-plugin: Disallow extra properties in eslint plugin rule options - ESLint: bail out config setup if eslint-plugin-storybook is already imported - HMR: Fix race conditions causing stale play functions to fire on re-rendered stories - Maintenance: Revert pull request #33930 HMR events - Maintenance: Use std-env for AI agent detection in telemetry [#34114](https://github.com/storybookjs/storybook/pull/34114) - Manifest: Add docs entries to debugger - Manifest: Rename `experimentalComponentsManifest` → `componentsManifest`, default to `true` [#33974](https://github.com/storybookjs/storybook/pull/33974) - Manifests: Fix Attached MDX causing wrong component entries [#34101](https://github.com/storybookjs/storybook/pull/34101) - Next.js-Vite: Fix failing postcss mutation - Next.js: Move image configuration from FrameworkOptions to parameters [#32639](https://github.com/storybookjs/storybook/pull/32639), thanks @y-hsgw! - Preact: Support inferring props from component types - React Native Web: Fix inconsistent example stories - React: Add react-docgen-typescript to component manifest - Revert "Toolbar: Remove extra toolbar divider when zoom controls not shown" - Test: Fix clearing mocks in Vitest [#34078](https://github.com/storybookjs/storybook/pull/34078) - Test: Update @testing-library/jest-dom - Theming: Export interface declaration for `ThemesGlobals` - Toolbar: Remove extra toolbar divider when zoom controls not shown - UI: Allow direct kb/mouse actions on zoom tool button - UI: Avoid large animation for reduced motion users - UI: Ensure Link without href is keyboard-reachable - UI: Fix `z-index` problem with `popover`s and `modal`s nesting - UI: Fix code/copy buttons overlap with content - UI: Fix Copy button overlapping code in portrait mode - UI: Fix modal text selection - UI: Fix tab navigation after closing addon panel - UI: Handle kb nav edge cases when preview and panel are hidden - UI: Hide addon panel Drag on pages without a panel - UI: Hide manifest tag for now - UI: Make disabled Buttons keyboard-focusable - UI: Make TagsFilter state persistent [#33374](https://github.com/storybookjs/storybook/pull/33374) - UI: Use correct selector for addon panel focus check - UI: Zoom faster when pressing shift - Viewport: Skip viewport validation before parameters load - Vite: Add mock entries to optimizeDeps.entries - Vue3-Vite: Allow paths in docgen tsconfig option [#32310](https://github.com/storybookjs/storybook/pull/32310), thanks @Thomaash!