Skip to content

Releases: pointfreeco/swift-nonempty

0.5.0

08 Mar 19:20
Compare
Choose a tag to compare

What's Changed

  • Added: Conformances to ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral (thanks @fwcd, #49).
  • Added: Conditional conformance to Sendable (thanks @tgrapperon, #52).
  • Fixed: Codability now use single value containers (thanks @john-flanagan, #47).
  • Infrastructure: CI updates (#42); README fixes (thanks @ohwhen, #54).

New Contributors

Full Changelog: 0.4.0...0.5.0

0.4.0

10 Aug 16:48
8074e5f
Compare
Choose a tag to compare
  • Bug fixed: NonEmpty now manages its own synthesized iterator in order to avoid potential stack overflows when calling to APIs on the iterator of the collection it wraps.
  • Changed: NonEmpty no longer conditionally conforms to StringProtocol. Apple documents against this conformance, and though engineers say there should be no issue with doing so, ABI-wise, we encountered a compiler crash when fixing the bug in the previous bullet point.

0.3.1

15 Apr 00:08
a3dbd05
Compare
Choose a tag to compare
  • Fixed: + operator between two NonEmptys was ambiguous (thanks @buscarini).

0.3.0

13 Apr 19:54
81d13a7
Compare
Choose a tag to compare
  • Changed: NonEmpty now wraps a base collection rather than a single element and collection as separate fields. This improves the performance and reliability of working with NonEmpty collections. This does unfortunately mean that invariants can compile and make their way into the system at run time, but we do our best to ensure they cannot be constructed.
  • Changed: the SPM package name has been changed from NonEmpty to swift-nonempty (thanks @maximkrouk).
  • Fixed: range subscripts no longer cause runtime stack overflows (thanks @clang13).
  • Removed: CocoaPods and Carthage support has been deprecated in favor of SPM.

0.2.2

25 Feb 21:44
9ef8c4a
Compare
Choose a tag to compare
  • NonEmpty now correctly encodes and decodes structures as their more primitive collection types (#14)

0.2.1

04 Feb 02:08
2eec250
Compare
Choose a tag to compare

What's fixed:

  • Fix compiler error (#22)
  • Application extension support (#16, #18)

Swift 5

26 Mar 15:30
2051d80
Compare
Choose a tag to compare

This release brings Swift 5 support, including an optimization around the mutation of non-empty collections!

Swift 4.2 Linux Edition

13 Oct 02:31
Compare
Choose a tag to compare
Pre-release

Swift 4.2 on Linux has a regression that prevents NonEmpty from conditionally conforming to RandomAccessCollection. We're temporarily removing support for the sake of compatibility.

Randomly Ready for Swift 4.2

12 Oct 03:26
Compare
Choose a tag to compare
Pre-release

This release updates NonEmpty to be compatible with Swift 4.2's randomness APIs.

Announcing NonEmpty!

24 Jun 22:44
Compare
Choose a tag to compare
Announcing NonEmpty! Pre-release
Pre-release

This preliminary release has the basic NonEmpty type implemented with a few starting conformances to common Swift protocols.