Skip to content

Releases: pointfreeco/swift-dependencies

0.5.1

30 May 15:47
de1a984
Compare
Choose a tag to compare

What's Changed

  • Fixed: withMainSerialExecutor's concurrency warnings have been addressed (#94).

Full Changelog: 0.5.0...0.5.1

0.5.0

11 May 20:40
25c9b67
Compare
Choose a tag to compare

What's Changed

  • Added: SwiftWasm support.
  • Changed: Async[Throwing]Stream.streamWithContinuation has been renamed to Async[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

01 May 21:58
ad0a6a0
Compare
Choose a tag to compare

What's Changed

  • Changed: Both continuousClock and suspendingClock 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

Full Changelog: 0.4.1...0.4.2

0.4.1

14 Apr 21:29
98650d8
Compare
Choose a tag to compare

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

13 Apr 20:33
6158334
Compare
Choose a tag to compare

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

Full Changelog: 0.3.0...0.4.0

0.3.0

10 Apr 22:41
0f34848
Compare
Choose a tag to compare

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 its Value associated type to be Sendable in Swift >=5.7.1 (thanks @adriansergheev, #68).

New Contributors

Full Changelog: 0.2.0...0.3.0

0.2.0

07 Mar 21:49
Compare
Choose a tag to compare

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 the liveValue (#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

19 Jan 18:48
8282b0c
Compare
Choose a tag to compare

What's Changed

  • Fixed: Dependency values returning optionals no longer return nil instead of their default values (thanks @pyrtsa, #29).
  • Fixed: If liveValue and previewValue are defined, a default testValue implementation will now properly invoke the previewValue and not the liveValue (#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

11 Jan 19:30
7a094fc
Compare
Choose a tag to compare

What's Changed

  • Fixed: Don't setup observers in non-test contexts #14

Full Changelog: 0.1.2...0.1.3

0.1.2

10 Jan 17:38
e9e82b5
Compare
Choose a tag to compare

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

Full Changelog: 0.1.1...0.1.2