Releases: pointfreeco/swift-dependencies
Releases · pointfreeco/swift-dependencies
0.5.1
What's Changed
- Fixed:
withMainSerialExecutor
's concurrency warnings have been addressed (#94).
Full Changelog: 0.5.0...0.5.1
0.5.0
What's Changed
- Added: SwiftWasm support.
- Changed:
Async[Throwing]Stream.streamWithContinuation
has been renamed toAsync[ThrowingStream].makeStream
as a drop-in back-port of SE-0388 (#92). - Fixed: Windows support has been restored (#91).
- Infrastructure: CI updates (#91).
Full Changelog: 0.4.2...0.5.0
0.4.2
What's Changed
- Changed: Both
continuousClock
andsuspendingClock
test values have been changed from failing immediate clocks to failing live clocks (#89). While this is a behavioral change, it should only affect failing test suites. It should also make analyzing failure easier/less noisy, since code will behave as it would in live applications, and timers won't immediately emit many failures. - Fixed: re-introduce SPI-gated
withMainSerialExecutor
(thanks @kabiroberai, #84).
New Contributors
- @kabiroberai made their first contribution in #84
Full Changelog: 0.4.1...0.4.2
0.4.1
What's Changed
- Reverted: The SPI-gated
withMainSerialExecutor
introduced in 0.4.0 (#81) has been reverted (#83). It had a downstream effect due to an Xcode bug that prevents projects from building unit tests that link against apps that depend on swift-dependencies. See #83 for more information on the bug. - Infrastructure: Simplified CI for static standard library linking (thanks @finestructure, #82).
Full Changelog: 0.4.0...0.4.1
0.4.0
What's Changed
-
Added: A
withMainSerialExecutor
test helper for executing a block of async code serially on the main executor (#81). This code is gated by@_spi(Concurrency)
:@_spi(Concurrency) import Dependencies await withMainSerialExecutor { // code in here will run predictably/serially }
-
Fixed: Dependencies can now be statically linked to the Swift standard library (thanks @finestructure, #80).
New Contributors
- @finestructure made their first contribution in #80
Full Changelog: 0.3.0...0.4.0
0.3.0
What's Changed
- Added: A
UUID.init(_ intValue:)
helper for more easily testing with incrementing UUIDs (#69). - Changed:
@Dependency
's wrapped value is now computed by completely overriding the current dependency values with a version that merges the initial values of the wrapper (thanks @iampatbrown, #71). This helps propagate dependencies further, especially when dependencies hold onto their own dependencies via the@Dependency
property wrapper. - Changed: A debug task local will now be compiled out of release mode, making dependency access slightly faster (#62).
- Changed:
TestDependencyKey
now constrains itsValue
associated type to beSendable
in Swift >=5.7.1 (thanks @adriansergheev, #68).
New Contributors
- @adriansergheev made their first contribution in #68
- @iampatbrown made their first contribution in #71
Full Changelog: 0.2.0...0.3.0
0.2.0
What's Changed
- Added: The dependency context (live, test, preview) can now be specified with an environment variable (#60).
- Changed: Fire-and-forget's
testValue
no longer participates in cooperative cancellation, making it behave more like theliveValue
(#59). - Infrastructure: Added Testing article to documentation (#33).
- Infrastructure: Fixed typo in documentation (thanks @karlis, #35).
- Infrastructure: Added
withEscapedDependencies
documentation (#39). - Infrastructure: Clarify that
previewValue
must be defined in interface module in documentation (#50), - Infrastructure: Add a reference to Weaver to the "Alternatives" section of README (thanks @tgrapperon, #51).
- Infrastructure: Document the issue about linking
Dependencies
in the tests target (thanks @tgrapperon, #56).
New Contributors
Full Changelog: 0.1.4...0.2.0
0.1.4
What's Changed
- Fixed: Dependency values returning optionals no longer return
nil
instead of their default values (thanks @pyrtsa, #29). - Fixed: If
liveValue
andpreviewValue
are defined, a defaulttestValue
implementation will now properly invoke thepreviewValue
and not theliveValue
(#30). - Infrastructure: Updated README with quick start usage (#24) and documentation updates (thanks @oronbz, #26, #27, #28).
New Contributors
Full Changelog: 0.1.3...0.2.0
0.1.3
0.1.2
What's Changed
- Fixed: Don't merge escaped dependencies with current task local value (thanks @tgrapperon, #11).
- Infrastructure: Documentation and README fixes and updates (thanks @tgrapperon, in #6; #8; #9).
New Contributors
- @tgrapperon made their first contribution in #6
Full Changelog: 0.1.1...0.1.2