Skip to content

Releases: drmohundro/SWXMLHash

Release 8.1.0 - Add parent property to XMLElement

27 Sep 19:59
6ae7b83
Compare
Choose a tag to compare

Released on 2024-09-27.

Added the parent property to XMLElement (via #278 which closes #277)

8.0.0 - Full support for Swift 6

18 Sep 01:53
615f044
Compare
Choose a tag to compare

Released on 2024-09-17.

Most of this release was actually changing to swift-testing which doesn't impact the calling code at all; however, as part of #281, we noticed that some of the errors weren't marked with Sendable and thus couldn't be handled in swift-testing.

I did remove deprecated code (all methods that had been renamed years ago).

Note that as CocoaPods has gone into maintenance mode, I haven't yet created an 8.0 CocoaPods release. If there is enough interest, though, I can consider it. I suspect that most people who are using Swift 6 are also on Swift Package Manager.

7.0.0 - Rename deserialization protocols for clarity, improve usability of error types, etc.

07 May 01:04
Compare
Choose a tag to compare

Renaming XMLIndexerDeserializable protocol and Adding XMLValueDeserialization protocol

I renamed XMLIndexerDeserializable to be XMLObjectDeserialization - its purpose is to deserialize object structures like classes or structs. So, multiple values. Then, there is a new protocol named XMLValueDeserialization - it serves the purpose of both XMLElementDeserializable and XMLAttributeDeserializable. It is only used for custom value deserialization. I hope this will clarify the usage a lot. It makes sense to me anyway!

This should cover the use case at #148.

Usability of Errors

Multiple times when helping people, I'd notice that the nodeIsInvalid error would get thrown, but the error message was just about impossible to determine what was wrong. The code had implemented CustomStringConvertible but everyone was using localizedDescription. Now, errors implement LocalizedError, too, so it is a lot more obvious to see the elements that had caused issues.

Code Reorganization

The code had all been lumped into two Swift files since the beginning. It was unwieldy then, but it has just gotten worse. So I gave in and broke them all out into their own files by type. Much better.

6.0.0 - Rename main class from SWXMLHash to XMLHash

29 Sep 01:46
Compare
Choose a tag to compare

Released on 2021-09-28.

  • Rename main class from SWXMLHash to XMLHash so that the module name (i.e. SWXMLHash) doesn't conflict with the class name. There are a decent number of issues related to naming conflicts so hopefully this will avoid them. Fixes #242, see also links on PR #246 where other similar issues are documented.

Official/full Swift 5.1 compatibility

29 Aug 02:49
3d020ae
Compare
Choose a tag to compare

Released on 2019-08-28.

  • Added official/full Swift 5.1 compatibility (via #216)
    • Note that API compatibility hasn't changed... it is a major version upgrade to support new language features.

Added Xcode 10.2 and Swift 5.0 support

29 Mar 19:06
Compare
Choose a tag to compare

Released on 2019-03-29.

  • Added Xcode 10.2, Swift 5.0 support (via #210)

Added RawRepresentable String support

06 Mar 18:21
Compare
Choose a tag to compare

Released on 2019-03-06.

  • Added support for using String backed RawRepresentables in place of Strings for revelant APIs (via #204)

Fix - issue with subsequent lazy parsing calls

11 Dec 22:03
Compare
Choose a tag to compare

Released on 2018-12-11.

  • Fix issue with lazy parsing and multiple calls (via #204 and #203)

Fix - cast warning with Swift 4.2 on Linux

26 Nov 15:11
Compare
Choose a tag to compare

Released on 2018-11-26.

  • Fix cast warning with Swift 4.2 on Linux (via #201)

Changed - Added swift_version to podspec

26 Nov 15:11
Compare
Choose a tag to compare

Released on 2018-10-15.

  • Add swift_version to SWXMLHash.podspec (via #198)