Releases: mui/mui-x
v5.0.0-beta.7
Nov 4, 2021
- 💅 Reduce styles specificity to make it simpler to override (#3012) @DanailH
- 🌍 Add Hebrew (heIL) locale (#3028) @ColdAtNight
- 📚 Documentation improvements
- 🐞 Bugfixes
@mui/x-data-grid@v5.0.0-beta.7
/ @mui/x-data-grid-pro@v5.0.0-beta.7
Breaking changes
-
[core] Prefix selectors from
useGridContainerProps
withunstable
(#3002) @flaviendelangleThe dimension API is being temporarily made private to allow to clean it in future minor releases. The current approach causes useless re-renders.
If you relay on any of these selectors, open an issue explaining the use case so that will be taken into account when refactoring them.The following selectors were prefixed by
unstable_
. Use the provided alternatives.gridContainerSizesSelector
was renamed tounstable_gridContainerSizesSelector
gridViewportSizesSelector
was renamed tounstable_gridViewportSizesSelector
gridScrollBarSizeSelector
was renamed tounstable_gridScrollBarSizeSelector
The following selectors were removed. You can hard-code their logic in your application if you really need them.
gridDataContainerSizesSelector
const dataContainerSizes = gridContainerSizesSelector(state)?.dataContainerSizes ?? null;
gridDataContainerHeightSelector
const dataContainerHeight = gridContainerSizesSelector(state)?.dataContainerSizes.height ?? null;
The selector
gridViewportSizeStateSelector
was a duplicate and has been removed, you can use the selectorunstable_gridViewportSizesSelector
instead.
Changes
- [DataGrid] Add Hebrew (heIL) locale (#3028) @ColdAtNight
- [DataGrid] Move virtualization logic to hook (#3079) @m4theushw
- [DataGrid] Revert year change in the MIT license (#3059) @oliviertassinari
- [DataGrid] Fix filtering of nullish numeric cells (#3070) @flaviendelangle
- [DataGrid] Improve performance when selecting 100k rows (#3077) @m4theushw
- [DataGrid] Fix
GridEditDateCell
to handle timezone correctly (#2918) @flaviendelangle - [DataGrid] Fix keyboard navigation on page > 0 (#3074) @flaviendelangle
- [DataGrid] Prevents bubbling in menu header (#3000) @alexfauquette
- [DataGrid] Fix wrong params provided to
cellModeChange
whensetCellMode
is called (#3025) @flaviendelangle
Core
- [core] Adapt
useDemoData
for Tree Data (#2978) @flaviendelangle - [core] Group update of MUI Core (#3055) @oliviertassinari
- [core] Ignore
*.tsbuildinfo
files (#3068) @m4theushw - [core] Implement tree-based row management (#2996) @flaviendelangle
- [core] Invert Codesandbox examples on README (#3073) @flaviendelangle
- [core] Prefix selectors from
useGridContainerProps
withunsafe
(#3002) @flaviendelangle - [core] Reduce
setGridState
andapplyFilters
call when updatingfilterModel
(#3023) @flaviendelangle - [core] Reduce styles complexity (#3012) @DanailH
- [core] Upgrade monorepo (#3067) @m4theushw
- [core] Use official MUI repo as monorepo (#3084) @m4theushw
- [test] Retry each expect until success (#3027) @m4theushw
- [core] Adapt changelog script to new GitHub DOM (#3087) @alexfauquette
Docs
- [docs] Explain how to use
valueGetter
to transform type (#3003) @alexfauquette - [docs] Fix the outdated demo of the docs (#3058) @oliviertassinari
- [docs] Fix inline previews (#3081) @DanailH
v4.0.2
Nov 1, 2021
This version backports bug fixes and some of the features from the v5.x active release line.
As the development of v5 evolves, newer fixes might not be cherry-picked to the legacy version.
To have access to the latest features it is encouraged to upgrade to MUI X v5.
Upgrading MUI Core to v5 is also recommended, however, v4 can still be used by following these instructions.
Big thanks to the 3 contributors who made this release possible. Here are some highlights ✨:
- ⚡️ Stop drag event propagation (#2987) @chendoron
- 🐞 Prevent scroll when selecting rows (#2999) @m4theushw
@mui/x-data-grid@v4.0.2
/ @mui/x-data-grid-pro@v4.0.2
Changes
- [DataGrid] Prevent scroll when selecting rows (#2999) @m4theushw
- [DataGridPro] Stop drag event propagation (#2987) @chendoron
Core
- [core] Update deploy docs target for v4 (#2808) @oliviertassinari
v5.0.0-beta.6
Oct 29, 2021
A big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
- ✨ Allow
valueOptions
fromGridColDef
to accept a function (#2850) @alexfauquette - 💅 Prefix undocumented
apiRef
methods withunsafe_
(#2985) @flaviendelangle - 👁 Unify filtering, sorting, and rows selectors names (#2942) @flaviendelangle
- 💡 Support style overrides added in the theme (#2995) @DanailH
- 📚 Documentation improvements
- 🐞 Bugfixes
@mui/x-data-grid@v5.0.0-beta.6
/ @mui/x-data-grid-pro@v5.0.0-beta.6
Breaking changes
-
[DataGridPro] The following methods from
apiRef
were renamed. Use the provided alternatives. (#2870) @flaviendelangleapiRef.current.applyFilters
was renamed toapiRef.current.unsafe_applyFilters
apiRef.current.applyFilterLinkOperator
was renamed toapiRef.current.setFilterLinkOperator
apiRef.current.upsertFilter
was renamed toapiRef.current.upsertFilterItem
apiRef.current.deleteFilter
was renamed toapiRef.current.deleteFilterItem
-
[DataGridPro] The
apiRef.current.applyFilter
method was removed. (#2870) @flaviendelangle
You should never have to call it directly since the filters are already applied when thefilterModel
prop changes.
To manually apply the filters, useapiRef.current.unsafe_applyFilters
.-apiRef.current.applyFilter +apiRef.current.unsafe_applyFilters
-
[DataGridPro] Rename filtering, sorting, and rows selectors to match the naming convention (#2942) @flaviendelangle
unorderedGridRowIdsSelector
was renamed togridRowIdsSelector
sortingGridStateSelector
was renamed togridSortingStateSelector
sortedGridRowIdsSelector
was renamed togridSortedRowIdsSelector
visibleSortedGridRowIdsSelector
was renamed togridVisibleSortedRowIdsSelector
visibleGridRowCountSelector
was renamed togridVisibleRowCountSelector
filterGridColumnLookupSelector
was renamed togridFilterActiveItemsSelector
-
[DataGridPro] The
sortedGridRowsSelector
was renamed togridSortedRowEntriesSelector
(#2942) @flaviendelangleThe return value was also changed as below:
-sortedGridRowsSelector: (state: GridState) => Map<GridRowId, GridRowModel> -const map = sortedGridRowsSelector(state); +gridSortedRowEntriesSelector: (state: GridState) => GridRowEntry[] +const map = new Map(gridSortedRowEntriesSelector(state).map(row => [row.id, row.model]));
-
[DataGridPro] The
visibleSortedGridRowsSelector
was replaced withgridVisibleSortedRowEntriesSelector
(#2942) @flaviendelangleThe return value was also changed as below:
-visibleSortedGridRowsSelector: (state: GridState) => Map<GridRowId, GridRowModel>; -const map = visibleSortedGridRowsSelector(state); +gridVisibleSortedRowEntriesSelector: (state: GridState) => GridRowEntry[] +const map = new Map(gridVisibleSortedRowEntriesSelector(state).map(row => [row.id, row.model]));
-
[DataGridPro] The
visibleSortedGridRowsAsArraySelector
was replaced withgridVisibleSortedRowEntriesSelector
(#2942) @flaviendelangleThe return value was also changed as below:
-visibleSortedGridRowsAsArraySelector: (state: GridState) => [GridRowId, GridRowData][]; +gridVisibleSortedRowEntriesSelector: (state: GridState) => GridRowEntry[]
-
[DataGridPro] The
filterGridItemsCounterSelector
selector was removed. (#2942) @flaviendelangle
UsegridFilterActiveItemsSelector
as replacement.-const filterCount = filterGridItemsCounterSelector(state); +const filterCount = gridFilterActiveItemsSelector(state).length;
-
[DataGridPro] The
unorderedGridRowModelsSelector
selector was removed. (#2942) @flaviendelangle
UseapiRef.current.getRowModels
orgridRowIdsSelector
andgridRowsLookupSelector
.
Changes
- [DataGrid] Allow
valueOptions
to accept a function (#2850) @alexfauquette - [DataGrid] Add
overridesResolver
(#2995) @DanailH - [DataGrid] Unify filtering, sorting, and rows selectors names (#2942) @flaviendelangle
- [DataGridPro] Prefix undocumented
apiRef
methods withunsafe_
(#2985) @flaviendelangle
Docs
- [docs] Explain how to use MUI X v5 with MUI Core v4 (#2846) @m4theushw
- [docs] Generate docs for components (#2465) @m4theushw
- [docs] Improve
scrollEndThreshold
API docs (#3001) @ZeeshanTamboli - [docs] Fix CodeSandbox and feature request templates (#2986) @flaviendelangle
Core
- [core] Add step for announcing the releases on Twitter (#2997) @DanailH
- [core] Apply all filters to a row before moving to the next one (#2870) @flaviendelangle
- [core] Change monorepo repository URL (#2983) @m4theushw
- [core] Clean Storybook examples (#2805) @flaviendelangle
- [core] Generate list of all grid exports (#2801) @flaviendelangle
- [core] Improve typing of
buildApi.ts
(#2922) @flaviendelangle - [core] Add additional test for
checkboxSelection
toggling (#2979) @flaviendelangle - [test] Fix flaky visual regression test (#2981) @m4theushw
v5.0.0-beta.5
Oct 22, 2021
A big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
- 💅 Remove dependency on
@mui/styles
and use the same styling solution from MUI Core (#2784) @DanailH - ✨ Add support for generics in
GridRowParams
,GridCellParams
andGridRenderCellParams
(#2436) @ZeeshanTamboli - 👁 Rework the virtualization engine (#2673) @m4theushw
- 💡 Enhance internal code structure
- 🐞 Bugfixes
@mui/x-data-grid@v5.0.0-beta.5
/ @mui/x-data-grid-pro@v5.0.0-beta.5
Breaking changes
-
The
DataGrid
andDataGridPro
no longer depends on@mui/styles
. Usestyled
to provide custom styling. (#2784) @DanailH-import { createTheme } from '@mui/material/styles'; -import { makeStyles } from '@mui/styles'; +import { styled } from '@mui/material/styles';
The following CSS classes were renamed:
.MuiDataGrid-gridMenuList
was renamed to.MuiDataGrid-menuList
.MuiGridToolbarContainer-root
was renamed to.MuiDataGrid-toolbarContainer
.MuiGridMenu-root
was renamed to.MuiDataGrid-menu
.MuiDataGridColumnsPanel-root
was renamed to.MuiDataGrid-columnsPanel
.MuiGridPanel-root
was renamed to.MuiDataGrid-panel
.MuiGridPanelContent-root
was renamed to.MuiDataGrid-panelContent
.MuiGridPanelFooter-root
was renamed to.MuiDataGrid-panelFooter
.MuiDataGridPanelHeader-root
was renamed to.MuiDataGrid-panelHeader
.MuiGridPanelWrapper-root
was renamed to.MuiDataGrid-panelWrapper
.MuiGridFilterForm-root
was renamed to.MuiDataGrid-filterForm
.MuiGridToolbarFilterButton-root
was renamed to.MuiDataGrid-toolbarFilterList
-
[DataGrid] The CSS classes
.MuiDataGrid-window
and.MuiDataGrid-windowContainer
were removed (#2673) @m4theushwThe following CSS classes were renamed:
.MuiDataGrid-viewport
was renamed to.MuiDataGrid-virtualScroller
.MuiDataGrid-dataContainer
was renamed to.MuiDataGrid-virtualScrollerContent
.MuiDataGrid-renderingZone
was renamed to.MuiDataGrid-virtualScrollerRenderZone
-
[DataGrid] Remove the
useGridSlotComponentProps
hook and replace it as below: (#2856) @flaviendelangle-const { apiRef, state, rootElement } = useGridSlotComponentProps(); +const apiRef = useGridApiContext(); +const [state] = useGridState(apiRef); +const rootElement = apiRef.current.rootElementRef;
-
[DataGrid] Remove the
state
prop and use theinitialState
prop (#2848) @flaviendelangleNote that
initialState
only allows thepreferencePanel
,filter.filterModel
andsort.sortModel
keys.
To fully control the state, use the the feature's model prop and change callback (e.g.filterModel
andonFilterModelChange
).<DataGrid - state={{ + initialState={{ preferencePanel: { open: true, openedPanelValue: GridPreferencePanelsValue.filters, }, }} />
-
[DataGridPro] Remove the
onViewportRowsChange
prop and theviewportRowsChange
event (#2673) @m4theushwA listener on the
rowsScroll
event, as shown below, can be used to replace the prop:const apiRef = useGridApiRef(); const prevRenderContext = React.useRef(null); React.useEffect(() => { return apiRef.current.subscribeEvent("rowsScroll", ({ renderContext }) => { if ( !prevRenderContext.current || renderContext.firstRowIdx !== prevRenderContext.current.firstRowIndex || renderContext.lastRowIdx !== prevRenderContext.current.lastRowIndex ) { prevRenderContext.current = renderContext; const params = { firstRowIndex: renderContext.firstRowIndex, lastRowIndex: renderContext.lastRowIndex }; } }); }, [apiRef]); <DataGridPro apiRef={apiRef} />
Changes
- [DataGrid] Add
valueSetter
(#2876) @m4theushw - [DataGrid] Add support for generic types in
GridRowParams
,GridCellParams
,GridRenderCellParams
(#2436) @ZeeshanTamboli - [DataGrid] Fix
actions
column type to not select the row when clicking on an item (#2862) @m4theushw - [DataGrid] Fix column headers misalignment when the render context changes (#2937) @m4theushw
- [DataGrid] Rework virtualization (#2673) @m4theushw
- [DataGrid] Remove
@mui/styles
dependency (#2784) @DanailH - [DataGrid] Remove
useGridSlotComponentProps
(#2856) @flaviendelangle - [DataGrid] Replace
prop.state
withprop.initialState
(#2848) @flaviendelangle - [DataGrid] Use true content height to dispatch
rowsScrollEnd
(#2938) @m4theushw - [DataGrid] Fix the typing of
GridToolbarFilterButton
(#2841) @alexfauquette
Docs
- [docs] Improve the README for releases (#2908) @flaviendelangle
- [docs] Re-add Pro icon (#2928) @m4theushw
- [docs] Fix to not commit changes when clicking outside the cell (#2906) @ZeeshanTamboli
- [docs] Update link to Quick Filter issue (#2909) @m4theushw
Core
- [core] Small fixes on the Components page (#2877) @flaviendelangle
- [core] Make each feature hook responsible for its column pre-processing (#2839) @flaviendelangle
- [core] Add
useGridRowGroupsPreProcessing
internal hook (#2840) @flaviendelangle - [core] Register events async if not registered (#2916) @m4theushw
- [core] Remove
material-ui-utils.ts
(#2872) @DanailH - [core] Remove outdated hooks requirements (#2939) @flaviendelangle
- [core] Remove test event (#2912) @m4theushw
- [core] Remove unused
GridSlotComponentProps
interface (#2911) @flaviendelangle - [core] Rename 'UNSTABLE_' prefix to 'unstable_' (#2931) @flaviendelangle
- [core] Replace usage of
GridRowData
withGridRowModel
(#2936) @flaviendelangle - [core] Revert hardcoded typings (#2907) @DanailH
- [core] Simplify the CSV export (#2941) @flaviendelangle
- [core] Update monorepo version (#2927) @m4theushw
- [test] Take screenshot of the print export (#2881) @m4theushw
v5.0.0-beta.4
Oct 14, 2021
A big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
-
🎁 Add the ability to print the grid (#2519) @DanailH
This new feature adds a button to the toolbar to generate a printer-friendly layout. Check the documentation about it.
-
💡 Enhance internal code structure
-
✨ New slots for
row
andcell
(#2753) @m4theushw -
📚 Documentation improvements
-
🐞 Bugfixes
@mui/x-data-grid@v5.0.0-beta.4
/ @mui/x-data-grid-pro@v5.0.0-beta.4
Breaking changes
-
[DataGrid] Remove unused event listeners and redundant DOM attributes on
GridCell
andGridRow
(#2810) @m4theushwThe following props were removed. If you depend on them, use
componentsProps.row
andcomponentsProps.cell
to pass custom props to the row or cell.onCellBlur
onCellOver
onCellOut
onCellEnter
onCellLeave
onRowOver
onRowOut
onRowEnter
onRowLeave
For more information, check this page. Example:
-<DataGrid onRowOver={handleRowOver} />; +<DataGrid + componentsProps={{ + row: { onMouseOver: handleRowOver }, + }} +/>;
The
data-rowindex
anddata-rowselected
attributes were removed from the cell element. Equivalent attributes can be found in the row element.The
data-editable
attribute was removed from the cell element. Use the.MuiDataGrid-cell--editable
CSS class.The
data-mode
attribute was removed from the cell element. Use the.MuiDataGrid-cell--editing
CSS class. -
[DataGrid] The
state.filter
andstate.visibleRows
were merged into a singlestate.filter
sub-state (#2782) @flaviendelangleTo still access this information, use
state.filter
or the selectors as below:-const filterModel = state.filter -const filterModel = gridFilterStateSelector(state) +const filterModel = state.filter.filterModel +const filterModel = gridFilterModelSelector(state) // preferred method -const visibleRowsLookup = state.visibleRows.visibleRowsLookup -const visibleRowsLookup = visibleGridRowsStateSelector(state).visibleRowsLookup +const visibleRowsLookup = state.filter.visibleRowsLookup +const visibleRowsLookup = gridVisibleRowsLookupSelector(state).visibleRowsLookup // preferred method -const visibleRows = state.visibleRows.visibleRows +const visibleRows = state.filter.visibleRows +const visibleRows = gridVisibleRowsLookupSelector(state).visibleRows // preferred method
-
[DataGrid] The CSS classes constants are not exported anymore. Use
gridClasses
instead. (#2788) @flaviendelangle-const columnHeaderClass = GRID_COLUMN_HEADER_CSS_CLASS +const columnHeaderClass = gridClasses.columnHeader -const rowClass = GRID_ROW_CSS_CLASS +const rowClass = gridClasses.row -const cellClass = GRID_CELL_CSS_CLASS +const cellClass = gridClasses.cell -const columnSeparatorClass = GRID_COLUMN_HEADER_SEPARATOR_RESIZABLE_CSS_CLASS +const columnSeparatorClass = gridClasses['columnSeparator--resizable'] -const columnHeaderTitleClass = GRID_COLUMN_HEADER_TITLE_CSS_CLASS +const columnHeaderTitleClass = gridClasses.columnHeaderTitle -const columnHeaderDropZoneClass = GRID_COLUMN_HEADER_DROP_ZONE_CSS_CLASS +const columnHeaderDropZoneClass = gridClasses.columnHeaderDropZone -const columnHeaderDraggingClass = GRID_COLUMN_HEADER_DRAGGING_CSS_CLASS +const columnHeaderDraggingClass = gridClasses["columnHeader--dragging"]
-
[DataGrid] Rename
gridCheckboxSelectionColDef
toGRID_CHECKBOX_SELECTION_COL_DEF
(#2793) @flaviendelangle- gridCheckboxSelectionColDef + GRID_CHECKBOX_SELECTION_COL_DEF
-
[DataGrid] The constants referring to the column types were removed (#2791) @flaviendelangle
Replace them as below:-const isColumnString = column.type === GRID_STRING_COLUMN_TYPE; +const isColumnString = col.type === 'string'; -const isColumnNumber = col.type === GRID_NUMBER_COLUMN_TYPE; +const isColumnNumber = col.type === 'number'; -const isColumnDate = col.type === GRID_DATE_COLUMN_TYPE; +const isColumnDate = col.type === 'date'; -const isColumnDateTime = col.type === GRID_DATETIME_COLUMN_TYPE; +const isColumnDateTime = col.type === 'dateTime'; -const isColumnBoolean = col.type === GRID_BOOLEAN_COLUMN_TYPE; +const isColumnBoolean = col.type === 'boolean';
-
[DataGrid] The state initializers were removed (#2782) @flaviendelangle
Use
getDefaultGridFilterModel
instead ofgetInitialGridFilterState
:-const [filterModel, setFilterModel] = React.useState(getInitialGridFilterState); +const [filterModel, setFilterModel] = React.useState(getDefaultGridFilterModel);
For the other methods, you can hardcode the value you want to apply:
-const [sortModel, setSortModel] = React.useState(() => getInitialGridSortingState().sortModel); +const [sortModel, setSortModel] React.useState([]); -getInitialGridColumnReorderState -getInitialGridColumnResizeState -getInitialGridColumnsState -getInitialGridRenderingState -getInitialGridRowState -getInitialGridState -getInitialVisibleGridRowsState -getInitialGridState
Changes
- [DataGrid] Add
row
andcell
component slots (#2753) @m4theushw - [DataGrid] Rename
gridCheckboxSelectionColDef
toGRID_CHECKBOX_SELECTION_COL_DEF
(#2793) @flaviendelangle - [DataGrid] Clean hook folder structure and stop exporting internal hooks (#2789) @flaviendelangle
- [DataGrid] Add support for Print export (#2519) @DanailH
- [DataGrid] Remove internal localization and column type constant exports (#2791) @flaviendelangle
- [DataGrid] Remove
GridRowCells
component (#2811) @m4theushw - [DataGrid] Remove class constants exports (#2788) @flaviendelangle
- [DataGrid] Remove unused event listeners on
GridCell
andGridRow
(#2810) @m4theushw - [DataGrid] Fix the header selection checkbox to work with
prop.checkboxSelectionVisibleOnly
(#2781) @flaviendelangle
Docs
- [docs] Add link to installation page (#2778) @MostafaKMilly
- [docs] Add redirect from docs home page to
DataGrid
home page (#2737) @flaviendelangle - [docs] Fix JSX closing tag in
getActions
example (#2847) @dstarner - [docs] Fix pagination in Ant Design demo (#2787) @ZeeshanTamboli
- [docs] Update the
page
prop docs (#2812) @m4theushw
Core
- [core] Update hooks to initialize their state synchronously (#2782) @flaviendelangle
- [core] Fix rollup external warnings (#2736) @eps1lon
v5.0.0-beta.3
Oct 7, 2021
A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
- 🌎 Add Persian (faIR) locale (#2712) @devlifeX
- 🎁 Allow selecting a range of rows with Shift + click (#2456) @flaviendelangle
- 🚀 Allow to throttle the row updates with the
throttleRowsMs
prop onDataGridPro
and remove the default 100ms row update delay (#2561) @flaviendelangle - 💡 Enhance internal code structure
- 📚 Documentation improvements
- 🐞 Bugfixes
@mui/x-data-grid@v5.0.0-beta.3
/ @mui/x-data-grid-pro@v5.0.0-beta.3
Breaking changes
-
[DataGrid] Rename some selectors and interfaces to follow the codebase naming conventions (#2723) @flaviendelangle
The following selectors were renamed:
-const filterModel = filterGridStateSelector(state); +const filterModel = gridFilterModelSelector(state);
-const density: GridGridDensity = densitySelector(state); +const density: GridDensityState = gridDensitySelector(state);
-const rendering: InternalRenderingState = gridRenderingSelector(state); +const rendering: GridRenderingState = gridRenderingSelector(state);
Changes
- [DataGrid] Add Persian (faIR) locale (#2712) @devlifeX
- [DataGrid] Allow to select range of rows using Shift + click (#2456) @flaviendelangle
- [DataGrid] Fix numeric column filter to not run when value is empty (#2780) @m4theushw
- [DataGrid] Export
singleSelect
operators (#2666) @jeremyalan - [DataGrid] Fix Italian localization (#2717) @destegabry
- [DataGrid] Fix
undefined
in filter panel (#2715) @DanailH - [DataGrid] Fix the fade-out transition of the
GridMenu
(#2734) @flaviendelangle - [DataGrid] Pass row
id
tovalueFormatter
(#2738) @m4theushw - [DataGrid] Fix
onSortModelChange
to not be called during initialization (#2724) @flaviendelangle - [DataGridPro] Stop drag event propagation (#2802) @DanailH
- [DataGridPro] Fix keyboard navigation to work with filtered rows (#2800) @flaviendelangle
Docs
- [docs] Add missing fonts (#2745) @m4theushw
- [docs] Add page for scrolling API (#2634) @m4theushw
- [docs] Add type to
onChange
event argument (#2669) @jayariglesias - [docs] Add explanation about the
id
usage in multiple filters in DataGridPro (#2783) @ZeeshanTamboli - [docs] Fix demo throwing error (#2719) @m4theushw
- [docs] Fix index and improve playground page (#2755) @oliviertassinari
Core
- [core] Add benchmark script (#2683) @m4theushw
- [core] Clean error messages prefix (#2676) @flaviendelangle
- [core] Do not regenerate columns of
useDemoData
on each render (#2747) @flaviendelangle - [core] Don't run benchmark on cached files (#2786) @m4theushw
- [core] Drop localization v4 format (#2792) @flaviendelangle
- [core] Remove useless state update in
useGridColumnMenu
(#2722) @flaviendelangle - [core] Remove v4 conditional code (#2575) @flaviendelangle
- [core] Rework
useGridRows
high frequency update (#2561) @flaviendelangle - [core] Set up
eps1lon/actions-label-merge-conflict
action (#2751) @m4theushw - [core] Stop using selectors for Pro features on React components (#2716) @flaviendelangle
v4.0.1
Sep 29, 2021
This version backports bug fixes and some of the features from the v5.x active release line.
As the development of v5 evolves, newer fixes might not be cherry-picked to the legacy version.
To have access to the latest features it is encouraged to upgrade to MUI X v5 and MUI Core v5.
Big thanks to the 3 contributors who made this release possible. Here are some highlights ✨:
- 👁 Allow to disable virtualization with the
disableVirtualization
prop (#2728) @m4theushw - 🕹 Fix navigation between column headers with rows filtered (#2730) @m4theushw
- 🐞 Fix numeric filter operators not handling '0' correctly (#2732) @flaviendelangle
@mui/x-data-grid@v4.0.1
/ @mui/x-data-grid-pro@v4.0.1
Changes
- [DataGrid] Add
disableVirtualization
prop (#2728) @m4theushw - [DataGrid] Fix navigation between column headers with rows filtered (#2730) @m4theushw
- [DataGrid] Fix numeric filter operators not handling '0' correctly (#2732) @flaviendelangle
- [DataGridPro] Only apply
checkboxSelectionVisibleOnly
when pagination is enabled (#2731) @flaviendelangle
Docs
- [docs] Improve SEO ranking (#2467) @oliviertassinari
Core
- [core] Allow to create one logger per Grid instance (#2442) @flaviendelangle
- [core] Update monorepo (#2726) @m4theushw
v5.0.0-beta.2
Sep 24, 2021
A big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
- 🇻🇳 Add Vietnamese (viVN) locale (#2668) @tuananh281098
- 🇵🇱 Improve Polish (plPL) locale (#2632) @michallukowski
- ⚡️ Apply the
valueFormatter
to thesingleSelect
column type (#2581) @DanailH
@mui/x-data-grid@v5.0.0-beta.2
/ @mui/x-data-grid-pro@v5.0.0-beta.2
Breaking changes
-
[DataGrid] The params passed to the
valueFormatter
were changed. (#2581) @DanailHUse the
api
to get the missing params.
TheGridValueFormatterParams
interface has the following signature now:-export type GridValueFormatterParams = Omit<GridRenderCellParams, 'formattedValue' | 'isEditable'>; +export interface GridValueFormatterParams { + /** + * The column field of the cell that triggered the event + */ + field: string; + /** + * The cell value, but if the column has valueGetter, use getValue. + */ + value: GridCellValue; + /** + * GridApi that let you manipulate the grid. + */ + api: any; +}
Changes
- [DataGrid] Add Vietnamese (viVN) locale (#2668) @tuananh281098
- [DataGrid] Apply the
valueFormatter
tosingleSelect
select options (#2581) @DanailH - [DataGrid] Free up column header space when icons are not visible (#2606) @DanailH
- [DataGrid] Improve Polish (plPL) locale (#2632) @michallukowski
Docs
- [docs] Add section for controlled selection and server-side pagination (#2602) @DanailH
- [docs] Fix Algolia search (#2655) @oliviertassinari
- [docs] Improve the seach results relevance (#2656) @oliviertassinari
- [docs] Update installation instructions (#2663) @m4theushw
Core
- [core] Upgrade JSS plugins to 10.8.0 (#2667) @m4theushw
v5.0.0-beta.1
Sep 17, 2021
A big thanks to the 3 contributors who made this release possible.
@mui/x-data-grid@v5.0.0-beta.1
/ @mui/x-data-grid-pro@v5.0.0-beta.1
Docs
- [docs] Explain how to use theme augmentation (#2582) @ZeeshanTamboli
- [docs] Fix formatting (#2626) @m4theushw
- [docs] Include packages from next tag (#2628) @m4theushw
Core
- [core] Copy bin folder when building the libraries (#2627) @flaviendelangle
- [core] Remove prop-types during build (#2586) @m4theushw
v5.0.0-beta.0
Sep 17, 2021
🎉 This is the first release with support for the new MUI v5 🎉!
In the next releases, we will be working to bring all the cool features from MUI v5 to the advanced components.
This beta version of MUI X drops support for MUI v4. We encourage everyone to upgrade to MUI v5 to be able to continue to get all the upcoming features and fixes of MUI X. New versions of MUI X v4, containing only fixes, will still be released, but at a slower pace.
A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
-
⚡ Migrate to the new
@mui/material
and@mui/styles
packages and drop support for@material-ui/core
(#2515, #2571, #2620) @m4theushw -
📚 Migrate to the new documentation infrastructure and design (#2441) (@DanailH, @m4theushw)
-
🎁 Add
actions
column type (#2385) @m4theushwSee the documentation for more details.
-
👁 Allow to disable virtualization with the
disableVirtualization
prop (#2326) @m4theushw -
🚀 Introduce the new
isRowSelected
api method (#2523) @flaviendelangle -
🕹️ Show page size controls on smaller resolutions (#2461) @michaldudak
-
🌎 Add Simplified Chinese (zhCN) localization (#2431) @wlf100220
-
🐞 Bugfixes
@mui/x-data-grid@v5.0.0-beta.0
/ @mui/x-data-grid-pro@v5.0.0-beta.0
Breaking changes
-
[DataGridPro] Remove
apiRef.current.getState
method.-const state = apiRef.current.getState(); +const state = apiRef.current.state
-
[DataGridPro] The third argument in
apiRef.current.selectRow
is now inverted to keep consistency with other selection APIs. (#2523) @flaviendelangle-selectRow: (id: GridRowId, isSelected?: boolean, allowMultiple?: boolean = false) => void; +selectRow: (id: GridRowId, isSelected?: boolean, resetSelection?: boolean = false) => void;
-
[DataGrid] Remove the
options
prop from the return ofuseGridSlotComponentProps
.-const { options } = useGridSlotComponentProps(); +const rootProps = useGridRootProps();
-
[DataGrid] The module augmentation is not enabled by default. This change was done to prevent conflicts with projects using
DataGrid
andDataGridPro
together.In order to still be able to do overrides at the theme level, add the following imports to your project:
+import type {} from '@mui/x-data-grid/themeAugmentation'; +import type {} from '@mui/x-data-grid-pro/themeAugmentation';
Changes
- [DataGridPro] Only apply
checkboxSelectionVisibleOnly
when pagination is enabled (#2443) @flaviendelangle - [DataGridPro] Remove
apiRef.current.getState
method (#2579) @flaviendelangle - [DataGrid] Add
disableVirtualization
prop (#2326) @m4theushw - [DataGrid] Add missing exports from param models (#2448) @flaviendelangle
- [DataGrid] Add missing keys to the
classes
prop (#2458) @m4theushw - [DataGrid] Add
actions
column type (#2385) @m4theushw - [DataGrid] Add zhCN localization (#2431) @wlf100220
- [DataGrid] Add koKR localization (#2446) @zzossig
- [DataGrid] Clean the selection public API (#2523) @flaviendelangle
- [DataGrid] Do not call
useGridColumnResize
anduseGridInfiniteLoader
(#2580) @flaviendelangle - [DataGrid] Do not show right border of last column header when its cells don't have it (#2444) @flaviendelangle
- [DataGrid] Don't consider unselectable rows when
selectionModel
is used (#2464) @m4theushw - [DataGrid] Drop v4 support (#2515) @m4theushw
- [DataGrid] Export
useGridRootProps
(#2621) @flaviendelangle - [DataGrid] Fire
columnOrderChange
event after state update (#2451) @flaviendelangle - [DataGrid] Fix TypeScript type error for toolbar components (#2393) @ZeeshanTamboli
- [DataGrid] Fix navigation between column headers with rows filtered (#2440) @m4theushw
- [DataGrid] Force
scrollEndThreshold
to undefined (#2574) @flaviendelangle - [DataGrid] Improve jaJP localization (#2502) @daikiojm
- [DataGrid] Make
hideFooterRowCount
prop available only for DataGridPro (#2564) @ZeeshanTamboli - [DataGrid] Fix a bug where pressing Escape was not closing the
GridColumnHeaderMenu
(#2463) @DanailH - [DataGrid] Prevent scroll when selecting rows (#2558) @m4theushw
- [DataGrid] Reduce specificity of
GridToolbarContainer
styles (#2462) @michaldudak - [DataGrid] Remove import to
@material-ui/icons
(#2576) @m4theushw - [DataGrid] Show page size controls on smaller resolutions (#2461) @michaldudak
- [DataGrid] Vertically align column header icons (#2555) @oliviertassinari
- [DataGrid] Fix numeric filter operators not handling '0' correctly (#2528) @flaviendelangle
Docs
- [docs] Clarify confusion between licenses (#2525) @oliviertassinari
- [docs] Fix JSDoc comments (#2452) @m4theushw
- [docs] Fix event argument in onXXX props (#2391) @m4theushw
- [docs] Improve SEO ranking (#2467) @oliviertassinari
- [docs] Replace 'paging' with 'pagination' (#2459) @michaldudak
- [docs] Use same infrastructure from v5 (#2441) @DanailH
Core
- [core] Add typing to the details argument (#2512) @flaviendelangle
- [core] Allow to create one logger per Grid instance (#2529) @flaviendelangle
- [core] Clean
GridSimpleOptions
interface (#2578) @flaviendelangle - [core] Fix PR detection mechanism for upstream PRs @oliviertassinari
- [core] Generate propTypes (#2395) @m4theushw
- [core] Improve the feedback loop from developers (#2468) @oliviertassinari
- [core] List the requirement of each hook (#2319) @flaviendelangle
- [core] Only create one
GridEventEmitter
per Grid (#2504) @flaviendelangle - [core] Only run Prettier on files different from
next
instead ofmaster
(#2566) @flaviendelangle - [core] Polish issue template (#2503) @oliviertassinari
- [core] Prepare
x-grid-data-generator
for noImplicitAny (#2505) @flaviendelangle - [core] Provide theme augmentation as separate module (#2520) @m4theushw
- [core] Publish
GridEvents.rowsSet
when the rows state is modified afterprops.rows
is updated (#2530) @flaviendelangle - [core] Remove
state.isScrolling
(#2337) @m4theushw - [core] Remove useless apiRef optional chaining or non-null assertions (#2455) @flaviendelangle
- [core] Replace remaining
@material-ui
usages (#2577) @m4theushw - [core] Replace the options with direct prop reads (#2433) @flaviendelangle
- [core] Skip update on initial render (#2344) @oliviertassinari
- [core] Small changes (#2607, #2511) @flaviendelangle
- [core] Support for
@mui
packages (#2571) @m4theushw - [core] Synchronously subscribe to events in
useGridApiEventHandler
(#2557) @flaviendelangle - [core] Update
.browserslistrc
file (#2384) @DanailH - [core] Update monorepo version and copy assets (#2603) @m4theushw
- [core] Update outdated hook requirements (#2526) @flaviendelangle
- [test] Clean selection tests (#2457) @flaviendelangle
- [test] Disable browserstack for PRs (#2531) @flaviendelangle