Releases: CoreOffice/CoreXLSX
0.8.0
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:
parseDocumentPathshas internal protection, but is needed byparseDocumentRelationships#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
textproperty when format is applied at the character level #72 (LiewLi) - Add comment support #70 (grin)
0.7.0
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.
Additions
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
fillIdandborderIdattributes missing from CoreXLSX.Format #65
Merged pull requests
- Fix decoding of Borders model type #69 (MaxDesiatov)
- Add fail flag to scripts #68 (hodovani)
- Move from Travis to Azure Pipelines #67 (MaxDesiatov)
- Add missing attributes #66 (grin)
0.6.1
Bugfix release that adds case externalLink to Relationship.SchemaType improving .xlsx compatibility.
0.6.0
This is a bugfix release with changes to the model API that improve compatibility with files containing formulas and varied shared strings formats.
Specifically:
- new
struct Formulaadded with a corresponding property onstruct Cell - property
coloronstruct Propertiesbecame optional propertiesonstruct RichTextbecame optional- new
chartsheetcase added toenum Relationship richTextonstruct SharedStringsbecame 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
Formulastruct, fix other model types #61 (MaxDesiatov) - Bump
XMLCoderdependency to 0.5, fixSharedStrings#60 (MaxDesiatov)
0.5.0
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.
Additions
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
- Add testSpacePreserve to SharedStrings tests #57 (MaxDesiatov)
- Fix XML namespaces, bump ZIPFoundation dependency #55 (MaxDesiatov)
- Split package manifest for Swift 5 and Swift 4.2 #54 (MaxDesiatov)
- Update XMLCoder dependency to 0.4.0 #53 (MaxDesiatov)
- Add Styles with structs describing styles.xml #46 (MaxDesiatov)
- Add test to check sharedStrings order #44 (hodovani)
- Fix root paths in CoreXLSX, fix formatter & linter #43 (MaxDesiatov)
0.4.0
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
parseSharedStringsfunction onXLSXFileallows 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 withparseWorksheet. -
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
ColumnReferencestruct, which conforms toComparableandStrideable. -
Following the addition of an error context to
XMLCoder, which is the main dependency ofCoreXLSX, it is now exposed onstruct XLSXFile. Pass a non-zero value toerrorContextLengthargument (default is0) ofXLSXFileinitializer and you'll get a snippet of XML that failed to parse in the debug description of the error value. -
Additional optional argument
bufferSizewas added toXLSXFileinitializer 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
- Set global version in project file, bump to 0.4.0 (#39)
@MaxDesiatov - Update README.md (#40)
@chriseidhof - Expose
errorContextLengthonstruct XLSXFile(#38)
@MaxDesiatov - Add
customPropertiesrelationship (#34)
@NSMutableString - Update XMLCoder and ZIPFoundation dependencies (#36)
@MaxDesiatov - Update requirements in README.md
@MaxDesiatov - Add extra relationship metadataThumbnail (#33)
@NSMutableString - Refactor Worksheet and Pane values to optional (#31)
@hodovani - Add bufferSize parameter to init (#30)
@hodovani - Add more cases to
Relationship.SchemaType(#25)
@MaxDesiatov - Add
public func parseDocumentRelationships(#23)
@MaxDesiatov - Make Relationships public, add parseRelationships (#22)
@MaxDesiatov - Add SharedStrings model, parse sharedStrings.xml (#8)
@MaxDesiatov - Paste XML snippet into WorksheetTests as is
@MaxDesiatov - Add a second XML snippet to WorksheetTests
@MaxDesiatov - Clarify issue reporting in README.md
@MaxDesiatov - Test newspaces in attributes in WorksheetTests
@MaxDesiatov - More XML with newlines in WorksheetTests
@MaxDesiatov - Add newline characters test to WorksheetTests
@MaxDesiatov - Add cell with a single attribute to WorksheetTests
@MaxDesiatov - Add rows and cells to WorksheetTests
@MaxDesiatov - Update names and types of properties on Worksheet (#18)
@MaxDesiatov - Rename sheetData on Worksheet and make it optional (#17)
@MaxDesiatov - Add simple
Workbookmodel with tests (#16)
@MaxDesiatov - Make
columnsproperty optional onWorksheet(#14)
@MaxDesiatov - Fix example project after new files were added (#13)
@MaxDesiatov - Remove
worksheetCacheprivate property as unused (#11)
@MaxDesiatov - Clarify platform setting for CocoaPods in README
@MaxDesiatov - Clarify Carthage instructions in README.md
@MaxDesiatov - Add API for filtering cells by rows and columns (#7)
@MaxDesiatov - Add Carthage and support for tvOS and watchOS (#6)
@MaxDesiatov - Implement
StrideableonColumnReference(#5)
@MaxDesiatov - Add ColumnReference type with new API (#3)
@MaxDesiatov
0.3.0
0.2.3
Refine README.md to include implementation details.
0.2.2
Refine code comments and links in README.md
0.2.1
- Update README.md with instructions for Swift Package Manager.