Skip to content

Releases: handsontable/handsontable

14.0.0

30 Nov 10:22
14.0.0
9896296
Compare
Choose a tag to compare

Added

  • Added multiple keyboard shortcuts. For more information, see the release blogpost and the updated Keyboard Shortcuts documentation page.
    #10237 #10389 #10404 #10405 #10410 #10413 #10417 #10419 #10420 #10421 #10548
  • Added ARIA tags to various elements of the table to improve screen reader compatibility.
    #10463 #10524 #10526 #10539 #10548 #10541
  • Added the ability to navigate the headers with the keyboard by introducing a new navigableHeaders option along with other changes. #10265 #10301
  • Added the ability to traverse the grid within a webpage using the TAB key and introduced a new tabNavigation option. #10430 #10585
  • Added a new beforeSelectionHighlightSet hook that allows modifying logical selection coordinates before they are applied to the rendering engine. #10513
  • Implemented the select renderer and cell type. #10529
  • Added an accessibility demo for javascript and React. #10532
  • Added handsontable and date renderers for their respective cell types to allow adding the a11y attributes. #10535
  • Added new beforeColumnWrap and beforeRowWrap hooks. #10550

Changed

  • Breaking change: Changed the way the table reacts to using the "select all cells" methods and shortcuts. #10461
  • Breaking change: Changed the colors of the invalid cells and the arrow buttons of the autocomplete-typed cells. #10520
  • Breaking change: Improved the navigation and accessibility of the Filtering Dropdown Menu. #10530
  • Breaking change: Changed the way Handsontable handles focus by focusing the browser on cell elements. Introduced a new imeFastEdit option to minimize the negative effects affecting the "fast edit" feature for the IME users. #10342
  • Improved the keyboard navigation for the context and dropdown menus and added a new forwardToContext option to the ShortcutManager. #10519
  • Extended the Core's scrollViewportTo method to allow disabling of cell auto-snapping. #10508
  • Upgraded the monorepo to utilize Node 20. #10468
  • Improved DX by adding an exception to be thrown when trying to activate a shortcut context that has been not yet registered. #10476
  • Improved the performance of the table for cases when the table is hidden. #10490
  • Updated the TypeScript definitions. #10492 #10493 #10494 #10509
  • Changed the default styling of the "OK" button in the Filtering Dropdown when it's focus. #10558

Fixed

  • Fixed an issue where copying values containing an ampersand resulted in a wrong values being pasted. #10472
  • Fixed an issue related to the backlight position misalignment for the ManualRowMove and ManualColumnMove plugins. #10475
  • Fixed a problem with row header widths changing sizes after adding/deleting rows. #10479
  • Fixed a problem with the offset helper for elements placed in foreign object contexts. #10480
  • Fixed problems with size and alignment of the table when placed under elements with the CSS transform: scale attribute applied. #10482
  • Added the missing updateData value to the ChangeSource type. #10488
  • Fixed a bug where pressing Ctrl/Cmd does not trigger non-contiguous selection. #10502
  • Fixed a problem with the editor having incorrect width and height. #10504
  • Fixed visual glitches (unwanted pixels) of the Autocomplete editor's list in cases when there were no items. #10506
  • Fixed the Vue and React demo's dependencies to be able to use the demos with Stackblitz. #10523
  • Fixed a problem with the merged cells having wrong row heights. #10500
  • Fixed the accessibility issues in the documentation. #10574
  • Updated the demos for better accessibility. #10563
  • Fixed a problem with the text editor's width being calculated incorrectly. #10590
  • Fixed a problem with two cells being selected after Ctrl/Cmd + Shift key combination. #10622

For more information on this release, see:

13.1.0

31 Aug 07:38
13.1.0
ffd90e2
Compare
Choose a tag to compare

Changed

  • Optimized the transpilation process of the distribution files. #10440
  • Updated the internal monorepo scripts to utilize Node 20. #10468

Fixed

  • Fixed a problem with errors being thrown when pressing delete or backspace keys after deselecting cells. #10272
  • Fixed problems with moving rows when there are trimmed rows in the table. #10399
  • Fixed a problem with the column resize handle being stuck after the user clicked the right mouse button. #10416
  • Extended the type definition of CellChange to match the actual implementation. #10432
  • Fixed a typo in the CopyPaste plugin's copy method argument. #10446
  • Fixed the mobile selection handlers that disappeared below the table headers when multiple cells were selected. #10447
  • Fixed the Merge Cells plugin's problem with updating the cell meta after unmerging the previously-merged cells, which resulted in the Autofill plugin not working properly. #10456
  • Added the missing type definition for BaseEditor's getEditedCellRect method. #10459
  • Corrected the type definitions for the Context Menu. #9566
  • React: Mark an internal prop of the React wrapper's base editor component as optional. #10429

For more information on Handsontable 13.1.0, see:

13.0.0

22 Jun 11:15
13.0.0
129776a
Compare
Choose a tag to compare

Added

  • Angular: Added support for Angular 16. #10396

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

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_above, insert_row_below, insert_col_start, and insert_col_end. #10407
  • Breaking change: Removed the deprecated parameters of the populateFromArray() method: direction and deltas. #10407

Fixed

  • Fixed an issue where the "Read only" icon of the context menu displayed incorrectly in the RTL layout direction. #10375

For more information on Handsontable 13.0.0, see:

12.4.0

23 May 08:57
12.4.0
696f1e0
Compare
Choose a tag to compare

Added

  • Added two new Handsontable hooks, afterColumnSequenceChange and afterRowSequenceChange, which are fired after changing the order of columns or rows, respectively. #10215

Fixed

  • Fixed numerous issues related to syncing Handsontable with HyperFormula. Now, formulas work properly with all the Handsontable features. #10215
  • Fixed na issue where formulas didn't recalculate after rows or columns were moved. #4668
  • Fixed an issue where Handsontable's dates didn't sync correctly with HyperFormula's dates. #10085
  • Fixed an issue where calling updateSettings() would reset HyperFormula's undo/redo actions stack. #10326
  • Fixed an issue where the Autofill, TrimRows and Formulas plugins didn't work properly together. #10200
  • Fixed an issue where the modifySourceData hook used the wrong type of indexes. #10215
  • Fixed an issue where text copied from Handsontable to Excel included wrong types of spaces. #10017
  • Fixed an issue where mousing over the same cell twice didn't trigger the beforeOnCellMouseOver and afterOnCellMouseOver hooks. #10321
  • Updated TypeScript definition files related to the CustomBorders plugin. #10360
  • Fixed an issue where moving rows manually to the bottom was difficult due the misalignment between the backlight and guideline elements. #9556

12.3.3

28 Mar 10:33
12.3.3
83014d1
Compare
Choose a tag to compare

Added

  • Added a Chinese (zh-CN) translation of the "Copy with headers" feature. #10273
  • Added a new guide: Rows sorting. #10183

Fixed

  • Fixed an issue where column-filter checkboxes got reset when the table was scrolled out of view. We solved this by preventing the table from triggering a complete render each time it leaves the viewport. #10206
  • Fixed an issue where clicking on a cell scrolled the table sideways in certain RTL configurations. #10206
  • Fixed an issue where calling getDataAtCol() or getDataAtProp() caused an error in case of data sets with more than 125 000 rows. #10226
  • React: Fixed React 18 warnings about deprecated lifecycle methods. We removed componentWillMount() and componentWillUpdate() from Handsontable's codebase and recreated their functionality by using React's portals. #10263

12.3.2

23 Mar 11:52
12.3.2
b494962
Compare
Choose a tag to compare

Handsontable 12.3.2 may not work properly with React's functional components. If you're using React, you should upgrade to 12.3.3.

12.3.1

06 Feb 12:11
12.3.1
3f24922
Compare
Choose a tag to compare

For more information on this release, see:

Added

  • Added a Japanese translation of the "Copy with headers" feature. #10201

Removed

  • Removed the two-week delay in showing the console warning about license expiration. #10175

Fixed

  • Fixed an issue where updateData() didn't work with nested data structures (NestedRows). #10178
  • Fixed an issue of unwanted pixels in the "Filter by condition" menu by removing a superfluous overlay. #10174
  • Fixed an issue where merged cells could lack right and bottom borders due to a Chrome bug. #10212
  • Fixed an issue where using some browser and system shortcuts could cause Handsontable to behave as if Cmd/Ctrl was being held down. #10210

12.3.0

14 Dec 11:35
12.3.0
1552727
Compare
Choose a tag to compare

For more information on this release, see:

Added

  • Added a new feature that lets you copy the contents of column headers by using 3 new context menu options: "Copy with headers", "Copy with group headers", and "Copy headers only". #2288
  • Added 4 new API methods for copying column headers programmatically: copyCellsOnly(), copyWithColumnHeaders(), copyWithAllColumnHeaders(), and copyColumnHeadersOnly(). #2288
  • Added missing TypeScript definitions of the CellCoords and CellRange classes, which are used in the arguments of some of the APIs. #9755
  • Added missing TypeScript definitions for the following Handsontable hooks: beforeColumnFreeze, afterColumnFreeze, beforeColumnUnfreeze, and afterColumnUnfreeze. #9859

Fixed

  • Fixed an issue where the UndoRedo plugin didn't work properly with preconfigured columns. #10108
  • Fixed an issue where formulas inserted programmatically by using updateData() were not evaluated. #10011
  • Fixed a regression where setting a column's type could overwrite other custom-defined settings. #10128
  • Fixed an issue where Handsontable didn't render properly when initialized inside of a hidden container. #5322
  • Fixed an issue of desynchronization between configuration options (cell meta) and Handsontable's data. The issue occurred when Handsontable's options were modified through the following hooks: beforeCreateRow, afterCreateRow, beforeCreateCol, and afterCreateCol. #10136
  • Fixed an issue where comments added to fixed columns didn't display properly after scrolling. #9645
  • Fixed an issue where typing in a dropdown editor caused the IME to disappear, resulting in wrong characters being typed. #9672
  • React: Fixed an issue where dropdown cells weren't validated properly when using the HotColumn component. #10065

12.2.0

25 Oct 10:20
12.2.0
94b44fe
Compare
Choose a tag to compare

For more information on this release, see:

Added

  • Added a new feature that lets you add rows and columns at a specified position. Now, the alter() method takes 4 new parameter values: insert_row_above, insert_row_below, insert_col_start, and insert_col_end. The insert_row and insert_col parameters are marked as deprecated. #9471

Fixed

  • Fixed an issue where the width of the cell editor was calculated incorrectly. #3815
  • Fixed an issue where formulas surrounded by merged cells were converted to values by mistake. #6359
  • Fixed an issue where Handsontable could disappear on Firefox 93 (and later) in a specific use case. #9545
  • Fixed an issue where changing a cell's type through setCellMeta() didn't properly set the cell's editor and renderer. #9734
  • Fixed an issue where the dropdown menu didn't display when the NestedHeaders plugin was enabled and all rows were trimmed out. #9753

Removed

  • Removed a type definition for a non-existing method, translateRowsToColumns(). #9919

12.1.3

22 Sep 08:02
12.1.3
67f796e
Compare
Choose a tag to compare

For more information on this release, see:

Fixed

  • Fixed incorrect date format conversion on input in the date editor. #9681
  • Fixed an error when adding a large number of rows using the alter method. #7840
  • Fixed IME text input in the editors. #9586
  • Fixed an issue where the editor did not open on key events when the cell was outside the viewport. #9022
  • Fixed an issue with "0" values being ignored by the Column Summary plugin. #6385
  • Fixed an error when opening the column dropdown menu with the Filters plugin enabled. #9561
  • Fixed an issue where the trimWhitespace option could not be used in the column and cell levels of the cascading configuration. #7387
  • Fixed the flickering of the selection area at the edge of the table while scrolling. #8317
  • Fixed misalignment on mobile devices when the edge cells were selected. #9621
  • Fixed type definitions for the method setSourceDataAtCell. #8599

Removed

  • Removed a custom stable sorting implementation in favor of the stable sorting algorithm guaranteed by ECMAScript 2019. #6091
  • Removed type definitions for non-existing methods rowOffset and colOffset and a non-existing hook modifyRowSourceData. #8659, #7317