Kotlin is a modern but already mature programming language designed to make developers happier. It's concise, safe, interoperable with Java and other languages, and provides many ways to reuse code between multiple platforms for productive programming.
Homepage
Download
Recent Releases
2.1.2006 Jun 2025 00:05
minor feature:
Analysis API:
:
`KT-68198` Analysis API: Support application service registration in plugin XMLs.
`KT-57733` Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers.
`KT-73156` AA: type retrieval for erroneous typealias crashes.
`KT-71907` K2 deger evaluator failed when cannot resolve unrelated annotation.
`KT-69128` K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested class.
`KT-71613` KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol.
`KT-71741` K2 IDE. Classifier was found in KtFile but was not found in FirFile in `libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts` in `kotlin.git` and broken analysis.
`KT-71942` Need to rethrow Intellij Platform exceptions, like ProcessCanceledException.
`KT-70949` Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementation.
`KT-69736` K2 IDE: False positive resolution from KDoc for `value`.
`KT-69047` Analysis API: Unresolved KDoc reference to extensions with the same name.
`KT-70815` Analysis API: Implement stop-the-world session invalidation.
`KT-69630` KAPT User project builds with KAPT4 enabled fail with Metaspace overflow.
### Analysis API. Code Compilation.
`KT-71263` K2 evaluator: Error in evaluating self property with extension receiver.
### Analysis API. FIR.
Performance Improvements:
`KT-72025` FileStructureElement: reduce redundant resolve.
`KT-74012` Redundant `FirAbstractBodyResolveTransformerDispatcher.` CPU consumption.
`KT-73900` ContextCollectorVisitor#computeContext may spend significant time on `createSnapshot`.
`KT-73665` FirElementFinder is inefficient in large files.
`KT-73330` Remove bodies from functions without contracts after the CONTRACTS phase.
`KT-73017` Analysis API: `FirReferenceResolveHelper.getSymbolsByResolvedImport` searches for classes even when the selected `FqName` is a known package.
:
`KT-72308`
2.1.1028 Jan 2025 01:31
minor bugfix:
Compiler: `KT-73858` Compose / iOS: NullPointerException on building. `KT-73454` K2: type parameters mapping for typealiases with inner RHS. `KT-73043` K2 Compiler does not allow references to inner constructors with typealiases. `KT-74040` Compilation of inner class usage does not check the visibility of parent class during compilation in different rounds. `KT-73339` K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projection. `KT-72585` K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: S. `KT-73399` compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameter. `KT-72725` KMP: Unsupported actualization of inherited java field in expect class. `KT-73153` K2: Standalone diagnostics on type arguments are not reported. Compose compiler: `CMP-5680` Compose compiler: unexpected stability warnings for classes compiled with 2.0.10. `b/381407900` Avoid adding Compose annotations on synthetic classes. ### IR. Inlining. `KT-73981` Cherry-pick the for KT-73482 to 2.1.10. JavaScript: `KT-70778` Kotlin Js companion is undefined in production build. `KT-73130` KJS: Missed `break` for do/while in generated JS code. `KT-58797` Optimize the code generated for objects on JS and Wasm backends. Klibs: `KT-70146` KLIB Resolve Don't fail on nonexistent transitive dependency. `KT-73951` Workaround for "Partial linkage engine may not patch some discrepancies in IR when compiling Kotlin/Native static caches" in 2.1.10. Native: `KT-73559` K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0. ### Tools. CLI. `KT-73967` JDK 25: "IllegalArgumentException: 25-ea" with EA builds. ### Tools. Daemon. `KT-73311` "Unable to release compile session, maybe daemon is already down" flakiness. ### Tools. Gradle. `KT-73728` 'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' version. ### Tools. Gradle. M
|