XMLCoder Versions Save

Easy XML parsing using Codable protocols in Swift

0.17.1

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/CoreOffice/XMLCoder/compare/0.17.0...0.17.1

0.17.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/CoreOffice/XMLCoder/compare/0.16.0...0.17.0

0.16.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/CoreOffice/XMLCoder/compare/0.15.0...0.16.0

0.15.0

1 year ago

What's Changed

New Maintainer

Full Changelog: https://github.com/CoreOffice/XMLCoder/compare/0.14.0...0.15.0

0.14.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/CoreOffice/XMLCoder/compare/0.13.1...0.14.0

0.13.1

2 years ago

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:

0.13.0

2 years ago

This release adds two new features and a bugfix.

Namely:

  • removeWhitespaceElements boolean flag on XMLDecoder allows removing elements that have purely whitespace content.
  • convertFromUppercase case on KeyDecodingStrategy allows converting ALL_CAPS_SNAKE_CASE to camelCase.
  • 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:

  • Decoding special whitespace characters (#219)
  • Help with mix of attributes and elements (#212)

Merged pull requests:

  • Encode element with empty key, empty element, and attributes (#223) via @wooj2
  • Implement removeWhitespaceElements on XMLDecoder (#222) via @wooj2
  • Add convert from UPPERCASE decoding key strategy (#214) via @huwr

0.12.0

3 years ago

This release adds a few new features:

  • New charactersEscapedInAttributes and charactersEscapedInElements properties on XMLEncoder that allow customizing how certain characters are escaped.
  • You can now override the implementation of TopLevelEncoder Combine protocol conformance when subclassing XMLEncoder.
  • New prettyPrintIndentation property on XMLEncoder, which can take XMLEncoder.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)
  • &#10; in XML attributes (#185)
  • " and &quot; 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:

0.11.1

4 years ago

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:

0.11.0

4 years ago

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: