All Versions
17
Latest Version
Avg Release Cycle
34 days
Latest Release
305 days ago

Changelog History
Page 1

  • v0.11.1

    May 03, 2020

    πŸš€ 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:

  • v0.11.0

    April 13, 2020

    πŸ›  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:

  • v0.10.0

    April 04, 2020

    πŸ›  This is a bugfix release, which improves encoding and decoding of enums with associated values πŸš€ (also known as "choice coding") with the XMLChoiceCodingKey protocol. This release is also 🐧 tested on Xcode 11.4 and Swift 5.2.1 on Linux. A few breaking changes were introduced, which were needed to simplify and improve internals of the library. Please refer to the corresponding section below for more details. Thanks to @bwetherfield and @ultramiraculous for their contributions!

    πŸ’₯ Breaking changes:

    This change was needed to accommodate for multiple edges cases with how arrays of empty elements and empty strings are decoded.

    The value intrinsic now only accepts the empty string key "", as the previous "value" key caused naming collisions with attributes and elemenents that had the same name.

    Closed issues:

    • Bundle identifier in wrong format (#164)
    • Can inheritance be implemented? (#159)
    • EXC_BAD_ACCESS when running tests (#153)
    • EXC_BAD_ACCESS on XCode 11.2 and iOS13.2 (#150)
    • Date formatting on 24h region with display set to 12h (#148)
    • Decoding containers with (potentially)-empty elements (#123)

    πŸ”€ Merged pull requests:

  • v0.9.0

    October 19, 2019

    πŸš€ This release fixes a few bugs with Float type parsing and Swift 5.1 support on 🐧 Linux. It also adds a helper extension to improve compatibility with Combine and βž• adds a few tests to confirm that a few edges cases are working well. Thanks to @bwetherfield, @DJBen, @jsbean, @mxcl, @marcblanchet and @sharplet for bug reports and pull requests!

    Implemented enhancements:

    • Conditionally conform to Combine.TopLevelDecoder #132 (sharplet)

    πŸ›  Fixed bugs:

    • Value with copyright symbol Β© has its preceding whitespace trimmed off even trimValueWhitespaces is set to false #141
    • πŸ“œ Float vs Float64=Double not parsing 3.14 #130

    Closed issues:

    • TrackPoint position parameter is ignored #125
    • TCX file need an XML root node #124
    • [Swift 5.1] Import FoundationXML rather than Foundation #121

    πŸ”€ Merged pull requests:

  • v0.8.0

    August 04, 2019

    πŸš€ This release adds support for decoding and encoding ordered sequences of different elements as enums with associated values. In addition, XMLCoder now πŸ‘Œ supports Linux. Many thanks to @jsbean, @bwetherfield and @drewag for implementing this!

    πŸ’₯ Breaking changes:

    • πŸ›  Fixed typo in XMLDecoder property: errorContextLenght has been renamed to errorContextLength in #114.

    Closed issues:

    • XML with autoclosed tags #116
    • Arrays of enums #91
    • Array of enums with associated values #25

    πŸ”€ Merged pull requests:

    • Decoding choice elements that can hold empty structs #120 (@bwetherfield)
    • πŸ‘ Encodable and Decodable support for choice elements #119 (@jsbean)
    • βž• Add Linux support #117 (@drewag)
    • πŸ›  Fix typo: errorContextLenght -> errorContextLength #114 (@jsbean)
  • v0.7.0

    July 02, 2019

    πŸš€ This release changes the behavior of attributes coding: now order of XML attributes is fully preserved. One of the benefits is that it improves unit βœ… testing for users of XMLCoder, which allows testing against specific encoded attributes without accounting for their randomized order. Also a small coding πŸ’… style fix is included. In addition, XMLCoder now uses Azure Pipelines instead of πŸ‘· Travis for CI with great improvements to overall CI stability, speed, and πŸ— parallel builds. Thanks to AndrΓ©s Cecilia Luque and Jay Hickey for the contributions!

    πŸ”€ Merged pull requests:

  • v0.6.0

    June 17, 2019

    πŸš€ An improvement release that introduces convertFromKebabCase and convertToKebabCase key decoding strategies. There were a few changes that aren't visible to end-users: the way that keys and values are stored internally βœ… has changed and a few more tests added. Thanks to AndrΓ©s Cecilia Luque and Vincent Esche for the contributions!

    πŸ”€ Merged pull requests:

    • βž• Add support for kebab-case KeyDecodingStrategy #105 (@acecilia)
    • Replace UnkeyedBox with Array, refine KeyedStorage #102 (@MaxDesiatov)
    • βž• Add tests for nested keyed/unkeyed collections #38 (@regexident)
  • v0.5.1

    May 02, 2019

    πŸ›  Bugfix release that restores decoding of empty sequences, which became broken in 0.5.0.

    πŸ”€ Merged pull requests:

  • v0.5.0

    May 02, 2019

    πŸš€ A small improvement release tagged early to resolve blocking issues in CoreXLSX.

    Notable changes:

    • Empty value strings are no longer decoded as nil when a String is expected, but are decoded as empty strings, which represents the actual value.
    • trimValueWhitespaces property was added on XMLDecoder, which allows overriding the default behaviour, where starting and trailing whitespaces are trimmed from string values.

    Closed issues:

    • Trimmed whitespace on decoding String #94

    πŸ”€ Merged pull requests:

    • πŸ›  Fixed a bug when decoding a key with one character only #96 (@TheFlow95)
    • βž• Add more cases to AttributedIntrinsicTest #95 (@MaxDesiatov)
    • πŸ‘‰ Use map instead of mapValues/shuffle in XMLCoderElement.flatten #93 (@jsbean)
    • πŸ›  Fix decoding empty element as optional #92 (@MaxDesiatov)
  • v0.4.1

    April 12, 2019

    πŸ›  A bugfix release removing unused Xcode project scheme to improve build time for Carthage users.

    Notable changes:

    • βœ‚ Remove unused scheme in Xcode project (@MaxDesiatov)