Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.9.22-1.0.18
->1.9.25-1.0.20
0.3.7
->0.3.8
1.6.3
->1.7.3
1.8.0
->1.10.1
1.9.22
->1.9.25
1.9.22
->1.9.25
1.9.22
->1.9.25
1.9.22
->1.9.25
1.9.22
->1.9.25
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
google/ksp (com.google.devtools.ksp)
v1.9.25-1.0.20
Compare Source
KSP 1.0.20 for Kotlin 1.9.25
v1.9.24-1.0.20
Compare Source
KSP 1.0.20 for kotlin compiler version 1.9.24
v1.9.23-1.0.20
Compare Source
KSP1 issues fixed
KSP2 issues fixed
v1.9.23-1.0.19
New APIs
SymbolProcessorEnvironment.kspVersion
CodeGenerator.associateWithFunctions
andCodeGenerator.associateWithProperties
Issues fixed in KSP2
Issues fixed in KSP Gradle Plugin
Known issues
Kotlin/kotlinx.collections.immutable (org.jetbrains.kotlinx:kotlinx-collections-immutable)
v0.3.8
Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json)
v1.7.3
==================
This release aims to fix important issues that were discovered in the 1.7.2 release,
including the inability to sync certain projects into Android Studio/IntelliJ IDEA and exceptions from custom Uuid serializers.
It uses Kotlin 2.0.20 by default.
v1.7.2
==================
This release provides several new features, including a major Cbor configuration rework.
It uses Kotlin 2.0.20 by default.
Cbor feature set for COSE compliance
This change brings a lot of features to the CBOR format, namely:
@CborLabel
annotation andpreferCborLabelsOverNames
flag.encode*Tags
andverify*Tags
set of flagsuseDefiniteLengthEncoding
. This flag affects object encoding, since decoding of arrays with definite lenghts is automatically supported.alwaysUseByteString
flag.Since there are quite a lot of flags now, they were restructured to a separate
CborConfiguration
class, similarly toJsonConfiguration
.It is possible to retrieve this configuration from
CborEncoder/CborDecoder
interfaces in your custom serializers (see their documentation for details).All of these features make it possible to serialize and parse COSE-compliant CBOR, for example, ISO/IEC 18013-5:2021-compliant mobile driving license data.
In case you want to make use of them, there is a predefined
Cbor.CoseCompliant
instance.However, some canonicalization steps (such as sorting keys) still need to be performed manually.
This functionality was contributed to us by Bernd Prünster.
Keeping generated serializers
One of the most requested features for serialization plugin was to continue to generate a serializer even if a custom one is specified for the class.
It allows using a plugin-generated serializer in a fallback or delegate strategy, accessing type structure via descriptor, using default serialization behavior in inheritors that do not use custom serializers.
Starting with this release, you can specify the
@KeepGeneratedSerializer
annotation on the class declaration to instruct the plugin to continue generating the serializer.In this case, the serializer will be accessible using the
.generatedSerializer()
function on the class's companion object.You can check out the examples in the documentation and in the PRs: #2758, #2669.
Serializer for kotlin.uuid.Uuid
Kotlin 2.0.20 added a common class to represent UUIDs in a multiplatform code.
kotlinx.serialization 1.7.2 provides a corresponding
Uuid.serializer()
for it, making it possible to use it in@Serializable
classes.Note that for now, serializer should be provided manually with
@Contextual
annotation.Plugin will be able to automatically insert
Uuid
serializer in Kotlin 2.1.0.See more details in the corresponding PR.
Other bugfixes and improvements
v1.7.1
==================
This is a bugfix release that aims to fix missing
kotlinx-serialization-hocon
artifact.It also contains experimental integration with
kotlinx-io
library.Kotlin 2.0.0 is used by default.
Fixed HOCON publication
Sadly, 1.7.0 release was published incomplete:
kotlinx-serialization-hocon
artifact is missing from 1.7.0 and 1.7.0-RC releases.This release fixes this problem and now
kotlinx-serialization-hocon
is available again with 1.7.1 version.No other changes were made to this artifact. Related ticket: #2717.
Add integration with a kotlinx-io library
kotlinx-io
is an official multiplatform library that provides basic IO primitives, similar to Okio.kotlinx.serialization integration is now available in a separate artifact, located at the
kotlinx-serialization-json-io
coordinates.Integration artifact provides functions similar to existing Okio integration:
encodeToSink
,decodeFromSource
, anddecodeSourceToSequence
.Check out the PR for more details.
Other bugfixes
v1.7.0
==================
This release contains all of the changes from 1.7.0-RC and is compatible with Kotlin 2.0.
Please note that for reasons explained in the 1.7.0-RC changelog, it may not be possible to use it with the Kotlin 1.9.x
compiler plugin. Yet, it is still fully backwards compatible with previous versions.
The only difference with 1.7.0-RC is that
classDiscriminatorMode
property inJsonBuilder
is marked as experimental,as it should have been when it was introduced (#2680).
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-core)
v1.10.1
Compare Source
v1.10.0
Compare Source
Flow.any
,Flow.all
, andFlow.none
(#4212). Thanks, @CLOVIS-AI!kotlinx-coroutines-debug
andkotlinx-coroutines-core
code to avoid a split package between the two artifacts (#4247). Note that directly referencingkotlinx.coroutines.debug.AgentPremain
must now be replaced withkotlinx.coroutines.debug.internal.AgentPremain
. Thanks, @sellmair!kotlinx-coroutines-debug
, reducing the artifact size and simplifying the build configuration of client code. Thanks, @sellmair!NullPointerException
when using Java-deserializedkotlinx-coroutines-core
exceptions (#4291). Thanks, @AlexRiedler!CoroutineDispatcher.dispatch
instead of raising internal errors (#4091). Thanks, @zuevmaxim!Dispatchers.Default
orDispatchers.IO
task after ayield()
in rare scenarios (#4248).main()
coroutine on Wasm/WASI from executing after adelay()
call in some scenarios (#4239).runBlocking
tasks on Kotlin/Native that arrive after therunBlocking
block was exited (#4245).Flow
operators sometimes resuming without taking cancellation into account (#4254). Thanks, @jxdabc!ThreadLocal
values not to get cleaned when using non-CoroutineDispatcher
continuation interceptors (#4296).v1.9.0
Compare Source
Features
limitedParallelism
now optionally accepts the name of the dispatcher view for easier debugging (#4023).Dispatchers.IO
on the JVM when other standard dispatchers are accessed (#4166). Thanks, @metalhead8816!Flow<T>.chunked(size: Int): Flow<List<T>>
operator that groups emitted values into groups of the given size (#1290).AutoCloseable
now (#4123).Fixes
hasNext
on aChannel
's iterator is idempotent (#4065). Thanks, @gitpaxultek!CoroutineScope()
created without an explicit dispatcher usesDispatchers.Default
on Native (#4074). Thanks, @whyoleg!Dispatchers.Main
from initializing when the Firebase dependency is used (#3914).runBlocking
(#4134).Mutex
toSemaphore
(#4176).asDeferred
on aFuture
many times (#4156).Deprecations and promotions
BroadcastChannel
-based API (#4197).kotlinx-coroutines-test
API (#4198).Job.cancelFutureOnCompletion
(#4173).CoroutineDispatcher.limitedParallelism
to stable (#3864).CoroutineStart.ATOMIC
fromExperimentalCoroutinesApi
toDelicateCoroutinesApi
(#4169).CancellableContinuation.resume
with anonCancellation
lambda to stable, providing extra arguments to the lambda (#4088).InternalForInheritanceCoroutinesApi
opt-in (#3770).ExperimentalForInheritanceCoroutinesApi
opt-in (#3770).Other
CoroutineStart
andChannel
-based API (#4147, #4148, #4167). Thanks, @globsterg!Job
(#4053).v1.8.1
Compare Source
@ExperimentalTime
annotation from usages ofTimeSource
(#4046). Thanks, @hfhbd!NullPointerException
when setting theStateFlow
value on old Android devices (#3820).kotlin.random.Random
as part ofDispatchers.Default
andDispatchers.IO
initialization (#4051).Flow.timeout
throws the exception with which the channel was closed (#4071).Changelog relative to version 1.8.1-Beta
Flow.timeout
throws the exception with which the channel was closed (#4071).JetBrains/kotlin (org.jetbrains.kotlin.plugin.serialization)
v1.9.25
: Kotlin 1.9.25Note: This is a technical release for IntelliJ IDEA.
Changelog
Tools. JPS
KT-69204
Generate lookups in dumb mode for compatibility with ref indexv1.9.24
: 1.9.24Changelog
Backend. Wasm
KT-64890
K/Wasm compiler crash with external class and KodeinCompiler
KT-65235
JDK 21 might lead to change in overloads resolutionKT-66768
K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast callNative
KT-67218
Native: nested classes in kx.serialization ProtoBuf produce empty array for release binaryTools. Gradle
KT-67139
Build reports can be overriddenKT-67138
Json report is empty for incremental compilationTools. Gradle. Multiplatform
KT-67127
KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machinesKT-66514
Don't get output file from Cinterop task for IDE Import if host os doesn't support itTools. JPS
KT-65043
JPS dumb mode should respect maps needed for the compilerTools. Wasm
KT-67785
Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymoreKT-65864
K/Wasm: update Node.js to 22.xv1.9.23
: Kotlin 1.9.231.9.23
Apple Ecosystem
KT-65542
Cinterop tasks fails if Xcode 15.3 is usedBackend. Wasm
KT-64486
Kotlin/Wasm/WASI exported function callback for coroutines supportCompiler
KT-53478
Could not load moduleKT-66044
JDK's new API is used over Kotlin's SDK functionsKT-64640
Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collectionsKT-65441
K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfacesKT-65634
K/N: data race during monolithic cache creationKT-53109
CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdasKT-52757
Type inference for builders fails if inferred from a functionTools. Gradle
KT-65792
Add JSON build reportKT-65091
Update compiler metrics in build reportsKT-62490
KGP dropping resource directoriesTools. Gradle. JS
KT-64119
K/JS: Migrate package manager from Yarn onto NPMKT-64561
K/JS tests are not executed after upgrade to 1.9.22Tools. Gradle. Multiplatform
KT-65954
commonTest dependencies affect commoMainMetadata compilationTools. Gradle. Native
KT-64573
Default value forproduceUnpackedKlib
was not providedConfiguration
📅 Schedule: Branch creation - "* 0-3 * * *" in timezone Asia/Seoul, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.