1.1.0-alpha
Pre-release
Pre-release
Version 1.1.0-alpha
Major improvements in coroutines testing and debugging
- New module:
kotlinx-coroutines-debug. Debug agent that improves coroutines stacktraces, allows to print all active coroutines and its hierarchies and can be installed as Java agent. - New module:
kotlinx-coroutines-test. Allows setting arbitraryDispatchers.Mainimplementation for tests (#810). - Stacktrace recovery mechanism. Exceptions from coroutines are recovered from current coroutine stacktraces to simplify exception diagnostic. Enabled in debug mode, controlled by
kotlinx.coroutines.debugsystem property (#493).
Other improvements
MainScopefactory andCoroutineScope.cancelextension (#829). One lineCoroutineScopeintegration!CancellableContinuationrace betweenresumeWithExceptionandcancelis addressed, exceptions during cancellation are no longer reported to exception handler (#830, #892).Dispatchers.Defaultnow consumes much less CPU on JVM (#840).- Better diagnostic and fast failure if an uninitialized dispatcher is used (#880).
- Conflated channel becomes linearizable.
- Fixed inconsistent coroutin es state when the result of the coroutine had type
DisposableHandle(#835). - Fixed
JavaFxinitialization bug (#816). TimeoutCancellationExceptionis thrown bywithTimeoutinstead ofCancellationExceptionif negative timeout is supplied (#870).- Kotlin/Native single-threaded workers support: coroutines can be safely used in multiple independent K/N workers.
- jsdom support in
Dispatchers.Defaulton JS. - rxFlowable generic parameter is now restricted with Any.
- Guava 27 support in
kotlinx-coroutines-guava. - Coroutines are now built with progressive mode.
- Various fixes in the documentation.