Skip to content

Release: Prerelease 10.5.0-alpha.8#35181

Open
github-actions[bot] wants to merge 274 commits into
next-releasefrom
version-non-patch-from-10.5.0-alpha.7
Open

Release: Prerelease 10.5.0-alpha.8#35181
github-actions[bot] wants to merge 274 commits into
next-releasefrom
version-non-patch-from-10.5.0-alpha.7

Conversation

@github-actions

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

Copy link
Copy Markdown
Contributor

This is an automated pull request that bumps the version from `10.5.0-alpha.7` to `10.5.0-alpha.8`.
Once this pull request is merged, it will trigger a new release of version `10.5.0-alpha.8`.
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:

  • ✨ Feature Request: Angular: Introduce storybook/angular-vite package #34202
  • 🐛 Bug: CLI: Exit process after successful build #34735
  • 🔧 Maintenance: Open Service: Split story docs from docgen service #35169
  • 🐛 Bug: Builder-Vite: Fix empty external globals imports #34348
  • 🐛 Bug: Controls: Prevent AbortError when rapidly resetting #34412
  • 🐛 Bug: Vue: Use AST to inject __docgenInfo correctly #35201
  • 🐛 Bug: Core: Include chromatic packages in ecosystem identifier #35170 (will also be patched)
  • 🐛 Bug: Preview: Preserve primitive args for non-ReactNode other types #35088
  • 🐛 Bug: ModuleGraph: Stop bumping the graph revision on story-index invalidation #35178
  • 🐛 Bug: Manager: Fix crash when toggling addon panel on mobile (LandmarkManager TypeError) #34790
  • 🐛 Bug: Core: Use UndoIcon for Review-changes clear button #34767
  • 🐛 Bug: Core: Fix npm dependency detection #35083
  • 🐛 Bug: Docs: Improve DocsParameters types #35190
  • 🐛 Bug: Controls: Prevent the save bar from covering the last control #35136
  • 🐛 Bug: Manager: Fix race condition in `experimental_setFilter` #35194
  • 🐛 Bug: CLI: Fix upgrade crash on Storybook latest version check #35156
  • 🐛 Bug: NextJS: Support `as` prop in next/link mock #35148
  • 🐛 Bug: Docs: Restore React 16/17 support in useServiceDocgen #35179
  • 🐛 Bug: UI: Fix args not preserved in isolation mode #35055
  • 🐛 Bug: Measure & Outline: Honor the `disable` parameter #35150
  • ✨ Feature Request: CLI: Show MCP workflow instructions in AI help #35164
  • 📝 Documentation: Docs: Fix incorrect value for includePrimary in documentation #34792
  • 📝 Documentation: Docs: Clarify addon catalog indexing #35161
  • 🏗️ Build: CI: Add a final CircleCI job to require in GitHub #35209
  • 🏗️ Build: Tests: Pre-warm svelte/compiler import in svelteImportParser #35202
  • 🏗️ Build: Tests: Avoid toMatchInlineSnapshot inside waitFor retry loop #34738
  • 🏗️ Build: CI: Fix PR description tests #35200
  • 🏗️ Build: VSCode: Fix linting settings to prevent React import removal #35095
  • 🏗️ Build: CI: Use correct script name in fork CI jobs #34616
  • 📝 Documentation: Docs: Fix typo in package name in interaction testing #35103
  • 🏗️ Build: CI: Use Danger to safeguard against forgotten cherrypicks #35171
  • 🏗️ Build: Agents: Add QA label and manual testing guidance to PR skill #35195
  • 🏗️ Build: Docs: Add e2e test for useArgs inside a Stories block #35037

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.8

  • Angular: Introduce storybook/angular-vite package - #34202, thanks brandonroberts!
  • Builder-Vite: Fix empty external globals imports - #34348, thanks raashish1601!
  • CLI: Exit process after successful build - #34735, thanks torleifhalseth!
  • CLI: Fix upgrade crash on Storybook latest version check - #35156, thanks yatishgoel!
  • CLI: Show MCP workflow instructions in AI help - #35164, thanks kasperpeulen!
  • Controls: Prevent AbortError when rapidly resetting - #34412, thanks whdjh!
  • Controls: Prevent the save bar from covering the last control - #35136, thanks TheSeydiCharyyev!
  • Core: Fix npm dependency detection - #35083, thanks fallintoplace!
  • Core: Include chromatic packages in ecosystem identifier - #35170, thanks yannbf!
  • Core: Use UndoIcon for Review-changes clear button - #34767, thanks valentinpalkovic!
  • Docs: Improve DocsParameters types - #35190, thanks mrginglymus!
  • Docs: Restore React 16/17 support in useServiceDocgen - #35179, thanks JReinhold!
  • Manager: Fix crash when toggling addon panel on mobile (LandmarkManager TypeError) - #34790, thanks valentinpalkovic!
  • Manager: Fix race condition in `experimental_setFilter` - #35194, thanks mrginglymus!
  • Measure & Outline: Honor the `disable` parameter - #35150, thanks yatishgoel!
  • ModuleGraph: Stop bumping the graph revision on story-index invalidation - #35178, thanks JReinhold!
  • NextJS: Support `as` prop in next/link mock - #35148, thanks yatishgoel!
  • Open Service: Split story docs from docgen service - #35169, thanks JReinhold!
  • Preview: Preserve primitive args for non-ReactNode other types - #35088, thanks TheSeydiCharyyev!
  • UI: Fix args not preserved in isolation mode - #35055, thanks sijie-Z!
  • Vue: Use AST to inject __docgenInfo correctly - #35201, thanks Sidnioulz!

valentinpalkovic and others added 30 commits May 11, 2026 15:39
Replace the close icon next to the active Review-changes CTA with
the undo icon to better convey that clicking reverts the filter.
Vite 8's bundled rolldown@1.0.0 exports `Visitor`. @angular/build pulls
rolldown@1.0.0-rc.4 which does not, leading to runtime ESM link errors
when the preview server boots. Force a single rolldown across the
sandbox.
Vite 8 prefers oxc as transformer. Without explicit JSX runtime config,
React-only template stories (e.g. ResolvedReact.jsx) fail vite import
analysis with 'invalid JS syntax'. Apply the config in both build and
dev; keep keepNames build-only.
…azy-init bug

Rolldown's chunk splitting plus lazy-init wrappers produced a chunk
where _browser-chunk-* extends a class imported from _xhr-chunk-* but
the dependent init thunk was never invoked, leaving the imported class
undefined at evaluation. Coalescing @angular/platform-browser and
@angular/common into a single chunk via manualChunks keeps the class
hierarchy contiguous.
…onfig

@analogjs/vite-plugin-angular only compiles files that are part of the
tsconfig program. The sandbox tsconfig previously included only
`*.stories.ts` under `template-stories`, which left sibling component
sources (e.g. `pre.component.ts`, `form.component.ts`) outside the
program. Without compilation, the Angular `@Input()` / `@Output()`
decorators are stripped, `ɵcmp` metadata is never generated, and
`PropertyExtractor` falls back to an empty inputs/outputs list. That
causes `computesTemplateFromComponent` to emit a binding-free template
and template stories like `core-argmapping`, `module-mocking`,
`addon-actions`, and `addon-toolbars` to render empty content in the
angular-vite sandbox.

Widening the include glob to `../template-stories/**/*.ts` ensures
template components are compiled alongside the stories. The webpack
sandbox is unaffected because `@ngtools/webpack` resolves Angular
sources via the dependency graph rather than tsconfig include.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous broader `template-stories/**/*.ts` glob pulled in
`global.d.ts` which declares `globalThis.__STORYBOOK_ADDONS_CHANNEL__`
as `{ emit: any; on: any }`, breaking webpack typecheck for stories
that already used `channel.once`. It also picked up `utils.mock.ts`
which uses a `.ts` extension import unsupported by the sandbox
tsconfig. Restore the original `*.stories.ts` include and add only
`template-stories/components/**/*.ts`, which is where renderer template
components are symlinked. Keeps analogjs/vite-plugin-angular happy
without disturbing the webpack build.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…survives

The @analogjs/vite-plugin-angular `transform` hook replaces the incoming
`code` parameter with its own TS-compiled output (pulled from an internal
Angular file emitter) instead of forwarding the parameter through. With the
plugin sitting in Vite's "normal" group it ran after `storybook:mock-loader`
(which declares `transform.order: 'pre'`), so any automocked module body
produced by the mock plugin was silently discarded and stories rendered
the original implementation.

Force the main analogjs plugin into the "pre" group from `viteFinal` so it
transforms `.ts` sources before the mock plugin's automock pass, which then
operates on the compiled JS output. Verified locally on the angular-cli
vite sandbox: ModuleMocking / ModuleAutoMocking / NodeModuleMocking
stories now render mocked, automocked and node-module-mocked values
instead of the originals.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Without this, the @storybook/angular-vite sandbox skipped tsconfig
widening and compodoc/preserveSymlinks setup, so template-stories
components were never included in the Angular TS program.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cleanArgsDecorator filters args to those whose argType declares a
control or action. Compodoc-backed extraction populates argTypes by
class name, but rolldown rewrites class identifiers during the build,
so the lookup fails, argTypes stay empty, and every story arg the user
set was being discarded before reaching the Angular wrapper's
@input bindings. Skip the filter when argTypes is empty so the renderer
still receives the args produced by user decorators in build mode.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Compodoc-derived argTypes are looked up at runtime by class name
(findComponentByName), and the angular-vite cleanArgsDecorator strips
any arg whose argType lacks an action or control flag. Without
keepNames the production bundle renames ButtonComponent to `f`,
the lookup fails, and @output() handlers / @input() values get
stripped before reaching the renderer. The existing esbuild
keepNames flag only covers the per-file TS→JS transform; Rolldown's
oxc minifier needs its own opt-in.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
analogjs's transform re-emits .ts files from its own internal Angular
file emitter, discarding any upstream `code`. Both storybook's
csf-plugin (`enforce: 'pre'`) and mock-loader (`transform.order: 'pre'`)
run before analogjs and have their output silently wiped — story
enrichment (`parameters.docs.description.story`, source) never lands
in the bundle, and `sb.mock()` automocks are lost. Demote both plugins
to the normal stage so they run after analogjs has produced its
compiled JS; csf-plugin reads the original source from disk so source
extraction is unaffected, and the automock then operates on the JS
output.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mock-loader's `load` hook returns the contents of a matching
`__mocks__/…` redirect for files referenced by `sb.mock()`, but
analogjs's transform then re-emits the file from its own TS emitter
and discards that content. The automock case is handled by demoting
mock-loader out of 'pre'; the redirect case can't be, because
analogjs runs only once and `load` doesn't fire again. Add a
normal-stage plugin that scans the preview config for `sb.mock`
calls with a redirect path at buildStart and re-applies the redirect
contents as the transform output. Plain `sb.mock(...)` automocks are
intentionally skipped here to avoid double-wrapping mock-loader's
output.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…gular-vite

# Conflicts:
#	code/core/src/common/versions.ts
#	code/lib/create-storybook/src/commands/FrameworkDetectionCommand.ts
#	code/lib/create-storybook/src/generators/types.ts
`useLandmark` was called unconditionally at the top of `MobileNavigation`
while the element holding the section ref was conditionally rendered via
`!isMobilePanelOpen`. When the addon panel opened, the bottom bar
unmounted and React set the ref's `current` to `null`, but the upstream
`@react-aria/landmark` effect did not re-run (its deps were stable), so
the manager retained a stale landmark with a null DOM node. The next
landmark registration crashed during the binary-search position
comparison with `TypeError: parameter 1 is not of type 'Node'`.

Move `useLandmark`, the ref, and the heading id into a child component
that is conditionally rendered alongside the bottom bar, so the hook
mounts and unmounts together with the DOM node it tracks.

Fixes #34711
Run yarn dedupe to collapse 88 duplicated transitive dependencies,
fixing the "Check for dedupe" CI step.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bump from 10.4.0-alpha.17 to 10.5.0-alpha.2 so the new package
matches every sibling package and the committed versions.ts entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The merge of upstream/next left a global "type-fest": "~2.19"
resolution in the root package.json. next had already removed it
(keeping only the scoped react-joyride/type-fest override) when
code/core migrated to type-fest ^5.6.0.

The stale override clamped every type-fest down to 2.19.0, which
lacks OmitIndexSignature, breaking DTS generation for
code/core/src/csf/story.ts under production compile.

Remove the override, regenerate yarn.lock so type-fest@^5.6.0
resolves again, and refresh the regenerated manager globals
exports file that the same merge left stale.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
angular-vite/src/client/preview.ts imported RemoveIndexSignature
from type-fest, which is not an exported member. The sibling
@storybook/angular package uses OmitIndexSignature in the same
spot. Align the new package so production DTS generation succeeds.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The global type-fest resolution was removed from the root
package.json, so the ecosystem-ci EXISTING_RESOLUTIONS set must
drop it too. Keeps existing-resolutions.test.ts green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Remove unreachable code branches and warning text that supported Angular
versions below the package's peer-dependency floor (@angular/core
>=21.0.0 <22.0.0):

- Delete Zoneless.ts runtime feature-detect and use a static import of
  provideZonelessChangeDetection from @angular/core
- Drop VERSION-based >=21 auto-detect from builders and preset; default
  experimentalZoneless to true
- Drop VERSION-based >=19 standalone fallback in PropertyExtractor
- Make @angular/platform-browser/animations a static import; rewrite
  warnings to drop "Storybook 7.0" references and point at
  @storybook/angular-vite
- Remove stale v14 standalone TODO in NgComponentAnalyzer
- Drop rxjs ^6.5.3 from peerDependencies (Angular 21 requires rxjs 7+)
- Bump installed Angular dev deps to ^21.2.14
…k/angular-vite

`angular-beta/` was a leftover folder name from the @storybook/angular Ivy
beta migration. In a fresh angular-vite package the name carries no
meaning and reads as "still beta." Rename to `renderer/` to match what
the folder actually contains (the Angular rendering implementation).
brandonroberts and others added 8 commits June 18, 2026 08:26
- configure.ts: use Record<string, unknown> instead of any
- ANGULAR generator: trim overly verbose builder-override comment
- multi-project: clarify doc and rename addonsToConfigure -> addonsToPostinstall
- docs snippet: add missing commas in application-providers example

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Angular's animations package is deprecated; migrate the application-providers
snippet to provideAnimationsAsync() and drop the deprecated
BrowserAnimationsModule reference from the framework docs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ta-barrel-substring

Vue: Use AST to inject __docgenInfo correctly
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.7 branch from a78fb9a to 9cbcbbd Compare June 18, 2026 14:34
Controls: Prevent AbortError when rapidly resetting
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.7 branch from 9cbcbbd to c9fd402 Compare June 18, 2026 14:53
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.7 branch from c9fd402 to 3f8c838 Compare June 18, 2026 15:37
…mary-note

Docs: Fix incorrect value for includePrimary in documentation
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.7 branch from 3f8c838 to c3abb3f Compare June 18, 2026 15:48
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.7 branch from c3abb3f to 26544f6 Compare June 18, 2026 17:30
Open Service: Split story docs from docgen service
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.7 branch from 26544f6 to 079083c Compare June 18, 2026 17:40
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.7 branch from 079083c to 2b92870 Compare June 18, 2026 18:51
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.5.0-alpha.7 branch from 2b92870 to 85ccc03 Compare June 18, 2026 19:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release For PRs that trigger new releases. Automated

Projects

None yet

Development

Successfully merging this pull request may close these issues.