Jun 4, 2026
We'd like to extend a big thank you to the 21 contributors who made this release possible. Here are some highlights ✨:
- 🎉 Scheduler is now in Beta shipping with Timeline vitualization and lazy loading
- 📆 Implement Event Timeline virtualization (#22339)
- 🫧 Introduce bubble charts (#22537)
- 🐞 Bugfixes
- 📚 Documentation improvements
Special thanks go out to these community members for their valuable contributions: @imxv, @mixelburg, @mustafajw07
The following team members contributed to this release: @aemartos, @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @joserodolfofreitas, @LukasTy, @MBilalShafi, @michelengelen, @mj12albert, @noraleonte, @oliviertassinari, @rita-codes, @romgrk, @sai6855
- [DataGrid] Fix
avgaggregation when the average is zero (#22652) @mj12albert - [DataGrid] Inherit icon
fontSizefrombaseIconButtonsize (#22187) @imxv - [DataGrid] Fix
noRowsOverlayflicker betweendataSourcere-fetches (#22465) @LukasTy
Same changes as in @mui/x-data-grid@9.4.0.
This release includes a version bump of the
@mui/x-internal-exceljs-forkpackage to address the vulnerable dependencies. The following CVEs are fixed:
- https://github.com/advisories/GHSA-ph9p-34f9-6g65
- https://github.com/isaacs/minimatch/security/advisories/GHSA-23c5-xmqv-rm74
- https://github.com/advisories/GHSA-w5hq-g745-h8pq
To make this security update possible, we bumped the
nodeversion requirement from>=14.0.0to>=14.17.0. Node.js 14.17.0 was released in May 2021, so we consider it safe to bump the requirement without causing issues for our users.
Same changes as in @mui/x-data-grid-pro@9.4.0, plus:
- [DataGridPremium] Nested Lazy Loading (#21043) @MBilalShafi
- [DataGridPremium] Update exceljs fork (#22658) @cherniavskii
Internal changes.
Same changes as in @mui/x-date-pickers@9.4.0.
- [charts] Add functionality to hide elements during chart export (#22525) @sai6855
- [charts] Add option to show marks only on the first/last values (#22645) @alexfauquette
- [charts] Add text customization section and demo for axis labels (#22597) @sai6855
- [charts] Allow axes to scale according to the visible series only (#22566) @alexfauquette
- [charts] Correctly handle different identifiers for each series (#22556) @sai6855
- [charts] Fix inverted Y axis zoom/pan on ordinal scales (#22654) @JCQuintas
- [charts] Introduce bubble charts (#22537) @alexfauquette
- [charts] Let scatter chart tooltip ignore hidden series (#22614) @alexfauquette
- [charts] Make
'sqrt'size mapping the default (#22683) @alexfauquette - [charts] Remove unused proptypes (#22618) @alexfauquette
- [charts] Support module augmentation for slots (#22519) @sai6855
- [charts] Support multiple marker size in
findClosestPoint(#22622) @alexfauquette - [charts] Upgrade bezier-easing to v3 and use it for line chart hit-detection (#22608) @sai6855
- [charts] Use
useLayoutEffectwithResizeObserver(#22646) @JCQuintas
Same changes as in @mui/x-charts@9.4.0, plus:
- [charts-pro] Auto-select range button matching current zoom (#22137) @JCQuintas
- [charts-pro] Support range values in
initialZoom(#22563) @JCQuintas
Same changes as in @mui/x-charts-pro@9.4.0, plus:
- [charts-premium] Support range-bar series in WebGL bar renderer (#22607) @JCQuintas
- [charts-premium] Fix
onAxisClickfor radial bar and lines (#22522) @alexfauquette
Internal changes.
Same changes as in @mui/x-tree-view@9.4.0.
The theme styleOverrides slots for the skeleton and the error container were
renamed and unified. The CSS utility class names (for example
.MuiEventCalendar-eventSkeleton) are not affected — only
theme.components.* overrides need updating.
Event skeleton
| Before | After |
|---|---|
MuiEventCalendar slot EventSkeleton |
MuiEventSkeleton slot Root |
MuiEventTimeline slot EventSkeleton |
MuiEventSkeleton slot Root |
Error container
| Before | After |
|---|---|
MuiEventCalendar / MuiEventTimeline slot ErrorContainer |
MuiEventErrorContainer slot Root |
MuiEventCalendar / MuiEventTimeline slot ErrorAlert |
MuiEventErrorContainer slot Alert |
MuiEventCalendar / MuiEventTimeline slot ErrorMessage |
MuiEventErrorContainer slot Message |
If you customized these through the theme, update the component name and slot names accordingly:
components: {
- MuiEventCalendar: {
+ MuiEventSkeleton: {
styleOverrides: {
- EventSkeleton: { /* ... */ },
+ Root: { /* ... */ },
},
},
},
}- [scheduler] Add a prop to control whether the resource of an event can be cleared (#22464) @rita-codes
- [scheduler] Add week number labels to agenda, day and week views (#22594) @mustafajw07
- [scheduler] Add
weekStartsOnpreference and update date functions to support custom week start (#22426) @mustafajw07 - [scheduler] Export premium version of the standalone views (#22621) @flaviendelangle
- [scheduler] Implement timeline virtualization (#22339) @romgrk
- [scheduler] Split scheduler overview (#22453) @joserodolfofreitas
- [scheduler] Unify
EventSkeletonandErrorContainerbetweenEventCalendarandEventTimeline(#22676) @noraleonte
Same changes as in @mui/x-scheduler@9.0.0-beta.0.
- [docs] Add a performance docs page for charts (#22656) @alexfauquette
- [docs] Add real dataset for maps documentation (#22599) @alexfauquette
- [docs] Add spacing between selects on charts overview demo (#22589) @bernardobelchior
- [docs] Reorganize existing chat docs navigation (#22478) @hasdfa
- [docs] Switch to visionscarto's world atlas dataset (#22669) @cherniavskii
- [docs] Update TreeView
domstructuredocs and add demo (#22420) @mj12albert - [docs] Fix indexation of Scheduler (#22567) @oliviertassinari
- [docs] Fix wide layout on event timeline lazy loading and Import title (#22604) @rita-codes
- [docs] Derive class name owners for shared charts classes (#22674) @JCQuintas
- [code-infra] Drop unused and now-transitive deps from docs/package.json (#22549) @LukasTy
- [code-infra] Refresh CI Node pins to 22.22.3 (#22598) @LukasTy
- [code-infra] Skip empty product sections in changelog (#22541) @rita-codes
- [code-infra] Stabilize DataGridScrollRestoration visual regression test (#22553) @Janpot
- [internal] Add license to the
x-data-grid-generator(#22240) @arminmeh - [internal] Express default value for resource_class (#22569) @oliviertassinari
- [internal] Fix use of ellipsis (#21852) @oliviertassinari
- [internal]
useLayoutEffectwithResizeObserver(#22428) @romgrk
- [chat-headless] Add built-in chat adapters (#22479) @hasdfa
- [chat-headless] Harden runtime model and message errors (#22480) @hasdfa
- [core] Prepare for TypeScript 6 bump (#22551) @LukasTy
- [core] Use CircleCI Gen2 resource classes (#22610) @LukasTy
- [infra] Fix broken tag retrieval on
masterduring release (#22174) @michelengelen - [infra] Group Base UI renovate updates (#22590) @LukasTy
- [pnpm] Add security settings to pnpm-workspace.yaml (#22611) @Janpot
- [release] Fix release PR scripts (#22680) @JCQuintas
- [test] Add a Tree View regression test for lazy loading with getChildrenCount returning -1 (#22605) @mixelburg
- [test] Disable LCD subpixel antialiasing in regression screenshots (#22602) @Janpot
- [test] Fix flaky Data Grid Pro data source tree data tests (#22659) @LukasTy
- [test] Remove stale form-submit TODO from e2e suite (#22564) @LukasTy
- [x-license] Exclude test keys from the published npm package (#22647) @aemartos
- [test] Fix flaky WebGL benchmark by polling for canvas content (#22535) @JCQuintas
May 21, 2026
We'd like to extend a big thank you to the 16 contributors who made this release possible. Here are some highlights ✨:
- 📆 Refactor Calendar Range drag editing to use Pointer Events instead of drag and touch events combination (#22279)
- ✨ Apply lazy loading to
EventTimelinePremium(#22308) - 🐞 Bugfixes
- 📚 Documentation improvements
- 🌎 Added Norwegian bokmål (nb-NO) locale to the Scheduler
- 🌎 Improved Swedish (sv-SE) locale on the Data Grid
Special thanks go out to these community members for their valuable contributions: @Anexus5919, @jvskriubakken, @oscar-b, @rin, @viktormelin
The following team members contributed to this release: @aemartos, @alexfauquette, @arminmeh, @Janpot, @JCQuintas, @LukasTy, @mj12albert, @oliviertassinari, @rita-codes, @romgrk, @sai6855
- [DataGrid] Fix scrollbar disappearing after multiple resizes (#22512) @LukasTy
- [DataGrid] Revert "Add support for pinned columns in
GridVirtualScroller" (#22467) @oliviertassinari - [l10n] Improve Swedish (svSE) locale (#21851) @viktormelin
Same changes as in @mui/x-data-grid@9.3.0.
Same changes as in @mui/x-data-grid-pro@9.3.0.
- [pickers] Fix disabled state styling for
PickersTextFieldstandard and filled variants (#22189) @LukasTy - [pickers] Fix previous month disabled state calculation (#22524) @mj12albert
- [pickers] Merge
slotProps.sectionContentinPickersInputBase(#22324) @rin
Same changes as in @mui/x-date-pickers@9.3.0, plus:
- [DateRangeCalendar] Use Pointer Events for drag editing (#22279) @LukasTy
- [charts] Add
data-seriesto elements of radar chart (#22523) @alexfauquette - [charts] Add environment check for warning messages in axis and radar hooks (#22506) @sai6855
- [charts] Chart
seriesConfigdeduplication for lines and bars (#22257) @sai6855 - [charts] Fix highlighted item crash (#22539) @oscar-b
- [charts] Fix the line and mark class (#22526) @alexfauquette
- [charts] Fix use of deprecated API in docs (#22469) @oliviertassinari
- [charts] Improve performance of
evaluateCurveYfunction (#22407) @sai6855
Same changes as in @mui/x-charts@9.3.0.
Same changes as in @mui/x-charts-pro@9.3.0, plus:
- [charts-premium] Add
closePathoption to the radial line series (#22517) @alexfauquette
Internal changes.
- [I10n] Add Norwegian bokmål (nb-NO) locale (#22415) @jvskriubakken
Same changes as in @mui/x-scheduler@9.0.0-alpha.7, plus:
- [scheduler] Apply lazy loading to
EventTimelinePremium(#22308) @rita-codes - [scheduler] Deduplicate staged ranges within the debounce window (#22476) @Anexus5919
- [scheduler] Pass full event objects to
dataSource.updateEvents(#22462) @rita-codes
- [docs] Automatically update supported versions (#21850) @arminmeh
- [docs] Fix
Newlabel on bar charts docs (#22473) @oliviertassinari - [docs] Improve premium page header for charts (#22474) @oliviertassinari
- [docs] Sync
READMEwith licensing/licensing.md in scheduler (#22468) @oliviertassinari
- [code-infra] Cover docs overview composites with Argos (#22283) @LukasTy
- [code-infra] Enable
mui/no-presentation-rolelint rule (#22360) @Janpot - [code-infra] Make generated
propTypesunion order deterministic (#22521) @JCQuintas - [code-infra] Make screenshots stable across different ordering of the tests (#22449) @Janpot
- [code-infra] Optimize visual regression testing (#22447) @Janpot
- [code-infra] Replace markdownlint with remark from code-infra (#22255) @Janpot
- [virtualizer] Improve
controlledmode performance (#22123) @romgrk - [data-grid-generator] Include
tree-dataparams inuseDemoDatacache key (#22456) @Janpot - [test] Fix flaky browser tests and optimize (#22431) @Janpot
- [test] Speed up
test_typesjob (#22442) @Janpot - [test] Trim ffmpeg install in
test_regressions(#22459) @Janpot - [test] Add WebGL performance benchmarks for charts (#22471) @JCQuintas
- [test] Expand chart performance benchmarks for charts (#22472) @JCQuintas
- [x-license] use workspace dep for v9 in cross-major compat tests (#22504) @aemartos
May 13, 2026
We'd like to extend a big thank you to the 9 contributors who made this release possible. Here are some highlights ✨:
- ⚡️ Add a WebGL renderer to the Bar chart
- 📊 Add a radial charts with the radial line, radial bar, and the radial grid and axes
- 🐞 Bugfixes
- 📚 Documentation improvements
Special thanks go out to these community members for their valuable contributions: @Anexus5919, @mustafajw07
The following team members contributed to this release: @aemartos, @alexfauquette, @bernardobelchior, @JCQuintas, @oliviertassinari, @sai6855, @siriwatknp
- [data grid] Add support for pinned columns in
GridVirtualScroller(#22347) @sai6855 - [data grid] Remove unused CSS (#22390) @oliviertassinari
Same changes as in @mui/x-data-grid@9.2.0.
Same changes as in @mui/x-data-grid-pro@9.2.0.
- [pickers] Trim test helpers' default load graph (#22421) @JCQuintas
Same changes as in @mui/x-date-pickers@9.2.0.
Internal changes.
Same changes as in @mui/x-charts@9.2.0.
Same changes as in @mui/x-charts-pro@9.2.0, plus:
- [charts-premium] Add
Highlightsupport toRadialBarChart(#22322) @alexfauquette - [charts-premium] Add
WebGLrenderer toBarChartPremium(#22354) @JCQuintas - [charts-premium] Add mark shape support to the radial line (#22242) @alexfauquette
- [charts-premium]
RadialBarChartsupport axis interaction with layout horizontal (#22319) @alexfauquette
Internal changes.
Same changes as in @mui/x-tree-view@9.1.0.
- [scheduler] Complete ARIA grid semantics on
EventTimelineandEventCalendar(#22266) @Anexus5919 - [scheduler] Improve UX for recurrence tab (#22287) @mustafajw07
Same changes as in @mui/x-scheduler@9.0.0-alpha.6.
Internal changes.
- [docs] Document the
RadialBarChart(#22320) @alexfauquette - [docs] Add histogram demo to bar-demo page (#22373) @siriwatknp
- [docs] Add radial bar to the nav bar (#22429) @alexfauquette
- [docs] Split radial grid and radial line pages (#22238) @alexfauquette
- [test] Disable animations in chart benchmarks (#22433) @bernardobelchior
- [test] Move
x-internal-gesturesvitest isolate flag to test block (#22427) @JCQuintas - [test] Reduce flakiness in
MobileTimeRangePickermulti-inputdescribeValuetests (#22422) @JCQuintas - [x-license] Exclude compat test pins from Renovate major bumps (#22414) @aemartos
- [x-license] Add cross-major license format compatibility tests (#22335) @aemartos
May 8, 2026
We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
- ⚡️ Add a WebGL renderer to the Scatter chart, and apply the same WebGL performance patterns to the candlestick and heatmap [Premium]
- 🐞 Bugfixes
- 📚 Documentation improvements
Special thanks go out to these community members for their valuable contributions: @Anexus5919, @gaetanodanelli, @imazizbohra, @mustafajw07
The following team members contributed to this release: @alexfauquette, @brijeshb42, @flaviendelangle, @JCQuintas, @LukasTy, @mapache-salvaje, @MBilalShafi, @michelengelen, @oliviertassinari, @rita-codes
- [DataGrid] Fix accessibility violation in detail panel toggle column header (#22178) @michelengelen
- [DataGrid] Fix active filter detection for array values (#22340) @MBilalShafi
- [DataGrid] Fix crash when grouping/tree-data values match
Object.prototypeproperty names (#22312) @LukasTy - [DataGrid] Position overlays below top pinned rows (#22341) @MBilalShafi
- [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
Same changes as in @mui/x-data-grid@9.1.0, plus:
- [DataGridPro] Fix column unpin restoring stale position after reorder (#22250) @michelengelen
Same changes as in @mui/x-data-grid-pro@9.1.0, plus:
- [DataGridPremium] Fix aggregation column header title truncation without ellipsis (#22248) @michelengelen
- [pickers] Fix duplicate hour label in
MultiSectionDigitalClockon DST day (#22110) @LukasTy - [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
Same changes as in @mui/x-date-pickers@9.1.0.
- [charts] Add
ChartsAxisHighlightValuecomponent (#21803) @Copilot - [charts] Create
ChartsRadialAxisHighlight(#22241) @alexfauquette - [charts] Remove useless extends (#22313) @alexfauquette
- [charts] Use
PolarAxisConfigin polar plugin internals (#22315) @alexfauquette
Same changes as in @mui/x-charts@9.1.0.
Same changes as in @mui/x-charts-pro@9.1.0, plus:
- [charts-premium] Add WebGL renderer to
ScatterChartPremium(#22157) @JCQuintas - [charts-premium] Add highlight to the
RadialLineChart(#22156) @alexfauquette - [charts-premium] Apply WebGL perf patterns to candlestick + heatmap (#22223) @JCQuintas
- [charts-premium] Introduce the
RadialBarChart(#22268) @alexfauquette
- [tree view] Fix stale Tree View
apiRefafter keyed remount (#22342) @MBilalShafi
Same changes as in @mui/x-tree-view@9.1.0.
- [scheduler] Make
EventIteminteractive by integrating button props for keyboard accessibility (#22160) @mustafajw07 - [scheduler] Migrate color switch to Base UI
ToggleGroup(#22254) @flaviendelangle - [scheduler] Rename Scheduler headless packages (#22273) @rita-codes
- [scheduler] Use TreeView for the resource sidebar (#22261) @flaviendelangle
- [scheduler] Use fieldset/legend instead of headings for form sections in the event dialog (#22095) @Anexus5919
- [scheduler] Added
position: relativefor consistent layout (#22284) @mustafajw07 - [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
Same changes as in @mui/x-scheduler@9.0.0-alpha.5, plus:
- [scheduler] Replace per-view headers with a generic
EventTimelinePremiumHeaderin theEventTimeline(#22222) @rita-codes
Internal changes.
- [docs] Migrate
FlightPickeroverview demo to v9slotPropsshape (#22272) @LukasTy - [docs] Standardize Scheduler docs style and formatting (#22161) @mapache-salvaje
- [docs] Add feedback form to the scheduler docs (#22237) @rita-codes
- [docs] Fix
GridToolbarCustomdemo crash in DataGrid (#21950) @MBilalShafi - [docs] Do not resolve axes in charts (#22307) @alexfauquette
- [docs] Fix no longer valid link (#22371) @LukasTy
- [docs] Replace broken CodeSandbox iframes in migration guides (#22352) @LukasTy
- [code-infra] Bump browser
testTimeoutto absorb React 19 slowness (#22236) @LukasTy - [code-infra] Use vale rules from code-infra package (#22256) @brijeshb42
- [code-infra] Fix broken valelint and docs build (#22362) @LukasTy
- [internal] Prepare renaming LICENSE file to LICENSE.md (#22055) @imazizbohra
- [internal] Remove outdated .woff files (#22286) @oliviertassinari
- [internal] Replace Codspeed with
@mui/internal-benchmarkfor charts (#22243) @JCQuintas
- [internal-gestures] Add passive option to
TurnWheelGesture(#22349) @JCQuintas - [internal-gestures] Enforce pointer-type filter in
ShadowRootbranch (#22327) @JCQuintas - [internal-gestures] Improve passive event listener handling (#22329) @JCQuintas
- [internal-gestures] Inline wheel-delta clamp per axis (#22331) @JCQuintas
- [internal-gestures] Return read-only pointer map without copy (#22330) @JCQuintas
- [internal-gestures] Track multi-tap reset timeout to prevent leak (#22326) @JCQuintas
Apr 28, 2026
We'd like to extend a big thank you to the 4 contributors who made this release possible. Here are some highlights ✨:
- Fix Pickers previous (v9.0.3) release ensuring the latest
@mui/x-internalsversion usage
The following team members contributed to this release: @alexfauquette, @JCQuintas, @LukasTy, @mj12albert
Internal changes.
Same changes as in @mui/x-data-grid@9.0.4.
Same changes as in @mui/x-data-grid-pro@9.0.4.
Internal changes.
Same changes as in @mui/x-date-pickers@9.0.4.
- [charts] Exclude hidden series and items from keyboard navigation (alt approach) (#22221) @JCQuintas
- [charts] Fix line interaction with
areaandconectNulls(#22227) @alexfauquette - [charts] Implement the continuous case of
getAxisIndexfor rotation axis (#22230) @alexfauquette
Same changes as in @mui/x-charts@9.0.4.
Same changes as in @mui/x-charts-pro@9.0.4 plus:
- [charts-premium] Add
showMarkandshapeproperties to radial line (#22226) @alexfauquette
Internal changes.
Same changes as in @mui/x-tree-view@9.0.4.
Internal changes.
Same changes as in @mui/x-scheduler@9.0.4.
Internal changes.
- [docs] Update WCAG links (#22234) @mj12albert
- [code-infra] Avoid overriding
renovateignoredPaths(#22228) @LukasTy
Apr 27, 2026
We'd like to extend a big thank you to the 16 contributors who made this release possible. Here are some highlights ✨:
- ⌨️ Keyboard support for creating events in the Scheduler
Special thanks go out to these community members for their valuable contributions: @supunsathsara, @ZAKIURREHMAN
The following team members contributed to this release: @aemartos, @alexfauquette, @arminmeh, @brijeshb42, @Janpot, @JCQuintas, @LukasTy, @MBilalShafi, @michelengelen, @oliviertassinari, @rita-codes, @romgrk, @sai6855, @siriwatknp
- [DataGrid] Fix
:first-childSSR warning whenMuiDataGrid.styleOverridesis set (#22081) @siriwatknp - [DataGrid] Fix row reordering when filter hides rows (#22096) @siriwatknp
- [DataGrid] Remove unused
LayoutDataGridLegacyclass (#22009) @romgrk - [DataGrid] Remove unused code, clean up grid-related utilities and deprecate
GridPanelHeader(#22112) @sai6855 - [DataGrid] Fix columns cutting off after resizing (#22088) @ZAKIURREHMAN
Same changes as in @mui/x-data-grid@9.0.3.
Same changes as in @mui/x-data-grid-pro@9.0.3, plus:
- [DataGridPremium] Fix row grouping model updates not being reflected (#22122) @MBilalShafi
- [pickers] Fix
DateRangeCalendardrag withAdapterDayjsplain-constructor values (#22165) @LukasTy - [pickers] Fix disabled state not overriding error border color (#21169) @supunsathsara
- [pickers] Forward
data-*andaria-*attributes to the root (#22147) @LukasTy - [pickers] Support
Kandkhour format tokens (#22108) @michelengelen
Same changes as in @mui/x-date-pickers@9.0.3, plus:
- [DateRangeCalendar] Ensure date dragging triggers regardless of trigger element (#21868) @michelengelen
- [charts] Centralize WebGL clear/render cycle (context-based) (#22127) @JCQuintas
- [charts] Fix closest series detection for line charts (#22168) @alexfauquette
- [charts] Fix radius grid lines when axis uses point scale (#22134) @alexfauquette
- [charts] Use cubic solver for berzier intersection (#22152) @alexfauquette
Same changes as in @mui/x-charts@9.0.3, plus:
- [charts-pro] Fix wheel zoom clamping with custom
minStart/maxEnd(#22159) @JCQuintas
Same changes as in @mui/x-charts-pro@9.0.3, plus:
- [charts] Create a
'radialLine'series type (#22066) @alexfauquette - [charts] Plot radial line (#22133) @alexfauquette
- [charts] Remove
HeatmapWebGLRendererindirection (#22169) @JCQuintas
Internal changes.
Same changes as in @mui/x-tree-view@9.0.2.
- The
viewsofEventTimelinePremiumhave been renamed topresets, with names that describe the header layout. The propsview/defaultView/views/onViewChangeare nowpreset/defaultPreset/presets/onPresetChange, and the typeEventTimelinePremiumViewis nowEventTimelinePremiumPreset.
| Old | New |
|---|---|
time |
dayAndHour |
days |
day |
weeks |
dayAndWeek |
months |
monthAndYear |
years |
year |
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.
- [scheduler] Allow creating events via keyboard - EventCalendar (#21967) @rita-codes
- [scheduler] Prefix element IDs with a unique Scheduler instance ID (#22109) @rita-codes
Same changes as in @mui/x-scheduler@9.0.0-alpha.3.
- [scheduler] Allow creating events via keyboard -
EventTimeline(#22119) @rita-codes - [scheduler] Rename
EventTimelineviewsto ordered presets (#22130) @rita-codes
- [docs] Cleanup generated llm md files for chat (#22163) @brijeshb42
- [docs] Fix
highlightScopedescription (#22154) @alexfauquette - [docs] Remove obsolete v7 deprecation warning for
dayOfWeekFormatter(#22111) @LukasTy - [docs] Use mui.com for broken links checker known targets (#22129) @JCQuintas
- [docs] Document picker behavior inside MUI
Dialogand provide recommended solutions (#22144) @michelengelen - [docs] Improve v9 license key version mismatch error guidance (#22180) @aemartos
- [code-infra] Reduce concurrency for package build to 5 (#22115) @Janpot
- [code-infra] Rename
docsxalias todocs(#22155) @brijeshb42 - [docs-infra] Remove monorepo dependency (#22025) @brijeshb42
- [docs-infra] Use latest published packages (#22086) @brijeshb42
- [test] Refactor Pickers tests to async user-event (#22043) @LukasTy
- [test] Remove redundant explicit
unmount()calls from Pickers tests (#22118) @LukasTy
- [infra] Update
.gitignoreto exclude.claude/worktrees(#22145) @michelengelen - [infra] Enable branch tracking when creating release branch (#22177) @michelengelen
- [license] Add MIT license to
x-virtualizerpackage (#22164) @michelengelen - [website] Fix outdated MUI logos (#22117) @oliviertassinari
- [internal] Try avoiding store update when virtualization is disabled (#22093) @arminmeh
Apr 15, 2026
We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:
- 📊 Added
valueGetterto axes and series configurations, which allow for dynamically getting data out of adataset. - 🐞 Bugfixes
- 📚 Docs updates
Special thanks go out to these community members for their valuable contributions: @Anexus5919, @nk10nikhil
The following team members contributed to this release: @aemartos, @alexfauquette, @brijeshb42, @Janpot, @JCQuintas, @LukasTy, @MBilalShafi, @michelengelen, @rita-codes, @sai6855
- [DataGrid] Fix skeleton overlay backdrop issue (#21951) @MBilalShafi
- [DataGrid] Make
overridesResolverofResizablePanelHandledynamic (#21724) @sai6855
Same changes as in @mui/x-data-grid@9.0.2.
Same changes as in @mui/x-data-grid-pro@9.0.2.
- [fields] Allow
openPickerButtonPositionon single-input range fields (#22011) @LukasTy - [pickers] Fix spurious
onBlur/onFocusfiring during field focus transitions (#22098) @LukasTy - [pickers] Use
convertToMeridiemutility intransferDateSectionValue(#22062) @michelengelen
Same changes as in @mui/x-date-pickers@9.0.2.
- [charts] Add
valueGetterto axes and series (#21963) @JCQuintas - [charts] Create a
ChartsRadialDataProvider(#22047) @alexfauquette - [charts] Create a
ChartsRadialGrid(#22085) @alexfauquette - [charts] Deprecate
Scattercomponent (#22060) @JCQuintas - [charts] Remove duplicate
useThemePropscall (#22045) @alexfauquette - [charts] Simplify focus state handling in
BarElementcomponent (#22101) @sai6855
Same changes as in @mui/x-charts@9.0.2, plus:
- [charts-pro] Add range buttons to toolbar (#21964) @JCQuintas
Same changes as in @mui/x-charts-pro@9.0.2.
Internal changes.
Same changes as in @mui/x-tree-view@9.0.2, plus:
- [tree view] Move
lazyLoadedItemsinitialization to state initializer (#22073) @michelengelen
- [scheduler] Add recurrence icon to recurring events in
EventTimeline(#22019) (#22046) @nk10nikhil - [scheduler] Reset scroll position when navigating to a new time period (#22036) @Anexus5919
- [l10n] Improve German (de-DE) locale (#21944) @rita-codes
- [l10n] Improve Portuguese - Portugal (pt-PT) locale & Improve Portuguese - Brazil (pt-BR) locale (#21943) @rita-codes
Same changes as in @mui/x-scheduler@9.0.0-alpha.2.
- Internal changes.
- Internal changes.
- [docs] Add data grid
isAnyOfpaste recipe (#21961) @MBilalShafi - [docs] Add
@mui/materialupgrade requirement to v9 migration guides (#22068) @LukasTy - [docs] Fix pages width with
disableToc(#22051) @LukasTy - [docs] Split charts axis page (#22069) @alexfauquette
- [docs] Update
ChartsRadialDataProviderAPI page imports (#22072) @JCQuintas
- [code-infra] Fix lock file (#22053) @JCQuintas
- [code-infra] Limit
release:buildlerna concurrency to 6 (#22077) @Janpot - [docs-infra] Update monorepo dependency with relevant migration (#22041) @brijeshb42
- [telemetry] Skip runtime resolution when telemetry is disabled (#22078) @aemartos
- [test] Remove v7 suffix from test helpers and stale comments (#22023) @LukasTy
- [scheduler] Fix README for published packages (#22042) @rita-codes
Apr 8, 2026
We'd like to extend a big thank you to the 8 contributors who made this release possible. Here are some highlights ✨:
- Docs updates 📚
- Chat release 🥳
Special thanks go out to community member @mixelburg for their valuable contribution.
The following team members contributed to this release: @alexfauquette, @cherniavskii, @hasdfa, @Janpot, @LukasTy, @MBilalShafi, @rita-codes
- [DataGrid] Fix
processRowUpdateinvoked when cancelling edit for non-existent rows (#21990) @mixelburg - [DataGrid] Remove flaky argos tests (#22034) @MBilalShafi
Same changes as in @mui/x-data-grid@9.0.1.
Same changes as in @mui/x-data-grid-pro@9.0.1.
- [charts] Small code cleanup (#22031) @alexfauquette
Same changes as in @mui/x-charts@9.0.1.
Same changes as in @mui/x-charts-pro@9.0.1.
Internal changes.
Same changes as in @mui/x-tree-view@9.0.1.
Internal changes.
Same changes as in @mui/x-scheduler@9.0.0-alpha.1.
- [chat] Add x-chat package family (#21666) @hasdfa
- [chat] Add x-chat package family (#21666) @hasdfa
- [docs] Add charts a11y page in the menu (#22028) @alexfauquette
- [docs] Signal BC severity in v8 to v9 pickers migration guide (#22026) @LukasTy
- [docs] Use the same heading level data grid packages (#22024) @cherniavskii
- [code-infra] Fix changelog generator for Premium-without-Pro products (#22029) @LukasTy
- [code-infra] Remove
@mui/x-charts-vendorcheck in ci (#22030) @alexfauquette - [code-infra] Remove push to remote fallback in release script (#22021) @Janpot
- [code] Fix few typos in JSDocs and error messages (#22032) @alexfauquette
- [core] Post stable release changes (#22033) @LukasTy
- [core-infra] Update monorepo hash and remove temporary patch (#22038) @rita-codes
Apr 8, 2026
🥳 We're excited to announce the stable release of MUI X v9! This major release includes many new features and improvements. Here are some highlights ✨:
- Data Grid – Charts integration [Premium]
- Data Grid – AI Assistant [Premium]
- Data Grid – Undo and redo [Premium]
- Data Grid – Drag fill [Premium]
- Data Grid – longText column type
- Charts – Interaction and accessibility
- Charts – Candlestick [Premium]
- Charts – Range bar charts [Premium]
- Charts – WebGL Heatmap renderer [Premium]
- Tree View – Virtualization [Pro]
- New Scheduler packages [Alpha]
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
Internal changes.
Same changes as in @mui/x-data-grid@9.0.0, plus:
- [DataGridPro] Preserve parent selection for non-selectable children (#21132) @MBilalShafi
Same changes as in @mui/x-data-grid-pro@9.0.0, plus:
- [DataGridPremium] Drag fill (#21717) @MBilalShafi
- Removed the legacy Pickers and Field TextField props (for example:
InputProps) in favor of the nestedslotProps. Read more - The
utilsfield inPickersAdapterContextValuehas been removed in favor of theadapterfield. This should no longer affect you, as the context export has also been removed. MuiPickersAdapterContextexport has been removed. Prefer using theusePickerAdapterhook. Read more.
- [pickers] Refactor
PickersTextFieldto useslotPropsapproach (#22002) @LukasTy - [pickers] Remove deprecated LocalizationProvider legacy API (#22010) @LukasTy
Same changes as in @mui/x-date-pickers@9.0.0.
Internal changes.
Same changes as in @mui/x-charts@9.0.0.
Same changes as in @mui/x-charts-pro@9.0.0.
Internal changes.
Same changes as in @mui/x-tree-view@9.0.0.
Internal changes.
Same changes as in @mui/x-scheduler@9.0.0-alpha.0.
Internal changes.
- [docs] Add explanation for v8 -> v9 license migration (#22004) @DanailH
- [code-infra] Optimize dependency definition (#22006) @LukasTy
- [internal] Prepare v9 stable (#22018) @siriwatknp
- [internal] Remove 'conf' from codebase (#21989) @oliviertassinari
Apr 7, 2026
We'd like to extend a big thank you to the 18 contributors who made this release possible.
Special thanks go out to these community members for their valuable contributions: @mixelburg, @sibananda485, @youjin-hong
The following team members contributed to this release: @aemartos, @alexfauquette, @arminmeh, @brijeshb42, @flaviendelangle, @JCQuintas, @LukasTy, @mapache-salvaje, @MBilalShafi, @michelengelen, @noraleonte, @rita-codes, @romgrk, @siriwatknp, @ZeeshanTamboli
- [DataGrid] Rename filter panel
Columnslabel to singularColumn(#21935) @youjin-hong - [DataGrid] Export
GridColumnUnsortedIconPropsfor custom column icon slots (#21658) @mixelburg - [DataGrid] Remove
x-virtualizer'svirtualScrollerfrom public API (#21936) @romgrk - [DataGrid][virtualizer] Scrolling without render gaps (#21616) @romgrk
Same changes as in @mui/x-data-grid@9.0.0-rc.0, plus:
- [DataGridPro] Improve trigger for nested row reordering (#21642) @MBilalShafi
- [DataGridPro] Undeprecate
onRowsScrollEndprop (#21912) @MBilalShafi
Same changes as in @mui/x-data-grid-pro@9.0.0-rc.0, plus:
- [DataGridPremium] Fix clipboard paste issue in portal (#21931) @sibananda485
- Accessible DOM structure is now the only default. Read more
- The
PickerDay2andDateRangePickerDay2components were propagated to stable while removing the previous defaults. Read more
- [pickers] Remove
PickersDayandDateRangePickerDayand promote their2versions as replacements (#21739) @michelengelen
Same changes as in @mui/x-date-pickers@9.0.0-rc.0.
- [charts] Make line visibility toggle start from the baseline (#21893) @alexfauquette
- [charts] Remove the container overflow (#21955) @alexfauquette
- [charts] Revert
theme.alphafor non-channel token (#21965) @siriwatknp
Same changes as in @mui/x-charts@9.0.0-rc.0.0, plus:
- [charts-pro] Zoom slider touch improvements (#21832) @JCQuintas
- [charts-pro] Add
seriesIdsfilter to zoom slider preview (#21933) @JCQuintas - [charts-pro] Fix zoom slider preview with discard filter mode (#21883) @JCQuintas
Same changes as in @mui/x-charts-pro@9.0.0-rc.0.0, plus:
- [charts-premium] Add series
valueFormatterto candlestick chart (#21905) @JCQuintas - [charts-premium] Add zoom slider preview support for candlestick charts (#21914) @JCQuintas
- [charts-premium] Allow color customization in
Candlestickchart (#21838) @JCQuintas - [charts-premium] Support hide/show for OHLC (candlestick) series (#21807) @Copilot
- [charts-premium] Add
datasetsupport toCandlestickchart (#21872) @JCQuintas - [charts-premium] Add candlestick page to sidebar navigation (#21834) @JCQuintas
Internal changes.
Same changes as in @mui/x-tree-view@9.0.0-rc.0, plus:
- [RichTreeViewPro] Allow to auto-expand lazy loaded items (#21759) @flaviendelangle
- [scheduler] Add locale files, adapt l10n scripts, and add localization table to docs (#21870) @rita-codes
- [scheduler] Add planned features to the docs (#21705) @rita-codes
- [scheduler] Add scheduler to docs introduction (#21845) @rita-codes
- [scheduler] Add wide docs to scheduler (#21860) @noraleonte
- [scheduler] All day event bugfixes (#21884) @noraleonte
- [scheduler] Autofocus title field (#21947) @noraleonte
- [scheduler] Change default event creation trigger to single click (#21979) @rita-codes
- [scheduler] Change order of the views on the view selector (#21904) @rita-codes
- [scheduler] Disabled border color for the repeat day picker in dark mode (#21987) @rita-codes
- [scheduler] Drop unused dependency (#21956) @flaviendelangle
- [scheduler] Fix all-day event shifting to previous day in negative UTC offsets (#21994) @rita-codes
- [scheduler] Fix dark theme localization demos (#21992) @noraleonte
- [scheduler] Fix licensing confusion in docs (#21939) @rita-codes
- [scheduler] Fix preferences menu width shift when toggling options + Improve preferences menu accessibility (#21902) @rita-codes
- [scheduler] Prepare for the alpha launch (#21859) @rita-codes
- [scheduler] Sync Base UI internals and apply good practices (#21946) @flaviendelangle
- [scheduler] Update close modal aria label translation (#21940) @rita-codes
- [scheduler] Add Spanish (es-ES) locale (#21900) @rita-codes
- [scheduler] Improve French (fr-FR) locale (#21941) @rita-codes
- [scheduler] Improve Romanian (ro-RO) locale (#21942) @rita-codes
Same changes as in @mui/x-scheduler@9.0.0-alpha.0.
Internal changes.
- [docs] Fix JSDOM → jsdom casing (#21907) @JCQuintas
- [docs] Remove Joy UI references and dependency (#21937) @siriwatknp
- [docs] Remove none generated files (#21886) @alexfauquette
- [docs] Remove unused interactive demo code (#21945) @LukasTy
- [docs] Revise the Funnel doc (#21677) @mapache-salvaje
- [docs] Revise the Line chart docs (#21554) @mapache-salvaje
- [docs] Revise the Radar doc (#21674) @mapache-salvaje
- [docs] Revise the Sankey doc (#21678) @mapache-salvaje
- [docs] Revise the Scatter chart docs (#21564) @mapache-salvaje
- [docs-infra] Update to the latest monorepo (#21971) @brijeshb42
- [internal] Remove checks for
materialVersion >= 6(#21975) @LukasTy
- [core] Bump @mui/material to v9.0.0-beta.1 (#21858) @siriwatknp
- [core] Update browserslistrc (#21974) @siriwatknp
- [deps] Bump minimum core packages to 7.3.0 to adopt theme color manipulator (#21892) @siriwatknp
- [telemetry] Prefer upstream remote over origin for
projectId(#21882) @aemartos - [telemetry] Send
repoHash,[x]packageNameHash, androotPathHashalongsideprojectId(#21896) @aemartos - [test] Exclude flaky
DataGridargos test (#21977) @MBilalShafi - [test] Fix flaky
DataGridtest (#22000) @arminmeh - [test] Remove
componentsProptest fromdescribeConformance(#21897) @ZeeshanTamboli - [x-license] Change
orderIdtype fromnumbertostring(#21885) @aemartos
Mar 27, 2026
We'd like to extend a big thank you to the 10 contributors who made this release possible. Here are some highlights ✨:
- 🔊 New Charts voiceover component for improved screen reader support
- ⌨️ Charts keyboard navigation improvements: axis tooltip now shows when navigating with the keyboard
- 📊 Charts axes now can be set to automatically resize to fit their content
- 📝 New
rowCheckboxslot in Data Grid for easier checkbox column customization - ⚡️
fetchRows()API in Data Grid Pro now defaultsstartandendbased on scroll position with lazy loading - 🐞 Bugfixes and internal improvements
The following team members contributed to this release: @aemartos, @alexfauquette, @arminmeh, @cherniavskii, @Janpot, @JCQuintas, @mapache-salvaje, @michelengelen, @noraleonte, @rita-codes
- [DataGrid] Add
rowCheckboxslot for easier customization (#21797) @michelengelen - [DataGrid] Prevent repeated
hasScrollbarstate updates (#21820) @arminmeh
Same changes as in @mui/x-data-grid@9.0.0-beta.0, plus:
- [DataGridPro]
fetchRows()API's defaultstartandendparams based on scroll position with lazy loading (#21742) @arminmeh
Same changes as in @mui/x-data-grid-pro@9.0.0-beta.0.
Internal changes.
Same changes as in @mui/x-date-pickers@9.0.0-beta.0.
- [charts] Add
classNameprop to Pro chart plot components (#21793) @JCQuintas - [charts] Add experimental position-based pointer interaction for line series (#21809) @JCQuintas
- [charts] Add l10n to the bar accessibility (#21815) @alexfauquette
- [charts] Add localization for the basic charts (#21822) @alexfauquette
- [charts] Add voiceover component (#21344) @alexfauquette
- [charts] Allow axes to automatically resize to content (#21087) @JCQuintas
- [charts] Document multiple use-cases for references (#21768) @alexfauquette
- [charts] Remove compatibility layer for React vs native events (#21780) @JCQuintas
- [charts] Remove deprecated
barLabelprops (#21783) @alexfauquette - [charts] Show axis tooltip when navigating with keyboard (#21689) @Copilot
Same changes as in @mui/x-charts@9.0.0-beta.0.
Same changes as in @mui/x-charts-pro@9.0.0-beta.0.
Internal changes.
Same changes as in @mui/x-tree-view@9.0.0-alpha.4.
Internal changes.
- [docs] Document how to customize voiceover announcement (#21833) @alexfauquette
- [docs] Remove Discord mention from docs (#21855) @mapache-salvaje
- [docs] Remove stabilized experimental feature from demo (#21869) @JCQuintas
- [docs] Update telemetry guide to reflect pseudonymous data collection and license compliance (#21812) @aemartos
- [docs] Revise the Sparkline doc (#21614) @mapache-salvaje
- [docs] Revise the Gauge doc (#21673) @mapache-salvaje
- [docs] Revise the Heatmap doc (#21676) @mapache-salvaje
- [code-infra] Remove unused deps and unify es-toolkit via catalog (#21840) @Janpot
- [code-infra] Update @mui/internal-bundle-size-checker to canary.68 (#21836) @Janpot
- [code-infra] Update next (#21837) @Janpot
- [internal] Remove headless data grid packages (#21843) @cherniavskii
- Add @romgrk to CODEOWNERS for
x-virtualizerandx-internals(#21819) @Copilot - [x-license] add 2022 plan version (#21814) @aemartos
Mar 19, 2026
We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:
- 🐞 Bugfixes and internal improvements
The following team members contributed to this release: @aemartos, @alexfauquette, @bernardobelchior, @Janpot, @JCQuintas, @LukasTy, @mapache-salvaje, @michelengelen, @noraleonte, @rita-codes, @sai6855, @siriwatknp
- [DataGrid] Mark charts integration as stable (#21764) @JCQuintas
- [DataGrid] Move
elementOverridesto constants and remove duplicates (#21618) @sai6855 - [DataGrid] Migrate from deprecated Material UI APIs (#21682) @siriwatknp
Same changes as in @mui/x-data-grid@9.0.0-alpha.4.
Same changes as in @mui/x-data-grid-pro@9.0.0-alpha.4.
- [pickers] Avoid stealing focus on click away (#13434) @LukasTy
- [pickers] Promote
fieldRefto stable and addclearValuemethod (#21655) @michelengelen
Same changes as in @mui/x-date-pickers@9.0.0-alpha.4.
- [charts] Add v9 chart series types and helper functions migration (#21009) @bernardobelchior
- [charts] Extract event listener to the layer container (#21751) @alexfauquette
- [charts] Fix WebGL print export canvas stretching (#21738) @JCQuintas
- [charts] Improve deprecation warnings (#21760) @alexfauquette
- [charts] Improve type safety in
identifierCleaner(#21719) @bernardobelchior - [charts] Make
preferStrictDomainInLineChartsthe default (#21744) @JCQuintas - [charts] Move title and description to the layer container (#21757) @alexfauquette
- [charts] Refactor
FunnelChartclasses structure (#21652) @JCQuintas - [charts] Refactor
Heatmapclasses structure (#21653) @JCQuintas - [charts] Refactor
RadarChartclasses structure (#21650) @JCQuintas - [charts] Refactor
SankeyChartclasses structure (#21654) @JCQuintas - [charts] Refactor legend getters to use utility functions (#21628) @sai6855
- [charts] Remove deprecated
ChartContainerandChartDataProvider(#21777) @alexfauquette - [charts] Remove deprecated
itemIdfromSeriesLegendItemContext(#21788) @alexfauquette - [charts] Remove deprecated
useMouseTracker()(#21787) @alexfauquette - [charts] Remove deprecated classes (#21775) @alexfauquette
- [charts] Remove deprecated props from PieArcLabel animation (#21789) @alexfauquette
- [charts] Remove get*UtilityClass from public exports (#21769) @JCQuintas
- [charts] Remove the deprecated
disableHoverproperty (#21785) @alexfauquette - [charts] Remove the deprecated
messageprop (#21784) @alexfauquette - [charts] Remove deprecated props about voronoi (#21796) @alexfauquette
- [charts] Remove deprecated pieArcClasses (#21795) @alexfauquette
- [charts] Rename
data-series-idbydata-series(#21761) @alexfauquette - [charts] Rename
voronoiMaxRadius/disableVoronoitohitAreaRadius/disableHitArea(#21750) @bernardobelchior - [charts] Update pt-PT locale (#21296) @bernardobelchior
- [charts] Use different shape per series by default (#21713) @alexfauquette
- [charts] Add className prop to Radar components (#21794) @JCQuintas
- [charts] Add className prop to shared chart components (#21792) @JCQuintas
- [charts] Add className prop to BarPlot (#21791) @JCQuintas
- [charts] Portal tooltip into ChartsLayerContainer (#21801) @JCQuintas
Same changes as in @mui/x-charts@9.0.0-alpha.4, plus:
- [charts-pro] Allow
brushinteraction to acceptrequiredKeys/pointerMode(#21716) @JCQuintas - [charts-pro] Remove deprecated
onAxisClickfor Heatmap (#21786) @alexfauquette
Same changes as in @mui/x-charts-pro@9.0.0-alpha.4, plus:
- [charts-premium] Add candlestick chart (#21129) @bernardobelchior
Internal changes.
Same changes as in @mui/x-tree-view@9.0.0-alpha.4.
Internal changes.
- [docs-infra] Exclude
ServerSideLazyLoadingRevalidationfrom argos (#21734) @sai6855 - [docs] Update charts v9 migration guide to include premium package (#21743) @bernardobelchior
- [docs] Update v9 migration guides to install next tag (#21741) @bernardobelchior
- [docs] Revise the Pie chart docs (#21565) @mapache-salvaje
- [docs] Revise the Bar Chart docs (#21482) @mapache-salvaje
- [docs] Removed a
console.logfrom an aggregation demo (#21698) @michelengelen
- [code-infra] Add pkg-pr-new as dev dependency (#21754) @Janpot
- [code-infra] Prevent
combinerto have default parameters (#21707) @JCQuintas - [code-infra] Remove CI coverage collection and upload to Codecov (#21671) @Janpot
- [internal] Remove @bernardobelchior from Charts CODEOWNERS (#21776) @Copilot
- [x-license] Fix process.env.MUI_VERSION not being replaced during build (#21727) @aemartos
- [x-license] Add new watermark license status message (#21720) @aemartos
Mar 12, 2026
We'd like to extend a big thank you to the 13 contributors who made this release possible. Here are some highlights ✨:
- 🐞 Bugfixes and internal improvements
The following team members contributed to this release: @aemartos, @alexfauquette, @bernardobelchior, @brijeshb42, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @MBilalShafi, @michelengelen, @rita-codes, @sai6855, @siriwatknp
- [DataGrid] Fix crash when
rowsandrowModesModelare updated simultaneously (#21265) @michelengelen - [DataGrid] Add missing
resizablePanelHandleclasses togridClassesobject (#21538) @sai6855 - [DataGrid] Refactor
headerAlignstyle calls (#21541) @sai6855
Same changes as in @mui/x-data-grid@9.0.0-alpha.3, plus:
- [DataGridPro] Add
role="presentation"to detail panel toggle header content (#21634) @michelengelen - [DataGridPro] Fix sorting not reflected in nested server-side data (#21619) @MBilalShafi
Same changes as in @mui/x-data-grid-pro@9.0.0-alpha.3.
- [pickers] Refactor
DateRangePickerDayoverrides to use a centralizedelementOverridesobject (#21426) @sai6855 - [pickers] Migrate from deprecated props for
PickersModalDialog(#21702) @siriwatknp
Same changes as in @mui/x-date-pickers@9.0.0-alpha.3.
- [charts] Differentiate Line Plot roots classes (#21679) @JCQuintas
- [charts] Enable keyboard navigation by default (#21675) @alexfauquette
- [charts] Fix keyboard tooltip radar (#21667) @alexfauquette
- [charts] Fix selector default parameter (#21638) @JCQuintas
- [charts] Fix tooltip blink between node and pointer anchor (#21611) @alexfauquette
- [charts] Let tooltip and legend reflect the line shape (#21475) @alexfauquette
- [charts] Refactor
BarChartclasses structure (#21601) @JCQuintas - [charts] Refactor
LineChartclasses structure (#21648) @JCQuintas - [charts] Refactor
ScatterChartclasses structure (#21651) @JCQuintas - [charts] Refactor
PieChartclasses structure (#21649) @JCQuintas - [charts] Remove batch rendering checks in highlight selectors (#21646) @bernardobelchior
- [charts] Standardize generic arg names to
SeriesType(#21694) @alexfauquette - [charts] Simplify highlight hooks return types (#21695) @alexfauquette
Same changes as in @mui/x-charts@9.0.0-alpha.3, plus:
- [charts-pro] Fix heatmap style override from
arctocell(#21693) @Copilot - [charts-pro] Fix image export truncated when page is zoomed out (#21685) @bernardobelchior
- [charts-pro] Speed-up heatmap cell search with an index lookup (#21130) @alexfauquette
- [charts-pro] Fix heatmap highlight not working (#21710) @Copilot
Same changes as in @mui/x-charts-pro@9.0.0-alpha.3, plus:
- [charts-premium] Re-enable WebGL tests (#21708) @bernardobelchior
- Remove
TreeViewBaseItemtype (useTreeViewDefaultItemModelPropertiesor a custom interface) - Remove
useTreeViewApiRefhook (useuseRichTreeViewApiRef,useSimpleTreeViewApiRef, oruseRichTreeViewProApiRef) - Remove
statusfrom content slot props returned bygetContentProps()(usedata-*attributes;statusonuseTreeItemreturn value is unchanged) - Remove deprecated CSS state classes from
treeItemClasses:expanded,selected,focused,disabled,editable,editing(use[data-expanded],[data-selected], etc.) - The
<RichTreeViewPro />component has now virtualization enabled by default. - The items used inside the
<RichTreeViewPro />now have a default height of32px. - The items of the
<RichTreeViewPro />are now rendered as a flat list instead of a nested tree.
- [tree view] Remove deprecated APIs (#21591) @flaviendelangle
- [tree view] Fix collapsed children not selected with
selectionPropagation.descendantsinSimpleTreeView(#21253) @flaviendelangle
Same changes as in @mui/x-tree-view@9.0.0-alpha.3, plus:
- [RichTreeViewPro] Make the virtualization opt-out and port the layout doc from the data grid (#21461) @flaviendelangle
Internal changes.
- [docs] Fix
AssistantWithDataSourcedemo crashing (#21555) @sai6855 - [docs] Remove
Previewpill from Sankey (#21623) @bernardobelchior - [docs] Migrate internal Material UI deprecated APIs (#21680) @siriwatknp
- [docs] Remove
Newflag on Tree View and Date and Time Pickers features released before v9 alpha (#21585) @flaviendelangle
- [code-infra] Remove checkout step (#21688) @Janpot
- [code-infra] Fix contributor generation in changelog (#21718) @brijeshb42
- [docs-infra] Do not point to non-existent v8 subdomain (#21640) @cherniavskii
- [test] Add missing tests for forwarding props to filter operators in DataGrid (#21441) @siriwatknp
- [x-license] Export additional license types and constants (#21625) @aemartos
- [x-license] Refactor license verification to accept package info object and add v9 version gating (#21690) @aemartos
Mar 5, 2026
We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:
- ✅ Stabilize Sankey chart
- 🐞 Bugfixes and internal improvements
The following team members contributed to this release: @aemartos, @alelthomas, @alexfauquette, @arminmeh, @bernardobelchior, @brijeshb42, @Janpot, @JCQuintas, @mapache-salvaje, @michelengelen, @mj12albert, @sai6855, @siriwatknp
- [dataGrid] Fix keyboard nav with single-row checkbox selection (#21149) @mj12albert
- [DataGrid] Add
checkboxColDefprop to customize the selection column (#21331) @michelengelen - [DataGrid] Format pagination numbers by default (#21117) @siriwatknp
- [DataGrid] Prevent unnecessary row selection checkbox rerendering (#21570) @arminmeh
- [DataGrid] Make GridScrollArea overrides resolver dynamic (#21532) @sai6855
Same changes as in @mui/x-data-grid@9.0.0-alpha.2, plus:
- [DataGridPro] Use
getRowIdprop to calculate the tree data row update (#21540) @arminmeh
Same changes as in @mui/x-data-grid-pro@9.0.0-alpha.2.
- [pickers] Add
keepOpenDuringFieldFocusprop (#20782) @michelengelen
Same changes as in @mui/x-date-pickers@9.0.0-alpha.2.
- [charts] Add
ChartsLayerContainercomponent (#21264) @bernardobelchior - [charts] Add codemod for
ChartsContainerrename (#21504) @JCQuintas - [charts] Add codemod for
ChartsDataProviderrename (#21552) @JCQuintas - [charts] Add codemod for
ChartsZoomSliderrename (#21597) @JCQuintas - [charts] Base the highlight items on the item identifiers (#21161) @alexfauquette
- [charts] Deprecate
ChartDataProviderin favour ofChartsDataProvider(#21191) @JCQuintas - [charts] Deprecate
highlightedandfadedclasses (#21476) @alexfauquette - [charts] Migrate to latest v8 warning (#21518) @JCQuintas
- [charts] Rename
ChartZoomSlidertoChartsZoomSlider(#21553) @JCQuintas - [charts] Rename
WebGltoWebGL(#21524) @JCQuintas - [charts] Rename
useSvgRef()byuseChartsLayerContainerRef()(#21494) @alexfauquette - [charts] Restore focus on last focused item (#21522) @alexfauquette
- [charts] Warn users when controlled tooltip state does not match the trigger (#21520) @Copilot
- [charts] Fix controlled tooltip position (#21603) @bernardobelchior
Same changes as in @mui/x-charts@9.0.0-alpha.2, plus:
- [charts-pro] Center the watermark (#21550) @alexfauquette
- [charts-pro] Stabilize
SankeyChartAPI (#21133) @Copilot
Same changes as in @mui/x-charts-pro@9.0.0-alpha.2.
Internal changes.
Same changes as in @mui/x-tree-view@9.0.0-alpha.2.
Internal changes.
- [docs] Add backticks and parentheses to all functions and hooks (DX-173) (#21496) @mapache-salvaje
- [docs] Remove mentions of
mySvgRef(#21559) @bernardobelchior - [docs] Update Roadmap section in the docs (#20892) @alelthomas
- [docs] Add tutorial and example app for aggregation with row grouping (DX-162) (#21102) @mapache-salvaje
- [docs] Fix missing codemod docs (#21604) @JCQuintas
- [code-infra] Add eslint rule to prevent
Math.randomin docs (#21505) @JCQuintas - [code-infra] Avoid static props for pageContent (#21038) @Janpot
- [code-infra] Isolate
date-pickers-proin the browser tests (#21383) @Janpot - [code-infra] Remove
--coverage(#21410) @Janpot - [code-infra] Remove unneeded
skipIfs (#21569) @JCQuintas - [code-infra] Remove vale as a workspace dependency (#21489) @brijeshb42
- [code-infra] Remove x-charts-vendor from nextjs processing (#21534) @brijeshb42
- [code-infra] Set BASE_BRANCH env var in CircleCI config (#21548) @brijeshb42
- [code-infra] Setup error code extraction (#21469) @brijeshb42
- [code-infra] Setup flat build for packages (#21029) @brijeshb42
- [code-infra] Upgrade test_unit to large resource class (#21558) @Janpot
- [code-infra] Removed getTeamMembers function and usage from release script (#21605) @michelengelen
- [x-license] Add Q1-2026 plan version with quantity and appType support (#21574) @aemartos
- [x-license] Add v3 key format support, centralize test keys, and trim public API (#21485) @aemartos
- [x-telemetry] telemetry opt-out by default, remove conf dependency (#21470) @aemartos
- [x-telemetry] test: mock context module directly in sender tests (#21546) @aemartos
Feb 26, 2026
We'd like to extend a big thank you to the 18 contributors who made this release possible. Here are some highlights ✨:
- ⚡️ Improved dynamic data support and cache invalidation in lazy loading for Data Grid Pro
- ⌨️ Keyboard support for selecting day, month, and year in Date Pickers
- 📊 Axis tooltip sorting and control improvements in Charts
- 🐞 Bugfixes and internal improvements
Special thanks go out to these community members for their valuable contributions: @EllGree, @lion1963
The following team members contributed to this release: @alexfauquette, @arminmeh, @brijeshb42, @cherniavskii, @dav-is, @flaviendelangle, @Janpot, @JCQuintas, @mapache-salvaje, @MBilalShafi, @michelengelen, @noraleonte, @rita-codes, @sai6855, @siriwatknp, @ZeeshanTamboli
- [DataGrid] Forward rest props in
GridFilterInputMultipleValue(#21407) @siriwatknp - [DataGrid] Preserve key input during row edit when using
rowModesModel(#20759) @michelengelen - [DataGrid] Remove double rtl inversion logic for columns pinning (#21371) @siriwatknp
Same changes as in @mui/x-data-grid@9.0.0-alpha.1, plus:
- [DataGridPro] Fix number input visibility in header filters (#21328) @michelengelen
- [DataGridPro] Improve dynamic data support and cache invalidation in lazy loading (#21282) @MBilalShafi
Same changes as in @mui/x-data-grid-pro@9.0.0-alpha.1.
- [DatePicker] Add keyboard support for selecting day, month, and year (#20859) @michelengelen
Same changes as in @mui/x-date-pickers@9.0.0-alpha.1, plus:
- [DateRangePicker] Fix timezone update issue leading to
invalidRangeerror (#20863) @michelengelen
- [charts] Add
sortprops to the axis tooltip (#21293) @alexfauquette - [charts] Controll axis tooltip (#21351) @alexfauquette
- [charts] De duplicate keyboard focus handler function (#21267) @sai6855
- [charts] Make
typeoptional in identifiers (#21311) @alexfauquette - [charts] Move ref to the root component (#21396) @alexfauquette
- [charts] Refactor loading and no data overlays to use a shared OverlayText component (#21414) @sai6855
- [charts] Require series ids to be unique (#21330) @alexfauquette
- [charts] Set
showMarkasfalseby default (#21373) @alexfauquette - [charts] Use
createGetNextIndexFocusedItem()util in Funnel and RangeBar charts (#21390) @sai6855 - [charts] Remove unnecessary string concatenation (#21418) @sai6855
Same changes as in @mui/x-charts@9.0.0-alpha.1.
Same changes as in @mui/x-charts-pro@9.0.0-alpha.1.
- [tree view] Focus item sibling on unmount instead of the 1st item (#21254) @flaviendelangle
Same changes as in @mui/x-tree-view@9.0.0-alpha.1.
Internal changes.
- [docs] Fix external 301s (#21377) @Janpot
- [docs] Show premium in the overview (#21343) @alexfauquette
- [docs][charts] Revise the useLegend hook doc (#21352) @mapache-salvaje
- [docs][charts] Revise the axis hooks doc (#21317) @mapache-salvaje
- [docs][charts] Revise the scale hooks doc (#21316) @mapache-salvaje
- [docs][charts] Revise the series hooks doc (#21353) @mapache-salvaje
- [docs][charts] Revise the useDataset doc (#21336) @mapache-salvaje
- [docs][charts] Revise the useDrawingArea doc (#21333) @mapache-salvaje
- [core] Update docs deploy script to the
docs-nextbranch (#21341) @siriwatknp - [code-infra] Cleanup unused babel plugins (#21453) @brijeshb42
- [code-infra] Do not append
xto the last version for the compare API (#21408) @arminmeh - [code-infra] Upgrade react-docgen to v8 X (#21155) @JCQuintas
- [code-infra] Modernize codemod (#21096) @JCQuintas
- [docs-infra] Fix current version detection logic (#21417) @cherniavskii
- [docs-infra] Reapply Cookie Banner (#21281) @dav-is
- [internal] Headless filtering plugin (#21302) @arminmeh
- [internal] Headless pagination plugin (#21183) @arminmeh
- [internal] Headless virtualization followups (#21327) @cherniavskii
- [internal] Keep cached data for disabled pipe processors (#21348) @arminmeh
- [internal] Remove autoprefixer package (#21440) @ZeeshanTamboli
- [l10n] Fix Czech (csCZ) locale: sort/filter labels are swapped (#21400) @EllGree
- [l10n] Improve Ukrainian (uk-UA) locale (#21366) @lion1963
Feb 16, 2026
We'd like to extend a big thank you to the 21 contributors who made this release possible. Here are some highlights ✨:
-
Add support for virtualized items on
<RichTreeViewPro />:<RichTreeViewPro items={ITEMS} virtualization itemHeight={48} />
-
Add Thai (
thTH) locale on the Data Grid and the Date and Time Pickers (#21116) @siriwatknp -
Add a new
AdapterDayjsBuddhistadapter for Date and Time Pickers (#20984) @siriwatknp -
Add support for virtualization in the rich tree view (#20780) @flaviendelangle
-
Add WebGL renderer to Heatmap (#20756) @bernardobelchior
Special thanks go out to these community members for their valuable contributions: @jhe-iqbis
The following team members contributed to this release: @alexfauquette, @arminmeh, @bernardobelchior, @brijeshb42, @cherniavskii, @dav-is, @flaviendelangle, @Janpot, @JCQuintas, @mapache-salvaje, @MBilalShafi, @michelengelen, @mj12albert, @noraleonte, @oliviertassinari, @rita-codes, @romgrk, @sai6855, @siriwatknp
- [DataGrid] Update default
logicOperatorbehavior in filtering docs (#21098) @michelengelen - [DataGrid] Add
thTHlocale (#21116) @siriwatknp - [DataGrid] Fix initial filter value state in CustomMultiValueOperator demo (#21217) @sai6855
Same changes as in @mui/x-data-grid@9.0.0-alpha.0, plus:
- [DataGridPro] Cleanup outdated rows on
dataSourcereference update (#21138) @MBilalShafi
Same changes as in @mui/x-data-grid-pro@9.0.0-alpha.0.
- [pickers] Add
AdapterDayjsBuddhistadapter (#20984) @siriwatknp - [pickers] Add
thTHlocale (#21116) @siriwatknp
Same changes as in @mui/x-date-pickers@9.0.0-alpha.0.
- [charts] Add Legend actions (#20404) @JCQuintas
- [charts] Add
Chartsuffix to MUI Classes (#21042) @JCQuintas - [charts] Add
axesGapprops to put space between axes (#20904) @alexfauquette - [charts] Add
cleanIdentifierfunction to charts series instance (#20832) @JCQuintas - [charts] Add
initialHiddenItemsprop to set initial state (#20894) @JCQuintas - [charts] Add
useXAxisCoordinatesanduseYAxisCoordinateshooks (#20972) @bernardobelchior - [charts] Add axis slots and expose axis ticks hooks (#20935) @bernardobelchior
- [charts] Change
linelegend marker to be a line (#21059) @JCQuintas - [charts] Codemod test pattern with function (#21111) @JCQuintas
- [charts] Control the item tooltip (#20617) @alexfauquette
- [charts] Enable keyboard navigation in radar chart (#20765) @alexfauquette
- [charts] Export
CartesianChartSeriesTypeandStackableChartSeriesType(#21012) @bernardobelchior - [charts] Export plugins from premium (#20866) @JCQuintas
- [charts] Filter hidden series from axis tooltip (#21273) @Copilot
- [charts] Filter hidden series from axis tooltip (#21273) @Copilot
- [charts] Fix rename
getSVGPointtogetChartPoint(#21335) @bernardobelchior - [charts] Fix cleanup function in useChartInteractionListener to correctly remove event listeners with options (#21218) @sai6855
- [charts] Fix import rename in codemod (#21112) @JCQuintas
- [charts] Fix multiple exports of
HighlightScope(#21270) @bernardobelchior - [charts] Fix test inconsistency in charts (#20907) @JCQuintas
- [charts] Fix tooltip position for stacked line series (#20901) @alexfauquette
- [charts] Make Highlight scope a generic (#21189) @alexfauquette
- [charts] Make
LegendItemParams.typerequired (#21003) @alexfauquette - [charts] Make
seriesIda string only (#20997) @alexfauquette - [charts] Make the
useChartRootRefsupport typing parameter (#21023) @alexfauquette - [charts] Memoize HeatmapItem to avoid re-render when fading/highlighting (#20865) @bernardobelchior
- [charts] Move axis id to
data-axis-idattribute instead of class (#21037) @JCQuintas - [charts] Move
cleanIdentifierandserializeIdentifierinstance methods touseChartSeriesConfigplugin (#21025) @JCQuintas - [charts] Move
seriesConfigtouseChartSeriesConfigplugin (#21004) @JCQuintas - [charts] Move element refs to
useChartElementRefplugin (#21099) @JCQuintas - [charts] Move types related to
seriesConfiginto theuseChartSeriesConfigplugin folder (#21026) @JCQuintas - [charts] Remove
data-has-focused-itemfromChartsSurface(#21255) @bernardobelchior - [charts] Remove default generic of item identifiers (#21182) @alexfauquette
- [charts] Remove deprecated
idfromLegendItemParams(#21055) @alexfauquette - [charts] Remove deprecated
ChartApiexport fromChartContainer(#20975) @JCQuintas - [charts] Remove deprecated
useAxisTooltipin favor ofuseAxesTooltip(#20962) @Copilot - [charts] Remove deprecated series type helpers and functions (#20998) @alexfauquette
- [charts] Rename
ChartContainertoChartsContainer(#21173) @JCQuintas - [charts] Rename
getSVGPointtogetChartPoint(#21322) @bernardobelchior - [charts] Rename
TickItemTypetoTickItem(#21008) @bernardobelchior - [charts] Replace props
idbyseriesIdwhen necessary (#21057) @alexfauquette - [charts] Revert
touch-action: pan-yremoval when zoom is disabled (#20852) @bernardobelchior - [charts] The
useXxxSeries([])return empty array (#21001) @alexfauquette - [charts] Use
NumberValuein domain limit function (#21054) @JCQuintas
Same changes as in @mui/x-charts@9.0.0-alpha.0, plus:
- [charts-pro] Add border radius to heatmap (#20931) @bernardobelchior
- [charts-pro] Add keyboard navigation to funnel (#20766) @alexfauquette
- [charts-pro] Add keyboard navigation to heatmap (#20786) @alexfauquette
- [charts-pro] Add keyboard navigation to sankey (#20777) @alexfauquette
- [charts-pro] Fix Heatmap's
onItemClicknot triggering (#21016) @bernardobelchior - [charts-pro] Fix crash when two same-direction axes have a zoom preview (#20916) @bernardobelchior
- [charts-pro] Handle edge case in export image (#21190) @bernardobelchior
- [charts-pro] Prefer global pointer interaction tracker in Heatmap (#20697) @bernardobelchior
- [charts-pro] Support composition for Sankey (#20604) @alexfauquette
- [charts-pro] Update Heatmap identifier (#21124) @alexfauquette
- [charts-pro] Update default value of
hideLegendprop inHeatmap(#20961) @Copilot
Same changes as in @mui/x-charts-pro@9.0.0-alpha.0, plus:
- [charts-premium] Add WebGL renderer to Heatmap (#20756) @bernardobelchior
- [charts-premium] Add
ChartContainerPremium(#20910) @bernardobelchior - [charts-premium] Add
HeatmapPremium(#20930) @bernardobelchior - [charts-premium] Add keyboard navigation to range-bar (#21272) @alexfauquette
- [charts-premium] Extract
HeatmapSVGPlotfromHeatmapPlotcomponent (#21015) @bernardobelchior - [charts-premium] Fix
ChartDataProviderPremiumtests (#20868) @bernardobelchior - [charts-premium] Fix links in comments for chart containers and data providers (#21105) @bernardobelchior
No changes.
Same changes as in @mui/x-tree-view@9.0.0-alpha.0, plus:
- [RichTreeViewPro] Add support for virtualization (#20780) @flaviendelangle
- [codemod] Document and Clean the codemod utils (#21014) @alexfauquette
- [docs] Add focus highlight in composition snipets (#20614) @alexfauquette
- [docs] Add simple candlestick chart demo (#20912) @bernardobelchior
- [docs] Fix Waterfall Chart documentation badge from Pro to Premium (#20888) @Copilot
- [docs] Fix broken links on Data Grid Editing sub-pages (#20911) @arminmeh
- [docs] Fix docs API for HeatmapPremium (#21137) @alexfauquette
- [docs] Fix horizontal overflow in heatmap docs (#20968) @bernardobelchior
- [docs] Move Range Bar Chart to existing charts (#21120) @bernardobelchior
- [docs] Prepare the scheduler doc for the alpha (#21268) @flaviendelangle
- [docs] Rewording of the heatmap item click (#20987) @alexfauquette
- [scheduler][docs] Create the Quickstart page (#20913) @flaviendelangle
- [charts][docs] Revise the Charts CSP doc (#20906) @mapache-salvaje
- [charts][docs] Revise the Charts Composition doc (#20032) @mapache-salvaje
- [charts][docs] Revise the Charts Hooks Overview doc (#20921) @mapache-salvaje
- [charts][docs] Revise the Charts Legend doc (#20821) @mapache-salvaje
- [charts][docs] Revise the Charts Localization doc (#20800) @mapache-salvaje
- [charts][docs] Revise the Charts Plugins doc (#20933) @mapache-salvaje
- [charts][docs] Revise the Charts Stacking doc (#20830) @mapache-salvaje
- [charts][docs] Revise the Charts Styling doc (#20835) @mapache-salvaje
- [charts][docs] Revise the Charts Toolbar doc (#20867) @mapache-salvaje
- [charts][docs] Revise the Charts Tooltip doc (#20869) @mapache-salvaje
- [charts][docs] Revise the Charts Zoom and Pan doc (#20893) @mapache-salvaje
- [DataGrid][docs] Add a recipe for handling long text cell (#20754) @siriwatknp
- [DataGrid][docs] Add high-level competitor comparison to Overview doc (DX-117) (#20870) @mapache-salvaje
- [DataGrid][docs] Remove Bundling section from quickstart (#21177) @MBilalShafi
- [code-infra] Add
MUI_TEST_ENVglobal (#21187) @Janpot - [code-infra] Fix
material-ui/disallow-react-api-in-server-components(#20909) @JCQuintas - [code-infra] Fix
renameImportscodemod not preserving comments (#20977) @JCQuintas - [code-infra] Fix the label comparison to use lower case (#20934) @brijeshb42
- [code-infra] Github action to sync title and label (#20922) @brijeshb42
- [code-infra] Ignore scheduler demo with random data (#20982) @JCQuintas
- [code-infra] Improve
codemodtesting setup (#20981) @JCQuintas - [code-infra] Only ignore renovate[bot] in changelog generation script (#21185) @bernardobelchior
- [code-infra] Prepare for v9 (#20860) @JCQuintas
- [code-infra] Set
rasterizehtmlversion in pnpm catalog (#21175) @bernardobelchior - [code-infra] Update codeowners (#20886) @JCQuintas
- [code-infra] V9 preparation (#20928) @JCQuintas
- [code-infra] eslint rule rename (#21172) @Janpot
- [code-infra][docs] V9 charts migration doc kickoff (#20973) @JCQuintas
- [docs-infra] Add Cookie Banner and Analytics Provider (#21228) @dav-is
- [docs-infra] Fix missing slots section on API page (#20915) @Janpot
- [docs-infra] Fix two broken links (#20914) @Janpot
- [docs-infra] Port demo changes (#20971) @Janpot
- [internal] Add information about codemods to AGENTS.md (#21011) @bernardobelchior
- [internal] Fix codemod versioning instructions in
AGENTS.md(#21024) @bernardobelchior - [internal] Fix missing generated props in master (#21142) @bernardobelchior
- [internal] Headless sorting plugin (#21089) @arminmeh
- [internal] Remove duplicate code (#20896) @oliviertassinari
- Bump next to ^15.5.11 (#21171) @Copilot
- [core] Fix CI (#21223) @flaviendelangle
- [PoC] Headless data grid (#20645) @cherniavskii