Changelog
Compiler
New Features
KT-30222
Support JVM target version selection in Kotlin bytecode tool windowKT-41884
Support 'file' target for JvmSynthetic annotationKT-44278
Generate SAM-converted lambdas and function references using 'invokedynamic' on JDK 1.8+
Performance Improvements
KT-26060
Support a compiler mode to compile lambda expressions usinginvokedynamic
instructionKT-42621
Kotlin binary size considerably larger for code extensively using stream API
Fixes
KT-20306
Make 'when' over an 'expect' enum class non-exhaustiveKT-20869
kotlin.jvm.internal.DefaultConstructorMarker should be publicKT-26592
Do not generate private suspend functions as synthetic package-privateKT-38100
Support local delegated properties (not inlined) in new JVM default modesKT-40392
Deprecate JvmDefault annotation and old -Xjvm-default modesKT-41758
Deprecate kotlin.Metadata.bytecodeVersion and avoid using it in the compilerKT-42092
JVM / IR: "AnalyzerException: Argument 1: expected R, but found J" when trying to add to ArrayList the result of a function applied to intKT-42321
JVM IR: do not cast integer value based on the type of a literal receiver of an operator callKT-42404
"Supertypes of the following classes cannot be resolved" in Rider projectKT-42472
No TYPE_INFERENCE_UPPER_BOUND_VIOLATED for Delegated Properties do not check types (in Kotlin 1.4.10)KT-43167
JVM IR, serialization: "No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with data class containing property defined in bodyKT-43303
NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when inferred type argument is not a subtype of type parameter upper boundKT-44368
"IllegalStateException: Error type encountered" when inlining 'invoke' operator without enough information on type variableKT-44412
JVM IR backend fails to compile break in condition of do whileKT-44471
Fix failing script tests after switching to 1.5KT-44474
Compiler expects sealed type inheritors from platform specific source-sets in when expression in common source-setKT-44483
JVM IR: CCE on calling generic vararg function reference with Array expected typeKT-44550
KotlinBinaryClassCache leaks Kotlin plugin classloader on plugin unloadKT-44546
NI: changed variable fixation order (that can lead to changed resolution)KT-44583
"Supertypes of the following classes cannot be resolved" error message gives no contextKT-44627
JVM IR: ACCIDENTAL_OVERRIDE when overriding a generic field where the type parameter has a primitive boundKT-44703
JVM / IR: "IllegalStateException: Unhandled special name in mangledNameFor" caused by a reference to inline class inside interface's companion with lazy initializationKT-44714
Debugger / Coroutines: Local variables are trimmed out too aggressivelyKT-44722
JVM IR: ClassCastException with inline class, let and bound function referenceKT-44726
JVM IR: Incorrect KType nullability for platform type reified as non-nullKT-44798
JVM IR: Inherited platform declarations clash for class implementing both List and SetKT-44801
1.4.30 JVM IR: Unbound symbols not allowed with anonymous objectKT-44803
FIR bootstrap: incorrect nullability is set for type alias-based typeKT-44827
Non-existing outer class is written in anonymous class for SAM wrapper in inline lambda with captureKT-44878
JVM_IR: "IllegalStateException: Unexpected types" when checking non-nullable variable isin
range between nullable ones with smart-castKT-44926
MPP: Actual typealias to compiled inline class incompatible with expect inline classKT-44974
LambdaConversionException in case of SAM-converted captuing extension lambdaKT-45008
JVM IR: hashCode is generated as invokeinterface if smart cast to interface is presentKT-45011
JVM / IR: "AssertionError: Unbound symbols not allowed"KT-45022
IR: "AssertionError: Undefined variable referenced" from psi2ir caused by plusAssign operator of objectKT-45064
JVM IR: "java.lang.AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" with member reference to property in another file with private setterKT-45069
JVM / IR: New SAM conversions mode fails when converting from Unit to AnyKT-45131
JVM / IR: "RuntimeException: Lambda, SAM or anonymous object should have only one constructor" caused by inline class that type cast to reified type parameter inside lambda in inline functionKT-45243
"IllegalStateException: Lambdas shouldn't be visited by ESExpressionVisitor" caused by lambda insidekotlin.test.assertNotNull
KT-45259
JVM: ClassCastException caused by Result as lambda parameter typeKT-45292
AssertionError with recursive inline extension propertyKT-45300
Deprecate super calls in public-api inline functionsKT-45409
Rename jspecify annotations’ package and default not null annotation
IDE
KT-44487
MPP, IDE: No error in IDE when sealed class inheritor from common source-set is not used in exhaustive when expression in platform source-setKT-45254
Highlighting for files with certain errors appears only on second opening
IDE. Decompiler, Indexing, Stubs
KT-43699
IDE: Unresolved extension method from Java code for simple class with typealias and generics (IllegalStateException: Unknown type parameter)KT-44756
Infinite "UpToDateStubIndexMismatch: PSI and index do not match." with IDEA 2021.1 EAP upon attempt to open "org.gradle.configurationcache" even they seem to be the same
IDE. Gradle Integration
KT-37127
Implement precise importing of platforms of root source sets (commonMain/commonTest) when hierarchical multiplatform support is enabled
IDE. Misc
KT-44675
Incorrect reference to resource into 202 plugin
IDE. Refactorings
KT-44839
Sealed interfaces: move refactoring warnings works with "more freedom for sealed classes" rules for language level < 1.5
IDE. Script
KT-43288
Allow push notifications about script configuration /dependencies changes via theScriptDefinitionsProvider
EP
JavaScript
KT-39272
KJS / IR: Can't use javascript keywords as JsNameKT-41650
JS IR BE:default
should be a reserved identifierKT-44433
KJS IR: support function interfaces with suspend memberKT-45059
KJS / IR: Add possibility for runtime diagnostics of DCE result
Libraries
KT-12109
Add stdlib method that combines mapNotNull() and first/firstOrNull()KT-26234
Floored division and remainder function for numeric typesKT-32996
kotlin.test: add assertContentEquals for comparing content of arrays, iterables, sequencesKT-42071
Strict version of String.toBoolean()KT-42720
Kotlin ArrayDeque on JVM: provide optimized toArray methodKT-42840
Commonize and generalize String.contentEquals that is currently JVM-onlyKT-44369
Commonize Char.titlecaseChar() and Char.titlecase() that are currently JVM-onlyKT-44783
Add IS_VALUE flag for value classes to kotlinx-metadata-jvmKT-44815
Remove kotlin-annotations-android and JVM compiler support for @ParameterName/@DefaultValue/@defaultnullKT-45213
Update Unicode version used in K/N for Char and String case conversion functions
Middle-end. IR
KT-45170
IR: "AssertionError: Single expression value for GET_OBJECT" caused by inc operator of field inside scope function inside object
Native
KT-44295
1.4.21 Kotlin native ndk compiler crashKT-44774
ld fails with CALL16 reloc at 0x48f00 not against global symbol (Linux MIPS)
Native. C and ObjC Import
KT-44824
cinterop tool no longer appends .klib to produced klibs
Native. ObjC Export
KT-44549
In the Xcode debug session, call stack is missing a frame when the iOS app fails
Native. Platforms
KT-45094
Fail to compile Kotlin Native sources under Oracle Linux 7
Reflection
KT-44594
Avoid using unnecessary array types reflection in kotlin-reflectKT-44782
Add KClass.isValue to kotlin-reflect
Tools. CLI
KT-45566
JDK 16 - e: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel
Tools. Gradle
KT-44361
Gradle: deprecate options includeRuntime, noStdlib, noReflectKT-44834
Gradle Kotlin DSL: AddlanguageSettings
configuration lambda withoutapply
call
Tools. Gradle. JS
KT-45574
Sync Kotlin/JS compile tasks into one folder (build/js/packages//kotlin)
Tools. JPS
KT-44644
Mark all@JvmMultifileClass
parts compiled in the previous round as dirty in the JPS plugin, similarly to how it’s done in the Gradle plugin
Tools. Scripts
KT-45194
KT: Generate Kotlin Entities script: it doesn't workKT-44580
Scripts: Unable to set new file annotation hooks after first snippet compilation
Tools. kapt
KT-45168
KAPT: Java stubs generated for Kotlin files generated by annotation processors
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.5.0-M2.zip | a94d8b05c89faa4765a0471dc52adb69db37193d351d10758529f54289a354dd |
kotlin-native-linux-1.5.0-M2.tar.gz | 9715e653ca5f2c4a48af83765bd3c2adb4f3acae48c94fc90db7f96aa83bf1c2 |
kotlin-native-macos-1.5.0-M2.tar.gz | 5fb4211b5fa872cd8d569c4f45ecd2bf0b0ec4162ed09fef50bb95347563ab7d |
kotlin-native-windows-1.5.0-M2.zip | 49851d0e24afa14214697be7cf12560717373e67e62ecdc3439c1be816bf2fc3 |