Releases: 6pac/SlickGrid
Release list
5.20.0
5.20.0 (2026-09-02)
We now have Variable or Auto Header Height (thanks to @jahanbakhsh18) which is a great addition to the previously released Variable Row Height. Also included in this release are: new multi-range selections, column resize auto-scroll and column reorder auto-scroll and a bunch of other features and fixes.
See all new examples
- Variable row height (rowHeightProvider)
- Variable row height with cell spans (rowHeightProvider + enableCellRowSpan)
- Variable row height with frozen columns/rows (rowHeightProvider + frozenColumn/frozenRow)
- Auto header height - Layout
- Auto header height - Autosize
Bug Fixes
- common: handle dynamic scroll ancestors and cell CSS overlays (#1279) (4dade5c)
- common: make SlickDataView filtering CSP-safe by default (#1285) (d04b252)
- interactions: ignore secondary-button cell range drags (#1288) (9a87c18)
- security: harden dynamic object maps against prototype pollution (#1283) (1a04cdb)
- selection: allow drag handle to shrink cell selection (#1277) (439b6cf)
- selection: support Shift-click cell range selection (#1290) (c41a062)
- slickgrid: prevent native wheel drift with frozen columns (#1281) (b99f79d)
Features
- add autoHeaderHeight option for multi-line column headers (#1282) (e1a2d06)
- add configurable cell selection drag handle visibility (#1284) (4559db9)
- grid: add auto-scroll while resizing columns (#1289) (171de39)
- grid: improve column reorder auto-scroll (#1286) (a595cfb)
- selection: support multi-range selection with drag previews (#1287) (9ef0df8)
Performance Improvements
5.19.0 - Variable Row Height
5.19.0 (2026-08-11)
Variable Row Height
This new release brings a feature that was requested by SlickGrid's users for many years, we now have the possibility to use Variable Row Height (thanks to Ben (aka 6pac), for his promo access to Claude Fable 🤖). This feature does have some small perf impact (e.g. scroll position must be calculated differently) and so it is opt-in, you will need to enable it before you can use it and you have 2 possible ways of defining variable row height (see both examples below)
rowHeightProvidergrid option- item metadata
heightproperty
See 3 new examples:
- Variable row height (rowHeightProvider)
- Variable row height with cell spans (rowHeightProvider + enableCellRowSpan)
- Variable row height with frozen columns/rows (rowHeightProvider + frozenColumn/frozenRow)
RTL Support
Another thing that is worth mentioning is the PR to improve RTL (right to left) support. Thanks to @jahanbakhsh18 for the help in improving this
Also thanks to @muendlein for other fixes as well related to column resizing
Bug Fixes
- 'getColContentSize' for single row with 0 as value (#1222) (dc17328)
- align frozen-band cell-cleanup ranges with the (inclusive) render ranges (#1259) (b878c6b)
- autosize never measured autoSize.colValueArray (#934) (#1273) (10e2e0a)
- canonicalize the frozen-row boundary across all comparison sites (#1268) (bd2b6b6)
- CellExternalCopyManager shouldn't throw when out of bound (#1226) (0f09f11)
- core: compute scrollTo page before deriving the paging offset (#1231) (1a7fcc5)
- core: probe positioned-child limit in getMaxSupportedCssHeight (#1232) (dddaed4)
- core: small type casting fix to value passed to
applyHtmlCode()(#1248) (0b41d59) - decode clipboard paste on delivery instead of a fixed delay (#1261) (20fc9a8)
- examples: deterministic seeded data in checkbox-header-row example (#1246) (f015e96)
- footer-row lifecycle - construction crash, inconsistent getFooterRow, double onFooterRowCellRendered (#1256) (2dc065c)
- fractional grid height leaves the bottom rows unrendered (#1262) (#1263) (a9c261c)
- frozen-bottom grids never clean up off-screen row cells (#1255) (214dcf1)
- frozen-bottom hit testing resolves the wrong row when data is shorter than the viewport (#1258) (6d39e14)
- route off-viewport alwaysRenderColumn cells to their own column band (#1267) (306e972)
- treat frozenRow: 0 as no freeze (input clamp) (#1266) (d61fc56)
- updateRowPositions leaves right-pane row fragments at stale positions (#1257) (f254ac8)
Features
- add core RTL support for headers and column resizing (#1271) (7b2e337)
- build the footer row lazily when createFooterRow is enabled at runtime (#1269) (a73d083)
- core: add variable row height support via rowHeightProvider (#1235) (c49ab66)
Performance Improvements
5.18.6
5.18.5
5.18.5 (2026-05-08)
in this release, I asked Copilot AI to review all of the old opened issues, it was able to provide fixes for a lot of them (I also used all of my free month credits in the process). However please note that one of these fixes is rather important to be aware as shown below:
multiSelect option which is now properly enforced
Prior to this release, disabling multiSelect grid option did not really do anything, but it is now properly respected with this new release and will now correctly enforce single-row-only selection. To allow multiple row selection while preventing the currently-active row from being automatically selected during navigation, use selectActiveRow: false instead (keeping multiSelect at its default true).
Bug Fixes
- enable momentum scrolling on iOS to prevent scroll interruption at horizontal boundaries (#1198) (99e330e)
- Group totals formatter missing column context (#1202) (cf2dbe6)
- respect multiSelect option in checkbox selection (#1203) (1227b71)
- restore individual cell values on undo for multi-cell paste (#1199) (9aa520c)
- use dataItemColumnValueExtractor for grouping with nested objects (#1200) (a0d1d01)
- use numeric sort in deleteItems to prevent data loss, fixes #1178 (#1204) (43066f4)
5.18.4
5.18.3
5.18.2
5.18.1
5.18.1 (2026-01-20)
Bug Fixes
- double-clicking a checkmark icon should keep current cell selection (#1172) (138d298)
- HeaderMenu/ColumnPicker hiding column need re-render Header Groups (#1167) (8412011)
- HybridSelectionModelOption should all be optional (#1173) (5889639)
Features
- Master/Detail grids, allow single row click w/o checkbox column (43e31fa)