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
AG-5301 25.2.1 [Regression] Build failing with error "cannot find module '@ag-grid-enterprise/excel-export'"
AG-5287 25.2.0 Changing iChartOptions can mutate chart theme
AG-5282 25.2.0 [Regression] When using master-detail with dynamic detail row height without a vertical scrollbar shown, master-level records below the expanded detail don't get rendered
AG-5270 25.2.0 Document testing React Hooks with Enzyme
AG-5269 25.2.0 When using SSRM, if you call api.getDisplayedRowAtIndex on a row that is not displayed, the page will hang
AG-5262 25.2.0 When selecting multiple rows and clicking the row drag handle of the lower one, the upper one moves down to it instead of remaining in place
AG-5261 25.2.0 When using serverSideRowType=PARTIAL, isServerSideGroupOpenByDefault callback is not called
AG-5259 25.2.0 When calling applyColumnState to clear sort for all columns, sort isn't cleared on auto-group column
AG-5258 25.2.0 When calling applyColumnState using row grouping and aggregation, value column header and aggFunc state don't get applied
AG-5251 25.2.0 [Regression] When using tree data with more than 19 depth levels, the 20th level is not indented but instead displayed on the left side of the cell
AG-5250 25.2.0 [Regression] When calling onRowHeightChanged(), custom cell editor closes
AG-5244 25.2.0 When stopEditingWhenGridLosesFocus=true, editing a cell in a master row doesn't stop when clicking inside the detail grid
AG-5242 25.2.0 [Excel Export] Separate default export params for CSV and Excel
AG-5241 25.2.0 When using full-row editing with one editable cell, pressing TAB focuses the next editable cell instead of the next cell in the navigation order
AG-5239 25.2.0 When pressing BACKSPACE or DELETE key over a cell without entering edit mode first, the cell value saved is undefined instead of empty string
AG-5237 25.2.0 [Regression][Angular] When disabling ngZone, clicking a row in AG Grid throws an exception in console
AG-5236 25.2.0 [Regression] When using column groups and moving a leaf column header into another column group, column group header width doesn't get refreshed correctly
AG-5233 25.2.0 [Regression] When setting dynamic row height and filtering, not all matching records are rendered until you scroll
AG-5232 25.2.0 [Regression] When using infinite row model and setting lastRow=0 in successCallback, calling refreshInfiniteCache no longer gets new data as getRows is not called anymore
AG-5231 25.2.0 When using multi filter, modifying the set filter item selection and setting new data throws an exception
AG-5228 25.2.0 When using multi-filter and not setting any value in the text filter, saving and restoring filter state doesn't display the selected set filter value in the floating filter input
AG-5227 25.2.0 When exporting to Excel, grid column group header rows aren't exported by default
AG-5217 25.2.0 [Excel Export] Add support for Headers and Footers in the Excel export
AG-5212 25.2.0 [Regression] When using viewport row model, cells containing value '0' are rendered as empty
AG-5206 25.2.0 [Regression] When using infinite row model with paging and pagesize=blockSize, pagination panel showing "1 to ? of more"
AG-5192 25.2.0 When focus is in a custom detail renderer with form, pressing TAB key doesn't move focus to next input but to next master row instead
AG-5188 25.2.0 [website] Add debounce to the search textbox on the changelog page
AG-5186 25.2.0 In Chromium-based browsers sidebar tool panel labels aren't centered next to images, but appear aligned to the left More Info
This is a BUG in Chromium - One temporary solution is to add a custom style: .ag-side-button-label { width: fit-content }
AG-5185 25.2.0 [Regression] When grid cells are refreshed, '0' cell values change to blanks
AG-5181 25.2.0 [Regression] When using IE11 when a vertical scrollbar is shown in the grid, calling SizeColumnsToFit doesn't stretch columns all the way across, but leaves some whitespace
AG-5179 25.2.0 [Excel Export] Allow setting page size and layout orientation for the Excel export file
AG-5178 25.2.0 [Excel Export] Allow exporting an image in Excel export above or below the grid, not in the exported grid data cells
AG-5177 25.2.0 Chart legend formatter is not called
AG-5172 25.2.0 When special characters without a visual representation are present in grid cells, exported Excel file produces errors in Excel
AG-5166 25.2.0 [Regression] When setting a filterModel and then clearing column definitions, exception is thrown
AG-5150 25.2.0 When Multi Row Dragging, clicking on drag handle collects rows before drag is performed (apart from first row)
AG-5149 25.2.0 When clicking the column filter CANCEL button with a blank filter value an exception is thrown
AG-5144 25.2.0 [React] Add support for Reactive callbacks
AG-5140 25.2.0 Adding rows using Transaction with a supplied addIndex is slow
AG-5135 25.2.0 [Regression] When using tree data, applying a transaction or calling setRowData exits an ongoing cell editing operation
AG-5133 25.2.0 [Regression] ValueParser parses 0 as empty value
AG-5132 25.2.0 [Regression] When using Chrome and clicking a button in a partially visible full-width row (or detail row in master-detail), the viewport scrolls down to bring the entire (full-width/detail container) row into view and doesn't fire the button click event
AG-5125 25.2.0 [Regression] React context not updated after a change
AG-5115 25.2.0 [Regression] When calling applyColumnState with applyOrder=true, the auto group column (ag-Grid-AutoColumn) is placed last in the order of columns
AG-5113 25.2.0 [Angular] Add Angular 8 to the peers dependencies for Angular projects
AG-5111 25.2.0 Marker formatter isn't called when using scatter chart
AG-5110 25.2.0 [Docs] Project built following instructions on "Getting started with Vue3" docs page doesn't compile
AG-5109 25.2.0 [Excel Export] Add property to change the default font size
AG-5107 25.2.0 Header tooltip doesn't make the string value safe for showing
AG-5102 25.2.0 Column group with a hidden column returns 2 top-level columns for api.getColumnDefs()
AG-5101 25.2.0 Memory leak when applying high-frequency batch inserts with sorting applied
AG-5092 25.2.0 Call to get scrollbarWidth leaks DOM elements
AG-5090 25.2.0 [Regression] When toggling column visibility using checkboxes in column menu/column tool panel, onColumnVisible params not populated with visible/column values
AG-5084 25.2.0 When using tree data, calling setColumnDefs displays group column but with blank cell values More Info
As a workaround, please specify Col ID as shown in this plunker:
AG-5079 25.2.0 Deprecate `suppressColumnStateEvents` D More Info
suppressColumnStateEvents has been deprecated
AG-5073 25.2.0 Setting suppressColumnStateEvents=true prevents restoring column row grouping and aggregation state
AG-4980 25.2.0 [Regression] Unable to save customized theme and render the value in integrated chart
AG-4810 25.2.0 [Chart] Introduce an option that prevents chart tooltips to show up immediately
AG-4647 25.2.0 [Infinite Row Model] Selected cell loses focus when scrolled far out of view
AG-4471 25.2.0 [Excel Export] Allow exporting cell date-type values to Excel date format
AG-4095 25.2.0 [Charts] Allow suppressing chart highlight
AG-4087 25.2.0 [Charts] Allow positioning bar/column labels outside of bars/columns
AG-4060 25.2.0 Allow disabling chart highlight when hovering over a chart element
AG-3921 25.2.0 [Chart] Improve layout of overlapping bubbles in bubble charts
AG-3835 25.2.0 [Chart] Add a label formatter for pie/doughnut charts similar to the label formatter option for bar charts
AG-3833 25.2.0 [Excel Export] Allow column spanning with Excel export
AG-3754 25.2.0 Allow charts to handle long labels without breaking the layout
AG-3664 25.2.0 [Chart] Add support for placing multiple axes on a single side of the chart
AG-3571 25.2.0 [Charts] Provide scrollbar for big charts
AG-3439 25.2.0 [Excel Export] Allow carriage-returns/multiple line formatting when exporting to Excel More Info
You can export long text values on multiple lines using the code below: excelStyles: [{ id: 'address', alignment: { wrapText: true } }] See this shown below:
AG-2607 25.2.0 [SSRM] When trying to scroll to a particular row far away given a large number of records (
AG-2553 25.2.0 [Excel Export] Allow customising of group column headers when exporting to Excel
AG-2432 25.2.0 [Excel Export] Allow exporting images to Excel in the exported grid data cells
AG-2370 25.2.0 [Excel Export] Allow exporting multiple grids to a single Excel file by supporting multiple sheets
AG-2333 25.2.0 [Excel export] Allow inserting hyperlinks in the cells of the exported Excel file
AG-2303 25.2.0 [Excel Export] Allow exporting formulas to Excel
AG-1504 25.2.0 [Excel Export] Add author value to generated XML Excel to avoid edit error
AG-5159 25.1.0 [Layout & Theming] Investigate styling scrollbar thumb according to Light/Dark mode More Info
This is an application-level concern. If the web application detects that the iOS/MacOS Light/Dark mode is selected, it should change the ag-grid theme accordingly to ensure that the scrollbar thumb is visible in the selected Light/Dark iOS/MacOS theme.
AG-5085 25.1.0 When ag-grid hosted in an iframe, pasting a value loses focus (Windows+Mac) and pastes an empty value in target cell (Windows)
AG-5075 25.1.0 [Regression] Empty string or null value is pasted as a string with a space character
AG-5074 25.1.0 [Regression] When using the new clipboard implementation, empty values cannot be pasted into grid cells
AG-5054 25.1.0 [Charts] When using cross-filtering, pie chart tooltips are showing the same value for the filtered and non-filtered segments of the chart
AG-5051 25.1.0 [Regression] Master rows without children are rendered without indentation
AG-5050 25.1.0 When using tree data, inserting a group row via transaction doesn't insert at correct index R More Info
This is not a bug. The user is not inserting one group, they are inserting one LEAF and then the grid is creating a Filler Group group: The grid keeps the items in the same order as provided, however if the item is not provided (which is the case for Filler Group), then the order is indeterminate. To fix this, please don't depend on Filler Groups - instead create the group row (at the required location) first and then add the child row as a separate item. Here is an updated plunker implementing this approach: Note that the new row is inserted at the correct position.
AG-5049 25.1.0 Ungrouping a hidden column makes it visible again R More Info
In order to prevent the column from becoming visible after ungrouping, you need to set suppressMakeColumnVisibleAfterUnGroup: true This approach is shown here:
AG-5048 25.1.0 Allow RowDragComp to be rendered in a custom target
AG-5047 25.1.0 When refreshValuesOnOpen=true, async set filter values are loaded twice the first time set filter is opened
AG-5043 25.1.0 RowDropZoneParams should be exported
AG-5042 25.1.0 Remove performance issue around calling rowNode.setExpanded() multiple times
AG-5041 25.1.0 When Column Definitions are updated, column groups lose expand/collapse state More Info
In order to keep expand/collapse state, you must have groupId set on the column group as shown in sample below. Open sample, expand column group, click button above grid - group header expand state is kept.
AG-5040 25.1.0 Column autoSize respects text size of cell values modified via cellClassRules but not rowClassRules More Info
The issue was caused by the specific implementation route chosen. Instead of cell class rules, you should be putting settings that alter text size in CSS classes instead of setting styles for each cell individually. In order to implement this, we recommend to instead create a CSS selector `ag-row .ag-cell` and set any setting that changes font-size there, as shown here:
AG-5036 25.1.0 Update React Props if refresh is invoked but not implemented on custom component
AG-5033 25.1.0 [React] Allow ternary expressions when adding Ag-Grid React Column More Info
Note that applyColumnDefOrder will need to be set in order for column order to be maintained.

See the Applying Column Order documentation for more information.
AG-5032 25.1.0 [Regression] Column Group expand/collapse button shown unnecessarily
AG-5029 25.1.0 When using master/detail grid, horizontal scrollbar on detail grid (using flex) flashes on/off when grid is resized R More Info
Not possible to fix. The browser is showing the scrollbar (because the contents don't fit) before the grid is given the chance to rectify the situation. We do exaggerate the problem by debouncing by 50ms, so the scrollbar is visible for longer, however even if taking the debounce out, there will still be a flicker. What the user can do to fix is use grid property suppressHorizontalScroll on the detail grid - which would then never show the horizontal scroll, which could make sense for them - however if user widens a column via the grid's UI, then this will create a UX issue for them (as no scrollbar to view all the columns).
AG-5028 25.1.0 React Component attempts to modify frozen props
AG-5021 25.1.0 Expanding groups with Footer causes the grid to lose focus
AG-5019 25.1.0 When using autoHeight on a column with paging, top area of the grid is blank after purging server-side cache
AG-5017 25.1.0 Deprecate Declarative Support for Angular D More Info
Declarative support for column definitions (i.e.
AG-5016 25.1.0 [Regression] Missing indeterminate state icon for 'Select All' checkbox in the set filter
AG-5011 25.1.0 Regression in Combination of Different Series Types Chart Example
AG-5007 25.1.0 [Regression] When updating records using tree data and immutable data records to be removed are shown as blank
AG-5006 25.1.0 [Regression] Screen readers announces clicking on the header checkbox selection as "space" instead of "checked/unchecked"
AG-5002 25.1.0 Add alwaysShowHorizontalScroll to gridOptions
AG-5001 25.1.0 For Print Example logs errors in the React FW
AG-4998 25.1.0 [Regression] React - Context not updated after a change and returns the old value
AG-4995 25.1.0 [Regression] Applying filter model in onGridReady doesn't work in v25 server-side row model
AG-4994 25.1.0 All floating filter components recreated unnecessarily when applying column state to one column
AG-4993 25.1.0 Cell editor is closed when new row is added to grid R
AG-4988 25.1.0 enableBrowserTooltips doesn't work for Headers
AG-4987 25.1.0 [Regression] Out-of-place textbox in the upper-left corner of the chart
AG-4986 25.1.0 [Regression] Pasting using ClipboardAPI doesn't work and throws an exception in Firefox More Info
Until this is resolved, temporarily revert to the old (pre-v25) Clipboard API by setting: suppressClipboardApi: true This is demonstrated in this sample:
AG-4985 25.1.0 Improved performance for when 100+s of columns
AG-4979 25.1.0 dnd-ghost isn't rendered when grid is on fullscreenMode
AG-4972 25.1.0 [Angular] Master-Detail - detailRowAutoHeight does not work in Angular with customDetailCellRenderer R More Info
Not a bug. To fix, include the following CSS. app-detail-cell-renderer { display: inline-block; } Basically Angular leaves in the Angular DOM elements which don't have any style by default, including not getting sized correctly.
AG-4971 25.1.0 [Regression] When using server-side row model with paging, pagination panel showing "1 to ? of more"
AG-4970 25.1.0 When using infinite scrolling, pressing CTRL+DOWN ARROW causes grid to lose focus
AG-4969 25.1.0 [Regression] All previously loaded cell renderers refresh when a new data block is loaded
AG-4968 25.1.0 [Regression] Set filter - filterParams.cellRenderer throws error when given null/empty string/undefined data value
AG-4965 25.1.0 [Regression] Horizontal scrollbar flickers off and on for specific grid height R More Info
This flickering happens because the size of the viewport is changing from page to page when using paginationAutoPageSize:true. There are 2 ways to resolve this depending on the layout you want: 1) Set `flex: 1` or `sizeColumnsToFit` - this will change the column layout 2) Set alwaysShowHorizontalScrollbar: true to always display a horizontal scrollbar, keeping the column layout
AG-4962 25.1.0 When clicking a grouped row, the grid returns two rows with the same rowIndex
AG-4961 25.1.0 ClipboardApi doesn't work when grid is hosted in an iframe More Info
Until this bug is resolved, temporarily revert to the old (pre-v25) Clipboard API by setting: suppressClipboardApi: true This is demonstrated in this sample:
AG-4955 25.1.0 When enableRTL=true and zooming (to produce certain resolutions) horizontal scrollbar doesn't scroll viewport at all and scrolls headers in opposite direction
AG-4949 25.1.0 Add Angular 11 to list of peerDependencies
AG-4948 25.1.0 [Regression] Cannot paste a copied single value in multiple cells anymore
AG-4947 25.1.0 [Typings] API Method setModel(model: ProvidedFilterModel) doesn't accept set filter models, just ProvidedFilterModel
AG-4946 25.1.0 [Regression] When scrolling fast vertically, React cell renderer throws console exception "React Component not created within 500ms"
AG-4944 25.1.0 npm install ag-grid-angular breaks on Angular 11/npm 7.3/node 15.5.1
AG-4942 25.1.0 [Regression] After a column is made invisible, Column Header Component Framework still renders its header text
AG-4941 25.1.0 Browser freezes if getRowHeight() returns zero
AG-4938 25.1.0 CSRM and Transactions, empty groups are not removed
AG-4915 25.1.0 [Typing] setModel method doesn't allow null parameters needed to reset filter
AG-4914 25.1.0 Applying column state to one grid doesn't propagate to aligned grids
AG-4913 25.1.0 [Regression] Column visibility change events don't propagate across aligned grids
AG-4904 25.1.0 Allow theming chart axes by position
AG-4902 25.1.0 Floating filter input value doesn't get reset after changing to a custom filter operator
AG-4901 25.1.0 When using specific numeric values with decimal fraction parts, aggregated value is incorrect R
AG-4899 25.1.0 Grid container with fractional width value causes unnecessary horizontal scrollbar at zoom level = 150%
AG-4897 25.1.0 Starting a column drag near the border of a column header element and dropping in the group panel doesn't remove column from column headers
AG-4894 25.1.0 When using multi-filter, the first time the set filter is modified, onFilterModified has filterInstance model= null
AG-4891 25.1.0 [Regression] Changing suppressMovable from true to false does not work using setColumnDefs
AG-4890 25.1.0 [Regression] Grid filter not refreshed after setting a modified filterModel More Info
Until this is addressed, please use a workaround as shown in this sample: 1. Open 2. Open filter for LETTER column 3. Uncheck 'C' 4. Click SET FILTER BUTTON above grid to remove 'b' from filterModel and reapply filter Actual & Expected: Only row 'a' remains in grid
AG-4879 25.1.0 When using column groups with marryChildren=true and applying partial column state using the applyOrder=true, marryChildren is not respected for the column group that was partially updated More Info
Two things were done when applyOrder=true is passed to applyColumnsState: a) Columns missing the the state list were previously ignore and thus ended up in unintended locations. Now columns that are missing are added to the end in the same order they were before. b) After the new order of all columns is worked out, if it breaks rules of Married Children, then the new order is discarded and the state is applied as if applyOrder=false.
AG-4878 25.1.0 [Regression] Row-drag handle not displayed in cells after column definitions are updated and refreshCells is called
AG-4872 25.1.0 Filter menu closes when filtering values causes a scroll (ag-grid-community only)
AG-4861 25.1.0 In a numeric column sort, NaN and null values are not sorted correctly R
AG-4834 25.1.0 Column group hides completely when hiding its last visible column when there's a sub-group
AG-4827 25.1.0 Pasting a value when the grid is partially out of view scrolls the page up to headers then back down to pasted cell
AG-4804 25.1.0 When enableRTL=true on certain resolutions (with browser zoom), horizontal scrollbar scrolls viewport but column headers scroll lags or scrolls in opposite direction
AG-4790 25.1.0 [Chart] Add a formatter for chart legend items
AG-4784 25.1.0 [Column Filters] Allow text filter to keep trailing white space while the user is typing
AG-4750 25.1.0 [Chart] Add event for legendClick
AG-4738 25.1.0 [Regression] Pressing TAB key no longer allows to move from one floating filter editor to another R
AG-4709 25.1.0 [Excel Export] Allow returning Excel export file in Object format (as BLOB)
AG-4679 25.1.0 [Frameworks] None of the frameworks allow range selection in detail grid
AG-4513 25.1.0 [Excel export] getDataAsExcel does not match exportDataAsExcel, xlsx not supported
AG-4459 25.1.0 [Frameworks] Remove warnings when using v23+ with Angular version More Info
We will not be addressing this issue in v23 where it was reported. This issue is no longer reported in subsequent ag-Grid versions. This is why we encourage you to update to a newer version of ag-Grid which doesn't issue these npm warnings.
AG-3756 25.1.0 groupHideOpenParents is not respected in Excel export
AG-3710 25.1.0 Grid loses focus when keyboard navigating into a full-width row using the TAB key
AG-3572 25.1.0 [Updating Data] Allow suppressing sort and/or grouping after updating data unless the user requests another sort/group More Info
To prevent sorting, filtering and grouping after an update transaction, set the grid property suppressModelUpdateAfterUpdateTransaction=true. There is a new example in the docs in the Transactions page.
AG-3482 25.1.0 [React] Adjust ag-grid react naming conventions so that they adapt to the default ts-lint provided by create-react-app
AG-3263 25.1.0 Resizing pinned columns when using domLayout='print' breaks column headers layout
AG-3028 25.1.0 [Charts] Add Treemap Chart Series
AG-1583 25.1.0 [React] Improve life cycle of call when calling setFilterModel on a React filter component
AG-113 25.1.0 [Scrolling] Allow always showing scrollbars More Info
The `alwaysShowHorizontalScrollbar` and `alwaysShowVerticalScroll` can be used to always display both scrollbars.
AG-4964 25.0.1 [Regression] When using immutable data, group records without any child records are no longer removed from grid
AG-4954 25.0.1 [Regression] Dragging a column header out of the grid doesn't remove it anymore
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-4907 25.0.0 Accessing a missing field returns undefined, while accessing a property of a missing field returns null
AG-4905 25.0.0 Applying column filter state via applyColumnState resets page index when using server-side row model More Info
Tested and works in v25.0.1. This plunker demonstrates:
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:
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-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-4313 25.0.0 Keyboard navigation broken when using Windows Narrator R
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 + 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 and + Support for Transactions to allow Updates, Inserts and Removes of data on the client side. See + 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 + Refreshing of rows (as opposed to purging) to allow reloading rows in the background without showing loading spinners to the user. See + Refreshing of rows doesn't lose group state if groups are expanded. See + Failed fetching of data can now be retried at a later point. See + Groups can now be opened by default using the grid callback isServerSideGroupOpenByDefault(). See + New API for expanding all groups, see + 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 + 'Store Info' can be provided when loads complete, which can then be viewed using Store State. See
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-2823 25.0.0 [Charts] Add Integrated Cross Filtering
AG-2605 25.0.0 [SSRM] Allow for cacheBlockSize to take -1, meaning try to get everything from the backend in one go.
AG-1543 25.0.0 [Keyboard Navigation] Allow using keyboard navigation to access elements hosted inside column headers More Info
See this demonstrated here: 1. Open 2, Click the first cell of the first row 3. Press TAB multiple times Actual & Expected: Focus is moving through the individual buttons and input box of the second cell, You can interact with the selected element immediately using the keyboard (pressing enter for buttons) 4, Click the first column header cell 5. Press TAB multiple times Actual & Expected: Focus is moving through the button in the first column header before moving to the second column header element 6, Click the second column header cell 7. Press SHIFT+TAB multiple times Actual & Expected: Focus is moving through the button in the first column header before moving to the first column header element
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:
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:
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