storybook
10.6.5 · 27 Oct 2026MIT22.3M / weekRepositoryHomepagenpmAtom feed
10.6.5 is the newest release of 10.x.
In short
31 new41 fixed83 changed11 internal
Security
2 advisories affect 10.5.0; 10.6.2 fixes them
- CriticalStorybook: Missing origin validation in Storybook preview allows code injection from malicious websitesGHSA-f2ph-cmg5-wxc8 · 21 Oct 2026Fixed in 10.6.2
- HighStorybook dev server vulnerable to code injection from the local networkGHSA-px85-f4q5-jh77 · 22 Oct 2026Fixed in 10.6.2
Release note
Foundational changes for new AI workflows
Storybook 10.5 contains hundreds of fixes and improvements:
⚡️ Angular-vite framework: Modern, fast dev, docs, and test (preview)
🌈 Vitest initialGlobals: Test across themes, viewports, locales
🤖 Agentic review: AI-curated visual changesets and search results (experimental)
⚛️ React docgen service: Unified metadata across MCP, Docs, and Controls (experimental)
🧑💻 Claude / Codex plugins: One-click ADE integration (experimental)
List of all updates
A11y: Fix MDX heading anchors not keyboard accessible
A11y: Handle lang attribute throughout preview
A11y: Surface required args and keyboard-reachable Setup controls in ArgsTable
Addon A11y: Preserve disabled a11y rules with runOnly
Addon Docs: DocsContent not filling available width when TOC is enabled
Addon Docs: Resolve CSF4 module exports without a default export
Addon Docs: Resolve providerImportSource to a path instead of a file:// URL
Addon Vitest: Add an initialGlobals option to pin a project's globals
Addon Vitest: Avoid erroring out on benign Win process exits
Addon Vitest: Fix dynamic import failure with Vitest 3
Addon Vitest: Subscribe for run completion before triggering it
Angular: Add versioned
@types/nodeto packages installed duringstorybook initAngular: Fix custom paths for stats.json on angular
Angular: Fix zone.js drop in angular-to-angular-vite migration + schema sync + transform widening
Angular: Install @analogjs/vite-plugin-angular in angular-to-angular-vite automigration
Angular: Introduce @storybook/angular-vite package
Angular: Support Angular 22 in Webpack framework
Angular: Use future-proof API for component reflection
Babel: Remove bugfixes from preset-env in v8
Builder Vite: Fix empty external globals imports
Builder Vite: Support configLoader via builder options
CLI: Add
storybook ai <tool>MCP passthrough behindSTORYBOOK_FEATURE_AI_CLICLI: Add telemetry for the
storybook ai <command>passthroughCLI: Allow -p shorthand to --port for ai command
CLI: Bundle the
aicommand in core so it never downloads@storybook/cliCLI: Do not auto-open the browser in storybook dev under AI agents
CLI: Exit process after successful build
CLI: Fix angular-to-angular-vite migration failing to configure addon-vitest
CLI: Fix silent hang in deferred addon configuration during upgrade
CLI: Fix upgrade crash on Storybook latest version check
CLI: Handle nested array schema for AI help
CLI: Install MCP when upgrade is ran by agent
CLI: Load Storybook AI help from preset metadata
CLI: Match
storybook aiinstances by config dir as well as cwdCLI: Prefer agent-matched Storybook instances
CLI: Respect BROWSER and BROWSER_ARGS
CLI: Show MCP workflow instructions in AI help
CLI: Skip a11y addon automigration prompting when not applicable
CLI: Support Claude preview autoPort
CLI: Use detected package manager instead of npx for remote commands
Controls: Add label to Object JSON control
Controls: Guard normalizeOptions against array labels and prototype chain lookups
Controls: Improve ArgsTable empty state guidance
Controls: Load controls for composed-ref stories on direct deep-link
Controls: Load controls for stories from a composed ref
Controls: Prevent AbortError when rapidly resetting
Controls: Prevent the save bar from covering the last control
Core: Add ai-review observability
Core: Add experimentalReview feature flag and make the features type augmentable
Core: Add missing export to globals
Core: Add ref-based components manifest index backed by docgen open service
Core: Add runtime instance registry
Core: Allow vite-plus 0.2.x in the optional peer range
Core: Categorize UniversalStore follower timeout error
Core: Clean stale runtime instance records
Core: Compose core annotations before preview beforeAll
Core: Ensure every runtime installs the real channel and stop the mock fallback from poisoning it
Core: Expose backgrounds types from public subpath
Core: Extract StoryDependencyGraphService from ChangeDetectionService
Core: Fix cryptic invariant crash when dev server port detection fails
Core: Fix EEXIST race condition in static file copying during build
Core: Fix npm dependency detection
Core: Fix potential race condition in SET_CONFIG hook
Core: Fix resolveImport TSX fallback
Core: Flush preview-api hook effects in portable stories
Core: Ignore story-like directories in indexer
Core: Improve ActionBar focus indicator in high contrast mode
Core: Include chromatic packages in ecosystem identifier
Core: Incorrect package json handling
Core: Introduce Agentic Review feature
Core: Leave experimentalReview unset by default so the AI CLI plugins can enable review
Core: Recognize addon-mcp registered via getAbsolutePath() in runtime instance registry
Core: Reset WebsocketTransport heartbeat on every message, not just ping
Core: Skip story-docs Code panel emission in portable stories
Core: Use UndoIcon for Review-changes clear button
CSF Next: Propagate skip tags to .test children
CSF Next: Add tags type support for
CSF: Fix Canvas and userEvent types under Yarn PnP
Docgen: Add mock open service
Docgen: Fix inferred argTypes from initial args overriding docgen and custom argTypes in experimentalDocgenServer mode
Docgen: Register service runtime, payload argTypes
Docgen: Run experimentalDocgenServer extraction in a worker thread
Docgen: Wire up react-component-meta with DocgenService
DocgenServer: Fix OOM by recycling the shared TS program
ESLint Plugin: Avoid ESLint Unstable API Load
Index: Remove
hasActiveFilterscheckInit: Support pnpm catalogs when adding addon-vitest dependencies
Interactions: Prevent debugger controls from stealing focus
Maintenance: Centralize supported file extension lists
Maintenance: Replace
resolveandresolve.exportswithoxc-resolverManager: Apply addon-registered filters to the initial story index
Manager: Fix crash when toggling addon panel on mobile (LandmarkManager TypeError)
Manager: Fix layout.showPanel config
Manager: Fix race condition in
experimental_setFilterManager: Keep local preview iframe on host URL when a ref story loads first
Manager: Restructure review feature state, layout integration, and thumbnail pipeline
Measure & Outline: Honor the
disableparameterModuleGraph: Refactor from StoryDependencyService to open service-based ModuleGraphService
ModuleGraph: Stop bumping the graph revision on story-index invalidation
Next: Call link onClick before preventing default
Next: Support
asprop in next/link mockNext Vite: Add Link mock with useLinkStatus to nextjs-vite framework
Next Vite: Bump vite-plugin-storybook-nextjs to ^3.3.0
Open Service: Add
internalproperty to control visibilityOpen Service: Add schema-driven service runtime
Open Service: Add sync between server, manager and preview
Open Service: Call remote commands in load functions
Open Service: Fix docgen hot update controls refresh
Open Service: Fix reactivity on deep signals, fire subscribers on load dependencies
Open Service: Implement service registration on the server
Open Service: Implement service registration on the server (attempt 2)
Open Service: Introduce query states (loading/error/success)
Open Service: Load static query snapshots in browser builds
Open Service: Mark module-graph engine commands as internal
Open Service: Split story docs from docgen service
Open Service: Sync queries, load/loaded() API, strict reader handlers
Open Service: Type getService for core services per runtime
Preview: Preserve @ts-expect-error in web-component and vue preview
Preview: Preserve primitive args for non-ReactNode other types
Preview: Restore iframe scrolling after resizing the layout
Preview: Use width/height instead of min-* in CanvasWrap
Pseudo States: Keep combinator broad pseudo selectors valid
Pseudo States: Preserve URL globals on story change
React Native: Remove babel deps from RN setup (not needed)
React: Add an optional TypeScript peer to react-vite
React: Align react-docgen versions
React: Fix subcomponent prop extraction without JSX usage
React: Render boolean props set to false in source snippets
Review: Dynamic thumbnail scaling based on content dimensions
Review: Fix accessibility/UX issues in the review UI
Review: Fix inaccurate review story counts in sidebar
Review: Improve review thumbnail scaling and loading UX
Review: Notify on review arrival instead of auto-navigating
Review: Simplify layout handling
Tanstack: Export
TanStackPreviewfrom@storybook/tanstack-reactto unblock CSF Next typingTanStack: Normalize route-group handling in createRoute mock
Tanstack: Remove Outlet mock
Tanstack: Supply id OR path when using RouteOptions for route mock
Telemetry: Preserve state machine when the module loads more than once
Telemetry: Prevent pnpm paths from leaking into framework.name
UI: Allow manager-head favicon override
UI: Fix args not preserved in isolation mode
UI: Hide onboarding menu with feature flag
Viewport: Highlight toolbar button when custom viewport is active
Viewport: Warn when legacy
defaultViewportparameter is usedVitest: Reset playwright cursor position to avoid hover bug
Vue: Ensure vue-component-meta runs in post
Vue: Fix Unicode Default Values In Docs
Vue: Use AST to inject __docgenInfo correctly
Webpack: Gate lazy-compilation import pipeline on webpack version