Releases: handsontable/handsontable
Releases · handsontable/handsontable
14.0.0
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 newtabNavigation
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
anddate
renderers for their respective cell types to allow adding the a11y attributes. #10535 - Added new
beforeColumnWrap
andbeforeRowWrap
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
andManualColumnMove
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 theChangeSource
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
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
orbackspace
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'scopy
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
'sgetEditedCellRect
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
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 theafterSetDataAtCell
andafterSetDataAtRowProp
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 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
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
Added
- Added two new Handsontable hooks,
afterColumnSequenceChange
andafterRowSequenceChange
, 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
andFormulas
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
andafterOnCellMouseOver
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
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()
orgetDataAtProp()
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()
andcomponentWillUpdate()
from Handsontable's codebase and recreated their functionality by using React's portals. #10263
12.3.2
12.3.1
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
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()
, andcopyColumnHeadersOnly()
. #2288 - Added missing TypeScript definitions of the
CellCoords
andCellRange
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
, andafterColumnUnfreeze
. #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
, andafterCreateCol
. #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 theHotColumn
component. #10065
12.2.0
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
, andinsert_col_end
. Theinsert_row
andinsert_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
throughsetCellMeta()
didn't properly set the cell'seditor
andrenderer
. #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
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