Releases: pointfreeco/swift-case-paths
Releases · pointfreeco/swift-case-paths
1.1.2
What's Changed
- Fixed:
@CasePathable
now works with enums that have cases wrapped in#if
statements (thanks @AndrewVebster, #133).
New Contributors
- @AndrewVebster made their first contribution in #133
Full Changelog: 1.1.1...1.1.2
1.1.1
What's Changed
- Fixed:
@CasePathable
support for enums with thepackage
access level (thanks @nnsnodnb, #128). - Fixed:
@CasePathable
support for enums with wildcard arguments (thanks @hj56775, #130). - Infrastructure: Fix swift-format CI (#123).
- Infrastructure: Disable Windows CI for release (#124).
- Infrastructure: Link to Swift Package Index documentation (#125)
New Contributors
Full Changelog: 1.1.0...1.1.1
1.1.0
What's Changed
- Added: The
@CasePathable
macro and case key paths. The@CasePathable
macro automatically generates bona fide key paths for an enum's cases. They are equatable, hashable, and can be used in dynamic member lookup and more. For more information, see the documentation and migration guide. - Deprecated: The older, reflection-based style of case path (
/SomeEnum.someCase
) has been soft-deprecated in favor of case key paths (\SomeEnum.Cases.someCase
). They will be hard-deprecated in a future release, so migrate today to avoid the warnings of the future. - Infrastructure: Added Windows CI (thanks @brianmichel, #116).
- Infrastructure: Fixed documentation note of non-void
/
operators (thanks @mrackwitz, #118) - Fixed: Scope workaround for Swift <5.8 reflection bug (thanks @kodok1988, #120).
New Contributors
- @brianmichel made their first contribution in #116
- @mrackwitz made their first contribution in #118
- @kodok1988 made their first contribution in #120
Full Changelog: 1.0.0...1.1.0
1.0.0
- Added: First "stable" release. Case Paths contains APIs extracted from the Composable Architecture's suite of tools, which is now considered stable. This 1.0 release will introduce a more strict adherence to semantic versioning.
Full Changelog: 0.14.1...1.0.0
0.14.1
What's Changed
- Improved: Better failure messaging for
XCTModify
andXCTUnwrap
(#105, #109). - Infrastructure: Update documentation to DocC (#104).
Full Changelog: 0.14.0...0.14.1
0.14.0
What's Changed
- Added: A new
@_spi(Reflection)
API for projecting into any enum value (#103). - Fixed:
CasePath
's reflection mechanism for extracting values has been rewritten to use the aforementioned API, fixing existing bugs with extraction around compound associated values containing existentials. If you encounter any regressions with this upgrade, please let us know!
Full Changelog: 0.13.0...0.14.0
0.13.0
What's Changed
- Introducing XCTModify by @mbrandonw in #101
- Task local to opt out of XCTModify exhaustivity. by @mbrandonw in #102
Full Changelog: 0.12.0...0.13.0
0.12.0
What's Changed
- Added: A collection of enum metadata reflection APIs are now exposed via
@_spi(Reflection)
(#99). These APIs are experimental and subject to change, but can be used to inspect enum metadata, like the "tag" or associated type of a particular enum case.
Full Changelog: 0.11.0...0.12.0
0.11.0
0.10.1
What's Changed
- Fixed: Added a workaround for a Swift bug in which single payload enums may not be extracted in release builds (#94).
Full Changelog: 0.10.0...0.10.1