This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| actions/setup-java | action | minor | v2.3.1
-> v2.5.0
|
| gradle (source) | | patch | 7.3
-> 7.3.3
|
| com.diffplug.spotless:spotless-plugin-gradle | | minor | 6.0.0
-> 6.1.0
|
| org.jetbrains.kotlin.jvm | plugin | patch | 1.6.0
-> 1.6.10
|
| org.jetbrains.kotlin:kotlin-scripting-jsr223-unshaded (source) | | patch | 1.6.0
-> 1.6.10
|
| org.jetbrains.kotlin:kotlin-gradle-plugin (source) | | patch | 1.6.0
-> 1.6.10
|
| com.javiersc.semver:semver-gradle-plugin | | patch | 0.1.0-alpha.6
-> 0.1.0-alpha.10
|
| org.jetbrains.dokka | plugin | minor | 1.5.31
-> 1.6.0
|
| org.jetbrains.dokka:dokka-gradle-plugin | | minor | 1.5.31
-> 1.6.0
|
| org.jetbrains.dokka:gfm-plugin | | minor | 1.5.31
-> 1.6.0
|
| org.jetbrains.dokka:dokka-base-test-utils | | minor | 1.5.31
-> 1.6.0
|
| org.jetbrains.dokka:dokka-test-api | | minor | 1.5.31
-> 1.6.0
|
| org.jetbrains.dokka:dokka-core | | minor | 1.5.31
-> 1.6.0
|
| org.jetbrains.dokka:dokka-base | | minor | 1.5.31
-> 1.6.0
|
| org.jetbrains.kotlinx:kotlinx-coroutines-core | | minor | 1.5.2
-> 1.6.0
|
| io.arrow-kt.arrow-gradle-config-versioning | plugin | minor | 0.5.1
-> 0.6.0
|
| io.arrow-kt.arrow-gradle-config-formatter | plugin | minor | 0.5.1
-> 0.6.0
|
| com.android.tools.build:gradle (source) | | patch | 7.0.3
-> 7.0.4
|
Release Notes
actions/setup-java
Compare Source
In scope of this pull request we add support for Microsoft Build of OpenJDK (https://github.com/actions/setup-java/pull/252).
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup-java
uses: actions/setup-java@v2
with:
distribution: microsoft
java-version: 11
Supported distributions
Currently, the following distributions are supported:
| Keyword | Distribution | Official site | License
|-|-|-|-|
| temurin
| Eclipse Temurin | Link | Link
| zulu
| Zulu OpenJDK | Link | Link |
| adopt
or adopt-hotspot
| Adopt OpenJDK Hotspot | Link | Link |
| adopt-openj9
| Adopt OpenJDK OpenJ9 | Link | Link |
| liberica
| Liberica JDK | Link | Link |
| microsoft
| Microsoft Build of OpenJDK | Link | Link
Compare Source
In scope of this pull request we add support for Liberica JDK (https://github.com/actions/setup-java/pull/225).
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup-java
uses: actions/setup-java@v2
with:
distribution: liberica
java-version: 11
Supported distributions
Currently, the following distributions are supported:
| Keyword | Distribution | Official site | License |
|-|-|-|-|
| zulu
| Zulu OpenJDK | Link | Link |
| adopt
or adopt-hotspot
| Adopt OpenJDK Hotspot | Link | Link
| adopt-openj9
| Adopt OpenJDK OpenJ9 | Link | Link
| temurin
| Eclipse Temurin | Link | Link
| liberica
| Liberica JDK | Link | Link |
Update actions/cache dependency to 1.0.8 version.
We updated actions/cache depdendency to the latest version (1.0.8). For more information please refer to the toolkit/cache.
gradle/gradle
This is a patch release for Gradle 7.3.
It fixes the following issues:
- #19360 Upgrade checks to Log4j 2.17.0
We recommend users upgrade to 7.3.3 instead of 7.3.
Given the context of the Log4Shell vulnerability, make sure you take a look at our blog post on this topic.
Upgrade Instructions
Switch your build to use Gradle 7.3.3 by updating your wrapper:
./gradlew wrapper --gradle-version=7.3.3
See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.3.3.
Reporting Problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
This is a patch release for Gradle 7.3.
It fixes the following issues:
- #19300 Mitigations for log4j vulnerability in Gradle builds
- #19257 Incremental java compilation fails when renaming classname with $ character
We recommend users upgrade to 7.3.2 instead of 7.3.
Given the context of the Log4Shell vulnerability, make sure you take a look at our blog post on this topic.
Upgrade Instructions
Switch your build to use Gradle 7.3.2 by updating your wrapper:
./gradlew wrapper --gradle-version=7.3.2
See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.3.2.
Reporting Problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
This is a patch release for Gradle 7.3.
It fixes the following issues:
- #19058 Consider reverting breaking change about test configuration
- #19067 Fix multiple annotation processing issues discovered by Micronaut
We recommend users upgrade to 7.3.1 instead of 7.3.
Upgrade Instructions
Switch your build to use Gradle 7.3.1 by updating your wrapper:
./gradlew wrapper --gradle-version=7.3.1
See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.3.1.
Reporting Problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
JetBrains/kotlin
Android
KT-49798
[MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute
Compiler
Performance Improvements
KT-49821
Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter
Fixes
KT-49833
java.lang.NullPointerException caused by accidental newline in package directive
KT-49838
Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
KT-49752
Regression in method return type inference: "IllegalStateException: Expected some types"
KT-49876
Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
KT-49792
Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
KT-49834
Coroutine method transformer generates invalid locals table.
KT-49441
Support friend modules in Kotlin Native
KT-49248
K/N: Symbol with IrSimpleFunctionSymbolImpl
is unbound after 1.5.30
KT-49651
Inconsistent compiler APIs for repeatable annotations
KT-49168
JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
KT-49573
No annotated types, compiler emits "Annotated types are not supported in typeOf"
KT-47192
Build Fake Overrides for internal members of classes from friend module
KT-48673
IR: IllegalStateException for usage of internal member declared in a superclass in another module
JavaScript
KT-47811
KJS / IR: "ClassCastException" when using suspend function in console.log
Language Design
KT-49868
Support language version 1.3 in Kotlin 1.6.10
Libraries
KT-50173
Different behavior of Regex escapeReplacement function in JVM and JS
Tools. Android Extensions
KT-49799
NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0
Tools. Compiler Plugins
KT-50005
jvm-abi-gen plugin: do not change the declaration order in generated jars
KT-49726
JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter
Tools. Gradle
KT-49835
Android consumers can't resolve Android debug variants of published MPP libraries published with Kotlin 1.6.0 & Gradle 7.0+
KT-49910
Incremental compilation speed regression in 1.6.0 for Android projects
Tools. Gradle. JS
KT-49109
KJS / Gradle: Configuration failed: Could not find node-14.17.0-darwin-arm64.tar.gz (org.nodejs:node:14.17.0)
KT-50135
KJS: Problem with Yarn install with scripts on Windows
KT-34014
Gradle, JS: Ability to persist / reuse yarn.lock
KT-49505
KJS / IR: Installation of NPM dependencies should be with ignore-scripts
Tools. Gradle. Native
KT-49931
Kotlin Multiplatform Fails in Windows after 1.6.0 upgrade - Cannot run program "pod"
KT-49771
podInstall task is not executed after adding a pod dependency to the shared module
Tools. Incremental Compile
KT-49822
Incremental compilation state is modified when the build fails in Kotlin 1.6
KT-49340
"IllegalStateException: @NotNull
method org/jetbrains/kotlin/com/intellij/openapi/application/AsyncExecutionService.getService must not return null" with Anvil plugin and incremental compilation
JavierSegoviaCordoba/semver-gradle-plugin
Compare Source
Fixed
- crash when the project has no commits
Updated
com.javiersc.semver:semver-core -> 0.1.0-beta.10
gradle -> 7.3.2
org.jetbrains.kotlin:kotlin-gradle-plugin -> 1.6.10
Compare Source
Fixed
- pushing two tags at same time crashes
Updated
com.javiersc.gradle-plugins:all-plugins -> 0.1.0-rc.24
Compare Source
Fixed
Updated
io.kotest:kotest-assertions-core -> 5.0.2
Compare Source
Added
semver.checkClean
Gradle property to allow versions without timestamp on dirty repositories
pushSemverTag
can set a specific remote via semver.remote
Gradle property
Fixed
pushSemverTag
- project can't sync if it is not a git repository
Updated
com.javiersc.gradle-plugins:all-plugins -> 0.1.0-rc.22
gradle -> 7.3.1
Kotlin/dokka
Changes:
- New UI
- Support of version plugin for single module projects
- Allow package-level suppression (#2209), thanks @owengray-google
- GFM: Use Markdown syntax to render lists (#2098), thanks @sgilson
- Fix names of nested inheritors
- Fix adding new custom stylesheets in submodules
- Add keywords
expect
and actual
in signatures
Kotlin/kotlinx.coroutines
Compare Source
Note that this is a full changelog relative to the 1.5.2 version. Changelog relative to 1.6.0-RC3 can be found at the end.
kotlinx-coroutines-test rework
kotlinx-coroutines-test
became a multiplatform library usable from K/JVM, K/JS, and K/N.
- Its API was completely reworked to address long-standing issues with consistency, structured concurrency and correctness (#1203, #1609, #2379, #1749, #1204, #1390, #1222, #1395, #1881, #1910, #1772, #1626, #1742, #2082, #2102, #2405, #2462
).
- The old API is deprecated for removal, but the new API is based on the similar concepts (README), and the migration path is designed to be graceful: migration guide.
Dispatchers
- Introduced
CoroutineDispatcher.limitedParallelism
that allows obtaining a view of the original dispatcher with limited parallelism (#2919).
Dispatchers.IO.limitedParallelism
usages ignore the bound on the parallelism level of Dispatchers.IO
itself to avoid starvation (#2943).
- Introduced new
Dispatchers.shutdown
method for containerized environments (#2558).
newSingleThreadContext
and newFixedThreadPoolContext
are promoted to delicate API (#2919).
Breaking changes
- When racing with cancellation, the
future
builder no longer reports unhandled exceptions into the global CoroutineExceptionHandler
. Thanks @vadimsemenov! (#2774, #2791).
Mutex.onLock
is deprecated for removal (#2794).
Dispatchers.Main
is now used as the default source of time for delay
and withTimeout
when present(#2972).
- To opt-out from this behaviour,
kotlinx.coroutines.main.delay
system property can be set to false
.
- Java target of coroutines build is now 8 instead of 6 (#1589).
- Source-breaking change: extension
collect
no longer resolves when used with a non-in-place argument of a functional type. This is a candidate for a fix, uncovered after 1.6.0, see #3107 for the additional details.
Bug fixes and improvements
- Kotlin is updated to 1.6.0.
- Kotlin/Native new memory model is now supported in regular builds of coroutines conditionally depending on whether
kotlin.native.binary.memoryModel
is enabled (#2914).
- Introduced
CopyableThreadContextElement
for mutable context elements shared among multiple coroutines. Thanks @yorickhenning! (#2893).
transformWhile
, awaitClose
, ProducerScope
, merge
, runningFold
, runingReduce
, and scan
are promoted to stable API (#2971).
SharedFlow.subscriptionCount
no longer conflates incoming updates and gives all subscribers a chance to observe a short-lived subscription (#2488, #2863, #2871).
Flow
exception transparency mechanism is improved to be more exception-friendly (#3017, #2860).
- Cancellation from
flat*
operators that leverage multiple coroutines is no longer propagated upstream (#2964).
SharedFlow.collect
now returns Nothing
(#2789, #2502).
DisposableHandle
is now fun interface
, and corresponding inline extension is removed (#2790).
FlowCollector
is now fun interface
, and corresponding inline extension is removed (#3047).
- Deprecation level of all previously deprecated signatures is raised (#3024).
- The version file is shipped with each JAR as a resource (#2941).
- Unhandled exceptions on K/N are passed to the standard library function
processUnhandledException
(#2981).
- A direct executor is used for
Task
callbacks in kotlinx-coroutines-play-services
(#2990).
- Metadata of coroutines artifacts leverages Gradle platform to have all versions of dependencies aligned (#2865).
- Default
CoroutineExceptionHandler
is loaded eagerly and does not invoke ServiceLoader
on its exception-handling path (#2552).
- Fixed the R8 rules for
ServiceLoader
optimization (#2880).
- Fixed BlockHound integration false-positives (#2894, #2866, #2937).
- Fixed the exception handler being invoked several times on Android, thanks to @1zaman (#3056).
SendChannel.trySendBlocking
is now available on Kotlin/Native (#3064).
- The exception recovery mechanism now uses
ClassValue
when available (#2997).
- JNA is updated to 5.9.0 to support Apple M1 (#3001).
- Obsolete method on internal
Delay
interface is deprecated (#2979).
- Support of deprecated
CommonPool
is removed.
@ExperimentalTime
is no longer needed for methods that use Duration
(#3041).
- JDK 1.6 is no longer required for building the project (#3043).
- New version of Dokka is used, fixing the memory leak when building the coroutines and providing brand new reference visuals (https://kotlin.github.io/kotlinx.coroutines/) (#3051, #3054).
Changelog relative to version 1.6.0-RC3
- Restored MPP binary compatibility on K/JS and K/N (#3104).
- Fixed Dispatchers.Main not being fully initialized on Android and Swing (#3101).
arrow-kt/arrow-gradle-config
Compare Source
Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by WhiteSource Renovate. View repository job log here.