Handsontable 13.0.0: Support for Angular 16, and new frameworks-support policy
This version adds support for Angular 16, cleans up a few long-deprecated methods, and introduces a more transparent policy toward older versions of supported frameworks.
Support for Angular 16
You can now use Handsontable with Angular 16. If Angular is your framework of choice, this opens up a whole range of new possibilities for your application, letting you use the latest Angular features, such as revamped reactivity, non-destructive hydration, or signals.
To ensure smooth support for the latest version of Angular, we redesigned large portions of Handsontable’s Angular wrapper. Now, the wrapper uses the Ivy compiler, follows Angular’s latest best practices, and will let us generate more reliable tests and code examples in the future.
New frameworks-support policy
To ensure Handsontable works well with all the officially supported frameworks, we decided to align our policy toward older framework versions with the official policies of each framework’s maintainer.
We believe that this approach:
- It is transparent and simple: you know which versions of your framework are supported and which are not.
- Relieves you of any additional support rules that we could impose.
- Ensures smoother transition, so you can seamlessly upgrade to newer Handsontable versions without encountering compatibility issues with your framework.
Here’s our new frameworks support policy, which boils down to two essential rules:
1. We follow the support schedules of framework maintainers
We officially support only those framework versions that their respective maintainers support. For now, it’s the following:
React 18 | Until React 19 comes out |
Angular 14-16 | Until November 18, 2023 |
Vue 2 | Until December 31, 2023 |
Vue 3 | Until Vue 4 comes out |
When a maintainer drops support for an old framework version, we will drop it in the nearest major or minor release of Handsontable – we won’t treat it as a breaking change.
2. We provide 18 months of LTS for any dropped framework version
When we drop support for an old version of any framework, we’ll provide 18 months of long-term support (LTS) for it. In other words: after we release a version of Handsontable that drops support for an old framework version, for the next 18 months, we’ll fix any serious bugs that affect the dropped framework version and the respective version of Handsontable that was supporting it.
Removing long-deprecated methods
As this release contains breaking changes, we decided to take the occasion and clean up Handsontable’s codebase by removing a few long-deprecated methods and parameters:
- The
getFirstNotHiddenIndex()
method (deprecated since 12.1.0) - The
insert_row
andinsert_col
parameters of thealter()
method (deprecated since 12.2.0) - The
beforeAutofillInsidePopulate
hook (deprecated since 9.0.0), along with the relateddirection
anddeltas
parameters of thepopulateFromArray()
method
For more details, read the dedicated migration guide.
The first major version in 14 months
We’ve listened to your feedback about releasing major versions of Handsontable slightly too often. We, too, know that adapting to breaking changes can be costly. That’s why we try to limit them to a minimum, and with good results: Handsontable 12.0.0 came out on April 28, 2022, which means that we haven’t released a single breaking change in over a year.
Release notes
What we added
- Angular: Added support for Angular 16. #10396
- Breaking change (React, Angular, Vue 2, Vue 3): Changed Handsontable’s policy toward older versions of supported frameworks. From now on, Handsontable supports only those versions of any supported frameworks that are officially supported by their respective teams. Dropping Handsontable’s support for any older framework versions won’t be treated as a breaking change. #10396
- Breaking change: Changed the order in which three hooks are executed: now, the
beforeChange
hook is fired before theafterSetDataAtCell
andafterSetDataAtRowProp
hooks. #10231 - Changed the margins of the context menu in the RTL layout direction. #10375
- Breaking change (Angular): Dropped support for Angular 13 and lower. From now on, Handsontable supports only those versions of Angular that are officially supported by the Angular team: currently, it’s 14-16. However, Handsontable 13.0.0 was thoroughly tested and, to the best of our knowledge, works correctly with versions down to Angular 12. #10396
- Breaking change: Removed the deprecated
beforeAutofillInsidePopulate
hook. #10407 - Breaking change: Removed the deprecated
getFirstNotHiddenIndex
method. Instead, use thegetNearestNotHiddenIndex()
method. #10407 - Breaking change: Removed the deprecated parameters of the
alter()
method:insert_row
andinsert_col
. Instead, use the following parameters:insert_row_above
,insert_row_below
,insert_col_start
, andinsert_col_end
. #10407 - Breaking change: Removed the deprecated parameters of the
populateFromArray()
method:direction
anddeltas
. #10407
What we fixed
- Fixed an issue where the “Read only” icon of the context menu was displayed incorrectly in the RTL layout direction. #10375