Skip to content

[release] v9.0.0#22020

Merged
siriwatknp merged 7 commits into
mui:masterfrom
siriwatknp:release/v9.0.0-2026-04-08
Apr 8, 2026
Merged

[release] v9.0.0#22020
siriwatknp merged 7 commits into
mui:masterfrom
siriwatknp:release/v9.0.0-2026-04-08

Conversation

@siriwatknp
Copy link
Copy Markdown
Member

@siriwatknp siriwatknp commented Apr 8, 2026

wait for #22002


Release version v9.0.0

Prepare the release of the packages

  • Compare the last tag with the branch upon which you want to release
  • Clean the generated changelog
  • Update the root package.json's version
  • Update the versions of the other package.json files
  • Open PR with changes and wait for review and green CI
  • Once CI is green and you have enough approvals, send a message on the team-x slack channel announcing a merge freeze
  • Merge PR

Release the packages

  • Go to the publish action.
  • Choose "Run workflow" dropdown

    Branch: master
    Commit SHA to release from: the commit that contains the merged release on master. This commit is linked to the GitHub release.

  • Click "Run workflow"

Publish the documentation

  • Run `pnpm docs:deploy`

Publish GitHub release

Announce

@mui-bot
Copy link
Copy Markdown

mui-bot commented Apr 8, 2026

Deploy preview: https://deploy-preview-22020--material-ui-x.netlify.app/

Bundle size report

Bundle Parsed size Gzip size
@mui/x-data-grid 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-pro ▼-5B(0.00%) ▼-4B(0.00%)
@mui/x-data-grid-premium ▼-5B(0.00%) ▼-4B(0.00%)
@mui/x-charts 0B(0.00%) 0B(0.00%)
@mui/x-charts-pro ▼-5B(0.00%) ▼-4B(0.00%)
@mui/x-charts-premium ▼-10B(0.00%) ▼-8B(-0.01%)
@mui/x-date-pickers 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers-pro ▼-20B(-0.01%) ▼-4B(-0.01%)
@mui/x-tree-view 0B(0.00%) 0B(0.00%)
@mui/x-tree-view-pro ▼-5B(0.00%) ▼-4B(-0.01%)

Details of bundle changes

Generated by 🚫 dangerJS against f6cb4df

@siriwatknp siriwatknp added the release We are shipping :D. label Apr 8, 2026
Copy link
Copy Markdown
Member

@mnajdova mnajdova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mui/x-telemetry needs to be updated to 9.0.0.

Comment thread CHANGELOG.md
Comment thread CHANGELOG.md
Copy link
Copy Markdown
Member

@mnajdova mnajdova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Versions look good 👌

Comment thread CHANGELOG.md

We'd like to extend a big thank you to the 5 contributors who made this release possible.
The following team members contributed to this release:
@DanailH, @LukasTy, @MBilalShafi, @oliviertassinari, @siriwatknp
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this include all contributors for the stable release?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it comes with the release script. I guess we can update it in the GH release.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know ... was just saying that this CHANGELOG entry mentions the stable release and all its benefits and new features, but then goes back to just the 5 contributors that added anything to this specific release cycle ... I'm fine with adding this to the GH release only, but its strange either way

@siriwatknp siriwatknp merged commit 3027c85 into mui:master Apr 8, 2026
21 checks passed
@LukasTy
Copy link
Copy Markdown
Member

LukasTy commented Apr 8, 2026

Review of #22020 - [release] v9.0.0

Context

Thorough review of the v9.0.0 stable release PR (head f6cb4df83c, base master) to catch missed version bumps or other issues before publishing. Verified:

  • Every published package gets a proper version bump
  • Dependencies between packages are semantically correct after the bump
  • CHANGELOG covers all commits since v9.0.0-rc.0 and names packages correctly
  • The release script tag switch (next -> latest) is in place

Checked commits compared: v9.0.0-rc.0 (62e258a585) vs PR head (f6cb4df83c). 8 non-release commits since rc.0.


Blocking issue - Scheduler packages not bumped

All four scheduler packages are left at 9.0.0-alpha.0 in the PR:

  • packages/x-scheduler/package.json
  • packages/x-scheduler-premium/package.json
  • packages/x-scheduler-headless/package.json
  • packages/x-scheduler-headless-premium/package.json

9.0.0-alpha.0 is already published on npm for every one of them (verified via npm view). The packages are not marked private, so pnpm publish --recursive --tag latest will attempt to publish them and fail with "version already exists".

Worse, these packages actually have changes since the last publish. In #22006 [code-infra] Optimize dependency definition (already merged to master, so it rides along in v9.0.0), their runtime dependencies were modified:

  • x-scheduler, x-scheduler-premium, x-scheduler-headless-premium: @base-ui/react changed from ^1.3.0 to catalog:
  • x-scheduler-headless: same @base-ui/react change, plus @atlaskit/pragmatic-drag-and-drop changed from ^1.7.7 to catalog:

These are shipped in the published package.json manifests, so the published artifacts differ from what is on npm. The version must be bumped.

Suggested fix: bump all four scheduler packages to 9.0.0-alpha.1 (or whatever the team's convention is for alpha increments). Update the CHANGELOG Scheduler headings to match.


CHANGELOG issues

1. Typo - package that does not exist

CHANGELOG.md line ~96 (Scheduler section) reads:

#### `@mui/x-scheduler-premium@9.0.0-alpha.0` [![premium](...)]

Same changes as in `@mui/x-scheduler-pro@9.0.0-alpha.0`.

There is no @mui/x-scheduler-pro package - the community package is @mui/x-scheduler. The "Same changes as in" reference should point to @mui/x-scheduler@... (matching the pattern used by data-grid-pro / tree-view-pro elsewhere in the same changelog).

2. Headless scheduler packages missing from the CHANGELOG

The Scheduler section lists only @mui/x-scheduler and @mui/x-scheduler-premium. The shipped headless packages are omitted:

  • @mui/x-scheduler-headless
  • @mui/x-scheduler-headless-premium

They exist in packages/, are not private, and (see above) have actual dependency changes to ship. They should be listed - at minimum as "Internal changes." - so consumers know they were rev'd.


Verified correct

  • Root package.json: 9.0.0-rc.0 -> 9.0.0. OK.
  • All 18 other touched package.jsons bumped 9.0.0-rc.0 -> 9.0.0:
    x-charts, x-charts-pro, x-charts-premium, x-charts-vendor, x-codemod, x-data-grid, x-data-grid-pro, x-data-grid-premium, x-data-grid-generator, x-date-pickers, x-date-pickers-pro, x-internal-gestures, x-internals, x-license, x-telemetry, x-tree-view, x-tree-view-pro. OK.
  • x-virtualizer: 1.0.0-rc.0 -> 9.0.0-alpha.0 - deliberate version alignment, still pre-release, semver-monotonic. OK.
  • @mui/x-virtualizer dep in x-data-grid and x-tree-view-pro changed workspace:^ -> workspace:*. Correct: workspace:^ resolves to ^9.0.0-alpha.0 on publish, which would not match future alpha/beta/rc bumps per semver pre-release rules. workspace:* resolves to the exact version and is the right choice for a pre-release workspace dep. Matching changes are also reflected in pnpm-lock.yaml. OK.
  • release:publish tag switched from next to latest (from the already-merged #22018). OK.
  • All 8 commits since v9.0.0-rc.0 are represented in the 9.0.0 changelog entry:
    #21132, #21717, #22004, #21989, #22006, #22010, #22002, #22018. OK.
  • Contributor count matches (5): @DanailH, @LukasTy, @MBilalShafi, @oliviertassinari, @siriwatknp. OK.

Recommended actions (in priority order)

  1. Bump scheduler packages to 9.0.0-alpha.1 (files: packages/x-scheduler/package.json, packages/x-scheduler-premium/package.json, packages/x-scheduler-headless/package.json, packages/x-scheduler-headless-premium/package.json), then re-run pnpm install to update pnpm-lock.yaml. Update the Scheduler section of CHANGELOG.md version headers to match.
  2. Fix the typo in CHANGELOG.md: @mui/x-scheduler-pro -> @mui/x-scheduler.
  3. Add the two headless scheduler packages to the Scheduler section of CHANGELOG.md.

Verification plan

  • Run pnpm install after version bumps to refresh the lockfile with link: entries.
  • Grep for any lingering 9.0.0-rc.0 or 9.0.0-alpha.0 in packages/*/package.json to confirm only x-virtualizer (at 9.0.0-alpha.0) and the bumped scheduler packages (at 9.0.0-alpha.1) remain as non-9.0.0.
  • Dry-run publish against a local registry: pnpm release:publish:dry-run (starts Verdaccio at localhost:4873) - this will surface any "version already exists" errors before the real publish.
  • Re-run gh api repos/mui/mui-x/pulls/22020/files style check: every file ending in package.json should contain a version bump line in its patch.

arminmeh pushed a commit to arminmeh/mui-x that referenced this pull request Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release We are shipping :D.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants