Handsontable 15.1.0: Performance and Stability Improvements

Beata Mówka Release Notes / February 20, 2025

Handsontable 15.1.0: Performance and Stability Improvements

We’re excited to introduce Handsontable 15.1.0, bringing performance improvements for a smoother experience – especially with large datasets. We’ve also resolved over 30 issues, improving Handsontable’s stability, UI consistency, and functionality.

How To Upgrade

  • JavaScript npm install handsontable
  • Functional wrapper for React npm install handsontable @handsontable/react-wrapper
  • Class-based React npm install handsontable @handsontable/react
  • Angular npm install handsontable @handsontable/angular
  • Vue npm install handsontable @handsontable/vue3
  • Download from NuGet
  • View and clone on GitHub
  • Import from public CDN: jsDelivr, UNPKG

Faster Table Rendering 

One of the major enhancements in this release is the optimization of table rendering. Previously, Handsontable created cells from scratch on each rendering cycle, leading to slower updates. Now, we reuse and cache cell nodes, reducing unnecessary DOM manipulations and boosting rendering speed by up to 40%. This means faster load times and improved responsiveness, particularly when working with large tables.

Improved Horizontal Scrolling

We’ve also optimized horizontal scrolling by limiting the node pool size to the viewport rather than the entire dataset. This change reduces rendering overhead and improves scrolling smoothness, making navigation up to 25% faster.

Updated Formula Plugin

This update integrates HyperFormula 3.0, which now supports the XLOOKUP function, expanding Handsontable’s spreadsheet capabilities with powerful search and reference options. Version 3.0 also adds support for importing i18n files in Node.js environments, ensuring better localization handling and improved integration with modern ES module tooling.

Better Comments Navigation

We’ve also introduced TAB and SHIFT + TAB functionality in the Comments editor. Now, you can quickly move between cells while editing comments:

  • Pressing TAB will close the Comments editor, save any unsaved changes, and move the selection to the next cell.
  • Pressing SHIFT + TAB will do the same but move the selection to the previous cell instead.

This small but impactful change makes working with comments more intuitive. 

Resolved Issues

In this release, we’ve resolved over 30 issues to ensure stability, UI consistency, and improved functionality. You can find the full list of fixes in the release notes below.

Release Notes

Added

  • Added the TAB and SHIFT + TAB functionality 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 getComputedStyle function 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 minSpareRows and minSpareCols options. #11292
  • Fixed the undo/redo scrolling behavior after undoing the data deletion. #11297
  • Fixed the Page Up/Page Down keyboard 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 batch was 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 updateSettings with themeName set to the current theme name would clear the theme from the table. #11343
  • Fixed a problem where the getCellsMeta method 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 the 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 the 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

If you stumble across problems while updating, use one of the following support channels:

If your commercial support plan is active, contact our Support Team at support@handsontable.com or use this contact form.