@mui/x-tree-view 9.0.4 → 9.4.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,555 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.4.0
4
+
5
+ <!-- generated comparing v9.3.0..master -->
6
+
7
+ _Jun 4, 2026_
8
+
9
+ We'd like to extend a big thank you to the 21 contributors who made this release possible. Here are some highlights ✨:
10
+
11
+ - 🎉 Scheduler is now in Beta shipping with Timeline vitualization and lazy loading
12
+ - 📆 Implement Event Timeline virtualization (#22339)
13
+ - 🫧 Introduce bubble charts (#22537)
14
+ - 🐞 Bugfixes
15
+ - 📚 Documentation improvements
16
+
17
+ Special thanks go out to these community members for their valuable contributions:
18
+ @imxv, @mixelburg, @mustafajw07
19
+
20
+ The following team members contributed to this release:
21
+ @aemartos, @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @joserodolfofreitas, @LukasTy, @MBilalShafi, @michelengelen, @mj12albert, @noraleonte, @oliviertassinari, @rita-codes, @romgrk, @sai6855
22
+
23
+ ### Data Grid
24
+
25
+ #### `@mui/x-data-grid@9.4.0`
26
+
27
+ - [DataGrid] Fix `avg` aggregation when the average is zero (#22652) @mj12albert
28
+ - [DataGrid] Inherit icon `fontSize` from `baseIconButton` size (#22187) @imxv
29
+ - [DataGrid] Fix `noRowsOverlay` flicker between `dataSource` re-fetches (#22465) @LukasTy
30
+
31
+ #### `@mui/x-data-grid-pro@9.4.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
32
+
33
+ Same changes as in `@mui/x-data-grid@9.4.0`.
34
+
35
+ #### `@mui/x-data-grid-premium@9.4.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
36
+
37
+ > This release includes a version bump of the `@mui/x-internal-exceljs-fork` package to address the vulnerable dependencies.
38
+ > The following CVEs are fixed:
39
+ >
40
+ > - <https://github.com/advisories/GHSA-ph9p-34f9-6g65>
41
+ > - <https://github.com/isaacs/minimatch/security/advisories/GHSA-23c5-xmqv-rm74>
42
+ > - <https://github.com/advisories/GHSA-w5hq-g745-h8pq>
43
+ >
44
+ > To make this security update possible, we bumped the `node` version requirement from `>=14.0.0` to `>=14.17.0`.
45
+ > [Node.js 14.17.0](https://nodejs.org/en/blog/release/v14.17.0) was released in May 2021, so we consider it safe to bump the requirement without causing issues for our users.
46
+
47
+ Same changes as in `@mui/x-data-grid-pro@9.4.0`, plus:
48
+
49
+ - [DataGridPremium] Nested Lazy Loading (#21043) @MBilalShafi
50
+ - [DataGridPremium] Update exceljs fork (#22658) @cherniavskii
51
+
52
+ ### Date and Time Pickers
53
+
54
+ #### `@mui/x-date-pickers@9.4.0`
55
+
56
+ Internal changes.
57
+
58
+ #### `@mui/x-date-pickers-pro@9.4.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
59
+
60
+ Same changes as in `@mui/x-date-pickers@9.4.0`.
61
+
62
+ ### Charts
63
+
64
+ #### `@mui/x-charts@9.4.0`
65
+
66
+ - [charts] Add functionality to hide elements during chart export (#22525) @sai6855
67
+ - [charts] Add option to show marks only on the first/last values (#22645) @alexfauquette
68
+ - [charts] Add text customization section and demo for axis labels (#22597) @sai6855
69
+ - [charts] Allow axes to scale according to the visible series only (#22566) @alexfauquette
70
+ - [charts] Correctly handle different identifiers for each series (#22556) @sai6855
71
+ - [charts] Fix inverted Y axis zoom/pan on ordinal scales (#22654) @JCQuintas
72
+ - [charts] Introduce bubble charts (#22537) @alexfauquette
73
+ - [charts] Let scatter chart tooltip ignore hidden series (#22614) @alexfauquette
74
+ - [charts] Make `'sqrt'` size mapping the default (#22683) @alexfauquette
75
+ - [charts] Remove unused proptypes (#22618) @alexfauquette
76
+ - [charts] Support module augmentation for slots (#22519) @sai6855
77
+ - [charts] Support multiple marker size in `findClosestPoint` (#22622) @alexfauquette
78
+ - [charts] Upgrade bezier-easing to v3 and use it for line chart hit-detection (#22608) @sai6855
79
+ - [charts] Use `useLayoutEffect` with `ResizeObserver` (#22646) @JCQuintas
80
+
81
+ #### `@mui/x-charts-pro@9.4.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
82
+
83
+ Same changes as in `@mui/x-charts@9.4.0`, plus:
84
+
85
+ - [charts-pro] Auto-select range button matching current zoom (#22137) @JCQuintas
86
+ - [charts-pro] Support range values in `initialZoom` (#22563) @JCQuintas
87
+
88
+ #### `@mui/x-charts-premium@9.4.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
89
+
90
+ Same changes as in `@mui/x-charts-pro@9.4.0`, plus:
91
+
92
+ - [charts-premium] Support range-bar series in WebGL bar renderer (#22607) @JCQuintas
93
+ - [charts-premium] Fix `onAxisClick` for radial bar and lines (#22522) @alexfauquette
94
+
95
+ ### Tree View
96
+
97
+ #### `@mui/x-tree-view@9.4.0`
98
+
99
+ Internal changes.
100
+
101
+ #### `@mui/x-tree-view-pro@9.4.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
102
+
103
+ Same changes as in `@mui/x-tree-view@9.4.0`.
104
+
105
+ ### Scheduler
106
+
107
+ #### Breaking changes
108
+
109
+ The theme `styleOverrides` slots for the skeleton and the error container were
110
+ renamed and unified. The CSS utility class names (for example
111
+ `.MuiEventCalendar-eventSkeleton`) are **not** affected — only
112
+ `theme.components.*` overrides need updating.
113
+
114
+ **Event skeleton**
115
+
116
+ | Before | After |
117
+ | --------------------------------------- | ------------------------------ |
118
+ | `MuiEventCalendar` slot `EventSkeleton` | `MuiEventSkeleton` slot `Root` |
119
+ | `MuiEventTimeline` slot `EventSkeleton` | `MuiEventSkeleton` slot `Root` |
120
+
121
+ **Error container**
122
+
123
+ | Before | After |
124
+ | ------------------------------------------------------------- | --------------------------------------- |
125
+ | `MuiEventCalendar` / `MuiEventTimeline` slot `ErrorContainer` | `MuiEventErrorContainer` slot `Root` |
126
+ | `MuiEventCalendar` / `MuiEventTimeline` slot `ErrorAlert` | `MuiEventErrorContainer` slot `Alert` |
127
+ | `MuiEventCalendar` / `MuiEventTimeline` slot `ErrorMessage` | `MuiEventErrorContainer` slot `Message` |
128
+
129
+ If you customized these through the theme, update the component name and slot
130
+ names accordingly:
131
+
132
+ ```diff
133
+ components: {
134
+ - MuiEventCalendar: {
135
+ + MuiEventSkeleton: {
136
+ styleOverrides: {
137
+ - EventSkeleton: { /* ... */ },
138
+ + Root: { /* ... */ },
139
+ },
140
+ },
141
+ },
142
+ }
143
+ ```
144
+
145
+ #### `@mui/x-scheduler@9.0.0-beta.0`
146
+
147
+ - [scheduler] Add a prop to control whether the resource of an event can be cleared (#22464) @rita-codes
148
+ - [scheduler] Add week number labels to agenda, day and week views (#22594) @mustafajw07
149
+ - [scheduler] Add `weekStartsOn` preference and update date functions to support custom week start (#22426) @mustafajw07
150
+ - [scheduler] Export premium version of the standalone views (#22621) @flaviendelangle
151
+ - [scheduler] Implement timeline virtualization (#22339) @romgrk
152
+ - [scheduler] Split scheduler overview (#22453) @joserodolfofreitas
153
+ - [scheduler] Unify `EventSkeleton` and `ErrorContainer` between `EventCalendar` and `EventTimeline` (#22676) @noraleonte
154
+
155
+ #### `@mui/x-scheduler-premium@9.0.0-beta.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
156
+
157
+ Same changes as in `@mui/x-scheduler@9.0.0-beta.0`.
158
+
159
+ ### Docs
160
+
161
+ - [docs] Add a performance docs page for charts (#22656) @alexfauquette
162
+ - [docs] Add real dataset for maps documentation (#22599) @alexfauquette
163
+ - [docs] Add spacing between selects on charts overview demo (#22589) @bernardobelchior
164
+ - [docs] Reorganize existing chat docs navigation (#22478) @hasdfa
165
+ - [docs] Switch to visionscarto's world atlas dataset (#22669) @cherniavskii
166
+ - [docs] Update TreeView `domstructure` docs and add demo (#22420) @mj12albert
167
+ - [docs] Fix indexation of Scheduler (#22567) @oliviertassinari
168
+ - [docs] Fix wide layout on event timeline lazy loading and Import title (#22604) @rita-codes
169
+ - [docs] Derive class name owners for shared charts classes (#22674) @JCQuintas
170
+
171
+ ### Core
172
+
173
+ - [code-infra] Drop unused and now-transitive deps from docs/package.json (#22549) @LukasTy
174
+ - [code-infra] Refresh CI Node pins to 22.22.3 (#22598) @LukasTy
175
+ - [code-infra] Skip empty product sections in changelog (#22541) @rita-codes
176
+ - [code-infra] Stabilize DataGridScrollRestoration visual regression test (#22553) @Janpot
177
+ - [internal] Add license to the `x-data-grid-generator` (#22240) @arminmeh
178
+ - [internal] Express default value for resource_class (#22569) @oliviertassinari
179
+ - [internal] Fix use of ellipsis (#21852) @oliviertassinari
180
+ - [internal] `useLayoutEffect` with `ResizeObserver` (#22428) @romgrk
181
+
182
+ ### Miscellaneous
183
+
184
+ - [chat-headless] Add built-in chat adapters (#22479) @hasdfa
185
+ - [chat-headless] Harden runtime model and message errors (#22480) @hasdfa
186
+ - [core] Prepare for TypeScript 6 bump (#22551) @LukasTy
187
+ - [core] Use CircleCI Gen2 resource classes (#22610) @LukasTy
188
+ - [infra] Fix broken tag retrieval on `master` during release (#22174) @michelengelen
189
+ - [infra] Group Base UI renovate updates (#22590) @LukasTy
190
+ - [pnpm] Add security settings to pnpm-workspace.yaml (#22611) @Janpot
191
+ - [release] Fix release PR scripts (#22680) @JCQuintas
192
+ - [test] Add a Tree View regression test for lazy loading with getChildrenCount returning -1 (#22605) @mixelburg
193
+ - [test] Disable LCD subpixel antialiasing in regression screenshots (#22602) @Janpot
194
+ - [test] Fix flaky Data Grid Pro data source tree data tests (#22659) @LukasTy
195
+ - [test] Remove stale form-submit TODO from e2e suite (#22564) @LukasTy
196
+ - [x-license] Exclude test keys from the published npm package (#22647) @aemartos
197
+ - [test] Fix flaky WebGL benchmark by polling for canvas content (#22535) @JCQuintas
198
+
199
+ ## 9.3.0
200
+
201
+ _May 21, 2026_
202
+
203
+ We'd like to extend a big thank you to the 16 contributors who made this release possible. Here are some highlights ✨:
204
+
205
+ - 📆 Refactor Calendar Range drag editing to use Pointer Events instead of drag and touch events combination (#22279)
206
+ - ✨ Apply lazy loading to `EventTimelinePremium` (#22308)
207
+ - 🐞 Bugfixes
208
+ - 📚 Documentation improvements
209
+ - 🌎 Added Norwegian bokmål (nb-NO) locale to the Scheduler
210
+ - 🌎 Improved Swedish (sv-SE) locale on the Data Grid
211
+
212
+ Special thanks go out to these community members for their valuable contributions:
213
+ @Anexus5919, @jvskriubakken, @oscar-b, @rin, @viktormelin
214
+
215
+ The following team members contributed to this release:
216
+ @aemartos, @alexfauquette, @arminmeh, @Janpot, @JCQuintas, @LukasTy, @mj12albert, @oliviertassinari, @rita-codes, @romgrk, @sai6855
217
+
218
+ ### Data Grid
219
+
220
+ #### `@mui/x-data-grid@9.3.0`
221
+
222
+ - [DataGrid] Fix scrollbar disappearing after multiple resizes (#22512) @LukasTy
223
+ - [DataGrid] Revert "Add support for pinned columns in `GridVirtualScroller`" (#22467) @oliviertassinari
224
+ - [l10n] Improve Swedish (svSE) locale (#21851) @viktormelin
225
+
226
+ #### `@mui/x-data-grid-pro@9.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
227
+
228
+ Same changes as in `@mui/x-data-grid@9.3.0`.
229
+
230
+ #### `@mui/x-data-grid-premium@9.3.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
231
+
232
+ Same changes as in `@mui/x-data-grid-pro@9.3.0`.
233
+
234
+ ### Date and Time Pickers
235
+
236
+ #### `@mui/x-date-pickers@9.3.0`
237
+
238
+ - [pickers] Fix disabled state styling for `PickersTextField` standard and filled variants (#22189) @LukasTy
239
+ - [pickers] Fix previous month disabled state calculation (#22524) @mj12albert
240
+ - [pickers] Merge `slotProps.sectionContent` in `PickersInputBase` (#22324) @rin
241
+
242
+ #### `@mui/x-date-pickers-pro@9.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
243
+
244
+ Same changes as in `@mui/x-date-pickers@9.3.0`, plus:
245
+
246
+ - [DateRangeCalendar] Use Pointer Events for drag editing (#22279) @LukasTy
247
+
248
+ ### Charts
249
+
250
+ #### `@mui/x-charts@9.3.0`
251
+
252
+ - [charts] Add `data-series` to elements of radar chart (#22523) @alexfauquette
253
+ - [charts] Add environment check for warning messages in axis and radar hooks (#22506) @sai6855
254
+ - [charts] Chart `seriesConfig` deduplication for lines and bars (#22257) @sai6855
255
+ - [charts] Fix highlighted item crash (#22539) @oscar-b
256
+ - [charts] Fix the line and mark class (#22526) @alexfauquette
257
+ - [charts] Fix use of deprecated API in docs (#22469) @oliviertassinari
258
+ - [charts] Improve performance of `evaluateCurveY` function (#22407) @sai6855
259
+
260
+ #### `@mui/x-charts-pro@9.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
261
+
262
+ Same changes as in `@mui/x-charts@9.3.0`.
263
+
264
+ #### `@mui/x-charts-premium@9.3.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
265
+
266
+ Same changes as in `@mui/x-charts-pro@9.3.0`, plus:
267
+
268
+ - [charts-premium] Add `closePath` option to the radial line series (#22517) @alexfauquette
269
+
270
+ ### Tree View
271
+
272
+ #### `@mui/x-tree-view-pro@9.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
273
+
274
+ Internal changes.
275
+
276
+ ### Scheduler
277
+
278
+ #### `@mui/x-scheduler@9.0.0-alpha.7`
279
+
280
+ - [I10n] Add Norwegian bokmål (nb-NO) locale (#22415) @jvskriubakken
281
+
282
+ #### `@mui/x-scheduler-premium@9.0.0-alpha.7` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
283
+
284
+ Same changes as in `@mui/x-scheduler@9.0.0-alpha.7`, plus:
285
+
286
+ - [scheduler] Apply lazy loading to `EventTimelinePremium` (#22308) @rita-codes
287
+ - [scheduler] Deduplicate staged ranges within the debounce window (#22476) @Anexus5919
288
+ - [scheduler] Pass full event objects to `dataSource.updateEvents` (#22462) @rita-codes
289
+
290
+ ### Docs
291
+
292
+ - [docs] Automatically update supported versions (#21850) @arminmeh
293
+ - [docs] Fix `New` label on bar charts docs (#22473) @oliviertassinari
294
+ - [docs] Improve premium page header for charts (#22474) @oliviertassinari
295
+ - [docs] Sync `README` with licensing/licensing.md in scheduler (#22468) @oliviertassinari
296
+
297
+ ### Core
298
+
299
+ - [code-infra] Cover docs overview composites with Argos (#22283) @LukasTy
300
+ - [code-infra] Enable `mui/no-presentation-role` lint rule (#22360) @Janpot
301
+ - [code-infra] Make generated `propTypes` union order deterministic (#22521) @JCQuintas
302
+ - [code-infra] Make screenshots stable across different ordering of the tests (#22449) @Janpot
303
+ - [code-infra] Optimize visual regression testing (#22447) @Janpot
304
+ - [code-infra] Replace markdownlint with remark from code-infra (#22255) @Janpot
305
+
306
+ ### Miscellaneous
307
+
308
+ - [virtualizer] Improve `controlled` mode performance (#22123) @romgrk
309
+ - [data-grid-generator] Include `tree-data` params in `useDemoData` cache key (#22456) @Janpot
310
+ - [test] Fix flaky browser tests and optimize (#22431) @Janpot
311
+ - [test] Speed up `test_types` job (#22442) @Janpot
312
+ - [test] Trim ffmpeg install in `test_regressions` (#22459) @Janpot
313
+ - [test] Add WebGL performance benchmarks for charts (#22471) @JCQuintas
314
+ - [test] Expand chart performance benchmarks for charts (#22472) @JCQuintas
315
+ - [x-license] use workspace dep for v9 in cross-major compat tests (#22504) @aemartos
316
+
317
+ ## 9.2.0
318
+
319
+ _May 13, 2026_
320
+
321
+ We'd like to extend a big thank you to the 9 contributors who made this release possible. Here are some highlights ✨:
322
+
323
+ - ⚡️ Add a WebGL renderer to the [Bar chart](https://mui.com/x/react-charts/bars/#webgl-renderer)
324
+ - 📊 Add a radial charts with the [radial line](https://mui.com/x/react-charts/radial-lines/), [radial bar](https://mui.com/x/react-charts/radial-bars/), and the [radial grid and axes](https://mui.com/x/react-charts/radial-axes/)
325
+ - 🐞 Bugfixes
326
+ - 📚 Documentation improvements
327
+
328
+ Special thanks go out to these community members for their valuable contributions:
329
+ @Anexus5919, @mustafajw07
330
+
331
+ The following team members contributed to this release:
332
+ @aemartos, @alexfauquette, @bernardobelchior, @JCQuintas, @oliviertassinari, @sai6855, @siriwatknp
333
+
334
+ ### Data Grid
335
+
336
+ #### `@mui/x-data-grid@9.2.0`
337
+
338
+ - [data grid] Add support for pinned columns in `GridVirtualScroller` (#22347) @sai6855
339
+ - [data grid] Remove unused CSS (#22390) @oliviertassinari
340
+
341
+ #### `@mui/x-data-grid-pro@9.2.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
342
+
343
+ Same changes as in `@mui/x-data-grid@9.2.0`.
344
+
345
+ #### `@mui/x-data-grid-premium@9.2.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
346
+
347
+ Same changes as in `@mui/x-data-grid-pro@9.2.0`.
348
+
349
+ ### Date and Time Pickers
350
+
351
+ #### `@mui/x-date-pickers@9.2.0`
352
+
353
+ - [pickers] Trim test helpers' default load graph (#22421) @JCQuintas
354
+
355
+ #### `@mui/x-date-pickers-pro@9.2.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
356
+
357
+ Same changes as in `@mui/x-date-pickers@9.2.0`.
358
+
359
+ ### Charts
360
+
361
+ #### `@mui/x-charts@9.2.0`
362
+
363
+ Internal changes.
364
+
365
+ #### `@mui/x-charts-pro@9.2.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
366
+
367
+ Same changes as in `@mui/x-charts@9.2.0`.
368
+
369
+ #### `@mui/x-charts-premium@9.2.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
370
+
371
+ Same changes as in `@mui/x-charts-pro@9.2.0`, plus:
372
+
373
+ - [charts-premium] Add `Highlight` support to `RadialBarChart` (#22322) @alexfauquette
374
+ - [charts-premium] Add `WebGL` renderer to `BarChartPremium` (#22354) @JCQuintas
375
+ - [charts-premium] Add mark shape support to the radial line (#22242) @alexfauquette
376
+ - [charts-premium] `RadialBarChart` support axis interaction with layout horizontal (#22319) @alexfauquette
377
+
378
+ ### Tree View
379
+
380
+ #### `@mui/x-tree-view@9.1.0`
381
+
382
+ Internal changes.
383
+
384
+ #### `@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')
385
+
386
+ Same changes as in `@mui/x-tree-view@9.1.0`.
387
+
388
+ ### Scheduler
389
+
390
+ #### `@mui/x-scheduler@9.0.0-alpha.6`
391
+
392
+ - [scheduler] Complete ARIA grid semantics on `EventTimeline` and `EventCalendar` (#22266) @Anexus5919
393
+ - [scheduler] Improve UX for recurrence tab (#22287) @mustafajw07
394
+
395
+ #### `@mui/x-scheduler-premium@9.0.0-alpha.6` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
396
+
397
+ Same changes as in `@mui/x-scheduler@9.0.0-alpha.6`.
398
+
399
+ ### Codemod
400
+
401
+ #### `@mui/x-codemod@9.1.0`
402
+
403
+ Internal changes.
404
+
405
+ ### Docs
406
+
407
+ - [docs] Document the `RadialBarChart` (#22320) @alexfauquette
408
+ - [docs] Add histogram demo to bar-demo page (#22373) @siriwatknp
409
+ - [docs] Add radial bar to the nav bar (#22429) @alexfauquette
410
+ - [docs] Split radial grid and radial line pages (#22238) @alexfauquette
411
+
412
+ ### Miscellaneous
413
+
414
+ - [test] Disable animations in chart benchmarks (#22433) @bernardobelchior
415
+ - [test] Move `x-internal-gestures` vitest isolate flag to test block (#22427) @JCQuintas
416
+ - [test] Reduce flakiness in `MobileTimeRangePicker` multi-input `describeValue` tests (#22422) @JCQuintas
417
+ - [x-license] Exclude compat test pins from Renovate major bumps (#22414) @aemartos
418
+ - [x-license] Add cross-major license format compatibility tests (#22335) @aemartos
419
+
420
+ ## 9.1.0
421
+
422
+ _May 8, 2026_
423
+
424
+ We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
425
+
426
+ - ⚡️ 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]
427
+ - 🐞 Bugfixes
428
+ - 📚 Documentation improvements
429
+
430
+ Special thanks go out to these community members for their valuable contributions:
431
+ @Anexus5919, @gaetanodanelli, @imazizbohra, @mustafajw07
432
+
433
+ The following team members contributed to this release:
434
+ @alexfauquette, @brijeshb42, @flaviendelangle, @JCQuintas, @LukasTy, @mapache-salvaje, @MBilalShafi, @michelengelen, @oliviertassinari, @rita-codes
435
+
436
+ ### Data Grid
437
+
438
+ #### `@mui/x-data-grid@9.1.0`
439
+
440
+ - [DataGrid] Fix accessibility violation in detail panel toggle column header (#22178) @michelengelen
441
+ - [DataGrid] Fix active filter detection for array values (#22340) @MBilalShafi
442
+ - [DataGrid] Fix crash when grouping/tree-data values match `Object.prototype` property names (#22312) @LukasTy
443
+ - [DataGrid] Position overlays below top pinned rows (#22341) @MBilalShafi
444
+ - [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
445
+
446
+ #### `@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')
447
+
448
+ Same changes as in `@mui/x-data-grid@9.1.0`, plus:
449
+
450
+ - [DataGridPro] Fix column unpin restoring stale position after reorder (#22250) @michelengelen
451
+
452
+ #### `@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')
453
+
454
+ Same changes as in `@mui/x-data-grid-pro@9.1.0`, plus:
455
+
456
+ - [DataGridPremium] Fix aggregation column header title truncation without ellipsis (#22248) @michelengelen
457
+
458
+ ### Date and Time Pickers
459
+
460
+ #### `@mui/x-date-pickers@9.1.0`
461
+
462
+ - [pickers] Fix duplicate hour label in `MultiSectionDigitalClock` on DST day (#22110) @LukasTy
463
+ - [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
464
+
465
+ #### `@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')
466
+
467
+ Same changes as in `@mui/x-date-pickers@9.1.0`.
468
+
469
+ ### Charts
470
+
471
+ #### `@mui/x-charts@9.1.0`
472
+
473
+ - [charts] Add `ChartsAxisHighlightValue` component (#21803) @Copilot
474
+ - [charts] Create `ChartsRadialAxisHighlight` (#22241) @alexfauquette
475
+ - [charts] Remove useless extends (#22313) @alexfauquette
476
+ - [charts] Use `PolarAxisConfig` in polar plugin internals (#22315) @alexfauquette
477
+
478
+ #### `@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')
479
+
480
+ Same changes as in `@mui/x-charts@9.1.0`.
481
+
482
+ #### `@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')
483
+
484
+ Same changes as in `@mui/x-charts-pro@9.1.0`, plus:
485
+
486
+ - [charts-premium] Add WebGL renderer to `ScatterChartPremium` (#22157) @JCQuintas
487
+ - [charts-premium] Add highlight to the `RadialLineChart` (#22156) @alexfauquette
488
+ - [charts-premium] Apply WebGL perf patterns to candlestick + heatmap (#22223) @JCQuintas
489
+ - [charts-premium] Introduce the `RadialBarChart` (#22268) @alexfauquette
490
+
491
+ ### Tree View
492
+
493
+ #### `@mui/x-tree-view@9.1.0`
494
+
495
+ - [tree view] Fix stale Tree View `apiRef` after keyed remount (#22342) @MBilalShafi
496
+
497
+ #### `@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')
498
+
499
+ Same changes as in `@mui/x-tree-view@9.1.0`.
500
+
501
+ ### Scheduler
502
+
503
+ #### `@mui/x-scheduler@9.0.0-alpha.5`
504
+
505
+ - [scheduler] Make `EventItem` interactive by integrating button props for keyboard accessibility (#22160) @mustafajw07
506
+ - [scheduler] Migrate color switch to Base UI `ToggleGroup` (#22254) @flaviendelangle
507
+ - [scheduler] Rename Scheduler headless packages (#22273) @rita-codes
508
+ - [scheduler] Use TreeView for the resource sidebar (#22261) @flaviendelangle
509
+ - [scheduler] Use fieldset/legend instead of headings for form sections in the event dialog (#22095) @Anexus5919
510
+ - [scheduler] Added `position: relative` for consistent layout (#22284) @mustafajw07
511
+ - [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
512
+
513
+ #### `@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')
514
+
515
+ Same changes as in `@mui/x-scheduler@9.0.0-alpha.5`, plus:
516
+
517
+ - [scheduler] Replace per-view headers with a generic `EventTimelinePremiumHeader` in the `EventTimeline` (#22222) @rita-codes
518
+
519
+ ### Codemod
520
+
521
+ #### `@mui/x-codemod@9.1.0`
522
+
523
+ Internal changes.
524
+
525
+ ### Docs
526
+
527
+ - [docs] Migrate `FlightPicker` overview demo to v9 `slotProps` shape (#22272) @LukasTy
528
+ - [docs] Standardize Scheduler docs style and formatting (#22161) @mapache-salvaje
529
+ - [docs] Add feedback form to the scheduler docs (#22237) @rita-codes
530
+ - [docs] Fix `GridToolbarCustom` demo crash in DataGrid (#21950) @MBilalShafi
531
+ - [docs] Do not resolve axes in charts (#22307) @alexfauquette
532
+ - [docs] Fix no longer valid link (#22371) @LukasTy
533
+ - [docs] Replace broken CodeSandbox iframes in migration guides (#22352) @LukasTy
534
+
535
+ ### Core
536
+
537
+ - [code-infra] Bump browser `testTimeout` to absorb React 19 slowness (#22236) @LukasTy
538
+ - [code-infra] Use vale rules from code-infra package (#22256) @brijeshb42
539
+ - [code-infra] Fix broken valelint and docs build (#22362) @LukasTy
540
+ - [internal] Prepare renaming LICENSE file to LICENSE.md (#22055) @imazizbohra
541
+ - [internal] Remove outdated .woff files (#22286) @oliviertassinari
542
+ - [internal] Replace Codspeed with `@mui/internal-benchmark` for charts (#22243) @JCQuintas
543
+
544
+ ### Miscellaneous
545
+
546
+ - [internal-gestures] Add passive option to `TurnWheelGesture` (#22349) @JCQuintas
547
+ - [internal-gestures] Enforce pointer-type filter in `ShadowRoot` branch (#22327) @JCQuintas
548
+ - [internal-gestures] Improve passive event listener handling (#22329) @JCQuintas
549
+ - [internal-gestures] Inline wheel-delta clamp per axis (#22331) @JCQuintas
550
+ - [internal-gestures] Return read-only pointer map without copy (#22330) @JCQuintas
551
+ - [internal-gestures] Track multi-tap reset timeout to prevent leak (#22326) @JCQuintas
552
+
3
553
  ## 9.0.4
4
554
 
5
555
  _Apr 28, 2026_
package/LICENSE CHANGED
@@ -1,3 +1,5 @@
1
+ # License
2
+
1
3
  MIT License
2
4
 
3
5
  Copyright (c) 2020 Material-UI SAS
@@ -104,7 +104,7 @@ const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(functi
104
104
  }, inSlots), [inSlots]);
105
105
  if (isLoading) {
106
106
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
107
- children: "Loading..."
107
+ children: "Loading\u2026"
108
108
  });
109
109
  }
110
110
  if (error) {
@@ -190,9 +190,9 @@ process.env.NODE_ENV !== "production" ? RichTreeView.propTypes = {
190
190
  */
191
191
  disableSelection: _propTypes.default.bool,
192
192
  /**
193
- * When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
194
- * When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
195
- * Nested DOM structure is not compatible with collapse / expansion animations.
193
+ * When `'flat'`, the tree is rendered as a flat list (children are rendered as siblings of their parent).
194
+ * When `'nested'`, children are rendered inside their parent's groupTransition slot.
195
+ * Collapse/expansion animations that rely on the groupTransition slot only work with the nested DOM structure.
196
196
  * @default 'nested'
197
197
  */
198
198
  domStructure: _propTypes.default.oneOf(['flat', 'nested']),
@@ -97,7 +97,7 @@ const RichTreeView = /*#__PURE__*/React.forwardRef(function RichTreeView(inProps
97
97
  }, inSlots), [inSlots]);
98
98
  if (isLoading) {
99
99
  return /*#__PURE__*/_jsx(Typography, {
100
- children: "Loading..."
100
+ children: "Loading\u2026"
101
101
  });
102
102
  }
103
103
  if (error) {
@@ -183,9 +183,9 @@ process.env.NODE_ENV !== "production" ? RichTreeView.propTypes = {
183
183
  */
184
184
  disableSelection: PropTypes.bool,
185
185
  /**
186
- * When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
187
- * When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
188
- * Nested DOM structure is not compatible with collapse / expansion animations.
186
+ * When `'flat'`, the tree is rendered as a flat list (children are rendered as siblings of their parent).
187
+ * When `'nested'`, children are rendered inside their parent's groupTransition slot.
188
+ * Collapse/expansion animations that rely on the groupTransition slot only work with the nested DOM structure.
189
189
  * @default 'nested'
190
190
  */
191
191
  domStructure: PropTypes.oneOf(['flat', 'nested']),
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-tree-view v9.0.4
2
+ * @mui/x-tree-view v9.4.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-tree-view v9.0.4
2
+ * @mui/x-tree-view v9.4.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -16,9 +16,9 @@ export interface RichTreeViewState<R extends TreeViewValidItem<R>, Multiple exte
16
16
  */
17
17
  lazyLoadedItems: RichTreeViewLazyLoadedItemsStatus | null;
18
18
  /**
19
- * When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
20
- * When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
21
- * Nested DOM structure is not compatible with collapse / expansion animations.
19
+ * When `'flat'`, the tree is rendered as a flat list (children are rendered as siblings of their parent).
20
+ * When `'nested'`, children are rendered inside their parent's groupTransition slot.
21
+ * Collapse/expansion animations that rely on the groupTransition slot only work with the nested DOM structure.
22
22
  */
23
23
  domStructure: TreeViewDOMStructure;
24
24
  }
@@ -38,9 +38,9 @@ export interface RichTreeViewStoreParameters<R extends TreeViewValidItem<R>, Mul
38
38
  */
39
39
  isItemEditable?: boolean | ((item: R) => boolean);
40
40
  /**
41
- * When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
42
- * When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
43
- * Nested DOM structure is not compatible with collapse / expansion animations.
41
+ * When `'flat'`, the tree is rendered as a flat list (children are rendered as siblings of their parent).
42
+ * When `'nested'`, children are rendered inside their parent's groupTransition slot.
43
+ * Collapse/expansion animations that rely on the groupTransition slot only work with the nested DOM structure.
44
44
  * @default 'nested'
45
45
  */
46
46
  domStructure?: TreeViewDOMStructure;
@@ -16,9 +16,9 @@ export interface RichTreeViewState<R extends TreeViewValidItem<R>, Multiple exte
16
16
  */
17
17
  lazyLoadedItems: RichTreeViewLazyLoadedItemsStatus | null;
18
18
  /**
19
- * When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
20
- * When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
21
- * Nested DOM structure is not compatible with collapse / expansion animations.
19
+ * When `'flat'`, the tree is rendered as a flat list (children are rendered as siblings of their parent).
20
+ * When `'nested'`, children are rendered inside their parent's groupTransition slot.
21
+ * Collapse/expansion animations that rely on the groupTransition slot only work with the nested DOM structure.
22
22
  */
23
23
  domStructure: TreeViewDOMStructure;
24
24
  }
@@ -38,9 +38,9 @@ export interface RichTreeViewStoreParameters<R extends TreeViewValidItem<R>, Mul
38
38
  */
39
39
  isItemEditable?: boolean | ((item: R) => boolean);
40
40
  /**
41
- * When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
42
- * When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
43
- * Nested DOM structure is not compatible with collapse / expansion animations.
41
+ * When `'flat'`, the tree is rendered as a flat list (children are rendered as siblings of their parent).
42
+ * When `'nested'`, children are rendered inside their parent's groupTransition slot.
43
+ * Collapse/expansion animations that rely on the groupTransition slot only work with the nested DOM structure.
44
44
  * @default 'nested'
45
45
  */
46
46
  domStructure?: TreeViewDOMStructure;
@@ -88,7 +88,7 @@ const useTreeViewBuildContext = parameters => {
88
88
  };
89
89
  exports.useTreeViewBuildContext = useTreeViewBuildContext;
90
90
  function initializeInputApiRef(publicAPI, apiRef) {
91
- if (apiRef != null && apiRef.current == null) {
91
+ if (apiRef != null && apiRef.current !== publicAPI) {
92
92
  apiRef.current = publicAPI;
93
93
  }
94
94
  }
@@ -80,7 +80,7 @@ export const useTreeViewBuildContext = parameters => {
80
80
  }), [runItemPlugins, wrapItem, publicAPI, store, rootRef]);
81
81
  };
82
82
  function initializeInputApiRef(publicAPI, apiRef) {
83
- if (apiRef != null && apiRef.current == null) {
83
+ if (apiRef != null && apiRef.current !== publicAPI) {
84
84
  apiRef.current = publicAPI;
85
85
  }
86
86
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-tree-view",
3
- "version": "9.0.4",
3
+ "version": "9.4.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The community edition of the MUI X Tree View components.",
6
6
  "license": "MIT",
@@ -31,14 +31,14 @@
31
31
  "directory": "packages/x-tree-view"
32
32
  },
33
33
  "dependencies": {
34
- "@babel/runtime": "^7.29.2",
35
- "@base-ui/utils": "^0.2.8",
36
- "@mui/utils": "9.0.0",
34
+ "@babel/runtime": "^7.29.7",
35
+ "@base-ui/utils": "^0.2.9",
36
+ "@mui/utils": "9.0.1",
37
37
  "@types/react-transition-group": "^4.4.12",
38
38
  "clsx": "^2.1.1",
39
39
  "prop-types": "^15.8.1",
40
40
  "react-transition-group": "^4.4.5",
41
- "@mui/x-internals": "^9.0.4"
41
+ "@mui/x-internals": "^9.1.0"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "@emotion/react": "^11.9.0",