Skip to content

Changelog

The release history below is generated automatically from commit messages by release-please and lives next to the source at libs/grid/CHANGELOG.md.

Changelog

2.6.0 (2026-05-02)

Features

  • adapters: add 10 missing grid events to vue & angular + drift guard (c524fbf)
  • grid/pinned-rows: unified slots[] API (issue #255) (#257) (8a84f0d)

Bug Fixes

  • grid/pinned-rows: render top slot wrappers when .header is nested in .rows-body (d781366)
  • grid: allow features.editing=false to suppress missing-plugin validation (1025e66)
  • grid: preserve runtime column state when same gridConfig reference is re-assigned (9652cd5)
  • grid: register column-visibility event; restore adapter props (30dd280)

2.5.0 (2026-04-29)

Features

Bug Fixes

  • grid-react,grid/editing: scope releaseCell cleanup by DOM and dedupe knowledge entry (PR #249 review) (f3f784a)
  • grid,grid-react,grid-vue,grid-angular: release renderers and flush editors on cell teardown (#250) (3121b5f)
  • grid,grid-react: release cells on pool shrink + clear, harden portal prune (#250) (5c22293)
  • grid/editing: keep arrow keys in editor while row is in edit mode (fd0a9eb)

2.4.1 (2026-04-26)

Bug Fixes

  • grid: address PR #248 second QA round (2cade7c)
  • grid: address PR review on aria + e2e (PR #248) (e268521)
  • grid: close a11y docs/code drift (7de5b0b)
  • grid: cross-window move coordination for row-drag-drop via BroadcastChannel (927a4b6)

Enhancements

  • grid: add missing dragFrom config, row-clone drag image, and cross-window BroadcastChannel coordination (2879631)

Performance Improvements

  • filtering: cache column-by-field lookup map (ee52f1a)

2.4.0 (2026-04-25)

Features

  • grid: AbortSignal cancellation for ServerSide getRows + Angular fromObservable bridge (#244) (d3a861a)
  • grid: add export plugin data accessors and ExportMode parameter (#245) (dae9d76)
  • grid: RowDragDropPlugin — drag rows within and across grids (#225) (#246) (4a22beb)

Bug Fixes

  • grid: apply column state immediately when initialized to avoid silent re-apply on next reset (8f9904a)
  • grid: honor gridConfig.sortHandler in TreePlugin and ServerSidePlugin local sort (73282b7)
  • grid: paint row-selection border above pinned (sticky) cells via z-index (5ac5dc8)
  • grid: preserve source row identity in TreePlugin.processRows (#241) (8f165bd)

2.3.0 (2026-04-22)

Features

  • grid-vue: column shorthand + columnDefaults + plugin dep validation; add adapter-conformance (#237) (1f84ecc)
  • grid: add ColumnConfig.lockPosition to lock per-column reordering (b5bfe77)
  • grid: promote meta.* column flags to first-class ColumnConfig properties (5f6fb95)
  • grid: promote utility column flag to public API, hide utility columns from print and reorder (1b06458)

Bug Fixes

  • grid: expose applyColumnState() as public method (133a8be), closes #237
  • grid: trigger row re-render from MultiSortPlugin on sort-clear via applyColumnState (4181fb7)

2.2.0 (2026-04-20)

Features

  • grid: add column.valueAccessor as single source of truth for cell value resolution (#230) (33c10e7)
  • grid: add loadThreshold for ServerSidePlugin prefetch (d0f9135)
  • grid: add sortMode and filterMode for local sort/filter (#231) (17af7b7)
  • grid: expose tbw-scroll CustomEvent for scroll-driven consumer use cases (#234) (259171e)

Bug Fixes

  • grid: correct row count display for server-side data in pinned-rows (afda185)
  • grid: server-side sort/filter blanking + filter unique-value fallback (8509857)
  • when sourceRows is empty, treat processed count as the total. Treat processed < source as a custom-pipeline filter signal; otherwise default filteredRows to totalRows so the panel correctly hides when no filter is applied. (afda185)

2.1.1 (2026-04-17)

Bug Fixes

  • grid: pinned-rows filteredRows now reflects externally filtered data (d9e6e04)
  • grid: sanitize renderer & light-DOM HTML to prevent XSS (36e396f)
  • grid: skip blank cells in numeric aggregators and number filter inputs (abfe4bf)

2.1.0 (2026-04-16)

Features

  • grid: add config-driven dataSource to ServerSideConfig (6fccbd2)

2.0.0 (2026-04-16)

⚠ BREAKING CHANGES

  • grid: Remove async groups() callback and rows() callback from GroupingRowsConfig. GroupingRows now uses ServerSidePlugin for server-side data via the datasource event bus.
  • grid: Remove standalone TreeDataSource, TreeGetRowsParams, TreeGetRowsResult types and dataSource/pageSize config options. Tree now uses ServerSidePlugin for server-side data via the datasource event bus (datasource:data, datasource:children, datasource:viewport-mapping).
  • grid: ServerSideDataSource params renamed: startRow→startNode, endRow→endNode, totalRowCount→totalNodeCount, lastRow→lastNode. getTotalRowCount()/isRowLoaded() deprecated in favor of getTotalNodeCount()/isNodeLoaded().
  • Remove ~106 deprecated APIs across grid core and all framework adapters.

Features

  • grid: accessibility hardening — axe-core, live announcements, A11yConfig (#189) (d722e77)
  • grid: add datasource integration to MasterDetail plugin (a3ad4f8)
  • grid: add pre-defined group mode for server-side row grouping (#187) (8ffe759)
  • grid: integrate GroupingRows plugin with unified DataSource architecture (7cebae0)
  • grid: integrate Tree plugin with unified DataSource architecture (48c811a)
  • grid: styled Excel export with cell formatting (#188) (e7b78db)
  • grid: support lazy-loading tree data via TreeDataSource (#216) (61c46e5)
  • grid: tree lazy child loading + serverside infinite scroll (lastNode) (78f4be3)
  • remove deprecated APIs for v2 (#186) (c1b4a95)

Bug Fixes

  • grid: pass grid reference in CellRenderContext for all render paths (f8ec228)
  • grid: prevent event emission when DataGridElement is not connected (88648b3)
  • grid: re-render tool panel content after plugin re-initialization (3552c94)
  • grid: sort group headers alphabetically instead of by data row encounter order (4481072)
  • grid: use filterValue extractor for all filter operators (5e1ef3c)

Performance Improvements

  • grid: add comprehensive benchmarks for plugins, pipelines, and E2E regression (0850cd8)
  • grid: compact internal constants and deduplicate keyboard helpers (d236f94)
  • grid: eliminate redundant O(n) work in row update and sort hot paths (4ccf6cb)
  • grid: optimize for better performance (de3cb0e)
  • grid: optimize hot paths in master-detail, pivot, pinned-columns, and aggregators (96cc014)

Code Refactoring

  • grid: unified datasource architecture for ServerSidePlugin (Phase 1) (c49e492)

1.31.3 (2026-04-15)

Bug Fixes

  • grid,grid-angular: tooltip anchor guard and overlay editor init (4c71a0a)
  • grid,grid-react: thread gridEl for multi-grid portal resolution (f18e397)
  • grid: delegate sorting to render scheduler when processRows plugins are active (#212) (03af9c4)
  • grid: fix tree plugin with pinned columns (#214) (a38c893)

1.31.2 (2026-04-13)

Bug Fixes

  • grid: preserve grid DOM during shell refresh to retain event listeners (c53a12e)

1.31.1 (2026-04-13)

Bug Fixes

  • grid: anchor filter panel to filter button instead of header cell (c87b73b)
  • grid: sort set filter values numerically for number columns (#205) (0f616a5)

1.31.0 (2026-04-11)

Features

  • grid: add CSS-first icon system with hybrid JS override (#185) (3f63636)

Bug Fixes

  • grid: added missing pivot column sorting via header click (#183) (#184) (7ec66c0)
  • grid: apply value formatting in pivot rendering, fix grand total in row model (de0eb2e)
  • grid: stabilize row height when entering edit mode (ccf2a5e)

Enhancements

  • grid: enhance pivot plugin with events, custom aggregators, sorting, and formatting (a70304b)

Performance Improvements

  • grid: eliminate collectRows post-pass in grouping-rows tree build (e215913)

1.30.3 (2026-04-11)

Bug Fixes

  • grid: correct row count for multi-level group headers (#179) (#181) (0af8672)
  • grid: eliminate socket.dev security warnings from published bundle (022b052)

1.30.2 (2026-04-09)

Bug Fixes

  • grid: add missing filterType augmented column option (907ff39)

1.30.1 (2026-04-08)

Bug Fixes

  • grid: capture abort signal eagerly to prevent listener leak in filter panel (e7d23a6)

1.30.0 (2026-04-08)

Features

  • grid: split explicit column group headers at pin boundaries (252083f)

Bug Fixes

  • grid: column reorder visual update and FLIP animation direction (c2e73e4)
  • grid: sticky positioning and group-end adjustments for better cell rendering during scroll (d4f884b)

Performance Improvements

  • grid: replace ES6+ loop patterns with indexed for loops in hot paths (7806c58)
  • grid: revert NodeList/native C++ optimizations that hurt speed (e9cfe31)

1.29.0 (2026-04-05)

Features

  • grid: add public sort() API for programmatic single-column sorting (a5a475c)

Bug Fixes

  • grid-vue,grid-react: close adapter API parity gaps (3ff3e9a)
  • grid: prevent stale velocity from causing scroll after touch hold (92dca5f)
  • grid: prevent sticky hover highlight on touch devices during scroll (82256fe)

Performance Improvements

  • grid, docs: fair benchmark methodology and forceLayout optimization (81ccda3)
  • grid, docs: optimize filter/sort pipeline and improve benchmark methodology (6f6f574)
  • grid: column resize O(1) fast path + multiSort in-place sort (7aeb192)
  • grid: in-place sort for internal paths, eliminating O(n) array copy (8b87261)
  • grid: optimize filtering hot path with compiled predicates (6b5287a)

1.28.2 (2026-03-29)

Bug Fixes

  • grid: add type anchors to feature modules for bundler compatibility (721e610)
  • grid: make FeatureConfig reject unknown feature keys via sentinel type (19e4428)

1.28.1 (2026-03-26)

Bug Fixes

  • grid,grid-angular: release editor components before re-render to prevent overlay leaks (a7b1315)
  • grid: release editor DOM in fastPatchRow standard path before overwriting cell content (a91dc30)

Enhancements

  • grid: clipboard copy-what-you-see using column format and DOM text (4798cab)

1.28.0 (2026-03-26)

Features

  • grid: add TooltipPlugin with popover-based overflow tooltips (61fc11c)

Bug Fixes

  • grid: sanitize icon HTML to prevent XSS via innerHTML (7c5a8e8)

1.27.2 (2026-03-25)

Bug Fixes

  • grid: recompute excludedValues for in filters when source data changes (edf50e9)

Enhancements

  • grid: add filtering UX helpers — stale detection, set helpers, data ranges, blank toggle (#166, #167, #168, #169) (b5452a8)

1.27.1 (2026-03-23)

Bug Fixes

  • grid: fix custom elements manifest for webcomponents.org compatibility (194ed8f)

1.27.0 (2026-03-22)

Features

  • grid: enable master-detail and row-grouping plugins to work together (ea5461d)
  • grid: fragment column groups when columns are reordered across boundaries (4b91a77)
  • grid: make PinnedColumnsPlugin and GroupingColumnsPlugin compatible (d6a30e4)
  • grid: support overlay label in per-column aggregation rows (ea5e3b3)

Bug Fixes

  • grid: declare incompatible plugin combinations for row-model and server-side plugins (c46bc30)
  • grid: downgrade TBW021 optional dependency diagnostic to console.debug (ecef0cd)
  • grid: fix aggregation cell alignment shift from sticky label grid placement (360a853)
  • grid: pin column group headers and fix group-end borders at pin boundaries (437eb54)
  • grid: pin column group headers with their pinned columns (4e3e7b1)
  • grid: prevent data columns from being absorbed into adjacent group headers (dadbf56)
  • grid: recalculate virtual scroll height when theme changes row height (e833ac4)
  • grid: remove stale responsive/groupingRows incompatibility — variable row heights now supported (7e1c13f)
  • grid: replace unreliable children[0] with querySelector in plugins (a4b6fff)
  • grid: separate resize handle hit area from visual width and freeze columns during resize (a80088e)
  • grid: support group header drag in grid and fragment-aware visibility panel (f1d2d1c)

1.26.2 (2026-03-20)

Bug Fixes

  • grid: recalculate scroll height when entering CSS-only responsive card mode (8d9f9b2)

1.26.1 (2026-03-19)

Bug Fixes

  • grid: apply per-row —tbw-row-height override for variable-height mode (4e595da)
  • grid: clean up changedRowIds on revert when dirtyTracking is disabled (2ff51b3)
  • grid: prefer click target when focusing in editor (3c956a0)
  • grid: re-evaluate per-cell editability on row recycle in grid edit mode (5c55ddd)
  • grid: rectify variable row height and editor non-primitive handling (66b780d)
  • grid: skip non-primitive values in template editor auto-update (f8d6d5d)
  • grid: skip wheel intercept when native select picker is open (1d35f3a)

Enhancements

  • grid: sort filter panel items with selected first (933c746)

1.26.0 (2026-03-17)

Features

  • grid: add conditional editing via editable function and rowEditable (a5c814e)

Bug Fixes

  • grid: support Shift+keyboard selection in row mode (44f2da4)

1.25.2 (2026-03-17)

Bug Fixes

  • grid,grid-react,grid-vue: plug memory leaks in adapters, cache, and global handlers (c69c86d)
  • grid: inline diagnostics into plugin bundles and add doc cross-links to errors.mdx (348ecd5)

Performance Improvements

  • grid: cache hook checks, eliminate allocations in hot paths, O(1) row lookup (7b3e2d8)

1.25.1 (2026-03-16)

Bug Fixes

Enhancements

  • grid,grid-react,grid-vue,grid-angular: allow columnGroups and per-group renderer in plugin config (91960a9)

1.25.0 (2026-03-15)

Features

  • grid: add async overloads to queryGrid for safe post-upgrade access (ad1de81)
  • grid: add keyboard navigation to context menu plugin (a0a089a)
  • grid: implement missing ARIA accessibility features (2de584e)
  • grid: include grid element ID in validation error messages (4491460)

Bug Fixes

  • grid: bundle core/internal utils into plugins instead of externalizing (2800011)
  • grid: fix touch scroll + responsive card height alignment (b39b035)
  • grid: narrow externalizeCore exclusion to core/internal/utils only (c57d52e)
  • grid: normalize string returns in rowClass/cellClass callbacks (1057db8)
  • grid: preserve API-registered header content across config rebuilds (754dc7b)
  • grid: preserve open panel content across full shell re-renders (bbdec39)
  • grid: prevent browser from hijacking touch scroll gestures on mobile (6db4262)
  • grid: re-render shell when tool panel position changes (bb47b62)
  • grid: restore tool panel content after shell refresh and fix z-index stacking (2d9bdc7)
  • grid: use single chevron icon with CSS rotation for accordion animation (1713217)

Enhancements

  • grid-angular: migrate addEventListener to .on() API (0592112)
  • grid-react: migrate addEventListener to .on() API (24ff2b2)
  • grid: add data-change event for row data notifications (b94c4bc)

1.24.2 (2026-03-14)

Bug Fixes

  • grid: close context menu on scroll and ensure cross-grid exclusivity (135e20c)
  • grid: fix column reorder FLIP animation with async row rendering (f106993)
  • grid: implement groupHeaderRenderer config (was dead API surface) (0fa419c)

1.24.1 (2026-03-13)

Bug Fixes

  • docs: fix responsive manual control demo — get plugin lazily in click handlers (1038d67)
  • grid: fix row reorder drag handles blocked by mousedown preventDefault (177c075)
  • grid: prevent row height oscillation from mixed-height content (24ac596)

1.24.0 (2026-03-12)

Features

  • grid: add declarative features API for plugin configuration (94fa3b4)

1.23.4 (2026-03-11)

Bug Fixes

  • docs: remove duplicate h1 headers from all pages (ae24f73)
  • grid-angular: use getPluginByName in adapter features (acfb512)
  • grid-react: use getPluginByName in adapter features (69d00bf)
  • grid-vue: use getPluginByName in adapter features and composable (f51808b)
  • grid: recommend getPluginByName over getPlugin in docs and examples (042b58b)

1.23.3 (2026-03-08)

Bug Fixes

  • grid: column group header spans over interleaved utility columns (49c5b59)
  • grid: hidden columns CSS specificity in responsive card mode (f759d32)
  • grid: import FOCUSABLE_EDITOR_SELECTOR locally in editing plugin (007cfc2)

1.23.2 (2026-03-03)

Bug Fixes

  • grid: Prevent focus recursion in editing plugin (3485802)
  • grid: recognize grid edit mode in ensureCellVisible focus logic (23fad26)
  • grid: revert cell value on Escape in grid editing mode (ce1fc3c)
  • grid: support in operator in filter panel excludedValues (8641e92)

1.23.1 (2026-03-02)

Bug Fixes

  • grid: make filter column-state integration consistent via trackColumnState (7d9e067)

1.23.0 (2026-02-27)

Features

  • grid: add nullable column config for editing plugin (af1af5e)
  • grid: add tbw-row-dirty/tbw-row-new CSS classes for dirty tracking (bb5f653)
  • grid: add transaction API to UndoRedoPlugin for compound undo/redo (b9d4132)
  • grid: auto-mark inserted rows as new in dirty tracking (7b9d130)
  • grid: expose baseline API on EditingPlugin (hasBaseline, baselines-captured event) (d91a59f)
  • grid: implement dirty tracking in EditingPlugin (ccb7756)

Bug Fixes

  • grid, grid-angular: preserve focus on undo/redo and notify editors of external value changes (596442a)
  • grid: mark adapter editors as managed when factory returns void (e900a2d)
  • grid: prevent updateRow from re-sorting on insertRow (cf292a7)
  • grid: undo/redo during active editing — preventDefault, suppress feedback, focus cell (3170b57)
  • grid: use deep comparison for dirty tracking baselines (56eef98)
  • grid: use updateRow in UndoRedoPlugin for active editor sync (1e2d537)

1.22.1 (2026-02-25)

Bug Fixes

  • grid: click-outside commit regression from containsFocus check (addb4dc)

1.22.0 (2026-02-25)

Features

  • grid: add external focus container registry and focusTrap option (66cb973)
  • grid: make getPluginByName type-safe and preferred plugin access method (a69afef)

Bug Fixes

  • grid,grid-angular: stabilize overlay editor lifecycle during resize-triggered re-renders (e1da999)

1.21.2 (2026-02-24)

Bug Fixes

  • grid,grid-angular: flush managed editors before clearing edit state (#142) (52b74e6)
  • grid: include blank rows in set-filter panel for all columns (a607259)

Enhancements

  • grid: add optional valueTo parameter to applySetFilter for metadata passthrough (5980e7a)
  • grid: offer currentFilter property to custom filterPanelRenderers so that they can pre-set values to currently set filters (3b407b5)

Performance Improvements

  • grid: switch to terser minification, strip CSS comment from bundle (89f1131)

1.21.1 (2026-02-24)

Bug Fixes

  • grid: correct sideEffects paths to match published package structure (c62c2f7)

1.21.0 (2026-02-23)

Features

  • grid: auto-animate insertRow/removeRow, return Promises from animateRow (19980c8)

Bug Fixes

  • grid: clear stale core _sortState when MultiSortPlugin owns sorting (4022d79)

1.20.0 (2026-02-23)

Features

  • grid: add suspendProcessing() API and restore core sort in rebuildRowModel (0fede1f)

Bug Fixes

  • grid: use visible-column index when resolving columns from data-col (1034a8a)

1.19.3 (2026-02-22)

Bug Fixes

  • grid,grid-angular,grid-react,grid-vue: add typesVersions for Jest/CommonJS type resolution (#137) (cfdf327)

1.19.2 (2026-02-21)

Bug Fixes

  • grid: plug memory leaks in framework adapter lifecycle (0612c88)

Performance Improvements

  • grid: avoid destroying framework renderers on rows-only updates (c233dc7)

1.19.1 (2026-02-20)

Enhancements

  • grid: add multiSelect option to SelectionPlugin (3a684b5)

1.19.0 (2026-02-20)

Features

  • grid, grid-angular, grid-react, grid-vue: add getSelectedRows() to SelectionPlugin (a0bb977)

1.18.0 (2026-02-20)

Features

  • grid: add BLANK_FILTER_VALUE sentinel, selected map, and batch unique extraction (1a40c05)
  • grid: add filterValue column extractor for complex cell filtering (5944a45)

Bug Fixes

  • grid: harden EditingPlugin row resolution against stale indices (0208b15)
  • grid: keep focus on grid element during keyboard navigation (2d3c44a)

Enhancements

  • grid: add data-type attribute to header cells (b57b873)
  • grid: use column format function in filter panel display values (d1f284c)

1.17.0 (2026-02-18)

Features

  • grid: add closeOnClickOutside option for tool panel sidebar (20e3c59)

Bug Fixes

  • grid: fix stale sort indicators by enriching click events with column object (b0a79a5)

1.16.1 (2026-02-17)

Bug Fixes

  • grid: ensure grid retains DOM focus for keyboard shortcuts after cell clicks (ffba5a6)

1.16.0 (2026-02-16)

Features

  • grid: render context menu shortcuts as kbd key combos (a223915)
  • grid: support shortcut key combos in context menu items (c0342c9)

Bug Fixes

  • grid: allow ArrowUp/Down to reach editors in grid edit mode (05fa7c4)
  • grid: check onBeforeEditClose for Escape in grid edit mode (846ac39)
  • grid: handle null values correctly in set filter operators (in/notIn) (12a34dd)
  • grid: ignore modified Enter key in editing keyboard handler (fc2f0ab)
  • grid: preserve editors in grid edit mode on row reference change (04d21dc)
  • grid: prevent editor memory leak via releaseCell lifecycle hook (00d2ef5)
  • grid: support string widths (%, fr) in column template (99357d9)

1.15.0 (2026-02-15)

Features

  • grid: add F2 keyboard shortcut for single-cell editing (836dd15)
  • grid: add group drag-and-drop in visibility panel (67db4f6)
  • grid: add plugin-contributed header context menu items (229d7d8)
  • grid: grouped visibility panel via plugin query collaboration (a13290b)
  • grid: reorder columns to grid edges on pin/unpin with position restore (77aa826)

Bug Fixes

  • grid: collapse duplicate context menu separators and align icon placeholders (b2e0465)
  • grid: fix test failures and update docs to use pinned property (295a6c8)
  • grid: preserve column order when toggling visibility (91889c5)
  • grid: use part attribute selector for header context menu (7f92ee9)

1.14.1 (2026-02-12)

Bug Fixes

  • grid: invalidate filter cache when upstream plugins change row order (c0bb985)
  • grid: selection plugin should not react to ctrl+a when editing. (a9f5d57)
  • grid: use real DOM elements for row loading spinner (7cd2e4a)

Enhancements

  • grid: add “show only blank” option to date filter panel (f6603c4)

1.14.0 (2026-02-11)

Features

  • grid: add fullWidth support to pinned rows plugin (1c78d13)
  • grid: add onValueChange to editors for cascade reactivity (c2be2b3)
  • grid: bridge filterPanelRenderer in framework adapters (a526b28)
  • grid: expose programmatic copy API with column/row options and extract shared data-collection utility (b447d56)
  • grid: support dynamic label function in fullWidth aggregation rows (fb57ab1)
  • grid: sync context-menu selection with query system + tests + docs (800c344)

Bug Fixes

  • grid: null-safe the row animations api (064467b)
  • grid: selection plugin should not hijack Esc when editing is in progress. (2f7d568)

Enhancements

  • grid: add more extensibility for css using varialbes (fdb0b45)

1.13.0 (2026-02-10)

Features

  • grid: add multi-select for row mode with Shift/Ctrl click and checkbox column (0f2f572)

Bug Fixes

  • grid,themes: render selection borders inside cell padding box and fix Bootstrap focus variables (3a04a86)
  • grid: added missing events for editing (00e1ec4)
  • grid: improved the material theme (44141b0)
  • grid: merge contiguous row selections into minimal ranges (f7fcb49)
  • grid: preserve newline characters on built-in text editors (31d5274)
  • grid: preserve null on blur for built-in text editor (73461f3)
  • grid: sync selection state to focus (99e467e)
  • theme: improved the bootstrap theme (f9b28ca)

Performance Improvements

  • grid: reduce core bundle via import hint generation and sanitize deduplication (87f2f58)

1.12.1 (2026-02-09)

Bug Fixes

  • grid: apply group-end class via afterCellRender hook for scroll (6bd7f76)
  • grid: enable variable heights when plugins are added after connectedCallback (7bf4a3b)
  • grid: re-setup scroll listeners when scroll plugins added dynamically (5a8a98b)
  • grid: target .tbw-grid-root in ContextMenuPlugin instead of children[0] (2ebee96)

Performance Improvements

  • grid: optimize scroll rendering and fix master-detail height measurement (0f5865d)

1.12.0 (2026-02-07)

Features

  • grid: implement grid editing mode via afterCellRender hook (8f1ee4e)
  • grid: implement variable row height virtualization (#55) (#119) (5b4efb7)

Bug Fixes

  • grid: Allow escaping editing mode for fully editable grids (524a56d)
  • grid: ensure output dirs exist before parallel plugin builds (ed153c0)
  • grid: handle empty arrays in min/max aggregators (53f304c)
  • grid: preserve toolbar buttons across full re-renders (80a3496)

Performance Improvements

  • grid: prevent scrollbar jumpiness by caching scroll height (60a47b6)

1.11.0 (2026-02-06)

Features

  • grid,grid-angular,grid-react,grid-vue: add onBeforeEditClose callback for overlay support (6a83c02)

Bug Fixes

  • grid-angular: looser typing for editor params allowing custom editors to have more flexibility (94993d9)
  • grid-angular: return undefined from createEditor when no template exists (63866eb)
  • grid-angular: sync FormArray content changes & pass Space to editors (963072f)
  • grid: add missing exports (6f3086f)
  • grid: block grid keyboard navigation when onBeforeEditClose returns false (97fb2ba)
  • grid: ensure Tab navigation scrolls focused cell into view while editing (1d5ee61)
  • grid: skip DOM input reading for framework-managed editors (88f6770)

1.10.1 (2026-02-04)

Bug Fixes

  • grid: apply typeDefaults to columns at config merge time (ecb6324)

1.10.0 (2026-02-03)

Features

  • grid: add cell validation and cancelable row-commit (d8cc9ac)

Bug Fixes

  • grid: add missing typed addEventListener overloads for grid events (e7cd0cd)
  • grid: animate row by comparing snapshot to current value on edit close (90615d6)
  • grid: preserve numeric type for custom column types during edit commit (b7cadd8)
  • grid: preserve string date type during edit to prevent false change detection (6fd28fd)

1.9.2 (2026-02-03)

Bug Fixes

  • grid: column virtualization scrolling and add requestColumnsRender API (9b3c67b)

1.9.1 (2026-02-02)

Bug Fixes

  • grid: clip resize handle on last column to prevent horizontal overflow (bbbd891)

1.9.0 (2026-02-01)

Features

Bug Fixes

  • grid: apply typeDefaults format function correctly in cell rendering (70b0b50)
  • grid: fix missing light DOM configuration support to ResponsivePlugin (82820aa)

1.8.0 (2026-02-01)

Features

  • grid: #83 plugin event bus query system (#107) (881c296)
  • grid: add grid-wide resizable toggle (483d0f8)

1.7.0 (2026-01-30)

Features

  • grid: #96 - add loading UX with grid, row, and cell loading states (dde4385)

1.6.2 (2026-01-29)

Bug Fixes

  • grid: remove duplicate header from number/date filter panels (24978a3)

1.6.1 (2026-01-28)

Bug Fixes

  • grid: fix pivot collapse-all bug and add row reorder animation (b12b809)

Enhancements

  • themes: enhance built-in themes with polish and modern styling (767229f)

1.6.0 (2026-01-28)

Features

  • grid: add format to typeDefaults and filterPanelRenderer via plugin augmentation (2be087e)
  • grid: add gridConfig.filterable and gridConfig.selectable toggles (8876b42)

Bug Fixes

  • grid,grid-angular,grid-react: add sortable config and rename sorting to multiSort (4522bfc)
  • grid: filterpanel should differentiate on column type (2f4f174)
  • grid: respect --tbw-filter-item-height CSS variable in filtering panel (98cca15)

1.5.0 (2026-01-27)

Features

  • grid-angular: DX add tree-shakeable feature inputs and event outputs (757f8de)
  • grid-react: Improving DX for react framework bridge (#98) (19ab6ae)
  • grid: add accordion mode and full-width aggregators to GroupingRowsPlugin (2cec469)
  • grid: expand defaultExpanded to support index, key, or array of keys (bb37d21)

Bug Fixes

  • grid: defaultExpanded option now works in GroupingRowsPlugin (0511b19)

1.4.0 (2026-01-26)

Features

  • grid-angular: #80 angular reactive forms integration (#94) (487118f)
  • grid: add gridAriaLabel and gridAriaDescribedBy config options (a0c47a4)
  • grid: add PrintPlugin for print layout mode (#70) (#93) (963b699)
  • grid: header renderers (#81) (#91) (7b713bd)

1.3.1 (2026-01-26)

Bug Fixes

  • grid: add theming CSS variables and filter icon config (#87, #88, #89) (578d87d)

1.3.0 (2026-01-25)

Features

  • grid: add isSelectable callback for conditional selection (#54) (#77) (4f5a381)
  • grid: add Row Animation API (change/insert/remove) #73 (#78) (bda69f6)
  • grid: EditingPlugin uses row animation system for cell commits (b7b5c97)

Bug Fixes

  • grid: respect editable property during clipboard paste (86d96ac)

1.2.0 (2026-01-24)

Features

  • grid: add afterCellRender plugin hook for efficient cell-level modifications (48c0b62)
  • grid: add afterRowRender plugin hook for row-level modifications (0dc27aa)
  • grid: add missing methods to PublicGrid interface for better DX (d38f1b8)
  • grid: add row-reorder plugin (#75) (123294a)

Bug Fixes

  • grid: ensure column groups render after shell refresh (70943ed)
  • grid: preserve tbw-grid-detail and tbw-grid-responsive-card in shell rebuild (70943ed)

1.1.2 (2026-01-23)

Bug Fixes

  • demo: disable responsive plugin when row grouping is enabled (3f4ad4e)
  • grid: clear cached measurements when exiting responsive mode (e849b9f)
  • grid: prevent infinite loop when responsive + grouping plugins combined (e677356)
  • grid: properly reset row element state when recycling between plugins (548ef9c)

Performance Improvements

  • grid: eliminate duplicate afterRender calls during render cycle (605991d)
  • grid: reduce render cycles during initialization and mode switches (24e8c3c)

1.1.1 (2026-01-22)

Bug Fixes

  • grid: skip group rows in ResponsivePlugin cardRenderer (b69e774)

1.1.0 (2026-01-22)

Features

  • grid: add plugin manifest system for declarative validation (#59) (31874ee)
  • grid: add ResponsivePlugin for card layout mode (#56) (#62) (98d8057)
  • grid: add triggerOn option to SelectionPlugin (#53) (#61) (733d12f)

1.0.0 (2026-01-21)

⚠ BREAKING CHANGES

  • grid: remove all deprecated APIs for v1.0.0
  • grid: move editOn from core to EditingPlugin ownership

Features

  • grid-angular: support component classes in column config (9c0bb3b)
  • grid: add cell-click and row-click events for consumers (0e8366f)
  • grid: add editorParams for built-in editor configuration (#49) (ef73c16)
  • grid: add row update api (#51) (c75010c)
  • grid: add type-level default renderers and editors (b13421d)
  • grid: add unified cell-activate event with trigger discriminator (723eaf6)
  • grid: support @group tags in typedoc-to-mdx script (1a0512b)

Miscellaneous

  • grid: remove all deprecated APIs for v1.0.0 (16bdefa)

Code Refactoring

  • grid: move editOn from core to EditingPlugin ownership (01d5708)

0.6.0 (2026-01-19)

Features

  • grid: add cellClass and rowClass callbacks for dynamic styling (5a5121c)
  • grid: add createGrid/queryGrid factory functions (c00fba0)

Bug Fixes

  • grid: narrow sideEffects to enable tree-shaking (6e006fe)
  • lint errors (21af95d)

Performance Improvements

  • grid: delegate row click/dblclick events (923ba46)

0.5.0 (2026-01-18)

Features

  • grid: add vertical resize indicator line on column resize hover (ce42745)
  • grid: extend column group borders through all data rows (75d8c2c)
  • grid: implement CSS Cascade Layers for styling architecture (b0c5067)
  • grid: refactor CSS variables to use base tokens and relative units (6ac52f4)
  • grid: removed shadowDom to allow for easier styling of the grid (#42) (da1c6d4)
  • grid: use CSS Anchor Positioning for filter panel with JS fallback (22a51da)

Bug Fixes

  • editing: fix editing plugin not rendering custom editors properly. (e67adeb)
  • grid: accumulate plugin styles across multiple grid instances (25d093a)
  • grid: align filter panel to header cell instead of filter icon (7378677)
  • grid: correct context menu conditional items story to use disabled function (f7e38bd)
  • grid: ensure numeric widths are used for column resizing (5cd4076)
  • grid: respect caseSensitive in filter panel search (1048336)
  • reorder: column-move event must be emitted before actual move in order to cancel it (55a4026)
  • visibility: account for utility columns in reorder index (d26d1ae)

0.4.2 (2026-01-17)

Bug Fixes

Enhancements

  • streamlined DX for plugin development (f69dd4d)

0.4.1 (2026-01-16)

Enhancements

  • added plugin dependency manifest (7daecc2)
  • grid: Added inter-plugin dependencies (05f9f8e)

0.4.0 (2026-01-16)

Features

  • grid: Moved editing capabilities out of core. This is now an opt-in plugin instead. (4e1ee94)
  • grid: moved to a centralized configuration manager (06286e7)

Bug Fixes

  • docs: Examples for angular. (2b9fdca)
  • rendering: plugins did not render correctly after refactor (4dd6d12)

Enhancements

  • docs: improved documentation with the opt-in and good and bad practice. (605d951)
  • grid: added a centralized rendering pipeline to prevent race conditions in rendering. (8981998)
  • grid: added a non-intrusive debug log. (16dc37a)
  • grid: increased typesafety and documentation (bd63078)

0.3.3 (2026-01-12)

Bug Fixes

  • docs: update README files for grid-angular, grid-react, and grid with new features and sponsorship links (6b12d8a)
  • shell: escape HTML in shell header title to prevent XSS vulnerabilities (6b12d8a)

0.3.2 (2026-01-12)

Bug Fixes

  • resolve lint errors and improve package documentation (2847835)

Enhancements

  • docs: Improved documentation coverage (39b5626)
  • grid-angular: improved developer ergonomics in creating grids (2d77f07)
  • grid: framework and aria support (a7266c8)

0.3.1 (2026-01-10)

Bug Fixes

0.3.0 (2026-01-10)

Features

  • added angular support through a separate wrapper package for the grid (baaa1ee)
  • grid: unified resizable tool panel with accordion sections (44e13b7)

Bug Fixes

  • added storybook url to npm (0561b97)
  • column: resize broke after refactor. (9f6ffae)
  • docs: fix logo links and default initial page (279969f)
  • grid: add version attribute for debugging (#12) (d3a15e8)
  • grid: added animation support (66e056a)
  • grid: all.ts re-exports full core API + document icons config (69c7501)
  • grid: ARIA compliance, keyboard nav, editing lifecycle, and virtualization (7600fec)
  • grid: bugfixes for plugins so that the controls in the docs work as expected (cb9ced0)
  • grid: editOn should be allowed to disable editing by setting false (31c0ea7)
  • grid: erroneous link (08d747e)
  • grid: GridElement interface to include focusRow/focusCol properties (#2) (a12a43f)
  • grid: linting error (ffc68ce)
  • grid: Potential fix for code scanning alert no. 6: Prototype-polluting assignment (#9) (ca361ca)
  • grid: scroll bug when in datasets with less than 24 rows (e49206f)
  • grid: viewRenderer cells not updating on row data change (e5aefde)
  • keyboard: Home/End key behavior with pinned columns (e3e716c)
  • release please config (87b25a9)
  • scrolling moves selection (db11353)
  • selection follows data during scroll, touch scrolling, sticky column drag (e6aefa1)
  • selection: keyboard range selection (aa1842b)
  • selection: Should not select cells when shift+tab’ing through the cells (b87324f)
  • test (59c89d1)

Enhancements

  • docs: added a demo page showcasing more complex grid examples (0d1f147)
  • docs: Enhanced demo page (e61b8b8)
  • docs: Open stories in fullscreen (b18a847)
  • grid: add rowHeight configuration for virtualization and improve cell focus handling (cdec8bb)
  • grid: added momentum scroll for touch devices (9c9b994)
  • grid: Cleaned up public facing api. Properly marked internal members (6f03459)
  • grid: implement async sorting and filtering handlers for server-side operations (530a9b6)
  • grid: Implement inter-plugin communication (876ae8f)
  • groupingColumns: Added a new gridConfig property to group columns by. (e88d44e)
  • keyboard: enhance keyboard navigation with CTRL+Home/End functionality (2ff50d4)

0.2.8 (2026-01-05)

Bug Fixes

  • grid: scroll bug when in datasets with less than 24 rows (e49206f)

0.2.7 (2026-01-04)

Bug Fixes

  • grid: added animation support (66e056a)

Enhancements

  • docs: added svg logo and favicon (2e25aea)
  • grid: implement async sorting and filtering handlers for server-side operations (530a9b6)

0.2.6 (2026-01-03)

Bug Fixes

  • grid: bugfixes for plugins so that the controls in the docs work as expected (cb9ced0)
  • selection: keyboard range selection (aa1842b)

Enhancements

  • grid: added momentum scroll for touch devices (9c9b994)

0.2.5 (2026-01-03)

Bug Fixes

  • column: resize broke after refactor. (9f6ffae)
  • docs: fix logo links and default initial page (279969f)

Enhancements

  • docs: light-dark mode toggle (da9b691)
  • docs: Open stories in fullscreen (b18a847)

0.2.4 (2026-01-02)

Enhancements

  • grid: Cleaned up public facing api. Properly marked internal members (6f03459)

0.2.3 (2026-01-01)

Bug Fixes

  • keyboard: Home/End key behavior with pinned columns (e3e716c)
  • test (59c89d1)

Enhancements

  • grid: add rowHeight configuration for virtualization and improve cell focus handling (cdec8bb)
  • grid: Implement inter-plugin communication (876ae8f)
  • keyboard: enhance keyboard navigation with CTRL+Home/End functionality (2ff50d4)

0.2.2 (2025-12-31)

Bug Fixes

  • grid: add version attribute for debugging (#12) (d3a15e8)
  • grid: Potential fix for code scanning alert no. 6: Prototype-polluting assignment (#9) (ca361ca)

0.2.1 (2025-12-31)

Bug Fixes

  • ci: move npm publish to release-please, run tests on PRs only (bc9a6b9)
  • ci: run tests on release-please branch for status checks (#6) (c93372c)

0.2.0 (2025-12-31)

Features

  • grid: unified resizable tool panel with accordion sections (44e13b7)

Bug Fixes

  • added storybook url to npm (0561b97)
  • grid: all.ts re-exports full core API + document icons config (69c7501)
  • grid: ARIA compliance, keyboard nav, editing lifecycle, and virtualization (7600fec)
  • grid: erroneous link (08d747e)
  • grid: GridElement interface to include focusRow/focusCol properties (#2) (a12a43f)
  • grid: linting error (ffc68ce)
  • grid: viewRenderer cells not updating on row data change (e5aefde)
  • scrolling moves selection (db11353)
  • selection follows data during scroll, touch scrolling, sticky column drag (e6aefa1)
  • storybook preview works on github pages (cc9efed)

0.1.1 (2025-12-30)

Bug Fixes

  • grid: ARIA compliance, keyboard nav, editing lifecycle, and virtualization (7600fec)
  • grid: erroneous link (08d747e)
  • grid: linting error (ffc68ce)

0.1.0 (2025-12-30)

Features

  • grid: unified resizable tool panel with accordion sections (44e13b7)

0.0.7 (2025-12-29)

Bug Fixes

  • added storybook url to npm (0561b97)
  • grid: all.ts re-exports full core API + document icons config (69c7501)
  • grid: viewRenderer cells not updating on row data change (e5aefde)
  • scrolling moves selection (db11353)
  • selection follows data during scroll, touch scrolling, sticky column drag (e6aefa1)
  • storybook preview works on github pages (cc9efed)
AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://raw.githubusercontent.com/OysteinAmundsen/toolbox/main/llms-full.txt