November 2026 - Column Meta
One column meta API for Data Table and Data Grid, typed by variant. Includes breaking changes.
Data Table and Data Grid now share one column meta API, and each variant only accepts its own options. This release has breaking changes for column definitions in both components.
Breaking changes
-
Flat
metain Data Grid.meta.cellis removed. Its fields move ontometa.columnHelper.accessor("skills", { meta: { label: "Skills", cell: { variant: "multi-select", options }, variant: "multi-select", options, }, }); -
Shared variant names. Both components use the same vocabulary.
Before After Data Grid "short-text""text"Data Grid "checkbox""boolean"Data Table "multiSelect""multi-select"Data Table "range""number"withfilter: "range"Data Table "dateRange""date"withfilter: "range"Data Table range: [min, max]minandmax -
Options are typed by variant.
unit,min, andmaxonly apply tonumber,filter: "range"only tonumberanddate, andoptionsonly toselectandmulti-select. TypeScript flags options on the wrong variant. -
Column configs use the same shape.
getDataTableSearchParamstakes{ variant: "date", filter: "range" }instead of{ variant: "dateRange" }. -
Renamed types.
FilterOptionandCellSelectOptionbecomeColumnSelectOption.ColumnVariantFilteris removed; read options withgetColumnSelectOptions(meta).
Data Table
- Range filters. Valid values apply as you type and settle on blur or Enter. The slider clamps to its bounds, the between inputs swap crossed values, and bad bounds in the URL are normalized.
- Fewer URL writes. In client mode, a filter change resets the page in the same write, and page changes leave
perPagealone.
Data Grid
- Switch control. Boolean columns take
control: "checkbox" | "switch". - Undo. Long-text edits undo in one step per editing session.
- Performance. Search reuses matches for rows an edit didn't touch (about 27 ms to 7 ms per edit at 100k rows), row height changes commit once, and column resizes no longer re-render cells.
- Column resizing. Resize handles stay visible next to pinned columns, and the resize cursor stays on for the whole drag.
- Cell layout. Short rows truncate text at the cell edge, so hyphenated values no longer cut off early, and the long text, multi-select, and file editors open aligned with the cell.
- Fixes. Stale search after batched updates, cells ignoring column meta changes, pending updates lost on unmount, and file previews breaking after a remount.
Migrating
- Reinstall the Data Table and Data Grid components you use.
- In Data Grid columns, move the fields from
meta.cellontometa. - Rename variants using the table above, and replace
range: [min, max]withminandmax. - Rename
FilterOptionandCellSelectOptiontoColumnSelectOption.