release notes
release notes
Published 3/29/2021
Pre-ReleasePre-releaseKT-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+KT-26060 Support a compiler mode to compile lambda expressions using invokedynamic instructionKT-42621 Kotlin binary size considerably larger for code extensively using stream APIKT-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 is in 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 inside kotlin.test.assertNotNullKT-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 annotationKT-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 openingKT-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 sameKT-37127 Implement precise importing of platforms of root source sets (commonMain/commonTest) when hierarchical multiplatform support is enabledKT-44675 Incorrect reference to resource into 202 pluginKT-44839 Sealed interfaces: move refactoring warnings works with "more freedom for sealed classes" rules for language level < 1.5KT-43288 Allow push notifications about script configuration /dependencies changes via the ScriptDefinitionsProvider EPKT-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 resultKT-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 functionsKT-45170 IR: "AssertionError: Single expression value for GET_OBJECT" caused by inc operator of field inside scope function inside objectKT-44295 1.4.21 Kotlin native ndk compiler crashKT-44774 ld fails with CALL16 reloc at 0x48f00 not against global symbol (Linux MIPS)KT-44824 cinterop tool no longer appends .klib to produced klibsKT-44549 In the Xcode debug session, call stack is missing a frame when the iOS app failsKT-45094 Fail to compile Kotlin Native sources under Oracle Linux 7KT-44594 Avoid using unnecessary array types reflection in kotlin-reflectKT-44782 Add KClass.isValue to kotlin-reflectKT-45566 JDK 16 - e: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevelKT-44361 Gradle: deprecate options includeRuntime, noStdlib, noReflectKT-44834 Gradle Kotlin DSL: Add languageSettings configuration lambda without apply callKT-45574 Sync Kotlin/JS compile tasks into one folder (build/js/packages//kotlin)KT-44644 Mark all [@JvmMultifileClass](https://github.com/JvmMultifileClass) parts compiled in the previous round as dirty in the JPS plugin, similarly to how it’s done in the Gradle pluginKT-45194 KT: Generate Kotlin Entities script: it doesn't workKT-44580 Scripts: Unable to set new file annotation hooks after first snippet compilationKT-45168 KAPT: Java stubs generated for Kotlin files generated by annotation processors| 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 |
release notes
Published 3/29/2021
Pre-ReleasePre-releaseKT-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+KT-26060 Support a compiler mode to compile lambda expressions using invokedynamic instructionKT-42621 Kotlin binary size considerably larger for code extensively using stream APIKT-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 is in 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 inside kotlin.test.assertNotNullKT-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 annotationKT-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 openingKT-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 sameKT-37127 Implement precise importing of platforms of root source sets (commonMain/commonTest) when hierarchical multiplatform support is enabledKT-44675 Incorrect reference to resource into 202 pluginKT-44839 Sealed interfaces: move refactoring warnings works with "more freedom for sealed classes" rules for language level < 1.5KT-43288 Allow push notifications about script configuration /dependencies changes via the ScriptDefinitionsProvider EPKT-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 resultKT-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 functionsKT-45170 IR: "AssertionError: Single expression value for GET_OBJECT" caused by inc operator of field inside scope function inside objectKT-44295 1.4.21 Kotlin native ndk compiler crashKT-44774 ld fails with CALL16 reloc at 0x48f00 not against global symbol (Linux MIPS)KT-44824 cinterop tool no longer appends .klib to produced klibsKT-44549 In the Xcode debug session, call stack is missing a frame when the iOS app failsKT-45094 Fail to compile Kotlin Native sources under Oracle Linux 7KT-44594 Avoid using unnecessary array types reflection in kotlin-reflectKT-44782 Add KClass.isValue to kotlin-reflectKT-45566 JDK 16 - e: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevelKT-44361 Gradle: deprecate options includeRuntime, noStdlib, noReflectKT-44834 Gradle Kotlin DSL: Add languageSettings configuration lambda without apply callKT-45574 Sync Kotlin/JS compile tasks into one folder (build/js/packages//kotlin)KT-44644 Mark all [@JvmMultifileClass](https://github.com/JvmMultifileClass) parts compiled in the previous round as dirty in the JPS plugin, similarly to how it’s done in the Gradle pluginKT-45194 KT: Generate Kotlin Entities script: it doesn't workKT-44580 Scripts: Unable to set new file annotation hooks after first snippet compilationKT-45168 KAPT: Java stubs generated for Kotlin files generated by annotation processors| 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 |
The Kotlin Programming Language.