Skip to content

Release: Prerelease 10.4.0-alpha.10#34539

Merged
valentinpalkovic merged 36 commits into
next-releasefrom
version-non-patch-from-10.4.0-alpha.9
Apr 16, 2026
Merged

Release: Prerelease 10.4.0-alpha.10#34539
valentinpalkovic merged 36 commits into
next-releasefrom
version-non-patch-from-10.4.0-alpha.9

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Apr 14, 2026

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

  • 🐛 Bug: Sidebar: Fix clear status button to only clear test statuses #34478
  • 🐛 Bug: Telemetry: Centralize disable logic with module-level flag #34485
  • 🏗️ Build: Build: Add FIX_ON_COMMIT env var to force autofix in pre-commit hook #34547
  • 🏗️ Build: Build: Remove vite-plus as devDependency #34550 (will also be patched)
  • 🏗️ Build: Angular: Remove usage of ComponentFactoryResolver #34535

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.4.0-alpha.10

  • Sidebar: Fix clear status button to only clear test statuses - #34478, thanks valentinpalkovic!
  • Telemetry: Centralize disable logic with module-level flag - #34485, thanks valentinpalkovic!

valentinpalkovic and others added 27 commits April 2, 2026 09:43
Instead of requiring every telemetry call site to check `disableTelemetry`,
introduce a module-level flag in the telemetry module that gates all calls.
The `telemetry()` function now early-returns when disabled, making all
callers safe by default. This fixes #34431 where `checklist.ts` was
missing the guard, causing telemetry to be sent despite `disableTelemetry: true`.

The flag is set at startup from CLI options (via `withTelemetry`) and from
config (via preset loading in `buildDevStandalone`, `buildStaticStandalone`,
and `experimental_serverChannel`). All ~20 scattered `if (!disableTelemetry)`
guards have been removed.

Closes #34431

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replaces the simple boolean flag with a three-state machine (uninitialized/enabled/disabled) that queues telemetry events until setTelemetryEnabled() is called, then flushes or discards them accordingly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add `force: true` to error telemetry options so crash reports bypass the disabled state
- Add `isTelemetryStateResolved` export to telemetry module for checking uninitialized state
- Add fallback in `withTelemetry` finally block to conservatively disable telemetry when presets never resolved state, dropping queued events
- Await `setTelemetryEnabled(false)` call for CLI disableTelemetry option

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Each test provider now declares a clear() function on its addon
registration. SidebarBottom calls api.clearStatuses() which dispatches
to each registered provider's clear(), so non-test statuses like change
detection are preserved.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
A thrown exception from one provider's clear() no longer aborts
remaining providers. Each call is wrapped in a try/catch that logs
a warning (via client-logger) including the provider id.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… changeDetection in internal Storybook

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…t-factory-resolver-dependency

Angular: Remove usage of `ComponentFactoryResolver`
When a telemetry payload factory throws or returns { error }, the
telemetry module now delegates to a registered error handler instead
of silently dropping the event. withTelemetry() registers
sendTelemetryError as the handler, so all commands benefit from
automatic error telemetry with full context (presets, cache, error
levels, sub-errors).

This removes the need for callers like doTelemetry to manually call
sendTelemetryError — they just return { error } from the callback.

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

Telemetry: Centralize disable logic with module-level flag
@github-actions github-actions Bot added the release For PRs that trigger new releases. Automated label Apr 14, 2026
valentinpalkovic and others added 6 commits April 15, 2026 11:27
- Guard ensurePanel against null/undefined panels collection to prevent
  crash when test providers don't return a value for PANEL type
- Wrap logger.warn in nested try-catch inside clearStatuses so a logging
  failure never stops iteration over remaining providers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.4.0-alpha.9 branch from 743f74e to 45c4f1c Compare April 15, 2026 11:28
…ge-detection-statuses

Sidebar: Fix clear status button to only clear test statuses
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.4.0-alpha.9 branch from 45c4f1c to 1d29fb0 Compare April 15, 2026 12:01
kasperpeulen and others added 2 commits April 15, 2026 19:30
@storybook-bot storybook-bot force-pushed the version-non-patch-from-10.4.0-alpha.9 branch from 1d29fb0 to 6d323be Compare April 15, 2026 12:33
@valentinpalkovic valentinpalkovic added ci:daily Run the CI jobs that normally run in the daily job. freeze Freeze the Release PR with this label labels Apr 16, 2026
@valentinpalkovic valentinpalkovic merged commit 0edb4e6 into next-release Apr 16, 2026
295 of 298 checks passed
@valentinpalkovic valentinpalkovic deleted the version-non-patch-from-10.4.0-alpha.9 branch April 16, 2026 09:57
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.

5 participants