HANDSONTABLE v12.0.0 Release Notes

Release Date: 2022-04-28 // almost 2 years ago
  • ๐Ÿš€ For more information on this release, see:

    โž• Added

    • โž• Added ShortcutManager, a new API for customizing keyboard shortcuts. #8942
    • โž• Added support for right-to-left (RTL) languages, introducing a new configuration option: layoutDirection. #8760
    • โž• Added an Arabic translation. #9208
    • โž• Added a new configuration option: fixedColumnsStart. #8760
    • โž• Added a new keyboard shortcut (Ctrl/Cmd + Enter) for filling the selected range of cells with the value of the active cell. #9366
    • โž• Added support for the Home and End keys inside cell editors, for moving the cursor to the beginning or end of the text. #9367
    • โž• Added support for the latest Node LTS version. #9149

    ๐Ÿ”„ Changed

    • ๐Ÿ’ฅ Breaking change: Changed how updateSettings() handles data updates, to improve performance and the consistency of user experience. Now, when provided with a new data object, updateSettings() updates the data without resetting any states. #7263
    • ๐Ÿ’ฅ Breaking change: Changed how updatePlugin() reacts to updateSettings() calls, to improve performance and the consistency of user experience. Now, calls to updateSettings() update a plugin's state only when the options object contains a configuration option that's relevant to that particular plugin. #9021
    • ๐Ÿ’ฅ Breaking change: Changed the order of execution for two hooks: now, beforeKeyDown is properly fired before afterDocumentKeyDown. #6236
    • ๐Ÿ’ฅ Breaking change: Changed how default keyboard shortcuts are defined, to improve keyboard navigation consistency. Most of the shortcuts did not change and are now properly documented in the keyboard shortcuts guide. However, some shortcuts that were not defined explicitly, and were not listed in the documentation, don't work anymore (e.g., Enter opens a cell's editor, but Ctrl + Enter doesn't). This change doesn't affect custom keyboard shortcuts. #8942
    • ๐Ÿ’ฅ Breaking change: Split a cross-platform modifier key (Ctrl/Cmd) into two separate keys, to improve keyboard navigation consistency. Now, the Cmd key triggers actions on macOS where the Ctrl key triggers actions on Windows. For example, on macOS, Ctrl + A doesn't work anymore: Cmd + A is used instead. #9369
    • ๐Ÿ’ฅ Breaking change: Changed the actions of the following keyboard shortcuts, to match the usual spreadsheet software behavior, and provide a more intuitive user experience: Ctrl/Cmd + โ†‘, Ctrl/Cmd + Shift + โ†‘, Ctrl/Cmd + โ†“, Ctrl/Cmd + Shift + โ†“, Ctrl/Cmd + โ†, Ctrl/Cmd + Shift + โ†, Ctrl/Cmd + โ†’, Ctrl/Cmd + Shift + โ†’, Home, Ctrl/Cmd + Home, End, Ctrl/Cmd + End, Shift + Page Up, and Shift + Page Down. #9363 #9364 #9365
    • ๐Ÿ”„ Changed two scripts of the main Handsontable workspace (./), to speed up the build process: now, the npm run build and npm run test scripts don't build or test the Handsontable examples (./examples). #9412
    • ๐Ÿ”’ Changed the version of the Moment.js dependency from 2.24.0 to 2.29.3, in reaction to a recently-found Moment.js security vulnerability that did not directly affect Handsontable. #9381
    • ๐Ÿ”„ Changed the version of the HyperFormula optional dependency from 1.2.0 to 2.0.0. #9411
    • ๐Ÿ”„ Changed an internal property name, from hot.view.wt to hot.view._wt, where hot is the name of your Handsontable instance. The intention of this change is to make it clear that Walkontable (Handsontable's rendering engine) is not a part of Handsontable's public API. #8760

    ๐Ÿ›  Fixed

    • React, Angular, Vue 2, Vue 3: Fixed an issue where using updateSettings() caused problems for state managers. #8372
    • ๐Ÿ›  Fixed an issue where using updateSettings() caused hidden columns to reappear. #7165
    • ๐Ÿ›  Fixed an issue where using updateSettings() caused merged cells to unmerge. #3315
    • ๐Ÿ›  Fixed an issue where using updateSettings() caused the state of nested rows to reset. #8838
    • ๐Ÿ›  Fixed an issue where using updateSettings() caused problems with column sorting. #7688
    • React: Fixed an issue where using React's setState() within the afterFilter hook broke filtering. #7567
    • Vue 2: Fixed an issue where repeatedly changing Handsontable's height through updateSettings() caused Handsontable to crash. #7546
    • Vue 2: Fixed an issue where the failed validation status got erased when editing a new row. #7541
    • ๐Ÿ›  Fixed an issue where cell filtering did not use formula results. #5455
    • ๐Ÿ›  Fixed a wrong TypeScript definition in the BasePlugin class. #9175
    • ๐Ÿ›  Fixed an issue where the Ctrl/Cmd + Z and Ctrl/Cmd + Shift + Z keyboard shortcuts didn't behave properly inside cell editors. #9367
    • ๐Ÿ›  Fixed an issue where the dropdown menu contained unwanted rectangle elements. #9240
    • React, Vue 2, Vue 3: Fixed an issue with registering modules for the React, Vue 2, and Vue 3 wrappers, by adding an "exports" field to their package.json files. #9140

    โœ‚ Removed

    • ๐Ÿ’ฅ Breaking change: Removed the Cmd + M keyboard shortcut (used for cell merging), as it conflicted with window minimizing on macOS. The Ctrl + M keyboard shortcut works the same as before. #9368
    • ๐Ÿ’ฅ Breaking change: Removed the Shift + Page Up/Page Down keyboard shortcuts from the cell editing context. #9401
    • โฌ‡๏ธ Dropped support for Internet Explorer 11 and Edge Legacy (the non-Chromium version of Edge). Handsontable 11.x becomes the long-term support (LTS) version for Internet Explorer 11 and Edge Legacy, until the end of 2023. #7026
    • React: Removed the enzyme dependency from the React wrapper. #9151