Kotlin v1.6.20 RC released, JVM-based programming language
Kotlin is a statically typed, cross-platform, general-purpose programming language with type inference. Kotlin is designed to interoperate fully with Java, and the JVM version of its standard library depends on the Java Class Library, but type inference allows its syntax to be more concise. Kotlin mainly targets the JVM but also compiles to JavaScript or native code (via LLVM). Kotlin is sponsored by JetBrains, a software development company based in Prague, and is also backed by Google under the Kotlin Foundation.
Kotlin is officially supported by Google for mobile development on Android. Since the release of Android Studio 3.0 in October 2017, Kotlin is included as an alternative to the standard Java compiler. The Android Kotlin compiler lets the user choose between targeting Java 6 or Java 8 compatible bytecode.
Changelog v1.6.20 RC
Compiler
KT-51302
Kotlin/Native 1.6.20-M1 compiler fails because of assertion in NativeAnnotationImplementationTransformerKT-51148
“AssertionError: At this stage there should be no remaining variables with proper constraints” caused by two type parametersKT-50970
Kotlin/Native: use arm instruction set instead of thumb-2 for iosArm32 and watchosArm32 targetsKT-50843
Kotlin/Native: LLVM constant merge pass does not work for Kotlin constantsKT-51157
JVM / IR: “IndexOutOfBoundsException: Index: 1, Size: 1” caused by interface hierarchy and UInt method parameterKT-50498
Exception after analysing an erroneous lambdaKT-51062
Progressions resolve changing warning isn’t reported for Java methodsKT-51040
Type inference fails on 1.6: “Cannot use ‘CapturedType(*)’ as reified type parameter” with EnumSet and elvis operatorKT-51022
Fix error messages for resolution ambiguity with stub typesNative
KT-51359
Native: the compiler doesn’t work on macOS 12.3 BetaNative. Runtime. Memory
KT-50879
Kotlin/Native: Stabilize Concurrent Sweep GCKT-50948
Kotlin/Native: Concurrent Sweep GC hangs on Windows in GCStateHolder::waitEpochFinished/waitScheduledTools. Android Extensions
KT-50784
kotlin-android-extensions produces unbound symbol under_$_findViewCache
Tools. CLI
KT-51309
Add JVM target bytecode version 18KT-51025
JVM CLI compiler takes class file from classpath instead of input java source fileTools. Daemon
KT-47522
Provide reasonable resolution strategy for OutOfMemoryError during compilationKT-51116
OOM user-friendly message isn’t displayed if there is main exception caused by out of memoryTools. Gradle
KT-51177
After updating from KGP 1.5.30 to 1.6.10, KotlinCompile is non-incremental given an Android resource changeKT-50719
Kotlin Gradle Plugin may hang on writing statisticsKT-48849
Cache miss due to empty directories inKotlinCompile
inputsTools. Gradle. JS
KT-51060
KJS / IR: Incorrect order of libraries with ICKT-50930
KJS / IR: Incremental compilation cache building not consider multiple artifactsTools. Gradle. Multiplatform
KT-50592
[Gradle][MPP] Mitigate isolated KGP classpath issuesKT-51176
CInteropCommonization: Warn users about disabled cinterop commonization when cinterops are present in hmppTools. Gradle. Native
KT-49330
commonizeNativeDistribution: “ClassCastException: KotlinJvmProjectExtension_Decorated cannot be cast to class org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension”Tools. Kapt
KT-48402
Kapt throws “Fatal Error: Unable to find package java.lang in classpath or bootclasspath” with JDK 16 and Kotlin 1.5.30KT-48450
Allow to configure additional jvm arguments for ‘KaptWithoutKotlincTask`KT-41456
Kotlin compilation failure after successful kapt causes invalid incremental builds