MRT logoMaterial React Table

Legacy V1 Docs
On This Page


    Version 1 Roadmap (2022-2023)

    As of June 2023, most feature development is complete for MRT Version 1. MRT Version 2 is actively being developed. Some V1 bugs may still get fixed.

    Version 2 Roadmap (July 2023)


    Version 1

    v1.15.1 (2023-10-15) - V2 Backported fixes

    • Replaced "Unsorted" tooltip on header sort icon buttons with sort by next sort direction tooltip

    • Fixed accessorFn being called during loading and other undefined data states during loading

    • Fixed some button tooltips titles were not overridable

    • Fixed virtualized nested column header groups to not crash

    • Upgraded to latest TanStack Table v8.10.7 various performance improvements and bug fixes

    • Upgraded to latest TanStack Virtual v3.0.0-beta.65 for various bug fixes

    v1.15.0 (2023-09-25) - TanStack version bumps

    • Upgraded to latest TanStack Table v8.10.3 various performance improvements and bug fixes

    • Upgraded to latest TanStack Virtual v3.0.0-beta.60 for various bug fixes

    v1.14.0 (2023-06-17) - The Custom Column Actions Update

    • Added no translations that can be imported from 'material-react-table/locales/no'

    • Added new internalColumnMenuItems param in the renderColumnActionsMenuItems prop/column option for rendering custom column actions menu items

    • Fixed renderColumnActionsMenuItems prop not replacing all default column actions menu items

    • Fixed "Clear Filter" menu item not being disabled when no filter is applied for range filters

    • Fixed issues with faceted values not being re-calculated when data changes in filter components

    v1.13.1 (2023-06-15)

    • Fixed issue with getFacetedMinMaxValues sometimes returning the wrong data type for the min/max values for range-slider filters

    v1.13.0 (2023-06-14) - The Faceted Values Update

    • Added new 'range-slider' filter variant using the MUI Slider component

    • Added the enableFacetedValues prop to allow for generating faceted values from the data under the hood

    • Small performance improvements by only using certain row models under the hood when certain features are enabled (e.g. no getSortedRowModel() when sorting is disabled)

    v1.12.1 (2023-06-12)

    • Fixed new Next.js key prop warning in console

    • Upgraded to latest TanStack Table v8.9.2

    v1.12.0 (2023-05-29) - The Comply with Rollup Update

    • Added MaterialReactTable as a named export and gave a deprecation warning for the default export (will still work but will be removed in v2). This was done in order to comply with rollup bundling best practices.

    v1.11.5 (2023-05-25)

    • Fixed potential internal const issues when columnOrder state was manually managed

    v1.11.4 (2023-05-19)

    • Fixed right column pinning spacing issues

    • Implemented enableSortingRemoval in column actions menu

    • Internal virtualization specific logic for Firefox vs Chrome

    • Exported new MRT_FilterFnsState type

    • Exported MRT_TableHeadCellFilterContainer component

    • Added hu translations that can be imported from 'material-react-table/locales/hu'

    v1.11.3 (2023-05-07)

    • Removed internal measureElement virtualizer option to prevent firefox from crashing with virtualization enabled

    • Improved row virtualization performance by moving translateY to row style instead of sx to create less emotion css classes

    v1.11.2 (2023-05-03)

    • Upgrade to TanStack Table v8.9.1 for new getGroupingValue column option, and median aggregation function bug fix

    • Added sk translations that can be imported from 'material-react-table/locales/sk'

    v1.11.1 (2023-04-30)

    • update it and nl locales grammar

    • tweaked how column actions "filter by" menu menu item behaves

    v1.11.0 (2023-04-24) - The Less Ugly Column Actions Update

    • Removed Column Actions Submenu for "Show all Columns" Menu Item (was complicated unnecessary UI)

    • Disabled Column Actions Filter By Menu Item when columns are already visible

    • Fixed column resizing causing extra horizontal scrollbar to appear when dense padding is enabled

    • Fixed column header min-size being too big for columns with less than 5 characters

    • Added id translations that can be imported from 'material-react-table/locales/id'

    • Added fi translations that can be imported from 'material-react-table/locales/fi'

    v1.10.0 (2023-04-16) - The Empty Data Message Update

    • New highly requested renderEmptyRowsFallback prop for rendering custom JSX when there are no rows to display

    • Added staticRowIndex param to muiTableBodyRowProps to make styling striped virtual rows easier

    • Now allowing table head, body, and footer cell widths to be specified in sx prop when enableColumnRisizing is disabled. BUT YOU SHOULD STILL USE THE size COLUMN OPTION INSTEAD!

    • Fixed issue with "Reset Order" button not always being accurate when position props === "last"

    • Fixed issue with draggable columns with grouping disabled still being allowed to be dragged to dropzone.

    v1.9.4 (2023-04-15)

    • Fixed row actions and row menu actions async memo issues

    v1.9.3 (2023-04-02)

    • Upgraded to latest TanStack Table v8.8.5 for new getCanSomeRowsExpand bugfix

    • Fixed issue where page index could be out of bounds after the number of rows in the table decreases. Table now goes to the last page automatically when this happens.

    • Fixed issue where global filter textbox would not initialize from external state properly

    • Fixed typo in onShowColumnFiltersChange prop name (renamed from onShowFiltersChanged)

    v1.9.2 (2023-03-26)

    • Upgraded to latest TanStack Table v8.8.4 for new row.getParentRow APIs and various select all bug fixes

    • Upgraded to latest TanStack Virtual v3.0.0-beta.54 for various bug fixes

    • Fixed issues with filter match highlighting highlighting cells that had global filtering turned off

    • Filter highlighting now uses exactMatch for non "fuzzy" filter modes

    v1.9.1 (2023-03-21)

    • gave hovered selected rows a better primary shade color

    • fixed several logic bugs with filter mode switching

    v1.9.0 (2023-03-20) - The Multi-Sort Badge Update

    • added new multi-sort badge number to sort label

    • added new Serbian locales

    • improved textOverflow ellipsis

    • fixed not empty and empty filters switch not re-rendering

    • fixed sort arrow cutoff in non-left alignment

    • fixed row action menu click propagation issue

    • refactored row cell hover

    v1.8.5 (2023-03-09)

    • Used more comprehensive regex to create css vars for column resizing from column ids/accessorKeys

    • Fixed more column resizing issues with nested column groups

    • Added official css classNames for column resizing elements

    • Added exports for MRT_ExpandButton and MRT_GrabHandleButton components

    • Exported MRT_Updater type so it does not have to be imported from @tanstack/react-table

    • zh locale row vs column translation tweaks

    v1.8.4 (2023-03-02)

    • Fixed column resizing issues with nested column groups

    v1.8.3 (2023-02-27)

    • Added back support for custom edit and filter textfield children

    v1.8.2 (2023-02-26)

    • Added tableFeatures prop for advanced tableInstance customization

    • Flattened TS types for readability

    • Fixed more issues with column filter modes onChange resetting column filters too often

    v1.8.1 (2023-02-22)

    • Fixed sorting button accessibility issue

    v1.8.0 (2023-02-16) - The Edit Dropdowns Update

    • Allow enableEditing prop and column options to be enabled conditionally per row (row) => boolean

    • Added editVariant and editSelectOptions column options to make it easier to create edit dropdowns

    • Added enableFilterMatchHighlighting as a column option to enable/disable filter match highlighting on a per column basis

    • Fixed issue with column resizing vars when "(" or ")" are in accessor keys

    • Fixed issue with column filter modes onChange resetting column filters too often

    • Fixed issue with manually managed grouping state not auto-showing the built-in mrt-expand-row column

    • Re-export all State types from TanStack Table so that they can be imported from material-react-table instead of @tanstack/react-table

    • Re-export all Virtualizer types from TanStack Virtual so that they can be imported from material-react-table instead of @tanstack/react-virtual

    • Export all MRT sortingFns, filterFns, and aggregationFns from 'material-react-table' so that they can be imported from material-react-table instead of @tanstack/react-table

    v1.7.4 (2023-02-12)

    • Upgrade to TanStack Virtual v3 beta 47

    • Fixed issue with nested grouped columns and column re-ordering sizes

    • Added new PlaceholderCell cell render override as a column option

    • Touched up the cell resize handle styling

    • Allow expand button props to override children for custom icons

    v1.7.3 (2023-02-10)

    • Fixed issue with column resizing css vars when "+" are in accessor keys

    v1.7.2 (2023-02-09)

    • Fixed issue with column resizing css vars when spaces are in accessor keys

    v1.7.1 (2023-02-08)

    • Fixed issue with column resizing css vars when using nested accessor keys with dot notation

    v1.7.0 (2023-02-08) "The Column Resizing Update"

    • Column Resizing performance improvements by switching to CSS vars for column widths and memoizing the table body during resizing by default

    • columnResizeMode now defaults to "onChange" instead of "onEnd"

    • Allow for column sizes to not grow if flex grow is disabled when layoutMode is "grid"

    • Get rid of table row hover transition time for better UI.

    v1.6.6 (2023-02-07)

    • Added sv translations that can be imported from 'material-react-table/locales/sv'

    v1.6.5 (2023-02-04)

    • Added uk translations that can be imported from 'material-react-table/locales/uk'

    v1.6.4 (2023-02-01)

    • Fixed row dragging borders not showing in semantic layout mode

    v1.6.3 (2023-02-01)

    • Disabled ranked results when expanded sub rows are present

    v1.6.2 (2023-01-30)

    • Auto disable select checkboxes when row.getCanSelect() is false

    • Upgrade to latest TanStack Table v8.7.9 for select all checkbox bug fix when row selection is conditionally enabled per row

    v1.6.1 (2023-01-30)

    • Fixed alert banner z-index issue

    v1.6.0 (2023-01-29) "The Filter Match Highlighting Update"

    • Added new Filter Match Highlighting feature that is enabled by default, but can be disabled with the enableFilterMatchHighlighting prop

    • Added import for the MRT_EditActionButtons component for better custom row actions

    • Cleaned up Toolbar DropZone styling

    v1.5.12 (2023-01-27)

    • Fixed issue with table body cell "center" and "right" alignment when layoutMode="grid" or virtualization is enabled

    v1.5.11 (2023-01-27)

    • Upgraded to latest TanStack Table v8.7.8 for various bug fixes relating to null values in data

    • Added da translations that can be imported from 'material-react-table/locales/da'

    v1.5.10 (2023-01-23)

    • Fixed small resize handle drift issue when resizing columns

    • Adjust TableFooterRow background color to match TableHeadRow background color by default

    v1.5.9 (2023-01-15)

    • Added table border-collapse 'separate' to fix row borders not showing in Firefox

    v1.5.8 (2023-01-12)

    • Added imports for bottom and top toolbar components for custom toolbar rendering

    v1.5.7 (2023-01-10)

    • Fixed issue with memoized rows not sorting correctly with row virtualization enabled

    • Fixed issue with exiting full screen causing virtualized rows to disappear

    v1.5.6 (2023-01-10)

    • Freeze TanStack Virtual version to beta 30

    v1.5.5 (2023-01-10)

    • Fixed global filtering with manual pagination when on page 2 or greater

    • Upgrade to latest TanStack Table v8.7.6 for various bug fixes

    v1.5.4 (2022-12-30)

    • Fixed filter text field value not updating from external state change and fix filter clear icon button being disabled when value is not a string

    v1.5.3 (2022-12-29)

    • Fixed empty and not empty filter chip clearing defaulting back to only available filter modes

    v1.5.2 (2022-12-24)

    • Added new showToolbarDropZone state option to allow manual control of when the toolbar drop zone is visible

    v1.5.1 (2022-12-23)

    • Fixed sticky footer z-index issue when using column pinning

    • Added zh-Hans and zh-Hant translations that can be imported from 'material-react-table/locales/zh-Hans' and 'material-react-table/locales/zh-Hant' respectively

    v1.5.0 (2022-12-20) "The Column Virtualization Upgrade"

    • New column virtualization feature that can be enabled with the enableColumnVirtualization prop and customized with the columnVirtualizationProps and columnVirtualizerInstanceRef props

    • Deprecated (renamed) virtualizerInstanceRef prop in favor of rowVirtualizerInstanceRef

    • Deprecated (renamed) virtualizationProps prop in favor of rowVirtualizationProps

    • Fixed crashes with empty nested data and initial filter, sorting, grouping, and pagination states

    v1.4.3 (2022-12-15)

    • Fixed MUI debounce import when @mui/material v5.11.0 is installed

    • Fixed select placeholder when muiTableBodyCellEditTextFieldProps.placeholder is set

    v1.4.2 (2022-12-11)

    • Fixed custom muiTableBodyProps.children not being rendered

    • Give TableBody a default minHeight of 100px when no rows are present

    v1.4.1 (2022-12-11)

    • Fixed row virtualization with detail panels to make it usable

    • Added classNames to Detail Panel Rows and Cells to make them easier to target with CSS

    • Lowered default row virtualization overscan default count from 10 to 4

    • Added imports for MRT_ToolbarAlertBanner and MRT_ToolbarDropZone components for custom toolbars

    v1.4.0 (2022-12-08) "The Row Virtualization Upgrade"

    • Upgrade to TanStack Virtual v3 for better virtualization performance and bug fixes - (small breaking changes if using advanced virtualized customization features)

    • New layoutMode prop to allow for either "semantic" or "grid" (flex) CSS layouts for table components

    • New onEditingRowCancel prop

    • New "Collapse" tooltip for all locales on expand buttons when expanded

    • Clicking filter icon in header now focuses filter textfield

    • Added nl translations that can be imported from 'material-react-table/locales/nl'

    • Updated ru translations that can be imported from 'material-react-table/locales/ru'

    v1.3.15 (2022-11-24)

    • Fixed some column hiding menu edge cases

    v1.3.14 (2022-11-24)

    • Added ro translations that can be imported from 'material-react-table/locales/ro'

    v1.3.13 (2022-11-23)

    • Upgraded to latest TanStack Match Sorter Utils 8.7.0 for webpack compatibility fixes and better esm support

    v1.3.12 (2022-11-23)

    • Upgraded to latest TanStack Table 8.7.0 for webpack compatibility fixes and better esm support

    v1.3.11 (2022-11-23)

    • Added vi translations that can be imported from 'material-react-table/locales/vi'

    • Upgraded to latest TanStack Table 8.6.0 for new maxLeafRowFilterDepth prop

    v1.3.10 (2022-11-19)

    • Added fr translations that can be imported from 'material-react-table/locales/fr'

    • Upgraded to latest TanStack Table 8.5.30 for better TypeScript performance

    v1.3.9 (2022-11-14)

    • Upgraded to latest TanStack Table 8.5.27 for better sorting in grouped rows

    v1.3.8 (2022-11-13)

    • Fixed filter textfield calling clear method on mount which sometimes caused additional data fetches

    v1.3.7 (2022-11-12)

    • Upgraded to latest TanStack Table 8.5.24 to fix filterFromLeafRows bug

    v1.3.6 (2022-11-10)

    • Fixed getRowId prop type

    v1.3.5 (2022-11-10)

    • Added tr translations that can be imported from 'material-react-table/locales/tr'

    v1.3.4 (2022-11-07)

    • Emergency fix remove fa as default translations

    v1.3.3 (2022-11-06)

    • Added fa translations that can be imported from 'material-react-table/locales/fa'

    v1.3.2 (2022-10-30)

    • Upgraded to latest TanStack Table v8.5.22 for massive grouping performance improvements

    v1.3.1 (2022-10-29)

    • small optional chaining fix for custom textfileds

    • it locale fix

    • Upgraded to latest TanStack Table v8.5.21

    v1.3.0 (2022-10-28) "The Multi-Aggregation Update"

    • Added Multi-Aggregation Per Column Feature

    • renamed onFilterFnsChange to onColumnFilterFnsChange (breaking change)

    • fixed grouped rows should not show edit text fields when in "table" editing mode

    • Upgraded to latest TanStack Table v8.5.18

    v1.2.10 (2022-10-17)

    • Added it translations that can be imported from 'material-react-table/locales/it'

    v1.2.9 (2022-10-11)

    • Allow Sort Icon (ArrowDownward) to be replaced with custom icon

    v1.2.8 (2022-10-11)

    • Fixed some minor spacing issues in Table Head Cell icon buttons

    v1.2.7 (2022-10-05)

    • Fixed select and expand column headers sometimes not showing correctly

    v1.2.6 (2022-10-03)

    • Un-memoized localization prop internally to allow for dynamic localization updates

    • Made Columns Actions Button slightly smaller

    v1.2.5 (2022-09-30)

    • Fixed: globalFilterFn prop had wrong type

    v1.2.4 (2022-09-30)

    • Fixed: All Mui imports use default exports to reduce number of modules in dev mode

    v1.2.3 (2022-09-30)

    • Fixed: Icon imports use default exports to reduce number of modules in dev mode

    v1.2.2 (2022-09-29)

    • Disable more display columns and detail panel stuff while isLoading is true

    • Fixed overflow issues with expand all button and select all checkbox

    v1.2.1 (2022-09-29)

    • Disable detail panel render while isLoading is true

    v1.2.0 (2022-09-27) "The Header Cell Update"

    • New Header default ellipsis behavior when column width is smaller than header string

    • Column Actions and Column Grab Handles now left-align by default

    • Column Alignment Improvements when align is 'center' or 'right'

    v1.1.1 (2022-09-23)

    • footer z-index fix during fullscreen mode

    • bigger resize handle accessibility

    v1.1.0 (2022-09-20) "The Memo Update"

    • New memoMode prop to enable memoizing cells, rows, or the entire table body

    • Radio Buttons now show instead of checkboxes when enableMultiRowSelection=

    • Fixed dragging column bottom-border sometimes showing on wrong row

    • Various Render Performance Improvements

    v1.0.11 (2022-09-17)

    • Fixed Sticky Header with pinned columns in full screen mode

    v1.0.10 (2022-09-17)

    • Added ru translations that can be imported from 'material-react-table/locales/ru'

    v1.0.9 (2022-09-17)

    • Added de translations that can be imported from 'material-react-table/locales/de'

    v1.0.8 (2022-09-16)

    • Update es translations

    v1.0.7 (2022-09-15)

    • Remove unnecessary memo that was causing issues with aggregated cells not updating

    v1.0.6 (2022-09-15)

    • Fixed Actions Column sometimes forced to be first column

    v1.0.5 (2022-09-15)

    • Fixed Mixed Header Groups levels not created with correct column order state

    v1.0.4 (2022-09-14)

    • Added cs translations that can be imported from 'material-react-table/locales/cs'

    v1.0.3 (2022-09-14)

    • Fixed sticky header z-index issue with select checkboxes and expand buttons

    • Added pl translations that can be imported from 'material-react-table/locales/pl'

    v1.0.2 (2022-09-13)

    • Added es translations that can be imported from 'material-react-table/locales/es'

    v1.0.1 (2022-09-13) "The OG Release"

    • Initial Stable Release

    Pre 1.0 breaking changes

    • v1.0.0-beta.16 - selectAllMode default value changed to "page"

    • v1.0.0-beta.6 - onColumnDrop and onRowDrop props removed, since they can easily be hooked up manually in muiTableBodyRowCellDragHandleProps

    • v0.41.0 - Filter start icon will no longer be shown if enableColumnFilterModes is not enabled

    • v0.40.7 - enabledGlobalFilterOptions renamed to globalFilterModeOptions

    • v0.40.2 - new tableInstanceRef and virtualizerInstanceRef props

    • v0.39.0 - Renamed enableColumnFilterChangeMode to enableColumnFilterModes, renamed enableGlobalFilterChangeMode to enableGlobalFilterModes. New renderColumnFilterModeMenuItems and renderGlobalFilterModeMenuItems props.

    • v0.38.3 - New enableStickyFooter prop useful for aggregation features

    • v0.38.0 - New GroupedColumn cell render column def option, new muiToolbarAlertBannerChipProps, renamed muiTableToolbarAlertBannerProps to muiToolbarAlertBannerProps, muiTableTopToolbarProps to muiTopToolbarProps, muiTableBottomToolbarProps to muiBottomToolbarProps

    • v0.37.2 - Aggregation cell renders enabled, AggregatedCell needed to render aggregated cell.

    • v0.37.0 - Major Editing Feature Changes: "modal" is now the default editingMode. New required exitEditingMode param in onEditingRowSave to allow dev to exit editing mode only after validation passes. Fixed auto-filled values not saving in editing row submit. tableId prop removed as it is now unnecessary and was being confused with an html id attribute. Major internal ref refactors to better follow React best practices and improve performance.

    • v0.36.0 - onCellEditBlur and onCellEditChange props removed because the already exist on muiTableBodyCellEditTextFieldProps. Examples given here

    • v0.35.2 - Change onEditRowSubmit name to onEditingRowSave

    • v0.35.1 - "current" prefix in some state options removed from name (i.e. currentEditingRow is now just editingRow), new editing value(s) arguments, better types for editing features

    • v0.34.0 - rolled back to react-virtual 2.0 to fix flickering issue, MRT_Internal Toolbar components are now exported from MRT instead of in params

    • v0.33.0 - onTableInstanceChange removed, onStateChange removed, currentFilterFns renamed to columnFilterFns, custom filterFns can be used again, renamed ToolbarBottom to BottomToolbar and ToolbarTop to TopToolbar

    • v0.31.0 - new DropZone component in toolbar for grouping while dragging a column that can be grouped

    • v0.29.0 - new filterVariant option on columnDef to indicate if filter is a select filter, multi-select filter, text filter, etc.

    • v0.28.0 - virtualizerProps has slightly differently named options, as MRT upgraded to @tanstack/react-virtual v3.

    • v0.27.0 - enableColumnFilterModes is now false by default, but can be turned on easily by just setting it to true.

    • v0.23.0 - TanStack Table v8.2 has new cell.getValue<>() generics

    • v0.22.1 - showColumnFilters state renamed to showColumnFilters

    • v0.22.0 - React DnD replaced with custom solution for drag and drop. Now lib is 16kb smaller!

    • V0.19.0 - Data Column Definitions now need an accessorKey or a combination of an id and accessorFn to be used as the key for the data row.

    • V0.19.0 - instance was renamed to table across all callback functions to be inline with TanStack Table V8.1.

    • V0.18.0 - on...Changed callback props were removed as they were redundant with the on...Change callback props. Hoisting state will be the recommended way to watch for table state changes and react to them.

    If you are interested in following along the development of any of these features, be sure to join the Discord