Releases: pointfreeco/swift-case-paths
Releases · pointfreeco/swift-case-paths
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
0.10.0
What's Changed
- Added:
CasePath
now conforms toSendable
(#90). Locking has been added aroundembed
/extract
functions, which should help avoid some data races without much overhead. If you notice any issues with the upgrade, please let us know! - Added:
CasePath.some
, for unwrapping optionals via.some
or/.some
instead of/Optional.some
(#91).
Full Changelog: 0.9.2...0.10.0
0.9.2
Fixed: The swift-case-paths package no longer publicly vends its internal schemes.
0.9.1
- Fixed: The
CasePath.init
overloads introduced in 0.9.0 now support the same implicit optional promotion behavior of/
.
0.9.0
- Added:
CasePath.init(Enum.case)
alternative to/Enum.case
. Xcode 14 beta 1 puts projects using Case Paths in a very broken state right now. This initializer is a workaround that can be used, instead, to avoid breaking things like syntax highlighting and file-wide indentation. - Fixed: case path composition operator associativity should now behave as expected (thanks @nonameplum).
0.8.1
- Bug fix: A Linux bug that could prevent multiple associated values from being extracted has been fixed.