Releases: handsontable/handsontable
Releases · handsontable/handsontable
17.0.0-rc
Added
- Breaking change: Added the Theme API. #11950
- Introduced a simple way to define custom editors using the new
BaseEditor.factorymethod. #11899 - Implemented a new MultiSelect cell type with a dedicated editor, renderer, and validator. #11981
- Added support for
Intl.NumberFormatoptions. #11997 - Added support for
Intl.DateTimeFormatoptions. #11999 - Added a copy-as-Markdown button to the documentation pages. #12009
- Added a new
sanitizertable option. #12016 - React: Introduced a simple way to define custom editors using the new
ComponentEditor. #11978
Changed
- Improved differentiation between Handsontable errors and other errors. #11780
- Reverted the editors'
updateChoicesListmethod type change. #11943 - Added a hit area to the fill handle. #11952
- Added a new
parsePastedValueoption to fix issues with pasting object-based values. #12020 - Introduced a new publishing flow for versions 17.0.0 and above. #12028
Removed
- Breaking change: Removed deprecated wrapper packages for Angular, React, and Vue, the
PersistentStateplugin, and the legacy undo/redo methods. #12015 - Breaking change: Removed
core-jsfrom dependencies. #12017 - Breaking change: Removed the legacy CSS stylesheets (e.g.
handsontable.full.min.css), which were the default styling prior to version 16. #11950 - Removed the
languagesfolder from git + updated the17.0+release workflow. #12049
Fixed
- Fixed errors triggered by certain keyboard shortcuts. #11951
- Fixed unwanted layout shifts caused by the editor. #11955
- Fixed an issue with scrolling in Firefox. #11962
- Fixed an issue with viewport scroll after calling
loadData()/updateData(). #11985 - Fixed a bug where the pasted value could not be changed. #11989
- Fixed misalignment issues when using
CSS transform: scale(). #11990 - Fixed a bug that made it impossible to delete values from key/value-based autocomplete and dropdown cells. #12010
- Fixed a Data Factory issue in filters that could return zero results even when matches exist. #12031
- Changed the element type for focus catchers. #12032
- Fixed incorrect scrollbar width calculation for scaled environments. #12035
- Fixed and issue with column headers styles #12058
Deprecated
- Deprecated numbro.js for numeric formatting. Copy it to your project or replace it with the
Intl.NumberFormatAPI. Migration guide - Deprecated Pikaday for date picking. Switch to native date input. Migration guide
- Deprecated moment.js for date parsing and display. Replace it with the
Intl.DateTimeFormatAPI. Migration guide - Deprecated DOMPurify as a built-in XSS sanitizer. Use the new
sanitizeroption or convert content to plain text. Migration guide - Deprecated core-js polyfills for ECMAScript features. Migration guide
- Deprecated bundling HyperFormula as a Handsontable dependency. Starting from version 18.0, install and import it separately, then pass it to the Formulas plugin with
licenseKey: 'internal-use'. Formula calculation
16.2.0
Added
- Improved focus management by introducing a focus scopes mechanism. #11804
- Introduced an "auto" option for the
roundFloatsetting in the Column Summary plugin and ensured proper recalculation of endpoints after data updates. #11833 - Added an Enter key handler and a new
searchModeoption to the Filters plugin. #11871 - Implemented a
styleoption for the Custom Borders plugin, enabling style customization. #11876 - Introduced a new "dotted" border style to the Custom Borders plugin. #11877
- Added the EmptyDataState plugin to improve UX when no data is available. #11879
- Added a
settingsentry to the Handsontable exports. #11883 - Added new global button CSS class names. #11896
- Introduced
minRowHeightsas an alias forrowHeightsfor API consistency. #11898 - Added a new
templateoption to the Dialog plugin. #11902 - Added new theme variables and implemented
no-iconsandicons-onlystyle variants. #11913
Changed
- Refined dropdown behavior when the input is empty - focus now remains on the input field. #11863
- Improved how the Autocomplete and Dropdown editors respond to clicks outside the open editor. #11873
- Reverted the editors'
updateChoicesListmethod type change. #11943
Fixed
- Fixed the datepicker icon size issue on iPad. #11860
- Corrected header size rendering on iPad. #11861
- Fixed an issue with header text size with
collapsibleColumnsenabled. #11864 - Fixed an issue with an unwanted empty space on the right side of the table when using the modern themes. #11868
- Fixed row misalignment for multi-line cell content. #11872
- Improved column width calculations for checkbox-typed cells. #11891
- Fixed a problem, where using
minSpareRowswould crash the table when configured alongside the Column Summary plugin. #11911 - Fixed an issue preventing re-adding a previously removed hook callback. #11914
- Stabilized the height of the first row when it's empty. #11918
- Fixed a problem where resizing the window vertically did not resize the table. #11919
- Fixed an issue where the dialog overlay could make the table unresponsive after rapid show/hide calls. #11925
- Fixed an issue with TouchEvent on Firefox. #11928
- React: Fixed an issue with Collapsible Columns being reset in React wrapper. #11923
Security
- Updated dev dependencies to address high-severity vulnerabilities. #11895
For more information about this release, see:
16.1.1
16.1.0
Added
- Introduced row pagination functionality. #11612
- Introduced a Dialog plugin. #11754
- Added support for object-based (
key/value) source in Autocomplete and Dropdown editors, along with newvalueGetterandvalueSetteroptions. #11773 - Added a new
initialStateconfiguration option. #11777 - Introduced the Loading plugin. #11792
- Added a new "classic" theme. #11790
- Added a Deprecation policy page to the documentation.
- Added a Long Term Support (LTS) page to the documentation.
Changed
- Enabled focus navigation between multiple selection layers. #11756
- Renamed the input element used as the internal focus catcher. #11770
- Added a background color to the
wtHolderelement. #11797 - Updated the CSS variables for the Pagination styles. #11820
Fixed
- Fixed undo/redo functionality for cell types other than
text. #11656 - Fixed incorrect resizing behavior when auto-sizing rows or columns by double-clicking separators. #11671
- Fixed mouse wheel zooming issues on Windows. #11680
- Fixed autocomplete sorting and option highlighting issues. #11708
- Fixed a missing
touchendhandler that prevented editors from opening on mobile devices. #11729 - Fixed misalignment between rows and row headers when using
autoRowSize. #11736 - Fixed layout inconsistencies caused by browser zoom and scaling. #11739
- Fixed an issue with the root-wrapper height calculation. #11769
- Fixed a
TypeErrorbeing thrown after undoing operations on nested row structures. #11793 - Fixed
rowHeightshandling for merged cells. #11795 - Fixed visual issues across themes. #11805
- Fixed table misalignment after loading new data. #11809
- Angular: Fixed the tree-shaking mechanism for the Angular wrapper (
@handsontable/angular-wrapper). #11738 - Fixed an issue with the deprecation warning being shown too often. #11819
- Fixed an issue with the classic (legacy) theme deprecation warning being displayed for non-root instances. #11821
- Fixed an issue with the table not rendering correctly when scrolling into extremely tall rows. #11825
Security
- Resolved critical vulnerabilities reported by
pnpm audit. #11798
Deprecated
- Deprecated the legacy style (to be removed in version
17.0.0). #11790 - Deprecated the PersistentState plugin (to be removed in version
17.0.0). #11835 - Deprecated the
@handsontable/vuewrapper. #11839
For more information about this release see:
16.0.1
16.0.0
Added
- Breaking change: Added a focus outline to the context and dropdown menus. #11669
- Improved Handsontable editor positioning. #11593
- Added a second-click cell deselection feature. #11602
- Added a new
textEllipsisoption. #11609 - Added backward compatibility for the renamed CSS variables. #11676
- Angular: Introduced a new Angular wrapper -
@handsontable/angular-wrapper. #11511
Changed
- Breaking change: Updated the CSS theme variables and added
--ht-radio-*variables. #11470 - Breaking change: Changed the
modifyDatahook to use visual indexes for both rows and columns. #11501
Fixed
- Breaking change: Fixed an issue with custom border overlapping row headers. #11551
- Breaking change: Fixed accessibility issues and introduced a new DOM structure with a wrapper and a portal. #11579
- Fixed a problem with the dropdown editor having a horizontal scrollbar on Windows with fractional scaling applied. #11613
- Fixed an issue with scrollbar styles on the Safari browser. #11614
- Fixed the column filter behavior when adding new columns. #11616
- Fixed an issue with the dropdown elements' colors. #11661
- Angular: Fixed an error of
this.hotInstance.getSettings(...).columns?.filter is not a functioninangular-wrapper. #11695
For more information about this release see:
15.3.0
Added
- Added a missing boolean type to the editor in the React wrapper. #11514
- Fixed the Comments plugin for IME editing and added a new
beforeCompositionstarthook. #11521 - Added horizontal scroll to the Filter's "by value" component. #11561
- Added optional formula sanitization for CSV export to prevent CSV Injection attacks. #11592
Changed
- Improved the initialization time of Handsontable with Formulas enabled. #11474
- Changed the size of the Manual Row Resize and Manual Column Resize guide lines. #11507
- Improved the viewport scrolling behavior. #11577
Fixed
- Fixed an issue with the NestedRows plugin duplicating rows when moving child rows. #11362
- Fixed an issue with row resize line alignment and resize handle flickering. #11500
- Fixed an issue with the Autocomplete caret position after using scroll on a list of choices and a problem with the dropdown width. #11503
- Fixed the submenu positioning for all themes. #11505
- Fixed a problem where re-enabling the Hidden Columns configuration caused an error to be thrown if a selection was a part of the hidden range. #11508
- Fixed an issue with an empty
parentNodein the table'sgetCordsmethod. #11509 - Improved the Undo/Redo actions for removing rows and columns. #11515
- Fixed rows' height calculations for merged cells on Safari. #11517
- Fixed the missing (incorrect) render call after dataset change. #11529
- Fixed an issue with the mobile keyboard closing after clicking the filter search input on Android devices. #11532
- Fixed a problem with multiple row header levels being rendered in reverse order. #11533
- Fixed a
TypeErrorerror for theAutoRowSizeplugin. #11537 - Allow changing the selection after a filter was applied. #11538
- Fixed a problem with the Autocomplete editor rendering very slowly when provided with a long list of choices. #11552
- Fixed an issue with the focus catcher accessibility. #11553
- Fixed a
TypeErrorerror being thrown after removing rows on the bottom overlay. #11555 - Fixed calculating the first row height. #11557
- Fixed an issue with highlighting a cell after calling
updateData. #11558 - Fixed the "unmerge cells" action triggered form keyboard shortcut. #11559
- Fixed the left/right-arrow shortcuts for menus when the table was configured with
layoutDirection: rtl. #11562 - Fixed an issue with duplicate boolean values in the filters. #11563
- Fixed an issue with data sources with non-string values under the
nameproperty. #11565 - Fixed the settings object not being updated after adding new hooks. #11566
- Fixed a problem with the table rendering all rows when it's configured to have
0pxheight. #11567 - Fixed the copy/paste/cut functionalities for web components. #11572
- Fixed the
allowInvalidoption (bothtrueandfalse) for the Dropdown Editor. #11587 - Fixed a problem with a deprecation warnings being thrown when using Context Menu's Undo and Redo items. #11588
- Fixed an error being thrown when editing Autocomplete-typed cells with a long list of choices rendered in a small container. #11589
- Ensured that there's a single
@charsetentry in the classic theme's CSS files and that it's placed at the beginning of those files. #11591
For more information about this release see:
15.2.0
Added
- Added the Farsi translation. #11388
- Added support for class names passed as an array for the numeric cell renderer. #11420
- Updated the Italian translation for the new Context Menu labels. #11436
- Updated the Serbian translation for the new Context Menu labels. #11437
- Added the mobile cell handle CSS variables to the themes. #11479
- Improved the execution flow of the Filters plugin and added two new methods (
importConditionsandexportConditions). #11488
Changed
- Sped up the rendering performance for themes. #11443
- Improved the table UI behavior after removing all rows and/or columns. #11477
- Reverted the removal of
actionTypeclass field for UndoRedo actions. #11495
Removed
- Removed the broken, unsupported and undocumented
rendererTemplateText Renderer option. #11424
Fixed
- Fixed the default (fallback) date format for the Date editor. #11419
- Fixed the Context Menu's items' state rendering. #11422
- Corrected the checkbox visibility in the no-theme variant. #11427
- Fixed problems with the cell content reading with
imeFastEditenabled. #11442 - Fixed
hasVerticalScrollandhasHorizontalScrollmethods. #11455 - Fixed the editor border radius on mobile devices. #11457
- Fixed the wrong height of the first row. #11458
- Fixed the single cell selection inside iframes. #11460
- Fixed an issue with row header misalignment. #11465
- Improved the Autocomplete/Dropdown Editor list behavior. #11469
- Fixed a problem with horizontal scrollbar in the Autocomplete dropdown. #11473
- Fixed the merged cells height for custom row heights. #11478
- Fixed a problem with the Comments editor not flipping direction when overlapping the window's scrollbars. #11481
- Fixed a problem with the focus trap during
Shift+Tabnavigation. #11483 - Fixed an issue with the Context Menu opening on Classic theme. #11486
- Fixed a problem with
rowHeightswhen the provided value was lower than the default/minimal row height. #11487 - Fixed an issue with the data source modification for row values passed as strings. #11491
- Fixed the conflicts between ColumnSorting and MultiColumnSorting plugins. #11492
- Fixed copy, cut an paste actions on tables with a selection reaching outside of the rendered viewport. #11504
For more information about this release see:
15.1.0
Added
- Added the
TABandSHIFT + TABfunctionality to the Comments editor. #11345
Changed
- Changed the approach to how the table is rendered by reusing the cell nodes. #11264
- Updated Hyperformula to v3. #11373
- Improved the performance of horizontal scrolling. #11412
Removed
- Removed the
getComputedStylefunction from the type declaration file. #11421
Fixed
- Fixed a bug where values passed to data-modifying hooks were not normalized. #11346
- Fixed a problem where data population via autofill handler was broken for merged cells. #11291
- Fixed a problem with a missing render call for the
minSpareRowsandminSpareColsoptions. #11292 - Fixed the undo/redo scrolling behavior after undoing the data deletion. #11297
- Fixed the
Page Up/Page Downkeyboard shortcuts for the oversized rows. #11301 - Fixed a bug where the Undo/Redo action caused the wrong cells to be affected when triggered after filtering data. #11307
- Fixed a bug where the selection was incorrectly expanded after closing the editor. #11311
- Fixed a bug where the viewport was incorrectly scrolled after moving rows with the Nested Rows plugin enabled. #11312
- Fixed dropdown-typed cells validation for custom editors. #11314
- Fixed Undo/Redo for rows/columns with enabled min spare indexes. #11321
- Fixed a problem with the table misalignment after changing the container size. #11324
- Fixed a bug with an uncaught error being thrown after changing the theme while some of the editors were not fully initialized. #11325
- Fixed a problem with a broken scroll on overlays when
batchwas used. #11328 - Fixed the date picker arrow icon positions for RTL, along with other minor RTL fixes. #11329
- Fixed the Autofill handler styles for the new themes. #11330
- Fixed a problem with an uncaught error being thrown after scrolling the viewport. #11341
- Fixed a problem where calling
updateSettingswiththemeNameset to the current theme name would clear the theme from the table. #11343 - Fixed a problem where the
getCellsMetamethod returned improper results. #11350 - Fixed the row virtualization for Filter's "by value" component. #11351
- Fixed a problem with the columns shifting after the render calls with the new themes being enabled. #11352
- Fixed the cell editor width for the new themes. #11354
- Disabled the "Clear column" option for read-only cells. #11355
- Fixed a problem where autocomplete highlight was not rendered correctly in the new themes. #11364
- Fixed a problem where the cell borders were not rendered correctly for fixed rows and columns with the new themes being enabled. #11369
- Fixed the incorrect spacing between the checkboxes and their labels. #11377
- Fixed a problem where the Nested Headers' header selection was not rendered properly for the new themes. #11381
- Fixed a bug where the dropdown editor was not fully visible on fixed rows while the new themes were enabled. #11399
- Fixed a problem where the initial styles of the context menu and dropdown menu were not properly assigned in the new themes. #11400
- Fixed a misalignment of the Manual Row Move's "guide" in the new themes. #11401
- Fixed a bug where the selection was not rendered correctly when selecting both merged and non-merged cells with the new themes being enabled. #11403
- Fixed a bug where using the keyboard shortcuts to open the Context Menu would open it at a wrong position when the new themes were enabled. #11404
- Fixed the CodeQL warnings by modifying potentially problematic code fragments. #11405
- Fixed a bug where the date editor would not close after selecting a date on mobile devices. #11406
- Fixed a problem with the header widths when using Nested Headers with the new themes enabled. #11410
- Fixed the header text overlap in Nested Headers. #11413
- Fixed a problem with the merged cells height calculation in the new themes. #11423
- Fixed the copy/paste feature not working correctly in Chrome 133. #11428
- Fixed a problem, where clicking on the Comments' editor element deselected the currently selected cells. #11446
For more information on Handsontable 15.1.0, see: