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.
- updated project settings using Xcode 14
- raised deployment target to iOS 11
- fixed deprecations and warnings
Xcode 13 & Swift 5.5
2 years ago
## 1.7.1
- added public initializers to loggers
- made decodable and encodable extensions backward compatible with older versions of swift
## 1.7.0
- updated for Swift 5.5 using Xcode 13.0 Beta 1
- cleaned up the project from explicit usage of self and return when possible in order to match latest style guidelines
- added Logger protocol used to log error messages from Codable extensions and utilities when the Error is ignored and replaced with Optional result. The following implementations are provided:
- DefaultLogger `.default` - prints to console
- NoneLogger `.none` - ignores the error message
- AnyLogger `.any(_:)` - creates a logger with a closure
Xcode 13 & Swift 5.5
2 years ago
- updated for Swift 5.5 using Xcode 13.0 Beta 1
- cleaned up the project from explicit usage of self and return when possible in order to match latest style guidelines
- added Logger protocol used to log error messages from Codable extensions and utilities when the Error is ignored and replaced with Optional result. The following implementations are provided:
- DefaultLogger `.default` - prints to console
- NoneLogger `.none` - ignores the error message
- AnyLogger `.any(_:)` - creates a logger with a closure
ISO8601FormatterProvider
2 years ago
- ISO8601Formatted
- added support for specifying ISO8601FormatterProvider that can statically resolve formatter for a ISO8601Formattable value - this was needed in order to be able to decode values using the @ISO8601FormatterProvider property wrapper with a custom formatter
- deprecated the usage of formatter property and related constructors in favor of ISO8601FormatterProvider
- added ISO8601FormatterProvider - used to specify custom formatter for ISO8601Formattable values
- added convenience init to ISO8601DateFormatter
ISO8601Formatted: Hashable
3 years ago
- ISO8601Formatted - now conforms to Hashable when the wrapped value is Hashable
LossyDecoded: Hashable, Equatable
3 years ago
- LossyDecoded - now conforms to Hashable and Equatable when the wrapped type conforms to Hashable and Equatable
Lossy Decoding
3 years ago
- added `LossyDecodable` protocol - used to make conforming types as lossy when decoded
- `Array` - discards any elements that cannot be decoded
- `Set` - discards any elements that cannot be decoded
- `Dictionary` - discards any values that cannot be decoded
- `Optional` - defaults to `nil` if cannot be decoded
- added `LossyDecoded` property wrapper - used to tag LossyDecodable properties in models and make the lossy decodable magic works
- renamed `decodeArray` functions on decoding containers to `decodeLossyArray`
- deprecated `decodeArray` on decoding containers in favor of `LossyDecoded ` property wraper
- added ISO8601Formattable protocol and ISO8601Formatted property wrapper that can be used to tag dates as ISO8601 when encoding and decoding
- added extension to Codable that allows reading from and writing to file with support for fragments prior iOS 13
- added extension to URLComponents that provides the pathComponents of the URL
- updated for Xcode 12
- raised iOS deployment target to 9.0
- updated swift package manager tools version to 5.3
Swift Package Manager & Xcode 11
4 years ago
- added support for Swift Package Manager
- updated using Xcode 11 GM