Actualizar @mui/x-data-grid-pro de 8.x a 9.x
Comparación de la API pública de @mui/x-data-grid-pro 8.29.5 y 9.15.0, calculada automáticamente a partir de sus tipos TypeScript. Una firma modificada es un posible cambio incompatible, no una certeza.
Resumen
| Rutas de importación eliminadas | 0 |
|---|---|
| Exports eliminados | 0 |
| Firmas modificadas | 31 |
| Miembros de clases o interfaces eliminados | 0 |
| Miembros de clases o interfaces modificados | 5 |
| Nuevas deprecaciones | 0 |
| Cambios de requisitos (engines, dependencias peer) | 2 |
| Exports nuevos | 24 |
Exports eliminados
No se detectaron.
Firmas modificadas
| export | Antes | Después |
|---|---|---|
@mui/x-data-grid-pro · useGridRootProps | (): DataGridProProcessedProps<any> | (): DataGridProProcessedProps<any, any> |
@mui/x-data-grid-pro · GRID_COLUMN_MENU_SLOTS | { columnMenuPinningItem: typeof GridColumnMenuPinningItem; columnMenuSortItem: any; columnMenuFilterItem: any; columnMenuColumnsItem: any; } | { columnMenuSortItem: any; columnMenuFilterItem: any; columnMenuColumnsItem: any; columnMenuPinningItem: typeof GridColumnMenuPinningItem; } |
@mui/x-data-grid-pro · GridTreeDataGroupingCell | (props: GridTreeDataGroupingCellProps): any | (props: GridTreeDataGroupingCellProps): React.JSX.Element |
@mui/x-data-grid-pro · GridDetailPanelToggleCell | (props: GridRenderCellParams): any | (props: GridRenderCellParams): React.JSX.Element |
@mui/x-data-grid-pro · GRID_COLUMN_MENU_SLOT_PROPS | { columnMenuPinningItem: { displayOrder: number; }; columnMenuSortItem: { displayOrder: number; }; columnMenuFilterItem: { displayOrder: number; }; columnMenuColumnsItem: { displayOrder: number; }; } | { columnMenuSortItem: { displayOrder: number; }; columnMenuFilterItem: { displayOrder: number; }; columnMenuColumnsItem: { displayOrder: number; }; columnMenuPinningItem: { displayOrder: number; }; } |
@mui/x-data-grid-pro/internals · addPinnedRow | ({ groupingParams, rowModel, rowId, position, apiRef, isAutoGenerated }: { groupingParams: GridHydrateRowsValue; rowModel: GridRowModel; rowId: GridRowId; position: keyof GridPinnedRowsProp<GridValidRowModel>; apiRef: RefObject<GridPrivateApiPro>; isAutoGenerated: boolean; }): { dataRowIdToModelLookup: { [x: string]: any; }; tree: { [x: string]: any; [x: number]: any; }; treeDepths: { [depth: number]: number; }; dataRowIds: GridRowId[]; additionalRowGroups?: { pinnedRows?: any; } | undefined; } | ({ groupingParams, rowModel, rowId, position, apiRef, isAutoGenerated }: { groupingParams: GridHydrateRowsValue; rowModel: GridRowModel; rowId: GridRowId; position: keyof GridPinnedRowsProp<GridValidRowModel>; apiRef: RefObject<GridPrivateApiPro>; isAutoGenerated: boolean; }): { dataRowIds: GridRowId[]; additionalRowGroups?: { pinnedRows?: any; } | undefined; dataRowIdToModelLookup: { [x: string]: any; }; tree: { [x: string]: any; [x: number]: any; }; treeDepths: { [depth: number]: number; }; } |
@mui/x-data-grid-pro/internals · useGridTreeData | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "treeData" | "dataSource" | "isValidRowReorder">): void | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "treeData" | "dataSource" | "isValidRowReorder">): void |
@mui/x-data-grid-pro/internals · useGridLazyLoader | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "rowsLoadingMode" | "onFetchRows" | "pagination" | "paginationMode">): void | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "rowsLoadingMode" | "onFetchRows" | "pagination" | "paginationMode">): void |
@mui/x-data-grid-pro/internals · useGridRowPinning | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "pinnedRows" | "getRowId">): void | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "pinnedRows" | "getRowId">): void |
@mui/x-data-grid-pro/internals · useGridRowReorder | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "treeData" | "rowReordering" | "dataSource" | "onRowOrderChange" | "isValidRowReorder" | "classes">): void | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "treeData" | "rowReordering" | "dataSource" | "onRowOrderChange" | "isValidRowReorder" | "classes">): void |
@mui/x-data-grid-pro/internals · useGridDetailPanel | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "getDetailPanelHeight" | "detailPanelExpandedRowIds" | "onDetailPanelExpandedRowIdsChange" | "getDetailPanelContent">): void | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "getDetailPanelHeight" | "detailPanelExpandedRowIds" | "onDetailPanelExpandedRowIdsChange" | "getDetailPanelContent">): void |
@mui/x-data-grid-pro/internals · useGridColumnPinning | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "disableColumnPinning" | "initialState" | "slotProps" | "slots" | "pinnedColumns" | "onPinnedColumnsChange">): void | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "disableColumnPinning" | "initialState" | "slotProps" | "slots" | "pinnedColumns" | "onPinnedColumnsChange">): void |
@mui/x-data-grid-pro/internals · useGridColumnReorder | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "keepColumnPositionIfDraggedOutside" | "disableColumnReorder" | "classes" | "onColumnOrderChange">): void | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "keepColumnPositionIfDraggedOutside" | "disableColumnReorder" | "classes" | "onColumnOrderChange">): void |
@mui/x-data-grid-pro/internals · useGridInfiniteLoader | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "rowsLoadingMode" | "onRowsScrollEnd" | "pagination" | "paginationMode">): void | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "rowsLoadingMode" | "onRowsScrollEnd" | "pagination" | "paginationMode">): void |
@mui/x-data-grid-pro/internals · useGridColumnHeadersPro | (props: UseGridColumnHeadersProps): { getColumnFiltersRow: () => any; getFillers: (params: any, children: React.ReactNode, leftOverflow: number, borderBottom?: boolean | undefined) => any; getColumnHeadersRow: () => any; getColumnGroupHeadersRows: () => React.JSX.Element[] | null; isDragging: boolean; getInnerProps: () => { role: string; }; } | (props: UseGridColumnHeadersProps): { getFillers: (params: any, children: React.ReactNode, leftOverflow: number, borderBottom?: boolean | undefined) => React.JSX.Element; getColumnHeadersRow: () => React.JSX.Element; getColumnGroupHeadersRows: () => React.JSX.Element[] | null; isDragging: boolean; getInnerProps: () => { role: string; }; getColumnFiltersRow: () => any; } |
@mui/x-data-grid-pro/internals · useGridDataSourceBasePro | <Api extends GridPrivateApiPro>(apiRef: RefObject<Api>, props: DataGridProProcessedProps<any>, options?: any): { api: { public: GridDataSourceApiPro; private: GridDataSourcePrivateApiPro; }; debouncedFetchRows: any; flatTreeStrategyProcessor: { strategyName: DataSourceRowsUpdateStrategy; group: "dataSourceRowsUpdate"; processor: GridStrategyProcessor<"dataSourceRowsUpdate">; }; groupedDataStrategyProcessor: { strategyName: DataSourceRowsUpdateStrategy; group: "dataSourceRowsUpdate"; processor: GridStrategyProcessor<"dataSourceRowsUpdate">; }; events: { strategyAvailabilityChange: any; sortMode… | <Api extends GridPrivateApiPro>(apiRef: RefObject<Api>, props: DataGridProProcessedProps<any, any>, options?: any): { api: { public: GridDataSourceApiPro; private: GridDataSourcePrivateApiPro; }; debouncedFetchRows: any; flatTreeStrategyProcessor: { strategyName: DataSourceRowsUpdateStrategy; group: "dataSourceRootRowsUpdate"; processor: GridStrategyProcessor<"dataSourceRootRowsUpdate">; }; groupedDataStrategyProcessor: { strategyName: DataSourceRowsUpdateStrategy; group: "dataSourceRootRowsUpdate"; processor: GridStrategyProcessor<"dataSourceRootRowsUpdate">; }; nestedDataStrategyProcessor: {… |
@mui/x-data-grid-pro/internals · propValidatorsDataGridPro | PropValidator<DataGridProProcessedProps<any>>[] | PropValidator<DataGridProProcessedProps<any, any>>[] |
@mui/x-data-grid-pro/internals · rowPinningStateInitializer | GridStateInitializer<Pick<DataGridProProcessedProps<any>, "pinnedRows" | "getRowId">> | GridStateInitializer<Pick<DataGridProProcessedProps<any, any>, "pinnedRows" | "getRowId">> |
@mui/x-data-grid-pro/internals · detailPanelStateInitializer | GridStateInitializer<Pick<DataGridProProcessedProps<any>, "initialState" | "detailPanelExpandedRowIds">> | GridStateInitializer<Pick<DataGridProProcessedProps<any, any>, "initialState" | "detailPanelExpandedRowIds">> |
@mui/x-data-grid-pro/internals · useGridDataSourceLazyLoader | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "lazyLoading" | "lazyLoadingRequestThrottleMs" | "dataSource" | "dataSourceRevalidateMs">): void | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "treeData" | "lazyLoading" | "lazyLoadingRequestThrottleMs" | "initialState" | "dataSource" | "dataSourceRevalidateMs" | "paginationMeta">): void |
@mui/x-data-grid-pro/internals · useGridTreeDataPreProcessors | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "treeData" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "disableChildrenFiltering" | "disableChildrenSorting" | "dataSource" | "groupingColDef" | "getTreeDataPath">): void | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "treeData" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "disableChildrenFiltering" | "disableChildrenSorting" | "dataSource" | "groupingColDef" | "getTreeDataPath">): void |
@mui/x-data-grid-pro/internals · columnPinningStateInitializer | GridStateInitializer<Pick<DataGridProProcessedProps<any>, "initialState" | "pinnedColumns">> | GridStateInitializer<Pick<DataGridProProcessedProps<any, any>, "initialState" | "pinnedColumns">> |
@mui/x-data-grid-pro/internals · useGridLazyLoaderPreProcessors | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "rowsLoadingMode" | "rowCount">): void | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "rowsLoadingMode" | "rowCount">): void |
@mui/x-data-grid-pro/internals · useGridRowReorderPreProcessors | (privateApiRef: RefObject<GridPrivateApiPro>, props: DataGridProProcessedProps<any>): void | (privateApiRef: RefObject<GridPrivateApiPro>, props: DataGridProProcessedProps<any, any>): void |
@mui/x-data-grid-pro/internals · useGridDetailPanelPreProcessors | (privateApiRef: RefObject<GridPrivateApiPro>, props: DataGridProProcessedProps<any>): void | (privateApiRef: RefObject<GridPrivateApiPro>, props: DataGridProProcessedProps<any, any>): void |
@mui/x-data-grid-pro/internals · useGridRowsOverridableMethodsPro | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "treeData" | "setTreeDataPath" | "processRowUpdate" | "onProcessRowUpdateError">): { setRowIndex: (rowId: any, targetIndex: number) => void | Promise<void>; setRowPosition: (sourceRowId: any, targetRowId: any, position: any) => void | Promise<void>; } | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "treeData" | "setTreeDataPath" | "processRowUpdate" | "onProcessRowUpdateError">): { setRowIndex: (rowId: any, targetIndex: number) => void | Promise<void>; setRowPosition: (sourceRowId: any, targetRowId: any, position: any) => void | Promise<void>; } |
@mui/x-data-grid-pro/internals · useGridColumnPinningPreProcessors | (apiRef: RefObject<GridPrivateApiPro>, props: DataGridProProcessedProps<any>): void | (apiRef: RefObject<GridPrivateApiPro>, props: DataGridProProcessedProps<any, any>): void |
@mui/x-data-grid-pro/internals · useGridInfiniteLoadingIntersection | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "scrollEndThreshold" | "rowsLoadingMode" | "lazyLoading" | "dataSource" | "onRowsScrollEnd">): void | (apiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "scrollEndThreshold" | "rowsLoadingMode" | "lazyLoading" | "dataSource" | "onRowsScrollEnd">): void |
@mui/x-data-grid-pro/internals · useGridDataSourceTreeDataPreProcessors | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any>, "treeData" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "disableChildrenFiltering" | "disableChildrenSorting" | "dataSource" | "groupingColDef">): void | (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps<any, any>, "treeData" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "disableChildrenFiltering" | "disableChildrenSorting" | "dataSource" | "groupingColDef">): void |
@mui/x-data-grid-pro/components · GridTreeDataGroupingCell | (props: GridTreeDataGroupingCellProps): any | (props: GridTreeDataGroupingCellProps): React.JSX.Element |
@mui/x-data-grid-pro/components · GridDetailPanelToggleCell | (props: GridRenderCellParams): any | (props: GridRenderCellParams): React.JSX.Element |
Miembros de clases o interfaces eliminados
No se detectaron.
Miembros de clases o interfaces modificados
| member | Antes | Después |
|---|---|---|
GridPrivateApiPro.fetchRowChildren | (id: GridRowId): void | (id: GridRowId, fetchParams?: GridGetRowsParamsPro | undefined): void |
GridDataSourcePrivateApi.fetchRowChildren | (id: GridRowId): void | (id: GridRowId, fetchParams?: GridGetRowsParamsPro | undefined): void |
GridPrivateApiPro.fetchRowChildren | (id: GridRowId): void | (id: GridRowId, fetchParams?: GridGetRowsParamsPro | undefined): void |
DataGridProPropsWithoutDefaultValue.onPinnedColumnsChange | ((pinnedColumns: GridPinnedColumnFields, details: GridCallbackDetails) => void) | undefined | ((pinnedColumns: GridPinnedColumnFields, details: GridCallbackDetails<any, Api>) => void) | undefined |
DataGridProPropsWithoutDefaultValue.onDetailPanelExpandedRowIdsChange | ((ids: Set<GridRowId>, details: GridCallbackDetails) => void) | undefined | ((ids: Set<GridRowId>, details: GridCallbackDetails<any, Api>) => void) | undefined |
Nuevas deprecaciones
No se detectaron.
Cambios de requisitos (engines, dependencias peer)
| Antes | Después | |
|---|---|---|
peerDependencies.@mui/system | ^5.15.14 || ^6.0.0 || ^7.0.0 | ^7.3.0 || ^9.0.0 |
peerDependencies.@mui/material | ^5.15.14 || ^6.0.0 || ^7.0.0 | ^7.3.0 || ^9.0.0 |
Exports nuevos (24)
| import | export | kind |
|---|---|---|
@mui/x-data-grid-pro | GridMultiSelectCell | function |
@mui/x-data-grid-pro | renderMultiSelectCell | variable |
@mui/x-data-grid-pro | GridCallbackDetailsPro | type |
@mui/x-data-grid-pro | GridEditMultiSelectCell | function |
@mui/x-data-grid-pro | GridMultiSelectCellProps | interface |
@mui/x-data-grid-pro | GRID_MULTI_SELECT_COL_DEF | variable |
@mui/x-data-grid-pro | renderEditMultiSelectCell | variable |
@mui/x-data-grid-pro | getGridMultiSelectOperators | variable |
@mui/x-data-grid-pro | GridEditMultiSelectCellProps | interface |
@mui/x-data-grid-pro | getGridMultiSelectQuickFilterFn | variable |
@mui/x-data-grid-pro | GridFilterInputMultipleMultiSelect | function |
@mui/x-data-grid-pro | GridFilterInputMultipleMultiSelectProps | type |
@mui/x-data-grid-pro/models | GridCallbackDetailsPro | type |
@mui/x-data-grid-pro/internals | GridMultiSelectMeasurer | function |
@mui/x-data-grid-pro/internals | registerMultiSelectColumnType | function |
@mui/x-data-grid-pro/internals | useGridDataSourceNestedLazyLoader | variable |
@mui/x-data-grid-pro/components | GridMultiSelectCell | function |
@mui/x-data-grid-pro/components | renderMultiSelectCell | variable |
@mui/x-data-grid-pro/components | GridEditMultiSelectCell | function |
@mui/x-data-grid-pro/components | GridMultiSelectCellProps | interface |
@mui/x-data-grid-pro/components | renderEditMultiSelectCell | variable |
@mui/x-data-grid-pro/components | GridEditMultiSelectCellProps | interface |
@mui/x-data-grid-pro/components | GridFilterInputMultipleMultiSelect | function |
@mui/x-data-grid-pro/components | GridFilterInputMultipleMultiSelectProps | type |
Changelog entre estas versiones
Texto publicado por los autores del paquete, mostrado tal cual.
9.15.0
_Oct 6, 2026_
We'd like to extend a big thank you to the 17 contributors who made this release possible. Here are some highlights ✨:
- 🌍 Add Russian (ru-RU) locale to the Scheduler
- 📐 New `height` prop to size the Data Grid without a wrapper
- 📅 New `onCancel` callback prop on the Date and Time Pickers
- ⌨️ Home/End, Ctrl+Home/End, and PageUp/PageDown keyboard navigation in the Charts
- 🔒 Data Grid and Charts exports work under a Content Security Policy
- 🐞 Bugfixes
- 📚 Documentation improvements
Special thanks go out to these community members for their valuable contributions:
@Anexus5919, @davidjb, @kwy404, @mixelburg, @Sazuru
The following team members contributed to this release:
@arminmeh, @brijeshb42, @flaviendelangle, @Janpot, @JCQuintas, @LukasTy, @mapache-salvaje, @michelengelen, @noraleonte, @rita-codes, @romgrk, @siriwatknp
### Data Grid9.15.0
- [DataGrid] Add `height` prop for sizing without a wrapper (#23628) @michelengelen
- [DataGrid] Cap the pagination toolbar so the footer height is stable on mount (#23547) @JCQuintas
- [DataGrid] Document `rowsSet`, `filteredRowsSet` & `sortedRowsSet` events (#23631) @michelengelen
- [DataGrid] Extract the data source polling into a shared hook (#23714) @LukasTy
- [DataGrid] Fix `autosizeColumns` with wrapped header text (#23241) @siriwatknp
- [DataGrid] Fix flex column jump when a detail panel expands (#23576) @michelengelen
- [DataGrid] Fix stale columns and stalled loading in the demo data generator (#23727) @LukasTy
- [DataGrid] Fix stale rows and lost edits in `useMockServer` (#23751) @LukasTy
- [DataGrid] Fix the `height` prop overflowing a narrow flex row parent (#23745) @LukasTy
- [DataGrid] Fix the `inputRef` prop type warning in select-based filter inputs (#23728) @LukasTy
- [DataGrid] Keep empty first and last cells when copying rows (#23753) @Anexus5919
- [DataGrid] Keep pinned cells opaque without `color-mix()` support (#23563) @michelengelen
- [DataGrid] Let the theme disable the row checkbox ripple (#23703) @siriwatknp
- [DataGrid] Stop the data source polling after the grid unmounts (#23709) @LukasTy
- [DataGrid] Stop the lazy loading polling when `lazyLoading` turns off (#23717) @LukasTy
- [DataGrid] Support `href` on `GridActionsCellItem` (#23630) @michelengelen9.15.0
Same changes as in `@mui/x-data-grid@9.15.0`.9.15.0
Same changes as in `@mui/x-data-grid-pro@9.15.0`, plus:
- [DataGridPremium] Clear the aggregation from the column menu (#23641) @Anexus5919
- [DataGridPremium] Fix exports failing or hanging under a Content Security Policy (#23521) @JCQuintas
### Date and Time Pickers9.15.0
- [fields] Focus the section synchronously on `mousedown` (#23642) @michelengelen
- [pickers] Add `onCancel` callback prop (#23669) @michelengelen
- [pickers] Fix `TimeClock` `PageUp` and `PageDown` at noon (#23741) @kwy404
- [pickers] Fix `getDaysInMonth` on dates bound to a timezone before 1970 (#23302) @JCQuintas
- [pickers] Fix month label jump when switching months fast (#23645) @michelengelen
- [pickers] Fix singular/plural clock number ARIA labels (#23683) @michelengelen
- [pickers] Fix the uncontrolled `defaultValue` change warning (#23702) @LukasTy
- [pickers] Migrate picker hooks to the `manager` pattern (#23684) @michelengelen
- [pickers] Preserve plain Day.js values across system DST changes (#22278) @LukasTy9.15.0
Same changes as in `@mui/x-date-pickers@9.15.0`.
### Charts9.15.0
- [charts] Add Home/End, Ctrl+Home/End, and PageUp/PageDown keyboard navigation (#23146) @JCQuintas
- [charts] Disable the `SparkLineChart` axis listener when nothing uses it (#23681) @Anexus5919
- [charts] Fix `Unsupported style property @media` warning with responsive theme typography (#23705) @noraleonte
- [charts] Pass `SparkLineChart` container props to the data provider (#23690) @mixelburg9.15.0
Same changes as in `@mui/x-charts@9.15.0`, plus:
- [charts-pro] Fix image export under a CSP when styles come only from `<link>` stylesheets (#23721) @Anexus5919
- [charts-pro] Fix exports failing or hanging under a Content Security Policy (#23521) @JCQuintas9.15.0
Same changes as in `@mui/x-charts-pro@9.15.0`, plus:
- [charts-premium] Move the Excel export defaults out of the types file (#23643) @JCQuintas
### Tree View9.15.0
- [tree view] Use `aria-selected` instead of `aria-checked` when `checkboxSelection` is disabled (#23679) @michelengelen9.15.0
Same changes as in `@mui/x-tree-view@9.15.0`.
### Scheduler9.15.0
Internal changes.
### Docs
- [DataGrid] Make product comparisons more explicit on Overview page (#22696) @mapache-salvaje
- [tree view] Fix typo on Customization page (#23691) @davidjb
### Core
- [code-infra] Cap typecheck concurrency and remove `typescript:ci` (#23731) @Janpot
- [code-infra] Clear the demo data caches between regression routes (#23747) @Janpot
- [code-infra] Enable pnpm `autoDedupe` (#23706) @LukasTy
- [code-infra] Fix the stale `@types/node` entry in the lockfile (#23742) @LukasTy
- [code-infra] Mark the Argos reference branch for release branch cuts (#23776) @Janpot
- [code-infra] Only fake timers while a regression test case mounts (#23748) @Janpot
- [code-infra] Widen `@babel/runtime` range and stop emitting empty class fields (#23707) @brijeshb42
- [docs-infra] Migrate deploy-succeeded to event-triggered function (#23634) @brijeshb42
- [docs-infra] Retire the docs service worker (#23674) @Janpot
### Miscellaneous
- [ci] Flake-fix caller: follow mui-public's central model default (#23680) @Janpot
- [internals] Fix `hash` word indexing and buffer sizing (#23494) @romgrk
- [test] Fix regression flake when an aborted image errors mid-wait (#23708) @JCQuintas
- [test] Fix the flaky data grid export tests (#23720) @LukasTy
- [test] Fix the flaky detail panel flex width test on React 18 (#23710) @LukasTy
- [test] Load the regression fonts from npm instead of Google Fonts (#23775) @Janpot
- [test] Make regression screenshot rasterization deterministic (#23722) @LukasTy
- [test] Wait for the Mars texture before the `MarsMap` regression screenshot (#23730) @LukasTy
- [virtualizer] Do not affect `columnPositions` selector with unrelated state change (#23629) @arminmeh
- [x-internals] Import Base UI utils directly instead of re-exporting them (#23373) @romgrk
- [x-internals] Import the store from `@base-ui/utils` directly (#23335) @romgrk9.14.0
_Sep 17, 2026_
We'd like to extend a big thank you to the 16 contributors who made this release possible. Here are some highlights ✨:
- 🌍 Add Hebrew (he-IL) locale to the Scheduler
- 📅 Scheduler time grid now opens at 7 AM by default, configurable with the new `initialScrollTime` prop
- 🗓️ Auto-scheduling engine for finish-to-start dependencies in the Premium Event Timeline
- 🧩 New content slots for the Event Timeline event block and resource title cell
- ♿️ Charts announce the visible zoom range to screen readers
- 🐞 Bugfixes
- 📚 Documentation improvements
Special thanks go out to these community members for their valuable contributions:
@eterry1388, @jamesDin, @kareem-ib, @mateuseap, @mustafajw07
The following team members contributed to this release:
@arminmeh, @bernardobelchior, @brijeshb42, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @MBilalShafi, @michelengelen, @noraleonte, @rita-codes
### Data Grid9.14.0
- [DataGrid] Do not crash on unmount when the document has no body (#23431) @eterry1388
- [DataGrid] Fix `MissingRowIdError` on cell `mousedown`/`mouseup` after row removal (#23261) @kareem-ib
- [DataGrid] Fix quick filter dropping a pending search on parser identity change (#23575) @michelengelen
- [DataGrid] Keep overlays sticky in RTL mode (#23492) @arminmeh
- [DataGrid] Prevent scroll area state update before mount (#23478) @michelengelen
- [DataGrid] Remove `'menu'` role from the actions cell (#23437) @michelengelen9.14.0
Same changes as in `@mui/x-data-grid@9.14.0`, plus:
- [DataGridPro] Fix data integrity issue in nested server data (#23518) @MBilalShafi
- [DataGridPro] Keep parent selection when lazily loaded children arrive (#23421) @michelengelen9.14.0
Same changes as in `@mui/x-data-grid-pro@9.14.0`.
### Date and Time Pickers9.14.0
Internal changes.9.14.0
Same changes as in `@mui/x-date-pickers@9.14.0`.
### Charts9.14.0
- [charts] Announce the visible zoom range to screen readers (#23371) @JCQuintas
- [charts] Fix Premium chart zoom props and `apiRef` forwarding (#23590) @bernardobelchior9.14.0
Same changes as in `@mui/x-charts@9.14.0`.9.14.0
Same changes as in `@mui/x-charts-pro@9.14.0`, plus:
- [charts-premium] Add the Excel data extraction layer (#23569) @JCQuintas
- [charts-premium] Forward `apiRef` on `RadialBarChart` and `RadialLineChart` (#23625) @JCQuintas
### Tree View9.14.0
- [tree view] Optimize lazy loading store writes for nested children (#23489) @noraleonte
- [tree view] Prune stale children when replacing an item's children (#23598) @JCQuintas9.14.0
Same changes as in `@mui/x-tree-view@9.14.0`.
### Scheduler
#### Breaking changes
- The `dataSource` prop has been removed from the Community Event Calendar components:
`EventCalendar`, `StandaloneDayView`, `StandaloneWeekView`, `StandaloneMonthView`,
`StandaloneAgendaView`, `StandaloneCompactDayView`, `StandaloneCompactThreeDayView` and
`StandaloneCompactWeekView`.
Lazy loading has always been Premium-only, and the prop never had any effect on these
components: it left the calendar in a permanent loading state. To load events through a data
source, use `EventCalendarPremium` (or the Premium standalone views) and `EventTimelinePremium`,
where `dataSource` is unchanged.
```diff
-import { EventCalendar } from '@mui/x-scheduler/event-calendar';
+import { EventCalendarPremium } from '@mui/x-scheduler-premium/event-calendar-premium';
-<EventCalendar dataSource={dataSource} />
+<EventCalendarPremium dataSource={dataSource} />
```9.13.0
<!-- generated comparing v9.12.0..master -->
_Sep 4, 2026_
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 Grid9.13.0
- [DataGrid] Call `onValueChange` after `setEditCellValue` in edit cells (#23417) @michelengelen
- [DataGrid] Add support for replacing rows instead of merging updates (#23323) @jvskriubakken
- [DataGrid] Always render `rowHeader` in virtualized setups (#23386) @silviuaavram
- [DataGrid] Export `ToolbarRoot` (#23322) @JCQuintas
- [DataGrid] Fix `rowsPerPage` selector appearing when `autoPageSize` is enabled and `pageSize` is one of `pageSizeOptions` (#23401) @roychan1
- [DataGrid] Fix row tree reset when a data source grid becomes visible (#23288) @JCQuintas9.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 `disableDebounce` from reaching the DOM in multi select filter (#23445) @JCQuintas9.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 Pickers9.13.0
Internal changes.9.13.0
Same changes as in `@mui/x-date-pickers@9.13.0`.
### ChartsDale estos datos a tu agente de IA
Vigia es un servidor MCP gratuito: tu agente de programación verifica versiones, cambios incompatibles y vulnerabilidades antes de escribir código. Sin registro ni clave de API.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Agregar a CursorAgregar a VS Code★ Estrella en GitHub
Cualquier otro cliente MCP
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Skill para agentes (SKILL.md): le indica al agente cuándo usar Vigia · GitHub Action para pull requests
Preguntas frecuentes
¿Cuáles son los cambios incompatibles al actualizar @mui/x-data-grid-pro de 8 a 9?
Entre @mui/x-data-grid-pro 8.29.5 y 9.15.0, Vigia encontró 0 exports eliminados, 31 firmas modificadas y 5 miembros de clases o interfaces eliminados o modificados.
¿Qué quedó deprecado en @mui/x-data-grid-pro 9?
0 exports o miembros quedaron marcados como deprecados en @mui/x-data-grid-pro 9.15.0.
Para agentes
GET https://vigia.coredls.cloud/v1/packages/npm/@mui/x-data-grid-pro/upgrade?from=8.29.5&to=9.15.0