:mega: :mega: :mega: `kotlinx.coroutines` version ...
# coroutines
v
📣 📣 📣
kotlinx.coroutines
version 1.1.0 is here! Changelog (compared to 1.1.0-alpha): * Kotlin updated to 1.3.11. * Resumes of
CancellableContinuation
in the final state now produce
IllegalStateException
. This change does not affect previous
CancellableContinuation
improvement, races between resume and cancellation do not lead to exceptional situation. *
runBlocking
is integrated with
Dispatchers.Unconfined
. Now nested
runBlocking
and unconfined calls do not hang, but share the same event loop.
🎉 16
K 4
🎁 2
K 8
⏸️ 14
❤️ 3
🎄 2
🍾 2
🚟 3
p
1.1.0 has regressed several libraries by breaking referential equality for all Throwables. This is a desirable property as general exceptions don’t have other source of equality other than their messages, leading to stringly typed checks and very unsafe APIs. Is this change still in flow, could it be improved or replaced with a more sensible solution?
v
Referential equality is “broken” only in debug mode. You can disable stacktrace recovery by setting system property
kotlinx.coroutines.stacktrace.recovery
to
false
and use debug mode as before. It would be nice if you created an issue on github with a short explanation why you need reference equality for exceptions and which libraries are broken. In that case, we could discuss more granular solution (e.g. we have internal
NonRecoverableThrowable
interface) and maybe even test against these libraries before release.