New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 1.6.1 #3232
Version 1.6.1 #3232
Commits on Jan 10, 2022
-
Upgraded SLF4J in eponymous integration module to 1.7.32 and updated …
…deprecated Gradle dependency declarations (#3088)
-
Improve Flow documentation (#3127)
Co-authored-by: dkhalanskyjb <52952525+dkhalanskyjb@users.noreply.github.com>
Commits on Jan 11, 2022
-
Make multithreadingSupported a property with a getter (#3130)
* Make multithreadingSupported a property with a getter This change fixes an issue with the initialization order observed when lazy initialization is disabled (-Xir-property-lazy-initialization= disabled compiler flag) and the new MM is used. The problem is the following: the initialization of DefaultDelay happens before the initialization of multithreadingSupported. Thus the initialization of DefaultDelay gets an uninitialized value of multithreadingSupported and behaves as if the old MM is used. Related issue: #KT-50491.
Commits on Jan 17, 2022
-
Rollback #2972, but leave a compatibility option with 1.6.0 (#3131)
The approach from 1.6.0 has proven itself as unstable and multiple hard-to-understand bugs have been reported: * JavaFx timer doesn't really work outside the main thread * The frequent initialization pattern "runBlocking { doSomethingThatMayCallDelay() }" used on the main thread during startup now silently deadlocks * The latter issue was reported both by Android and internal JB Compose users * The provided workaround with system property completely switches off the desired behaviour that e.g. Compose may rely on, potentially introducing new sources of invalid behaviour The original benefits does not outweigh these pitfalls, so the decision is to revert this changes in the minor release Fixes #3113 Fixes #3106
-
Optimization: resizable workers array (#3137)
Instead of allocating an array of maxPoolSize (~2M) elements for the worst-case supported scenario that may never be reached in practice and takes considerable memory, allocate just an array of corePoolSize elements and grow it dynamically if needed to accommodate more workers. The data structure to make it happen must support lock-free reads for performance reasons, but it is simple since the workers array is modified exclusively under synchronization.
Commits on Jan 18, 2022
-
Update code to prepare for nullness annotations in Guava (#3026)
Leverage the fact that `FutureCallback<T>.onSuccess` can only accept `null` when `T` is `null`, to remove the unchecked casts.
-
Prevent LimitedParallelismStressTest from allocating too much memory,…
… but still keep the pattern of the load roughly the same (#3147)
Commits on Jan 19, 2022
Commits on Jan 21, 2022
Commits on Jan 24, 2022
Commits on Jan 25, 2022
Commits on Jan 27, 2022
Commits on Feb 1, 2022
-
Confine context-specific state to the thread in UndispatchedCoroutine… (
#3155) * Confine context-specific state to the thread in UndispatchedCoroutine in order to avoid state interference when the coroutine is updated concurrently. Concurrency is inevitable in this scenario: when the coroutine that has UndispatchedCoroutine as its completion suspends, we have to clear the thread context, but while we are doing so, concurrent resume of the coroutine could've happened that also ends up in save/clear/update context Fixes #2930
-
Introduce private DiagnosticCoroutineContextException and add it to t…
Commits on Feb 11, 2022
Commits on Feb 16, 2022
-
* Update Kover to 0.5.0 * Update robolectric to workaround robolectric/robolectric#5456 and then workaround all the update consequences
-
docs: Clarify MutableSharedFlow.emit/tryEmit on subscribers and overf…
…low (#3185) The details on how buffering conceptually works and what happens without subscribers are buried deep inside the SharedFlow docs. This clarification puts the important information right into the doc of emit and tryEmit methods. Co-authored-by: dkhalanskyjb <52952525+dkhalanskyjb@users.noreply.github.com>
Commits on Feb 21, 2022
Commits on Feb 24, 2022
Commits on Mar 31, 2022
-
docs: clarify section on coroutine memory consumption (#3225)
Updates the section "Coroutines are light-weight" to clarify its comparison of the resource-intensiveness of coroutines and threads. The content is much the same. This commit also makes the code sample in this section runnable and omits the surrounding runBlocking block.
-
Do not mention service loading for CoroutineExceptionHandler as it is…
… not meant to be a public mechanism (#3228)
-
Fix limitedParallelism implementation on K/N (#3226)
The initial implementation predates new memory model and was never working on it Fixes #3223
Commits on Apr 4, 2022
-
CopyableThreadContextElement implementation (#3227)
New approach eagerly copies corresponding elements to avoid accidental top-level reuse and also provides merge capability in case when an element is being overwritten. Merge capability is crucial in tracing scenarios to properly preserve the state of linked thread locals Co-authored-by: dkhalanskyjb <52952525+dkhalanskyjb@users.noreply.github.com>
-
-