ag-Grid Changelog

This page covers the full Changelog for all items for 8.x and above. For the Summary Changelog, or the legacy changelog covering versions 7.x and above, please go here. For a list of up and coming Bug Fixes and Features please refer to our Pipeline. Documentation for previous versions can be found here.
Filter By Breaking Changes
Filter By Deprecations
Bug Feature Request Documentation URL D Deprecation B Breaking Changes R Rejected Changes
Key Issue
Type
Fix
Version
Summary
AG-4954 25.0.1 [Regression] Dragging a column header out of the grid doesn't remove it anymore
AG-4949 25.0.1 Add Angular 11 to list of peerDependencies
AG-4948 25.0.1 [Regression] Cannot paste a copied single value in multiple cells anymore
AG-4946 25.0.1 [Regression] When scrolling fast vertically, React cell renderer throws console exception "React Component not created within 500ms"
AG-4944 25.0.1 npm install ag-grid-angular breaks on Angular 11/npm 7.3/node 15.5.1
AG-4938 25.0.1 CSRM and Transactions, empty groups are not removed
AG-4914 25.0.1 Applying column state to one grid doesn't propagate to aligned grids
AG-4913 25.0.1 [Regression] Column visibility change events don't propagate across aligned grids
AG-4829 25.0.1 [Regression][React] Column visibility change events don't propagate across aligned grids
AG-4909 25.0.0 Add support for synchronous callbacks when using hooks
AG-4885 25.0.0 [Chart] In scatter series, having a series with a just one distinct X-value creates an invalid X-axis range
AG-4884 25.0.0 [Regression] Vertically scrolling fast causes bottom rows to appear as whitespace
AG-4867 25.0.0 [Regression] agSelectCellEditor long text items wrapped on multiple lines over each other instead of shortened with ellipsis (...)
AG-4866 25.0.0 [Regression] Calling setColumnDefs twice throws an exception
AG-4860 25.0.0 Scatter charts render invalid data points at the top left corner of the chart (shouldn't be rendered)
AG-4841 25.0.0 [Chart] nodeClick event doesn't fire for integrated charts More Info
Fixed by AG-4760 - Support nodeClick and seriesNodeClick in themes and on touch devices.
AG-4838 25.0.0 [Accessibility] Allow setting the aria-label in the row selection checkbox
AG-4832 25.0.0 NPM 7.0 throws exception upon installing ag-grid with React v17.0.0
AG-4828 25.0.0 [Column Header] Allow headerValueGetter to use different values for params.location to distinguish between header, columnToolPanel and filterToolPanel
AG-4812 25.0.0 When user presses CTRL+C, grid unnecessarily scrolls to focused cell thus triggering unneeded data request
AG-4811 25.0.0 [Row Selection] Allow de-selecting row range from the selected rows range
AG-4805 25.0.0 [Regression] When setting multiple filtering conditions in date filter, time is unnecessarily added to floating filter input value
AG-4803 25.0.0 [Regression] Multi-column sort order changes unexpectedly
AG-4798 25.0.0 Using setModel() does not apply filter if providing async values in filterParams
AG-4795 25.0.0 [Regression] Custom filter options are not localized by a call to localeTextFunc
AG-4792 25.0.0 If range selection is not enabled, it's not possible to paste single cells
AG-4787 25.0.0 Add Cross Filtering to Integrated Charts
AG-4786 25.0.0 [Regression] When using Chrome on an Android device, column groups fail to expand on touch
AG-4785 25.0.0 [Regression] Right-clicking a cell to open context menu doesn't select cell to indicate which cell was clicked
AG-4783 25.0.0 [Website] Set filter showing duplicate (Select All) and broken image on home page
AG-4778 25.0.0 [Internet Explorer 11] Typing in outside text input enters text in the last open agLargeTextCellEditor in the grid
AG-4777 25.0.0 Implement support for simultaneous grouping and stacking in bar series
AG-4776 25.0.0 [Docs] Selecting data for export example doesn't work when only exporting selected rows to CSV or Excel
AG-4772 25.0.0 [Internet Explorer 11, Firefox] Number filter value editor doesn't apply validation and allows entering text values
AG-4769 25.0.0 colDef.minWidth ignored when minWidth == 0
AG-4767 25.0.0 [Regression] Horizontal scrolling breaks at specific zoom levels (due to invalid call to isIOSUserAgent in shouldBlockScrollUpdate)
AG-4760 25.0.0 Support nodeClick and seriesNodeClick in themes and on touch devices
AG-4759 25.0.0 [Regression] When using enableRTL=true, scrolling all the way left breaks horizontal scrolling
AG-4758 25.0.0 [Column Tool Panel] Calling api.setColumnDefs() resets the expanded state of column groups in column tool panel
AG-4755 25.0.0 [Regression] When applying a custom column layout in columns tool panel, changing column visibility reverts to original column layout
AG-4754 25.0.0 [Regression] Clicking row checkboxes while holding SHIFT key selects individual records instead of the range
AG-4753 25.0.0 When groupRemoveSingleChildren=true, the group column value is not displayed in the group column for the single nodes More Info
New property added showOpenedGroup. When showOpenedGroup=true, then group columns will show the opened group.
AG-4749 25.0.0 onCellFocused called twice after context menu close
AG-4748 25.0.0 [Regression] Column header text does not change to 'sum(column name)' after column aggregated
AG-4746 25.0.0 Tree data & filtering aggregated values More Info
There is a new grid property suppressAggFilteredOnly which when enabled, removes this issue. The problem is aggregation results are changing when the filters change. So filtering by aggregated values is actually filtering by a moving target. The filter is working of the 'last current value', which means when you change the filter, it is filtering against the aggregated result from the last filter. The new property 'suppressAggFilteredOnly' gets aggregations to ignore the filter, thus showing the non-filtered aggregated result always. This givens consistent filtering as the aggregation result doesn't change dependent on the filter.
AG-4743 25.0.0 [Functional React] When using a custom date filter adding a second date value clears entire filter popup and removes filtering condition
AG-4741 25.0.0 When a part of agMultiColumnFilter, set filter doesn't apply its cellRenderer
AG-4739 25.0.0 [Regression] Floating filter popup doesn't close even though closeOnApply=true
AG-4736 25.0.0 [API] Header Cell params now gets passed eGridHeader, so events can be added by client code
AG-4735 25.0.0 suppressHeaderKeyboardEvent is not preventing Enter (sorting / open menu / expand / collapse)
AG-4732 25.0.0 Using applyTransactionAsync to add a new row at a specific index doesn't work with tree data -
AG-4730 25.0.0 Master/Group row expansion on the last row increases row height by 1px
AG-4726 25.0.0 [API] The refresh function on ICellRenderer should type params as ICellRendererParams, not any
AG-4722 25.0.0 Histogram 'bins' config doesn't work with a single bin
AG-4721 25.0.0 [Regression] In Safari, editing a cell with a custom editor, and then clicking another cell above it or below it the same column causes viewport to scroll up a few lines More Info
Until we resolve this, please use workaround: https://plnkr.co/edit/hth0RuCKa29BLudB
AG-4720 25.0.0 Add ability to restore charts using model only
AG-4719 25.0.0 [Regression] When body has width including a half-pixel, horizontally scrolling using the trackpad to the end on a Windows machine prevents the horizontal scrollbar from working
AG-4718 25.0.0 Custom themes 'defaults' are not recognized, expected 'overrides' instead
AG-4716 25.0.0 Add support for strictNullChecks in TypeScript
AG-4713 25.0.0 Column menu button rendered outside column header and inaccessible when column is too narrow
AG-4710 25.0.0 Filtering multiple values of complex objects when using floating filters throws an exception
AG-4708 25.0.0 Default valueGetter for columns with a field specified doesn't support empty strings
AG-4707 25.0.0 Having many instances of ag-grid on the same page makes editors less responsive to user input
AG-4706 25.0.0 Improve groupHideOpenParents performance when using many groups More Info
After profiling the grid with the provided example, it showed getColumn() method in Column Controller was a bottleneck. This was doing looping over columns. Now instead the columns are also stored in a map (ID -> Column) and the map is now used instead of looping over the list. This gives a performance boost.
AG-4703 25.0.0 [Regression] Using FireFox date editor clear button in ag-Grid filter clears value but doesn't update grid rows
AG-4701 25.0.0 Make colDef.shouldWrap reactive
AG-4699 25.0.0 [Accessibility] Allow setting the values for aria-label and aria-labelledby for the top grid element More Info
The grid API now has a `setGridAriaProperty` method that can be called to set any ARIA property in the grid panel.
AG-4686 25.0.0 Icons Example - JS Version not showing FA icons (showing X and ticks)
AG-4683 25.0.0 Interface GetDetailRowDataParams is missing from the list of exported types
AG-4682 25.0.0 [Example Runner React] Cannot edit text field
AG-4681 25.0.0 [Export] - Example broke
AG-4676 25.0.0 Exception thrown when double-clicking a URL inside a grid cell
AG-4675 25.0.0 Auto-group column state isn't reset when clicking RESET COLUMNS in column menu
AG-4662 25.0.0 [Updating Data] Improve performance of applyTransaction when data is grouped
AG-4657 25.0.0 [Charts] add series lineDash/lineDashOffset options to the formatting panel
AG-4652 25.0.0 [Regression] For columns initially out of view, filter popup disappears by itself after filter value is entered
AG-4647 25.0.0 [Infinite Row Model] Selected cell loses focus when scrolled far out of view
AG-4600 25.0.0 [Clipboard] Improve performance when copy/pasting large amounts of data from the grid More Info
Code changes associated with this item were committed under AG-4812.
AG-4547 25.0.0 [Tool Panel] Allow displaying tooltips for columns and column groups in the columns tool panel
AG-4417 25.0.0 [Chart] Allow pivot chart to support server-side row model
AG-4401 25.0.0 [SSRM] Allow applying newly retrieved data after purgeServerSideCache call silently (without showing any loading cell renderers, as in infinite row model refreshInfiniteCache())
AG-4355 25.0.0 [React] Unable to retrieve updated component props within grid callbacks when using React hooks
AG-4320 25.0.0 [Frameworks] rowSelected runs outside instead of inside the Angular zone
AG-4259 25.0.0 [Framework] Double rendering each cell to reduce flicker doesn't work well when using Material-ui
AG-4211 25.0.0 [React] Regression: Material-UI icons get resized when using themes overriding Material UI CSS
AG-4180 25.0.0 [React] React function component cell renderer briefly shows two copies of the cell value in a cell
AG-4177 25.0.0 Themes overriding Material UI CSS
AG-4109 25.0.0 [Charts] Add a more convenient way to save and restore charts
AG-4049 25.0.0 [React] ag-react-grid unable to update state after cell edit (Warning: unstable_flushDiscreteUpdates)
AG-3972 25.0.0 [Angular] ResizeObserver callback runs outside of the Angular zone
AG-3799 25.0.0 [Angular] Angular change detection too aggressive with drag and drop
AG-3796 25.0.0 [SSRM] Allow performing filter/sort and other operations in the already loaded data as if the user was working on the client side row model
AG-3697 25.0.0 [Charts] Add tooltips to toolbar icons
AG-3459 25.0.0 Improve change detection to minimize the callbacks generated from within the angular zone
AG-3362 25.0.0 [Angular] Ensure that all grid events fire in Angular zone
AG-3005 25.0.0 [SSRM] Allow failCallback to provide with a strategy to retry/stop loading data
AG-2837 25.0.0 [SSRM] Server Side Row Model Changes B More Info
The Server-Side Row Model (SSRM) has received a huge update with regards how it works to allow all of the following features: + Ability to turn off infinite scrolling, so all rows are read back for a particular group. This was implemented by introducing the concepts of Row Stores. The Partial Store provides Infinite Scrolling (backwards compatible approach) and the Full Store reads all records in one go without using Infinite Scrolling. The concept of Full Store (reading all rows at once) paved the way for SSRM Transactions and Client Side Sorting & Filtering. See https://www.ag-grid.com/javascript/server-side-model-row-stores/ + Sorting and Filtering now occur on the client side rather than the server side if all rows are read back from the server (via the Full Store). See https://www.ag-grid.com/javascript/server-side-model-sorting/ and https://www.ag-grid.com/javascript/server-side-model-filtering/ + Support for Transactions to allow Updates, Inserts and Removes of data on the client side. See https://www.ag-grid.com/javascript/server-side-model-transactions/ + Support for Async Transactions to allow a high frequency of Updates, Inserts and Removes. This is brilliant for showing updates to large data that is changing at a rapid pace (eg many updates per second). See https://www.ag-grid.com/javascript/server-side-model-high-frequency/ + Refreshing of rows (as opposed to purging) to allow reloading rows in the background without showing loading spinners to the user. See https://www.ag-grid.com/javascript/server-side-model-refresh/ + Refreshing of rows doesn't lose group state if groups are expanded. See https://www.ag-grid.com/javascript/server-side-model-refresh/#group-state + Failed fetching of data can now be retried at a later point. See https://www.ag-grid.com/javascript/server-side-model-retry/ + Groups can now be opened by default using the grid callback isServerSideGroupOpenByDefault(). See https://www.ag-grid.com/javascript/server-side-model-grouping/#open-by-default + New API for expanding all groups, see https://www.ag-grid.com/javascript/server-side-model-grouping/#expand-all--collapse-all + Customisation of Store (Cache) properties at different levels. Eg have block size of 100 on top level, and 500 on lower levels. Or use Full Store at top levels and Partial Store at other levels. See https://www.ag-grid.com/javascript/server-side-model-grouping/#configure-stores + 'Store Info' can be provided when loads complete, which can then be viewed using Store State. See https://www.ag-grid.com/javascript/server-side-model-grouping/#store-state--store-info
These two breaking changes only apply if using the Server-Side Row Model. 1) There is a new property serverSideStoreType which must be set to 'partial'. Stores are a new concept and there are two store types, 'partial' and 'full'. It was decided to make 'full' the default despite this decision creating a breaking change. The reason is that 'full' is what most people will probably use and is easier to learn before moving to 'partial', thus it's a breaking change for all current users with the value of simplifying how the SSRM works. 2) The undocumented property RowNode.childrenCache is now called RowNode.childStore. As this is an undocumented property, nobody should be using it. However if you are using it, it's now changed. 3) purgeServerSideCache is deprecated, replaced with refreshServerSideStore which provides the same functionality but with purge=true as an option. This allows for silent refreshes without showing the loading indicator, but instead updating the data in place.
AG-2605 25.0.0 [SSRM] Allow for cacheBlockSize to take -1, meaning try to get everything from the backend in one go.
AG-824 25.0.0 Editor popups don't keep relative positioning to grid when viewport scrolled
AG-4723 24.1.1 [Regression] When building an ag-Grid Vue.Js application, you get error AgGridVue.js dependency was not found
AG-4712 24.1.1 [Regression] React functional component is shown twice in the first row until scrolled out of view
AG-4691 24.1.0 [Regression] onCellKeyDown and onCellKeyPress don't fire for pressing the ENTER key in a group node
AG-4688 24.1.0 filterParams are not passed correctly to a child set filter by the multi filter
AG-4685 24.1.0 When gridOptions.api.setColumnDefs() with colDefs from gridOptions.api.getColumnDefs(), column menu disappear
AG-4684 24.1.0 [Docs] Theming > CDN Links reference v23 CSS which is incompatible with v24 (prevents users from clicking filter checkboxes)
AG-4672 24.1.0 [Aggregation] Built-in aggregations produce incorrect aggregation result with values of type BigInt
AG-4671 24.1.0 [Regression] Reduced performance on computing built-in aggregations due to using functional filter/reduce instead of manual loops
AG-4669 24.1.0 [Regression] PivotChart x-axis labels duplicated in AREA series type
AG-4666 24.1.0 CustomHeader refresh(...) method incorrectly called with IHeaderParams instead of the current CustomColumnHeaderParams
AG-4665 24.1.0 Incorrect changeDetectionStrategy set when immutableData set directly in gridOptions
AG-4659 24.1.0 Deselecting all items in set filters for two columns prevents filter being removed again
AG-4658 24.1.0 When getRowHeight returns NaN, the page freezes
AG-4656 24.1.0 [Row Selection] Infinite row model - pressing SHIFT+clicking row checkbox - checkbox checked, but row not selected
AG-4653 24.1.0 [Regression] Calling sizeColumnsToFit causes column values to bleed into neighboring column instead of being shortened with ellipsis
AG-4650 24.1.0 Vue 3 Support
AG-4646 24.1.0 [Filtering] Using NumericFilter with InRange option wrongly includes null values in filter result
AG-4644 24.1.0 [Pagination] Changing the paginationPageSize property value produces incorrect pagination panel counts
AG-4643 24.1.0 [Regression] Range selection area broken up in parts by columns - sizeToFit operation
AG-4642 24.1.0 [Accessibility][Master/Detail] Expanding a master row doesn't set ARIA-expanded=true
AG-4641 24.1.0 [Regression] [Master/Detail] Master row missing ag-row-group-expanded class and aria-expanded shows false when expanded
AG-4636 24.1.0 [Regression] Unmanaged RowDrag no longer sets the 'ag-row-dragging'
AG-4623 24.1.0 [Charts] line / area charts rendering issue when zoomed in (e.g. via navigator)
AG-4620 24.1.0 [Editors] Support custom debounce time and backspace in richCellEditor search
AG-4614 24.1.0 When using master/detail full-width rows and keepDetailRows, if the detail panel is opened, collapsed, and then reopened, the panel is blank
AG-4612 24.1.0 rowSelection property deprecated in error (rowDeselection had to be deprecated instead)
AG-4610 24.1.0 [Master/Detail] Detail-level autoHeight does not work when used with custom detail renderer B More Info
Detail Cell Renderer Property autoHeight replaced with Grid Property detailRowAutoHeight. So instead of this: gridOptions.detailCellRendererParams.autoHeight Have this: gridOptions.detailRowAutoHeight This was to make the property and feature work with custom detail cell renderers - so the logic is at the grid level now, rather than hidden in the default Detail Cell Renderer (and hence was only available to the default Detail Cell Renderer).
AG-4609 24.1.0 Charts - Improve tooltip renderers by automatically generating default markup from returned object
AG-4606 24.1.0 enableCellTextSelection + shift click doesn't work on ag-grid-community
AG-4604 24.1.0 [Charts] Add support for time axes in integrated charts with theme based configuration
AG-4603 24.1.0 After row dragging in tree data, group node row count is null instead of 0
AG-4602 24.1.0 [Chart] Allow correct axis range auto-sizing when using values between 0 and 1
AG-4601 24.1.0 IRowDragItem interface should be exported
AG-4597 24.1.0 Providing default filterParams causes per column filterParams to be shared for all columns
AG-4592 24.1.0 Update Angular Projects to allow peer dependencies of 9 and 10
AG-4591 24.1.0 [Charts] Allow range chart to support server-side row model More Info
Workaround - add group header names to pivotKeys on the colDef when building secondary columns: // *** workaround *** var groupHeaderName = colId.split('_')[0]; colDef['pivotKeys'] = [groupHeaderName]; (Note this method is safe when using the SSRM as pivotKeys is only used in CSRM pivoting) This is illustrated in plunker: https://plnkr.co/edit/wT3nUq6EvLSkZDpx
AG-4590 24.1.0 suppressNavigable doesn't work while row editing
AG-4589 24.1.0 [API] Reintroduce addIndex to allow inserting records at a specific index
AG-4586 24.1.0 [React] the afterGuiAttached hook does not fire the first time a custom React filter component is mounted
AG-4583 24.1.0 [Drag & Drop] Selecting all rows and drag-dropping them shouldn't reorder the top row
AG-4580 24.1.0 When using 'field dot notation', empty strings are returned as null
AG-4578 24.1.0 Editing the last cell in the grid with a popup editor and pressing TAB breaks keyboard navigation
AG-4576 24.1.0 [Regression] agLargeTextCellEditor doesn't render on multiple lines anymore
AG-4574 24.1.0 No ellipsis shown for long text value in Internet Explorer 11
AG-4568 24.1.0 [Range Selection] Holding SHIFT and click-dragging on a grid cell throws an exception
AG-4564 24.1.0 Quickly drag & dropping a column into the row group panel doesn't hide it
AG-4561 24.1.0 Grid throws exception when field is set to an empty string
AG-4525 24.1.0 [Regression] Setting whitespace for filtering value doesn't apply filter
AG-4521 24.1.0 columnApi.setColumnAggFunc throws an error
AG-4517 24.1.0 [React] React wrapper shouldn't try check for equality on the property with a React component on it
AG-4505 24.1.0 Default floating date filter with Apply button gets triggered without pressing ENTER key
AG-4504 24.1.0 When using Safari, Column Tool Panel Values rows overlap with the "Values" label
AG-4484 24.1.0 [Charts] Add support for lineDash property in Line and Area series
AG-4482 24.1.0 [Chart] Allow manipulating the chart options object at runtime
AG-4470 24.1.0 onGridReady still fires if the component is mounted and dismounted quickly
AG-4439 24.1.0 Slow column header dragging when sidebar is on
AG-4409 24.1.0 Changes in last row not saved when you TAB away from full-row edit mode
AG-4408 24.1.0 Ghost dragging element does not update after updating cell value
AG-4384 24.1.0 Material theme editor incorrectly rendered under column header (it should be over the column header)
AG-4373 24.1.0 Horizontal/vertical scroll stuttering when scrolling from the edge on iOS devices (iPad, iPhone)
AG-4339 24.1.0 dragging the dndSourceComp incorrectly activates range selection
AG-4335 24.1.0 [Keyboard Navigation] Allow suppressing built-in column header keyboard navigation and allow custom header keyboard navigation D More Info
The callback method `suppressHeaderKeyboardEvent` was added to the column definition. The methods: `navigateToNextHeader` and `tabToNextHeader` were added to the gridOptions to allow custom header navigation. See more info: https://www.ag-grid.com/javascript-grid-keyboard-navigation/#custom-navigation
suppressKeyboardEvent Grid Callback has been deprecated. This is because a similar callback exists on Column Definitions and setting such on the Default Column Definition has the same effect.
AG-4329 24.1.0 rangeSelectionChanged event fired when clicking the chart options button in the chart container
AG-4315 24.1.0 Column header dragging out of grid doesn't work when vertical scrollbar not in top position
AG-4312 24.1.0 [Regression] Dragging leaf nodes from grid to grid always appends the data
AG-4311 24.1.0 Invalid row height when using auto-height with treedata + column text wrapping More Info
This is fixed. It's a timing issue. However to get around it in the meantime, call resetRowHeights() after the grid is initialised as follows: setTimeout(function() { gridOptions.api.resetRowHeights(); }, 1000);
AG-4290 24.1.0 Tooltip Mouse Tracking does not work when holding enter on a cell
AG-4274 24.1.0 [Tooltip] Certain params props not set in the ITooltipParams object
AG-4257 24.1.0 Horizontal scrollbar rendered over last record
AG-4255 24.1.0 Column and context menu popups don't keep relative positioning to grid when container scrolled
AG-4241 24.1.0 [Frameworks] Memory not freed if api(s) not dereferenced
AG-4233 24.1.0 [Chart] Chart Data Panel is not updated with columns after change in grid options, i.e. Group column when group is added in the grid.
AG-3978 24.1.0 [React] When async filter components, floating filter params.parentFilterInstance() and params.currentParentModel() not working
AG-3877 24.1.0 Sidebar with many columns slows down grid initialisation in Internet Explorer
AG-3857 24.1.0 [React] Custom Filter Component + React: Filter Component renders incorrectly when opened for the first time in the last column
AG-3719 24.1.0 Allow unlinking/linking of charts via the api
AG-3608 24.1.0 [Charts] Add a mechanism to refresh existing charts
AG-3470 24.1.0 [Charts] Add Bar series formatter support.
AG-3458 24.1.0 Popups containing React components are incorrectly positioned
AG-3399 24.1.0 [Regression] Angular race condition, the grid is partially destroyed by the time ngOnDestroy is called
AG-3308 24.1.0 [Charts] Add support for Server-side and Viewport Row Models
AG-2530 24.1.0 Improve gridReady & FW lifecycle timing for consistency
AG-4558 24.0.0 Tooltips are not created if the cell is initially empty
AG-4551 24.0.0 Changing column visibility when using rowHeight=auto doesn't recalculate row height More Info
Workaround: Call resetRowHeights every time there's a column visibility change. This will cause rows to recalculate their height correctly as illustrated in this sample:
AG-4546 24.0.0 Provide example of internationalized file
AG-4542 24.0.0 [Regression] RTL scrolling breaks with Chrome 85
AG-4536 24.0.0 Improve speed of moving around grid cells with ARROW keys
AG-4535 24.0.0 [Chart] Setting chart options resets chart area correctly but not legend items
AG-4533 24.0.0 When dragged row is deleted dropping it generates an exception and invalid preview element
AG-4528 24.0.0 [SSRM] Row auto-height fails when using SSRM with an infinite dataset
AG-4523 24.0.0 Add missing containerStyle to AgGridReact definition
AG-4514 24.0.0 New Column Property: wrapText
AG-4510 24.0.0 Params from columnDefs, defaultColDef and columnTypes should be merged, not replaced, when merging column definitions More Info
Suppose params are provided on both defaultColDef and normal colDef, then when these are merged, the were overwriting each other instead of getting merged. For example suppose: defaultColDef = { columnsMenuParams: { suppressColumnFilter: true } } colDef = { columnsMenuParams: { suppressColumnSelectAll: true } } Expected result (what the column actually gets): { columnsMenuParams: { suppressColumnSelectAll: true, suppressColumnFilter: true } } However the actual result before this fix is that the second set of params was overwriting the first set, resulting in this: colDef = { columnsMenuParams: { suppressColumnSelectAll: true } } The param objects for which this deep copy happens are as follows: tooltipComponentParams, headerGroupComponentParams, cellRendererParams, cellEditorParams, pinnedRowCellRendererParams, columnsMenuParams, headerComponentParams
AG-4508 24.0.0 [Regression] Custom Tooltip Component params.column no longer exists
AG-4502 24.0.0 Docs Improvement - Clarify how to import standalone charts when using vanilla js
AG-4499 24.0.0 Docs bug : Install with NPM docs section imports needs to be corrected
AG-4494 24.0.0 [Regression] Editing a cell in the last row with enterMovesDownAfterEdit=true throws an exception
AG-4491 24.0.0 [Fill Handle] Current cell value should be added to the fill handle operation FillOperationParams
AG-4490 24.0.0 onCellKeyPress is not raised on enter key press when entering edit mode
AG-4466 24.0.0 [Regression] Range selection breaks pinned column border styling
AG-4465 24.0.0 Regression: Slower scrolling speed in IE11 when using ag-Grid v23 vs v22
AG-4455 24.0.0 Scrolling issue with Master Detail and auto height
AG-4454 24.0.0 ColumnsToolPanel SELECT ALL un-hides columns with hide=true and suppressToolPanel=true
AG-4453 24.0.0 DOCS: Export page - change export #export-on-an-ipad to "export-on-ios"
AG-4446 24.0.0 Filter popup in Excel-mode=windows closes on each data update
AG-4442 24.0.0 Unmanaged RowDragging with SSRM throws exceptions in console
AG-4432 24.0.0 [Accessibility-regression] Broken keyboard navigation in the context menu when using a screen reader
AG-4429 24.0.0 Allow API to flush async transaction queue
AG-4425 24.0.0 When using immutable data, setting new tree data causes the expand/collapse chevron to disappear
AG-4424 24.0.0 Calling setColumnDefs with updated columnDefs throws a console error
AG-4422 24.0.0 Custom tooltip doesn't disappear when pressing ENTER to finish editing the cell
AG-4420 24.0.0 Status bar incorrectly shows 0 of 0 of -1 when using the Viewport Row Model
AG-4415 24.0.0 [Accessibility] Allow setting ARIA role on the column header when using a custom header renderer
AG-4412 24.0.0 Adding a leaf node doesn't immediately apply the group-expanded/collapsed styles to the group node
AG-4410 24.0.0 Row autoHeight does not work with auto group column in SSRM
AG-4405 24.0.0 Flickering when expanding detail grid when using SSRM and embedFullWidthRows=true
AG-4400 24.0.0 Row dragging across many records not inserted in new location and throws an exception
AG-4394 24.0.0 [Accessibility] Add ARIA tags in the paging panel
AG-4393 24.0.0 [Keyboard Navigation] Allow using keyboard navigation to navigate to and access the pagination panel
AG-4391 24.0.0 [Accessibility] Add aria-label to provided filter menu inputs
AG-4390 24.0.0 [Accessibility] Allow updates to sort order to be announced
AG-4389 24.0.0 [Accessibility] Allow column menu tabs to be announced correctly in JAWS
AG-4388 24.0.0 Cleanup Legacy Properties (> 1 year old) B More Info
The following properties that have been deprecated for over a year have been removed: gridOptions ------------ - pivotTotals (use pivotColumnGroupTotals = 'before' | 'after') - gridAutoHeight (use domLayout = 'autoHeight') - groupSuppressRow (remove row groups and perform custom sorting) - suppressTabbing (use the grid callback suppressKeyboardEvent(params)) - showToolPanel (use gridOptions.sideBar) - toolPanelSuppressRowGroups (use toolPanelParams.suppressRowGroups) - toolPanelSuppressValues (use toolPanelParams.suppressValues) - toolPanelSuppressPivots (use toolPanelParams.suppressPivots) - toolPanelSuppressPivotMode (use toolPanelParams.suppressPivotMode) - toolPanelSuppressColumnFilter (use toolPanelParams.suppressColumnFilter) - toolPanelSuppressColumnSelectAll (use toolPanelParams.suppressColumnSelectAll) - toolPanelSuppressSideButtons (use toolPanelParams.suppressSideButtons) - toolPanelSuppressColumnExpandAll (use toolPanelParams.suppressColumnExpandAll) - contractColumnSelection (use toolPanelParams.contractColumnSelection) - enableSorting / enableServerSideSorting (use sortable=true on the column definition) - enableFilter / enableServerSideFilter (use filter=true on the column definition) - enableColResize (use resizable = true on the column definition) - getNodeChildDetails() (use new tree data) - doesDataFlower() ColDef ------- - suppressSorting (use colDef.sortable=false) - suppressFilter (use colDef.filter=false) - suppressResize (use colDef.resizable=false) - suppressToolPanel (use coldDef.suppressColumnsToolPanel) - tooltip (use colDef.tooltipValueGetter) RowNode ---------- - canFlower - flower - childFlower Events ------- - floatingRowDataChanged (use pinnedRowDataChanged)
AG-4387 24.0.0 Set Filter + calling params.success: console warning is thrown for loading overlay
AG-4386 24.0.0 Bean reference error thrown when set filter is open and grid is destroyed
AG-4382 24.0.0 [Regression] Filtering pivot column labels causes pivoted values to disappear from grid area
AG-4381 24.0.0 Using checkbox selection prevents leaving ag-grid by pressing the TAB key
AG-4380 24.0.0 Allow the ag-Grid angular component to be wrapped
AG-4379 24.0.0 Quickly filtering Columns Menu using the mini filter clears out all columns and rows
AG-4375 24.0.0 RowClassRules are not refreshed when a cell is updated via the fill handle
AG-4368 24.0.0 Scrollbar position changes when calling resetRowHeights without changing rowHeight
AG-4367 24.0.0 Custom header template without column menu icon throws style error in console
AG-4366 24.0.0 Make default value rowDeselection: true and add new option to allow to suppress it so they can have old behavior B More Info
rowDeselection has been deprecated and now the grid allows row deselection by default. To block row deselection set suppressRowDeselection to true.
AG-4364 24.0.0 Allow zero value for grid property autoSizePadding
AG-4363 24.0.0 [Accessibility] Add ARIA labels to cell editors
AG-4351 24.0.0 Incorrect event source set in onColumnVisible when using column menu and column tool panel
AG-4349 24.0.0 [Provided filters] Empty filter operator option is called Empty as per docs, while in product it's "Choose One" (no localization possible either)
AG-4346 24.0.0 Floating numeric filter parses MINUS sign as NaN
AG-4345 24.0.0 When enterMovesDown=true/enterMovesDownAfterEdit=true, pressing ENTER key on last row causes console error
AG-4338 24.0.0 Regression: [Pivot] Calling resetRowHeight with secondary columns doesn't resize the rows properly
AG-4327 24.0.0 Context is not defined in params for the following callbacks: getDetailRowData and filterParams.cellRenderer
AG-4325 24.0.0 enterMovesDownAfterEdit throws error when enter key is pressed on the last row
AG-4322 24.0.0 [Accessibility] Update ARIA role, label, title, sort tags for column headers
AG-4319 24.0.0 Header should not do hard refresh of entire row when only small changes to columns
AG-4314 24.0.0 [Accessibility] Allow passing the WAVE, AXE accessibility audit
AG-4310 24.0.0 Ensure function name is extracted correctly for all browsers
AG-4306 24.0.0 Balham Theme doesn't allow foreground-color to be a CSS variable
AG-4303 24.0.0 Resetting many set filters makes SELECT ALL in a set filter slower each time
AG-4299 24.0.0 [React] Using setState to update columnDefs when rowData is not empty shows an empty grid and console error
AG-4296 24.0.0 Chart shows all range of data when created even if chart.navigator.min/max defaults were changed
AG-4293 24.0.0 Grid selection / focus status CSS doesn't match the grid state
AG-4292 24.0.0 Calling setAutoGroupColumnDef with pinned: true results in a broken layout with different column widths for header and grid cells
AG-4291 24.0.0 Reactive Columns B More Info
##################################### # Column 'initial' Values ##################################### Column definitions now have 'initial' values for all stateful items. The full list of 'initial' values is as follows: initialWidth initialFlex initialHide initialSort initialSortIndex initialAggFunc initialPivot initialPivotIndex initialRowGroup initialRowGroupIndex initialPinned When a Column Definition includes an initial value, it is applied when the column is created only. It is not applied when column definitions are updated. The corresponding non-initial values are always applied, even during columns updates. For example the column definition attribute "width" is used when the column is created or any time the column definitions are updated after creation. The column definition attribute "initialWidth" is used when the column is created only. ##################################### # Gone - Immutable Columns - No longer needed ##################################### The grid property "immutableColumns" is gone. The behavior this property set is now the default (with the exception of column order, mentioned below). In the old design, when updating column definitions, if "immutableColumns=false" then column state information (width, pinned, rowGroup etc) would not be applied, as that is only applied when columns are created. By setting. If "immutableColumns=true", then column state information WAS applied. In the new design, as explained above, each state property has two variants, a "normal" and a "initial". This allows selectively applying state on creates vs updates of columns, thus "immutableColumns" is redundant. The only additional benefit to "immutableColumns" was that it applied the order of the column definitions when they were updated. To have the order applied when column definitions are updated, set the new grid property "applyColumnDefOrder=true". ##################################### # Column State Changes ##################################### Column State management has been refactored to be more flexible. A new documentation page dedicated to Column State is available here: https://www.ag-grid.com/javascript-grid-column-state/ Data returned back from gridApi.getColumnState() now additionally has the following attributes: pivot, rowGroup, sort and sortedAt. gridApi.setColumnState(state) is now deprecated and replaced with gridApi.applyColumnState(params). This allows additional parameters to be passed to the API on top of just the state. To move your code over to the new API without changing your applications functionality, instead of calling setColumnState(state), call applyColumnState({state: columnState, applyOrder: true}. When applying column state, applying the order of the columns is now optional and specified via params.applyOrder. Whey applying Column State, Columns in the grid for which no state is provided will be left untouched - previously they would be cleared of all state. Optionally a Default Column State can be applied to Columns where no state is provided. Why applying Column State, it is now possible to have attributes not applied. Eg if Column State only includes Sort information, other Column State (Row Group, Width etc) will not be impacted. The above items result in fine grained control of Column State via getColumnState() and applyColumnState() methods. ##################################### # Property suppressSetColumnStateEvents Renamed To suppressColumnStateEvents ##################################### If using property suppressSetColumnStateEvents, simply replace with property suppressColumnStateEvents. ##################################### # ColDef.sortedAt replaced with ColDef.sortIndex ##################################### If you want to sort many columns then use sortIndex rather than sortedAt to specify the order of the sorting. ##################################### # Sort State ##################################### gridApi.getSortModel() and gridApi.setSortModel() are deprecated. Sort state is now included in Column State, thus use columnApi.getColumnState() and columnApi.applyColumnState() instead.
See 'More Info' for full details, these changes make more sense in context of the wider changes. 1) Column stateful items (width, flex, hide, sort, aggFunc, pivot, pivotIndex, rowGroup, rowGorupIndex, intitialPinned) always get re-applied when Column Definitions are updated. 2) Grid Property 'immutableColumns' is now gone. Columns are immutable by default. 3) Grid API 'getColumnState()' now returns back more information about columns. This is only a breaking change if your application isn't able to work with the extra details. 4) Grid API 'setColumnsState()' is replaced with 'applyColumnState()'. The new method is similar but more powerful / flesible. 5) Grid Property 'suppressSetColumnStateEvents' renamed to 'suppressColumnStateEvents' 6) Column Definition property sortedAt replaced with sortIndex 7) Grid API's 'getSortModel()' and 'setSortModel()' are deprecated as sort information is now part of Column State. Use get/applyColumnState() for sort information instead.
AG-4286 24.0.0 Output Error when colDefs are not provided and treeData is true
AG-4279 24.0.0 [Accessibility] Add ARIA label to row selection checkbox cell
AG-4271 24.0.0 Tree data indentation not correctly updated when rows are moved
AG-4266 24.0.0 [API] Add API methods indicating whether the undo/redo stack is empty More Info
The following grid api methods have been added to support this use case: getCurrentUndoSize() / getCurrentRedoSize()
AG-4254 24.0.0 [Accessibility] Allow screen readers to read column names in the column tool panel
AG-4250 24.0.0 [Accessibility] Add role definitions to grouped rows to allow them to be read correctly by screen readers
AG-4248 24.0.0 IE11 - Column / Value Drop Zones look too small
AG-4247 24.0.0 IE11 - Header tooltips never disappear
AG-4243 24.0.0 [Column Flex] When using column flex and maxWidth, last column header text isn't shown
AG-4236 24.0.0 [Cell Editing] Regression: Pressing ENTER on a cell with agSelectCellEditor doesn't open editor popup
AG-4235 24.0.0 [Cell Editing] Regression: When stopEditingWhenGridLosesFocus=true, clicking or pressing ENTER on agSelectCellEditor doesn't open popup to edit values
AG-4231 24.0.0 [Styling] AgComponent combobox has oversize border - restore old look with thin border
AG-4225 24.0.0 Change default text for filter buttons
AG-4224 24.0.0 [Master/Detail] Broken layout of detail grid when paging master grid
AG-4214 24.0.0 [Column Sizing] Auto-sized column still truncates text (Alpine theme only)
AG-4210 24.0.0 regression: When using immutableData and CellClassRules, applying two classes in the same condition throws a DOMException
AG-4204 24.0.0 [Column Menu] Group by/Ungroup by column menu items are always shown (shouldn't be according to docs)
AG-4203 24.0.0 [DOCS] Revise "Performance">>"Create Fast Cell Renderers" section to NOT advise against use of frameworks (react, angular, etc) in cell-renderers
AG-4202 24.0.0 React - Getting Started Guide - Make Idiomatic
AG-4184 24.0.0 [Column Groups] Column group can be dragged but not dropped between two columns
AG-4157 24.0.0 [Column Sizing] When all columns are flex, "Reset Columns" doesn't reset column widths
AG-4153 24.0.0 Charting (including Pivot charts) a group column + without a series fails if using groupIncludeTotalFooter
AG-4140 24.0.0 [Pivoting] Allow aggregation without totalling (show multiple sum(values) separately for a column value instead of summing them into a single TOTAL)
AG-4116 24.0.0 investigate possible memory leak when using master/detail and expanding nodes
AG-4051 24.0.0 onCellFocused event fired twice when expanding or collapsing a group row
AG-4050 24.0.0 [Tree-data] Using “constructor“ as group name throws an error
AG-4041 24.0.0 [React] React Cell Renderers are being destroyed and recreated when window is resized vertically
AG-4004 24.0.0 [API] Allow accessing oldValue in onCellEditingStopped event
AG-3997 24.0.0 Allow configuring the set filter to be able to toggle the brackets of the "(Select All)" checkbox text
AG-3975 24.0.0 Custom grouping example has wrong indentation
AG-3954 24.0.0 [Column Menu] Allow column menu columns order to be unsynchronized with grid column (v21 behavior)
AG-3943 24.0.0 When using a column group header, row autoHeight erroneously takes into account the height of hidden columns
AG-3913 24.0.0 Autosize columns + flex columns distorts columns
AG-3842 24.0.0 [Pivot] pivot: true + grouping by a column + column label by same column + move column label moved to grouping: The grid displays twice the grouping
AG-3840 24.0.0 Excel export puts the formatted second-column group value in the first column of the export instead
AG-3823 24.0.0 setColumnState gives warning when reloading state with rowgroups
AG-3769 24.0.0 FullWidthRows not animated when rows are added to the grid More Info
After setting new data, each Full Width Row is given the chance to refresh. This is because the grid has no way of knowing the the data has changed for this row - eg the grid doesn't know what values you are interested in. Because no refresh() method is provided on the Full Width Cell Renderer, the grid is destroying and re-creating each row, thus the row is not transitioning to the new location, as it's getting destroyed at the old location and a new row getting inserted at the new location. To get around this, include a refresh() method on the Full Width Cell Renderer. Returning 'true' tells the grid you have taken care of the refresh yourself, that you do not need the row to be re-created. Here is an updated plunker demonstrating: https://plnkr.co/edit/OeX7SYNptxUgJpbf HOWEVER - I have enhanced the functionality in ag-Grid. Now the fullWidthRows will only be asked to refresh after Transaction Update for rows where they were updated, or for rows where their parents were updated (so covers master / detail, where detail will refresh when master is updated).
AG-3684 24.0.0 [Fill Handle] Allow setting the direction of use of fill handle (horizontal, vertical, both)
AG-3632 24.0.0 Allow a new property to change the default AND / OR option for simple filters
AG-3521 24.0.0 [React] cellRendererFramework + autoSizeAllColumns not working when reactNext is true
AG-3474 24.0.0 [SSRM] Pinned rows break when rowcount > 1143000
AG-3443 24.0.0 [Touch devices] Click event is not fired in custom header components + touch devices
AG-3376 24.0.0 Regression - Printing does not work with pinned columns
AG-3146 24.0.0 context menu shows twice if right-click while is opened very close to the edge of the already opened context menu
AG-3084 24.0.0 When first filter condition is cleared, second AND/OR filter condition is hidden (it shouldn't be) More Info
The filters now have property alwaysShowBothConditions, to show both conditions.
AG-2896 24.0.0 columnTypes set in defaultColDef are not applied
AG-2847 24.0.0 [SSRM] Row selection does not work on group rows with SSRM
AG-2821 24.0.0 [Charts] Add support for Chart Themes
AG-2805 24.0.0 Support custom formatting/parsing for values entered in number filters
AG-2629 24.0.0 [Accessibility] Allow screen readers/keyboard navigation to access the column headers sort and filtering elements More Info
Users cannot focus the sort indicator and column menu items individually, but can trigger their actions as follows: * Press ENTER to toggle the sorting state of that column. * Press Shift + ENTER to toggle multi-sort for that column. * Press Ctrl/Cmd + ENTER to open the column menu for the focused header. * When a column menu is open, simply press ESCAPE to close it and the focus will return to the header.
AG-2554 24.0.0 .ag-row-group class is not applied consistently to all row groups on Tree Data
AG-1959 24.0.0 [Aggregation] Add additional parameters to the Custom Aggregation methods B More Info
Custom aggregation functions now take a params object, previous they took a list of values. If you have any custom aggregation functions, you will need to update as follows: OLD function myCustomAggFunc(values) { values.forEach(... } OLD function myCustomAggFunc(params) { params.values.forEach(... }
AG-1765 24.0.0 Grouping - Pinned grouped column not saving state
AG-4298 23.2.1 ColumnState missing from "@ag-grid-enterprise/all-modules"
AG-4282 23.2.1 [SSRM][Master/Detail] Child rows rendered over master rows when using auto-height for detail grid in SSRM
AG-4276 23.2.1 [API] Regression: detailCellRendererParams was changed to ICellRendererParams in 23.2. Need to revert back to 'any'
AG-3674 23.2.1 [Fill Handle] Allow fill handle to work both horizontally and vertically at the same time R More Info
Rejected as there is no correct way to run both directions at the same time. New cells either take value from a horizontal progression or vertical progression.
AG-3300 23.2.1 Cell focus lost when setting column definitions + deltaColumnMode
AG-1732 23.2.1 [Clipboard] Pasting text into a cell with double quote removes quoted text
AG-4486 23.2.0 When applying a filter dynamically to the grid, getRows is called twice
AG-4449 23.2.0 Overlapping cell values when using pivoting with async updates and filtering column values More Info
Duplicate - tracked with AG-4382
AG-4448 23.2.0 Overlapping cell values when using pivoting and adding data More Info
Duplicate - this issue is being tracked with AG-4382
AG-4427 23.2.0 Calling ResetRowHeight when using column flex, paging and row auto-height blanks out the top row on every page More Info
Tracked by AG-4282
AG-4414 23.2.0 TextCustomComparator incorrectly converts Turkish I character to i R More Info
This is caused by JavaScript's lowercasing of text. By default we use toLowerCase, but even toLocaleLowerCase might not behave how the developer wants. However, the grid provides textFormatter which will allow them the flexibility to format characters how they wish.
AG-4360 23.2.0 [Keyboard Navigation] Add keyboard navigation to expand/collapse chevron in a group row More Info
Keyboard navigation is not added to the expand/collapse chevron because expand/collapse action is performed and expand/collapse status is announced when focus is in the first column.
AG-4281 23.2.0 [API] Allow suppressing cell mouse down and mouse click events to prevent cells from being announced as clickable by screen readers
AG-4256 23.2.0 Fix typings for IViewportDatasourceParams
AG-4252 23.2.0 ColDef.cellEditorSelector definition is wrong
AG-4249 23.2.0 IE - Keyboard navigation doesn't work on cells with wrappers
AG-4245 23.2.0 Make AutoGroupColumnDef a reactive property
AG-4244 23.2.0 AutoGroupColumnDef does not force the group columns to get the new column definition More Info
This will update auto groups. The cells will not be refreshed. If the new column definition impacts cells, eg new cell renderer selected, then will need to call api.refreshCells({force:true}) in addition after the property has been changed.
AG-4228 23.2.0 Add pan/zoom support to chart axes ("visibleRange" property)
AG-4227 23.2.0 Add chart navigator to allowing panning and zooming
AG-4221 23.2.0 (Blanks) should match the mini filter
AG-4220 23.2.0 Create Excel mode for set filter D More Info
Provided filter filterParams.applyButton has been deprecated. Use filterParams.buttons instead. Provided filter filterParams.clearButton has been deprecated. Use filterParams.buttons instead. Provided filter filterParams.resetButton has been deprecated. Use filterParams.buttons instead.
AG-4212 23.2.0 [Column Filters] Add selectAllOnMiniFilter property to set filter More Info
This behaviour is now available with Excel Mode.
AG-4209 23.2.0 Theme material has missing borders and wrong sizes
AG-4207 23.2.0 Bug in Value Handler Example - when editing, Value Handler doesn't accept valid value
AG-4201 23.2.0 [Regression] Editor popup rendered a line lower than it should be
AG-4196 23.2.0 Visual defect when tool panel filter is loading