# 📣 Dash AG Grid 31.3.0 Released

**URL:** <https://community.plotly.com/t/dash-ag-grid-31-3-0-released/88974>\
**Category:** Dash Python\
**Created:** [November 26, 2024, 3:45pm UTC](https://community.plotly.com/t/dash-ag-grid-31-3-0-released/88974 "2024-11-26T15:45:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![adamschroeder](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/adamschroeder/32/17280_2.png) [@adamschroeder](https://community.plotly.com/u/adamschroeder)\
**Post date:** [November 26, 2024, 3:45pm UTC](https://community.plotly.com/t/dash-ag-grid-31-3-0-released/88974/1 "2024-11-26T15:45:03Z")

</div>

## 🎉 We are pleased to announce that Dash AG Grid V31.3.0 is out!

> pip install dash-ag-grid==31.3.0

👉 Thank you to @jinnyzor, @AnnMarieW and @alexcjohnson for leading the contributions of this release.

### Official Changelog ▶ [Dash-AG-Grid v31.3.0](https://github.com/plotly/dash-ag-grid/blob/main/CHANGELOG.md#3130---2024-11-22)

### Added

- [#330](https://github.com/plotly/dash-ag-grid/pull/330) Added `dash_clientside` to available functions for easier on-liner functions, esp. `eventListeners`.
  - requested [#303](https://github.com/plotly/dash-ag-grid/issues/303)

- [#270](https://github.com/plotly/dash-ag-grid/pull/270)
  - support for `eventListeners` to be added to the grid that get loaded upon `gridReady`
  - `eventListeners` are added upon `gridReady` only, if you need to add or remove other event listeners, please use the `getApi` or `getApiAsync` methods
  - added default for `selectedRows` to be `[]`

### Changed

- [#327](https://github.com/plotly/dash-ag-grid/pull/327) bumping to v`31.3.2` for the grid
- [#332](https://github.com/plotly/dash-ag-grid/pull/332)
  - `handleDynamicStyle` now checks for `params.data` before attempting to apply the test
  - [#321](https://github.com/plotly/dash-ag-grid/issues/321) fixes issue with infinite scroll and dynamic row styling

- [#273](https://github.com/plotly/dash-ag-grid/pull/273) increased the timeout for `getApiAsync` to 2 minutes.
- [#281](https://github.com/plotly/dash-ag-grid/pull/281) webpack is now designed to build quicker, excludes `node_modules` and uses a different parser
- [#287](https://github.com/plotly/dash-ag-grid/pull/287) bumping to v`31.2.1` for the grid

### Fixed

- [#300](https://github.com/plotly/dash-ag-grid/pull/300) Fixes issue [#299](https://github.com/plotly/dash-ag-grid/pull/299) where grid was unmounted and trying to update the `columnState`.
- [#325](https://github.com/plotly/dash-ag-grid/pull/325) Fixes issue [#324](https://github.com/plotly/dash-ag-grid/pull/324) where `pivotComparator` functions were not sorting columns correctly because they were only being passed `params`.
- [#314](https://github.com/plotly/dash-ag-grid/pull/314)
  - locking selenium for tests that were failing due to missing import

- [#313](https://github.com/plotly/dash-ag-grid/pull/313)
  - [#312](https://github.com/plotly/dash-ag-grid/issues/312) fixing issue where `scrollTo` was defaulting to not reset the value
    - to maintain scroll position during a grid rerender, be sure to use `getRowId`

  - fixing side issue where `cellDoubleClicked` was forcing the grid to rerender

- [#331](https://github.com/plotly/dash-ag-grid/pull/331)
  - adjusted `setProps` → `customSetProps` which tests if the grid is active in the dash tree and mounted.
  - [#307](https://github.com/plotly/dash-ag-grid/issues/307) fixes JS console error because `setProps` is no longer called when unmounted.

- [#283](https://github.com/plotly/dash-ag-grid/pull/283)
  - `selectedRows` can now be passed along with the `rowData`
    - fixes [#274](https://github.com/plotly/dash-ag-grid/issues/274)
    - fixes [#282](https://github.com/plotly/dash-ag-grid/issues/282)

- [#287](https://github.com/plotly/dash-ag-grid/pull/287)
  - `aggFuncs` can now be passes as an object from the grid to be mapped to functions
  - fixes [#278](https://github.com/plotly/dash-ag-grid/issues/278)
