# What changed in ag-grid-react

> 169 changes in ag-grid-react 27 to 30 from its official release notes, upgrade guides and advisories: 31 breaking, 3 deprecations, 46 new APIs and options. Each one cited. Sources checked 2026-10-26. HTML: https://unstale.sh/npm/ag-grid-react/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## ag-grid-react 30

### Breaking changes

- The redundant maxSpacing option is removed. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Column group header cells span multiple rows by default when other groups have more levels. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- This setting is ignored when filterParams.excelMode is used. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Group rows become sticky by default in row grouping, tree data, and master detail. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Quick Filter excludes values in hidden columns by default. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- The main field defaults to using ES Modules. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- The legend is disabled by default for single-series cartesian charts. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Horizontal sticky group column headers become the default behavior. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Deprecated APIs from v27 are removed in v30. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)

### New APIs and options

- Axis labels can be toggled on and off instead of relying on label formatters. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- A built-in checkbox cell editor is available for cell editing. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- The grid adds a built-in numeric cell editor. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Cell data types and cell data type inference are added. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Events fire at the start and end of cell range delete operations. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Horizontal or vertical lines spanning the chart area can display while hovering over the chart. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- A Grid API is available to call chart link and unlink operations. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Charts can be updated via the Grid API. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- An API method lets developers paste from the clipboard into the grid. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- TypeScript can express column, editor, and renderer type information. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- A built-in Date picker cell editor is added. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Excel export can suppress outlines for rows and columns. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Excel export can use the formatted cell value instead of the underlying cell value. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Grid instances can be identified via a unique id. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- AG Grid modules can be registered on a per-grid basis. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- An event fires at the end of cut operations. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- An event fires at the start of cut operations. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Group footer rows are supported with the server-side row model. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Treemap label values can wrap to fit inside treemap tiles. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)

### Performance

- Destroying the grid is faster when using React with ag-grid-enterprise packages. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)

### Behavior and default changes

- The field property can use TData. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Copy down supports complex objects. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- The formatted cell value can be used with copy, fill handle, and copy range down. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Excel export preserves the collapsed or expanded state of row groups. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- When enterMovesDown or enterMovesDownAfterEdit is enabled, SHIFT + ENTER can focus the cell above. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- The event provides more information. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Aggregation logic for top-level and root-level rows is refined. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Copying complex objects can fall back to valueFormatter and valueParser when no custom copy function is provided. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Value Parser can run on paste, fill handle, and copy range down. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)

### Fixes and other changes

- Cut, copy, and paste work when using the browser's edit menu. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- The default cell editor can use the valueFormatter when its value cannot be coerced to a string. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Filters and floating filters can be enabled or changed retrospectively. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Column group headers with marryChildren enabled can be moved after a group child is hidden. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Pasting a copied range of values no longer skips group row cells when row grouping and enableGroupEdit are used. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Transactions with row grouping or tree data no longer make the grid slow or crash in this full-width row configuration. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Calling the API after unmount no longer hangs the browser when column groups are present. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Setting groupDisplayType no longer crashes the grid. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Removing a group no longer throws an error if its group column filter was instantiated. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Server-side row model master detail no longer crashes with groupRowsSticky. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Horizontal fill handle better supports columns with complex objects. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Column filters support HTML5 number inputs in non-Chrome-based browsers. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Numeric values are correctly parsed following a cell edit. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Paste preserves quotation marks when copying a value that contains them. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Quick Filter filters pivoted data. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- The grid no longer throws an error when used within a React Suspense component. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Server-side row model rows render when rowHeight is decimal. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- Expanding a row group and scrolling no longer renders the group name on the left in RTL mode. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- A failed refresh request for a successfully loaded row no longer causes repeated refresh attempts. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)
- The vertical scrollbar thumb is positioned correctly when serverSideInitialRowCount is set. (30.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v30.0.0)

## ag-grid-react 29

### Breaking changes

- Deprecated ag-grid-column components are removed. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The deprecated key property is removed from ICellEditorParams. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The deprecated addRowCompListener property is removed. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The deprecated suppressRefresh and autoHeight properties are removed. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The deprecated padding property is removed. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- IRowNode is introduced as the public-facing interface instead of the internal RowNode object. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Legacy deprecated chart API members are removed. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Legacy deprecated methods are removed from gridApi and columnApi. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Legacy deprecated properties are removed from GridOptions and ColDefs. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- React ChangeDetectionStrategyType.DeepValueCheck is removed. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)

### Deprecations

- The API method is deprecated. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)

### New APIs and options

- Axis label skipping can be turned off. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The chart tool panel DATA tab items can be customized. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The column aggregation function can be removed from the column menu. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Custom column layouts can be used in the column menu columns. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The columnMoved event arguments gain a finished property to identify the final drop position. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Legend item clicks can be disabled. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Legend item arrangement can be configured to override smart auto arrangement. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Integrated charts can customize pie chart sector label settings through the format panel. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Provided CellEditor parameter interfaces are exported for use by developers. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Set Filter values can be displayed in a hierarchical list. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Server-Side Row Model can display a single loading row when filtering instead of showing all grid rows as loading. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- rowSelected and selectionChanged events gain a source property to distinguish user-driven from API-driven selection changes. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Treemap charts gain a cell value label formatter. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Treemap series can use color values directly from the data. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Unbalanced row groups can be made optional. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)

### Behavior and default changes

- animateRows is a reactive property in React. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Chart titles, subtitles, and legends can apply chart padding from the outside edge. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The Chart Tool Panels Button is enabled by default. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Set Filter supports complex objects as provided filter values. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Legend items can be paginated when the chart area is too small. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Pagination properties, including pagination and paginationPageSize, are reactive in React. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Row group footers, including group subtotal and grand total rows, can be exported to Excel and CSV. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Set Filter can interpret and group date values by week, month, quarter, or year. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The gridOptions property is reactive in React. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)

### Fixes and other changes

- The event is called when combination series types are changed. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Copied cell ranges can include the column header text just once when all ranges contain exactly the same columns. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The type now allows the values open and closed. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Fixes filter popups resizing only the first time they are opened. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Fixes camel-case styles not being applied and CSS variables not being added as properties. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Fixes CSS variables not being added as properties. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Fixes camel-case styles not being applied correctly. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The callback is reevaluated after a transaction update. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Fixes opening a popup overriding the callback and returning the popup to its original position. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Fixes selecting the wrong value when typing a repeated letter. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Searching matches raw values as well as formatted values. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- The source property value is passed through when updating DefaultColDefs. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)
- Fixes the Filter Search remaining visible in the filters tool panel when suppressFilterSearch is true in toolPanelParams. (29.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v29.0.0)

## ag-grid-react 28

### Breaking changes

- The @ag-grid-community/all-modules and @ag-grid-enterprise/all-modules packages are removed. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- The comparator parameter is renamed from isInverted to isDescending. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- The event is removed in favor of rowDataUpdated. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- This event replaces rowDataChanged. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- API members are renamed from Secondary Columns to Pivot Columns. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- The top-level checkbox can be unselected when some rows are not selectable. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)

### New APIs and options

- Legend items can be limited to a character count with an ellipsis, and hovering can show a tooltip with the full value. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- A maximum width can be set for chart legend items. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Charts add a listener for clicks on legend items. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Generics are added to row data and cell value typings. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- The group row for an expanded row group can float or stick at the top of the viewport while scrolling through its child rows. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)

### Performance

- Rendering speed is improved for column and line series with large numbers of data points. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Column aggregation calculation performance is improved. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)

### Behavior and default changes

- Bar and Column series support number and time axes. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Cells can be deselected from a selected range by CTRL+clicking a cell or SHIFT+dragging to a cell. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Column headers support word wrapping for multiline text and automatic height. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- CSS variables in themes are extended. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Row groups and tree data can be exported to Excel so they can be expanded and collapsed there. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Different group columns can be sorted separately by clicking grouped column items in the row group panel. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- The callback can be invoked after a cell value edit, rather than only once on initial render. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- A column can be hidden when grouping by dragging it from the grid header or columns tool panel list. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Server-side sorting and filtering are allowed with the server-side row model without Infinite Scroll. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)

### Fixes and other changes

- Using the mouse wheel while the filter is focused no longer changes its entered number. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Cell Class handling is improved to avoid a React memory leak. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Row group, values, and pivot areas use the role attribute instead of aria-role to comply with accessibility standards. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- A memory leak involving custom cell renderer components built on CellRendererFramework and pinnedRowCellRendererFramework is addressed. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- A memory leak involving custom header components built on HeaderComponentFramework is addressed. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Clicking a grid cell with range selection enabled no longer fires this event unnecessarily. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Changing the external filter no longer calls isExternalFilterPresent multiple times instead of once. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- The fill area dashed border is shown between pinned and unpinned columns when dragging in a pinned column. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Collapsed group row cell values can be copied when this option is enabled. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- X and Y axis labels are no longer clipped. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Removing a column from the row group panel fires onColumnVisible when column visibility changes. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- CTRL+Z and CTRL+Y shortcuts work with non-QWERTY keyboards. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- A newly added series is no longer hidden in JavaScript while visible in Angular, React, and Vue. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- The event no longer fires twice instead of once on mousedown when range selection is enabled. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Applying column state followed by a filter model no longer produces empty lines inside grid rows. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Filtered rows render with correct heights when a filter model is set. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- The row group panel uses the role attribute instead of aria-role. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- The event property storing the browser event is no longer always undefined. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Expanding a secondary column after reordering secondary columns no longer resets their order. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)
- Locked columns are rendered on the correct side when their definitions are not at the expected end of the array. (28.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v28.0.0)

## ag-grid-react 27

### Breaking changes

- Integrated Charts chartType uses a string literal type instead of an enum type. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- The filterParams valueGetter receives valueGetterParams instead of just the node. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- Removed the Custom Cell Editor API method getPopupPosition(). (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- getRowNodeId is required when using SSRM and selection. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- Removed the Custom Cell Editor API method isPopup(). (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- The Set Filter newRowsAction default is now keep. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)

### Deprecations

- Use suppressCellFocus in place of suppressCellSelection to suppress cell focus styling. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- Deprecated suppressCellSelection and renamed it to suppressCellFocus to better describe that it suppresses cell focus styling, not selection. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)

### New APIs and options

- Added support for choosing the horizontal position of a column when using ensureColumnVisible. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- Added the IMultiFilter interface to type public methods. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- Added the ISetFilter interface to type public methods. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- Added a non-blank filter operation to all simple filters. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- The default status bar components can have their titles changed and their number values formatted. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- textCustomComparator receives additional parameters including rowNode, valueFormatter, and the actual value. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- The tooltip hide timeout can be set to a custom value. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)

### Behavior and default changes

- Keyboard users can move columns in the column tool panel to the row groups, values, and column labels panels. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- Exported collapsible column groups can remain collapsible in Excel. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- The filter operation select can be announced as a combobox by assistive technology. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- Framework Components can be registered without using the xxxFramework naming convention. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- Group column header values can be considered when performing column autosize. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
- tooltipValueGetter can return strings as well as custom objects for custom tooltip components. (27.0.0) — [release notes](https://github.com/ag-grid/ag-grid/releases/tag/v27.0.0)
