You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added support for the new license key format. A proprietary key can now grant a subset of the library: a function your key does not include evaluates to a #LIC! error, and the matching parts of the API throw a LicenseCapabilityMissingError. getAvailableFunctions() and getFunctionDetails() describe only the functions your key includes. #1728
Changed
Changed the VERSION function to return only the HyperFormula version (e.g. HyperFormula v3.4.0), without the license key status. #1728
Changed the API methods gated by the license key to throw a LicenseCapabilityMissingError when the key is missing or invalid, when a classic key has expired, or when a trial key is past its grace period. The gated methods are the ones that edit cells, rows, columns, and sheets, copy(), cut(), paste(), undo(), redo(), batch(), suspendEvaluation(), and the methods that add, change, or remove named expressions. Building an engine with named expressions throws the same error, and the matching isItPossibleTo*() methods, isThereSomethingToUndo(), and isThereSomethingToRedo() return false. #1728
Changed the MAXPOOL and MEDIANPOOL functions to accept a stride greater than the window size in a cell, where they returned the #VALUE! error before. The windows then skip the rows and columns between them, as calculateFormula() already did. #1718
Fixed
Fixed the validation of classic (25-character) license keys depending on the time zone: east of UTC, a key that expired the day before the build was released was still accepted, and west of UTC, the console message printed an expiry date one day too early. #1728
Fixed the AVERAGEIF function returning a division-by-zero error when the calculated average was 0. #1733
Fixed the localized names of VSTACK and HSTACK in 14 language packs to match Microsoft Excel. #1748
Fixed the MAXPOOL and MEDIANPOOL functions throwing an uncaught TypeError or RangeError. They now return the #VALUE! error when the window is larger than the range or the range dimensions, reduced by the window size, are not whole multiples of the stride, and the #NUM! error when the window size or the stride is not a positive integer. #1718
Fixed the VAR, STDEV, DEVSQ, COVARIANCE.P, COVARIANCE.S, SLOPE, STEYX, DVAR and DSTDEV functions, their variants, and the matching SUBTOTAL modes losing precision on data with a large mean and a small spread. #1784
Fixed a bug where SLOPE and STEYX returned #NUM! or an arbitrary number instead of #DIV/0! when all the x values are equal. #1784
Fixed a bug where STEYX returned #NUM! or 0 instead of the standard error for points that lie almost on a line. #1784
Fixed a bug where VAR, STDEV, DVAR, DSTDEV, COVARIANCE.P, COVARIANCE.S, SLOPE, STEYX, their variants, and the matching SUBTOTAL modes returned an error or 0 for very large or very small values although the result was within the range of numbers, and DEVSQ returned 0 for very small values. #1784
Fixed the MOD function returning a remainder with the sign of the dividend instead of the sign of the divisor, which made the results differ from Excel and Google Sheets for arguments with opposite signs (e.g. =MOD(-3, 12) now returns 9 instead of -3). #1747
Fixed a bug where moving or pasting a formula with an undefined name to another sheet incorrectly added an empty global named expression. #1728