Skip to content

Releases: handsontable/handsontable

7.2.0

15 Oct 09:42
123fbe0
Compare
Choose a tag to compare

Changes

  • Added cellProperties to the arguments of search's queryMethod so that it would be possible to tell what kind of data was being queried. (#4944)
  • Fixed a bug with a disappearing column header, when the height option is was set to auto. (#6302)
  • Fixed a problem with an error being thrown when trying the clear a column with the first cell set to readOnly. (#6246)
  • Fixed a bug where it was impossible to set data for a readOnly-typed cell, when any cell was selected. (#6214)
  • Fixed a problem with an error being thrown when pasting data to readOnly-typed cells. (#6209)
  • Fixed a problem with the Undo feature not working for columns defined as functions. (#6147)
  • Fixed a bug where this.TD was undefined in the editor's prepare method when fixedColumnsLeft and viewportColumnRenderingOffset were both set. (#6043)
  • Fixed a bug where the cell selection frame overlapped the bottom fixed rows. (#5947)
  • Fixed a problem with an error being thrown after initializing an empty table or removing all the data from the table and clicking the corner header. (#5126)
  • Fixed a problem with reloading data with a new set in the Nested Rows plugin. (#6339)
  • Rewrote some of the Walkontable methods to return correct information about the table. (#6191)
  • Made some improvements to the TypeScript definition file. (#6168, #6107, #6102, #6239, #6266)
  • Improved the documentation and definition files regarding the after- hooks for creating and removing rows/columns. (#6296)
  • Improved the documentation for the totalColumn option. (#6281)
  • Added a lint:fix script to be able to fix the lint errors from the CLI. (#6260)
  • Fixed all the tests for Windows and added run-script, walkontable.watch. (#6187)
  • Removed the unused check-es3-syntax-cli package to fix Github's security alert. (#6319)
  • Updated the dependencies to fix errors thrown by npm audit (#6318)

7.1.1

12 Aug 11:25
98878a6
Compare
Choose a tag to compare

Changes

  • Refactored the Walkontable table renderers. (#6089)
  • Changed the underlying format for empty cells. From now on, all empty cells are stored internally as null. The only exceptions are:
    • empty cells that have been edited and saved as an empty string,
    • empty cells that have been copied and pasted.
      In both of these cases, they are stored as an empty string ('').
      (#4106)
  • Removed the yarn.lock file from the repository and updated the Node version in the Travis configuration file. (#6161)
  • Added a missing rootInstanceSymbol property to Handsontable to allow using new Handsontable.Core properly. (#6040)
  • Fixed a bug, where copying/pasting/deleting data for autocomplete-typed cells caused an error to be thrown. (#6033)
  • Refactored the Custom Borders plugin to resolve problems with its performance. (#6052)
  • Optimized the use of arrays for the V8 engine in the parseTable module. (#6060)
  • Fixed a problem where scrolling the dropdown menu scrolled the entire table. (#5913)
  • Fixed a bug where removing a change in the beforeChange hook callback broke the table. (#5893)
  • Fixed a problem where cutting the value from a checkbox-typed cell made it switch to #bad-value#. (#4106)
  • Fixed a bug where the getCell method returned undefined, while it wasn't supposed to. (#6079)
  • Updated Jasmine and made changes to the tests and tests configuration in order for them to pass in the browser and prevent memory leaks. (#6077, #6096)
  • Changed the way the afterColumnMove hook works, now it won't fire if beforeColumnMove hook callback canceled the action. (#5958)
  • Fixed a problem with the Undo feature reverting the editing actions that didn't make any changes to the data. (#4072)
  • Fixed a bug, where the dropdown editor did not work properly, when there were multiple Handsontable instances implemented on the page. (#6122)
  • Fixed the tests for Windows. (#5878)
  • Fixed the npm audit security errors. (#6130)
  • Fixed a problem with scrolling not working properly when hovering over the Handsontable container. (#5212)
  • Refactored the toMatchHTML Jasmine matcher to make tests pass on Firefox. (#6148)
  • Fixed the getCell method for fixed bottom rows, which caused the selection not to work properly. (#6084)
  • Fixed a bug, where the table height increased every time the window had been resized. (#3433)
  • Corrected some minor mistakes in the JSDocs and Typescript definitions. (#6123, #6125, #6142, #6152, #6158, #6160, #6129)

7.1.0

11 Jun 11:13
22dc4bd
Compare
Choose a tag to compare

Changes

  • Added a new feature, allowing users to parse HTML tables into Handsontable settings and Handsontable instances to plain HTML tables. This change introduces these new API methods:
    • Handsontable.helper.instanceToHTML: (instance: Handsontable.Core) => string - parses the provided Handsontable instance to an HTML table as a string
    • Handsontable.helper.htmlToGridSettings(element: Element | string, rootDocument?: Document) => Handsontable.DefaultSettings - analyses a static HTML table and returns a Handsontable-compatible settings object
    • hotInstance.toTableElement: () => HTMLTableElement - converts the Handsontable instance to a static HTML table
    • hotInstance.toHTML: () => string - same as Handsontable.helper.instanceToHTML, but the instance is already bound

(#5684)

  • Fixed a bug, where it wasn't possible to block Undo/Redo plugin keyboard shortcuts. (#6028)
  • Corrected the ManualColumnMove type definitions. (#6011)
  • Fixed a problem with pasting multi-line data from Excel and Google Sheets. (#5970, #5622)
  • Fixed a bug, where it was impossible to paste merged cells from Excel. (#5940)
  • Fixed a problem with copying cells with longer contents from Excel or Google Sheets. (#5925)
  • Fixed a problem with Handsontable not adding the carriage return character to the pasted data. (#5826, #5647)
  • Fixed some NestedRows performance issues on large datasets. (#5711)
  • Fixed a bug, where placing SVG in a cell caused a ManualColumnMove error. (#4120)
  • Fixed a bug, where using the Undo functionality, the selection was not reverted to its original position. (#6017)
  • Fixed a bug, where the getCell method, when used with the topmost argument set to true, did not return the correct cell elements from the bottom overlay. (#5896)
  • Added a possibility to return false from the beforeCreateCol hook to stop the column creation. (#5691)

7.0.3

13 May 10:26
90752fd
Compare
Choose a tag to compare

Changes

  • Fix the skipRowOnPaste option to work similarly to skipColumnOnPaste and add it to the documentation. (#5845)
  • Fix the font inconsistency in the dropdown menu. (#5948)
  • Fix a problem with the manualColumnResize option not working properly alongside fixedColumnsLeft. (#5959)
  • Fix a problem with the TextEditor not resizing the input field properly while being placed on the edge on the table and containing multi-line text. (#5969)
  • Updated some of the dependencies to get rid of the security vulnerabilities thrown by npm audit. (#5995)
  • Removed eval() from the formula-parser module to fulfill the Content-Security-Policy. (#5990)

7.0.2

09 Apr 11:00
671d724
Compare
Choose a tag to compare

Changes

  • Fixed a bug from 7.0.1, which made the scrolling on overlays (fixed rows/columns, headers) work improperly. (#5938)

7.0.1

08 Apr 11:16
df81543
Compare
Choose a tag to compare

Changes

  • Fixed the LICENSE.txt file link in README.md. (#5914)
  • Replaced fixed positioning of the row/column resize handles with absolute to prevent misalignment issues in implementations based on CSS transform. (#5050)
  • Updated webpack to version 4. (#5912)
  • Fixed a problem with Handsontable throwing errors on scroll by adding support for EventListenerOption in the EventManager. (#5904, #4526)
  • Added core-js to Handsontable's dependencies. (#5888)
  • Added a ghost-table attribute to all cell elements generated with Ghost Table. (#5927)
  • Fixed a bug, where the editor was visible despite not being open, when the table was positioned using CSS transform. (#5886)
  • Fixed a bug, where the table scrolled up after clicking a cell when Handsontable was implemented inside of an iframe. (#5910)

7.0.0

06 Mar 10:51
d0aac96
Compare
Choose a tag to compare

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 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 for 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.

Changes

  • 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 a 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)

6.2.2

19 Dec 12:19
c2ba2dc
Compare
Choose a tag to compare

Changes

  • Fixed a bug, where it was impossible to use mouse selection on a device which supported both mouse and touch events. (#5669)
  • Fixed a bug, where the per-cell validation information was not shifted after removing rows. (#5674)

6.2.1

12 Dec 12:41
65dc031
Compare
Choose a tag to compare

Changes

  • Updated babel to 7.x. (#5398)
  • Fixed a bug, where calling updateSettings or loadData with a new, larger dataset caused an error to be thrown. (#5617)
  • Fixed a bug, where the mobile keyboard opened on every cell selection on Android devices. (#5586)
  • Fixed a bug, where the date validation did not work properly in some cases. (#5563)
  • Fixed a problem with poor updateSettings performance when removing rows. (#5561)
  • Fixed a problem with improper carriage return symbol usage in the pasted data. (#5477)
  • Added some missing methods, options and hooks to the typescript definition file. (#5639, #5590)
  • Corrected the CSS property assignments to zero from 0 to '0'; (#5291)
  • Fixed a bug, where the autofill feature did not work properly with the mergeCells plugin, while working on an object-based dataset. (#5022)
  • Fixed a problem with the observeChanges plugin causing a memory leak. (#4400)
  • Fixed a problem with the scientific notation not being supported in the numeric editor. (#2030)
  • Fixed a bug, where setting enterBeginsEditing to false allowed changing the state of checkbox-typed cells using the ENTER key. (#4162)

6.2.0

14 Nov 11:14
4a4833e
Compare
Choose a tag to compare

Changes

  • Added the Korean language support. (#5356)
  • Added the Latvian language support. (#5186)
  • Updated the TypeScript definition file for ColumnSorting and MultiColumnSorting. (#5545, #5445)
  • Updated the TypeScript definition for beforeRowMove and beforeColumnMove. (#5416)
  • Updated the TypeScript definition for some selection and context menu related methods and hooks. (#5307)
  • Fixed a bug with the Copy/Paste plugin working incorrectly, when copying 0. (#5544)
  • Fixed a problem with improper autoRowSize calculations. (#5527)
  • Fixed a problem with the keyboard opening on every selection on mobile. (#5479)
  • Refactored the columnSorting plugin to be reusable with the multiColumnSorting plugin. (#5457)
  • Fixed a bug, where adding a new row cleared the data from the first row. (#5446)
  • Fixed a bug, where using the allowInvalid: false option on date-typed cells broke the table. (#5419)
  • Fixed a bug with the column header width being calculated incorrectly. (#5359)
  • Fixed a problem with building Handsontable 3.0.0+ using hot-builder. (#5287)
  • Fixed a bug, where opening the context menu on the column header sorted the column. (#4676)
  • Updated Jest to resolve a security issue with the merge package. (#5564)
  • Fixed some unstable tests, which caused the CI to fail frequently. (#5562)
  • Fixed the ERR_ADDRESS_INVALID error when running e2e tests. (#5558)