Skip to content

[master] Michijs Dependabot changes#108

Closed
michijs[bot] wants to merge 1 commit into
masterfrom
michijs-dependabot
Closed

[master] Michijs Dependabot changes#108
michijs[bot] wants to merge 1 commit into
masterfrom
michijs-dependabot

Conversation

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump @​michijs/dev-server from 0.8.7 to 0.8.28

Changelog:
Sourced from releases.
        ### 0.8.28## What's Changed

Full Changelog: https://github.com/michijs/dev-server/compare/0.8.22...0.8.28

        ### 0.8.22**Full Changelog**: https://github.com/michijs/dev-server/compare/0.8.19...0.8.22


        ### 0.8.19**Full Changelog**: https://github.com/michijs/dev-server/compare/0.8.18...0.8.19


        ### 0.8.18**Full Changelog**: https://github.com/michijs/dev-server/compare/0.8.17...0.8.18


        ### 0.8.17## What's Changed

Full Changelog: https://github.com/michijs/dev-server/compare/0.8.16...0.8.17

        ### 0.8.16## What's Changed

Full Changelog: https://github.com/michijs/dev-server/compare/0.8.15...0.8.16

        ### 0.8.15**Full Changelog**: https://github.com/michijs/dev-server/compare/v0.8.14...0.8.15


        ### v0.8.14## What's Changed

Full Changelog: https://github.com/michijs/dev-server/compare/0.8.13...%220.8.14%22

        ### 0.8.13## What's Changed

Full Changelog: https://github.com/michijs/dev-server/compare/0.8.12...0.8.13

        ### 0.8.12## What's Changed

Full Changelog: https://github.com/michijs/dev-server/compare/0.8.11...0.8.12

        ### 0.8.11## What's Changed

Full Changelog: https://github.com/michijs/dev-server/compare/0.8.10...0.8.11

        ### 0.8.10**Full Changelog**: https://github.com/michijs/dev-server/compare/0.8.9...0.8.10


        ### 0.8.9## What's Changed

New Contributors

Full Changelog: https://github.com/michijs/dev-server/compare/v0.8.8...0.8.9

        ### v0.8.8-beta.9Automatic release


        ### v0.8.8-beta.8Automatic release


        ### v0.8.8Automatic release


        ### v0.8.8-beta.7Automatic release


        ### v0.8.8-beta.6Automatic release


        ### v0.8.8-beta.5Automatic release


        ### v0.8.8-beta.4Automatic release


        ### v0.8.8-beta.3Automatic release


        ### v0.8.8-beta.2Automatic release


        ### v0.8.8-beta.0Automatic release


        ### v0.8.7Added '/index.html', '/assets/*', '/manifest.json', '/favicon.ico' to external as default


        ### v0.8.7-beta.9Automatic release


        ### v0.8.7-beta.10Automatic release


        ### v0.8.7-beta.8Automatic release


        ### v0.8.7-beta.7Automatic release


        ### v0.8.7-beta.6Automatic release


        ### v0.8.7-beta.5Automatic release
Commit history:

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump typescript from 5.9.2 to 5.9.3

Changelog:
Sourced from releases.
        ### v5.9.3Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.

For release notes, check out the release announcement

Downloads are available on:

  • npm

          ### v5.9.2Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.
    

For release notes, check out the release announcement

Downloads are available on:

Commit history:
  • 4f7b41 Bump the github-actions group with 2 updates (#63224)

    Signed-off-by: dependabot[bot] <support@​github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.github.com>

  • 9059e5 Fix missing lib files in reused programs (#63239)
  • c9e742 Port anyFunctionType subtype fix and JSX children NonInferrableType propagation from typescript-go (#63163)

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.github.com>
    Co-authored-by: DanielRosenwasser <972891+DanielRosenwasser@​users.noreply.github.com>

  • 206ed1 Deprecate assert in import() (#63172)
  • e688ac Update dependencies (#63156)
  • 29b300 Bump the github-actions group across 1 directory with 2 updates (#63205)

    Signed-off-by: dependabot[bot] <support@​github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.github.com>

  • 0c2c7a DOM update (#63183)
  • 924810 Adds the symbol name to the error message for TS2742 (#63200)
  • 6cf817 discrete pluralizer for lib.esnext.temporal unit unions (#63190)
  • b24015 Eliminate interpolation from workflows (#63188)
  • 347254 Update DOM types (#63137)
  • ad04bf Fix crash in declaration emit with nested binding patterns (#63154)

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.github.com>
    Co-authored-by: DanielRosenwasser <972891+DanielRosenwasser@​users.noreply.github.com>

  • 0ed1ee Fix from and with method types of Temporal.PlainMonthDay (#63142)
  • 040c20 Bump github/codeql-action from 4.32.2 to 4.32.3 in the github-actions group (#63145)

    Signed-off-by: dependabot[bot] <support@​github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.github.com>

  • cdc205 Ensure node is installed in release publisher (#63127)
  • cdb583 Bump github/codeql-action from 4.32.0 to 4.32.2 in the github-actions group (#63123)

    Signed-off-by: dependabot[bot] <support@​github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@​users.noreply.github.com>

  • 87aa91 Always set up host in node builder (#62726)
  • e872a6 Un‑consolidate and fix WeakMap constructor overloads (#56713)

    Co-authored-by: Jake Bailey <5341706+jakebailey@​users.noreply.github.com>

  • 5e4281 Add lib.esnext.temporal (#62628)
  • 240797 DOM update (#62730)
  • 70c5fc Document indexOf return value when not found (#60569)

    Co-authored-by: Jake Bailey <5341706+jakebailey@​users.noreply.github.com>

  • 8bb72d Return iterable of RegExpExecArray from RegExp#[Symbol.matchAll] (#60516)

    Co-authored-by: Jake Bailey <5341706+jakebailey@​users.noreply.github.com>

  • 0457b6 Fix RegExpIndicesArray by adding undefined to type definition (#61079)
  • 2b881b Update Map.clear and Set.clear jsdoc in es2015.collection.d.ts (#57661)

    Co-authored-by: Jake Bailey <5341706+jakebailey@​users.noreply.github.com>

  • fbe221 Add approximatelySign to NumberFormatRangePartTypeRegistry for ES2023 (#62013)

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@​users.noreply.github.com>
    Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@​users.noreply.github.com>
    Co-authored-by: jakebailey <5341706+jakebailey@​users.noreply.github.com>

  • d3ce3c Implement Intl Locale Info proposal (#60656)

    Co-authored-by: printfn <printfn@​users.noreply.github.com>
    Co-authored-by: Jake Bailey <5341706+jakebailey@​users.noreply.github.com>

  • e018d8 Add proposal-upsert methods to lib.esnext.collection (#62612)

    Co-authored-by: Jake Bailey <5341706+jakebailey@​users.noreply.github.com>

  • 020894 Add --stableTypeOrdering for TS7 ordering compat (#63084)
  • a84710 add collation to Intl.CollatorOptions (#62971)
  • ee0956 Introduce ES2025 target & Add missing ScriptTargetFeatures (#63046)

    Co-authored-by: lionel-rowe <lionel.rowe@​gmail.com>
    Co-authored-by: 김상두 <puki4416@​gmail.com>
    Co-authored-by: Jake Bailey <5341706+jakebailey@​users.noreply.github.com>

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump @​storybook/addon-docs from 9.1.3 to 10.3.1

Changelog:
Sourced from releases.
        ### v10.4.0-alpha.2## 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!

          ### v10.4.0-alpha.1## 10.4.0-alpha.1
    
  • Docs: Ensure unique control id attributes across multiple Controls blocks - #34021, thanks @​TheSeydiCharyyev!

          ### v10.3.1## 10.3.1
    
  • 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!

          ### v10.4.0-alpha.0## 10.4.0-alpha.0
    
    
    
    
          ### v10.3.0## 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
List of all updates
  • 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!
        ### v10.3.0-beta.3## 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!

          ### v10.3.0-beta.2## 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!

          ### v10.3.0-beta.1## 10.3.0-beta.1
    
  • Addon-Docs: Add React as optimizeDeps entry - #34176, thanks @​valentinpalkovic!

  • CLI: Avoid hanging of postinstall during init - #34175, thanks @​valentinpalkovic!

          ### v10.3.0-beta.0## 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-deps platform-aware to avoid sudo prompt on Linux #34121

  • Addon-docs: Restore docs.components overrides 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 experimentalComponentsManifestcomponentsManifest, default to true #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

          ### v10.3.0-alpha.17## 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!

          ### v10.2.19## 10.2.19
    
  • Maintenance: Support vite-plugin-svelte@​7 which supports Vite 8 - #34115, thanks @​valentinpalkovic!

  • Vite: Support Vite 8 - #33788, thanks @​valentinpalkovic!

          ### v10.2.18## 10.2.18
    
  • Core: Correctly fallback to first detected vitest config file - #33865, thanks @​yannbf!

  • Core: Fix error reporting in ManagerErrorBoundary - #33915, thanks @​ghengeveld!

          ### v10.3.0-alpha.16## 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!

          ### v10.3.0-alpha.15## 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!

          ### v10.2.17## 10.2.17
    
  • Next.js: Add support for v16.2 - #34046, thanks @​valentinpalkovic!

          ### v10.2.16## 10.2.16
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v9.1.20## 9.1.20
    
  • Add request validation

          ### v10.3.0-alpha.14## 10.3.0-alpha.14
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v10.2.15## 10.2.15
    
  • Core: Storybook failed to load iframe.html when publishing - #33896, thanks @​danielalanbates!

  • Manager-API: Update refs sequentially in experimental_setFilter - #33958, thanks @​ia319!

  • React: Handle render identifier in manifest snippet generation - #33940, thanks @​kasperpeulen!

          ### v10.3.0-alpha.13## 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!

          ### v10.2.14## 10.2.14
    
  • CLI: Set STORYBOOK environment variable - #33938, thanks @​yannbf!

  • UI: Prevent crash when tag filters contain undefined entries - #33931, thanks @​abhaysinh1000!

          ### v10.3.0-alpha.12## 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!

          ### v10.2.13## 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!

          ### v10.3.0-alpha.11## 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!

          ### v10.3.0-alpha.10## 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!

          ### v10.2.12## 10.2.12
    
  • Core: Sanitize inputs for save from controls - #33868, thanks @​valentinpalkovic!

  • Telemetry: Add project age - #33910, thanks @​shilman!

  • Webpack: Improve performance of module-mocking plugins - #33169, thanks @​valentinpalkovic!

          ### v10.3.0-alpha.9## 10.3.0-alpha.9
    
  • React: Add react-docgen-typescript to component manifest - #33818, thanks @​kasperpeulen!

          ### v10.3.0-alpha.8## 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!

Commit history:
  • 679830 Merge pull request #34247 from storybookjs/add-pseudo-state-tailwind-hover-story

    Addon-Pseudostates: Add story showing support for media hover syntax

  • 7b98fd Addon-Pseudostates: Add story showing support for media hover syntax
  • 87733f Merge pull request #34141 from dididy/fix/e2e-unawaited-actions

    Tests: Fix unawaited Playwright actions and non-asserting isVisible() calls

  • 346d5d Merge pull request #33698 from yatishgoel/fix/32757-ts-loader-js-extension-resolution

    Core: Resolve .js imports to .ts files in TypeScript loader

  • 3f9776 Merge pull request #34240 from storybookjs/valentin/add-fix-lintik-types-on-pr

    Agent: Add fix-linting-types-on-pr skill

  • db8b30 Agent: Add fix-linting-types-on-pr
  • d38952 Merge pull request #34224 from storybookjs/chore/removeprettierrc

    Cleanup: Remove root prettierRC and update snapshots

  • ed6fb1 Merge pull request #34236 from storybookjs/shilman/cli-tweak

    CLI: Shorten CTA link messages

  • 793e35 Merge pull request #34158 from storybookjs/ci-danger-release-jobs

    CI: Relax Danger label rules on release PRs

  • ddc932 Merge pull request #34231 from dannyhw/dannyhw/fix/rnw-vite8-support

    React Native Web: Fix vite8 support by bumping vite-plugin-rnw

  • e01c9a Merge branch 'next' into shilman/cli-tweak
  • e0e907 CLI: Shorten CTA link messages
  • 98e5e0 React Native Web: Fix vite8 support by bumping vite-plugin-rnw
  • cc5f09 Merge pull request #33982 from ValentinFunk/next

    Angular: Use Story ID for renderer IDs (including standalone stories)

  • 466e87 Update CHANGELOG.md for v10.3.1 [skip ci]
  • 1c3d42 Merge branch 'next-release' into next
  • 3191cb Bump version from "10.4.0-alpha.1" to "10.4.0-alpha.2" [skip ci]
  • feb663 Merge pull request #34217 from storybookjs/version-non-patch-from-10.4.0-alpha.1

    Release: Prerelease 10.4.0-alpha.2

  • 557fa0 chore: remove root prettierRC and update snapshots
  • 15edac Build: Move prettier to oxfmt
  • b652f4 Merge branch 'next' into fix/32757-ts-loader-js-extension-resolution
  • fdfdd9 Write changelog for 10.4.0-alpha.2 [skip ci]
  • 124007 Merge branch 'next-release' into next
  • d47eeb Bump version from "10.4.0-alpha.0" to "10.4.0-alpha.1" [skip ci]
  • 2f6ca4 Merge pull request #34209 from storybookjs/version-non-patch-from-10.4.0-alpha.0

    Release: Prerelease 10.4.0-alpha.1

  • b00ebf Merge pull request #34153 from storybookjs/fix-persistent-story-viewport

    Core: Prevent story-local viewport from persisting in URL

  • 707ddb Merge pull request #34034 from 50bbx/chore/upgrade-serialize-javascript

    Security: Makes sure serialize-javascript is at latest version

  • 7329ba Formatting
  • ac8171 Merge pull request #34214 from storybookjs/fix/repro-command

    CLI: Use npm info to fetch versions in repro command

  • adf67a Merge pull request #34168 from mixelburg/chore/remove-dead-wrap-getAbsolutePath-utils

    Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump storybook from 9.1.3 to 10.3.1

Changelog:
Sourced from releases.
        ### v10.4.0-alpha.2## 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!

          ### v10.4.0-alpha.1## 10.4.0-alpha.1
    
  • Docs: Ensure unique control id attributes across multiple Controls blocks - #34021, thanks @​TheSeydiCharyyev!

          ### v10.3.1## 10.3.1
    
  • 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!

          ### v10.4.0-alpha.0## 10.4.0-alpha.0
    
    
    
    
          ### v10.3.0## 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
List of all updates
  • 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!
        ### v10.3.0-beta.3## 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!

          ### v10.3.0-beta.2## 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!

          ### v10.3.0-beta.1## 10.3.0-beta.1
    
  • Addon-Docs: Add React as optimizeDeps entry - #34176, thanks @​valentinpalkovic!

  • CLI: Avoid hanging of postinstall during init - #34175, thanks @​valentinpalkovic!

          ### v10.3.0-beta.0## 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-deps platform-aware to avoid sudo prompt on Linux #34121

  • Addon-docs: Restore docs.components overrides 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 experimentalComponentsManifestcomponentsManifest, default to true #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

          ### v10.3.0-alpha.17## 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!

          ### v10.2.19## 10.2.19
    
  • Maintenance: Support vite-plugin-svelte@​7 which supports Vite 8 - #34115, thanks @​valentinpalkovic!

  • Vite: Support Vite 8 - #33788, thanks @​valentinpalkovic!

          ### v10.2.18## 10.2.18
    
  • Core: Correctly fallback to first detected vitest config file - #33865, thanks @​yannbf!

  • Core: Fix error reporting in ManagerErrorBoundary - #33915, thanks @​ghengeveld!

          ### v10.3.0-alpha.16## 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!

          ### v10.3.0-alpha.15## 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!

          ### v10.2.17## 10.2.17
    
  • Next.js: Add support for v16.2 - #34046, thanks @​valentinpalkovic!

          ### v10.2.16## 10.2.16
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v9.1.20## 9.1.20
    
  • Add request validation

          ### v10.3.0-alpha.14## 10.3.0-alpha.14
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v10.2.15## 10.2.15
    
  • Core: Storybook failed to load iframe.html when publishing - #33896, thanks @​danielalanbates!

  • Manager-API: Update refs sequentially in experimental_setFilter - #33958, thanks @​ia319!

  • React: Handle render identifier in manifest snippet generation - #33940, thanks @​kasperpeulen!

          ### v10.3.0-alpha.13## 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!

          ### v10.2.14## 10.2.14
    
  • CLI: Set STORYBOOK environment variable - #33938, thanks @​yannbf!

  • UI: Prevent crash when tag filters contain undefined entries - #33931, thanks @​abhaysinh1000!

          ### v10.3.0-alpha.12## 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!

          ### v10.2.13## 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!

          ### v10.3.0-alpha.11## 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!

          ### v10.3.0-alpha.10## 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!

          ### v10.2.12## 10.2.12
    
  • Core: Sanitize inputs for save from controls - #33868, thanks @​valentinpalkovic!

  • Telemetry: Add project age - #33910, thanks @​shilman!

  • Webpack: Improve performance of module-mocking plugins - #33169, thanks @​valentinpalkovic!

          ### v10.3.0-alpha.9## 10.3.0-alpha.9
    
  • React: Add react-docgen-typescript to component manifest - #33818, thanks @​kasperpeulen!

          ### v10.3.0-alpha.8## 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!

Commit history:
  • 679830 Merge pull request #34247 from storybookjs/add-pseudo-state-tailwind-hover-story

    Addon-Pseudostates: Add story showing support for media hover syntax

  • 7b98fd Addon-Pseudostates: Add story showing support for media hover syntax
  • 87733f Merge pull request #34141 from dididy/fix/e2e-unawaited-actions

    Tests: Fix unawaited Playwright actions and non-asserting isVisible() calls

  • 346d5d Merge pull request #33698 from yatishgoel/fix/32757-ts-loader-js-extension-resolution

    Core: Resolve .js imports to .ts files in TypeScript loader

  • 3f9776 Merge pull request #34240 from storybookjs/valentin/add-fix-lintik-types-on-pr

    Agent: Add fix-linting-types-on-pr skill

  • db8b30 Agent: Add fix-linting-types-on-pr
  • d38952 Merge pull request #34224 from storybookjs/chore/removeprettierrc

    Cleanup: Remove root prettierRC and update snapshots

  • ed6fb1 Merge pull request #34236 from storybookjs/shilman/cli-tweak

    CLI: Shorten CTA link messages

  • 793e35 Merge pull request #34158 from storybookjs/ci-danger-release-jobs

    CI: Relax Danger label rules on release PRs

  • ddc932 Merge pull request #34231 from dannyhw/dannyhw/fix/rnw-vite8-support

    React Native Web: Fix vite8 support by bumping vite-plugin-rnw

  • e01c9a Merge branch 'next' into shilman/cli-tweak
  • e0e907 CLI: Shorten CTA link messages
  • 98e5e0 React Native Web: Fix vite8 support by bumping vite-plugin-rnw
  • cc5f09 Merge pull request #33982 from ValentinFunk/next

    Angular: Use Story ID for renderer IDs (including standalone stories)

  • 466e87 Update CHANGELOG.md for v10.3.1 [skip ci]
  • 1c3d42 Merge branch 'next-release' into next
  • 3191cb Bump version from "10.4.0-alpha.1" to "10.4.0-alpha.2" [skip ci]
  • feb663 Merge pull request #34217 from storybookjs/version-non-patch-from-10.4.0-alpha.1

    Release: Prerelease 10.4.0-alpha.2

  • 557fa0 chore: remove root prettierRC and update snapshots
  • 15edac Build: Move prettier to oxfmt
  • b652f4 Merge branch 'next' into fix/32757-ts-loader-js-extension-resolution
  • fdfdd9 Write changelog for 10.4.0-alpha.2 [skip ci]
  • 124007 Merge branch 'next-release' into next
  • d47eeb Bump version from "10.4.0-alpha.0" to "10.4.0-alpha.1" [skip ci]
  • 2f6ca4 Merge pull request #34209 from storybookjs/version-non-patch-from-10.4.0-alpha.0

    Release: Prerelease 10.4.0-alpha.1

  • b00ebf Merge pull request #34153 from storybookjs/fix-persistent-story-viewport

    Core: Prevent story-local viewport from persisting in URL

  • 707ddb Merge pull request #34034 from 50bbx/chore/upgrade-serialize-javascript

    Security: Makes sure serialize-javascript is at latest version

  • 7329ba Formatting
  • ac8171 Merge pull request #34214 from storybookjs/fix/repro-command

    CLI: Use npm info to fetch versions in repro command

  • adf67a Merge pull request #34168 from mixelburg/chore/remove-dead-wrap-getAbsolutePath-utils

    Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump storybook-dark-mode from 4.0.2 to 5.0.0

Changelog:
Sourced from releases.
        ### v5.0.0#### 💥 Breaking Change

🏠 Internal

Authors: 2

Authors: 1

Commit history:
  • 0fe31a Bump version to: 5.0.0 [skip ci]
  • 37ff57 Update contributors [skip ci]
  • ee3b5e Update CHANGELOG.md [skip ci]
  • ddf5d6 Merge pull request #307 from hipstersmoothie/v10

    Storybook V10 Compatibility

  • d10d8b Upgrade to strorybook 10
  • f9048f move to pnpm and get example working
  • 9347ae Merge pull request #278 from dartess/update-actions

    update actions/*

  • 9a5d67 Bump version to: 4.0.2 [skip ci]
  • c53228 Update contributors [skip ci]
  • 28fa4b Update CHANGELOG.md [skip ci]
  • 52fe0d Merge pull request #279 from adam-golab/master

    Fix for the "Storybook preview hooks can only be called inside decorators and story functions." error

  • 7342b9 fix: use the useEffect from storybook preview api
  • 153f21 fix: use useState hook from storybook preview api
  • fa7ca8 update actions
  • efbd14 Bump version to: 4.0.1 [skip ci]
  • 143e9d Update contributors [skip ci]
  • 9d8d9d Update CHANGELOG.md [skip ci]
  • 07efab Merge pull request #266 from leiit/fix-use-darkmode

    Fix useDarkMode to use correct channel

  • 576b40 Fix useDarkMode to use correct addons channel
  • df8d44 Add test story for useDarkMode
  • 8c055e Add typings & StoryObj format for Button story
  • 48638c Merge pull request #253 from hipstersmoothie/renovate/storybook-icons-1.x-lockfile

    Update dependency @​storybook/icons to v1.2.9

  • 50fc77 Bump version to: 4.0.0 [skip ci]
  • 30c0de Update contributors [skip ci]
  • 3d9bb6 Update CHANGELOG.md [skip ci]
  • 2f4f53 update auto
  • 550fe3 Update dependency @​storybook/icons to v1.2.9
  • d2f988 Merge pull request #251 from dartess/storybook-8

    Storybook 8

  • 319fe2 up node version in github workflows
  • fa60c8 update storybook to v8 stable

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump @​michijs/shared-configs from 0.0.24 to 0.0.36

Changelog:
Sourced from releases.
        ### 0.0.36## What's Changed

New Contributors

Full Changelog: https://github.com/michijs/shared-configs/compare/0.0.34...0.0.36

        ### 0.0.34**Full Changelog**: https://github.com/michijs/shared-configs/compare/0.0.33...0.0.34


        ### 0.0.33**Full Changelog**: https://github.com/michijs/shared-configs/compare/0.0.32...0.0.33


        ### 0.0.32**Full Changelog**: https://github.com/michijs/shared-configs/compare/0.0.31...0.0.32


        ### 0.0.31**Full Changelog**: https://github.com/michijs/shared-configs/compare/0.0.30...0.0.31


        ### 0.0.30## What's Changed

Full Changelog: https://github.com/michijs/shared-configs/compare/0.0.29...0.0.30

        ### 0.0.29**Full Changelog**: https://github.com/michijs/shared-configs/compare/0.0.28...0.0.29


        ### 0.0.28**Full Changelog**: https://github.com/michijs/shared-configs/compare/0.0.27...0.0.28


        ### 0.0.27**Full Changelog**: https://github.com/michijs/shared-configs/compare/0.0.26...0.0.27


        ### 0.0.26**Full Changelog**: https://github.com/michijs/shared-configs/compare/0.0.25...0.0.26


        ### 0.0.25**Full Changelog**: https://github.com/michijs/shared-configs/compare/0.0.24...0.0.25


        ### 0.0.24Automatic release
Commit history:

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author
Changelog:
Sourced from releases.
        ### v10.4.0-alpha.2## 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!

          ### v10.4.0-alpha.1## 10.4.0-alpha.1
    
  • Docs: Ensure unique control id attributes across multiple Controls blocks - #34021, thanks @​TheSeydiCharyyev!

          ### v10.3.1## 10.3.1
    
  • 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!

          ### v10.4.0-alpha.0## 10.4.0-alpha.0
    
    
    
    
          ### v10.3.0## 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
List of all updates
  • 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!
        ### v10.3.0-beta.3## 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!

          ### v10.3.0-beta.2## 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!

          ### v10.3.0-beta.1## 10.3.0-beta.1
    
  • Addon-Docs: Add React as optimizeDeps entry - #34176, thanks @​valentinpalkovic!

  • CLI: Avoid hanging of postinstall during init - #34175, thanks @​valentinpalkovic!

          ### v10.3.0-beta.0## 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-deps platform-aware to avoid sudo prompt on Linux #34121

  • Addon-docs: Restore docs.components overrides 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 experimentalComponentsManifestcomponentsManifest, default to true #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

          ### v10.3.0-alpha.17## 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!

          ### v10.2.19## 10.2.19
    
  • Maintenance: Support vite-plugin-svelte@​7 which supports Vite 8 - #34115, thanks @​valentinpalkovic!

  • Vite: Support Vite 8 - #33788, thanks @​valentinpalkovic!

          ### v10.2.18## 10.2.18
    
  • Core: Correctly fallback to first detected vitest config file - #33865, thanks @​yannbf!

  • Core: Fix error reporting in ManagerErrorBoundary - #33915, thanks @​ghengeveld!

          ### v10.3.0-alpha.16## 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!

          ### v10.3.0-alpha.15## 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!

          ### v10.2.17## 10.2.17
    
  • Next.js: Add support for v16.2 - #34046, thanks @​valentinpalkovic!

          ### v10.2.16## 10.2.16
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v9.1.20## 9.1.20
    
  • Add request validation

          ### v10.3.0-alpha.14## 10.3.0-alpha.14
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v10.2.15## 10.2.15
    
  • Core: Storybook failed to load iframe.html when publishing - #33896, thanks @​danielalanbates!

  • Manager-API: Update refs sequentially in experimental_setFilter - #33958, thanks @​ia319!

  • React: Handle render identifier in manifest snippet generation - #33940, thanks @​kasperpeulen!

          ### v10.3.0-alpha.13## 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!

          ### v10.2.14## 10.2.14
    
  • CLI: Set STORYBOOK environment variable - #33938, thanks @​yannbf!

  • UI: Prevent crash when tag filters contain undefined entries - #33931, thanks @​abhaysinh1000!

          ### v10.3.0-alpha.12## 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!

          ### v10.2.13## 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!

          ### v10.3.0-alpha.11## 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!

          ### v10.3.0-alpha.10## 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!

          ### v10.2.12## 10.2.12
    
  • Core: Sanitize inputs for save from controls - #33868, thanks @​valentinpalkovic!

  • Telemetry: Add project age - #33910, thanks @​shilman!

  • Webpack: Improve performance of module-mocking plugins - #33169, thanks @​valentinpalkovic!

          ### v10.3.0-alpha.9## 10.3.0-alpha.9
    
  • React: Add react-docgen-typescript to component manifest - #33818, thanks @​kasperpeulen!

          ### v10.3.0-alpha.8## 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!

Commit history:
  • 679830 Merge pull request #34247 from storybookjs/add-pseudo-state-tailwind-hover-story

    Addon-Pseudostates: Add story showing support for media hover syntax

  • 7b98fd Addon-Pseudostates: Add story showing support for media hover syntax
  • 87733f Merge pull request #34141 from dididy/fix/e2e-unawaited-actions

    Tests: Fix unawaited Playwright actions and non-asserting isVisible() calls

  • 346d5d Merge pull request #33698 from yatishgoel/fix/32757-ts-loader-js-extension-resolution

    Core: Resolve .js imports to .ts files in TypeScript loader

  • 3f9776 Merge pull request #34240 from storybookjs/valentin/add-fix-lintik-types-on-pr

    Agent: Add fix-linting-types-on-pr skill

  • db8b30 Agent: Add fix-linting-types-on-pr
  • d38952 Merge pull request #34224 from storybookjs/chore/removeprettierrc

    Cleanup: Remove root prettierRC and update snapshots

  • ed6fb1 Merge pull request #34236 from storybookjs/shilman/cli-tweak

    CLI: Shorten CTA link messages

  • 793e35 Merge pull request #34158 from storybookjs/ci-danger-release-jobs

    CI: Relax Danger label rules on release PRs

  • ddc932 Merge pull request #34231 from dannyhw/dannyhw/fix/rnw-vite8-support

    React Native Web: Fix vite8 support by bumping vite-plugin-rnw

  • e01c9a Merge branch 'next' into shilman/cli-tweak
  • e0e907 CLI: Shorten CTA link messages
  • 98e5e0 React Native Web: Fix vite8 support by bumping vite-plugin-rnw
  • cc5f09 Merge pull request #33982 from ValentinFunk/next

    Angular: Use Story ID for renderer IDs (including standalone stories)

  • 466e87 Update CHANGELOG.md for v10.3.1 [skip ci]
  • 1c3d42 Merge branch 'next-release' into next
  • 3191cb Bump version from "10.4.0-alpha.1" to "10.4.0-alpha.2" [skip ci]
  • feb663 Merge pull request #34217 from storybookjs/version-non-patch-from-10.4.0-alpha.1

    Release: Prerelease 10.4.0-alpha.2

  • 557fa0 chore: remove root prettierRC and update snapshots
  • 15edac Build: Move prettier to oxfmt
  • b652f4 Merge branch 'next' into fix/32757-ts-loader-js-extension-resolution
  • fdfdd9 Write changelog for 10.4.0-alpha.2 [skip ci]
  • 124007 Merge branch 'next-release' into next
  • d47eeb Bump version from "10.4.0-alpha.0" to "10.4.0-alpha.1" [skip ci]
  • 2f6ca4 Merge pull request #34209 from storybookjs/version-non-patch-from-10.4.0-alpha.0

    Release: Prerelease 10.4.0-alpha.1

  • b00ebf Merge pull request #34153 from storybookjs/fix-persistent-story-viewport

    Core: Prevent story-local viewport from persisting in URL

  • 707ddb Merge pull request #34034 from 50bbx/chore/upgrade-serialize-javascript

    Security: Makes sure serialize-javascript is at latest version

  • 7329ba Formatting
  • ac8171 Merge pull request #34214 from storybookjs/fix/repro-command

    CLI: Use npm info to fetch versions in repro command

  • adf67a Merge pull request #34168 from mixelburg/chore/remove-dead-wrap-getAbsolutePath-utils

    Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump @​storybook/addon-a11y from 9.1.3 to 10.3.1

Changelog:
Sourced from releases.
        ### v10.4.0-alpha.2## 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!

          ### v10.4.0-alpha.1## 10.4.0-alpha.1
    
  • Docs: Ensure unique control id attributes across multiple Controls blocks - #34021, thanks @​TheSeydiCharyyev!

          ### v10.3.1## 10.3.1
    
  • 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!

          ### v10.4.0-alpha.0## 10.4.0-alpha.0
    
    
    
    
          ### v10.3.0## 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
List of all updates
  • 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!
        ### v10.3.0-beta.3## 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!

          ### v10.3.0-beta.2## 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!

          ### v10.3.0-beta.1## 10.3.0-beta.1
    
  • Addon-Docs: Add React as optimizeDeps entry - #34176, thanks @​valentinpalkovic!

  • CLI: Avoid hanging of postinstall during init - #34175, thanks @​valentinpalkovic!

          ### v10.3.0-beta.0## 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-deps platform-aware to avoid sudo prompt on Linux #34121

  • Addon-docs: Restore docs.components overrides 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 experimentalComponentsManifestcomponentsManifest, default to true #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

          ### v10.3.0-alpha.17## 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!

          ### v10.2.19## 10.2.19
    
  • Maintenance: Support vite-plugin-svelte@​7 which supports Vite 8 - #34115, thanks @​valentinpalkovic!

  • Vite: Support Vite 8 - #33788, thanks @​valentinpalkovic!

          ### v10.2.18## 10.2.18
    
  • Core: Correctly fallback to first detected vitest config file - #33865, thanks @​yannbf!

  • Core: Fix error reporting in ManagerErrorBoundary - #33915, thanks @​ghengeveld!

          ### v10.3.0-alpha.16## 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!

          ### v10.3.0-alpha.15## 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!

          ### v10.2.17## 10.2.17
    
  • Next.js: Add support for v16.2 - #34046, thanks @​valentinpalkovic!

          ### v10.2.16## 10.2.16
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v9.1.20## 9.1.20
    
  • Add request validation

          ### v10.3.0-alpha.14## 10.3.0-alpha.14
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v10.2.15## 10.2.15
    
  • Core: Storybook failed to load iframe.html when publishing - #33896, thanks @​danielalanbates!

  • Manager-API: Update refs sequentially in experimental_setFilter - #33958, thanks @​ia319!

  • React: Handle render identifier in manifest snippet generation - #33940, thanks @​kasperpeulen!

          ### v10.3.0-alpha.13## 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!

          ### v10.2.14## 10.2.14
    
  • CLI: Set STORYBOOK environment variable - #33938, thanks @​yannbf!

  • UI: Prevent crash when tag filters contain undefined entries - #33931, thanks @​abhaysinh1000!

          ### v10.3.0-alpha.12## 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!

          ### v10.2.13## 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!

          ### v10.3.0-alpha.11## 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!

          ### v10.3.0-alpha.10## 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!

          ### v10.2.12## 10.2.12
    
  • Core: Sanitize inputs for save from controls - #33868, thanks @​valentinpalkovic!

  • Telemetry: Add project age - #33910, thanks @​shilman!

  • Webpack: Improve performance of module-mocking plugins - #33169, thanks @​valentinpalkovic!

          ### v10.3.0-alpha.9## 10.3.0-alpha.9
    
  • React: Add react-docgen-typescript to component manifest - #33818, thanks @​kasperpeulen!

          ### v10.3.0-alpha.8## 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!

Commit history:
  • 679830 Merge pull request #34247 from storybookjs/add-pseudo-state-tailwind-hover-story

    Addon-Pseudostates: Add story showing support for media hover syntax

  • 7b98fd Addon-Pseudostates: Add story showing support for media hover syntax
  • 87733f Merge pull request #34141 from dididy/fix/e2e-unawaited-actions

    Tests: Fix unawaited Playwright actions and non-asserting isVisible() calls

  • 346d5d Merge pull request #33698 from yatishgoel/fix/32757-ts-loader-js-extension-resolution

    Core: Resolve .js imports to .ts files in TypeScript loader

  • 3f9776 Merge pull request #34240 from storybookjs/valentin/add-fix-lintik-types-on-pr

    Agent: Add fix-linting-types-on-pr skill

  • db8b30 Agent: Add fix-linting-types-on-pr
  • d38952 Merge pull request #34224 from storybookjs/chore/removeprettierrc

    Cleanup: Remove root prettierRC and update snapshots

  • ed6fb1 Merge pull request #34236 from storybookjs/shilman/cli-tweak

    CLI: Shorten CTA link messages

  • 793e35 Merge pull request #34158 from storybookjs/ci-danger-release-jobs

    CI: Relax Danger label rules on release PRs

  • ddc932 Merge pull request #34231 from dannyhw/dannyhw/fix/rnw-vite8-support

    React Native Web: Fix vite8 support by bumping vite-plugin-rnw

  • e01c9a Merge branch 'next' into shilman/cli-tweak
  • e0e907 CLI: Shorten CTA link messages
  • 98e5e0 React Native Web: Fix vite8 support by bumping vite-plugin-rnw
  • cc5f09 Merge pull request #33982 from ValentinFunk/next

    Angular: Use Story ID for renderer IDs (including standalone stories)

  • 466e87 Update CHANGELOG.md for v10.3.1 [skip ci]
  • 1c3d42 Merge branch 'next-release' into next
  • 3191cb Bump version from "10.4.0-alpha.1" to "10.4.0-alpha.2" [skip ci]
  • feb663 Merge pull request #34217 from storybookjs/version-non-patch-from-10.4.0-alpha.1

    Release: Prerelease 10.4.0-alpha.2

  • 557fa0 chore: remove root prettierRC and update snapshots
  • 15edac Build: Move prettier to oxfmt
  • b652f4 Merge branch 'next' into fix/32757-ts-loader-js-extension-resolution
  • fdfdd9 Write changelog for 10.4.0-alpha.2 [skip ci]
  • 124007 Merge branch 'next-release' into next
  • d47eeb Bump version from "10.4.0-alpha.0" to "10.4.0-alpha.1" [skip ci]
  • 2f6ca4 Merge pull request #34209 from storybookjs/version-non-patch-from-10.4.0-alpha.0

    Release: Prerelease 10.4.0-alpha.1

  • b00ebf Merge pull request #34153 from storybookjs/fix-persistent-story-viewport

    Core: Prevent story-local viewport from persisting in URL

  • 707ddb Merge pull request #34034 from 50bbx/chore/upgrade-serialize-javascript

    Security: Makes sure serialize-javascript is at latest version

  • 7329ba Formatting
  • ac8171 Merge pull request #34214 from storybookjs/fix/repro-command

    CLI: Use npm info to fetch versions in repro command

  • adf67a Merge pull request #34168 from mixelburg/chore/remove-dead-wrap-getAbsolutePath-utils

    Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump bun from 1.2.21 to 1.3.11

Changelog:
Sourced from releases.
        ### bun-v1.3.11To install Bun v1.3.11
curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.11:

bun upgrade

Read Bun v1.3.11's release notes on Bun's blog

Thanks to 15 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.10:

bun upgrade

Read Bun v1.3.10's release notes on Bun's blog

Thanks to 11 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.9:

bun upgrade

Read Bun v1.3.9's release notes on Bun's blog

Thanks to 10 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.8:

bun upgrade

Read Bun v1.3.8's release notes on Bun's blog

Thanks to 4 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.7:

bun upgrade

Read Bun v1.3.7's release notes on Bun's blog

Thanks to 11 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.6:

bun upgrade

Read Bun v1.3.6's release notes on Bun's blog

Thanks to 23 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.5:

bun upgrade

Read Bun v1.3.5's release notes on Bun's blog

Thanks to 10 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.4:

bun upgrade

Read Bun v1.3.4's release notes on Bun's blog

Thanks to 14 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.3:

bun upgrade

Read Bun v1.3.3's release notes on Bun's blog

Thanks to 19 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.2:

bun upgrade

Read Bun v1.3.2's release notes on Bun's blog

Thanks to 18 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3.1:

bun upgrade

Read Bun v1.3.1's release notes on Bun's blog

Thanks to 15 contributors!

Special thanks to Martin Schwarzl of Cloudflare for fuzzing & reporting several bugs!!

        ### bun-v1.3.0

Read the blog post

Group 77

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.3:

bun upgrade
        ### bun-v1.2.23To install Bun v1.2.23
curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.2.23:

bun upgrade

Read Bun v1.2.23's release notes on Bun's blog

Thanks to 16 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.2.22:

bun upgrade

Read Bun v1.2.22's release notes on Bun's blog

Thanks to 14 contributors!

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.2.21:

bun upgrade

Read Bun v1.2.21's release notes on Bun's blog

Thanks to 23 contributors!

Commit history:
  • 2920fa Catch errors from dest.write() in Readable.prototype.pipe (#28432)

    Closes #28431

    Problem

    When piping an object-mode Readable into a byte-mode
    Transform/Writable, dest.write() throws ERR_INVALID_ARG_TYPE
    because the chunk is an object instead of a string/Buffer/TypedArray.
    This error was uncatchable — it crashed the process instead of being
    emitted on the destination stream's error event.

    Root Cause

    In Readable.prototype.pipe, the ondata handler called
    dest.write(chunk) without a try/catch:

    function ondata(chunk) {
        const ret = dest.write(chunk); // throws uncaught
        if (ret === false) { pause(); }
    }

    Fix

    Wrap dest.write(chunk) in a try/catch and call dest.destroy(err) in
    the catch block, matching Node.js behavior:

    function ondata(chunk) {
        try {
          const ret = dest.write(chunk);
          if (ret === false) { pause(); }
        } catch (err) {
          dest.destroy(err);
        }
    }

    Verification

    • USE_SYSTEM_BUN=1 bun test test/regression/issue/28431.test.ts → FAIL
      (bug exists on main)
    • bun bd test test/regression/issue/28431.test.ts → PASS (fix works)

    Verification (robobun, iteration 9): CI on prior commit ea5b22f6:
    Lint JS ✅, Format ✅, alpine-aarch64 ✅, debian-x64-ASAN ✅,
    windows-aarch64 ✅, darwin builds ✅. Only failure was
    linux-aarch64-build-cpp — unrelated to this pure JS change. Latest
    commit 1516e0b9 build #41235 still in progress. Diff: two files, no
    TODO/FIXME/HACK, no unrelated changes. Test pipes object-mode Readable
    into byte-mode Transform, asserts ERR_INVALID_ARG_TYPE on both error
    event and async iterator throw — would crash on main without the fix.
    Claude reviews LGTM (confirmed fix matches Node.js v22 upstream).
    CodeRabbit pre-merge checks all passed.


    Co-authored-by: Jarred Sumner <jarred@​jarredsumner.com>

  • 2d4c2b Fix assertion crash when hostname/unix coerces to empty string (#28426)

    Bun.listen() and Bun.connect() crash with an internal assertion
    failure when the hostname (or unix) option is a truthy value whose
    toString() returns an empty string — for example, an empty array []
    or new String("").

    Root cause: The bindgen IDLLooseNullable conversion checks the
    truthiness of the original JS value (objects are truthy), then calls
    toString() to get a WTF::String. When toString() produces "",
    the result is a non-null WTFStringImpl* (the static empty string
    singleton) with length == 0. The Zig code then hits
    assertf(hostname.length() > 0, "truthy bindgen string should not be empty").

    Fix: Replace the assertions with proper validation that returns a
    TypeError when the coerced string is empty.

    Repro:

    Bun.listen({ hostname: [], port: 0, socket: { data(){}, open(){}, close(){} } });
    // Before: panic — "Internal assertion failure: truthy bindgen string should not be empty"
    // After:  TypeError — Expected a non-empty "hostname"

    🔍 Verified by robobun: Zig fix at Handlers.zig lines 303 and 315
    replaces bun.assertf panics with throwInvalidArguments error returns
    — matches the existing pattern in the same function (line 319). Return
    type bun.JSError!SocketConfig supports this. On main, these lines have
    bun.assertf(...) which crashes. Regression test at socket.test.ts
    lines 786-803 exercises the exact crash path with [] and new String("") as hostname — both are truthy but toString() returns "".
    Would crash on main; does not exist on main. Unix test correctly asserts
    the bindgen-layer rejection message. Lint JavaScript passed. Buildkite
    build #41227 in progress. No TODO/FIXME/HACK in diff. CodeRabbit
    actionable comment addressed. Claude Code Review LGTM.


    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.github.com>

  • 733616 Upgrade WebKit to fc9f2fa7272fec64905df6a9c78e15d7912f14ca (#28371)
  • db2156 Bump WebKit to b55703a58c8e57ac3479b9ba5cd434386a298965 (#28345)

    Updates WebKit to commit b55703a58c8e57ac3479b9ba5cd434386a298965.


    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.github.com>

  • 69e92c Fix panic in fd validation when float is outside i64 range (#28364)

    Passing a very large float (e.g. -1.5e308) as a file descriptor to any
    API that uses FD.fromJSValidated (such as S3Client.write) caused a
    panic:

    panic(main thread): integer part of floating point value out of bounds
    

    The @&ZeroWidthSpace;mod(float, 1) != 0 check correctly identifies non-integers, but
    very large finite floats like 1e308 are integers in IEEE 754 (all
    doubles above 2^52 are), so they pass that check. The subsequent
    @&ZeroWidthSpace;intFromFloat then panics because the value exceeds the i64 range.

    The fix validates the float against the valid fd range (0 to
    maxInt(i32)) before the @&ZeroWidthSpace;intFromFloat conversion.


    Verified: CI lint passed, buildkite build pending (build #40545). Diff
    is a minimal 3-line reorder in fd.zig moving the range check before
    @&ZeroWidthSpace;intFromFloat. Regression test in s3-fd-validation.test.ts exercises
    all four panic-triggering cases (large positive/negative floats,
    ±Infinity). No TODO/FIXME/HACK markers, no unrelated changes, no reviews
    to triage.

  • 8f0fd0 Fix crash in FFI linkSymbols when property values are not objects (#28359)

    Summary

    Bun.FFI.linkSymbols() crashes when the input object has non-object
    property values (numbers, strings, booleans).

    Root Cause

    generateSymbols iterates over all properties of the input object and
    passes each value to generateSymbolForFunction, which calls .get() /
    .getTruthy() on the value. These methods assert that the target is a
    JS object via debugAssert(target.isObject()).

    The existing validation only checked isEmptyOrUndefinedOrNull(), which
    doesn't catch primitive values like numbers, strings, or booleans. When
    such a value reaches generateSymbolForFunction, the assertion fails.

    Fix

    Add !value.isObject() to the existing validation check in
    generateSymbols to reject non-object property values early with a
    proper TypeError.

    Repro

    Bun.FFI.linkSymbols({ foo: 42 });
    // Before: panic - reached unreachable code  
    // After: TypeError: Expected an object for key "foo"

    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.github.com>
    Co-authored-by: Jarred Sumner <jarred@​jarredsumner.com>

  • 70a2a7 Fix crash in FFI.viewSource when symbol descriptor values are not objects (#28361)

    In generateSymbols, the existing check only rejected
    null/undefined/empty values before passing them to
    generateSymbolForFunction. That function calls value.getTruthy()
    value.get(), which asserts that the target is an object. Non-object
    values like numbers, strings, or booleans would trigger a debug
    assertion failure (panic: reached unreachable code).

    Add an isObject() check alongside the existing
    isEmptyOrUndefinedOrNull() check so non-object symbol descriptor
    values are properly rejected with a TypeError instead of crashing.

    Reproducer:

    Bun.FFI.viewSource({ myFunc: 42 });
    // or
    Bun.FFI.viewSource(SharedArrayBuffer);

    Verified by robobun: CI Lint passes; Format failure is unrelated
    (autofix cherry-pick conflict in docs/runtime/cron.mdx); buildkite still
    building. Diff adds !value.isObject() guard in generateSymbols (line
    1423) preventing crash on non-object symbol descriptors, plus three
    arg_types.deinit() calls fixing a pre-existing memory leak in error
    paths of print, open, and linkSymbols. Regression test in
    ffi-viewSource-non-object.test.ts asserts TypeError on
    number/string/boolean inputs — these would crash on main (debug
    assertion in getOwn on non-objects), so the test is meaningful. No
    TODO/FIXME/HACK in added lines. CodeRabbit review found no actionable
    issues.

  • 0de7a8 Replace :::caution with in cron docs (#28358)
  • d62f0f Fix caution admonition in cron docs wrapping too much content (#28357)
  • 010dfa Bun.WebView — headless browser automation (WebKit + Chrome backends) (#28185)

    Native headless browser automation built into the runtime. Two backends,
    one API:

    • WebKit (macOS default) — the system WKWebView. Zero external
      dependencies; everything dlopened at first new Bun.WebView(). Same
      link-time dylib count as before (4).
    • Chrome (cross-platform) — Chrome/Chromium via DevTools Protocol
      over --remote-debugging-pipe. Auto-detects the binary in $PATH,
      standard install locations, and Playwright's cache; or pass
      backend.path.
    await using view = new Bun.WebView({ width: 800, height: 600 });
    await view.navigate("https://bun.sh");
    
    await view.click("a[href='/docs']");     // waits for actionability, native click
    await view.scroll(0, 400);               // native wheel event, isTrusted: true
    await view.scrollTo("#install");         // scrolls every ancestor, waits for visible
    
    const title = await view.evaluate("document.title");
    const png = await view.screenshot();
    await Bun.write("page.png", png);

    Backends

    // macOS default — WKWebView. Nothing to install.
    new Bun.WebView({ backend: "webkit" });
    
    // Chrome — works on macOS + Linux if Chrome/Chromium/Edge is installed.
    new Bun.WebView({ backend: "chrome" });
    
    // Override the auto-detected binary, pass extra launch flags:
    new Bun.WebView({
      backend: {
        type: "chrome",
        path: "/opt/chrome/chrome",
        argv: ["--enable-features=NetworkService"],
        stderr: "inherit",  // Chrome's stderr → yours (crash reports). Default: "ignore".
      },
    });

    Chrome auto-detection checks in order: BUN_CHROME_PATH env var →
    $PATH (google-chrome-stable, google-chrome, chromium-browser,
    chromium, microsoft-edge, chrome) → /Applications +
    ~/Applications bundles (macOS) or /usr/bin + /snap/bin (Linux) →
    Playwright cache (~/Library/Caches/ms-playwright /
    ~/.cache/ms-playwright). Signed bundles before unsigned Playwright
    binaries — enterprise endpoint-protection blocks the latter.

    One subprocess per Bun process, both backends. The first new Bun.WebView()'s path/argv/stderr/dataStore.directory win;
    subsequent views share the same browser via new tabs (Chrome
    Target.createTarget, WebKit viewId routing). Bun.WebView.closeAll()
    force-kills both subprocesses; also runs automatically at process exit.

    API

    Method Both backends
    navigate(url)
    evaluate(expr)
    screenshot()
    click(x, y) / click(selector)
    type(text)
    press(key, {modifiers})
    scroll(dx, dy)
    scrollTo(selector)
    goBack() / goForward() / reload()
    resize(w, h)
    view.url / view.title / view.loading
    view.onNavigated / view.onNavigationFailed
    Console capture (console: globalThis.console or custom callback)

    |
    | Bun.WebView.closeAll() static | ✅ |

    Native input — every DOM event has isTrusted: true

    All input methods dispatch OS-level events, not JS-synthetic ones. Sites
    can't distinguish view.click() from a real mouse click.

    WebKit path:

    • click(x, y)NSEvent mouseDown:/mouseUp: directly to WKWebView's
      NSResponder (bypasses [window sendEvent:] which needs
      makeKeyAndOrderFront:). Resolves after
      _doAfterProcessingAllPendingMouseEvents: — WebKit's own "all handlers
      ran" barrier.
    • type(text)_executeEditCommand("InsertText", text).
      beforeinput/input fire trusted; keydown does not (editing-command
      semantics, same as paste). No IME, no smart quotes.
    • press(key) — named keys map to editing commands; Escape + modifier
      chords fall back to raw keyDown:/keyUp:.
    • scroll(dx, dy)CGEventCreateScrollWheelEvent[webview scrollWheel:], double-_doAfterNextPresentationUpdate: barrier to
      serialize against the scrolling-tree commit and the ScrollingThread
      roundtrip.

    Chrome path: Input.dispatchMouseEvent / dispatchKeyEvent /
    insertText / dispatchScrollEvent — the same CDP commands
    Puppeteer/Playwright use. Chrome marks all DevTools-originated events
    trusted.

    Selector overloads — actionability auto-waiting

    await view.click("#submit");              // waits, then clicks center
    await view.click("#obscured", { timeout: 1000 });  // rejects if never actionable
    await view.scrollTo("#footer", { block: "center" });

    The actionability predicate matches Playwright's: attached + has size +
    in viewport + bounding box stable for 2 consecutive frames +
    elementFromPoint(center) returns self-or-descendant. Polls at frame
    rate via page-side rAF; selector passed through the framework's
    argument-marshalling (no string interpolation — '"); alert(1)//' is a
    literal passed to querySelector, which throws).

    WebKit: callAsyncJavaScript:arguments:...:completionHandler:
    (public, macOS 11+). WebKit awaits the returned promise server-side —
    one IPC roundtrip for the whole wait loop.
    Chrome: Runtime.evaluate with awaitPromise:true — same
    one-roundtrip semantics.

    Console capture

    // Forward to Bun's console — page console.log → stdout, console.error → stderr.
    new Bun.WebView({ console: globalThis.console });
    
    // Custom callback — primitive args unwrap, objects arrive as structured descriptors.
    new Bun.WebView({
      console: (type, ...args) => {
        if (type === "error") logger.captureException(args);
      },
    });

    Storage

    // In-memory (default) — cookies/localStorage/IndexedDB gone at process exit.
    new Bun.WebView({ dataStore: "ephemeral" });
    
    // Persistent — shared across views with the same directory.
    new Bun.WebView({ dataStore: { directory: "/tmp/profile" } });

    Architecture

    WebKit

    Separate host subprocess (re-exec of bun with
    BUN_INTERNAL_WEBVIEW_HOST=3 env var) runs CFRunLoopRun() on thread 0
    — WKWebView hard-asserts pthread_main_np(). Parent speaks
    length-prefixed C++ structs over a socketpair (usockets parent-side,
    CFFileDescriptor child-side). Socket EOF = parent death = child exit.

    Chrome

    One socketpair, child-end dup'd to both fd 3 and fd 4. Chrome's
    --remote-debugging-pipe reads NUL-delimited CDP JSON from fd 3 and
    writes replies to fd 4 — same socket, both directions. usockets'
    bsd_recv calls recv() which needs a real socket (pipes fail
    ENOTSOCK — the earlier two-pipe layout broke here silently). No
    separate DevTools server, no WebSocket, no port races.

    GC

    JSWebView holds WriteBarrier<JSPromise> slots (one per op type), no
    Strong<> anywhere. isReachableFromOpaqueRoots reads
    std::atomic<uint32_t> activity counter — the barriers themselves
    aren't safe to read from the GC thread. Both backends' session maps hold
    Weak<JSWebView>; a dropped view is reaped once its pending ops
    complete.

    Link constraints (WebKit backend)

    $ otool -L bun
    /usr/lib/libicucore.A.dylib
    /usr/lib/libresolv.9.dylib
    /usr/lib/libc++.1.dylib
    /usr/lib/libSystem.B.dylib
    
    $ nm -u bun | grep -iE 'objc|^_NS[A-Z]|CGEvent|WKWeb'
    _NSConcreteStackBlock
    _NSGetArgc
    _NSGetArgv
    _NSGetEnviron
    _NSGetExecutablePath
    _NSVersionOfLinkTimeLibrary
    

    No -fblocks, no link-time libobjc. Blocks are hand-rolled
    GlobalBlock structs with BLOCK_IS_GLOBAL (Block_copy/release are
    no-ops), isa dlsym'd from libSystem. Every
    WebKit/AppKit/CoreGraphics/ObjC symbol goes through dlsym.

    Tests

    97 tests across both backends, green with
    BUN_JSC_validateExceptionChecks=1. Chrome tests test.todo when no
    Chromium-based browser is found (checks the same detection paths as the
    runtime). USE_SYSTEM_BUN=1 fails (no Bun.WebView).


    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.github.com>

  • 2ac158 Revert "deflake serve-body-leak: skip on ASAN where RSS-based leak detection is not meaningful" (#28337)

    Reverts deflake serve-body-leak: skip on ASAN where RSS-based leak detection is not meaningful oven-sh/bun#28301

  • 9933f7 Fix CookieMap.toJSON() crash with numeric cookie names (#28314)

    CookieMap.toJSON() used putDirect to set properties on the result
    object, which asserts that the property name is not an array index.
    Cookie names can be numeric strings (e.g. "0", "1", "42"), which
    parse as array indices and trigger the assertion in
    JSObject::putDirectInternal.

    Use putDirectMayBeIndex instead, which correctly handles both indexed
    and named properties. This is consistent with how other Bun code handles
    user-controlled property names (e.g. FormData, FetchHeaders, environment
    variables).

    Crash fingerprint: JSObjectInlines.h(451)ASSERTION FAILED: !parseIndex(propertyName)

    Minimal repro:

    const map = new Bun.CookieMap("0=first; 1=second; 42=answer");
    map.toJSON();

    Verification: CI building (Buildkite #40296, lint/format passing).
    Diff is 2-line fix replacing putDirectputDirectMayBeIndex in both
    loops of CookieMap::toJSON, matching the established pattern used in
    ZigGlobalObject.cpp (env vars), JSDOMFormData.cpp, JSFetchHeaders.cpp,
    and NodeHTTP.cpp. Regression test in cookie-map.test.ts exercises
    numeric cookie names ("0", "1", "42") through toJSON(). No
    TODO/FIXME/HACK markers. No unrelated changes.


    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • 581d45 Fix null pointer dereference in BunString__toJSDOMURL (#28309)

    Root cause: BunString__toJSDOMURL calls DOMURL::create() which
    returns an ExceptionOr<Ref<DOMURL>>. When the URL string is invalid
    (e.g. "unix://[object Bun]"), this returns an exception.
    toJSNewlyCreated propagates the exception onto the throw scope and
    returns an empty JSValue. However, the code then unconditionally
    called jsCast<JSDOMURL*>(jsValue.asCell()) on the null cell, causing a
    null pointer dereference.

    Fix: Add RETURN_IF_EXCEPTION(throwScope, {}) after
    toJSNewlyCreated to return early when URL parsing fails, properly
    propagating the exception back to JavaScript.

    Reproduction: Pass a non-string value (like the Bun object) as the
    unix option to Bun.serve(), then access server.url. The URL
    formatter produces "unix://[object Bun]" which is not parseable by the
    WHATWG URL parser.

    const server = Bun.serve({ unix: Bun, fetch() { return new Response("ok"); } });
    server.url; // crash

    Verified by robobun: Single-line fix adds RETURN_IF_EXCEPTION guard in
    BunString.cpp:579, consistent with the same pattern used ~10 other
    times in the same file. Code path confirmed: server.urlgetURL
    toJSDOMURLBunString__toJSDOMURL. Test in
    server-url-invalid.test.ts reproduces the exact crash scenario
    (invalid unix path → unparseable URL → null cell dereference). No
    TODO/FIXME/HACK in diff. CI pending (build #40232) but change is minimal
    and mechanical.


    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • 9e93bf deflake serve-body-leak: skip on ASAN where RSS-based leak detection is not meaningful (#28301)

    The serve-body-leak test sends 10k warmup + 10k test requests per test
    case (7 cases = 140k requests) with 512KB payloads. Under ASAN this
    causes timeouts and crashes because:

    • ASAN adds 2-3x memory overhead, making RSS measurements meaningless
      for leak detection
    • ASAN significantly slows execution, causing test timeouts (40s/60s
      limits)
    • The subprocess gets OOM-killed under the added memory pressure

    RSS-based memory leak detection is not meaningful under ASAN, which has
    its own built-in leak detection. Skip these tests on ASAN builds.

  • 66f7c4 fix(compile): use ELF section for standalone binaries on Linux (#26923)

    Summary

    • Standalone executables on Linux previously read their embedded module
      graph from /proc/self/exe at startup, which fails when the binary has
      execute-only permissions (chmod 111)
    • Now uses an ELF section approach (.bun section with BUN_COMPILED
      linker symbol), matching the existing macOS (__BUN,__bun) and Windows
      (.bun PE section) implementations
    • At runtime, the kernel maps the data via PT_LOAD during execve
      zero file I/O, no read permission needed

    How it works

    Build time (src/elf.zig): Appends the module graph to the end of
    the ELF file, converts PT_GNU_STACK into a PT_LOAD segment to map
    it, and stores the new virtual address at the original BUN_COMPILED
    location.

    Runtime (StandaloneModuleGraph.zig): BUN_COMPILED.size holds
    either 0 (not standalone) or the vaddr of the appended data. Just
    dereferences a pointer to get the module graph.

    Files changed

    File Change
    src/elf.zig New — ELF manipulation module (229 lines)
    src/bun.zig Added elf import
    src/bun.js/bindings/c-bindings.cpp Added Linux BUN_COMPILED in
    .bun section
    src/StandaloneModuleGraph.zig Added ELF struct, Linux
    inject/read paths, removed /proc/self/exe reading
    test/bundler/bun-build-compile.test.ts 4 new Linux-only tests

    Test plan

    • bun bd test test/bundler/bun-build-compile.test.ts — 10/10 pass
    • bun bd test test/bundler/bun-build-compile-sourcemap.test.ts
      5/5 pass
    • bun bd test test/bundler/compile-argv.test.ts — 10/10 pass
    • Manual: small payload + chmod 111 — works
    • Manual: large payload (>16KB, forces append path) + chmod 111
      works

    🤖 Generated with Claude Code


    Co-authored-by: Claude Opus 4.6 <noreply@​anthropic.com>
    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.github.com>
    Co-authored-by: Jarred Sumner <jarred@​jarredsumner.com>

  • 89c912 deflake bake/dev/css.test.ts: retry fetch in client fixture, improve error handling (#28300)

    The css.test.ts test was flaking on Windows because the Node.js client
    subprocess would sometimes exit before the HMR socket connection message
    was printed. This was likely caused by transient fetch failures when the
    dev server port wasn't fully ready.

    Changes:

    • Add retry logic to loadPage() in client-fixture.mjs for transient
      connection errors
    • Add unhandledRejection handler to prevent silent client process
      crashes
    • Propagate client process exit code to OutputLineStream for better
      error diagnostics
    • Add null check for content-type header to prevent TypeError
    • Wrap initial page load in try/catch to handle happy-dom errors

    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • 923690 fix(dns): stale cache entries never expire while refcount > 0 (#28271)

    isExpired returned false whenever refcount > 0, keeping stale
    entries alive indefinitely as long as any connect to that host was in
    flight. The guard was there to prevent the caller from deinit()-ing
    memory an in-flight request still holds; this moves the check to the
    caller so expiry and memory safety are decided separately.


    Co-authored-by: robobun <bot@​oven.sh>

  • 7960fe fix(bundler): prevent crash when CSS entry points are mixed with JS in --compile (#28251)

    Summary

    • Fixes a crash ("index out of bounds" / segfault) in bun build --compile when CSS files are passed as entry points alongside multiple
      JS/TS entry points (e.g., via glob expansion like ./public/**/*)
    • The root cause was that Handler.next in computeChunks used entry
      point IDs as direct array indices into js_chunks.values(), but
      CSS-only entry points skip JS chunk creation, making the array smaller
      than the number of entry points
    • Introduces a mapping from entry point IDs to their actual JS chunk
      indices, with a sentinel for CSS-only entry points

    Closes #22317

    1. Fixes https://github.com/oven-sh/bun/issues/25040 - Same index out of
      bounds panic when Handler.next uses entry point IDs as array indices
    2. Fixes https://github.com/oven-sh/bun/issues/23191 - Exact same error
      pattern where entry point IDs exceed js_chunks array length
    3. Fixes https://github.com/oven-sh/bun/issues/20278 - Multiple entry
      point crashes during bundling that align with mixed CSS/JS scenario

    Test plan

    • Added regression test test/regression/issue/22317.test.ts that
      compiles with CSS + multiple JS entry points
    • Test fails on system bun (crash/timeout), passes on debug build
    • Manual verification: bun build --compile ./src/index.ts ./public/assets/index.css ./src/server.worker.ts --outfile build/app
      now succeeds

    🤖 Generated with Claude Code


    Co-authored-by: Claude Bot <claude-bot@​bun.sh>
    Co-authored-by: Claude Opus 4.6 (1M context) <noreply@​anthropic.com>

  • 7abe6c docs: fix stale and incorrect code comments (#28270)

    Fixes 35 code comments that no longer match their implementations. Zero
    behavior change — comment-only edits. zig:check passes.

    These mismatches mislead human readers and AI tooling into wrong
    assumptions about what functions do.

    Most impactful fixes

    File Wrong claim Reality
    SemverString.zig:6-7 "final bit set = inline string" Inverted —
    bit clear = inline (see isInline() at :220)
    JSValue.zig:387 "key can't be numeric, use putMayBeIndex instead"
    on putMayBeIndex itself Self-referential copy-paste; deleted
    JSValue.zig:861 NaN coerces to -minInt(64) NaN → 0 (see
    coerceJSValueDoubleTruncatingTT :842)
    JSValue.zig:1249,1256,2240 "returns null on error" Return type
    is JSError!T — these throw
    LinkerContext.zig:2375,2377 ESM/CJS labels Swapped —
    uses_export_keyword is ESM, uses_exports_ref is CJS
    HTTPThread.zig:54 "should never happen" on == null branch
    That's the normal path; moved to the else
    http.zig:1527,1929 "request" Code parses responses
    bindings.cpp:1545 "Zig::GlobalObject is tagged GlobalProxyType"
    It's GlobalObjectType; the proxy is globalThis

    Also fixed

    • Stale "TODO: this is a stub" on a fully-implemented 70-line function
      (js_lexer.zig:3113)
    • "bun bun bun bun" comment on a buffer that's been zero-filled since
      2023 (install.zig:48)
    • Wrong Node.js source line number link for extnamePosixT
      (path.zig:620, was pointing at dirname)
    • <!---<!-- for CSS CDO token docs (2 sites)
    • "goroutine" in a Zig codebase (LinkerContext.zig:190)
    • WeakSet claimed in getLength support list but C++ switch has no
      JSWeakSetType case

    Not fixed (flagged as possible code bugs)

    These look like actual bugs, not stale comments — left them alone since
    they change behavior:

    • shell/states/CondExpr.zig:121[[ -f dir ]] returns true; missing
      S.ISREG() check
    • css/css_parser.zig:6747,69370xFFD (Tibetan mark) vs 0xFFFD
      (replacement char)
    • webcore/Blob.zig:2862new Blob([]).slice(0,0,'text/plain').type
      drops contentType
    • ast/P.zig:3894 — ES module top-level this substitutes null, spec
      says undefined
    • node/node_fs.zig:4873 — hex/base64 size calc has encode/decode
      direction reversed

    Verification (robobun): Comment-only PR across 22 files — confirmed
    zero executable code changes by filtering diff for non-comment lines.
    Spot-checked key claims against source: SemverString inline bit
    semantics (isInline at :220 confirms bit-clear = inline), NaN→0 coercion
    (coerceJSValueDoubleTruncatingTT at :840-841), ESM/CJS label swap
    (uses_export_keyword = ESM, uses_exports_ref = CJS), rangeOfIdentifier
    is a full 70-line implementation (not a stub),
    eat_simple_redirect_operator returns bool not optional. Review feedback
    from Claude code review (get() doc + Blob duplicate comment) addressed
    in follow-up commit 472b150. CI build #40067 in progress; Lint
    JavaScript passed. No TODO/FIXME/HACK in added lines.

  • 6c65e7 fix(sql): negotiate MySQL capabilities to support legacy EOF protocol (#28005)

    Summary

    • Fix Bun.SQL with MySQL adapter returning empty SQLResultArray for
      SELECT queries against MySQL-compatible databases (StarRocks, TiDB,
      SingleStore, etc.) that do not support CLIENT_DEPRECATE_EOF
    • Properly negotiate capabilities by intersecting client desires with
      server-advertised capabilities per the MySQL protocol spec
    • Handle legacy EOF packets in both result set and prepared statement
      parsing

    Root Cause

    Bun unconditionally set CLIENT_DEPRECATE_EOF = true in its MySQL
    capability flags without checking if the server actually supports it.
    When connecting to MySQL-compatible databases like StarRocks that do not
    support this capability, the server sends legacy intermediate EOF
    packets between column definitions and row data. Bun misinterpreted this
    EOF as end-of-result-set, silently returning 0 rows.

    Changes

    1. Capability negotiation (Capabilities.zig): Added intersect()
      method. During handshake, client capabilities are now ANDed with server
      capabilities — only using features both sides support.

    2. Legacy EOF handling (MySQLConnection.zig): When
      CLIENT_DEPRECATE_EOF is not negotiated:

    • The intermediate EOF between column definitions and row data is
      properly skipped
      • The final EOF after rows correctly terminates the result set
    • Legacy EOF packets during prepared statement parsing are also handled
    1. Error set (AnyMySQLError.zig): Added InvalidEOFPacket error
      variant.

    Test plan

    • Added regression test (test/regression/issue/28004.test.ts) with
      a mock MySQL server that simulates legacy EOF protocol (no
      CLIENT_DEPRECATE_EOF)
    • Verified test fails on system bun 1.3.10 (rows.length === 0)
      and passes with the fix (rows.length === 2)
    • Existing MySQL integration tests should continue to pass (MySQL
      8.x supports CLIENT_DEPRECATE_EOF, so the modern code path is
      unchanged)

    Closes #28004

    🤖 Generated with Claude Code


    Verification (robobun): CI Build #39817 still compiling (Lint JS ✅,
    Format pending, Buildkite builds in progress). Diff is clean — no
    TODO/FIXME/HACK/debugger markers. Confirmed on main:
    getDefaultCapabilities unconditionally sets CLIENT_DEPRECATE_EOF = true without intersecting server capabilities, so the mock server test
    (which omits CLIENT_DEPRECATE_EOF) would return 0 rows on main. The
    fix correctly intersects client/server capabilities and handles legacy
    EOF in both handleResultSet (intermediate + final EOF) and
    handlePreparedStatement. Both EOF paths include header_length < 9
    disambiguation per MySQL spec. Two unresolved review threads: (1)
    pre-existing 0x00-as-OK bug flagged as pre-existing — not introduced by
    this PR; (2) header_length < 9 nit — already addressed in code, thread
    just not resolved. CodeRabbit critical concern about prepared statement
    EOF timing was addressed: legacy mode defers
    checkIfPreparedStatementIsDone to the EOF handler while
    CLIENT_DEPRECATE_EOF mode checks after each definition.


    Co-authored-by: Claude Bot <claude-bot@​bun.sh>
    Co-authored-by: Claude Opus 4.6 (1M context) <noreply@​anthropic.com>
    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@​users.noreply.github.com>
    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • a7e9ab docs(sqlite): fix inaccurate WAL accordion text about -shm file (#28213)

    Followup to #28212 — fixes an inaccuracy in the WAL mode accordion text
    flagged in
    review.

    Problem

    The accordion text said writes go to both the -wal and -shm files,
    and that both get "integrated" into the main database. Only the -wal
    file receives writes; the -shm file is a shared-memory index for read
    coordination and is never checkpointed.

    Fix

    Reword to clarify that writes go only to the WAL file, and that the
    -shm file is a shared-memory index created for read coordination. This
    is now consistent with the accurate description in the WAL sidecar file
    cleanup section just below.


    Verification: CI green (Build #39929 passed, Lint JavaScript passed,
    no failures). Docs-only change to docs/runtime/sqlite.mdx — corrects the
    WAL accordion text to accurately state that writes go only to the -wal
    file and that -shm is a shared-memory index for read coordination,
    consistent with SQLite documentation. No TODO/FIXME markers. No test
    needed (prose fix). No reviews to triage.

  • 76f4f3 docs(sqlite): document WAL sidecar file cleanup behavior across platforms (#28212)

    Closes #27481

    Problem

    bun:sqlite documentation did not mention that WAL sidecar file
    (.db-wal, .db-shm) cleanup behavior varies by platform after
    db.close(). Users on macOS were surprised to find these files
    persisting.

    Root Cause

    On macOS, Bun dynamically loads the system-provided SQLite
    (LAZY_LOAD_SQLITE=1), which Apple builds with persistent WAL enabled
    by default. On Linux and Windows, Bun statically links its own
    SQLite build (USE_STATIC_SQLITE=ON), which follows upstream defaults
    where sidecar files are removed on close.

    Bun's close() implementation calls sqlite3_close/sqlite3_close_v2
    without any explicit WAL checkpoint or cleanup — the behavior is
    entirely determined by the underlying SQLite library.

    Fix

    Expanded the WAL mode documentation section to:

    1. Explain that -wal and -shm sidecar files may persist on macOS due
      to Apple's system SQLite configuration
    2. Explain that Linux/Windows use statically linked SQLite with upstream
      defaults (sidecar files typically removed)
    3. Document the deterministic cleanup pattern using
      fileControl(constants.SQLITE_FCNTL_PERSIST_WAL, 0) + PRAGMA wal_checkpoint(TRUNCATE) — verified against the existing
      test
    4. Added a cross-reference from the .fileControl() section

    Verification

    All claims verified against implementation:

    • cmake/Options.cmake: USE_STATIC_SQLITE defaults to OFF on macOS,
      ON elsewhere
    • cmake/targets/BuildBun.cmake: maps USE_STATIC_SQLITE
      LAZY_LOAD_SQLITE compile definition
    • src/bun.js/bindings/sqlite/JSSQLStatement.cpp: close() calls only
      sqlite3_close/sqlite3_close_v2 with no WAL cleanup
    • src/js/bun/sqlite.ts: constants.SQLITE_FCNTL_PERSIST_WAL is
      exported as 10
    • test/js/bun/sqlite/sqlite.test.js: existing test at line 1347
      confirms the recommended cleanup pattern works
    • e91fe3 fix(transpiler): preserve null bytes in tagged template literals (#27554)

    Summary

    • Fixed String.raw corrupting null bytes (U+0000) in tagged template
      literals by replacing them with the literal string \uFFFD
    • The UnsignedCodepointIterator used minInt(u32) = 0 as the error
      sentinel for invalid UTF-8 sequences, which collided with the valid null
      byte codepoint — changed to maxInt(u32) which is beyond the valid
      Unicode range
    • Added regression tests for null bytes in tagged template literals,
      untagged template literals, and embedded null bytes

    Root Cause

    In src/string/immutable/unicode.zig, NewCodePointIterator.next()
    used std.math.minInt(CodePointType) as the error sentinel. For the
    UnsignedCodepointIterator (u32), minInt(u32) = 0, which collides
    with the valid null byte codepoint (U+0000). This caused null bytes to
    be misidentified as decode errors and replaced with
    unicode_replacement (U+FFFD). The printer then emitted the literal
    6-character string \uFFFD in raw template literals.

    The fix uses maxInt instead — maxInt(u32) = 0xFFFFFFFF, which is
    well beyond the valid Unicode range (max 0x10FFFF) and can never
    collide with a valid codepoint.

    Test plan

    • Regression test: String.raw preserves null bytes in tagged
      template literals
    • Regression test: null bytes in untagged template literals are
      preserved
    • Regression test: null bytes in String.raw with surrounding
      content
    • Existing template literal tests pass
      (test/bundler/transpiler/template-literal.test.ts)
    • Existing bundler string tests pass
      (test/bundler/bundler_string.test.ts — 59 tests including NullByte)
    • Existing raw template literal transpiler tests pass

    Closes #27553

    🤖 Generated with Claude Code


    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • 256bba deflake: split compile-windows-metadata invalid version test into concurrent cases (#28205)

    The invalid version format should error gracefully test was running 5
    sequential bun build --compile invocations in a single test case. On
    slow Windows CI machines under load, this easily exceeds the 90s test
    timeout.

    Split the sequential loop into test.each so each invalid version is a
    separate test case. Since the parent describe block uses
    .concurrent, these now run in parallel, each with its own timeout
    budget.


    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • a04817 deflake hot.test.ts: fix duplicate error handling and buffer management (#28202)

    The three sourcemap tests (generation, loading, loading with large
    files) used a continue outer pattern in their error-handling loops.
    When a duplicate/stale error was encountered, continue outer jumped
    back to reading the next stderr chunk, but any remaining lines from
    str.split("\n") that had not yet been processed were discarded because
    str was set to "" inside the inner loop. This lost data and could
    cause the test to hang waiting for output that was already consumed and
    thrown away.

    Additionally, the bundler processes in the sourcemap loading tests used
    stdout: "inherit" / stderr: "inherit", which could cause pipe buffer
    backpressure blocking the bundler.

    Fixes both issues with a shared driveErrorReloadCycle helper that:

    • Preserves unprocessed lines when encountering duplicate errors (uses
      lines.pop() for trailing partial lines and re-buffers remaining lines
      via lines.slice(i + 1))
    • Pipes bundler stdout/stderr to ignore to avoid pipe buffer
      backpressure
    • Races bundler.exited against the reload driver for early-exit
      detection in the two bundler-based tests

    Verification: Format and Lint JavaScript CI checks pass. Buildkite build
    #39875 still compiling at time of review. Only
    test/cli/hot/hot.test.ts changed (test-only deflake, no production
    code). Jarred's CHANGES_REQUESTED about the nonce mechanism was
    addressed in commit 50f3f4ed (nonce removed). No TODO/FIXME/HACK in
    added lines. The driveErrorReloadCycle helper correctly preserves
    partial line fragments and remaining unprocessed lines, prevents double
    onReload calls via the triggered flag, and uses Buffer.alloc per
    test/CLAUDE.md convention.


    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • af24e2 fix(install): print error message when security scanner fails (#28196)

    Summary

    • Fix bun install silently exiting with code 1 when the security
      scanner encounters an error
    • The catch-all error handler in install_with_manager.zig called
      Global.exit(1) without printing any diagnostic, making failures
      impossible to debug (especially in CI)
    • Add error messages to all silent error paths in both
      install_with_manager.zig and security_scanner.zig

    Test plan

    • bun bd builds successfully
    • Verified clean install with security scanner works (partial
      install mechanism triggers correctly)
    • CI: bun-security-scanner-matrix-without-node-modules.test.ts
    • CI: bun-security-scanner-matrix-with-node-modules.test.ts

    Closes #28193


    Verification (iteration 2): CI build #39850 pending (Lint JS ✅, Format
    pending, Buildkite pending). Previous build #39847 failures were vendor
    warnings (libuv, tinycc) unrelated to this PR. Diff correctly
    centralizes error printing: removes 5 duplicate Output.errGeneric calls
    from security_scanner.zig and adds specific messages for 7 error
    variants plus a catch-all else in install_with_manager.zig. Also fixes a
    real bug where .error was collapsed into SecurityScannerRetryFailed,
    losing the original error. Regression test at
    test/regression/issue/28193.test.ts asserts stderr contains "security
    scanner" and exit code 1 for both nonexistent and invalid scanner
    configs — would fail on main where else => {} prints nothing. No
    TODO/FIXME/HACK in added lines. CodeRabbit filename nit (028193 to
    28193) addressed. Both alii inline review comments (consolidate prints,
    use stderr) addressed; alii approved.


    Co-authored-by: Alistair Smith <hi@​alistair.sh>

  • 1d50d6 fix(test): use chrome-headless-shell on macOS to fix next-pages puppeteer launch (#28200)

    Fixes #11255

    On macOS CI, Chrome for Testing (.app bundle) intermittently fails to
    launch due to macOS Gatekeeper quarantine blocking the binary:

    Browser launch attempt 1/3 failed: Failed to launch the browser process!
    Browser launch attempt 2/3 failed: Failed to launch the browser process!
    Browser launch attempt 3/3 failed: Failed to launch the browser process!
    

    The fix switches to Puppeteer's headless: "shell" mode on macOS, which
    uses the chrome-headless-shell standalone bin

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump @​storybook/web-components-vite from 9.1.3 to 10.3.1

Changelog:
Sourced from releases.
        ### v10.4.0-alpha.2## 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!

          ### v10.4.0-alpha.1## 10.4.0-alpha.1
    
  • Docs: Ensure unique control id attributes across multiple Controls blocks - #34021, thanks @​TheSeydiCharyyev!

          ### v10.3.1## 10.3.1
    
  • 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!

          ### v10.4.0-alpha.0## 10.4.0-alpha.0
    
    
    
    
          ### v10.3.0## 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
List of all updates
  • 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!
        ### v10.3.0-beta.3## 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!

          ### v10.3.0-beta.2## 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!

          ### v10.3.0-beta.1## 10.3.0-beta.1
    
  • Addon-Docs: Add React as optimizeDeps entry - #34176, thanks @​valentinpalkovic!

  • CLI: Avoid hanging of postinstall during init - #34175, thanks @​valentinpalkovic!

          ### v10.3.0-beta.0## 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-deps platform-aware to avoid sudo prompt on Linux #34121

  • Addon-docs: Restore docs.components overrides 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 experimentalComponentsManifestcomponentsManifest, default to true #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

          ### v10.3.0-alpha.17## 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!

          ### v10.2.19## 10.2.19
    
  • Maintenance: Support vite-plugin-svelte@​7 which supports Vite 8 - #34115, thanks @​valentinpalkovic!

  • Vite: Support Vite 8 - #33788, thanks @​valentinpalkovic!

          ### v10.2.18## 10.2.18
    
  • Core: Correctly fallback to first detected vitest config file - #33865, thanks @​yannbf!

  • Core: Fix error reporting in ManagerErrorBoundary - #33915, thanks @​ghengeveld!

          ### v10.3.0-alpha.16## 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!

          ### v10.3.0-alpha.15## 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!

          ### v10.2.17## 10.2.17
    
  • Next.js: Add support for v16.2 - #34046, thanks @​valentinpalkovic!

          ### v10.2.16## 10.2.16
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v9.1.20## 9.1.20
    
  • Add request validation

          ### v10.3.0-alpha.14## 10.3.0-alpha.14
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v10.2.15## 10.2.15
    
  • Core: Storybook failed to load iframe.html when publishing - #33896, thanks @​danielalanbates!

  • Manager-API: Update refs sequentially in experimental_setFilter - #33958, thanks @​ia319!

  • React: Handle render identifier in manifest snippet generation - #33940, thanks @​kasperpeulen!

          ### v10.3.0-alpha.13## 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!

          ### v10.2.14## 10.2.14
    
  • CLI: Set STORYBOOK environment variable - #33938, thanks @​yannbf!

  • UI: Prevent crash when tag filters contain undefined entries - #33931, thanks @​abhaysinh1000!

          ### v10.3.0-alpha.12## 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!

          ### v10.2.13## 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!

          ### v10.3.0-alpha.11## 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!

          ### v10.3.0-alpha.10## 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!

          ### v10.2.12## 10.2.12
    
  • Core: Sanitize inputs for save from controls - #33868, thanks @​valentinpalkovic!

  • Telemetry: Add project age - #33910, thanks @​shilman!

  • Webpack: Improve performance of module-mocking plugins - #33169, thanks @​valentinpalkovic!

          ### v10.3.0-alpha.9## 10.3.0-alpha.9
    
  • React: Add react-docgen-typescript to component manifest - #33818, thanks @​kasperpeulen!

          ### v10.3.0-alpha.8## 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!

Commit history:
  • 679830 Merge pull request #34247 from storybookjs/add-pseudo-state-tailwind-hover-story

    Addon-Pseudostates: Add story showing support for media hover syntax

  • 7b98fd Addon-Pseudostates: Add story showing support for media hover syntax
  • 87733f Merge pull request #34141 from dididy/fix/e2e-unawaited-actions

    Tests: Fix unawaited Playwright actions and non-asserting isVisible() calls

  • 346d5d Merge pull request #33698 from yatishgoel/fix/32757-ts-loader-js-extension-resolution

    Core: Resolve .js imports to .ts files in TypeScript loader

  • 3f9776 Merge pull request #34240 from storybookjs/valentin/add-fix-lintik-types-on-pr

    Agent: Add fix-linting-types-on-pr skill

  • db8b30 Agent: Add fix-linting-types-on-pr
  • d38952 Merge pull request #34224 from storybookjs/chore/removeprettierrc

    Cleanup: Remove root prettierRC and update snapshots

  • ed6fb1 Merge pull request #34236 from storybookjs/shilman/cli-tweak

    CLI: Shorten CTA link messages

  • 793e35 Merge pull request #34158 from storybookjs/ci-danger-release-jobs

    CI: Relax Danger label rules on release PRs

  • ddc932 Merge pull request #34231 from dannyhw/dannyhw/fix/rnw-vite8-support

    React Native Web: Fix vite8 support by bumping vite-plugin-rnw

  • e01c9a Merge branch 'next' into shilman/cli-tweak
  • e0e907 CLI: Shorten CTA link messages
  • 98e5e0 React Native Web: Fix vite8 support by bumping vite-plugin-rnw
  • cc5f09 Merge pull request #33982 from ValentinFunk/next

    Angular: Use Story ID for renderer IDs (including standalone stories)

  • 466e87 Update CHANGELOG.md for v10.3.1 [skip ci]
  • 1c3d42 Merge branch 'next-release' into next
  • 3191cb Bump version from "10.4.0-alpha.1" to "10.4.0-alpha.2" [skip ci]
  • feb663 Merge pull request #34217 from storybookjs/version-non-patch-from-10.4.0-alpha.1

    Release: Prerelease 10.4.0-alpha.2

  • 557fa0 chore: remove root prettierRC and update snapshots
  • 15edac Build: Move prettier to oxfmt
  • b652f4 Merge branch 'next' into fix/32757-ts-loader-js-extension-resolution
  • fdfdd9 Write changelog for 10.4.0-alpha.2 [skip ci]
  • 124007 Merge branch 'next-release' into next
  • d47eeb Bump version from "10.4.0-alpha.0" to "10.4.0-alpha.1" [skip ci]
  • 2f6ca4 Merge pull request #34209 from storybookjs/version-non-patch-from-10.4.0-alpha.0

    Release: Prerelease 10.4.0-alpha.1

  • b00ebf Merge pull request #34153 from storybookjs/fix-persistent-story-viewport

    Core: Prevent story-local viewport from persisting in URL

  • 707ddb Merge pull request #34034 from 50bbx/chore/upgrade-serialize-javascript

    Security: Makes sure serialize-javascript is at latest version

  • 7329ba Formatting
  • ac8171 Merge pull request #34214 from storybookjs/fix/repro-command

    CLI: Use npm info to fetch versions in repro command

  • adf67a Merge pull request #34168 from mixelburg/chore/remove-dead-wrap-getAbsolutePath-utils

    Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump @​michijs/storybook-utils from 8.4.7 to 8.4.8

Changelog:
Sourced from releases.
        ### 8.4.8## What's Changed

New Contributors

Full Changelog: https://github.com/michijs/storybook-utils/compare/v8.4.7...8.4.8

        ### v8.4.8-beta.8Automatic release


        ### v8.4.8-beta.7Automatic release


        ### v8.4.8-beta.6Automatic release


        ### v8.4.8-beta.5Automatic release


        ### v8.4.8-beta.4Automatic release


        ### v8.4.8-beta.3Automatic release


        ### v8.4.8-beta.2Automatic release


        ### v8.4.8-beta.1Automatic release


        ### v8.4.8-beta.0Automatic release


        ### v8.4.7Bump dependencies
Commit history:

@michijs

michijs Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor Author

Bump @​storybook/builder-vite from 9.1.3 to 10.3.1

Changelog:
Sourced from releases.
        ### v10.4.0-alpha.2## 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!

          ### v10.4.0-alpha.1## 10.4.0-alpha.1
    
  • Docs: Ensure unique control id attributes across multiple Controls blocks - #34021, thanks @​TheSeydiCharyyev!

          ### v10.3.1## 10.3.1
    
  • 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!

          ### v10.4.0-alpha.0## 10.4.0-alpha.0
    
    
    
    
          ### v10.3.0## 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
List of all updates
  • 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!
        ### v10.3.0-beta.3## 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!

          ### v10.3.0-beta.2## 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!

          ### v10.3.0-beta.1## 10.3.0-beta.1
    
  • Addon-Docs: Add React as optimizeDeps entry - #34176, thanks @​valentinpalkovic!

  • CLI: Avoid hanging of postinstall during init - #34175, thanks @​valentinpalkovic!

          ### v10.3.0-beta.0## 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-deps platform-aware to avoid sudo prompt on Linux #34121

  • Addon-docs: Restore docs.components overrides 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 experimentalComponentsManifestcomponentsManifest, default to true #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

          ### v10.3.0-alpha.17## 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!

          ### v10.2.19## 10.2.19
    
  • Maintenance: Support vite-plugin-svelte@​7 which supports Vite 8 - #34115, thanks @​valentinpalkovic!

  • Vite: Support Vite 8 - #33788, thanks @​valentinpalkovic!

          ### v10.2.18## 10.2.18
    
  • Core: Correctly fallback to first detected vitest config file - #33865, thanks @​yannbf!

  • Core: Fix error reporting in ManagerErrorBoundary - #33915, thanks @​ghengeveld!

          ### v10.3.0-alpha.16## 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!

          ### v10.3.0-alpha.15## 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!

          ### v10.2.17## 10.2.17
    
  • Next.js: Add support for v16.2 - #34046, thanks @​valentinpalkovic!

          ### v10.2.16## 10.2.16
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v9.1.20## 9.1.20
    
  • Add request validation

          ### v10.3.0-alpha.14## 10.3.0-alpha.14
    
  • CSF-Factories: Fix ConfigFile parser false warning on `definePreview({...}).type()` 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!

          ### v10.2.15## 10.2.15
    
  • Core: Storybook failed to load iframe.html when publishing - #33896, thanks @​danielalanbates!

  • Manager-API: Update refs sequentially in experimental_setFilter - #33958, thanks @​ia319!

  • React: Handle render identifier in manifest snippet generation - #33940, thanks @​kasperpeulen!

          ### v10.3.0-alpha.13## 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!

          ### v10.2.14## 10.2.14
    
  • CLI: Set STORYBOOK environment variable - #33938, thanks @​yannbf!

  • UI: Prevent crash when tag filters contain undefined entries - #33931, thanks @​abhaysinh1000!

          ### v10.3.0-alpha.12## 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!

          ### v10.2.13## 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!

          ### v10.3.0-alpha.11## 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!

          ### v10.3.0-alpha.10## 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!

          ### v10.2.12## 10.2.12
    
  • Core: Sanitize inputs for save from controls - #33868, thanks @​valentinpalkovic!

  • Telemetry: Add project age - #33910, thanks @​shilman!

  • Webpack: Improve performance of module-mocking plugins - #33169, thanks @​valentinpalkovic!

          ### v10.3.0-alpha.9## 10.3.0-alpha.9
    
  • React: Add react-docgen-typescript to component manifest - #33818, thanks @​kasperpeulen!

          ### v10.3.0-alpha.8## 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!

Commit history:
  • 679830 Merge pull request #34247 from storybookjs/add-pseudo-state-tailwind-hover-story

    Addon-Pseudostates: Add story showing support for media hover syntax

  • 7b98fd Addon-Pseudostates: Add story showing support for media hover syntax
  • 87733f Merge pull request #34141 from dididy/fix/e2e-unawaited-actions

    Tests: Fix unawaited Playwright actions and non-asserting isVisible() calls

  • 346d5d Merge pull request #33698 from yatishgoel/fix/32757-ts-loader-js-extension-resolution

    Core: Resolve .js imports to .ts files in TypeScript loader

  • 3f9776 Merge pull request #34240 from storybookjs/valentin/add-fix-lintik-types-on-pr

    Agent: Add fix-linting-types-on-pr skill

  • db8b30 Agent: Add fix-linting-types-on-pr
  • d38952 Merge pull request #34224 from storybookjs/chore/removeprettierrc

    Cleanup: Remove root prettierRC and update snapshots

  • ed6fb1 Merge pull request #34236 from storybookjs/shilman/cli-tweak

    CLI: Shorten CTA link messages

  • 793e35 Merge pull request #34158 from storybookjs/ci-danger-release-jobs

    CI: Relax Danger label rules on release PRs

  • ddc932 Merge pull request #34231 from dannyhw/dannyhw/fix/rnw-vite8-support

    React Native Web: Fix vite8 support by bumping vite-plugin-rnw

  • e01c9a Merge branch 'next' into shilman/cli-tweak
  • e0e907 CLI: Shorten CTA link messages
  • 98e5e0 React Native Web: Fix vite8 support by bumping vite-plugin-rnw
  • cc5f09 Merge pull request #33982 from ValentinFunk/next

    Angular: Use Story ID for renderer IDs (including standalone stories)

  • 466e87 Update CHANGELOG.md for v10.3.1 [skip ci]
  • 1c3d42 Merge branch 'next-release' into next
  • 3191cb Bump version from "10.4.0-alpha.1" to "10.4.0-alpha.2" [skip ci]
  • feb663 Merge pull request #34217 from storybookjs/version-non-patch-from-10.4.0-alpha.1

    Release: Prerelease 10.4.0-alpha.2

  • 557fa0 chore: remove root prettierRC and update snapshots
  • 15edac Build: Move prettier to oxfmt
  • b652f4 Merge branch 'next' into fix/32757-ts-loader-js-extension-resolution
  • fdfdd9 Write changelog for 10.4.0-alpha.2 [skip ci]
  • 124007 Merge branch 'next-release' into next
  • d47eeb Bump version from "10.4.0-alpha.0" to "10.4.0-alpha.1" [skip ci]
  • 2f6ca4 Merge pull request #34209 from storybookjs/version-non-patch-from-10.4.0-alpha.0

    Release: Prerelease 10.4.0-alpha.1

  • b00ebf Merge pull request #34153 from storybookjs/fix-persistent-story-viewport

    Core: Prevent story-local viewport from persisting in URL

  • 707ddb Merge pull request #34034 from 50bbx/chore/upgrade-serialize-javascript

    Security: Makes sure serialize-javascript is at latest version

  • 7329ba Formatting
  • ac8171 Merge pull request #34214 from storybookjs/fix/repro-command

    CLI: Use npm info to fetch versions in repro command

  • adf67a Merge pull request #34168 from mixelburg/chore/remove-dead-wrap-getAbsolutePath-utils

    Maintenance: Remove dead-code copy of wrap-getAbsolutePath-utils

@michijs michijs Bot closed this Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants