Handsontable 13.0.0: Support for Angular 16, and new frameworks-support policy

Jakub Wiśniewski Release Notes / June 22, 2023

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 18Until React 19 comes out
Angular 14-16Until November 18, 2023
Vue 2Until December 31, 2023
Vue 3Until 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:

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

What we changed

  • 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 the afterSetDataAtCell and afterSetDataAtRowProp hooks. #10231
  • Changed the margins of the context menu in the RTL layout direction. #10375

What we removed

  • 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 the getNearestNotHiddenIndex() method. #10407
  • Breaking change: Removed the deprecated parameters of the alter() method: insert_row and insert_col. Instead, use the following parameters: insert_row_aboveinsert_row_belowinsert_col_start, and insert_col_end#10407
  • Breaking change: Removed the deprecated parameters of the populateFromArray() method: direction and deltas#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