• v2.6.0 c1940c2a1e

    v2.6.0 Stable

    xuri released this 2022-04-10 16:04:00 +00:00 | 302 commits to master since this release

    We are pleased to announce the release of version 2.6.0. Featured are a handful of new areas of functionality and numerous bug fixes.

    A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.

    Release Notes

    The most notable changes in this release are:

    Breaking Change

    • Rename exported constants NameSpaceDublinCoreMetadataIntiative to NameSpaceDublinCoreMetadataInitiative for typo fix
    • Rename exported variable ErrUnsupportEncryptMechanism to ErrUnsupportedEncryptMechanism
    • Rename exported variable ErrDataValidationFormulaLenth to ErrDataValidationFormulaLength
    • Rename exported variable ErrDefinedNameduplicate to ErrDefinedNameDuplicate
    • Remove exported variable XMLHeaderByte
    • Remove second useless parameter isCurrentSheet and error returns of the function SetSqrefDropList
    • Remove TotalRows of row iterator

    Notable Features

    • ProtectSheet now support protect sheet with specify algorithm: XOR, MD4, MD5, SHA1, SHA256, SHA384, and SHA512
    • UnprotectSheet now support specified the second optional password parameter to remove sheet protection with password verification
    • New support 71 formula functions: AVERAGEIFS, BETADIST, BETA.DIST, BETAINV, BETA.INV, BINOMDIST, BINOM.DIST, BINOM.DIST.RANGE, BINOM.INV, CHIINV, CHITEST, CHISQ.DIST, CHISQ.DIST.RT, CHISQ.INV, CHISQ.INV.RT, CHISQ.TEST, CONFIDENCE.T, CORREL, COVAR, COVARIANCE.P, CRITBINOM, ERROR.TYPE, EXPON.DIST, EXPONDIST, F.DIST, F.DIST.RT, FDIST, F.INV, F.INV.RT, FINV, FORMULATEXT, F.TEST, FTEST, GAMMA.DIST, GAMMADIST, GAMMA.INV, GAMMAINV, GAMMALN.PRECISE, GAUSS, HOUR, HYPGEOM.DIST, HYPGEOMDIST, INDIRECT, LOGINV, LOGNORM.DIST, LOGNORMDIST, LOGNORM.INV, MODE, MODE.MULT, MODE.SNGL, NEGBINOM.DIST, NEGBINOMDIST, PHI, SECOND, SERIESSUM, SUMIFS, SUMPRODUCT, SUMX2MY2, SUMX2PY2, SUMXMY2, T.DIST, T.DIST.2T, T.DIST.RT, TDIST, TIMEVALUE, T.INV, T.INV.2T, TINV, T.TEST, TTEST, TYPE
    • Check file extension on save the workbook
    • Support workbook views mode and ruler display settings
    • Improve number format support, introduced NFP (number format parser) dependencies module for custom dates and times number format and text place holder support, include local month name and AM/PM format in 19 languages (Afrikaans, Bangla, Chinese, English, French, German, Austria, Irish, Italian, Russian, Spanish, Thai, Tibetan, Turkish, Welsh, Wolof, Xhosa, Yi and Zulu) support for number format, related issues #660, #764, #1093, #1112, #1133
    • New exported functions SetWorkbookPrOptions and GetWorkbookPrOptions to support setting and getting the FilterPrivacy and CodeName properties of the workbook, resolve limitations when adding VBA project to the workbook, related issue #1148
    • Formula engine now support calculation with the none parameter formula function after infix operator notation
    • Support to read boolean data type cell value
    • Support set hole size when create the doughnut chart by AddChart function, resolve issue #1172
    • Export 4 errors ErrPasswordLengthInvalid, ErrUnsupportedHashAlgorithm, ErrUnsupportedNumberFormat, ErrWorkbookExt so users can act differently on the different type of errors

    Improve the Compatibility

    • Improve compatibility with LibreOffice, fixed the issue auto filter doesn't work on LibreOffice if the sheet name has spaces, resolve issue #1122
    • Improve the compatibility with alternate content, support preserve alternate content in the workbook, worksheet, and drawingML
    • Improve the compatibility with page setup DPI fields

    Bug Fixes

    • Fix missing page setup of worksheet after re-saving the spreadsheet, resolve issue #1117
    • Fix merged cells doesn't updated after opertaion in some cases
    • Fix style parsing issue, which causes bold and other style missing, resolve issue #1119
    • Fix file corrupted when save as in XLAM / XLSM / XLTM / XLTX extension in some case
    • Correct cells style in merge range, make cell support inheritance columns/rows style, resolve issue #1129
    • Fix incorrect style ID returned on getting cell style in some cases
    • Fix incorrect build-in number format: 42
    • Fixed parsing decimal precision issue in some case
    • SetCellDefault support non-numeric value, resolve issue #1139
    • Fixed show sheet tabs setting was missing on save as spreadsheet in some cases, resolve issue #1160
    • Fix nested formula calculation result error, resolve issue #1164
    • Fix a part of formula function calculation result precision issue and inconsistent result precision of formula calculation under x86 and arm64 processor (CPU) architecture
    • This fix scientific notation parsing issue in some case
    • Fix the issue that the chart axis maximum and minimum didn't work when the value is 0

    Performance

    • Improve streaming reading performance, based on the previously released version, reduce memory usage by about 50% at most for reading large data spreadsheet, and reduce 80% GC times for the row's iterator

    Miscellaneous

    • The dependencies module has been updated
    • Unit tests and godoc updated
    • Documentation website with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated
    Downloads