Skip to content

Releases: pointfreeco/swift-case-paths

1.1.2

05 Dec 21:47
Compare
Choose a tag to compare

What's Changed

  • Fixed: @CasePathable now works with enums that have cases wrapped in #if statements (thanks @AndrewVebster, #133).

New Contributors

Full Changelog: 1.1.1...1.1.2

1.1.1

15 Nov 18:22
ed7facd
Compare
Choose a tag to compare

What's Changed

  • Fixed: @CasePathable support for enums with the package 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

12 Nov 18:59
40773cb
Compare
Choose a tag to compare

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

Full Changelog: 1.0.0...1.1.0

1.0.0

30 Jul 18:20
Compare
Choose a tag to compare
  • 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

03 Apr 22:05
fc45e7b
Compare
Choose a tag to compare

What's Changed

  • Improved: Better failure messaging for XCTModify and XCTUnwrap (#105, #109).
  • Infrastructure: Update documentation to DocC (#104).

Full Changelog: 0.14.0...0.14.1

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