@mui/x-license 9.0.4 → 9.1.0

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 CHANGED
@@ -1,5 +1,138 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.1.0
4
+
5
+ _May 8, 2026_
6
+
7
+ We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - ⚡️ Add a WebGL renderer to the [Scatter chart](https://mui.com/x/react-charts/scatter/#webgl-renderer), and apply the same WebGL performance patterns to the candlestick and heatmap [Premium]
10
+ - 🐞 Bugfixes
11
+ - 📚 Documentation improvements
12
+
13
+ Special thanks go out to these community members for their valuable contributions:
14
+ @Anexus5919, @gaetanodanelli, @imazizbohra, @mustafajw07
15
+
16
+ The following team members contributed to this release:
17
+ @alexfauquette, @brijeshb42, @flaviendelangle, @JCQuintas, @LukasTy, @mapache-salvaje, @MBilalShafi, @michelengelen, @oliviertassinari, @rita-codes
18
+
19
+ ### Data Grid
20
+
21
+ #### `@mui/x-data-grid@9.1.0`
22
+
23
+ - [DataGrid] Fix accessibility violation in detail panel toggle column header (#22178) @michelengelen
24
+ - [DataGrid] Fix active filter detection for array values (#22340) @MBilalShafi
25
+ - [DataGrid] Fix crash when grouping/tree-data values match `Object.prototype` property names (#22312) @LukasTy
26
+ - [DataGrid] Position overlays below top pinned rows (#22341) @MBilalShafi
27
+ - [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
28
+
29
+ #### `@mui/x-data-grid-pro@9.1.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
30
+
31
+ Same changes as in `@mui/x-data-grid@9.1.0`, plus:
32
+
33
+ - [DataGridPro] Fix column unpin restoring stale position after reorder (#22250) @michelengelen
34
+
35
+ #### `@mui/x-data-grid-premium@9.1.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
36
+
37
+ Same changes as in `@mui/x-data-grid-pro@9.1.0`, plus:
38
+
39
+ - [DataGridPremium] Fix aggregation column header title truncation without ellipsis (#22248) @michelengelen
40
+
41
+ ### Date and Time Pickers
42
+
43
+ #### `@mui/x-date-pickers@9.1.0`
44
+
45
+ - [pickers] Fix duplicate hour label in `MultiSectionDigitalClock` on DST day (#22110) @LukasTy
46
+ - [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
47
+
48
+ #### `@mui/x-date-pickers-pro@9.1.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
49
+
50
+ Same changes as in `@mui/x-date-pickers@9.1.0`.
51
+
52
+ ### Charts
53
+
54
+ #### `@mui/x-charts@9.1.0`
55
+
56
+ - [charts] Add `ChartsAxisHighlightValue` component (#21803) @Copilot
57
+ - [charts] Create `ChartsRadialAxisHighlight` (#22241) @alexfauquette
58
+ - [charts] Remove useless extends (#22313) @alexfauquette
59
+ - [charts] Use `PolarAxisConfig` in polar plugin internals (#22315) @alexfauquette
60
+
61
+ #### `@mui/x-charts-pro@9.1.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
62
+
63
+ Same changes as in `@mui/x-charts@9.1.0`.
64
+
65
+ #### `@mui/x-charts-premium@9.1.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
66
+
67
+ Same changes as in `@mui/x-charts-pro@9.1.0`, plus:
68
+
69
+ - [charts-premium] Add WebGL renderer to `ScatterChartPremium` (#22157) @JCQuintas
70
+ - [charts-premium] Add highlight to the `RadialLineChart` (#22156) @alexfauquette
71
+ - [charts-premium] Apply WebGL perf patterns to candlestick + heatmap (#22223) @JCQuintas
72
+ - [charts-premium] Introduce the `RadialBarChart` (#22268) @alexfauquette
73
+
74
+ ### Tree View
75
+
76
+ #### `@mui/x-tree-view@9.1.0`
77
+
78
+ - [tree view] Fix stale Tree View `apiRef` after keyed remount (#22342) @MBilalShafi
79
+
80
+ #### `@mui/x-tree-view-pro@9.1.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
81
+
82
+ Same changes as in `@mui/x-tree-view@9.1.0`.
83
+
84
+ ### Scheduler
85
+
86
+ #### `@mui/x-scheduler@9.0.0-alpha.5`
87
+
88
+ - [scheduler] Make `EventItem` interactive by integrating button props for keyboard accessibility (#22160) @mustafajw07
89
+ - [scheduler] Migrate color switch to Base UI `ToggleGroup` (#22254) @flaviendelangle
90
+ - [scheduler] Rename Scheduler headless packages (#22273) @rita-codes
91
+ - [scheduler] Use TreeView for the resource sidebar (#22261) @flaviendelangle
92
+ - [scheduler] Use fieldset/legend instead of headings for form sections in the event dialog (#22095) @Anexus5919
93
+ - [scheduler] Added `position: relative` for consistent layout (#22284) @mustafajw07
94
+ - [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
95
+
96
+ #### `@mui/x-scheduler-premium@9.0.0-alpha.5` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
97
+
98
+ Same changes as in `@mui/x-scheduler@9.0.0-alpha.5`, plus:
99
+
100
+ - [scheduler] Replace per-view headers with a generic `EventTimelinePremiumHeader` in the `EventTimeline` (#22222) @rita-codes
101
+
102
+ ### Codemod
103
+
104
+ #### `@mui/x-codemod@9.1.0`
105
+
106
+ Internal changes.
107
+
108
+ ### Docs
109
+
110
+ - [docs] Migrate `FlightPicker` overview demo to v9 `slotProps` shape (#22272) @LukasTy
111
+ - [docs] Standardize Scheduler docs style and formatting (#22161) @mapache-salvaje
112
+ - [docs] Add feedback form to the scheduler docs (#22237) @rita-codes
113
+ - [docs] Fix `GridToolbarCustom` demo crash in DataGrid (#21950) @MBilalShafi
114
+ - [docs] Do not resolve axes in charts (#22307) @alexfauquette
115
+ - [docs] Fix no longer valid link (#22371) @LukasTy
116
+ - [docs] Replace broken CodeSandbox iframes in migration guides (#22352) @LukasTy
117
+
118
+ ### Core
119
+
120
+ - [code-infra] Bump browser `testTimeout` to absorb React 19 slowness (#22236) @LukasTy
121
+ - [code-infra] Use vale rules from code-infra package (#22256) @brijeshb42
122
+ - [code-infra] Fix broken valelint and docs build (#22362) @LukasTy
123
+ - [internal] Prepare renaming LICENSE file to LICENSE.md (#22055) @imazizbohra
124
+ - [internal] Remove outdated .woff files (#22286) @oliviertassinari
125
+ - [internal] Replace Codspeed with `@mui/internal-benchmark` for charts (#22243) @JCQuintas
126
+
127
+ ### Miscellaneous
128
+
129
+ - [internal-gestures] Add passive option to `TurnWheelGesture` (#22349) @JCQuintas
130
+ - [internal-gestures] Enforce pointer-type filter in `ShadowRoot` branch (#22327) @JCQuintas
131
+ - [internal-gestures] Improve passive event listener handling (#22329) @JCQuintas
132
+ - [internal-gestures] Inline wheel-delta clamp per axis (#22331) @JCQuintas
133
+ - [internal-gestures] Return read-only pointer map without copy (#22330) @JCQuintas
134
+ - [internal-gestures] Track multi-tap reset timeout to prevent leak (#22326) @JCQuintas
135
+
3
136
  ## 9.0.4
4
137
 
5
138
  _Apr 28, 2026_
package/LICENSE CHANGED
@@ -1,8 +1,10 @@
1
+ # License
2
+
1
3
  Commercial License
2
4
 
3
5
  Copyright (c) 2020 Material-UI SAS
4
6
 
5
- MUI X Pro (https://mui.com/pricing/) is commercial software. You MUST agree to the
7
+ MUI X Pro (https://mui.com/pricing/) is commercial software. You MUST agree to the
6
8
  End User License Agreement (EULA: https://mui.com/r/x-license-eula) to be able to
7
9
  use the software.
8
10
 
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-license v9.0.4
2
+ * @mui/x-license v9.1.0
3
3
  *
4
4
  * @license SEE LICENSE IN LICENSE
5
5
  * This source code is licensed under the SEE LICENSE IN LICENSE license found in the
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-license v9.0.4
2
+ * @mui/x-license v9.1.0
3
3
  *
4
4
  * @license SEE LICENSE IN LICENSE
5
5
  * This source code is licensed under the SEE LICENSE IN LICENSE license found in the
@@ -9,5 +9,4 @@ export type { MuiLicenseInfo } from "../utils/licenseInfo.mjs";
9
9
  export type { MuiCommercialPackageName, CommercialPackageInfo } from "../utils/commercialPackages.mjs";
10
10
  export { Watermark } from "../Watermark/Watermark.mjs";
11
11
  export { useLicenseVerifier, clearLicenseStatusCache } from "../useLicenseVerifier/useLicenseVerifier.mjs";
12
- export * from "../verifyLicense/verifyLicense.mjs";
13
- export * from "../test-keys.mjs";
12
+ export * from "../verifyLicense/verifyLicense.mjs";
@@ -9,5 +9,4 @@ export type { MuiLicenseInfo } from "../utils/licenseInfo.js";
9
9
  export type { MuiCommercialPackageName, CommercialPackageInfo } from "../utils/commercialPackages.js";
10
10
  export { Watermark } from "../Watermark/Watermark.js";
11
11
  export { useLicenseVerifier, clearLicenseStatusCache } from "../useLicenseVerifier/useLicenseVerifier.js";
12
- export * from "../verifyLicense/verifyLicense.js";
13
- export * from "../test-keys.js";
12
+ export * from "../verifyLicense/verifyLicense.js";
@@ -93,16 +93,4 @@ Object.keys(_verifyLicense).forEach(function (key) {
93
93
  return _verifyLicense[key];
94
94
  }
95
95
  });
96
- });
97
- var _testKeys = require("../test-keys");
98
- Object.keys(_testKeys).forEach(function (key) {
99
- if (key === "default" || key === "__esModule") return;
100
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
101
- if (key in exports && exports[key] === _testKeys[key]) return;
102
- Object.defineProperty(exports, key, {
103
- enumerable: true,
104
- get: function () {
105
- return _testKeys[key];
106
- }
107
- });
108
96
  });
@@ -5,5 +5,4 @@ export { PLAN_SCOPES, PLAN_VERSIONS } from "../utils/licensePlan.mjs";
5
5
  export { LICENSE_MODELS } from "../utils/licenseModel.mjs";
6
6
  export { Watermark } from "../Watermark/Watermark.mjs";
7
7
  export { useLicenseVerifier, clearLicenseStatusCache } from "../useLicenseVerifier/useLicenseVerifier.mjs";
8
- export * from "../verifyLicense/verifyLicense.mjs";
9
- export * from "../test-keys.mjs";
8
+ export * from "../verifyLicense/verifyLicense.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-license",
3
- "version": "9.0.4",
3
+ "version": "9.1.0",
4
4
  "author": "MUI Team",
5
5
  "description": "MUI X License verification.",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -23,8 +23,8 @@
23
23
  "dependencies": {
24
24
  "@babel/runtime": "^7.29.2",
25
25
  "@mui/utils": "9.0.0",
26
- "@mui/x-internals": "^9.0.4",
27
- "@mui/x-telemetry": "^9.0.2"
26
+ "@mui/x-internals": "^9.1.0",
27
+ "@mui/x-telemetry": "^9.1.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -62,6 +62,20 @@
62
62
  "types": "./internals/index.d.mts",
63
63
  "default": "./internals/index.mjs"
64
64
  }
65
+ },
66
+ "./test-keys": {
67
+ "import": {
68
+ "types": "./test-keys.d.mts",
69
+ "default": "./test-keys.mjs"
70
+ },
71
+ "require": {
72
+ "types": "./test-keys.d.ts",
73
+ "default": "./test-keys.js"
74
+ },
75
+ "default": {
76
+ "types": "./test-keys.d.mts",
77
+ "default": "./test-keys.mjs"
78
+ }
65
79
  }
66
80
  },
67
81
  "main": "./index.js",
@@ -90,6 +90,8 @@ function useLicenseVerifier(packageInfo) {
90
90
  } else if (licenseStatus.status === _licenseStatus.LICENSE_STATUS.NotValidForPackage) {
91
91
  (0, _licenseErrorMessageUtils.showLicenseKeyVersionMismatchError)(licenseStatus.meta);
92
92
  } else if (process.env.NODE_ENV !== 'production') {
93
+ // TODO: fix mui/no-guarded-throw
94
+ // eslint-disable-next-line mui/no-guarded-throw
93
95
  throw new Error('missing status handler');
94
96
  }
95
97
  sharedLicenseStatuses[packageName] = {
@@ -81,6 +81,8 @@ export function useLicenseVerifier(packageInfo) {
81
81
  } else if (licenseStatus.status === LICENSE_STATUS.NotValidForPackage) {
82
82
  showLicenseKeyVersionMismatchError(licenseStatus.meta);
83
83
  } else if (process.env.NODE_ENV !== 'production') {
84
+ // TODO: fix mui/no-guarded-throw
85
+ // eslint-disable-next-line mui/no-guarded-throw
84
86
  throw new Error('missing status handler');
85
87
  }
86
88
  sharedLicenseStatuses[packageName] = {
@@ -218,6 +218,8 @@ function verifyLicense({
218
218
  if (license.licenseModel === 'perpetual' || process.env.NODE_ENV === 'production') {
219
219
  const pkgTimestamp = parseInt((0, _base.base64Decode)(releaseDate), 10);
220
220
  if (Number.isNaN(pkgTimestamp)) {
221
+ // TODO: fix mui/no-guarded-throw
222
+ // eslint-disable-next-line mui/no-guarded-throw
221
223
  throw new Error(process.env.NODE_ENV !== "production" ? 'MUI X: The release information is invalid and license validation cannot proceed. ' + 'The package release timestamp could not be parsed. ' + 'This may indicate a corrupted package. Try reinstalling the MUI X packages.' : (0, _formatErrorMessage2.default)(189));
222
224
  }
223
225
  if (license.expiryTimestamp < pkgTimestamp) {
@@ -207,6 +207,8 @@ export function verifyLicense({
207
207
  if (license.licenseModel === 'perpetual' || process.env.NODE_ENV === 'production') {
208
208
  const pkgTimestamp = parseInt(base64Decode(releaseDate), 10);
209
209
  if (Number.isNaN(pkgTimestamp)) {
210
+ // TODO: fix mui/no-guarded-throw
211
+ // eslint-disable-next-line mui/no-guarded-throw
210
212
  throw new Error(process.env.NODE_ENV !== "production" ? 'MUI X: The release information is invalid and license validation cannot proceed. ' + 'The package release timestamp could not be parsed. ' + 'This may indicate a corrupted package. Try reinstalling the MUI X packages.' : _formatErrorMessage(189));
211
213
  }
212
214
  if (license.expiryTimestamp < pkgTimestamp) {