Releases: pointfreeco/combine-schedulers
0.7.4
- Changed: The
TestScheduler
will now yield more time to the cooperative thread pool to better allow asynchronous work to be scheduled and picked up before assertions are run.
0.7.3
-
Fixed: Combine Schedulers no longer causes DocC builds to fail in projects that depend on Combine Schedulers. This includes the Composable Architecture and applications/libraries that depend on the Composable Architecture.
Warning: This is a breaking change that may affect your application when upgrading.
Prior to this update, Combine Schedulers automatically imported the Foundation framework alongside itself (due to an
@_exported import Foundation
declaration that was included in a file vendored from an Apple code base).Removing this has the following ramifications:
-
If you use the Composable Architecture and are pinned to a version before 0.39.1, you must also explicitly pin Combine Schedulers to 0.7.2 or lower for previous versions of the Composable Architecture to build:
.package(url: "https://github.com/pointfreeco/combine-schedulers", .exact("0.7.2")),
...or you must update to the Composable Architecture 0.39.1 or higher.
-
If your application relied on ambient access to Foundation from importing Combine Schedulers (or the Composable Architecture), you must explicitly
import Foundation
in those files after upgrading, or you must pin Combine Schedulers to 0.7.2 or lower.
-
0.7.2
What's Changed
-
Remove the SchedulerOf typealias. by @mbrandonw in #64
This is needed due to the typealias causing Xcode editor stability problems. A Swift bug has been filed here, and an Xcode feedback has been filed here.
Full Changelog: 0.7.1...0.7.2
0.7.1
- Added: Build support for non-Apple platforms. Allows libraries to depend on
CombineSchedulers
but still build for other platforms, like Linux.
0.7.0
- Added:
TestScheduler.advance(to:)
, for advancing to a specific moment in time (thanks @ytyubox). - Added: Async-friendly versions of
TestScheduler
'sadvance(by:)
,advance(to:)
, andrun()
methods, which yield time to cooperative concurrency while scheduling work. - Added: Async-friendly functions for sleeping and running timers:
Scheduler.sleep(for:)
andScheduler.timer(interval:)
.
0.6.0
- Added:
AnySchedulerOf<DispatchQueue>.global(qos:)
(thanks @iampatbrown). - Renamed:
FailingScheduler
is nowUnimplementedScheduler
. Type aliases toFailingScheduler
andfailing
statics are soft-deprecated and will become warnings in a future version of Combine Schedulers. - Infrastructure: README fix (thanks @junpluse).
0.5.3
0.5.2
- Fixed: restore platform requirements to platforms with Combine. Due to a possible but in Xcode 13, Combine Schedulers would fail to build in release mode otherwise.
- Infrastructure: fixed a README/documentation typo (thanks @kalupas226).
0.5.1
- Changed: relaxed platform dependencies to be platform independent (thanks @maximkrouk).
- Infrastructure: updated documentation.
0.5.0
- Added:
main
static helpers onAnyScheduler
for dispatch queues, operation queues, and run loops, so that you can shorten, for example,DispatchQueue.main.eraseToAnyScheduler()
to.main
in many cases. - Changed: static
immediateScheduler
helpers have been shortened toimmediate
, and new, staticimmediate
helpers have been defined directly onAnyScheduler
so that you can simply pass.immediate
to endpoints expecting anAnyScheduler
. - Changed: static
testScheduler
helpers have been shortened totest
.