Repository navigation
6.0.0 (2026-11-10)
Major v6 Changes
- drop SortableJS (use native drag & drop) and we're now zero dependency
- completely rewrote Freezing as Pinning
- almost 2 months of work with 2 different AIs (ChatGPT Sol/Astra, Claude Opus/Fable)
- you can now Pin on all 4 sides and UI now shows a single horizontal/vertical scroller
- new Sticky rows/columns feature
- better perf all around
- ... and a lot more, check out the v6 Migration Guide below
We also have a new docs website, read the v6 Migration Guide or if you use AI then point it to the AI Migration Skill
New or Updated Examples
- feat(grid)!: sample 200 autosize rows by default and type autosize modes (#1328) (2293efc), closes #1328
- refactor!: remove the SortableJS dependency entirely (#1244), closes #1244 ghiscoding/slickgrid-universal#2634
- feat!: replace decoy-textarea clipboard handling with the async Clipboard API (#1270) (5720d08), closes #1270
Bug Fixes
- alpine: keep resize handle separator thin (#1340) (2c604ce)
- build: point package entry points at the ESM build (#1343) (0b8b163), closes #1310
- build: require Node versions that support require(esm) (#1344) (b72d781)
- core: let SlickEvent.unsubscribe() remove every handler (#1345) (fe26f4c)
- core: prevent hidden columns from rendering in group totals rows (#1321) (4528333)
- editor, menu, checkbox column and tooltip bugs found by coverage (#1347) (51bc59a), closes #1338
- examples: use the current Grid Menu command options in the pinning examples (96666c4)
- grid: correct autosize measurement for single columns, filter modes and supplied types (#1309) (d7cb0d6)
- gridmenu: fit the icon in the menu slot, keep the resize-handle hover box stable and make the trailing-handle test deterministic (2f99987)
- grid: render the visible columns of wide right-to-left grids (#1333) (2d03479)
- really unsubscribe plugin and control handlers on destroy (#1346) (ce83876)
- rowdetail: keep the 13px line-height for every top-level element of a detail template (7e4bb60)
- selection: preserve active cell when selecting all cells (#1308) (bb29805)
Features
- pinning: unify validation error callbacks (#1318) (892349e)
- rename trigger fn to
triggerEvent()and make it public (#1315) (fcaa7d0)
BREAKING CHANGES
See the v6 Migration Guide for the full list and how to update.
- ESM only: the CommonJS build is gone and
mainpoints atdist/esm/index.mjs(#1310, #1343) - Node
^20.19.0 || >=22.12.0is required (#1344) dist/is no longer committed to GitHub; load the files from npm or an npm CDN (#1312)- SortableJS is no longer used or needed; the package has no runtime dependencies (#1244)
- Frozen panes are replaced by
pinning; thefrozen*options and methods are removed (#1302) - Hidden columns stay in the column array with
hidden: true;getColumns()returns them too (#1299) mixinDefaultsdefaults tofalse, so mutating your own column objects no longer affects the grid (#1302)rowTopOffsetRenderTypeandonBeforeAppendCellare removed, andscrollRenderThrottlingdefaults to0(#1319, #1320)- Copy and paste use the async Clipboard API;
bodyElementandclipboardPasteDelayare removed (#1270) SlickEvent.unsubscribe()with no handler now removes every handler (#1345)- Deprecated APIs are removed:
inlineFilters,fastSort(),customItems, header menuitemsand others (#1325, #1326) - The
FieldTypeexport and the columnexcludeFromQueryproperty are removed (#1314) - Alpine theme variables are renamed from
alpine-*toslick-*(#1317) - The remaining jQuery UI
.ui-*classes are renamed to.slick-*(#1313) - ARIA row indexes now count the header rows, and several formatters, menus and plugins changed their markup for accessibility (#1338)
- The protected
trigger()is now the publictriggerEvent()(#1315)