The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
7.0.0 - Rename deserialization protocols for clarity, improve usability of error types, etc.
1 year ago
## 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 <https://github.com/drmohundro/SWXMLHash/discussions/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
2 years ago
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
4 years ago
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
4 years ago
Released on 2019-03-29.
- Added Xcode 10.2, Swift 5.0 support (via [#210](https://github.com/drmohundro/SWXMLHash/pull/210))
Added RawRepresentable String support
5 years ago
Released on 2019-03-06.
* Added support for using String backed RawRepresentables in place of Strings for revelant APIs (via [#204](https://github.com/drmohundro/SWXMLHash/pull/207))
Fix - issue with subsequent lazy parsing calls
5 years ago
Released on 2018-12-11.
* Fix issue with lazy parsing and multiple calls (via [#204](https://github.com/drmohundro/SWXMLHash/pull/204) and [#203](https://github.com/drmohundro/SWXMLHash/issues/203))
Fix - cast warning with Swift 4.2 on Linux
5 years ago
Released on 2018-11-26.
* Fix cast warning with Swift 4.2 on Linux (via [#201](https://github.com/drmohundro/SWXMLHash/pull/201))
Changed - Added swift_version to podspec
5 years ago
Released on 2018-10-15.
* Add `swift_version` to `SWXMLHash.podspec` (via [#198](https://github.com/drmohundro/SWXMLHash/pull/198))
Changed - WATCHOS_DEPLOYMENT_TARGET set to 3.0
5 years ago
Released on 2018-09-18.
* Bump `WATCHOS_DEPLOYMENT_TARGET` to `3.0` (via [#193 (https://github.com/drmohundro/SWXMLHash/pull/193))
Changed - bumped SWIFT_VERSION to 4.0
5 years ago
Released on 2018-08-04.
* Bump `SWIFT_VERSION` to `4.0` (via [#191](https://github.com/drmohundro/SWXMLHash/pull/191))