Handsontable 7.0.0 is here!

Peter Plesa Release Notes / March 6, 2019

Handsontable 7.0.0 is here!

We’re very excited to be releasing Handsontable 7.0.0, as it comes with many substantial changes. The first one to mention is that Handsontable Pro has been merged with Handsontable CE, so starting with this version there is only one Handsontable. Additionally, the software is now “source-available” rather than “open source”, as we’ve replaced the MIT license with a custom free for non-commercial license.

On the technical side of things, Handsontable is now responsive! We’ve added the ability to define height and width using relative values such as %, vw, and vh.

One last thing to mention is that due to the merger of the Pro and CE versions, as well as the license change, we’ve had to bump the versions of our Angular, React, and Vue wrappers. Aside from that, there have been no other changes made to them.

Breaking changes

  • Starting with version 7.0.0, there is only one Handsontable, as Handsontable Pro has been merged with Handsontable Community Edition.
  • Handsontable is now “source-available” instead of “open source”. The MIT license has been replaced with a custom free for non-commercial license. Read our statement on GitHub for more details.
  • Added the beforeTrimRows and beforeUntrimRows hooks and modified the argument list for the existing ones in the Trim Rows plugin. (#5662)
    • Was:
      afterTrimRow: (rows)
      afterUntrimRow: (rows)
    • Is:
      afterTrimRow: (currentTrimConfig, destinationTrimConfig, actionPossible, stateChanged)
      afterUntrimRow: (currentTrimConfig, destinationTrimConfig, actionPossible, stateChanged)
  • Removed the deprecated selectCellByProp method. (#5174)
  • Added hooks to the Hidden Rows and Hidden Columns plugins + added validation of the provided rows. (#165#163#5651#5522)
    • Before this change, passing an invalid set of indexes (for example, [-1, 0, 1]) would still hide the valid elements from the set.
    • After this change, an invalid set of indexes passed to the plugin will result in the termination of the performed action.
  • We no longer support Bower. To install Handsontable, use npm or CDN instead.


  • Refactored the following classes to ES6 (#5403):
  • Fixed a problem where inserting a new row didn’t update the Trim Rows plugin properly. (#5761)
  • Fixed a problem where removing a row didn’t update the Trim Rows plugin properly. (#5738)
  • Added the possibility to declare the table’s width/height using relative values (%, vh, vw, rem, em). (#5749)
  • Added support for creating a Handsontable instance inside an iframe when the instance is initialized outside of it. (#5686, #5744)
  • Extended the Hidden Rows plugin’s hooks argument list. (#5671)
  • Updated the hot-formula-parser package in package.json. (#5665)
  • Fixed a bug where the getCell method returned undefined in some specific cases. (#5608)
  • Fixed a bug where an asynchronous validator would throw an exception when run after the table had been destroyed. (#5567)
  • Fixed a bug where an input defined in the headers would lose focus right after clicking on it. (#5541)
  • Fixed a bug where using preventOverflow would cause the editor offset to be incorrect when scrolling vertically. (#5453)
  • Fixed a bug where selecting a mixed merged/non-merged section would cause improper results. (#4912)
  • Fixed a problem where the Handsontable class export differed between UMD and other environments. (#4605)
  • Fixed a bug where disabling colHeaders using updateSettings would not work properly. (#4136)
  • Fixed a bug where the changes cancelled using the beforeChange hook were still validated. (#3381)
  • Updated the documentation for the setSortConfig method of the Column Sorting plugin. (#19)
  • Fixed a problem where passing an Array as a cell value would cause the populateFromArray method to fail. (#5675)
  • Rewrote the TypeScript definition file so it would match the actual structure of the library more precisely. (#5767)
  • Fixed a problem where resizing the table would not trigger the rendering process. (#5730, #2766)
  • Fixed a memory leak in the Context Menu plugin. (#5759)
  • Fixed a problem where it was impossible to add cell comments due to the editor closing too early. (#5614)
  • Fixed a bug where the Trim Rows plugin passed an unwanted value from the beforeCreateRow hook callback. (#5585)
  • Fixed a problem with the context menu displaying an empty box when no available menu items were provided. (#3865)

Follow us on Twitter to keep up with news and updates.

Leave a comment below or write to us if you have any questions.