Releases: CoreOffice/XMLCoder
0.17.1
0.17.0
What's Changed
- Adds
.noEmptyElements
option 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
PropertyWrappersTest
by @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
isAllWhitespace
implementation 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
AnySequence
publicXMLDecodableSequence
by @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
trimValueWhitespaces
removing 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:
removeWhitespaceElements
boolean flag onXMLDecoder
allows removing elements that have purely whitespace content.convertFromUppercase
case onKeyDecodingStrategy
allows convertingALL_CAPS_SNAKE_CASE
tocamelCase
.- 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
charactersEscapedInAttributes
andcharactersEscapedInElements
properties onXMLEncoder
that allow customizing how certain characters are escaped. - You can now override the implementation of
TopLevelEncoder
Combine protocol conformance when subclassingXMLEncoder
. - New
prettyPrintIndentation
property onXMLEncoder
, which can takeXMLEncoder.PrettyPrintIndentation
values 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
DynamicNodeEncoding
for root elements (#195) via @MaxDesiatov - Make character escaping customizable in
XMLEncoder
(#188) via @MaxDesiatov - Add
prettyPrintIndentation
property onXMLEncoder
(#186) via @MaxDesiatov - Make
TopLevelEncoder
implementation 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