Skip to content

Releases: shareup/async-extensions

v4.4.0

09 Mar 18:11
3088474
Compare
Choose a tag to compare
  • Add AnyAsyncSequence

v4.3.0

13 Sep 16:15
7e727e3
Compare
Choose a tag to compare
  • Update to Swift 5.9
  • Add XCTestCase.serialized() and XCTestCase.yield() for easy and reliable async tests
  • Add Publisher.asyncValues to create an AsyncStream that only holds onto the most recent value

v4.2.1

07 Aug 21:38
f8dec7a
Compare
Choose a tag to compare
  • Stop waiting for timeouts to finish in XCTestCase.task.

v4.2.0

07 Aug 20:34
f9bb565
Compare
Choose a tag to compare
  • Add XCTestCase.task for spinning off tasks with timeouts directly inside of tests.
  • Rename Future to AsyncThrowingFuture and deprecate the old name.

v4.1.0

09 Apr 11:23
Compare
Choose a tag to compare
  • Add TaskStore.removeAll(where:).

v4.0.0

29 Mar 20:07
327714b
Compare
Choose a tag to compare
  • Replace Publisher.asyncValues with Publisher.allValues.

Apple’s Publisher.values, which turns a Combine Publisher into an async sequence, requests Subscribers.Demand.max(1) with every iteration of a for-loop. So, it's possible for publishers to send values to it faster than it can handle them, which means some values will be dropped. Publisher.allValues buffers all of the values it receives, which means it'll forward along everything it receives. Publisher.allValues could use a lot of memory if its values aren't worked off at about the same rate as they are produced.

v3.0.2

28 Mar 20:19
5b70f57
Compare
Choose a tag to compare
  • Add Task.yield() in AssertEqualEventually().

v3.0.1

19 Mar 14:52
Compare
Choose a tag to compare
  • Update .swiftformat

v3.0.0

18 Mar 18:30
f85b028
Compare
Choose a tag to compare
  • Remove default value for AsyncOutputStream.init(url:append:).

v2.6.0

18 Mar 00:56
2114084
Compare
Choose a tag to compare
  • Add AsyncOutputStream to allow safely streaming bytes to disk or an in-memory buffer.