Releases: cashapp/turbine
Releases Β· cashapp/turbine
1.2.0
1.1.0
Changed
- Add
wasmJs
target, removeiosArm32
andwatchosX86
targets. - Throw unconsumed events if scope is externally canceled.
1.0.0
Added
- Add
turbineScope
DSL function which is now required for usingtestIn
. This ensures that exceptions which occur within the test are no longer potentially lost.
Changed
- Failed
Turbine
s which occur while testing aFlow
(usingtest { }
) will now have their failures eagerly reported. - Build with Kotlin 1.8.22 and kotlinx.coroutines 1.7.1. Note: Future releases will not highlight the Kotlin or coroutines version unless important for some other reason.
0.13.0
Added
- New Kotlin/Native targets:
androidNativeArm32
androidNativeArm64
androidNativeX86
androidNativeX64
linuxArm64
watchosDeviceArm64
Changed
- Build with Kotlin 1.8.21
Note: This version has a transitive dependency on kotlinx.coroutines 1.7.0. If you are an Android user, you should be depending on kotlinx.coroutines 1.7.1 which graciously fixes a binary incompatibility with a Compose testing artifact (because they failed to heed its opt-in annotation which indicated that it was not a stable API).
0.12.3
Fixed
- Ensure JVM classes target Java 8 rather than implicitly using the build JDK version.
0.12.2
Changed
- The default wall-clock timeout used to wait for an event has been increased from 1s to 3s.
Fixed
- The exception thrown when no events have been received now includes the original timeout exception as its cause. This ensures the stacktrace contains the caller file and line information.
- Ensure
expectNoEvents()
fails if a completion or exception event occurred. - Differentiate timeout and cancellation exceptions thrown from Turbine's own event timeout (which are thrown) from those which occur within the flow under test (which are available via
awaitError()
).
0.12.1
Changed
- Build with Kotlin 1.7.20
Fixed
takeItem()
no longer throws an exception when returning anull
value.await
-prefixed methods no longer interfere with virtual time control from aTestScheduler
(such as insiderunTest
).
0.12.0
Added
- Support specifying a human-readable name for differentiating the failures of multiple Turbines
Fixed
- Properly catch all
Throwable
subtypes from failures in flows and channels as events.
0.11.0
Added
- Restore timeout support. By default a 1-second timeout will be enforced when awaiting an event. This can be customized by supplying a
timeout
argument or by using thewithTurbineTimeout
wrapper function. Timeouts will always use wall clock time even when using a virtual time dispatcher.
Changed
- When
runTest
(or anyTestCoroutineScheduler
) is in use, switch to theUnconfinedTestScheduler
internally to ensure virtual time remains working.
0.10.0
Changed
- Remove
ReceiveTurbine.ignoreRemainingEvents
from public API.
Fixed
- Restore usage of
Unconfined
dispatcher preventing value conflation (as much as possible) so that intermediate values can always be observed.