Repository navigation
Release: Prerelease 10.6.0-beta.2 - #36113
Merged
Merged
Conversation
The mobile sidebar and addon panel are bottom-drawer Modals, which react-aria portals to document.body. With `position: absolute` and no positioned ancestor, the drawer resolved against the initial containing block — the layout viewport, which on mobile Safari extends underneath the retractable browser toolbars. Its bottom edge landed below the toolbar, and because the layout container is `overflow: hidden` the page could never scroll to expose it, so the sidebar's scroll area reached its end with the last stretch permanently out of view. Position the drawer `fixed` so it resolves against the visual viewport, and size the drawers in `dvh`, since `vh` resolves to the large viewport on iOS. This replaces the earlier approach on this branch. Restore the scroll area root and tree leaf wrapper, whose `overflow: hidden` clips sidebar content and tree node labels, and drop `-webkit-overflow-scrolling`, a no-op since iOS 13.
Removed duplicate import statement for addonDocs in the preview configuration.
The path separator in search results is rendered via a `::before` pseudo-element with `content: "' / '"`. Because `Path` is a grid container, each segment span is a grid item and therefore blockified, so the leading space is stripped as leading whitespace on the first line box. Breadcrumbs rendered as `Example/ Path/ To/ Button`. Set `whiteSpace: 'pre'` on the separator so its spaces are preserved.
CircleCI tests-unit--windows failed because three files assumed POSIX paths: file URLs without a drive letter, node:path join in expected addon entries, and hardcoded slashes when stubbing next.config lookup. Co-authored-by: Jeppe Reinhold <JReinhold@users.noreply.github.com>
The help's `Output:` block is generated from a method's declared output schema, so it documents `data` — what `--json` prints — while stdout defaults to the rendered markdown. Nothing said so, so a tool whose two renderings differ widely (stories preview: three fields vs one bare URL) read as broken. The heading now names the flag, which is what carries the qualification into the per-method view where no notes block exists. The root help gains one line pointing at those blocks. The `renderToolsHelp` docblock no longer claims the Options block is the flags' only documentation. Closes #36087
oxc-resolver matches exports maps against conditionNames and defaults to none, so packages whose exports carry only conditional entries (e.g. @stylexjs/stylex with types/import/require and no default) became unresolvable when 72e6893 replaced the exports-map-ignoring `resolve` package. That silently killed react-docgen for any component importing such a package, dropping its props from the component manifest and making the docs formatter dump all stories instead of truncating to three. createModuleResolver now defaults to the browser build's resolve conditions trimmed to what oxc-resolver understands, shared with the module-graph resolver's previously duplicated list.
Adds `@stylexjs/*` to `STYLING_PACKAGES`, so StyleX shows up in the `stylingPackages` telemetry group next to Tailwind, Emotion and styled-components. The same list feeds `categorize-render-errors`, so preview render errors originating from StyleX are now bucketed as styling-related.
…nit-tests-a370 Core: Make unit tests path-safe on Windows
Telemetry: Track StyleX as a styling package
Auto mode is supposed to attach when a server is up and load locally otherwise. A missing instance is that expected path, so do not print start-server / --attach instructions as if something went wrong.
The attach path waited on a process-local change-detection readiness deferred that only the instance scanner resolves. Route that check through a delegated module-graph command so the caller returns.
Commands name an action. Align the attach readiness command with _waitForSettledEngine instead of a getX getter.
Drop the duplicated union on the module-graph server options and use the command output schema's InferOutput instead.
stories.changed now awaits the module-graph changeDetectionReadiness query. Its load hook calls _waitForChangeDetectionReadiness, so attach and local share one path and the delegated-mode branch is gone.
…-arning Core: Always show warning in story-docs if available
An Angular project gets `sass` as a dependency of `@angular/build`, and npm is free to leave that copy under `node_modules/@angular/build/node_modules`. Vite's `loadPreprocessorPath` only searches from the Vite root upwards, so it never sees it, and every SCSS-styled component 500s. The message the user got was wrong on top of that: `loadSassPackage` tries `sass-embedded` first and rethrows *its* error, so a project that needs `sass` was told to install `sass-embedded`. A pre-enforced plugin now asks the same question from the same directory Vite does, before `vite:css` runs, and fails with the package to install. `sass` and `less` are declared as optional peers so the contract is visible in the manifest.
The eight tests for the check all built the plugin directly, so deleting `enforce: 'pre'` or dropping the plugin from `viteFinal` left the suite green while the user saw Vite's original `sass-embedded` message again. Ordering and registration are the whole feature; two tests now hold them. Also declare `sass-embedded` as an optional peer, since the check accepts it and the error message offers it, and drop a `return;` the guard above already covers.
Yarn Berry stores a workspace package's peerDependencies and peerDependenciesMeta in yarn.lock, so declaring the sass, sass-embedded and less peers made 'yarn install --immutable' fail with YN0028.
…tigation-bf92be CLI: Label the tools help `Output` block as the `--json` shape
Keep resolve.test.ts focused on instance matching; cover drive-letter equality in project-path.test.ts so both Linux CI and native Windows can assert win32 rules.
Windows and POSIX path identity is an implementation of node:path, so tests spy that module. The helper no-ops when the host already is that platform so posix.resolve does not recurse. Co-authored-by: Cursor <cursoragent@cursor.com>
A `.scss?raw` import is read as an asset and never handed to a preprocessor, so aborting the build for a missing one refused a project that compiles.
…ed-attach-hang-d6c0 CLI: Fix stories changed hanging on attach
…02-aacf61 Tools: Accept a story ID in `docs show-story` as an alternative to componentId + storyName
…uto-fallback-d0c7 CLI: Silence auto-mode fallback when no Storybook is running
storybook-bot
force-pushed
the
version-non-patch-from-10.6.0-beta.1
branch
from
September 1, 2026 11:25
698fec1 to
85a9237
Compare
…er-instance-match CLI: Match Storybook instances across Windows drive-letter case
storybook-bot
force-pushed
the
version-non-patch-from-10.6.0-beta.1
branch
from
September 1, 2026 11:44
85a9237 to
d481e50
Compare
…sass Angular: Declare style preprocessors as optional peers and name the missing one
storybook-bot
force-pushed
the
version-non-patch-from-10.6.0-beta.1
branch
from
September 1, 2026 13:14
d481e50 to
fc7009d
Compare
…aces Instrumented expect/userEvent calls put a handful of Storybook wrapper frames between the failing assertion and the story, which Vitest then reports and uses for its code excerpt. Register those bundles with Vitest's onStackTrace hook so they are dropped while parsing, and build the component test status description from the source-mapped frames instead of the raw browser stack, so MCP and the tools CLI report file paths rather than Vite dev-server URLs.
skills help <id> was Commander's built-in help, not a skill lookup. Print a skill with skills <id> and describe it with skills <id> --help.
The CLI still accepts skills <id>, but plugin stubs, skill cross-refs, init outro, and help copy stay on the get spelling.
skills help <id> was Commander help, not a skill lookup. Leave list/get, -h, and advertised get <id> copy as they were.
skills help <id> was Commander's built-in help, not a skill lookup. The catalog now answers skills -h, skills <id> prints the document, and skills <id> -h reuses the catalog blurb. get <id> and list still work, and remain what the plugin stubs tell agents to run.
…ntation-stack-frames Addon-vitest: Filter Storybook instrumentation from reported stack traces
storybook-bot
force-pushed
the
version-non-patch-from-10.6.0-beta.1
branch
from
September 1, 2026 18:38
fc7009d to
53d2988
Compare
…s-shape CLI: Align `storybook skills` with `storybook tools` shape
storybook-bot
force-pushed
the
version-non-patch-from-10.6.0-beta.1
branch
from
September 1, 2026 21:29
53d2988 to
4cf5375
Compare
Contributor
Package BenchmarksCommit: The following packages have significant changes to their size or dependencies:
|
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 182 | 182 | 0 |
| Self size | 92 KB | 92 KB | 🎉 -48 B 🎉 |
| Dependency size | 37.46 MB | 37.49 MB | 🚨 +25 KB 🚨 |
| Bundle Size Analyzer | Link | Link |
storybook
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 73 | 73 | 0 |
| Self size | 22.05 MB | 22.17 MB | 🚨 +119 KB 🚨 |
| Dependency size | 31.21 MB | 31.21 MB | 0 B |
| Bundle Size Analyzer | Link | Link |
@storybook/ember
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 181 | 181 | 0 |
| Self size | 13 KB | 13 KB | 🎉 -18 B 🎉 |
| Dependency size | 32.82 MB | 32.85 MB | 🚨 +25 KB 🚨 |
| Bundle Size Analyzer | Link | Link |
@storybook/nextjs
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 536 | 536 | 0 |
| Self size | 642 KB | 642 KB | 0 B |
| Dependency size | 64.75 MB | 64.78 MB | 🚨 +25 KB 🚨 |
| Bundle Size Analyzer | Link | Link |
@storybook/react-webpack5
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 268 | 268 | 0 |
| Self size | 23 KB | 23 KB | 0 B |
| Dependency size | 49.91 MB | 49.94 MB | 🚨 +25 KB 🚨 |
| Bundle Size Analyzer | Link | Link |
@storybook/server-webpack5
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 194 | 194 | 0 |
| Self size | 15 KB | 15 KB | 0 B |
| Dependency size | 38.74 MB | 38.76 MB | 🚨 +25 KB 🚨 |
| Bundle Size Analyzer | Link | Link |
@storybook/cli
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 205 | 205 | 0 |
| Self size | 869 KB | 869 KB | 🚨 +84 B 🚨 |
| Dependency size | 87.63 MB | 87.75 MB | 🚨 +119 KB 🚨 |
| Bundle Size Analyzer | Link | Link |
@storybook/codemod
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 198 | 198 | 0 |
| Self size | 44 KB | 44 KB | 0 B |
| Dependency size | 86.09 MB | 86.21 MB | 🚨 +119 KB 🚨 |
| Bundle Size Analyzer | Link | Link |
create-storybook
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 74 | 74 | 0 |
| Self size | 1.09 MB | 1.09 MB | 0 B |
| Dependency size | 53.26 MB | 53.38 MB | 🚨 +119 KB 🚨 |
| Bundle Size Analyzer | node | node |
@storybook/preset-react-webpack
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 157 | 157 | 0 |
| Self size | 18 KB | 18 KB | 0 B |
| Dependency size | 34.42 MB | 34.45 MB | 🚨 +25 KB 🚨 |
| Bundle Size Analyzer | Link | Link |
ghengeveld
approved these changes
Sep 1, 2026
4 of 9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an automated pull request that bumps the version from `10.6.0-beta.1` to `10.6.0-beta.2`.
Once this pull request is merged, it will trigger a new release of version `10.6.0-beta.2`.
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:
And for each change below:
This is a list of all the PRs merged and commits pushed directly to `next`, that will be part of this release:
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.6.0-beta.2