Skip to content

Releases: pointfreeco/swift-case-paths

0.14.0

07 Mar 21:35
Compare
Choose a tag to compare

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

24 Feb 17:32
f623901
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.12.0...0.13.0

0.12.0

16 Feb 16:16
Compare
Choose a tag to compare

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

30 Dec 20:51
c3a42e8
Compare
Choose a tag to compare

What's Changed

  • Add XCTUnwrap(_:case:) test helper. #95

Full Changelog: 0.10.1...0.11.0

0.10.1

25 Oct 02:52
bb43642
Compare
Choose a tag to compare

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

13 Oct 21:51
15bba50
Compare
Choose a tag to compare

What's Changed

  • Added: CasePath now conforms to Sendable (#90). Locking has been added around embed/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

12 Sep 14:37
7346701
Compare
Choose a tag to compare

Fixed: The swift-case-paths package no longer publicly vends its internal schemes.

0.9.1

13 Jul 14:31
a098393
Compare
Choose a tag to compare
  • Fixed: The CasePath.init overloads introduced in 0.9.0 now support the same implicit optional promotion behavior of /.

0.9.0

10 Jun 18:27
b4a8729
Compare
Choose a tag to compare
  • 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

22 Apr 16:15
ce9c0d8
Compare
Choose a tag to compare
  • Bug fix: A Linux bug that could prevent multiple associated values from being extracted has been fixed.