@mui/x-license 9.0.2 → 9.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +223 -0
- package/Watermark/Watermark.js +9 -2
- package/Watermark/Watermark.mjs +10 -3
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/package.json +4 -4
- package/useLicenseVerifier/useLicenseVerifier.js +1 -1
- package/useLicenseVerifier/useLicenseVerifier.mjs +1 -1
- package/utils/licenseErrorMessageUtils.d.mts +5 -1
- package/utils/licenseErrorMessageUtils.d.ts +5 -1
- package/utils/licenseErrorMessageUtils.js +5 -2
- package/utils/licenseErrorMessageUtils.mjs +5 -2
- package/verifyLicense/verifyLicense.js +8 -2
- package/verifyLicense/verifyLicense.mjs +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,228 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.0.4
|
|
4
|
+
|
|
5
|
+
_Apr 28, 2026_
|
|
6
|
+
|
|
7
|
+
We'd like to extend a big thank you to the 4 contributors who made this release possible. Here are some highlights ✨:
|
|
8
|
+
|
|
9
|
+
- Fix Pickers previous (v9.0.3) release ensuring the latest `@mui/x-internals` version usage
|
|
10
|
+
|
|
11
|
+
The following team members contributed to this release:
|
|
12
|
+
@alexfauquette, @JCQuintas, @LukasTy, @mj12albert
|
|
13
|
+
|
|
14
|
+
### Data Grid
|
|
15
|
+
|
|
16
|
+
#### `@mui/x-data-grid@9.0.4`
|
|
17
|
+
|
|
18
|
+
Internal changes.
|
|
19
|
+
|
|
20
|
+
#### `@mui/x-data-grid-pro@9.0.4` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
21
|
+
|
|
22
|
+
Same changes as in `@mui/x-data-grid@9.0.4`.
|
|
23
|
+
|
|
24
|
+
#### `@mui/x-data-grid-premium@9.0.4` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
25
|
+
|
|
26
|
+
Same changes as in `@mui/x-data-grid-pro@9.0.4`.
|
|
27
|
+
|
|
28
|
+
### Date and Time Pickers
|
|
29
|
+
|
|
30
|
+
#### `@mui/x-date-pickers@9.0.4`
|
|
31
|
+
|
|
32
|
+
Internal changes.
|
|
33
|
+
|
|
34
|
+
#### `@mui/x-date-pickers-pro@9.0.4` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
35
|
+
|
|
36
|
+
Same changes as in `@mui/x-date-pickers@9.0.4`.
|
|
37
|
+
|
|
38
|
+
### Charts
|
|
39
|
+
|
|
40
|
+
#### `@mui/x-charts@9.0.4`
|
|
41
|
+
|
|
42
|
+
- [charts] Exclude hidden series and items from keyboard navigation (alt approach) (#22221) @JCQuintas
|
|
43
|
+
- [charts] Fix line interaction with `area` and `conectNulls` (#22227) @alexfauquette
|
|
44
|
+
- [charts] Implement the continuous case of `getAxisIndex` for rotation axis (#22230) @alexfauquette
|
|
45
|
+
|
|
46
|
+
#### `@mui/x-charts-pro@9.0.4` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
47
|
+
|
|
48
|
+
Same changes as in `@mui/x-charts@9.0.4`.
|
|
49
|
+
|
|
50
|
+
#### `@mui/x-charts-premium@9.0.4` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
51
|
+
|
|
52
|
+
Same changes as in `@mui/x-charts-pro@9.0.4` plus:
|
|
53
|
+
|
|
54
|
+
- [charts-premium] Add `showMark` and `shape` properties to radial line (#22226) @alexfauquette
|
|
55
|
+
|
|
56
|
+
### Tree View
|
|
57
|
+
|
|
58
|
+
#### `@mui/x-tree-view@9.0.4`
|
|
59
|
+
|
|
60
|
+
Internal changes.
|
|
61
|
+
|
|
62
|
+
#### `@mui/x-tree-view-pro@9.0.4` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
63
|
+
|
|
64
|
+
Same changes as in `@mui/x-tree-view@9.0.4`.
|
|
65
|
+
|
|
66
|
+
### Scheduler
|
|
67
|
+
|
|
68
|
+
#### `@mui/x-scheduler@9.0.4`
|
|
69
|
+
|
|
70
|
+
Internal changes.
|
|
71
|
+
|
|
72
|
+
#### `@mui/x-scheduler-premium@9.0.4` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
73
|
+
|
|
74
|
+
Same changes as in `@mui/x-scheduler@9.0.4`.
|
|
75
|
+
|
|
76
|
+
### Codemod
|
|
77
|
+
|
|
78
|
+
#### `@mui/x-codemod@9.0.4`
|
|
79
|
+
|
|
80
|
+
Internal changes.
|
|
81
|
+
|
|
82
|
+
### Docs
|
|
83
|
+
|
|
84
|
+
- [docs] Update WCAG links (#22234) @mj12albert
|
|
85
|
+
|
|
86
|
+
### Core
|
|
87
|
+
|
|
88
|
+
- [code-infra] Avoid overriding `renovate` `ignoredPaths` (#22228) @LukasTy
|
|
89
|
+
|
|
90
|
+
## 9.0.3
|
|
91
|
+
|
|
92
|
+
_Apr 27, 2026_
|
|
93
|
+
|
|
94
|
+
We'd like to extend a big thank you to the 16 contributors who made this release possible. Here are some highlights ✨:
|
|
95
|
+
|
|
96
|
+
- ⌨️ Keyboard support for creating events in the Scheduler
|
|
97
|
+
|
|
98
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
99
|
+
@supunsathsara, @ZAKIURREHMAN
|
|
100
|
+
|
|
101
|
+
The following team members contributed to this release:
|
|
102
|
+
@aemartos, @alexfauquette, @arminmeh, @brijeshb42, @Janpot, @JCQuintas, @LukasTy, @MBilalShafi, @michelengelen, @oliviertassinari, @rita-codes, @romgrk, @sai6855, @siriwatknp
|
|
103
|
+
|
|
104
|
+
### Data Grid
|
|
105
|
+
|
|
106
|
+
#### `@mui/x-data-grid@9.0.3`
|
|
107
|
+
|
|
108
|
+
- [DataGrid] Fix `:first-child` SSR warning when `MuiDataGrid.styleOverrides` is set (#22081) @siriwatknp
|
|
109
|
+
- [DataGrid] Fix row reordering when filter hides rows (#22096) @siriwatknp
|
|
110
|
+
- [DataGrid] Remove unused `LayoutDataGridLegacy` class (#22009) @romgrk
|
|
111
|
+
- [DataGrid] Remove unused code, clean up grid-related utilities and deprecate `GridPanelHeader` (#22112) @sai6855
|
|
112
|
+
- [DataGrid] Fix columns cutting off after resizing (#22088) @ZAKIURREHMAN
|
|
113
|
+
|
|
114
|
+
#### `@mui/x-data-grid-pro@9.0.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
115
|
+
|
|
116
|
+
Same changes as in `@mui/x-data-grid@9.0.3`.
|
|
117
|
+
|
|
118
|
+
#### `@mui/x-data-grid-premium@9.0.3` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
119
|
+
|
|
120
|
+
Same changes as in `@mui/x-data-grid-pro@9.0.3`, plus:
|
|
121
|
+
|
|
122
|
+
- [DataGridPremium] Fix row grouping model updates not being reflected (#22122) @MBilalShafi
|
|
123
|
+
|
|
124
|
+
### Date and Time Pickers
|
|
125
|
+
|
|
126
|
+
#### `@mui/x-date-pickers@9.0.3`
|
|
127
|
+
|
|
128
|
+
- [pickers] Fix `DateRangeCalendar` drag with `AdapterDayjs` plain-constructor values (#22165) @LukasTy
|
|
129
|
+
- [pickers] Fix disabled state not overriding error border color (#21169) @supunsathsara
|
|
130
|
+
- [pickers] Forward `data-*` and `aria-*` attributes to the root (#22147) @LukasTy
|
|
131
|
+
- [pickers] Support `K` and `k` hour format tokens (#22108) @michelengelen
|
|
132
|
+
|
|
133
|
+
#### `@mui/x-date-pickers-pro@9.0.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
134
|
+
|
|
135
|
+
Same changes as in `@mui/x-date-pickers@9.0.3`, plus:
|
|
136
|
+
|
|
137
|
+
- [DateRangeCalendar] Ensure date dragging triggers regardless of trigger element (#21868) @michelengelen
|
|
138
|
+
|
|
139
|
+
### Charts
|
|
140
|
+
|
|
141
|
+
#### `@mui/x-charts@9.0.3`
|
|
142
|
+
|
|
143
|
+
- [charts] Centralize WebGL clear/render cycle (context-based) (#22127) @JCQuintas
|
|
144
|
+
- [charts] Fix closest series detection for line charts (#22168) @alexfauquette
|
|
145
|
+
- [charts] Fix radius grid lines when axis uses point scale (#22134) @alexfauquette
|
|
146
|
+
- [charts] Use cubic solver for berzier intersection (#22152) @alexfauquette
|
|
147
|
+
|
|
148
|
+
#### `@mui/x-charts-pro@9.0.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
149
|
+
|
|
150
|
+
Same changes as in `@mui/x-charts@9.0.3`, plus:
|
|
151
|
+
|
|
152
|
+
- [charts-pro] Fix wheel zoom clamping with custom `minStart`/`maxEnd` (#22159) @JCQuintas
|
|
153
|
+
|
|
154
|
+
#### `@mui/x-charts-premium@9.0.3` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
155
|
+
|
|
156
|
+
Same changes as in `@mui/x-charts-pro@9.0.3`, plus:
|
|
157
|
+
|
|
158
|
+
- [charts] Create a `'radialLine'` series type (#22066) @alexfauquette
|
|
159
|
+
- [charts] Plot radial line (#22133) @alexfauquette
|
|
160
|
+
- [charts] Remove `HeatmapWebGLRenderer` indirection (#22169) @JCQuintas
|
|
161
|
+
|
|
162
|
+
### Tree View
|
|
163
|
+
|
|
164
|
+
#### `@mui/x-tree-view@9.0.2`
|
|
165
|
+
|
|
166
|
+
Internal changes.
|
|
167
|
+
|
|
168
|
+
#### `@mui/x-tree-view-pro@9.0.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
169
|
+
|
|
170
|
+
Same changes as in `@mui/x-tree-view@9.0.2`.
|
|
171
|
+
|
|
172
|
+
### Scheduler
|
|
173
|
+
|
|
174
|
+
#### Breaking changes
|
|
175
|
+
|
|
176
|
+
- The `views` of `EventTimelinePremium` have been renamed to `presets`, with names that describe the header layout. The props `view`/`defaultView`/`views`/`onViewChange` are now `preset`/`defaultPreset`/`presets`/`onPresetChange`, and the type `EventTimelinePremiumView` is now `EventTimelinePremiumPreset`.
|
|
177
|
+
|
|
178
|
+
| Old | New |
|
|
179
|
+
| :------- | :------------- |
|
|
180
|
+
| `time` | `dayAndHour` |
|
|
181
|
+
| `days` | `day` |
|
|
182
|
+
| `weeks` | `dayAndWeek` |
|
|
183
|
+
| `months` | `monthAndYear` |
|
|
184
|
+
| `years` | `year` |
|
|
185
|
+
|
|
186
|
+
CSS variables (`--time-cell-width`, etc.) and headless store state (`state.view`, `setView`) follow the same rename. The `presets` array is now sorted internally against a canonical zoom order.
|
|
187
|
+
|
|
188
|
+
#### `@mui/x-scheduler@9.0.0-alpha.3`
|
|
189
|
+
|
|
190
|
+
- [scheduler] Allow creating events via keyboard - EventCalendar (#21967) @rita-codes
|
|
191
|
+
- [scheduler] Prefix element IDs with a unique Scheduler instance ID (#22109) @rita-codes
|
|
192
|
+
|
|
193
|
+
#### `@mui/x-scheduler-premium@9.0.0-alpha.3` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
194
|
+
|
|
195
|
+
Same changes as in `@mui/x-scheduler@9.0.0-alpha.3`.
|
|
196
|
+
|
|
197
|
+
- [scheduler] Allow creating events via keyboard - `EventTimeline` (#22119) @rita-codes
|
|
198
|
+
- [scheduler] Rename `EventTimeline` `views` to ordered presets (#22130) @rita-codes
|
|
199
|
+
|
|
200
|
+
### Docs
|
|
201
|
+
|
|
202
|
+
- [docs] Cleanup generated llm md files for chat (#22163) @brijeshb42
|
|
203
|
+
- [docs] Fix `highlightScope` description (#22154) @alexfauquette
|
|
204
|
+
- [docs] Remove obsolete v7 deprecation warning for `dayOfWeekFormatter` (#22111) @LukasTy
|
|
205
|
+
- [docs] Use mui.com for broken links checker known targets (#22129) @JCQuintas
|
|
206
|
+
- [docs] Document picker behavior inside MUI `Dialog` and provide recommended solutions (#22144) @michelengelen
|
|
207
|
+
- [docs] Improve v9 license key version mismatch error guidance (#22180) @aemartos
|
|
208
|
+
|
|
209
|
+
### Core
|
|
210
|
+
|
|
211
|
+
- [code-infra] Reduce concurrency for package build to 5 (#22115) @Janpot
|
|
212
|
+
- [code-infra] Rename `docsx` alias to `docs` (#22155) @brijeshb42
|
|
213
|
+
- [docs-infra] Remove monorepo dependency (#22025) @brijeshb42
|
|
214
|
+
- [docs-infra] Use latest published packages (#22086) @brijeshb42
|
|
215
|
+
- [test] Refactor Pickers tests to async user-event (#22043) @LukasTy
|
|
216
|
+
- [test] Remove redundant explicit `unmount()` calls from Pickers tests (#22118) @LukasTy
|
|
217
|
+
|
|
218
|
+
### Miscellaneous
|
|
219
|
+
|
|
220
|
+
- [infra] Update `.gitignore` to exclude `.claude/worktrees` (#22145) @michelengelen
|
|
221
|
+
- [infra] Enable branch tracking when creating release branch (#22177) @michelengelen
|
|
222
|
+
- [license] Add MIT license to `x-virtualizer` package (#22164) @michelengelen
|
|
223
|
+
- [website] Fix outdated MUI logos (#22117) @oliviertassinari
|
|
224
|
+
- [internal] Try avoiding store update when virtualization is disabled (#22093) @arminmeh
|
|
225
|
+
|
|
3
226
|
## 9.0.2
|
|
4
227
|
|
|
5
228
|
<!-- generated comparing v9.0.1..master -->
|
package/Watermark/Watermark.js
CHANGED
|
@@ -39,7 +39,7 @@ function Watermark(props) {
|
|
|
39
39
|
if (licenseStatus.status === _licenseStatus.LICENSE_STATUS.Valid) {
|
|
40
40
|
return null;
|
|
41
41
|
}
|
|
42
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
43
43
|
style: {
|
|
44
44
|
position: 'absolute',
|
|
45
45
|
pointerEvents: 'none',
|
|
@@ -52,7 +52,14 @@ function Watermark(props) {
|
|
|
52
52
|
letterSpacing: 5,
|
|
53
53
|
fontSize: 24
|
|
54
54
|
},
|
|
55
|
-
children: getLicenseErrorMessage(licenseStatus.status)
|
|
55
|
+
children: [getLicenseErrorMessage(licenseStatus.status), process.env.NODE_ENV !== 'production' && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
56
|
+
style: {
|
|
57
|
+
fontSize: 12,
|
|
58
|
+
letterSpacing: 1,
|
|
59
|
+
marginTop: 8
|
|
60
|
+
},
|
|
61
|
+
children: "Open the browser console for details on how to resolve this."
|
|
62
|
+
})]
|
|
56
63
|
});
|
|
57
64
|
}
|
|
58
65
|
const MemoizedWatermark = exports.Watermark = (0, _fastMemo.fastMemo)(Watermark);
|
package/Watermark/Watermark.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import _formatErrorMessage from "@mui/x-internals/formatErrorMessage";
|
|
|
2
2
|
import { fastMemo } from '@mui/x-internals/fastMemo';
|
|
3
3
|
import { useLicenseVerifier } from "../useLicenseVerifier/index.mjs";
|
|
4
4
|
import { LICENSE_STATUS } from "../utils/licenseStatus.mjs";
|
|
5
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
6
|
function getLicenseErrorMessage(licenseStatus) {
|
|
7
7
|
switch (licenseStatus) {
|
|
8
8
|
case LICENSE_STATUS.ExpiredAnnualGrace:
|
|
@@ -32,7 +32,7 @@ function Watermark(props) {
|
|
|
32
32
|
if (licenseStatus.status === LICENSE_STATUS.Valid) {
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
|
-
return /*#__PURE__*/
|
|
35
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
36
36
|
style: {
|
|
37
37
|
position: 'absolute',
|
|
38
38
|
pointerEvents: 'none',
|
|
@@ -45,7 +45,14 @@ function Watermark(props) {
|
|
|
45
45
|
letterSpacing: 5,
|
|
46
46
|
fontSize: 24
|
|
47
47
|
},
|
|
48
|
-
children: getLicenseErrorMessage(licenseStatus.status)
|
|
48
|
+
children: [getLicenseErrorMessage(licenseStatus.status), process.env.NODE_ENV !== 'production' && /*#__PURE__*/_jsx("div", {
|
|
49
|
+
style: {
|
|
50
|
+
fontSize: 12,
|
|
51
|
+
letterSpacing: 1,
|
|
52
|
+
marginTop: 8
|
|
53
|
+
},
|
|
54
|
+
children: "Open the browser console for details on how to resolve this."
|
|
55
|
+
})]
|
|
49
56
|
});
|
|
50
57
|
}
|
|
51
58
|
const MemoizedWatermark = fastMemo(Watermark);
|
package/index.js
CHANGED
package/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-license",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.4",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "MUI X License verification.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"directory": "packages/x-license"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@babel/runtime": "^7.
|
|
24
|
+
"@babel/runtime": "^7.29.2",
|
|
25
25
|
"@mui/utils": "9.0.0",
|
|
26
|
-
"@mui/x-
|
|
27
|
-
"@mui/x-
|
|
26
|
+
"@mui/x-internals": "^9.0.4",
|
|
27
|
+
"@mui/x-telemetry": "^9.0.2"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
@@ -88,7 +88,7 @@ function useLicenseVerifier(packageInfo) {
|
|
|
88
88
|
packageName: fullPackageName
|
|
89
89
|
});
|
|
90
90
|
} else if (licenseStatus.status === _licenseStatus.LICENSE_STATUS.NotValidForPackage) {
|
|
91
|
-
(0, _licenseErrorMessageUtils.showLicenseKeyVersionMismatchError)();
|
|
91
|
+
(0, _licenseErrorMessageUtils.showLicenseKeyVersionMismatchError)(licenseStatus.meta);
|
|
92
92
|
} else if (process.env.NODE_ENV !== 'production') {
|
|
93
93
|
throw new Error('missing status handler');
|
|
94
94
|
}
|
|
@@ -79,7 +79,7 @@ export function useLicenseVerifier(packageInfo) {
|
|
|
79
79
|
packageName: fullPackageName
|
|
80
80
|
});
|
|
81
81
|
} else if (licenseStatus.status === LICENSE_STATUS.NotValidForPackage) {
|
|
82
|
-
showLicenseKeyVersionMismatchError();
|
|
82
|
+
showLicenseKeyVersionMismatchError(licenseStatus.meta);
|
|
83
83
|
} else if (process.env.NODE_ENV !== 'production') {
|
|
84
84
|
throw new Error('missing status handler');
|
|
85
85
|
}
|
|
@@ -5,7 +5,11 @@ export declare function showLicenseKeyPlanMismatchError({
|
|
|
5
5
|
packageName: string;
|
|
6
6
|
}): void;
|
|
7
7
|
export declare function showNotAvailableInInitialProPlanError(): void;
|
|
8
|
-
export declare function showLicenseKeyVersionMismatchError(
|
|
8
|
+
export declare function showLicenseKeyVersionMismatchError({
|
|
9
|
+
packageMajorVersion
|
|
10
|
+
}: {
|
|
11
|
+
packageMajorVersion: number;
|
|
12
|
+
}): void;
|
|
9
13
|
export declare function showMissingLicenseKeyError({
|
|
10
14
|
plan,
|
|
11
15
|
packageName
|
|
@@ -5,7 +5,11 @@ export declare function showLicenseKeyPlanMismatchError({
|
|
|
5
5
|
packageName: string;
|
|
6
6
|
}): void;
|
|
7
7
|
export declare function showNotAvailableInInitialProPlanError(): void;
|
|
8
|
-
export declare function showLicenseKeyVersionMismatchError(
|
|
8
|
+
export declare function showLicenseKeyVersionMismatchError({
|
|
9
|
+
packageMajorVersion
|
|
10
|
+
}: {
|
|
11
|
+
packageMajorVersion: number;
|
|
12
|
+
}): void;
|
|
9
13
|
export declare function showMissingLicenseKeyError({
|
|
10
14
|
plan,
|
|
11
15
|
packageName
|
|
@@ -40,8 +40,11 @@ function showLicenseKeyPlanMismatchError({
|
|
|
40
40
|
function showNotAvailableInInitialProPlanError() {
|
|
41
41
|
showError(['MUI X: Component not included in your license.', '', 'The component you are trying to use is not included in the Pro Plan you purchased.', '', 'Your license is from an old version of the Pro Plan that is only compatible with the `@mui/x-data-grid-pro` and `@mui/x-date-pickers-pro` commercial packages.', '', 'To start using another Pro package, please consider reaching to our sales team to upgrade your license or visit https://mui.com/r/x-get-license to get a new license key.']);
|
|
42
42
|
}
|
|
43
|
-
function showLicenseKeyVersionMismatchError(
|
|
44
|
-
|
|
43
|
+
function showLicenseKeyVersionMismatchError({
|
|
44
|
+
packageMajorVersion
|
|
45
|
+
}) {
|
|
46
|
+
const previousMajorVersion = packageMajorVersion - 1;
|
|
47
|
+
showError(['MUI X: License key version mismatch.', '', `The license key you are using was issued for an older major version of MUI X (e.g. a v${previousMajorVersion} license with v${packageMajorVersion} packages installed).`, 'Each major version uses a different license key format, so the key needs to be regenerated — your existing license is not lost.', '', 'To resolve this, you can either:', `- Generate a new key compatible with v${packageMajorVersion} from your account at https://mui.com/r/x-license-account/ (free for existing customers, the new key inherits your current expiration date).`, `- Or downgrade the MUI X packages to v${previousMajorVersion} to match your current license key.`, `${packageMajorVersion === 9 ? 'More details at https://mui.com/r/x-license-key-v9-upgrade/.' : ''}`]);
|
|
45
48
|
}
|
|
46
49
|
function showMissingLicenseKeyError({
|
|
47
50
|
plan,
|
|
@@ -26,8 +26,11 @@ export function showLicenseKeyPlanMismatchError({
|
|
|
26
26
|
export function showNotAvailableInInitialProPlanError() {
|
|
27
27
|
showError(['MUI X: Component not included in your license.', '', 'The component you are trying to use is not included in the Pro Plan you purchased.', '', 'Your license is from an old version of the Pro Plan that is only compatible with the `@mui/x-data-grid-pro` and `@mui/x-date-pickers-pro` commercial packages.', '', 'To start using another Pro package, please consider reaching to our sales team to upgrade your license or visit https://mui.com/r/x-get-license to get a new license key.']);
|
|
28
28
|
}
|
|
29
|
-
export function showLicenseKeyVersionMismatchError(
|
|
30
|
-
|
|
29
|
+
export function showLicenseKeyVersionMismatchError({
|
|
30
|
+
packageMajorVersion
|
|
31
|
+
}) {
|
|
32
|
+
const previousMajorVersion = packageMajorVersion - 1;
|
|
33
|
+
showError(['MUI X: License key version mismatch.', '', `The license key you are using was issued for an older major version of MUI X (e.g. a v${previousMajorVersion} license with v${packageMajorVersion} packages installed).`, 'Each major version uses a different license key format, so the key needs to be regenerated — your existing license is not lost.', '', 'To resolve this, you can either:', `- Generate a new key compatible with v${packageMajorVersion} from your account at https://mui.com/r/x-license-account/ (free for existing customers, the new key inherits your current expiration date).`, `- Or downgrade the MUI X packages to v${previousMajorVersion} to match your current license key.`, `${packageMajorVersion === 9 ? 'More details at https://mui.com/r/x-license-key-v9-upgrade/.' : ''}`]);
|
|
31
34
|
}
|
|
32
35
|
export function showMissingLicenseKeyError({
|
|
33
36
|
plan,
|
|
@@ -225,7 +225,10 @@ function verifyLicense({
|
|
|
225
225
|
// are not valid for v9 packages.
|
|
226
226
|
if (packageMajorVersion != null && packageMajorVersion >= 9 && license.licenseModel === 'perpetual' && (0, _licensePlan.isPlanVersionOlderOrEqual)(license.planVersion, MAX_V8_PLAN_VERSION)) {
|
|
227
227
|
return {
|
|
228
|
-
status: _licenseStatus.LICENSE_STATUS.NotValidForPackage
|
|
228
|
+
status: _licenseStatus.LICENSE_STATUS.NotValidForPackage,
|
|
229
|
+
meta: {
|
|
230
|
+
packageMajorVersion
|
|
231
|
+
}
|
|
229
232
|
};
|
|
230
233
|
}
|
|
231
234
|
return {
|
|
@@ -277,7 +280,10 @@ function verifyLicense({
|
|
|
277
280
|
// Perpetual licenses are exempt as they are already gated by the expiry date check.
|
|
278
281
|
if (packageMajorVersion != null && packageMajorVersion >= 9 && license.licenseModel !== 'perpetual' && (0, _licensePlan.isPlanVersionOlderOrEqual)(license.planVersion, MAX_V8_PLAN_VERSION)) {
|
|
279
282
|
return {
|
|
280
|
-
status: _licenseStatus.LICENSE_STATUS.NotValidForPackage
|
|
283
|
+
status: _licenseStatus.LICENSE_STATUS.NotValidForPackage,
|
|
284
|
+
meta: {
|
|
285
|
+
packageMajorVersion
|
|
286
|
+
}
|
|
281
287
|
};
|
|
282
288
|
}
|
|
283
289
|
return {
|
|
@@ -214,7 +214,10 @@ export function verifyLicense({
|
|
|
214
214
|
// are not valid for v9 packages.
|
|
215
215
|
if (packageMajorVersion != null && packageMajorVersion >= 9 && license.licenseModel === 'perpetual' && isPlanVersionOlderOrEqual(license.planVersion, MAX_V8_PLAN_VERSION)) {
|
|
216
216
|
return {
|
|
217
|
-
status: LICENSE_STATUS.NotValidForPackage
|
|
217
|
+
status: LICENSE_STATUS.NotValidForPackage,
|
|
218
|
+
meta: {
|
|
219
|
+
packageMajorVersion
|
|
220
|
+
}
|
|
218
221
|
};
|
|
219
222
|
}
|
|
220
223
|
return {
|
|
@@ -266,7 +269,10 @@ export function verifyLicense({
|
|
|
266
269
|
// Perpetual licenses are exempt as they are already gated by the expiry date check.
|
|
267
270
|
if (packageMajorVersion != null && packageMajorVersion >= 9 && license.licenseModel !== 'perpetual' && isPlanVersionOlderOrEqual(license.planVersion, MAX_V8_PLAN_VERSION)) {
|
|
268
271
|
return {
|
|
269
|
-
status: LICENSE_STATUS.NotValidForPackage
|
|
272
|
+
status: LICENSE_STATUS.NotValidForPackage,
|
|
273
|
+
meta: {
|
|
274
|
+
packageMajorVersion
|
|
275
|
+
}
|
|
270
276
|
};
|
|
271
277
|
}
|
|
272
278
|
return {
|