All Versions
Latest Version
Avg Release Cycle
24 days
Latest Release
144 days ago

Changelog History
Page 1

  • v0.9.1

    November 08, 2019

    🚀 This release adds a new value to the Relationship.SchemaType enum, which fixes compatibility with some spreadsheet files. Thanks to @mxcl for the bug report!

    🛠 Fixed bugs:

    • Cannot initialize SchemaType from invalid String value #87

    🔀 Merged pull requests:

  • v0.9.0

    October 19, 2019

    🚀 This release adds Linux support and improves compatibility with .xlsx files that contain shared strings. Thanks to @CloseServer, @funnel20 and @LiewLi for bug reports and contributions!

    Implemented enhancements:

    • ⬆️ Bump XMLCoder to 0.9.0, add CI jobs for Linux, Xcode 11 #86 (MaxDesiatov)

    🛠 Fixed bugs:

    • 📜 Multi-line text in an Excel cell is parsed into single line in the SharedStrings property text #83

    Closed issues:

    • 📜 I crashed while calling try file.parsesharedstrings () with an error #79

    🔀 Merged pull requests:

    • ⬆️ Bump line length limit in .swiftlint.yml #85 (MaxDesiatov)
    • ✅ Make decoder.trimValueWhitespaces false, add test #84 (MaxDesiatov)
    • ⬆️ Bump XMLCoder dependency to 0.8.0 #80 (MaxDesiatov)
    • SharedString uniqueCount property can be nil #78 (LiewLi)
  • v0.8.0

    July 12, 2019

    🔋 Feature and bugfix release that makes the library compatible with more spreadsheet types. It also adds support for Comments structure, which can be parsed with the new parseComments API.

    🚀 Many thanks to @grin, @GoldenJoe and @LiewLi for reporting and fixing issues in this release.

    Closed issues:

    • 📜 parseDocumentPaths has internal protection, but is needed by parseDocumentRelationships #74 (GoldenJoe)
    • 📚 Missing Documentation #73 (GoldenJoe)

    🔀 Merged pull requests:

    • ⬆️ Bump XMLCoder dependency to 0.7.0 #77 (MaxDesiatov)
    • 🛠 Fix non-macOS framework targets #76 (MaxDesiatov)
    • missing text property when format is applied at the character level #72 (LiewLi)
    • ➕ Add comment support #70 (grin)
  • v0.7.0

    May 25, 2019

    🛠 Bugfix release that improves compatibility with different spreadsheet types.

    Thanks to @grin for reporting and fixing issues in 🚀 this release.

    💥 Breaking changes:

    All properties on struct Format except fontId and numberFormatId are now optional.


    🆕 New borderId and fillId properties on struct Format.

    🛠 Fixed bugs:

    • Can't get cell string #58
    • 📄 Can't load basic spreadsheets created in Google Docs #64
    • fillId and borderId attributes missing from CoreXLSX.Format #65

    🔀 Merged pull requests:

  • v0.6.1

    May 09, 2019

    🛠 Bugfix release that adds case externalLink to Relationship.SchemaType improving .xlsx compatibility.

  • v0.6.0

    May 02, 2019

    🛠 This is a bugfix release with changes to the model API that improve compatibility with files containing formulas and varied shared string formats.


    • 🆕 new struct Formula added with a corresponding property on struct Cell
    • property color on struct Properties became optional
    • properties on struct RichText became optional
    • 🆕 new chartsheet case added to enum Relationship
    • richText on struct SharedStrings became an array, not optional

    Closed issues:

    • Error Domain=NSCocoaErrorDomain Code=4865 "Expected String but found null instead." #59
    • Importing XLSX file #56
    • 📜 Error ParseCellContent #51
    • 📜 error parseWorksheet #50
    • Couldn't find end of Start Tag c #37

    🔀 Merged pull requests:

    • ➕ Add Formula struct, fix other model types #61 (MaxDesiatov)
    • ⬆️ Bump XMLCoder dependency to 0.5, fix SharedStrings #60 (MaxDesiatov)
  • v0.5.0

    April 18, 2019

    🚀 This is a release with API additions and bug fixes.

    🚀 This release of CoreXLSX can be integrated as a Swift 5 module if you're using 👍 Xcode 10.2, but support for Swift 4.2 and earlier Xcode 10 versions is also maintained.

    Compatibility is improved for big files and files that internally contain namespaced XML. A few other previously reported compatibility issues are now 🛠 fixed. Many thanks to everyone who reported the issues, the improvements in this 🚀 release wouldn't be possible without your contribution!

    💥 Breaking changes:

    Several properties on the model types became optional when there's no guarantee they are always available in files generated by different apps and tools.


    💅 Now you can parse style information from the archive with the new 💅 parseStyles() function. Please refer to the Styles 💅 model 💅 for more details. Please note that not all XLSX files contain style information, so you should be prepared to handle the errors thrown from 💅 parseStyles() function in that case.

    🔀 Merged pull requests:

  • v0.4.0

    February 07, 2019

    🚀 This is a release with API improvements and bug fixes. A big thank you to everyone who provided bug reports and contributions that made this release possible!

    💥 Breaking changes

    • 🗄 A few properties on the model types were added with cleaner names and better fitting types. Most of the old versions of those properties were kept as deprecated, but you might get some breakage with optionality, where we couldn't find a good deprecation path.

    ➕ Additions

    🆕 New parseSharedStrings function on XLSXFile allows you get values of cells with shared string value. Quite frequently those strings are unavailable and are only referenced in the original model types you get with parseWorksheet.

    ✅ Previously when addressing cells and columns you had to use a stringly-typed API. It was also not very convenient for specifying a range of columns. This is now fixed with the new type-safe ColumnReference struct, which conforms to Comparable and Strideable.

    0️⃣ Following the addition of an error context to XMLCoder, which is the main dependency of CoreXLSX, it is now exposed on struct XLSXFile. Pass a non-zero value to errorContextLength argument (default is 0) of XLSXFile initializer and you'll get a snippet of XML that failed to parse in the debug description of the error value.

    ➕ Additional optional argument bufferSize was added to XLSXFile initializer as a response to previous
    👀 reports
    about problems with zip file extraction. The default value is 10 MiB, which seems to be enough in most cases, but you can still try passing a larger value for bigger files if you see that an XML file stops abruptly in the middle of the file. Unfortunately, we haven't found a good way to adjust this value dynamically based on the file size, but please let us know if you did.

    👌 Support for Carthage was added as well as support for tvOS and watchOS.

    🛠 Bugfixes

    📜 Some files that couldn't be previously parsed should now be handled better thanks to fixes in optionality and more properties added to the model types.

    All changes

  • v0.3.0

    November 13, 2018
    • 👌 Improve Worksheet model property naming (#2). Some properties on Worksheet and its descendants had obscure names, most of that is 🛠 fixed now with old names marked as deprecated.
  • v0.2.3

    November 12, 2018
    • Refine to include implementation details.