Releases: pointfreeco/swift-nonempty
Releases · pointfreeco/swift-nonempty
0.5.0
What's Changed
- Added: Conformances to
ExpressibleByArrayLiteralandExpressibleByDictionaryLiteral(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
- @john-flanagan made their first contribution in #47
- @fwcd made their first contribution in #49
- @ohwhen made their first contribution in #54
- @tgrapperon made their first contribution in #52
Full Changelog: 0.4.0...0.5.0
0.4.0
- Bug fixed:
NonEmptynow 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:
NonEmptyno longer conditionally conforms toStringProtocol. 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
- Fixed:
+operator between twoNonEmptys was ambiguous (thanks @buscarini).
0.3.0
- Changed:
NonEmptynow wraps a base collection rather than a single element and collection as separate fields. This improves the performance and reliability of working withNonEmptycollections. 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
NonEmptytoswift-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
0.2.1
Swift 5
This release brings Swift 5 support, including an optimization around the mutation of non-empty collections!
Swift 4.2 Linux Edition
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
This release updates NonEmpty to be compatible with Swift 4.2's randomness APIs.
Announcing NonEmpty!
This preliminary release has the basic NonEmpty type implemented with a few starting conformances to common Swift protocols.