Skip to content

Releases: pointfreeco/swift-case-paths

1.2.3

01 Feb 01:50
e072139
Compare
Choose a tag to compare

What's Changed

  • Fixed: Cases holding optionals are no longer automatically flattened outside of contexts that should flatten them (#147).
  • Fixed: Partial case paths no longer fail to embed non-optional values in cases that hold optionals (#147).
  • Fixed: Non-partial case paths no longer allow partial embeds (#147).
  • Infrastructure: Upgrade CI to use M1 runners (#146)

Full Changelog: 1.2.2...1.2.3

1.2.2

30 Jan 18:18
8cc3bc0
Compare
Choose a tag to compare

What's Changed

  • Fixed: PartialCaseKeyPath.callAsFunction no longer fails to embed values that are already wrapped in Any (#145).

Full Changelog: 1.2.1...1.2.2

1.2.1

10 Jan 21:55
76d7791
Compare
Choose a tag to compare

What's Changed

  • Fixed: Addressed a regression in which Enum.optionalCase(nil).is(\.optionalCase) would return false due to optional promotion introduced in 1.2.0 (thanks @Ryu0118, #142).

New Contributors

Full Changelog: 1.2.0...1.2.1

1.2.0

08 Jan 19:25
6c533b1
Compare
Choose a tag to compare

What's Changed

  • Added: Optional case path enhancements for flattening some cases (#139; #140; #141).
  • Performance: Improve performance of case pathable dynamic member lookup (#137).
  • Infrastructure: Updated benchmarks (#138).

Full Changelog: 1.1.3...1.2.0

1.1.3

13 Dec 19:19
bba1111
Compare
Choose a tag to compare

What's Changed

  • Fixed: CasePathable.is can now accept partial case key paths (thanks @lukeredpath, #134).

New Contributors

Full Changelog: 1.1.2...1.1.3

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