Releases: CoreOffice/XMLCoder
0.17.1
0.17.0
What's Changed
- Adds 
.noEmptyElementsoption to OutputFormatting by @nighthawk in #264 
New Contributors
- @nighthawk made their first contribution in #264
 
Full Changelog: 0.16.0...0.17.0
0.16.0
What's Changed
- Fix mixed CDATA usage by @johankool in #261
 
New Contributors
- @johankool made their first contribution in #261
 
Full Changelog: 0.15.0...0.16.0
0.15.0
What's Changed
- Test with Xcode 14.0 and Swift 5.7 by @MaxDesiatov in #245
 - Update doc comments, add 
PropertyWrappersTestby @MaxDesiatov in #246 - Implement support for encoding DocTypes by @Joannis in #253
 
New Maintainer
Full Changelog: 0.14.0...0.15.0
0.14.0
What's Changed
- Simplify string 
isAllWhitespaceimplementation by @LucianoPAlmeida in #235 - Bump cocoapods-downloader from 1.5.1 to 1.6.3 by @dependabot in #239
 - Update link to project's GitHub Pages by @christopherweems in #240
 - Fix iOS 11 support warnings by @kikeenrique in #242
 - Make 
AnySequencepublicXMLDecodableSequenceby @MaxDesiatov in #244 
New Contributors
- @LucianoPAlmeida made their first contribution in #235
 - @dependabot made their first contribution in #239
 - @christopherweems made their first contribution in #240
 - @kikeenrique made their first contribution in #242
 
Full Changelog: 0.13.1...0.14.0
0.13.1
This is a bugfix release that fixes an edge case with the use of trimValueWhitespaces configuration on XMLDecoder, and adds official Windows support for users of Swift 5.5. Many thanks to @MartinP7r for multiple contributions to this release!
Closed issues:
- Encoding an Attribute doesn't work anymore (#231)
 - How to "skip" certain XML tags / element in a TCX file (#227)
 - Encode element with empty key, no elements, and attributes (#224)
 
Merged pull requests:
- Add Windows to GitHub Actions CI build matrix (#233) via @MaxDesiatov
 - Add test for preserved spaces with XML entities (#234) via @MartinP7r
 - Fix 
trimValueWhitespacesremoving needed white-spaces (#226) via @MartinP7r - Remove some of the SwiftLint generated warnings (#229) via @MartinP7r
 - Remove unneeded parameter 
key(#225) via @MartinP7r 
0.13.0
This release adds two new features and a bugfix.
Namely:
removeWhitespaceElementsboolean flag onXMLDecoderallows removing elements that have purely whitespace content.convertFromUppercasecase onKeyDecodingStrategyallows convertingALL_CAPS_SNAKE_CASEtocamelCase.- an edge case in intrinsic key value decoding has been fixed.
 
Many thanks to (in alphabetical order) @huwr, @kneekey23, and @wooj2 for their contributions!
Closed issues:
Merged pull requests:
0.12.0
This release adds a few new features:
- New 
charactersEscapedInAttributesandcharactersEscapedInElementsproperties onXMLEncoderthat allow customizing how certain characters are escaped. - You can now override the implementation of 
TopLevelEncoderCombine protocol conformance when subclassingXMLEncoder. - New 
prettyPrintIndentationproperty onXMLEncoder, which can takeXMLEncoder.PrettyPrintIndentationvalues such as.tabs(1)or.spaces(2). 
Thanks to Kenta Kubo for the contribution!
Closed issues:
- How to decode 
<itunes:episode>tags (#201) - Fail to build in Xcode 12 beta (#196)
 - Changing the root node name ? (#191)
 - " in XML element may not always be escaping (#187)
 
in XML attributes (#185)- " and 
"are not decoded equally (#184) - Use 2 spaces instead of 4 when .prettyPrinted (#183)
 - (Help using) How to decode this XML? (#180)
 
Merged pull requests:
- Test 
DynamicNodeEncodingfor root elements (#195) via @MaxDesiatov - Make character escaping customizable in 
XMLEncoder(#188) via @MaxDesiatov - Add 
prettyPrintIndentationproperty onXMLEncoder(#186) via @MaxDesiatov - Make 
TopLevelEncoderimplementation overridable (#182) via @kkk669 
0.11.1
This release fixes an issue, where non-string values used CDATA encoding. Thanks to @ksoftllc for reporting it!
Closed issues:
- Non-string values are being encoded as CData when stringEncodingStrategy = .cdata (#178)
 - How to encode as an empty element (#177)
 
Merged pull requests:
- Encode only strings as CDATA (#179) @MaxDesiatov
 
0.11.0
This is a bugfix and feature release, which fixes an issue with CDATA decoding and adds TopLevelEncoder conformance to XMLEncoder. New rootAttributes argument has been added to the encode function on XMLEncoder that allows adding attributes on root elements without adding them to your model types. Thanks to @portellaa, @Kirow and others for their contributions and bug reports!
Closed issues:
- CDATA Decoding not working (#168)
 - Decode special XML Structure (#156)
 - Root level attributes don't get encoded back to attribute when converting back to XML file from Plist (#127)
 - Bad access error when running on device (#100)
 
Merged pull requests:
- Add TopLevelEncoder implementation (#175) via @MaxDesiatov
 - Add support for root attributes propagation (#160) via @portellaa
 - Fix RJITest RSS encoding and decoding (#171) via @MaxDesiatov
 - Cleanup tests, support OpenCombine (#169) via @MaxDesiatov
 - Fix CDATA issue (#170) via @MaxDesiatov