Skip to content

6.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Nov 02:18
· 5 commits to master since this release
51bc59a

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


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 main points at dist/esm/index.mjs (#1310, #1343)
  • Node ^20.19.0 || >=22.12.0 is 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; the frozen* options and methods are removed (#1302)
  • Hidden columns stay in the column array with hidden: true; getColumns() returns them too (#1299)
  • mixinDefaults defaults to false, so mutating your own column objects no longer affects the grid (#1302)
  • rowTopOffsetRenderType and onBeforeAppendCell are removed, and scrollRenderThrottling defaults to 0 (#1319, #1320)
  • Copy and paste use the async Clipboard API; bodyElement and clipboardPasteDelay are removed (#1270)
  • SlickEvent.unsubscribe() with no handler now removes every handler (#1345)
  • Deprecated APIs are removed: inlineFilters, fastSort(), customItems, header menu items and others (#1325, #1326)
  • The FieldType export and the column excludeFromQuery property are removed (#1314)
  • Alpine theme variables are renamed from alpine-* to slick-* (#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 public triggerEvent() (#1315)