Skip to content

Conversation

@renovate
Copy link

@renovate renovate bot commented May 19, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.jetbrains.kotlinx:kotlinx-serialization-json 1.3.3 -> 1.7.3 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-android 1.7.3 -> 1.9.0 age adoption passing confidence
org.jetbrains.kotlin:kotlin-serialization (source) 1.7.0 -> 1.9.25 age adoption passing confidence
org.jetbrains.kotlin:kotlin-gradle-plugin (source) 1.7.0 -> 1.9.25 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

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.

  • Use explicit kotlin-stdlib and kotlin-test versions from version catalog (#​2818)
  • Drop usage of deprecated Any?.freeze() in K/N target (#​2819)
  • Check against serialName instead of simpleClassName (#​2802)
  • Ignore NoClassDefFoundError when initializing builtins map for serializer() function (#​2803)
  • Clarify example for SerializationException (#​2806)

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:

  • Serial Labels — see @CborLabel annotation and preferCborLabelsOverNames flag.
  • Tagging of keys and values — see encode*Tags and verify*Tags set of flags
  • Definite length encoding — see useDefiniteLengthEncoding. This flag affects object encoding, since decoding of arrays with definite lenghts is automatically supported.
  • Option to globally prefer major type 2 for byte array encoding — see alwaysUseByteString flag.

Since there are quite a lot of flags now, they were restructured to a separate CborConfiguration class, similarly to JsonConfiguration.
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.

This annotation is currently experimental. Kotlin 2.0.20 or higher is required for this feature to work.

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

  • Prohibited using of zero and negative field numbers in ProtoNumber (#​2766)
  • Improve readability of protobuf decoding exception messages (#​2768) (thanks to xiaozhikang0916)
  • docs(serializers): Fix grammatical errors (#​2779) (thanks to jamhour1g)
  • Fixed VerifyError after ProGuard optimization (#​2728)
  • Add wasm-wasi target to Okio integration (#​2727)

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, and decodeSourceToSequence.
Check out the PR for more details.

Other bugfixes

  • Prohibited use of elements other than JsonObject in JsonTransformingSerializer with polymorphic serialization (#​2715)

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 in JsonBuilder is marked as experimental,
as it should have been when it was introduced (#​2680).

v1.6.3

==================

This release provides a couple of new features and uses Kotlin 1.9.22 as default.

Class discriminator output mode

Class discriminator provides information for serializing and deserializing polymorphic class hierarchies.
In case you want to encode more or less information for various third party APIs about types in the output, it is possible to control
addition of the class discriminator with the JsonBuilder.classDiscriminatorMode property.
For example, ClassDiscriminatorMode.NONE does not add class discriminator at all, in case the receiving party is not interested in Kotlin types.
You can learn more about this feature in the documentation and corresponding PR.

Other features
Bugfixes and improvements
  • Fix: Hocon polymorphic serialization in containers (#​2151) (thanks to LichtHund)
  • Actualize lenient mode documentation (#​2568)
  • Slightly improve error messages thrown from serializer() function (#​2533)
  • Do not try to coerce input values for properties (#​2530)
  • Make empty objects and arrays collapsed in pretty print mode (#​2506)
  • Update Gradle dokka configuration to make sure "source" button is visible in all API docs (#​2518, #​2524)

v1.6.2

==================

This is a patch release accompanying Kotlin 1.9.21. It also provides additional targets that were not available in 1.6.1:
wasm-wasi and (deprecated) linuxArm32Hfp.

  • Add Wasm WASI target (#​2510)
  • Bring back linuxArm32Hfp target because it is deprecated, but not removed yet. (#​2505)

v1.6.1

==================

This release uses Kotlin 1.9.20 by default, while upcoming 1.9.21 is also supported.

Trailing commas in Json

Trailing commas are one of the most popular non-spec Json variations.
A new configuration flag, allowTrailingComma, makes Json parser accept them instead of throwing an exception.
Note that it does not affect encoding, so kotlinx.serialization always produces Json without trailing commas.
See details in the corresponding PR

Support of WasmJs target

Kotlin/Wasm has been experimental for some time and gained enough maturity to be added to the kotlinx libraries.
Starting with 1.6.1, kotlinx.serialization provides a wasm-js flavor, so your projects with Kotlin/Wasm can have even more
functionality.
As usual, just add serialization dependencies to your build
and declare wasmJs target.
Please remember that Kotlin/Wasm is still experimental, so changes are expected.

Bugfixes and improvements

v1.6.0

==================

This release contains all features and bugfixes from 1.6.0-RC plus some bugfixes on its own (see below).
Kotlin 1.9.0 is used as a default, while 1.9.10 is also supported.

Bugfixes

v1.5.1

==================
This release contains an important Native targets overhaul, as well as numerous enhancements and bugfixes.
Kotlin 1.8.21 is used by default.

New set of Native targets

The official Kotlin target support policy has recently been published
describing new target policy: each target belongs to a certain tier, and different tiers have different stability guarantees.
The official recommendation for library authors is to support targets up to Tier 3,
and kotlinx.serialization now follows it.
It means that in this release, there are a lot of new targets added from this tier,
such as androidNativeX86 or watchosDeviceArm64.
Note that since they belong to Tier 3, they're not auto-tested on CI.

kotlinx.serialization also ships some deprecated Kotlin/Native targets that do not belong to any tier (e.g. iosArm32, mingwX86).
We'll continue to release them, but we do not provide support for them, nor do we plan to add new targets from the deprecated list.

Improvements in Json elements

There are two new function sets that should make creating raw Json elements easier.
First one contains overloads for JsonPrimitive constructor-like function
that accept unsigned types: JsonPrimitive(1u).
Second one adds new addAll functions to JsonArrayBuilder to be used with collections
of numbers, booleans or strings: buildJsonArray { addAll(listOf(1, 2, 3)) }
Both were contributed to us by aSemy.

Other enhancements
  • Potential source-breaking change: Rename json-okio target variables to sink (#​2226)
  • Function to retrieve KSerializer by KClass and type arguments serializers (#​2291)
  • Added FormatLanguage annotation to Json methods (#​2234)
  • Properties Format: Support sealed/polymorphic classes as class properties (#​2255)
Bugfixes
  • KeyValueSerializer: Fix missing call to endStructure() (#​2272)
  • ObjectSerializer: Respect sequential decoding (#​2273)
  • Fix value class encoding in various corner cases (#​2242)
  • Fix incorrect json decoding iterator's .hasNext() behavior on array-wrapped inputs (#​2268)
  • Fix memory leak caused by invalid KTypeWrapper's equals method (#​2274)
  • Fixed NoSuchMethodError when parsing a JSON stream on Java 8 (#​2219)
  • Fix MissingFieldException duplication (#​2213)

v1.5.0

==================

This release contains all features and bugfixes from 1.5.0-RC plus some experimental features and bugfixes on its own (see below).
Kotlin 1.8.10 is used as a default.

HoconEncoder and HoconDecoder interfaces and HOCON-specific serializers

These interfaces work in a way similar to JsonEncoder and JsonDecoder: they allow intercepting (de)serialization process,
making writing if custom HOCON-specific serializers easier. New ConfigMemorySizeSerializer and JavaDurationSerializer already make use of them.
See more details in the PR.
Big thanks to Alexander Mikhailov for contributing this!

Ability to read buffered huge strings in custom Json deserializers

New interface ChunkedDecoder allows you to read huge strings that may not fit in memory by chunks.
Currently, this interface is only implemented by Json decoder that works with strings and streams,
but we may expand it later, if there's a demand for it.
See more details in the PR authored by Alexey Sviridov.

Bugfixes
  • Improve runtime exceptions messages (#​2180)
  • Added support for null values for nullable enums in lenient mode (#​2176)
  • Prevent class loaders from leaking when using ClassValue cache (#​2175)

v1.4.1

==================

This is patch release contains several bugfixes and improvements.
Kotlin 1.7.20 is used by default.

Improvements
  • Add @​MustBeDocumented to certain annotations (#​2059)
  • Deprecate .isNullable in SerialDescriptor builder (#​2040)
  • Unsigned primitives and unsigned arrays serializers can be retrieved as built-ins (#​1992)
  • Serializers are now cached inside reflective lookup, leading to faster serializer retrieval (#​2015)
  • Compiler plugin can create enum serializers using static factories for better speed (#​1851) (Kotlin 1.7.20 required)
  • Provide foundation for compiler plugin intrinsics available in Kotlin 1.8.0 (#​2031)
Bugfixes

v1.4.0

==================

This release contains all features and bugfixes from 1.4.0-RC plus some bugfixes on its own (see below).
Kotlin 1.7.10 is used as a default.

Bugfixes
  • Fixed decoding of huge JSON data for okio streams (#​2006)
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-android)

v1.9.0

Compare Source

Features
  • Wasm/WASI target support (#​4064). Thanks, @​igoriakovlev!
  • limitedParallelism now optionally accepts the name of the dispatcher view for easier debugging (#​4023).
  • No longer initialize Dispatchers.IO on the JVM when other standard dispatchers are accessed (#​4166). Thanks, @​metalhead8816!
  • Introduced the Flow<T>.chunked(size: Int): Flow<List<T>> operator that groups emitted values into groups of the given size (#​1290).
  • Closeable dispatchers are instances of AutoCloseable now (#​4123).
Fixes
  • Calling hasNext on a Channel's iterator is idempotent (#​4065). Thanks, @​gitpaxultek!
  • CoroutineScope() created without an explicit dispatcher uses Dispatchers.Default on Native (#​4074). Thanks, @​whyoleg!
  • Fixed a bug that prevented non-Android Dispatchers.Main from initializing when the Firebase dependency is used (#​3914).
  • Ensured a more intuitive ordering of tasks in runBlocking (#​4134).
  • Forbid casting a Mutex to Semaphore (#​4176).
  • Worked around a stack overflow that may occur when calling asDeferred on a Future many times (#​4156).
Deprecations and promotions
  • Advanced the deprecation levels for BroadcastChannel-based API (#​4197).
  • Advanced the deprecation levels for the old kotlinx-coroutines-test API (#​4198).
  • Deprecated Job.cancelFutureOnCompletion (#​4173).
  • Promoted CoroutineDispatcher.limitedParallelism to stable (#​3864).
  • Promoted CoroutineStart.ATOMIC from ExperimentalCoroutinesApi to DelicateCoroutinesApi (#​4169).
  • Promoted CancellableContinuation.resume with an onCancellation lambda to stable, providing extra arguments to the lambda (#​4088).
  • Marked the classes and interfaces that are not supposed to be inherited from with the new InternalForInheritanceCoroutinesApi opt-in (#​3770).
  • Marked the classes and interfaces inheriting from which is not stable with the new ExperimentalForInheritanceCoroutinesApi opt-in (#​3770).
Other
  • Kotlin was updated to 2.0 (#​4137).
  • Reworked the documentation for CoroutineStart and Channel-based API (#​4147, #​4148, #​4167). Thanks, @​globsterg!
  • Simplified the internal implementation of Job (#​4053).
  • Small tweaks, fixes, and documentation improvements.

v1.8.1

Compare Source

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#​4046). Thanks, @​hfhbd!
  • Introduce a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#​3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#​4051).
  • Flow.timeout throws the exception with which the channel was closed (#​4071).
  • Small tweaks and documentation fixes.
Changelog relative to version 1.8.1-Beta
  • Flow.timeout throws the exception with which the channel was closed (#​4071).
  • Small documentation fixes.

v1.8.0

Compare Source

  • Implement the library for the Web Assembly (Wasm) for JavaScript (#​3713). Thanks @​igoriakovlev!
  • Major Kotlin version update: was 1.8.20, became 1.9.21.
  • On Android, ensure that Dispatchers.Main != Dispatchers.Main.immediate (#​3545, #​3963).
  • Fixed a bug that caused Flow operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream (#​4035, #​4038)
  • kotlinx-coroutines-debug is published with the correct Java 9 module info (#​3944).
  • kotlinx-coroutines-debug no longer requires manually setting DebugProbes.enableCoroutineCreationStackTraces to false, it's the default (#​3783).
  • kotlinx-coroutines-test: set the default timeout of runTest to 60 seconds, added the ability to configure it on the JVM with the kotlinx.coroutines.test.default_timeout=10s (#​3800).
  • kotlinx-coroutines-test: fixed a bug that could lead to not all uncaught exceptions being reported after some tests failed (#​3800).
  • delay(Duration) rounds nanoseconds up to whole milliseconds and not down (#​3920). Thanks @​kevincianfarini!
  • Dispatchers.Default and the default thread for background work are guaranteed to use the same context classloader as the object containing it them (#​3832).
  • It is guaranteed that by the time SharedFlow.collect suspends for the first time, it's registered as a subscriber for that SharedFlow (#​3885). Before, it was also true, but not documented.
  • Atomicfu version is updated to 0.23.1, and Kotlin/Native atomic transformations are enabled, reducing the footprint of coroutine-heavy code (#​3954).
  • Added a workaround for miscompilation of withLock on JS (#​3881). Thanks @​CLOVIS-AI!
  • Small tweaks and documentation fixes.
Changelog relative to version 1.8.0-RC2
  • kotlinx-coroutines-debug no longer requires manually setting DebugProbes.enableCoroutineCreationStackTraces to false, it's the default (#​3783).
  • Fixed a bug that caused Flow operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream (#​4035, #​4038)
  • Small documentation fixes.
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-serialization)

v1.9.25: Kotlin 1.9.25

Note: This is a technical release for IntelliJ IDEA.

Changelog

Tools. JPS
  • KT-69204 Generate lookups in dumb mode for compatibility with ref index

v1.9.24: 1.9.24

Changelog

Backend. Wasm
  • KT-64890 K/Wasm compiler crash with external class and Kodein
Compiler
  • KT-65235 JDK 21 might lead to change in overloads resolution
  • KT-66768 K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call
Native
  • KT-67218 Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary
Tools. Gradle
  • KT-67139 Build reports can be overridden
  • KT-67138 Json report is empty for incremental compilation
Tools. Gradle. Multiplatform
  • KT-67127 KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machines
  • KT-66514 Don't get output file from Cinterop task for IDE Import if host os doesn't support it
Tools. JPS
  • KT-65043 JPS dumb mode should respect maps needed for the compiler
Tools. Wasm
  • KT-67785 Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore
  • KT-65864 K/Wasm: update Node.js to 22.x

v1.9.23: Kotlin 1.9.23

1.9.23

Apple Ecosystem
  • KT-65542 Cinterop tasks fails if Xcode 15.3 is used
Backend. Wasm
  • KT-64486 Kotlin/Wasm/WASI exported function callback for coroutines support
Compiler
  • KT-53478 Could not load module
  • KT-66044 JDK's new API is used over Kotlin's SDK functions
  • KT-64640 Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
  • KT-65441 K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces
  • KT-65634 K/N: data race during monolithic cache creation
  • KT-53109 CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdas
  • KT-52757 Type inference for builders fails if inferred from a function
Tools. Gradle
  • KT-65792 Add JSON build report
  • KT-65091 Update compiler metrics in build reports
  • KT-62490 KGP dropping resource directories
Tools. Gradle. JS
  • KT-64119 K/JS: Migrate package manager from Yarn onto NPM
  • KT-64561 K/JS tests are not executed after upgrade to 1.9.22
Tools. Gradle. Multiplatform
  • KT-65954 commonTest dependencies affect commoMainMetadata compilation
Tools. Gradle. Native
  • KT-64573 Default value for produceUnpackedKlib was not provided

v1.9.22: Kotlin 1.9.22

Changelog

JavaScript
  • KT-63719 KJS: Test results ignored for ES module kind
  • KT-63808 compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformers
Native
  • KT-64139 Weird bug with while and coroutine in Kotlin Native
  • KT-63471 linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_deps
  • KT-63789 Native: Incremental compilation problem with compose
Tools. CLI
  • KT-64485 CLI: cache and optimize parsing of command-line arguments
Tools. Gradle
  • KT-63990 "Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated Projects
Tools. Gradle. Native
  • KT-63363 Kotlin Gradle Plugin: KotlinNativeHostSpecificMetadataArtifact breaks configuration cache, implicitly includes output file as configuration cache input
  • KT-63742 Gradle wrongly caches Kotlin/Native compiler flags
Tools. JPS
  • KT-64305 Kotlin JPS builder requests chunk rebuild with graph implementation
  • KT-64112 Avoid using IJ's JPS mappings in Kotlin JPS tests
  • KT-63799 Make plugin classpath serialization path agnostic

Checksums

File Sha256
kotlin-compiler-1.9.22.zip 88b39213506532c816ff56348c07bbeefe0c8d18943bffbad11063cf97cac3e6
kotlin-native-linux-x86_64-1.9.22.tar.gz c2b0a6481ced5401db4a7028661c039b7466996efaa554bbcc6a3d421ac5e7d4
kotlin-native-macos-x86_64-1.9.22.tar.gz 4646c9bc289d48a228064f565f3a968dde3dcccd7821f403717c708f6ffa8285
kotlin-native-macos-aarch64-1.9.22.tar.gz 8a95c0e0eb46b41b6d02a1942dc7dfe8c70082a2a26679490a77cd486f0ec8dd
kotlin-native-windows-x86_64-1.9.22.zip a9d7bcf38a41a84002ba7a733b08e97b554225a39656d5158fc31dc6d0acede4

v1.9.21: Kotlin 1.9.21

Changelog

Compiler
  • KT-62885 Introduce a language feature entry for expect actual classes for easier configuration of MPP projects
  • KT-63081 Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()
Docs & Examples
  • KT-55619 Document String.format function
IDE. Gradle Integration
  • KT-62877 Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skipped
IDE. Gradle. Script
  • KT-60813 Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j API
JavaScript
  • KT-60785 KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
  • KT-63207 KMP / JS: "TypeError: <mangled_name> is not a function" with 1.9.20
  • KT-62778 package.json "main" field has .js extension when the result files have .mjs extension
  • KT-61795 KJS: Incremental Cache is not invalidated if useEsClasses compiler argument was changed
  • KT-61957 KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with @JsExport and Enum.entries call
  • KT-62444 KJS with commonJS modules should re-export in 1.9.20
  • KT-63184 KJS / Serialization: JsExport on serializable interface creates erroneous TypeScript
  • KT-62190 KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules()
  • KT-58685 KJS: "IllegalStateException: Not locked" cused by "unlock" called twice
Klibs
  • KT-62515 Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match"
Tools. CLI
  • KT-63139 Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata info
Tools. Gradle
  • KT-63499 Gradle: Source sets conventions are still registered
Tools. Gradle. JS
  • KT-59523 MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs)
Tools. Gradle. Kapt
  • KT-63366 Kapt processing fails with custom source sets
Tools. Gradle. Multiplatform
  • KT-32608 Create JUnit-XML result file in multiplatform gradle build
  • KT-63315 Wasm gradle plugin DSL is invalid for parameterless wasmWasi method
  • KT-63338 [KMP] metadata task fails to find cinterop classes from dependency projects
  • KT-63044 KGP: Multiplatform - 8.4 configuration cache support
  • KT-63011 Apple Framework Artifacts is not connected to KotlinNativeTask
  • KT-62601 AS/IntelliJ exception after updating a KMP project with a macos target to Kotlin 1.9.20-RC
Tools. Incremental Compile
  • KT-61590 K2/KMP: Expect actual matching is breaking on the incremental compilation
Tools. JPS
  • KT-63594 ClassCastException in JPS statistics
  • KT-63651 Fix NPE in Kotlin JPS after enabling graph implementation of JPS
Tools. Kapt
  • KT-57389 KAPT3 uses a Javac API for JCImport which will break in JDK 21
  • KT-60507 Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchain
Tools. Scripts
  • KT-54819 Scripts: Not able to use slf4j in .main.kts
  • KT-61727 Scripts: Maven artifacts resolution is slow

Checksums

File Sha256
kotlin-compiler-1.9.21.zip cf17e0272bc065d49e64a86953b73af06065370629f090d5b7c2fe353ccf9c1a
kotlin-native-linux-x86_64-1.9.21.tar.gz 965564bb599a95283307be31947386b61f0de79514e894b1f20f4fe728eee7cc
kotlin-native-macos-x86_64-1.9.21.tar.gz 8f47cf1871bf0dfcacfc04e68ee71f2333a8a711ca25fd7a29e852eafe8da76e
kotlin-native-macos-aarch64-1.9.21.tar.gz b3c45aa0a5aa08419bd79b06cb5bdeed32b30141a6a976b67ca91bb0959e28b7
kotlin-native-windows-x86_64-1.9.21.zip e917e67d5dfeb4683a413b932f080adef08ba48d8ede61fbb040f9c3481f7b3a

v1.9.20: Kotlin 1.9.20

1.9.20

Analysis. API
New Features
  • KT-58834 Analysis API: Add source shadowing feature to resolve extensions
Performance Improvements
  • KT-57515 LL FIR: Performance bottleneck in CompositeModificationTracker.getModificationCount
  • KT-59266 K2: optimize FirElementBuilder.getOrBuildFir for elements outside body
  • KT-59454 K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
  • KT-59453 K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
  • KT-59189 Analysis API: KtFirKDocReference.resolveToSymbols is slow
  • KT-58125 K2: LL FIR: KtToFirMapping.getElement is slow for KtUserTypes due to on-air resolution of types
Fixes
  • KT-59240 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from superTypes
  • KT-58499 K2: FirLazyBlock should be calculated before accessing
  • KT-57966 K2: Analysis API: Reference Shortener does not work correctly when called on entire file
  • KT-60954 K2: Analysis API: Reference shortener does not work correctly with variable assignments
  • KT-60940 K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarations
  • KT-60488 Analysis API: forbid providing custom KtLifetimeToken for every analyze call
  • KT-60728 K2: proper support for scripts in LL FIR transformers
  • KT-59159 K2 IDE: declaration is not found exception
  • KT-59297 K2: exception from body resolve leads to corrupted state and broken analysis
  • KT-59077 KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function calls
  • KT-60586 K2: forbid analyze from write action
  • KT-57743 K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies
  • KT-61026 K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve
  • KT-61009 K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • KT-60357 K2 IDE. Reified types parameters are not resolved in a function body
  • KT-60317 K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library
  • KT-60706 K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
  • KT-60552 K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer
  • KT-60641 Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing
  • KT-60638 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • KT-54846 Analysis API: add isExpect/isActual to KtSymbol
  • KT-60448 FirLazyResolveContractViolationException: lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS) cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin
  • KT-59342 K2 IDE. FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES) cannot be called from a transformer with a phase TYPES
  • KT-59687 K2: Implement proper body update for in-block modifications
  • KT-59329 Resolve Extensions reference resolution breaks Find Usages
  • KT-60295 K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver
  • KT-59758 K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump
  • KT-60377 K2 IDE: This method will only work on compiled declarations, but this declaration is not compiled
  • KT-59685 K2: rewrite on-air resolution
  • KT-60132 K2: properties and functions without a name should be re-analyzable as well
  • KT-59199 K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elements
  • KT-59667 Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutor
  • KT-59705 KotlinExceptionWithAttachments: No fir element was found for getter
  • KT-59697 AA standalone: JRT module paths are not properly populated in Windows
  • KT-59505 K2: implicit type lazy resolution doesn't work for delegated declaration from other module
  • KT-56426 K2 IDE: Typealised functional types cannot be rendered
  • KT-59598 AA: stackoverflow while simplifying a type with a recursive type parameter
  • KT-58497 K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found
  • KT-59511 AA standalone mode creates Application Environment for tests
  • KT-58161 Analysis API: Make methods in KtCallResolverMixIn more distinctive based on their receiver/return type
  • KT-59093 Do not throw exception on KtCall resolution, KtCallElement.resolveCall should return null on unknown cases
  • KT-59243 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from permits types
  • KT-58194 K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElement
  • KT-59133 K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol
  • KT-58174 K2: LL FIR: Invalid type reference for T & Any type
  • KT-52615 LL FIR: build RAW FIR only by stubs
  • KT-55053 K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilder
  • KT-58580 K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible through LLFirCombinedKotlinSymbolProvider
  • KT-58992 Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis API
  • KT-58727 K2: AA FIR: implicit type in delegated function treated as error
  • KT-58653 K2: Analysis API: add functions for KtScope members access by name
  • KT-57559 K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij project
  • KT-58262 Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completion
  • KT-57455 LL FIR: Combine AbstractFirDeserializedSymbolProviders in session dependencies (optimization)
  • KT-57207 LL FIR: Combine JavaSymbolProviders in session dependencies (optimization)
  • KT-58546 K2: LL FIR: support name collision in a designation path
  • KT-58495 K2: Lazy calculation is redundant
  • KT-58500 K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElement
  • KT-58493 K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl found
  • KT-58496 K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference found
  • KT-58491 K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthet

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - 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, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label May 19, 2024
@renovate renovate bot force-pushed the renovate/kotlin branch from 0d5242a to d31063b Compare May 24, 2024 17:05
@renovate renovate bot force-pushed the renovate/kotlin branch from d31063b to 77bd27b Compare June 6, 2024 16:05
@renovate renovate bot force-pushed the renovate/kotlin branch from 77bd27b to 85b11bf Compare June 25, 2024 20:13
@renovate renovate bot force-pushed the renovate/kotlin branch from 85b11bf to 94d4166 Compare July 19, 2024 15:02
@renovate renovate bot force-pushed the renovate/kotlin branch from 94d4166 to 8e4cb1a Compare August 28, 2024 19:44
@renovate
Copy link
Author

renovate bot commented Dec 3, 2024

Autoclosing Skipped

This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.

@renovate renovate bot changed the title fix(deps): update kotlin fix(deps): update kotlin - abandoned Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants