We'd like to extend a big thank you to the 15 contributors who made this release possible. Here are some highlights ✨:
- 🤝 Grid-Charts integration
- ⌨️ Charts keyboard navigation
- ⚡️ Charts: Add new
renderer="svg-batch"
prop to Scatter charts that provides improved performance for large datasets - 🐞 Bugfixes
- 📚 Documentation improvements
- 🧰 Codemod requires Node >=20.19
@mui/x-codemod
minimum supported Node version is 20.19
.
This was only the case due to using the v18 yargs
package; this now explicitly aligns with it. (#18979)
Special thanks go out to the community members for their valuable contributions:
@deade1e, @sai6855, @thomas-mcdonald
The following are all team members who have contributed to this release:
@alexfauquette, @bernardobelchior, @flaviendelangle, @Janpot, @JCQuintas, @LukasTy, @michelengelen, @prakhargupta1, @rita-codes, @siriwatknp, @arminmeh, @romgrk
Data Grid
@mui/x-data-grid@8.12.0
@mui/x-data-grid-pro@8.12.0

Same changes as in @mui/x-data-grid@8.12.0
.
@mui/x-data-grid-premium@8.12.0

Same changes as in @mui/x-data-grid-pro@8.12.0
, plus:
- [DataGridPremium] Grid-Charts integration (#18021) @arminmeh
- [DataGridPremium] Fix sorting and filtering of the tree group columns with aggregation (#19607) @arminmeh
- [DataGridPremium] Disable aggregation on the grouping column by default (#19692) @arminmeh
- [DataGridPremium] Do not rely on the group separation constant to retrieve the column name for the charts panel (#19677) @arminmeh
- [DataGridPremium] Fix stale aggregation state (#19690) @arminmeh
- [DataGridPremium] Fix pivot column being hidden on autosizing (#19699) @cherniavskii
Date and Time Pickers
@mui/x-date-pickers@8.12.0
- [pickers] Ensure reference value is not updated for invalid values (#19635) @michelengelen
- [pickers] Fix
slotProps.textField.slotProps.htmlInput
resolution (#19713) @LukasTy - [pickers] Preserve time format when using single column layout on Time Range Picker (#19626) @sai6855
- [pickers] Preserve time format when using single column layout on Date Time Picker and Date Time Range Picker (#19608) @sai6855
@mui/x-date-pickers-pro@8.12.0

Same changes as in @mui/x-date-pickers@8.12.0
.
Charts
@mui/x-charts@8.12.0
- [charts] Add batch renderer for scatter chart (#19075) @bernardobelchior
- [charts] Add renderer suffix to performance benchmarks (#19620) @bernardobelchior
- [charts] Document how plugins can be used (#19343) @alexfauquette
- [charts] Export chart plugins per series type (#19337) @alexfauquette
- [charts] Export plugins (#19335) @alexfauquette
- [charts] Fix horizontal layout and toolbar (#19655) @alexfauquette
- [charts] Fix performance issue with JS animations (#19606) @bernardobelchior
- [charts] Fix piecewise scale causing wrong colors in axis with min/max (#19610) @bernardobelchior
- [charts] Fix zoom discard inconsistency (#19535) @bernardobelchior
- [charts] Introduce keyboard navigation (#19155) @alexfauquette
- [charts] Refactor
getAxisExtremum
(#19627) @bernardobelchior - [charts] Remove unused code path from
getAxisScale
(#19673) @bernardobelchior - [charts] Make new hideLegend prop on ChartWrapper optional (#19694) @thomas-mcdonald
- [charts] Fix chart crash in test environment (#19711) @JCQuintas
@mui/x-charts-pro@8.12.0

Same changes as in @mui/x-charts@8.12.0
, plus:
- [charts-pro] Add
valueFormatter
to sankey (#19636) @JCQuintas - [charts-pro] Allow
source/target
keywords in sankey link color (#19634) @JCQuintas - [charts-pro] Allow exporting
SankeyChart
(#19659) @JCQuintas - [charts-pro] Fix axis inversion when using axis
max
andfilterMode: 'discard'
(#19200) @bernardobelchior
@mui/x-charts-premium@8.12.0

Same changes as in @mui/x-charts-pro@8.12.0
, plus:
Tree View
@mui/x-tree-view@8.12.0
- [tree view] Allow to pass
null
to the icon slots (#19569) @flaviendelangle - [tree view] Fix
apiRef.current.isItemExpanded()
method (#19619) @flaviendelangle
@mui/x-tree-view-pro@8.12.0

Same changes as in @mui/x-tree-view@8.12.0
.
Codemod
@mui/x-codemod@8.12.0
Docs
- [docs] Add missing label to Charts example (#19616) @prakhargupta1
- [docs] Replace axis type and axis data with a table (#19618) @prakhargupta1
- [docs] Add Charts example collection page (#18353) @prakhargupta1
- [docs] Add a Charts demo showcasing bar and scatter composition (#19605) @prakhargupta1
- [docs] Add composition Charts demo for legends and tooltip (#19602) @prakhargupta1
- [docs] Add recipe about server-side data export (#19617) @siriwatknp
- [docs] Clarify DataGrid layout requirements (#19413) @romgrk
- [docs] Fix
ExportServerSideData
demo layout shift (#19669) @siriwatknp - [docs] Improve server-side
updateRow()
description (#19554) @deade1e - [docs] Show how to customize drawing area background (#19682) @alexfauquette
- [docs] Add hook documentation pages (#19334) @Copilot
Core
- [code-infra] Add copilot instructions specific to x repo (#19623) @JCQuintas
- [code-infra] Load
tsx
files in visual regression (#19595) @JCQuintas - [code-infra] Remove renovate automerge (#19501) @Janpot
- [code-infra] Update
DEFAULT_TIMESTAMP
format to ISO 8601 (#19624) @Janpot - [code-infra] Update
findLatestTaggedVersion
to filter tags based on major version (#19693) @michelengelen - [code-infra] Fix changelog generation for charts premium (#19701) @JCQuintas
- [code-infra] Run prettier on
createReleasePR.mjs
(#19702) @bernardobelchior - [code-infra] Make
x-charts-premium
releasable (#18959) @JCQuintas - [docs-infra] Ensure
create-playground
script only runs if target file is absent (#19603) @michelengelen - [docs-infra] Add @prakhargupta1 as a codeowner of the docs (#19679) @alexfauquette
Miscellaneous
- [test] Reduce time for wheel zoom test (#19571) @alexfauquette
- Change
matchPackageNames
tomatchDepNames
for date-fns-v2 @Janpot - Remove groupName for date-fns-v2 in renovate.json @Janpot