Skip to content

[x-license] Improve v9 license key version mismatch error guidance#22180

Open
aemartos wants to merge 8 commits intomui:masterfrom
aemartos:aemartos/sto-127-enhance-v9-license-messages
Open

[x-license] Improve v9 license key version mismatch error guidance#22180
aemartos wants to merge 8 commits intomui:masterfrom
aemartos:aemartos/sto-127-enhance-v9-license-messages

Conversation

@aemartos
Copy link
Copy Markdown
Member

@aemartos aemartos commented Apr 24, 2026

Summary

Makes the v8 → v9 license key upgrade requirement more discoverable for existing customers, both in the console warning and across the docs. The trigger was #22173, where a customer upgraded to v9 and hit the watermark without realizing the key format had changed — the console message pointed them at the pricing page instead of the account page, and the docs mention was buried.

Changes

Console warning (packages/x-license)

  • Rewrote the License key version mismatch console warning to point existing customers to regenerate a key from their account (free, inherits expiration) instead of the pricing page.
  • Added a dev-only hint on the watermark: "Open the browser console for details."

Redirects

Added two new /r/x-* short links in docs/public/_redirects:

Docs

  • Extracted the v8 → v9 warning into a shared component at docs/src/modules/components/V9LicenseUpgradeWarning.js, styled to match the native :::warning callout.
  • Added the warning to the four v8 → v9 migration guides and licensing page
Captura de pantalla 2026-04-24 a las 13 16 36
Captura de pantalla 2026-04-24 a las 13 16 50

@aemartos aemartos self-assigned this Apr 24, 2026
@aemartos aemartos added scope: x-license Changes related to @mui/x-license. type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature. labels Apr 24, 2026
@code-infra-dashboard
Copy link
Copy Markdown

code-infra-dashboard Bot commented Apr 24, 2026

Bundle size

Bundle Parsed size Gzip size
@mui/x-data-grid 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-pro 🔺+274B(+0.05%) 🔺+120B(+0.08%)
@mui/x-data-grid-premium 🔺+274B(+0.04%) 🔺+107B(+0.05%)
@mui/x-charts 0B(0.00%) 0B(0.00%)
@mui/x-charts-pro 🔺+274B(+0.05%) 🔺+119B(+0.08%)
@mui/x-charts-premium 🔺+274B(+0.05%) 🔺+126B(+0.08%)
@mui/x-date-pickers 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers-pro 🔺+274B(+0.09%) 🔺+125B(+0.16%)
@mui/x-tree-view 0B(0.00%) 0B(0.00%)
@mui/x-tree-view-pro 🔺+274B(+0.23%) 🔺+129B(+0.35%)

Details of bundle changes

Deploy preview


Check out the code infra dashboard for more information about this PR.

@aemartos aemartos force-pushed the aemartos/sto-127-enhance-v9-license-messages branch from 06d4da7 to 9f5c912 Compare April 24, 2026 08:42

# Migration from v8 to v9

{{"component": "modules/components/V9LicenseUpgradeWarning.js"}}
Copy link
Copy Markdown
Member

@oliviertassinari oliviertassinari Apr 24, 2026

Choose a reason for hiding this comment

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

I think we need to move this lower in the migration pages, for Pro and Premium users only.

Why: This currently gives the feeling to open source users that >50% of the users are paid, no, we are trying to make all the money from <10% of the users, so it's secondary, so it has to be lower.

Copy link
Copy Markdown
Member

@michelengelen michelengelen left a comment

Choose a reason for hiding this comment

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

LGTM ... the comment from @oliviertassinari is a valid concern. Could you adjust this before merge please?

@oliviertassinari oliviertassinari changed the title [x-license] improve v9 license key version mismatch error guidance [x-license] Improve v9 license key version mismatch error guidance Apr 24, 2026
@@ -1,5 +1,7 @@
# Licensing

{{"component": "modules/components/V9LicenseUpgradeWarning.js"}}
Copy link
Copy Markdown
Member

@oliviertassinari oliviertassinari Apr 24, 2026

Choose a reason for hiding this comment

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

The description was designed to be right after the h1, to move after it, from a design perspective.

I was expecting docs-infra to break when this is not done, but surprisingly, it's resilient to it. So I think we need to update docs-infra to break in this case. cc @dav-is for awareness.

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.

To be fair, I think we never tried this, I don't remember this ever been an issue. Let's move it for now under the description.

@@ -1,5 +1,7 @@
# Licensing

{{"component": "modules/components/V9LicenseUpgradeWarning.js"}}
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.

To be fair, I think we never tried this, I don't remember this ever been an issue. Let's move it for now under the description.

'',
'The license key you are using is not compatible with the version of the MUI X packages installed.',
'This happens when using a license key from a previous major version (e.g. a v8 license with v9 packages).',
'The license key you are using was issued for an older major version of MUI X (e.g. a v8 license with v9 packages installed).',
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.

Suggested change
'The license key you are using was issued for an older major version of MUI X (e.g. a v8 license with v9 packages installed).',
// #npm-tag-reference
'The license key you are using was issued for an older major version of MUI X (e.g. a v8 license with v9 packages installed).',

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.

This is needed so we don't forget to update the versions on the next major.

Copy link
Copy Markdown
Member

@oliviertassinari oliviertassinari Apr 24, 2026

Choose a reason for hiding this comment

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

Can we do the opposite, parametrize the console to be specific?

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.

Done.

@aemartos
Copy link
Copy Markdown
Member Author

@oliviertassinari @mnajdova suggestions addressed.

I think we need to move this lower in the migration pages, for Pro and Premium users only.

@oliviertassinari there's no dedicated Pro/Premium section in these guides, so I placed it after ## Update @mui/material and @mui/system packages under a new explicit heading: "Update your license key (Pro and Premium)" after: "Update @mui/material and @mui/system packages"

The description has to be right after the h1, I believe, it breaks SEO metadata extraction otherwise, so there can't be an element here.
If it's indeed needed, and the page still build, docs infra will need to update the logic to crash the page.

Agreed that the docs-infra side (crashing the build when something sits between the H1 and <p class="description">) is worth doing, but I'd rather not bundle it here, this PR is scoped to the license migration guidance, and the infra change will likely touch a different area with its own review surface. Happy to open a follow-up issue for it.
cc @Janpot for awareness on the docs-infra side.

Copy link
Copy Markdown
Member

@LukasTy LukasTy left a comment

Choose a reason for hiding this comment

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

Nice improvement. 👍

from your <a href="https://mui.com/r/x-license-account/">MUI Store account</a>. The new
v9 key inherits the same expiration date as your existing v8 key, so there&apos;s no
extra cost during your current term. See{' '}
<a href="https://mui.com/r/x-license-key-upgrade/">
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.

Nitpick, but shouldn't the link be relative?

Suggested change
<a href="https://mui.com/r/x-license-key-upgrade/">
<a href="/r/x-license-key-upgrade/">

Copy link
Copy Markdown
Member

@oliviertassinari oliviertassinari Apr 24, 2026

Choose a reason for hiding this comment

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

It was correct. This should be a global link so it continues to redirect to the right place as we introduce changes to our billing infrastructure. It shouldn't be tied to an old version redirect rule because we don't want to have to update old versions redirect rules.

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.

Reverted.

@aemartos aemartos force-pushed the aemartos/sto-127-enhance-v9-license-messages branch from 29fac4b to f1ae113 Compare April 24, 2026 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: x-license Changes related to @mui/x-license. type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants