--- title: "Releases | Docs" url: https://www.zinggrid.com/docs/change-log --- ```text experiment_id: web-retrieval-v1 fixture_id: /docs/change-log.md mode: provenance representation: markdown origin_response_id: b3d6f793da564bc411ad5d0128945863 version: 2026-10-21 version_created_at_utc: 2026-10-21T20:42:35.659Z version_nonce: 7a09a9467fdd2dfbebcffc7d823897a8 generated_at_utc: 2026-11-08T23:36:16.266Z response_nonce: 063edd979b35b4bf7a87b131ed4de93a ``` # Releases ZingGrid release notes, newest first. ## v2.2.1 (2026-10-01) ### Release Information - Additional Filter Summary Chart Features - Added more [filter summary chart types](https://www.zinggrid.com/docs/features/filtering-summary-chart#chart-types) - calendar: Available for ["date" column type](https://www.zinggrid.com/docs/guides/column#date). A drilldown calendar that adapts its view to the dataset's date range across four views: month, year, 2-3 years, and 4+ years. Filtering is performed by selecting a single or group of nodes, or through the [calendar selection overlay](https://www.zinggrid.com/docs/api/tags/zg-calendar-selection) to select nodes or provide a date range. - ring: Similar to "pie" chart but in a ring shape. Filter is applied by clicking on a node. - toggle: Available for ["boolean" column type](https://www.zinggrid.com/docs/guides/column#boolean). Chart that filters by switching between two options. - [`[filter-summary-lens]`](https://www.zinggrid.com/docs/features/filtering-summary-chart#lens-mode) - Adds a lens icon to each filter summary chart. When clicked, an overlay displays a larger, fully interactive version of the chart for easier viewing and filtering. - [`[filter-summary-ring-thickness]`](https://www.zinggrid.com/docs/features/filtering-summary-chart#set-ring-thickness) - Sets the thickness of the ring chart. Accepts a number between 0 and 1. - [`[filter-summary-mode="cumulative"|"exclusive"]`](https://www.zinggrid.com/docs/features/filtering-summary-chart#filter-mode) - Controls whether applying a filter summary in one column clears the active filter summary in other columns - "cumulative" (default): filters from multiple columns are combined, narrowing the results further with each one applied - "exclusive": only one column can be filtered at a time, so filtering a new column clears any filter already applied to another column - [`[filter-summary-row-collapsed]`](https://www.zinggrid.com/docs/features/filtering-summary-chart#collapse-filter-summary-row) - When true, the filter summary row starts collapsed (hidden) on initial render - Additional support for [`[filter-summary-node-sort]`](https://www.zinggrid.com/docs/features/filtering-summary-chart#node-sort-order) - "gradient" option to order nodes by color when [`ZGColumn[type="color"]`](https://www.zinggrid.com/docs/guides/column#color) - Smarter default sort order for categorical charts (`[filter-summary-node-sort="default"]`) - Charts with 10 or fewer nodes are sorted by count, descending (highest count first) - Charts with more than 10 nodes are sorted alphabetically by label (too many to scan by count) - "Clear filter" button added to the filter-toggle column to easily clear all filters - [Context menu](https://www.zinggrid.com/docs/features/context-menu) includes [menu options to update filter summary chart type](https://www.zinggrid.com/docs/features/filtering-summary-chart#contextmenu-to-change-chart) - Added [`[filter-on="raw"|"rendered"]`](https://www.zinggrid.com/docs/features/filtering-summary-chart#filter-by-raw-values) support - Added [`[type-color-mode]`](https://www.zinggrid.com/docs/api/tags/zg-column#type-color-mode) support when rendering color label in filter summary chart - [Grid state](https://www.zinggrid.com/docs/features/grid-state-persistence) supports saving the [filter summary row state](https://www.zinggrid.com/docs/features/filtering-summary-chart#collapse-filter-summary-row) - Added [``](https://www.zinggrid.com/docs/api/tags/zg-calendar-selection) component and CSS variables - Added [get/set methods](https://www.zinggrid.com/docs/api/methods/reference#filter-methods) for all filter-summary-related attributes - Added [filter summary lens](https://www.zinggrid.com/docs/features/filtering-summary-chart#lens-mode) mode events - [ZGColumn#filter:summary:lens:open](https://www.zinggrid.com/docs/api/events/reference#column-filter-summary-lens-open) - [ZGColumn#filter:summary:lens:close](https://www.zinggrid.com/docs/api/events/reference#column-filter-summary-lens-open) - Added [CSS variables](https://www.zinggrid.com/docs/api/tags/zg-filter-summary#css-variables) for [`` component](https://www.zinggrid.com/docs/api/tags/zg-filter-summary) - Added [keyboard navigation support](https://www.zinggrid.com/docs/features/accessibility#keyboard-navigation) - Card Mode Support - [`[card-density-breakpoint]`](https://www.zinggrid.com/docs/features/viewport#card-density-breakpoints) - Sets the minimum viewport tier at which the card field is visible. Fields without a [`[card-density-breakpoint]`](https://www.zinggrid.com/docs/features/viewport#card-density-breakpoints) are always visible. - [`[card-resizable]`](https://www.zinggrid.com/docs/features/card-resizable) - Enables resizing of cards in [card mode](https://www.zinggrid.com/docs/features/layouts#card). Cards are resized responsively within a min/max cards-per-row range. The "fixed" option sizes cards to a single, unchanging cards-per-row count instead. - Added [``](https://www.zinggrid.com/docs/api/tags/zg-card-resize) component and [CSS variables](https://www.zinggrid.com/docs/api/tags/zg-column#css-variables) - [`[compact]`](https://www.zinggrid.com/docs/api/tags/zing-grid#compact) - Supports a compact view in [card mode](https://www.zinggrid.com/docs/features/layouts#card) - [`[column-drag]`](https://www.zinggrid.com/docs/features/draggin#card-mode) - Allows dragging a card item (header and content) in [card mode](https://www.zinggrid.com/docs/features/layouts#card) - Added keyboard navigation support for both [card and row mode](https://www.zinggrid.com/docs/features/layouts) - [`[editor="inline"]`](https://www.zinggrid.com/docs/features/editing#card-mode-editor) - Card items now support inline editing -- previously only supported "modal" in [card mode](https://www.zinggrid.com/docs/features/layouts#card) - [`[filter="menu"]`](https://www.zinggrid.com/docs/features/filtering#card-mode) - Works like filter menu in row layout, except it requires specifying a column to filter - [`[filter="summary"]`](https://www.zinggrid.com/docs/features/filtering-summary-chart#card-mode-support) - Specifies the column to open the filter summary chart on - [`[frozen-cards-top/bottom]`](https://www.zinggrid.com/docs/features/frozen-cards) - Sets the number of cards to freeze to the top or bottom - Similar to [`[frozen-rows-top/bottom]`](https://www.zinggrid.com/docs/features/frozen-rows), but works separately - [`[gridlines]`](https://www.zinggrid.com/docs/features/gridlines#card-mode) - Supports horizontal gridlines in [card mode](https://www.zinggrid.com/docs/features/layouts#card) - [`[header-tooltip-*]`](https://www.zinggrid.com/docs/features/column-tooltips#card-mode-support) - Appends header tooltip icon to card header. On hover, header tooltip displays - [`[height]`](https://www.zinggrid.com/docs/api/tags/zing-grid#height) - Now supported in [card mode](https://www.zinggrid.com/docs/features/layouts#card) -- previously ignored - [`[row-details-*]`](https://www.zinggrid.com/docs/features/row-details#card-mode-support) - Opens row details in either a [bottom drawer or sidebar](https://www.zinggrid.com/docs/features/row-details#row-details-card-mode) - [`[selector]`](https://www.zinggrid.com/docs/features/selection#select-cards) - Supports whole card selection - - [`[sort]`](https://www.zinggrid.com/docs/features/sorting#card-mode-support) - Supported through a menu that allows specifying a column and sort order - Added [``](https://www.zinggrid.com/docs/api/tags/zg-sort-menu) component and [CSS variables](https://www.zinggrid.com/docs/api/tags/zg-sort-menu#css-variables) - [`[zebra]`](https://www.zinggrid.com/docs/features/zebra-striping#card-mode-support) - [Cards](https://www.zinggrid.com/docs/features/layouts#card) now support zebra background styling ### Breaking Changes - Renamed `--zg-filter-summary-underline-color` to [`--zg-filter-summary-node-hover`](https://www.zinggrid.com/docs/api/styling/reference#--zg-filter-summary-node-hover) - Renamed `ZGColumn#filter:summary:close/open` to [`ZGRow#filterSummaryClose/Open`](https://www.zinggrid.com/docs/api/events/reference#row-filter-summary-close) - Updated [icon for `[column-resizable]`](https://www.zinggrid.com/docs/features/column-resizing#icon) - Added new icon for [`[column-drag]`](https://www.zinggrid.com/docs/features/dragging) - Columns are now highlighted during [column drag](https://www.zinggrid.com/docs/features/dragging) or [resize](https://www.zinggrid.com/docs/features/column-resizing) - Fixed the size of FontAwesome icons when using [`[icon-set="fa"]`](https://www.zinggrid.com/docs/api/tags/zing-grid#icon-set) ### Bug Fixes - Fixed [histogram](https://www.zinggrid.com/docs/features/filtering-summary-chart#chart-types) selection min/max labels to display selection min/max values and not the chart's min/max - Fixed [histogram](https://www.zinggrid.com/docs/features/filtering-summary-chart#chart-types) bin ranges for [numeric columns](https://www.zinggrid.com/docs/guides/column#number) - Fixed [filter summary](https://www.zinggrid.com/docs/features/filtering-summary-chart) [crosshair](https://www.zinggrid.com/docs/features/crosshair) bug, which was applying to whole [``](https://www.zinggrid.com/docs/api/tags/zg-filter-summary) row instead of targeted column - Fixed [filter summary chart](https://www.zinggrid.com/docs/features/filtering-summary-chart) labels for [button column type](https://www.zinggrid.com/docs/guides/column#button) -- render "label" instead of all the indices - Fixed [filter summary chart](https://www.zinggrid.com/docs/features/filtering-summary-chart) labels for [date column type](https://www.zinggrid.com/docs/guides/column#date) when [`[type-date-format]`](https://www.zinggrid.com/docs/api/tags/zg-column#type-date-format) or [`[type-date-from-now]`](https://www.zinggrid.com/docs/api/tags/zg-column#type-date-from-now) is set - Fixed hot reload bug with [`filterSummaryColumn()`](https://www.zinggrid.com/docs/features/filtering-summary-chart#external-input) - Fixed [`filterSummaryColumn()`](https://www.zinggrid.com/docs/features/filtering-summary-chart#external-input) by applying null check to selection element - Fixed [`filterSummaryColumn()`](https://www.zinggrid.com/docs/features/filtering-summary-chart#external-input) to handle incorrect arguments - Convert non-array filter term to expected array format - For [histogram](https://www.zinggrid.com/docs/features/filtering-summary-chart#chart-types), logs developer warning if 2 arguments are not provided - Logs developer warning if array elements are not expected number or string types - Fixed missing borders for [``](https://www.zinggrid.com/docs/api/tags/zg-control-bar) and [``](https://www.zinggrid.com/docs/api/tags/zg-pager) in [card mode](https://www.zinggrid.com/docs/features/layouts#card) - Fixed [`[align]`](https://www.zinggrid.com/docs/api/tags/zing-grid#align) bug with headers in [card mode](https://www.zinggrid.com/docs/features/layouts#card) - Fixed [`[column-drag-action="reorder"]`](https://www.zinggrid.com/docs/features/dragging#column-reorder) by setting cursor to "ew-resize" to indicate moving columns left/right only - Fixed color input field for [color column type](https://www.zinggrid.com/docs/guides/column#color) in [creator modal](https://www.zinggrid.com/docs/guides/column#color) - Removed whitespace in [``](https://www.zinggrid.com/docs/api/tags/zg-body) when grid displays no data in [card mode](https://www.zinggrid.com/docs/features/layouts#card) - Fixed [keyboard navigation](https://www.zinggrid.com/docs/features/accessibility#keyboard-navigation) for [nested headers](https://www.zinggrid.com/docs/features/column-headers#custom-nested-headers-grid) - Fixed [keyboard navigation](https://www.zinggrid.com/docs/features/accessibility#keyboard-navigation) order for [card](https://www.zinggrid.com/docs/features/layouts#card) header items ([selector](https://www.zinggrid.com/docs/guides/column#selector), [info](https://www.zinggrid.com/docs/guides/column#info), [editor](https://www.zinggrid.com/docs/guides/column#editor), [duplicate](https://www.zinggrid.com/docs/guides/column#duplicate), [remover](https://www.zinggrid.com/docs/guides/column#remover), etc) - Fixed triggering for [``](https://www.zinggrid.com/docs/api/tags/zg-column-resize) when header text overlaps - Fixed [drag-select selection](https://www.zinggrid.com/docs/features/selection) in [`[frozen-rows-top/bottom]`](https://www.zinggrid.com/docs/features/frozen-rows) - Fixed [`[context-menu]`](https://www.zinggrid.com/docs/features/context-menu) option labels to say "cards"/"card items" in [card mode](https://www.zinggrid.com/docs/features/layouts#card) instead of "rows"/"cells" - Fixed [`ZGColumn[type-row-details-template]`](https://www.zinggrid.com/docs/api/tags/zg-column#type-row-details-template) and [`ZGColumn[type-row-details-renderer]`](https://www.zinggrid.com/docs/api/tags/zg-column#type-row-details-renderer) to render row details content - Fixed [CSS variables](https://www.zinggrid.com/docs/api/styling/reference): - Missing top border in [`--zg-head-border`](https://www.zinggrid.com/docs/api/styling/reference#--zg-head-border), [`--zg-foot-border`](https://www.zinggrid.com/docs/api/styling/reference#--zg-foot-border), and [`--zg-foot-border-top`](https://www.zinggrid.com/docs/api/styling/reference#--zg-foot-border-top) - Padding not applying in [`--zg-foot-padding`](https://www.zinggrid.com/docs/api/styling/reference#--zg-foot-padding) ## v2.2.0 (2026-06-11) ### Release Information - Filter summary chart - ZingGrid's new built-in filter summary chart provides a visual way to explore and filter data using an interactive summary chart - This feature can be enabled at either the [grid-](https://www.zinggrid.com/docs/api/tags/zing-grid#filter) or [column-level](https://www.zinggrid.com/docs/api/tags/zg-column#filter) by setting [`[filter="summary"]`](https://www.zinggrid.com/docs/features/filtering-summary-chart) - `[filter-summary-chart]` - Specifies which chart type the filter summary chart renders - The default behaviors are: - pie: for [boolean-like column types](https://www.zinggrid.com/docs/guides/column#boolean) - histogram: for [numeric column types](https://www.zinggrid.com/docs/guides/column#number) - bar: for all other [column types](https://www.zinggrid.com/docs/guides/column) - The supported options are bar, default, histogram, pie - Can be set at both the [grid-](https://www.zinggrid.com/docs/api/tags/zing-grid#filter-summary-chart) or [column-level](https://www.zinggrid.com/docs/api/tags/zg-column#filter-summary-chart) - `[filter-summary-node-sort]` - This attribute configures the node sort order. - The default behaviors are: - bar: count-desc - histogram: value for [numeric types](https://www.zinggrid.com/docs/guides/column#number) and alphabetically for the rest - pie: count-desc - The following node sort orders are supported: - alphabetical: alphabetically by their label - count-asc: count in ascending order - count-desc: count in descending order - default: default based on chart and column type - value: node numeric value - none: retain original order - Can be set at both the [grid-](https://www.zinggrid.com/docs/api/tags/zing-grid#filter-summary-node-sort) or [column-level](https://www.zinggrid.com/docs/api/tags/zg-column#filter-summary-node-sort) - `[filter-summary-multi-node]` - This attribute accepts only `"disabled"` to disable the default behavior of selecting multiple nodes in a bar or pie chart. - Can be set at both the [grid-](https://www.zinggrid.com/docs/api/tags/zing-grid#filter-summary-multi-node) or [column-level](https://www.zinggrid.com/docs/api/tags/zg-column#filter-summary-multi-node) - Filter summary method: filterSummaryColumn() - Trigger filter with [`filterSummaryColumn()`](https://www.zinggrid.com/docs/api/methods/reference#filterSummaryColumn) - This method accepts two arguments: - sFieldIndex: Index of column - sFilterTerms: Array of filter terms. For bar or pie, expects at least one element. For histogram, expects one or two elements, where the first represents the starting node and the second the ending node. - Filter summary events - The [`column:filter`](https://www.zinggrid.com/docs/api/events/reference#column-filter) event triggers when filtering through the filter summary charts - The following events trigger when toggling the filter summary row - [`column:filter:summary:close`](https://www.zinggrid.com/docs/api/events/reference#column-filter-summary-close) - [`column:filter:summary:open`](https://www.zinggrid.com/docs/api/events/reference#column-filter-summary-open) - The [`filter`](https://www.zinggrid.com/docs/api/tags/zing-grid#filter) attribute also accepts "all" to enable all three filters ([inline](https://www.zinggrid.com/docs/features/filtering#built-in-filter-options), [menu](https://www.zinggrid.com/docs/features/filtering-advanced), [summary](https://www.zinggrid.com/docs/features/filtering-summary-chart)) - Additional features: - Filter toggle row appended to grid to toggle filter summary row - Clear button appears when filter is active to clear filter results - Long labels are truncated - [Color type](https://www.zinggrid.com/docs/guides/column#color) nodes are set to the color they represent - NaN nodes are yellow - [Boolean](https://www.zinggrid.com/docs/guides/column#boolean) false nodes are red ## v2.1.5 (2025-08-26) ### Release Information * Minor bug fix ### Bug Fixes * Fixed bug with insert row position through [context menu ](https://www.zinggrid.com/docs/features/context-menu)when using [search](https://www.zinggrid.com/docs/features/search) and/or [filter](https://www.zinggrid.com/docs/features/filtering) ## v2.1.4 (2025-08-12) ### Release Information - Changes to support [filtering](https://www.zinggrid.com/docs/features/filtering) [select columns](https://www.zinggrid.com/docs/guides/column#select) ### Bug Fixes - Fixes for [context menu](https://www.zinggrid.com/docs/features/context-menu) position ## v2.1.3 (2025-05-02) ### Bug Fixes - Fixed conflict between [`[compact]`](https://www.zinggrid.com/docs/api/tags/zing-grid#compact) and css variable [`--zg-body-font-size`](https://www.zinggrid.com/docs/api/tags/zg-body#--zg-body-font-size) ## v2.1.2 (2025-03-31) ### Release Information - Added [`getConstants()`](https://www.zinggrid.com/docs/api/methods/reference#getconstants) API method ### Bug Fixes - Updated code to not call [server side filter](https://www.zinggrid.com/docs/features/server-features#filtering) if the value in the filter box does not change ## v2.1.1 (2025-03-26) ### Release Information - Small bug fixes ### Bug Fixes - Fixed issue where [`ZGHeadCells`](https://www.zinggrid.com/docs/api/tags/zg-head-cell) did not have a blue backgrounds when [dragging](https://www.zinggrid.com/docs/features/dragging) their respective columns - Fixed issue where the [`data`](https://www.zinggrid.com/docs/api/tags/zing-grid#data) attribute on [``](https://www.zinggrid.com/docs/api/tags/zing-grid) could not be programmatically used to [set data](https://www.zinggrid.com/docs/api/methods/reference#setdata) - Fixed issue when [`[dir]`](https://www.zinggrid.com/docs/api/tags/zing-grid#dir), [`[editor-controls]`](https://www.zinggrid.com/docs/api/tags/zing-grid#editor-controls), and [frozen columns](https://www.zinggrid.com/docs/features/frozen-columns) were all enabled, the [frozen column](https://www.zinggrid.com/docs/features/frozen-columns) applied to the [editor controls](https://www.zinggrid.com/docs/api/tags/zing-grid#editor-controls) were in the wrong position. ## v2.1.0 (2025-03-10) ### Release Information - Added [``](https://www.zinggrid.com/docs/api/tags/zg-param#zg-param-name-selectorKey): In the case of [server side paging](https://www.zinggrid.com/docs/features/paging#server-paging) and [`ZingGrid[type-selector-page-persist]`](https://www.zinggrid.com/docs/api/tags/zing-grid#type-selector-page-persist), this will indicate the field to act as an ID to persist the selection if an ID is not already set on the dataset. - Added support for [server side paging](https://www.zinggrid.com/docs/features/paging#server-paging) and [`ZingGrid[type-selector-page-persist]`](https://www.zinggrid.com/docs/api/tags/zing-grid#type-selector-page-persist) to work together - Modified [``](https://www.zinggrid.com/docs/api/tags/zing-grid) API Method [`setData()`](https://www.zinggrid.com/docs/api/methods/reference#setdata) to accept an optional parameter indicated if the grid should try to maintain the current sort after changing the data. ### Bug Fixes - Fixed a failure bug with [`searchGrid()`](https://www.zinggrid.com/docs/api/methods/reference#searchgrid) [``](https://www.zinggrid.com/docs/api/tags/zing-grid) API Method - Removed current [sorting](https://www.zinggrid.com/docs/features/sorting) after calling [setData()](https://www.zinggrid.com/docs/api/methods/reference#setdata) API Method - Fixed bug when hiding all non-frozen columns when [frozen-columns](https://www.zinggrid.com/docs/features/frozen-columns) are enabled ## v2.0.0 (2025-02-13) ### Release Information * Modified the underlying architecture to better support flexibility in the grid's layout and configuration * Row Details * ZingGrid now has a built-in feature to [expand rows to reveal more details](https://www.zinggrid.com/docs/features/row-details). This functionality is made to work with other features, such as [edit](https://www.zinggrid.com/docs/features/editing), [filter](https://www.zinggrid.com/docs/features/filtering), [search](https://www.zinggrid.com/docs/features/search), and [sort](https://www.zinggrid.com/docs/features/sorting). The open state of the rows are preserved when [paging](https://www.zinggrid.com/docs/features/paging). * This feature can be added to your grid through the different ways: * [`[row-details-template]`](https://www.zinggrid.com/docs/api/tags/zing-grid#row-details-template) attribute * [`[row-details-renderer]`](https://www.zinggrid.com/docs/api/tags/zing-grid#row-details-renderer) attribute * [``](https://www.zinggrid.com/docs/api/tags/zg-row-details) component that directly takes in a `