7.4.0
Released on 12th of February, 2020
Changes- Fixed the problem, where the
onCellMouseUp
hook was fired for all mouse buttons exceptRMB
, which was not consistent with theonCellMouseDown
hook.
To make the changes more consistent with the nativedblclick
event (which is triggered only for theLMB
button), theonCellDblClick
andonCellCornerDblClick
hooks were modified to also fire only forLMB
. (#6507) - Updated
moment
,pikaday
andnumbro
to their latest versions. (#6610) - Fixed a bug with numbers not being presented properly with the
pt_BR
culture setting. (#5569) - Extended the Babel config with the possibility to use private methods, optional chaining and nullish coalescing operator. (#6308)
- Updated some of the internal configs, updated dev-dependencies, housekeeping etc. (#6560, #6609, #6612, #6629, #6574, #6565)
7.3.0
Released on 12th of December, 2019
New Features- Version
7.3.0
introduces a new option to the Context Menu plugin -uiContainer
. It allows declaring a DOM container, where all the Context Menu's element will be placed. It may come espacially handy when using Handsontable inside of aniframe
or some other content-trimming context. (#6283, #6417) - We also added a
uiContainer
option to the Copy/Paste plugin. It works in a similar way to the one described above, but is used to declare the container for the Copy/Paste plugin's DOM elements. (#6343)
- Fixed a problem with table resizing on every scroll event on Firefox, when no table height was defined. (#6344)
- Updated the
puppeteer
package in thedevDependencies
section to get rid of the `npm audit` security error. (#6393) - Removed the unneeded
CNAME_
file from the repo. (#6389) - Fixed a problem, where pasting data from Excel caused Handsontable to throw an error. (#6217)
- Fixed a bug, where data pasted from Excel would get improperly formatted in Handsontable. (#6258)
- Fixed a bug, where the
& < > ' "
characters in the pasted data would be automatically changed to their equivalent HTML entities. (#1535) - Fixed a bug, where opening the system's context menu, hitting
ESC
and moving the cursor outside of the container would scroll the table. (#5846) - Fixed a problem, where right-clicking on a disabled entry in Handsontable's context menu would open the system's context menu. (#5846)
- Fixed a bug, where right-clicking on an active entry in Handsontable's context menu would open another context menu. (#5846)
- Fixed a test case for Context Menu's scrolling. (#6449)
- Modified the container size in the the tests' DOM helper file. (#6446)
7.2.2
Released on 23rd of October, 2019
Changes7.2.1
Released on 16th of October, 2019
Changes7.2.0
Released on 15th of October, 2019
Changes- Added
cellProperties
to the arguments of search'squeryMethod
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 toauto
. (#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
wasundefined
in the editor'sprepare
method whenfixedColumnsLeft
andviewportColumnRenderingOffset
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
Released on 12th of August, 2019
Changes- Refactored the Walkontable table renderers. (#6089)
- 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 returnedundefined
, 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 ifbeforeColumnMove
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
Released on 11th of June, 2019
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
- `Handsontable.helper.instanceToHTML: (instance: Handsontable.Core) => string` - parses the provided Handsontable instance to an HTML table as a
- 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 thetopmost
argument set totrue
, did not return the correct cell elements from the bottom overlay. (#5896) - Added a possibility to return
false
from thebeforeCreateCol
hook to stop the column creation. (#5691)
7.0.3
Released on 13th of May, 2019
Changes- Fix the
skipRowOnPaste
option to work similarly toskipColumnOnPaste
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 alongsidefixedColumnsLeft
. (#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 theformula-parser
module to fulfill the Content-Security-Policy. (#5990)
7.0.2
Released on 9th of April, 2019
Changes- Fixed a bug from
7.0.1
, which made the scrolling on overlays (fixed rows/columns, headers) work improperly. (#5938)
7.0.1
Released on 8th of April, 2019
Changes- Fixed the
LICENSE.txt
file link inREADME.md
. (#5914) - Replaced
fixed
positioning of the row/column resize handles withabsolute
to prevent misalignment issues in implementations based on CSStransform
. (#5050) - Updated
webpack
to version4
. (#5912) - Fixed a problem with Handsontable throwing errors on scroll by adding support for
EventListenerOption
in theEventManager
. (#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
Released on 6th of March, 2019
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
andbeforeUntrimRows
hooks and modified the argument list for the existing ones in the Trim Rows plugin.- Was:
afterTrimRow: (rows)
afterUntrimRow: (rows)
- Is:
afterTrimRow: (currentTrimConfig, destinationTrimConfig, actionPossible, stateChanged)
afterUntrimRow: (currentTrimConfig, destinationTrimConfig, actionPossible, stateChanged)
(#5662) - Was:
- Removed the deprecated
selectCellByProp
method. (#5174) - Added hooks for the Hidden Rows and Hidden Columns plugins + added validation of the provided rows.
- 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.
(#165, #163, #5651, #5522) - We no longer support Bower. To install Handsontable, use Npm or CDN instead.
- Refactored the following classes to ES6:
- Fixed a problem where inserting a new row didn't update the TrimRows plugin properly. (#5761)
- Fixed a problem where removing a row didn't update the TrimRows 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. (#5686, #5744) - Extended the Hidden Rows' plugin's hooks argument list. (#5671)
- Updated the
hot-formula-parser
package inpackage.json
. (#5665) - Fixed a bug where the
getCell
method returnedundefined
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
usingupdateSettings
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. (handsontable/docs#19) - Fixed a problem, where passing an
Array
as a cell value would cause thepopulateFromArray
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 with 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
Released on 19th of December, 2018
Changes6.2.1
Released on 12th of December, 2018
Changes- Updated
babel
to7.x
. (#5398) - Fixed a bug, where calling
updateSettings
orloadData
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 assignment to zero from
0
to'0'
; (#5291) - Fixed a bug, where the
autofill
feature did not work properly with themergeCells
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
tofalse
allowed changing the state ofcheckbox
-typed cells using theENTER
key. (#4162)
6.2.0
Released on 14th of November, 2018
Changes- Added the Korean language support. (#5356)
- Added the Latvian language support. (#5186)
- Updated the TypeScript definition file for
ColumnSorting
andMultiColumnSorting
. (#5545, #5445) - Updated the TypeScript definition for
beforeRowMove
andbeforeColumnMove
. (#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 themultiColumnSorting
plugin. (#5457) - Refactored the
multiColumnSorting
plugin to use thecolumnSorting
plugin. (#148) - 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+
usinghot-builder
. (#5287) - Fixed a bug, where opening the context menu on the column header sorted the column. (#4676, #176)
- Updated Jest to resolve a security issue with the
merge
package. (#5564, #179) - Fixed some unstable tests, which caused the CI to fail frequently. (#5562)
- Fixed the
ERR_ADDRESS_INVALID
error when running e2e tests. (#5558)
6.1.1
Released on 23rd of October, 2018
Changes- Fixed a bug, where the Context Menu's
copy
andcut
options did not work.(#5535) - Removed the unneeded
yarn
entry from the dependencies section inpackage.json
6.1.0
Released on 17th of October, 2018
Changes- Moved the
fixedRowsBottom
functionality to Handsontable CE. (#5404, #146) - Introduced a new functionality to the Copy/Paste plugin. From version
6.1.0
, it supports thetext/html
data type alongsidetext/plain
. This change, apart from allowing the user to copy data from Handsontable as an HTML table, allowed us to fix multiple bugs related to the plugin:- Fixed a bug, where it was impossible to copy the first row/column if it was declared as
readOnly
. (handsontable/handsontable#5392) - Fixed a bug, where the cell editor contained an unwanted empty line, if the previous value of the cell was pasted from Excel. (#5330)
- Fixed a problem with copying and pasting data from rows after clicking the row headers. (#5300)
- Fixed a bug where pasting multiple rows from Excel (below version
16
) did not work properly. (#5277) - Fixed a bug with copying entire rows into Excel not working properly. (#5176)
- Fixed a bug, where pasting data from Excel to Handsontable did not work on Safari. (#5121)
- Fixed a problem with improper cell selection after pasting data into the table. (#4849)
- Fixed a bug with Handsontable crashing after using
updateSettings
inside theafterSelectionEnd
callback. (#4837) - Fixed a problem with pasting double quotation marks (
""
) into the table. (#4790, #4003) - Fixed a bug, where copying and pasting empty cells did not work properly. (#4725)
- Fixed a problem with copying data on IE and pasting it on Chrome/Firefox. (#4717)
- Fixed a bug, where copying and pasting entire columns did not work as expected. (#4456)
- Fixed a problem with pasting multiline content into a single cell. (#4308)
- Fixed a bug, where it was impossible to copy the first row/column if it was declared as
- Added an Italian translation to the languages set. (#5407)
- Added a Dutch translation to the languages set. (#5156)
- Fixed a bug, where trying to open the cell editor while a cell outside of the viewport was being edited threw an error. (#5119)
- Fixed a bug, where the cell editor rendered improperly when the
preventOverflow
option was enabled. (#5073) - Fixed a bug, where clicking on a cell caused the table container to scroll. (#4656)
- Fixed a bug, where using the
Undo
functionality did not work properly after sorting and removing rows. (#3188) - Fixed a bug, where the contents of the
Filters
dropdown menu was scrollable horizontally. (#151) - Fix a bug, where multi-column sorting did not work with the
Filters
plugin. (#149) - Switched to using a CDN in the default jsfiddle link in the issue template. (#154)
The corresponding Handsontable CE version is 6.1.0.
6.0.1
Released on 2nd of October, 2018
Changes- Fixed a bug where inserting new columns threw an error. (#140, #5422)
- Fixed a problem where the non-contiguous selection did not work properly in multiple scenarios. (#5427)
- Fixed a bug where a newly edited cell had the background of the previously edited cell. (#5402)
- Fixed a bug where an error was being thrown after clicking the top-left corner of the table. (#144, #5434)
- Fixed a bug where adding a new row cleared the data in the first row. (#142, #5431)
The corresponding Handsontable CE version is 6.0.1.
6.0.0
Released on 27th of September, 2018
This release contains changes to the ColumnSorting
plugin exclusively. Detailed information about the changes can be found in the description of pull request #5411 and in our documentation.
- We refactored and rewrote parts of the
ColumnSorting
plugin in order for it to work seamlessly with the newMultiColumnSorting
plugin for Handsontable Pro. This allowed us to fix multiple problems that the previous version of the plugin had.
This introduced some backward-incompatible changes:- The configuration items (such as
sortIndicator
,sortEmptyCells
,sortFunction
) for the plugin were moved into the scope of the plugin config. - The initial plugin configuration is stored under the
initialConfig
property in the plugin configuration. - The
sortFunction
config item was renamed tocompareFunctionFactory
and converted to a factory returning a compare function (and moved into the plugin configuration scope, as mentioned above). - The
sortIndicator
config item was renamed toindicator
(and moved into the plugin configuration scope, as mentioned above). - Comparator function structure changed:
// Was: function numericSort(sortOrder, columnMeta) { return function ([, value], [, nextValue]) { // Is: function numericSort(sortOrder, columnMeta) { return function (value, nextValue) {
- The
sort
method arguments were reorganized, so it accepts the sorting configuration as an object:hot.getPlugin('columnSorting').sort({ column: 0, sortOrder: 'asc' });
- Some public methods were rewritten, renamed and set as private, namely:
getNextOrderState
loadSortingState
saveSortingState
- The
beforeColumnSort
andafterColumnSort
hooks receive a different set of arguments. For more information, check our documentation. - Calling the
updateSettings
method withcolumnSorting
defined will set a fresh sort configuration.
- The configuration items (such as
Apart from the breaking changes above, this release introduces some additional changes to the sorting plugin:
- Added a new plugin -
MultiColumnSorting
. It allows multiple columns to be used when sorting the table.
While it works similarly to CE'sColumnSorting
, it introduces multiple new functionalities. Detailed information about this new feature can be found in the documentation and in the description of pull request #101. - Replaced the current sorting indicators with new ones, in the form of arrows.
- The sorting indicators will be displayed by default.
- Added a possibility to disable the action of sorting by clicking on the headers, using the
headerAction
option.
The corresponding Handsontable CE version is 6.0.0.
5.0.2
Released on 12th of September, 2018
Changes- Fixed a bug where editor focusing caused the window to scroll. (#5220)
- Fixed a problem where double-clicking the fill handle filled the cells towards the left instead of down. (#5023)
- Fixed a bug where editing a cell showed improper values after sorting and using the
setDataAtRowProp
method. (#4289) - Fixed a problem with editing
autocomplete
-typed cells after using similar cells in a different Handsontable instance. (#3374) - Corrected a typo in
AutoColumnSize
typescript definition file. (#5364) - Fixed a bug with calculating how many rows/columns need to be rendered. (#5365)
- Fixed a bug with column headers improperly rendering after expanding a previously-collapsed column. (#105)
- Finished the ESLint warning correction task (#107, #137), which included resolving problems with:
arrow-parens
(#108)eqeqeq
(#114)no-extra-semi
(#115)newline-per-chained-call
(#112)linebreak-style
(#110)no-constant-condition
(#113)no-unused-vars
(#116)prefer-template
(#119)consistent-return
(#109)object-curly-spacing
(#118)prefer-arrow-callback
(#117)max-depth
(#111)prefer-spread
(#122)prefer-const
(#125)no-unneeded-ternary
(#126)object-shorthand
(#121)space-before-function-paren
(#124)prefer-rest-params
(#127)no-plusplus
(#123)no-eq-null
(#120)one-var
(#128)no-var
(#129)no-undef
(#130)vars-on-top
(#131)no-use-before-define
(#132)no-restricted-properties
(#133)no-restricted-syntax
(#134)no-param-reassign
(#136)no-shadow
(#135)
The corresponding Handsontable version is 5.0.2.
5.0.1
Released on 16th of August, 2018
Changes- Fixed a bug, where the
Cmd + F
/Ctrl + F
key combination enabled the multiple selection mode. (#5302) - Added the
getRegistered
method to the typescript definition file. (#5262) - Fixed a bug, where hiding the custom border through the
setBorders
method did not work. (#5240) - Fixed a problem with opening the
handsontable
-typed cell multiple times. (#5195) - Fixed a problem with inconsistent row height in certain situations. (#4888)
- Fixed a bug with autofill border overlapping the selection border. (#4810)
- Fixed a bug, where pressing the down arrow would not scroll the table, when the row header was selected. (#3560)
- Fixed a problem with calculating the column with after selecting a in-cell checkbox. (#3437)
- Updated an
README.md
entry regarding typescript. (#29) - Changed an improper link in
filters.js
. (#103) - Added tests for the
fixedRowsBottom
synchronization issue. (#96) - Fixed a bug, where the fixed rows on the bottom of the table would get out of sync. (#5163)
The corresponding Handsontable version is 5.0.1.
5.0.0
Released on 11th of July, 2018
Breaking changes- Refactored the Custom Borders plugin. The API method was changed - added new methods such as
getBorders
,setBorders
andclearBorders
. The initial object configuration has been intact, it is still compatible with the previous releases. (#5017) - Improved colors, cursor style and sizes of some parts of Handsontable. (#5170)
Changes
- Fixed an issue related with a lack of
afterSelectionEnd
hook being fired whencontextmenu
event is called for a cell. This fix additionally introduces two new hooks (afterOnCellContextMenu
,beforeOnCellContextMenu
). (#5201, #5232) - Fixed an issue related with minifying CSS files where the
z-index
property was incorrectly modified byOptimizeCssAssetsPlugin
webpack plugin. (#87) - Cleaned up and improved the code readability of the
ColumnSorting
plugin. (#5228) - Fixed sort indicator which didn't update after moving columns. (#3900)
- Added an ability to disable Byte Order Mark (BOM) while exporting table to the CSV file. (#86)
The corresponding Handsontable version is 5.0.0.
4.0.0
Released on 13th of June, 2018
Breaking changes- Changed the default values for the following configuration options (#5135)
autoInsertRow
(was:true
, is:false
)autoWrapCol
(was:false
, is:true
)autoWrapRow
(was:false
, is:true
)
- Updated our number-handling dependency, Numbro to the latest version. (#5081, #77)
In order to keep your implementation working correctly, you'll need to update the Numbro 2.x-compatible language files.
For more information on those, take a look at the Numbro documentation.
Changes
- Updated the API documentation for the language settings. (#5099)
- Added a Norwegian translation to Handsontable. (#4694)
- Fixed a problem with the IME API, where an unwanted first character remained in the editor. (#4662)
- Fixed a bug, where there was a way to break the
allowInvalid
option, by making two editors active. (#4551) - Fixed a problem with incomplete table rendering after sorting columns. (#4062)
- Fixed a problem with the filtering menu state after using any checkboxes in the table. (#4780, #72)
The corresponding Handsontable version is 4.0.0.
3.0.0
Released on 16th of May, 2018
Breaking changesThe Column Sorting plugin is over the first stage of refactoring. (#5014) This resulted in the following breaking changes:
- The main instance's
sort
function was moved to the plugin - The
sortIndex
property was removed from Handsontable's main instance - Moved the
sortColumn
andsortOrder
properties from the main instance to the plugin - The
sortOrder
property now accepts string values (asc
,desc
,none
), instead of booleans (true
,false
,undefined
)
The Gantt Chart plugin had its API refactored, to allow generating year-related data for other years that the one displayed. (#67) Along the way, some of its lesser used API methods became private. Please refer to the documentation for the current state of the API.
Changes- Added missing type definitions for the Search Plugin. (#5039)
- Added the Chinese (CN, TW) translations. (#5007, #4923)
- Added the French translation. (#4777)
- Added the Spanish (MX) translation. (#4900)
- Fixed a problem, where an error was being thrown when using the
updateSettings
method. (#4988) - Fixed a problem, where using the
TAB
key removed some data, whenminSpareCols
was set to1
. (#4986) - Fixed a bug, where an infinite hook loop was being created, when the table was initialized at the bottom of the page. (#4961)
- Fixed some issues with the CI stability. (#4925)
- Removed some unnecessary margins from the Filtering dropdown. (#69)
- Added an option to the Gantt Chart plugin, which allows skipping the incomplete weeks at the beginning and/or end of the month. (#65)
The corresponding Handsontable CE version is 3.0.0.
2.0.0
Released on 11th of April, 2018
Breaking changes
These plugins will no longer be available from the main Handsontable instance. They will be accessible analogously to other plugins, as hot.getPlugin('search')
and hot.getPlugin('customBorders')
.
- Added the
beforeContextMenuShow
hook, triggered within the Context Menu plugin. (#4973) - Fixed problems with disappearing selection handles on mobile devices. (#4943, #4936)
- Fixed a problem, where clicking on links inside cells was not possible on mobile devices. (#4570)
- Fixed a bug, where sorting didn't work when filtering was applied (#4170)
- Fixed a problem with selecting entire columns, when multiple column header levels are declared. Mostly visible with Handsontable Pro's Nested Headers plugin. (#4951)
- Fixed a problem, where the Context Menu was too narrow for its contents. (#4933)
- Modified the look of the fill handle. (#4921)
- Fixed a bug, where pressing ENTER multiple times on a merged cell at the bottom of the table was not working properly. (#4915)
- Fixed a problem with highlighting headers, when selecting entire columns. (#4875)
- Fixed a bug, where removing the first row of a merged cell sometimes caused an error. (#3473)
- Added a Russian translation. (#4854)
- Fixed a bug with handsontable editor headers overlapped the table cells. (#4787)
- Fixed a problem, where the
afterRowMove
hook returned improper parameters. (#4444) - Fixed a bug, where the
afterCreateCol
hook returned a wrongamount
parameter. (#4210) - Fixed problems with alignment and the undo/redo functionality. (#3319)
- Fixed a problem, where selecting and entire merged cell with non-contiguous selections did not highlight that merged cell. (#4860)
- Fixed a problem with the jsfiddle link in the issue templates. (#4983)
- Updated the pull request templates. (#4957)
- Added helpers for
console.log
,console.warn
etc due to IE compatibility. (#4924) - Fixed a problem, where scrolling the table on Chrome on a retina display created empty spaces. (#4498)
- Added an additional hook,
beforeDropdownMenuShow
for the dropdown menu plugin. (#56) - Fixed a problem with the Dropdown Menu being to narrow for its contents. (#49)
- Added undo/redo test cases for the dropdown menu plugin. (#47)
- Fixed a problem, where the size of the buttons in the dropdown menu wasn't dynamically updated. (#44)
- Added extra parameters for the
beforeFilter
andafterFilter
hooks. (#43) - Fixed a problem with the jsfiddle link in the issue template. (#58)
The corresponding Handsontable CE version is 2.0.0.
1.18.1
Released on 20th of March, 2018
Changes- Fixed a bug with duplicate fill handles on the edges of the table's overlays. (CE#4920)
- Fixed a problem, where the
MergeCells
class was added underCore
in the docs. (CE#4941)
The corresponding Handsontable CE version is 0.38.1.
1.18.0
Released on 14th of March, 2018
Breaking changes:- We removed the mobile editor from the repository. After this version, a standard editor will be used when using mobile devices. (CE#4911)
- Fixed a bug, where merged cells declared outside of the table were still partially rendered. (CE#4887)
- Added tests for mobile devices. (CE#4868)
- Fixed a bug, where rows were not being rendered, when scrolling the table on a mobile device. (CE#4856)
- Added some missing API for the non-contiguous selection feature. (CE#4811)
- Change the
isObjectEquals
function toisObjectEqual
. (CE#4387) - Fixed a problem with scrolling on Microsoft Edge. (CE#4320)
- Added a proper
source
argument value for removing data from the table using theBackspace
andDelete
keys. (CE#3916, CE#3539) - Added a
cellProperties
argument for thebeforeValueRender
hook. (CE#4543) - Fixed a problem, where the Filters dropdown contained misaligned elements. (#33)
The corresponding Handsontable CE version is 0.38.0.
1.17.0
Released on 1st of March, 2018
Breaking changes:The Merge Cells plugin has been rewritten to ES6 and completely refactored. Before
0.37.0
(1.17.0
with Handsontable Pro) the plugin was accessible from themergeCells
property in the main instance. After the refactor, you can access it just like every other plugin, which is withhot.getPlugin(‘mergeCells’)
. (#4214, #4858, #4870)Pre- 0.37.0
Post- 0.37.0
hot.mergeCells
hot.getPlugin('mergeCells')
hot.mergeCells.mergedCellInfoCollection
hot.getPlugin('mergeCells').mergedCellsCollection.mergedCells
- beforeMergeCells
- afterMergeCells
- beforeUnmergeCells
- afterUnmergeCells
- The merged cells are now cleared (filled with
null
s). The only value that remains, is the top-left corner cell's value, which is the visible one. (#2958)
- Added the
common.css
file, necessary for tests added to Handsontable CE.(#40)
The corresponding Handsontable CE version is 0.37.0.
1.16.0
Released on 16th of February, 2018
Breaking changes:- Rewritten the PersistentState
plugin to ES6. (#4618)
From this version onward you can access the plugin like all regular plugins (hot.getPlugin('persistentState')
), not from the main instance (the hot.storage
object is now accesible from hot.getPlugin('persistentState').storage
)
- Added support for selecting non-contiguous cells or ranges (#4708). That required some changes - some of them are backward incompatible:
New APIhot.getSelectedLast()
Returns an array with coordinates of the last selected layer ([row, col, rowEnd, colEnd]
). This method behaves ashot.getSelected()
before the breaking change.hot.getSelectedRangeLast()
Returns aCellRange
object containing the last selection coordinates applied to the table. This method behaves ashot.getSelectedRange()
before the braking change.hot.alter('remove_row', [[1, 4], [10, 1]])
Supports removing non-contiguous rows. Instead of passing the row index, we can pass an array of arrays, where the first item is the index of the row and at the second item is the amount of rows to be removed;hot.alter('remove_col', [[1, 4], [10, 1]])
Same as above, but for the columns. Only "remove" actions support that new feature.
hot.getSelected()
Returns an array of arrays with the coordinates of all layers ([[row, col, rowEnd, colEnd], [row, col, rowEnd, colEnd] ...]
);hot.getSelectedRange()
Returns an array ofCellRange
objects with the coordinates of all layers ([{CellRange}, {CellRange} ...]
);- Previously
hot.selection.empty()
, nowhot.emptySelectedCells()
; - Changed selection colors:
- area borders, was#89aff9
-> is#4b89ff
- area background, was#b5d1ff
-> is#005eff
- current selection border, was#5292f7
-> is#4b89ff
- Removed the
multiSelect
setting and replaced it withselectionMode: 'single'
; - Added a new
selectionMode
option, which can be set either as'single'
(previously asmultiSelect: false
),'range'
(previously asmultiSelect: true
) or'multiple'
(new non-contiguous mode);
afterSelection
- previously:afterSelection(row, column, rowEnd, columnEnd, preventScrolling)
- now:afterSelection(row, column, rowEnd, columnEnd, preventScrolling, selectionLayerLevel)
afterSelectionByProp
- previously:afterSelectionByProp(row, prop, rowEnd, propEnd, preventScrolling)
- now:afterSelectionByProp(row, prop, rowEnd, propEnd, preventScrolling, selectionLayerLevel)
afterSelectionEnd
- previously:afterSelectionEnd(row, column, rowEnd, columnEnd)
- now:afterSelectionEnd(row, column, rowEnd, columnEnd, selectionLayerLevel)
afterSelectionEndByProp
- previously:afterSelectionEndByProp(row, prop, rowEnd, propEnd)
- now:afterSelectionEndByProp(row, prop, rowEnd, propEnd, selectionLayerLevel)
We've added a selectionLayerLevel
argument for all the hooks listed above. The selectionLayerLevel
is a number indicating which selection layer is currently being modified. For the first selection, this value is 0
, with the new added layers this number increases.
- Fixed a problem with unneeded rows being added when using Filters along with minRows or minSpareRows. (#24)
The corresponding Handsontable CE version is 0.36.0.
1.15.1
Released on 25th of January, 2018
Changes:- Fixed a problem, where the language files were not generated properly in some specific cases. (#23)
- Fixed a problem with the
afterValidate
hook's arguments withtrimRows
enabled. (#11) - Updated the
moment
version because of a ReDoS vulnerability.
The corresponding Handsontable CE version is 0.35.1
.
1.15.0
Released on 6th of December, 2017
New feature:From now on you will able to translate messages and elements of the UI to your specific language. Read more about this new feature.
Breaking changes:- We have renamed our locale and language-related configuration options to free the namespace required for multi-language support introduced within this release.
What used to be defined as:
{
format: '0,0.00 $',
language: 'de-DE'
}
will now look like this:
{
numericFormat: {
pattern: '0,0.00 $',
culture: 'de-DE'
}
}
Take a look at our documentation for more insight:
Other changes:
- Removed unwanted dependencies. (#13)
- Fixed problems in test cases for the
Filters
plugin. (#12) - Added multi-language support for the table. Please, take a look at https://docs.handsontable.com/tutorial-internationalization.html for more information. (#6)
- Added a
weekHeaderGenerator
option for theGanttChart
plugin. (#19) - Fixed a bug, where formulas did not work on nested coordinates. (#15)
The corresponding Handsontable CE version is 0.35.0.
1.14.3
Released on 12th of October, 2017
Changes:- Added the
allowSplitWeeks
option for the Gantt Chart plugin (defaults totrue
) (#2)
The corresponding Handsontable CE version is 0.34.5
.
1.14.2
Released on 13th of September, 2017
Changes:- Added a missing
moment
import. (#4514)
The corresponding Handsontable CE version is 0.34.4
.
1.14.1
Released on 12th of September, 2017
Changes:- Fix a problem, with the table instance removed its sibling on
destroy
.
The corresponding Handsontable CE version is 0.34.3
.
1.14.0
Released on 12th of September, 2017
Breaking changes:- Since version
1.14.0
, it is required to pass a valid Handsontable Pro license key in the settings object under thelicenseKey
property. If a valid key is not provided, Handsontable will display a small notification below the table.
Please review your implementation to make sure your setup remains intact.
The corresponding Handsontable CE version is 0.34.2
.
1.13.1
Released on 6th of September, 2017
Changes:- Fixed a problem with the Filters plugin improperly trimming the table rows.
- Updated documentation for the Trim Rows plugin.
- Fixed a problem with the Filters plugin dropdown components not being updated properly.
- Fixed a problem with
hot-table
not being initialized properly. - Fixed a problem with Handsontable throwing an error when moving the cursor outside the table.
- Updated the
setDataAtCell
TypeScript definition. - Updated the Bootstrap
css
files.
The corresponding Handsontable CE version is 0.34.1
.
1.13.0
Released on 2nd of August, 2017
Breaking changes:- We've unified the types of coordinates passed to these plugin hooks:
beforeGetCellMeta
,afterGetCellMeta
,afterSetCellMeta
. Now they'll be operating on visual table coordinates (so do thegetCellMeta
andsetCellMeta
methods). Please make sure you update your hook callbacks to use them properly. (#4409)
- Updated the Filters documentation.
- Fixed a problem where the Filters plugin threw an error when there was a condition with too many arguments applied.
- Added support for the
EXP
formula in the Filters plugin. - Changed the text in the warning message thrown when the amount of conditions exceeded the capacity of the dropdownMenu.
- Fixed the alignment of the checkboxes in the Filters dropdown menu.
- Fixed a problem where the Filters plugin threw an error when adding a condition with an improper name.
- Fixed a problem where the Filters plugin threw an error when using the
disablePlugin
method while the Dropdown Menu plugin was not enabled.
The corresponding Handsontable CE version is 0.34.0
.
1.12.0
Released on 11th of July, 2017
Breaking changes:- We've refactored the Copy/Paste plugin and removed the ZeroClipboard dependency. Please make sure it works as expected in your setup before updating to this version.
- Some of the Filters plugin's API methods has changed. Please check GH#4358 for detailed information.
- Fixed a bug where Filters were broken when doing a custom build.
- Added a workaround for npm incorrectly generating the
package-lock.json
file. - Removed ZeroClipboard from dependencies.
- Extended the Filters API for with extra operations between conditions.
- Updated the Handsontable dependencies.
- Fixed a problem with a missing method import. (#4367)
- Added a new config option for the Comments plugin (
displayDelay
), allowing to customize the delay for showing the comment box. (#4323) - Fixed a problem, where using the Autofill option upwards with a group of cells gave unexpected results. (#4298)
- Updated the Handsontable dependencies. (#4280)
- Fixed an issue with different gap sizes in the dropdown menu for Firefox and Chrome. (#2832)
- Updated documentation for some methods in our API. (#4191, #4032, #3895, #3876, #3170, #3025, #2298, #2259)
- Added a helper for template literals. (#4354)
- Updated our ESlint rules list. (#4366)
The corresponding Handsontable CE version is 0.33.0
.
1.11.0
Released on 31th of May, 2017
Breaking changes:- Migration from Traceur to Babel. (#4070)
We're now using Babel to transpile our code. That means that we had to make breaking changes, please take a look if you have to make some adjustments in your implementation before moving to this version.
- The Bootstrap CSS files were merged to Handsontable's default CSS.
- The
/plugins
directory was deleted (with the "removeRow plugin" included) - Some global variables were reorganized and/or removed. Please take a look.
Validators
Was | Is |
Handsontable.AutocompleteValidator | Handsontable.validators.AutocompleteValidator |
Handsontable.AutocompleteValidator | Handsontable.validators.AutocompleteValidator |
Handsontable.DateValidator | Handsontable.validators.DateValidator |
Handsontable.NumericValidator | Handsontable.validators.NumericValidator |
Handsontable.TimeValidator | Handsontable.validators.TimeValidator |
Was | Is |
Handsontable.AutocompleteRenderer | Handsontable.renderers.AutocompleteRenderer |
Handsontable.BaseRenderer | Handsontable.renderers.BaseRenderer |
Handsontable.CheckboxRenderer | Handsontable.renderers.CheckboxRenderer |
Handsontable.HtmlRenderer | Handsontable.renderers.HtmlRenderer |
Handsontable.NumericRenderer | Handsontable.renderers.NumericRenderer |
Handsontable.PasswordRenderer | Handsontable.renderers.PasswordRenderer |
Handsontable.TextRenderer | Handsontable.renderers.TextRenderer |
Was | Is |
Handsontable.AutocompleteCell | Handsontable.cellTypes.autocomplete |
Handsontable.CheckboxCell | Handsontable.cellTypes.checkbox |
Handsontable.DateCell | Handsontable.cellTypes.date |
Handsontable.DropdownCell | Handsontable.cellTypes.dropdown |
Handsontable.HandsontableCell | Handsontable.cellTypes.handsontable |
Handsontable.NumericCell | Handsontable.cellTypes.numeric |
Handsontable.PasswordCell | Handsontable.cellTypes.password |
Handsontable.TextCell | Handsontable.cellTypes.text |
Handsontable.TimeCell | Handsontable.cellTypes.time |
Was | Is |
Handsontable.CustomBorders | Handsontable.plugins.CustomBorders |
Handsontable.MergeCells | Handsontable.plugins.MergeCells |
Handsontable.Search | Handsontable.plugins.Search |
Handsontable.UndoRedo | Handsontable.plugins.UndoRedo |
Was | Is |
Handsontable.Dom | Handsontable.dom |
Was | Is |
Handsontable.EditorManager | (not available) |
Handsontable.EditorState | (not available) |
Handsontable.SearchCellDecorator | (not available) |
Handsontable.TableView | (not available) |
Handsontable.cellLookup | (not available) |
Handsontable.eventManager | Handsontable.EventManager |
Handsontable.utils | (not available) |
- Changed the way in which custom cell types are being registered. (#4254)
We improved the public API to give developers an ability to register cell behaviors and types separately. We strongly recommend to use a registered alias in Handsontable settings to increase the code maintainability.
An example on how to add a custom editor/renderer/validator:
Handsontable.cellTypes.registerCellType('my-custom-select', {
editor: MyCustomSelectEditor,
renderer: MyCustomSelectRenderer,
validator: MyCustomSelectValidator,
});
Handsontable.validators.registerValidator('credit-card', function(query, callback) {
callback(/* passed `true` or `false` depending on a query value */);
});
new Handsontable(document.getElementById('element'), {
data: data,
columns: [{
data: 'id',
type: 'my-custom-select'
}, {
data: 'name',
renderer: 'my-custom-select'
}, {
data: 'cardNumber',
validator: 'credit-card'
}]
})
Changes:
- Fixed documentation for the
autoRowSize
config option. (#4267) - Fixed documentation for the
cells
config option. (#4185) - Fixed a problem with the
maxRows
functionality. (#4180) - Fixed a problem with the
maxCols
functionality. (#4156) - Fixed a bug, where passing integer values to a dropdown caused the cell to be marked as invalid. (#4143)
- Added the TypeScript definitions to the repository. (#4112)
- Fixed a bug with
getCoords
throwing an error when used on non-cell elements. (#4074) - Data copied from the table will no longer have a newline at the end. (#3801)
- Fixed a problem with scrolling on IE9+. (#2350)
- Fixed a wrong variable in a listener of the mouse wheel event. (#4255)
- Fixed an issue related to defining a cell metadata for non-existing cells. (#4024)
The corresponding Handsontable CE version is 0.32.0
.
1.11.0-beta2
Released on 24th of May, 2017
Breaking changes:- Changed the way in which custom cell types are being registered. (#4254)
As you already know from beta1 release, we have migrated from Traceur to Babel. It required from us to standarize the code so we decided to stop using a Handsontable global variable in our internal projects. As a result, we changed the way of creating custom editors, validators, renderers and their combinations like 'cell types'. In this beta2 release we improved the public API to give developers an ability to register cell behaviors and types separately. We strongly recommend to use a registered alias in Handsontable settings to increase the code maintainability.
An example on how to add a custom editor/renderer/validator:
Handsontable.cellTypes.registerCellType('my-custom-select', {
editor: MyCustomSelectEditor,
renderer: MyCustomSelectRenderer,
validator: MyCustomSelectValidator,
});
Handsontable.validators.registerValidator('credit-card', function(query, callback) {
callback(/* passed `true` or `false` depending on a query value */);
});
new Handsontable(document.getElementById('element'), {
data: data,
columns: [{
data: 'id',
type: 'my-custom-select'
}, {
data: 'name',
renderer: 'my-custom-select'
}, {
data: 'cardNumber',
validator: 'credit-card'
}]
})
Changes:
- Fixed a wrong variable in a listener of the mouse wheel event. (#4255)
- Fixed an issue related to defining a cell metadata for non-existing cells. (#4024)
The corresponding Handsontable CE version is 0.32.0-beta2
.
1.11.0-beta1
Released on 17th of May, 2017
Breaking changes:- Migration from Traceur to Babel. (#4070)
We're now using Babel to transpile our code. That means that we had to make breaking changes, please take a look if you have to make some adjustments in your implementation before moving to this version.
- The Bootstrap CSS files were merged to Handsontable's default CSS.
- The
/plugins
directory was deleted (with the "removeRow plugin" included) - Some global variables were reorganized and/or removed. Please take a look.
Validators
Was | Is |
Handsontable.AutocompleteValidator | Handsontable.validators.AutocompleteValidator |
Handsontable.AutocompleteValidator | Handsontable.validators.AutocompleteValidator |
Handsontable.DateValidator | Handsontable.validators.DateValidator |
Handsontable.NumericValidator | Handsontable.validators.NumericValidator |
Handsontable.TimeValidator | Handsontable.validators.TimeValidator |
Was | Is |
Handsontable.AutocompleteRenderer | Handsontable.renderers.AutocompleteRenderer |
Handsontable.BaseRenderer | Handsontable.renderers.BaseRenderer |
Handsontable.CheckboxRenderer | Handsontable.renderers.CheckboxRenderer |
Handsontable.HtmlRenderer | Handsontable.renderers.HtmlRenderer |
Handsontable.NumericRenderer | Handsontable.renderers.NumericRenderer |
Handsontable.PasswordRenderer | Handsontable.renderers.PasswordRenderer |
Handsontable.TextRenderer | Handsontable.renderers.TextRenderer |
Was | Is |
Handsontable.AutocompleteCell | Handsontable.cellTypes.autocomplete |
Handsontable.CheckboxCell | Handsontable.cellTypes.checkbox |
Handsontable.DateCell | Handsontable.cellTypes.date |
Handsontable.DropdownCell | Handsontable.cellTypes.dropdown |
Handsontable.HandsontableCell | Handsontable.cellTypes.handsontable |
Handsontable.NumericCell | Handsontable.cellTypes.numeric |
Handsontable.PasswordCell | Handsontable.cellTypes.password |
Handsontable.TextCell | Handsontable.cellTypes.text |
Handsontable.TimeCell | Handsontable.cellTypes.time |
Was | Is |
Handsontable.CustomBorders | Handsontable.plugins.CustomBorders |
Handsontable.MergeCells | Handsontable.plugins.MergeCells |
Handsontable.Search | Handsontable.plugins.Search |
Handsontable.UndoRedo | Handsontable.plugins.UndoRedo |
Was | Is |
Handsontable.Dom | Handsontable.dom |
Was | Is |
Handsontable.EditorManager | (not available) |
Handsontable.EditorState | (not available) |
Handsontable.SearchCellDecorator | (not available) |
Handsontable.TableView | (not available) |
Handsontable.cellLookup | (not available) |
Handsontable.eventManager | Handsontable.EventManager |
Handsontable.utils | (not available) |
- Fixed documentation for the
cells
config option. (#4185) - Fixed a problem with the
maxRows
functionality. (#4180) - Fixed a problem with the
maxCols
functionality. (#4156) - Fixed a bug, where passing integer values to a dropdown caused the cell to be marked as invalid. (#4143)
- Added the TypeScript definitions to the repository. (#4112)
- Fixed a bug with
getCoords
throwing an error when used on non-cell elements. (#4074) - Data copied from the table will no longer have a newline at the end. (#3801)
- Fixed a problem with scrolling on IE9+. (#2350)
- Fixed a problem, where the
ESC
key did not work for the filtering menu.
The corresponding Handsontable CE version is 0.32.0-beta1
.
1.10.1
Released on 7th of March, 2017
Changes- Fixed a problem where the column titles were trimmed when using the
nestedHeaders
plugin. - Fixed a problem with the Nested Headers'
collapseAll
method. - Updated Handsontable CE to
0.31.1
.
1.10.0
Released on 14th of February, 2017
Backward incompatible changes- Changed the possible values of the
source
property provided by plugin hooks. See the issue page for this problem for more information about the breaking change. (#4017)
- Updated the
hot-formula-parser
dependency. - Added some fixes for Handsontable CE.
- Fixed a bug with `grunt test-pro` wasn't working properly.
- Updated Handsontable CE version to `0.31.0`.
1.9.1
Released on 17st of January, 2017
Changes- Fixed a problem with copying/pasting values when
fixedRowsBottom
is enabled. - Updated the Handsontable version to
0.30.1
.
1.9.0
Released on 11th of January, 2017
Breaking Changes- The AutoFill plugin was refactored, thus introducing some breaking changes into the API. If your implementation uses the previous
autoFill
structure, please check if it everything works as expected. (#3257) - The
setCellMeta
method was changed to work on visual row and column indexes, analogously to thegetCellMeta
method. If your implementation utilizes it, please check if you need to tweak it (it may cause issues especially when using it with thecolumnSorting
,manualRowMove
andmanualColumnMove
plugins).
- Fixed issues with manipulating the data structure with the
columnSummary
plugin enabled. - Added tests for the Pro version concerning the maxRows option.
- Fixed a problem with building the Pro version with a different Handsontable branch than
master
- Updated Handsontable to version
0.29.0
.
1.8.2
Released on 21st of December, 2016
Changes- Fix a problem when longer header labels were cut with the
nestedHeaders
plugin. - Fix a problem with selection and keyboard navigation when using the
hiddenRows
plugin. - Updated the Handsontable version to
0.29.2
.
1.8.1
Released on 13th of December, 2016
Changes- Refactored the
columnSummary
plugin, introducing a feature which allows providing custom functions to the plugin configuration. - Updated Handsontable to version
0.29.1
.
1.8.0
Released on 8th of November, 2016
Breaking changes- We've added a new cell property:
allowHtml
. If you set it totrue
, theautocomplete
anddropdown
cells will be able to render HTML elements correctly (as it was before). However, if you set it tofalse
, no HTML will be rendered. This change is meant to decrease Handsontable's XSS vulnerability. - We've refactored the Comments plugin, which caused some API and visual changes. Please see our documentation and check if you need to make some changes in your implementation.
The
allowHtml
property defaults to **false**, so please make sure if you have to specify it in your implementation!
- Fixed problems with tests on macOS Sierra.
- Fixed a problem when typing
=
in a cell caused an error to be thrown. - Tweaked invalid characters validation for the formulas.
- Fixed a problem with updating the
fixedRowsBottom
option. - Updated Handsontable to the latest version. (
0.29.0
).
1.7.4
Released on 13th of October, 2016
Changes- Updated Handsontable to the latest version. (
0.28.4
).
1.7.3
Released on 5th of October, 2016
Changes- Updated Handsontable to the latest version. (
0.28.3
).
1.7.2
Released on 4th of October, 2016
Changes- Fixed a problem where hiding the first column would also hide its border.
- Updated Handsontable to the latest version. (0.28.2)
1.7.1
Released on 29th of September, 2016
Changes- Added the
hot-formula-parser
dependency tobower.json
. - Fixed the
firstWeekDay
functionality in the Gantt Chart plugin. - Fixed a problem when it was impossible to create Gantt Chart plugin's range bars spanned between years.
- Fixed a problem with header selection in the Nested Headers plugin.
- Fixed a problem with the Formulas and Column Sorting plugins being used together.
- Updated to the latest Handsontable version (
0.28.1
)
1.7.0
Released on 15th of September, 2016
Breaking changes- This release introduces a new feature - Formulas (currently in alpha stage, may not be stable). This required us to make some breaking changes, for example,
the
afterCreateRow
andafterCreateCol
changes their argument types (the third argument used to beboolean
, now it has to bestring
). You can find more about the plugin in our docs: https://handsontable.com/docs/demo-formula-support.html. - We've refactored the Manual Column Move plugin to allow the user to move multiple columns at once. This made some backward-incompatible changes.
For example the
beforeColumnMove
andafterColumnMove
hooks had their arguments changed.
After updating to this version, please check if any changes need to made in your implementation.
Changes- New plugin - Nested Rows. It's currently in alpha stage and may not be stable. It allows providing Handsontable with nested data structures and operating on data within the groups. You can find more information in our docs: https://handsontable.com/docs/demo-nested-rows.html.
- Added missing dependencies to
bower.json
. - Updated to the latest Handsontable version (
0.28.0
).
1.6.0
Released on 2nd of September, 2016
Breaking changes- We've refactored the Manual Row Move plugin to allow the user to move multiple rows at once. This made some backward-incompatible changes. For example the `beforeRowMove` and `afterRowMove` hooks had their arguments changed. After updating to this version, please check if any changes need to made in your implementation.
- We've added an additional default column/row header styling - now the column and row header corresponding to the selected cell will be rendered with a darker background. Please have that in mind when styling your Handsontable implementations.
- Fixed some performance problems connected with using both Dropdown Menu and Filters together.
- Added support for the refactored Manual Row Move plugin in the Hidden Rows plugin.
- Updated Handsontable to the latest version, which is 0.27.0. (See changes).
1.5.1
Released on 27th of July, 2016
Changes- Improved rendering performance of GanttChart plugin.
- Updated Handsontable to the latest version, which is 0.26.1. (See changes).
1.5.0
Released on 27th of June, 2016
Backward incompatible changes- Changed one of our core dependencies. We're using Numbro instead of Numeral.js. If you're including our dependencies independently, please update your setup. (3487)
- Updated Handsontable to the latest version, which is 0.26.0. (See changes).
Changes
- Fixed a bug where hovering over the
Filter by value
items would throw errors.
1.4.1
Released on 6th of June, 2016
Changes- Fixed problems with hiddenRows and hiddenColumns.
- New feature: Added a Select All and Clear options for the Filtering plugin.
- Fixed problems with filtering blank cells.
- Updated Handsontable to the latest version, which is 0.25.1. (See changes).
1.4.0
Released on 25th of May, 2016
Changes- Fixed problems with selection in the nestedHeaders plugin.
- New feature: Added "show" and "hide column" to the Context Menu.
- Upgraded Handsontable to the latest version, which is 0.25.0. (See changes).
1.3.4
Released on 28th of April, 2016
Changes- Upgraded Handsontable to the latest version, which is 0.24.3. (See changes).
1.3.3
Released on 11th of April, 2016
Changes- Added the
afterFilter
hook. - Replaced
keyup
withinput
in "Filter by Value" section. - Fixed problems with not working ESC key.
- Added support for node environment.
- Upgraded Handsontable to the latest version, which is 0.24.2. (See changes).
1.3.2
Released on 18th of March, 2016
Changes- Update with a working
handsontable.full.js
build. The.full
build from1.3.1
had major problems with the date and time cells.
1.3.1
Released on 16th of March, 2016
Changes- Upgraded Handsontable to the latest version, which is 0.24.1. (See changes).
1.3.0
Released on 15th of March, 2016
Backward incompatible change- Upgraded Handsontable to the latest version, which is 0.24.0. (See changes).
- A noticeable visual change in the Filters plugin: The filters menu gained a new section (Filter by Value).
Changes
- Fixed problem when enabling manualColumnMove and hiddenColumns displayed empty values in a column.
- Fixed a problem, when sometimes clicking a dropdown menu button caused the page to refresh.
- Extended the Filters functionality by adding the "filter by value" component.
- Added a possibility to undo/redo filtering.
1.2.0
Released on 19th of February, 2016
Backward incompatible change- Upgraded Handsontable to the latest version, which is 0.23.0. (See changes)
Changes
- Added an asynchronous calls in Gantt Chart plugin to reduce the time needed to update the data.
- Improvements to the Context/Dropdown menu, mainly a better UI handling.
- The Filter Data plugin is not shrinking the table anymore when there is no results.
1.1.1
Released on 4th of February, 2016
- Added a possibility to set up server-side filtering by adding the
beforeFilter
hook. - Added cell meta cache'ing to the Gantt Chart plugin in order to properly use the
updateSettings
method.
1.1.0
Released on 3th of February, 2016
-
Backward incompatible change
Upgraded Handsontable to the latest version, which is 0.22.0. - Fixed an error with selecting a row, with the last column being hidden.
- Fixed a memory leak problem with the GanttChart plugin.
1.0.0
Released on 20th of January, 2016
-
Backward incompatible change
TheafterValidate
hook will provide the visual row indexes, instead of the logical ones. For example, if the first row becomes the seventh row after sorting the table, theafterValidate
hook will provide6
as the row index. To translate the visual row to the logical row, you can use thetranslateRow
method of thecolumnSorting
plugin (#3132).var logicalRow = hotInstance.getPlugin('columnSorting').translateRow(row);
- Fixed problem, where pasting a dataset which row count exceeds the number of rows in the table nothing happened.
- Fixed problems with dropdown menu and submenu positioning.
- Fixed problems with filtering the fixed rows.
- Fixed problem with filter options missing after filtering out all rows.
1.0.0-beta3
Released on 11th of January, 2016
- Fixed problem with the
columnSummary
plugin, which wasn't updating the calculation results when an object-based dataset was provided to the Handsontable instance. - Prevent displaying the dropdown header buttons in higher levels of headers (for example, when using the nested headers plugin).
1.0.0-beta2
Released on 8th of January, 2016
- Fixed problems with columns being selected after collapsing a column (with the
collapsibleColumns
plugin). - Fixed problems with
fixedRowsBottom
not working properly with window-scrollable tables. - Fixed wrong position issues in the Filters plugin.
-
Fixed column selection issues in the
nestedHeaders
plugin.