What’s new in Handsontable 8.4.0
The new release of Handsontable has arrived and it brings lots of bug fixes as well as new hooks, and a new versioning scheme.
New versioning scheme
Handsontable follows the semVer versioning strategy, which proves to be predictable and self-explanatory for developers working with Handsontable. However, until now we have been releasing our wrappers for frameworks in separation from the core library, resulting in four different versions of the software. We noticed that it was confusing for some developers, especially for those writing applications in one of the supported frameworks.
With the 8.4.0 release, we changed the versioning scheme by unifying all package version numbers. There will be only one Handsontable version from now. We believe this is a huge improvement to the way how we inform you about the updates to the software, regardless of your technology preferences.
Obviously, each consecutive release will respect the semVer rules.
Here you have a comparison between the previous and the new versioning strategy.
- Before 8.4.0: React 5.0.0, Vue 6.0.0, Angular 7.0.0, Pure JS 8.3.2
- 8.4.0 and later: All packages are now 8.4.0
New hooks to Undo/Redo plugin
We added new hooks to solve issue #6948 reported on GitHub. A detailed explanation of the solution can be found in this PR. The new hooks are listed below:
beforeUndoStackChange
afterUndoStackChange
beforeRedoStackChange
afterRedoStackChange
You can use new hooks to react to changes in the stack of undo/redo items. For example it is useful when you create a spreadsheet-like toolbar and want to grey out the “Undo” icon (⬅) when there are no actions left in the undo stack.
Improvements to the Nested Header plugin
With the “Nested Header” plugin you can group columns by adding multiple levels of headers. This feature is useful when you have data that belong to various categories – for example, the data in the column ”Full name” (level 1) could be presented as part of the categories: “Employee data” (first group), and “Company A” (second group).
Previously, a bug caused a serious misalignment of headers whenever you hid one or more columns within the nested headers structure. This issue is now fixed, but we’re still working on making it possible for you to collapse and expand such columns using the grid’s UI. We expect that this problem will be fixed soon and released within one of the future versions.
Minor improvements to the mobile experience
To improve your experience on mobile devices we fixed an issue that made it difficult to open the cell editor when tapping twice on it (#6961). We also noticed that some users couldn’t open the dropdown menu (column menu) on Android devices (#6212). That’s fixed now too.
Fixes and additions
Below is a complete list of changes in version 8.4.0 released on May 11, 2021:
Added
- Introduced a
separated
attribute for thelabel
options (the label DOM element may wrapinput
or be placed next to it). #3172 - Introduced the
modifyAutoColumnSizeSeed
hook to let developers overwrite the default behavior of the AutoColumnSize sampling. #3339 - Added support for hiding columns for the NestedHeaders plugin. #6879
- Added ability to skip stacking actions by the
UndoRedo
plugin and introduced new hooks. #6948
Fixed issues
- Fixed a problem with sorting the
checkbox
-typed cells and an issue with empty cells not being displayed properly. #4047 - Fixed a problem where undoing the removal of row with
readOnly
cells was not performed properly. #4754 - Fixed state-change resolving for externally added checkboxes. #5934
- Fixed a problem with the native selection being removed with the
fragmentSelection
option enabled. #6083 - Fixed a bug where the number of columns rendered in the viewport was not correct. #6115
- Fixed a bug with the Dropdown Menu not opening on Android devices. #6212
- Fixed the double-tap issue on iOS. #6961
- Fixed a problem with the Comments editor being destroyed after destroying another Handsontable instance. #7091
- Fixed incorrect
numericFormat
‘s type definition. #7420 - Fixed the
trimWhitespace
tests on Firefox. #7593 - Fixed the [NPM Audit] Github Action job to report found vulnerabilities. #7621
- Fixed some minor iOS problems. #7659
- Fixed the TypeScript definition for the suspended rendering feature. #7666
- Fixed the
postbuild
andexamples:install
scripts on Windows. #7680 - Fixed the contents of the production
package.json
. #7723 - Fixed an issue, where the callbacks for the
UndoRedo
plugin were called twice. #7825 - Vue: Fixed a problem with displaying and removing rows in the Nested Rows plugin. #7548
- React: Fixed incompatibility in the property type definitions for the HotColumn component. #7612
Changed
- Enhanced the ESLint config file by adding a rule that checks if new lines are missing before some keywords or statements. #7691
Leave a comment below or drop us a message if you have any questions. Follow us on Twitter to keep up with news and updates.