Skip to content

Release: Prerelease 10.5.0-alpha.6#35076

Merged
Sidnioulz merged 191 commits into
next-releasefrom
version-non-patch-from-10.5.0-alpha.5
Jun 10, 2026
Merged

Release: Prerelease 10.5.0-alpha.6#35076
Sidnioulz merged 191 commits into
next-releasefrom
version-non-patch-from-10.5.0-alpha.5

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

This is an automated pull request that bumps the version from `10.5.0-alpha.5` to `10.5.0-alpha.6`.
Once this pull request is merged, it will trigger a new release of version `10.5.0-alpha.6`.
If you're not a core maintainer with permissions to release you can ignore this pull request.

To do

Before merging the PR, there are a few QA steps to go through:

  • Add the "freeze" label to this PR, to ensure it doesn't get automatically forced pushed by new changes.
  • Add the "ci:daily" label to this PR, to trigger the full test suite to run on this PR.

And for each change below:

  1. Ensure the change is appropriate for the version bump. E.g. patch release should only contain patches, not new or de-stabilizing features. If a change is not appropriate, revert the PR.
  2. Ensure the PR is labeled correctly with one of: "BREAKING CHANGE", "feature request", "bug", "maintenance", "dependencies", "documentation", "build", "unknown".
  3. Ensure the PR title is correct, and follows the format "[Area]: [Summary]", e.g. "React: Fix hooks in CSF3 render functions". If it is not correct, change the title in the PR.
    • Areas include: React, Vue, Core, Docs, Controls, etc.
    • First word of summary indicates the type: “Add”, “Fix”, “Upgrade”, etc.
    • The entire title should fit on a line

This is a list of all the PRs merged and commits pushed directly to `next`, that will be part of this release:

  • 🔧 Maintenance: Open Service: Call remote commands in load functions #35106
  • 🔧 Maintenance: Module Graph: Refactor from StoryDependencyService to open service-based ModuleGraphService #35048
  • 🐛 Bug: Preview: Stop mixed CSF3+4 stories getting core annotations injected twice #35094 (will also be patched)
  • 🐛 Bug: React: Fix subcomponent prop extraction without JSX usage #35107
  • 🐛 Bug: Manager: Keep local preview iframe on host URL when a ref story loads first #35078
  • 🐛 Bug: Viewport: Highlight toolbar button when custom viewport is active #35075
  • 🐛 Bug: Controls: Guard normalizeOptions against array labels and prototype chain lookups #34664
  • ✨ Feature Request: Interactions: Prevent debugger controls from stealing focus #35073
  • 🔧 Maintenance: Open Service: Add `internal` property to control visibility #35057
  • 🔧 Maintenance: Webpack: Gate lazy-compilation import pipeline on webpack version #34931
  • 🔧 Maintenance: Docs: Deprecate ExternalDocs #35074
  • 🐛 Bug: Core: Fix resolveImport TSX fallback #34815
  • 🐛 Bug: Telemetry: Add timeout to event-log POST to prevent build hang #35085 (will also be patched)
  • 🐛 Bug: Core: Rework AI checklist feature gate #35053
  • ✨ Feature Request: Open Service: Add sync between server, manager and preview #35017
  • 🔧 Maintenance: Core: Add ref-based components manifest index backed by docgen open service #35063
  • 🏗️ Build: CI: Fail build when compile leaves uncommitted changes #35123
  • 🏗️ Build: Angular: Fix angular/forms version to 21 in sandbox #35112
  • 🏗️ Build: Build: Fix bench-packages BigQuery BOOL/STRING type error #35100
  • ⚠️ Direct commit: Build: Bump Node.js to 22.22.3 `6ce2b2b0d6e9afa3f8556b102b44164911e68975`
  • 🏗️ Build: CI: Restrict trusted CircleCI PR authors to specific teams #34975
  • 🏗️ Build: Docs: Add test proving scroll is reset across nav #34973

If you've made any changes doing the above QA (change PR titles, revert PRs), manually trigger a re-generation of this PR with this workflow and wait for it to finish. It will wipe your progress in this to do, which is expected.

Feel free to manually commit any changes necessary to this branch after you've done the last re-generation, following the Make Manual Changes section in the docs, especially if you're making changes to the changelog.

When everything above is done:


Generated changelog

10.5.0-alpha.6

  • Controls: Guard normalizeOptions against array labels and prototype chain lookups - #34664, thanks creazyfrog!
  • Core: Add ref-based components manifest index backed by docgen open service - #35063, thanks JReinhold!
  • Core: Fix resolveImport TSX fallback - #34815, thanks cyphercodes!
  • Core: Rework AI checklist feature gate - #35053, thanks Sidnioulz!
  • Docs: Deprecate ExternalDocs - #35074, thanks Sidnioulz!
  • Interactions: Prevent debugger controls from stealing focus - #35073, thanks BrenoSI03!
  • Manager: Keep local preview iframe on host URL when a ref story loads first - #35078, thanks TheSeydiCharyyev!
  • Module Graph: Refactor from StoryDependencyService to open service-based ModuleGraphService - #35048, thanks JReinhold!
  • Open Service: Add `internal` property to control visibility - #35057, thanks JReinhold!
  • Open Service: Add sync between server, manager and preview - #35017, thanks ndelangen!
  • Open Service: Call remote commands in load functions - #35106, thanks JReinhold!
  • Preview: Stop mixed CSF3+4 stories getting core annotations injected twice - #35094, thanks JReinhold!
  • React: Fix subcomponent prop extraction without JSX usage - #35107, thanks JReinhold!
  • Telemetry: Add timeout to event-log POST to prevent build hang - #35085, thanks badams!
  • Viewport: Highlight toolbar button when custom viewport is active - #35075, thanks derinbarutcu17!
  • Webpack: Gate lazy-compilation import pipeline on webpack version - #34931, thanks copilot-swe-agent!

creazyfrog and others added 30 commits April 30, 2026 01:38
…lookups

When Svelte's docgen incorrectly emits an array as the `labels` prop,
`labels['reverse']` resolves to `Array.prototype.reverse` via the
prototype chain, causing the control to display
`function reverse() { [native code] }` instead of the option value.

Add an `Array.isArray` guard and use `Object.prototype.hasOwnProperty.call`
so only own-property matches on a plain-object labels map are used;
everything else falls back to `String(item)`.

Fixes #30142

🤖 Generated with [Claude Code](https://claude.ai/claude-code)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Export normalizeOptions from Options.tsx so tests exercise the production
function directly rather than a reimplemented copy.

🤖 Generated with [Claude Code](https://claude.ai/claude-code)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…prototype-collision fix

Adds Chromatic-visible stories to CheckOptions, RadioOptions, and
SelectOptions covering the two cases fixed by the normalizeOptions guard:

1. ArrayLabelsPartial / ArrayInlineLabelsPartial
   - Only some option keys have label mappings; unlabelled keys must fall
     back to String(item) rather than 'undefined'.

2. ArrayLabelsIsArray / ArrayInlineLabelsIsArray / ArrayMultiLabelsIsArray
   - When docgen (e.g. Svelte) emits `labels` as an array, options whose
     names collide with Array.prototype methods (reverse, map, filter)
     previously displayed `function reverse() { [native code] }`.
   - With the !Array.isArray + hasOwnProperty guard, every option correctly
     displays as its raw string value.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tsx-fallback

# Conflicts:
#	code/core/src/common/utils/interpret-files.ts
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
…mpilation

Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
- Added a new background color service with manager, preview, and server components.
- Integrated service registration in Storybook's manager and preview files.
- Established a communication channel for state synchronization between manager and preview.
- Created tests for service registration and subscription behavior.
…e tests

Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
- Added a new background color service with manager, preview, and server components.
- Integrated service registration in Storybook's manager and preview files.
- Established a communication channel for state synchronization between manager and preview.
- Created tests for service registration and subscription behavior.
…zation

- Updated service registration to automatically join the cross-peer sync protocol without a separate connect step.
- Introduced a schema validation mechanism for state synchronization to ensure integrity across runtimes.
- Implemented last-write-wins logic for concurrent state updates, improving conflict resolution.
- Added comprehensive tests for service registration, state synchronization, and validation behavior.
- Removed deprecated service-server-channel integration, consolidating functionality into service-sync.
- Added a new project configuration for the open-service internal demo in Playwright.
- Updated Storybook's preview components to synchronize body background color with the open-service background demo.
- Introduced a new event for when the preview iframe finishes loading, improving state synchronization.
- Enhanced the Viewport component to conditionally render the iframe based on addon loading state.
- Added end-to-end tests for the open-service background demo to ensure consistent behavior after reloads.
- Removed the PREVIEW_IFRAME_LOADED_EVENT export from the postMessage channel as it is no longer utilized.
- Simplified the IFrame component by eliminating the event dispatch for iframe load completion.
- Updated the PostMessageTransport class to remove references to the now-removed event.
- Enhanced the Viewport component to streamline iframe rendering logic.
- Adjusted the provider module to clean up state management related to addon loading.
- Updated ManagerProvider to run addon register callbacks before the first render, ensuring manager-side listeners are ready for preview JS events.
- Refactored the provider module to remove unused API handling logic during initialization.
- Simplified open-service tests by consolidating welcome-request retry logic and improving clarity in test cases for welcome-reply handling.
- Adjusted end-to-end tests to validate the reload bootstrap path and ensure synchronization between manager and preview components.
- Updated README to clarify the merging of `staticInputs` and handler overrides in service registration.
- Improved type safety in `server.test-d.ts` by adding type expectations for input and context in service handlers.
- Adjusted service registration tests to ensure handlers and load hooks are correctly defined on service definitions.
- Enhanced type definitions in `types.ts` to reflect the correct structure for service query registrations.
- Updated docgen service definition to ensure the load hook is correctly associated with the query definition.
…a81' of github.com:storybookjs/storybook into norbert/service-clients
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.5 branch from 78dc467 to 61d8e1e Compare June 9, 2026 14:41
JReinhold and others added 7 commits June 9, 2026 20:21
Add regression tests for declared compound subcomponents (Button.Aligner)
and namespace-import subcomponents without JSX. metaComponentMatchesRef no
longer treats member refs as matching a plain meta.component identifier,
and Path 3 resolves namespace imports by module export name rather than
the local namespace alias.

Co-authored-by: Cursor <cursoragent@cursor.com>
Mirror withProject files into memfs and read story sources from the in-memory
volume instead of node:fs in ComponentMetaProject tests. Adds
loadDeclaredSubcomponentComponents helper shared by subcomponent cases.

Co-authored-by: Cursor <cursoragent@cursor.com>
Ignore Playwright output dirs in Vite watch so trace writes do not reload the dev server during internal e2e, and harden preview-ready waits for cold starts.

Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid repeated index scans when mapping bumped story files to component IDs, and add focused unit coverage for the getLatestStoryChanges query contract.

Co-authored-by: Cursor <cursoragent@cursor.com>
…p-extraction

React: Fix subcomponent prop extraction without JSX usage
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.5 branch from 61d8e1e to cedaa6f Compare June 9, 2026 19:37
Preview: Stop mixed CSF3+4 stories getting core annotations injected twice
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.5 branch from cedaa6f to 9143310 Compare June 9, 2026 19:41
Module Graph: Refactor from StoryDependencyService to open service-based ModuleGraphService
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.5 branch from 9143310 to 9c7cd76 Compare June 9, 2026 20:39
JReinhold and others added 6 commits June 10, 2026 10:47
Use onTestFinished for handler spy restore in load-body test, and reuse a
single remoteCommandNames Set cleared on attachChannelCommands.

Co-authored-by: Cursor <cursoragent@cursor.com>
Move the git cleanliness check to after compile so generated files must be committed before merge.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ce type

After merging next, the getService<typeof def> callsites for core/module-graph
resolved to the definition type (no subscribe/loaded) under this PR's single
getService<TInstance> generic. Add a ModuleGraphService instance-type alias and
use it. Also fix remoteCommandNames Set.add spread misuse.

Co-authored-by: Cursor <cursoragent@cursor.com>
…dy-commands

Open Service: Call remote commands in load functions
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.5 branch from 9c7cd76 to 9b3b9be Compare June 10, 2026 09:33
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.5 branch from 9b3b9be to c47e6a8 Compare June 10, 2026 09:40
@yannbf yannbf added ci:daily Run the CI jobs that normally run in the daily job. freeze Freeze the Release PR with this label labels Jun 10, 2026
@storybook-app-bot

Copy link
Copy Markdown

Package Benchmarks

Commit: c47e6a8, ran on 10 June 2026 at 11:00:40 UTC

The following packages have significant changes to their size or dependencies:

@storybook/addon-docs

Before After Difference
Dependency count 18 18 0
Self size 1.28 MB 1.26 MB 🎉 -20 KB 🎉
Dependency size 9.27 MB 9.27 MB 🚨 +724 B 🚨
Bundle Size Analyzer Link Link

storybook

Before After Difference
Dependency count 74 72 🎉 -2 🎉
Self size 20.43 MB 20.73 MB 🚨 +308 KB 🚨
Dependency size 36.65 MB 36.12 MB 🎉 -531 KB 🎉
Bundle Size Analyzer Link Link

@storybook/ember

Before After Difference
Dependency count 188 189 🚨 +1 🚨
Self size 15 KB 15 KB 0 B
Dependency size 30.68 MB 30.78 MB 🚨 +102 KB 🚨
Bundle Size Analyzer Link Link

@storybook/cli

Before After Difference
Dependency count 205 203 🎉 -2 🎉
Self size 908 KB 908 KB 🚨 +69 B 🚨
Dependency size 89.21 MB 88.99 MB 🎉 -223 KB 🎉
Bundle Size Analyzer Link Link

@storybook/codemod

Before After Difference
Dependency count 198 196 🎉 -2 🎉
Self size 32 KB 32 KB 🚨 +36 B 🚨
Dependency size 87.70 MB 87.48 MB 🎉 -224 KB 🎉
Bundle Size Analyzer Link Link

create-storybook

Before After Difference
Dependency count 75 73 🎉 -2 🎉
Self size 1.08 MB 1.08 MB 0 B
Dependency size 57.08 MB 56.85 MB 🎉 -224 KB 🎉
Bundle Size Analyzer node node

@Sidnioulz Sidnioulz merged commit e105308 into next-release Jun 10, 2026
308 of 315 checks passed
@Sidnioulz Sidnioulz deleted the version-non-patch-from-10.5.0-alpha.5 branch June 10, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:daily Run the CI jobs that normally run in the daily job. freeze Freeze the Release PR with this label release For PRs that trigger new releases. Automated

Projects

None yet

Development

Successfully merging this pull request may close these issues.