We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
- 🦮 Improve keyboard navigation features of the Charts.
- 🎨 Improved customization of the edit event dialog in the
EventCalendar - 🐞 Bugfixes
- 📚 Documentation improvements
Special thanks go out to these community members for their valuable contributions:
@Anexus5919, @jvskriubakken, @mustafajw07, @roychan1
The following team members contributed to this release:
@brijeshb42, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @LukasTy, @michelengelen, @noraleonte, @rita-codes, @silviuaavram
Data Grid
@mui/x-data-grid@9.13.0
- [DataGrid] Call
onValueChangeaftersetEditCellValuein edit cells (#23417) @michelengelen - [DataGrid] Add support for replacing rows instead of merging updates (#23323) @jvskriubakken
- [DataGrid] Always render
rowHeaderin virtualized setups (#23386) @silviuaavram - [DataGrid] Export
ToolbarRoot(#23322) @JCQuintas - [DataGrid] Fix
rowsPerPageselector appearing whenautoPageSizeis enabled andpageSizeis one ofpageSizeOptions(#23401) @roychan1 - [DataGrid] Fix row tree reset when a data source grid becomes visible (#23288) @JCQuintas
@mui/x-data-grid-pro@9.13.0 
Same changes as in @mui/x-data-grid@9.13.0, plus:
- [DataGridPro] Remove rows deleted server-side on nested lazy loading revalidation (#23320) @JCQuintas
- [DataGridPro] Stop
disableDebouncefrom reaching the DOM in multi select filter (#23445) @JCQuintas
@mui/x-data-grid-premium@9.13.0 
Same changes as in @mui/x-data-grid-pro@9.13.0, plus:
- [DataGridPremium] Refine cell selection and speed up clipboard copy (#23473) @michelengelen
- [DataGridPremium] Select all cells with Ctrl+A (#23415) @michelengelen
Date and Time Pickers
@mui/x-date-pickers@9.13.0
Internal changes.
@mui/x-date-pickers-pro@9.13.0 
Same changes as in @mui/x-date-pickers@9.13.0.
Charts
@mui/x-charts@9.13.0
- [charts] Activate the focused axis with Enter/Space (#23219) @JCQuintas
- [charts] Add keyboard zoom and pan (#23369) @JCQuintas
- [charts] Fix line mark position under browser zoom in Safari (#23387) @noraleonte
- [charts] Fix y axis tick labels shortened near the top of the chart (#23435) @JCQuintas
- [charts] Focus the clicked item on radar charts (#23287) @JCQuintas
- [charts] Stop text measurements leaking into each other (#23430) @JCQuintas
@mui/x-charts-pro@9.13.0 
Same changes as in @mui/x-charts@9.13.0.
@mui/x-charts-premium@9.13.0 
Same changes as in @mui/x-charts-pro@9.13.0.
Tree View
@mui/x-tree-view@9.13.0
- [tree view] Add
loadingprop and customizable loading UI (#22251) @michelengelen - [tree view] Reduce selector bundle size (#23412) @flaviendelangle
- [tree view] Remove dead UI from community component (#23487) @noraleonte
- [tree view] Remove unused dependencies (#23488) @noraleonte
- [tree view] Use
useIdfor the default tree id (#23341) @Anexus5919
@mui/x-tree-view-pro@9.13.0 
Same changes as in @mui/x-tree-view@9.13.0.
Scheduler
@mui/x-scheduler@9.0.0-beta.11
- [scheduler] Absorb un-acted
ResizeObserverdeliveries after rendering the timeline (#23444) @rita-codes - [scheduler] Add
EventContextMenuwith Edit and Delete actions (#23379) @mustafajw07 - [scheduler] Add aria-hidden to collapsed side panel and refactor landmark structure (#23425) @mustafajw07
- [scheduler] Add the
eventDialogGeneralTabslot (#23338) @rita-codes - [scheduler] Fix the un-awaited act warning in the event dialog slot test (#23446) @JCQuintas
- [scheduler] Improve timeline event layout performance (#23364) @flaviendelangle
- [scheduler] Keep
aria-expandedpresent when ViewSwitcher and PreferencesMenu menus are closed (#23427) @mustafajw07 - [scheduler] Make the event dialog General-tab building blocks public (#23398) @rita-codes
- [scheduler] Migrate to the pragmatic-drag-and-drop v3 entry points (#23442) @rita-codes
- [scheduler] Reduce selector bundle size (#23413) @flaviendelangle
- [scheduler] Reuse processed events between updates (#23363) @flaviendelangle
- [scheduler] Add
aria-expandedandaria-controlsto side panel toggle button (#23402) @mustafajw07
@mui/x-scheduler-premium@9.0.0-beta.11 
Same changes as in @mui/x-scheduler@9.0.0-beta.11, plus:
- [scheduler-premium] Dependencies - Keep event drags working over the arrow hit-areas (#23441) @rita-codes
- [scheduler-premium] Dependencies - Reject dependencies that would create a cycle (#23389) @rita-codes
- [scheduler-premium] Key recurring
exDateson their data-timezone day (#23467) @rita-codes
Codemod
@mui/x-codemod@9.13.0
Internal changes.
Docs
- [docs] Add synchronized tooltip and crosshair demo to charts (#23368) @JCQuintas
- [docs] Add sticky headers recipe to
RichTreeViewcustomization (#22908) @michelengelen - [docs] Pin the visible date of the scheduler preferences demos (#23432) @rita-codes
- [docs] Star-prefix bare :where() dark-mode selectors (#23419) @Janpot
- [docs] Consolidate demo data into shared dataset files (#23496) @michelengelen
Core
- [code-infra] Consume shared commands from code-infra orb (#23485) @brijeshb42
- [code-infra] Move the shared spy helpers off Sinon (#23466) @JCQuintas
- [code-infra] Point the support validator link at frontend-public (#23422) @Janpot
- [code-infra] Reduce per-page memory in the browser test suite (#23424) @Janpot
- [code-infra] Remove Sinon (#23476) @JCQuintas
- [code-infra] Remove the explicit
styled-componentsdependency (#23479) @LukasTy - [code-infra] Replace the mechanical sinon
spy()usages withvi.fn()(#23443) @JCQuintas - [code-infra] Replace the sinon
spy(fn)usages withvi.fn(fn)(#23460) @JCQuintas - [code-infra] Replace the sinon spy types with the Vitest ones (#23464) @JCQuintas
- [code-infra] Replace the sinon spy-on-object calls with
vi.spyOn(#23474) @JCQuintas - [code-infra] Replace the sinon stubs with Vitest mocks (#23472) @JCQuintas
- [code-infra] Run TypeScript 7 alongside the TS6 JS API (#23471) @brijeshb42
- [code-infra] Trim the shared browser test setup graph (#23426) @LukasTy
- [code-infra] Update CircleCI orb (#23418) @JCQuintas
- [code-infra] Use explicit vitest imports in test files (#23375) @michelengelen
Miscellaneous
- [chat] Enforce top-level type imports (#23037) @Janpot
- [chat] Fix global preload error from the
remendimport (#23263) @hasdfa - [ci] Add Claude PR review via mui-public reusable workflow (#23423) @Janpot
- [telemetry] Fix get-context test leaking mock from sender test (#23447) @JCQuintas
- [test] Fail the regression run when a webfont does not load (#23376) @LukasTy