6.0.0 (2026-11-10)
Main v6 Changes
- drop SortableJS (use native drag & drop) and we're now zero dependency
- rewrite freezing as Pinning (much more flexible than before)
- almost 2 months of work with 2 different AIs (ChatGPT Sol/Astra, Claude Opus/Fable)
- 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 to the AI Migration Skill
- 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
- CellExternalCopyManager now copies via
navigator.clipboard.writeText and pastes via navigator.clipboard.readText
(secure context required). The bodyElement and clipboardPasteDelay options
are removed, _decodeTabularData takes the clipboard text instead of a
textarea, and paste completes asynchronously. New clipboardWriteOverride /
clipboardReadOverride plugin options replace the transport where the
Clipboard API is unavailable. The row split in _decodeTabularData now
treats CRLF as one delimiter (the decoy textarea normalized CRLF away;
readText does not). - ContentIntelligent number and string columns used to read
every row and now read the first 200. Content columns using the default
count read 200 rows instead of 100. - SortableJS is no longer used nor required. Consumers who load
SlickGrid via script tags can remove their SortableJS<script>include; the
window.Sortableglobal is no longer read. Column reordering now requires
slick.interactions.jsto be loaded (it already was in every example). The
SlickDraggableGrouping.getSetupColumnReorder()return shape changed in the
previous commit as part of the same effort. - TypeScript rejects misspelt autosize modes, and a value
held in a plain string variable needs a type assertion such as
value as ColAutosizeModeValue. No runtime change.