Releases: JetBrains/kotlin
Releases · JetBrains/kotlin
Kotlin 1.3.60 EAP 3
CHANGELOG
1.3.60 EAP 3
Compiler
KT-18541Prohibit "tailrec" modifier on open functionsKT-19844Do not render type annotations on symbols rendered in diagnostic messagesKT-24913KotlinFrontEndException with local class in init of generic classKT-31540Change initialization order of default values for tail recursive optimized functions
IDE
KT-21153IDE: string template + annotation usage: ISE: "Couldn't get delegate" at LightClassDataHolderKt.findDelegate()KT-33352"KotlinExceptionWithAttachments: Couldn't get delegate for class" on nested class/objectKT-34042"Error loading Kotlin facets. Kotlin facets are not allowed in Kotlin/Native Module" in 192 IDEAKT-34237MPP with Android target:common*source sets are not shown as source roots in IDE
IDE. Debugger
KT-11395Breakpoint inside lambda argument of InlineOnly function doesn't work
IDE. Gradle
KT-32960KotlinMPPGradleModelBuilder takes a long time to process when syncing non-MPP project with IDEKT-34424With Kotlin plugin in Gradle project without Native the IDE fails to start Gradle task: "Kotlin/Native properties file is absent at null/konan/konan.properties"
IDE. Inspections and Intentions
KT-32965False positive "Redundant qualifier name" with nested enum member callKT-33597False positive "Redundant qualifier name" with class property initialized with same-named object propertyKT-33991False positive "Redundant qualifier name" with enum member function callKT-34113False positive "Redundant qualifier name" with Enum.values() from a different Enum
IDE. Run Configurations
KT-34366Implement gutters for running tests (multi-platform projects)
Libraries
KT-33864Read from pseudo-file system is empty
Tools. CLI
KT-24966Classloader problems when running basic kafka example withkotlinandkotlinc
Tools. Gradle
KT-33980Read the granular source sets metadata flag value once and cache it for the current Gradle buildKT-34312UnsupportedOperationException onrequiresVisibilityOfin the Kotlin Gradle plugin
Tools. Gradle. JS
KT-32319Gradle, js, webpack: source-map-loader failed to load source contents from relative urlsKT-33417NodeTest failed with error "Failed to create MD5 hash" after NodeRun is executedKT-33747Exception doesn't fail the test in kotlin js node runner
Tools. J2K
KT-19355"Variable expected" error after J2K for increment/decrement of an object fieldKT-19569Java wrappers for primitives are converted to nullable types with nullability errors in KotlinKT-30643J2K: wrong position of TYPE_USE annotationKT-32518Nullability information is lost after J2K convertion of constructor with null parameterKT-33941J2K: Overload resolution ambiguity with assertThat andStackOverflowErrorin IDEAKT-33942New J2K:StackOverflowErrorfromorg.jetbrains.kotlin.nj2k.inference.common.BoundTypeCalculatorImpl.boundTypeUnenhancedKT-34164J2K: on converting static method references in other .java sources are not correctedKT-34165J2K: imports are lost in conversion, references resolve to different same-named classesKT-34266Multiple errors after converting Java class implementing an interface from another file
Tools. Scripts
KT-33892REPL/Script: Implement mechanism for resolve top-level functions and properties from classloaderKT-34294SamWithReceiver cannot be used with new scripting API
Tools. kapt
KT-33503Kapt, Spring Boot: "Could not resolve all files for configuration ':_classStructurekaptKotlin'"
Kotlin Native
Related Kotlin Native changelog can be found separately.
Previous releases
This release also includes the fixes and improvements from the previous EAP release.
Kotlin 1.3.60 EAP 2
CHANGELOG
1.3.60 EAP 2
Compiler
KT-18541Prohibit "tailrec" modifier on open functionsKT-19844Do not render type annotations on symbols rendered in diagnostic messagesKT-24913KotlinFrontEndException with local class in init of generic classKT-28940Concurrency issue for lazy values with the post-computation phaseKT-31540Change initialization order of default values for tail recursive optimized functions
IDE
KT-21153IDE: string template + annotation usage: ISE: "Couldn't get delegate" at LightClassDataHolderKt.findDelegate()KT-33352"KotlinExceptionWithAttachments: Couldn't get delegate for class" on nested class/objectKT-34042"Error loading Kotlin facets. Kotlin facets are not allowed in Kotlin/Native Module" in 192 IDEAKT-34237MPP with Android target:common*source sets are not shown as source roots in IDE
IDE. Debugger
KT-11395Breakpoint inside lambda argument of InlineOnly function doesn't work
IDE. Gradle
KT-32960KotlinMPPGradleModelBuilder takes a long time to process when syncing non-MPP project with IDEKT-34424With Kotlin plugin in Gradle project without Native the IDE fails to start Gradle task: "Kotlin/Native properties file is absent at null/konan/konan.properties"
IDE. Inspections and Intentions
KT-32965False positive "Redundant qualifier name" with nested enum member callKT-33597False positive "Redundant qualifier name" with class property initialized with same-named object propertyKT-33991False positive "Redundant qualifier name" with enum member function callKT-34113False positive "Redundant qualifier name" with Enum.values() from a different Enum
IDE. Run Configurations
KT-34366Implement gutters for running tests (multi-platform projects)
Libraries
KT-33864Read from pseudo-file system is empty
Tools. CLI
KT-24966Classloader problems when running basic kafka example withkotlinandkotlinc
Tools. Gradle
KT-33980Read the granular source sets metadata flag value once and cache it for the current Gradle buildKT-34312UnsupportedOperationException onrequiresVisibilityOfin the Kotlin Gradle plugin
Tools. Gradle. JS
KT-32319Gradle, js, webpack: source-map-loader failed to load source contents from relative urlsKT-33417NodeTest failed with error "Failed to create MD5 hash" after NodeRun is executedKT-33747Exception doesn't fail the test in kotlin js node runner
Tools. J2K
KT-19355"Variable expected" error after J2K for increment/decrement of an object fieldKT-19569Java wrappers for primitives are converted to nullable types with nullability errors in KotlinKT-30643J2K: wrong position of TYPE_USE annotationKT-32518Nullability information is lost after J2K convertion of constructor with null parameterKT-33941J2K: Overload resolution ambiguity with assertThat andStackOverflowErrorin IDEAKT-33942New J2K:StackOverflowErrorfromorg.jetbrains.kotlin.nj2k.inference.common.BoundTypeCalculatorImpl.boundTypeUnenhancedKT-34164J2K: on converting static method references in other .java sources are not correctedKT-34165J2K: imports are lost in conversion, references resolve to different same-named classesKT-34266Multiple errors after converting Java class implementing an interface from another file
Tools. Scripts
KT-33892REPL/Script: Implement mechanism for resolve top-level functions and properties from classloaderKT-34294SamWithReceiver cannot be used with new scripting API
Tools. kapt
KT-33503Kapt, Spring Boot: "Could not resolve all files for configuration ':_classStructurekaptKotlin'"
Kotlin Native
Related Kotlin Native changelog can be found separately.
Previous releases
This release also includes the fixes and improvements from the previous EAP release.
Kotlin 1.3.60 EAP 1
CHANGELOG
1.3.60
Android
KT-27170Android lint tasks fails in Gradle with MPP dependency
Compiler
New Features
KT-31230Refine rules for allowed Array-based class literals on different platforms: allowArray::classeverywhere, disallowArray<...>::classon non-JVMKT-33413Allow 'break' and 'continue' in 'when' statement to point to innermost surrounding loop
Performance Improvements
KT-14513Suboptimal compilation of lazy delegated properties with inline getValueKT-28507Extra InlineMarker.mark invocation in generated suspending function bytecodeKT-29229Intrinsify 'in' operator for unsigned integer ranges
Fixes
KT-7354Confusing error message when trying to access package local java classKT-9310Don't make interface and DefaultImpls methods synchronizedKT-11430Improve diagnostics for dangling lambdasKT-16526Provide better error explanation when one tries to delegate var to read-only delegateKT-20258Improve annotation rendering in diagnostic messagesKT-22275Unify exceptions from null checksKT-27503Private functions uses from inside of suspendCoroutine go though accessorKT-28938Coroutines tail-call optimization does not work for generic returns that had instantiated to UnitKT-29385"AnalyzerException: Expected an object reference, but found I" for EXACTLY_ONCE non-inline contract with captured class constructor parameterKT-29510"RuntimeException: Trying to access skipped parameter" with EXACTLY_ONCE contract and nested call of crossinline lambdaKT-29614java.lang.VerifyError: Bad type on operand stack - in inlining, crossinline in constructor with EXACTLY_ONCE contractKT-30275Get rid of session in FirElementKT-30744Invoking Interface Static Method from Extension method generates incorrect jvm bytecodeKT-30785Equality comparison of inline classes results in boxingKT-32217FIR: support delegated properties resolveKT-32433NI: UninferredParameterTypeConstructor with class propertyKT-32587NI: Type mismatch "String" vs "String" in IDE on generic .invoke on generic delegated propertyKT-32689Shuffled line numbers in suspend functions with elvis operatorKT-32851Constraint for callable reference argument doesn't take into account use-site varianceKT-32864The line number of assertFailsWith in suspending function is lostKT-33125NI: "Rewrite at slice INDEXED_LVALUE_SET" with Mutable Map set index operator inside "@kotlin.BuilderInference" blockKT-33414'java.lang.AssertionError: int type expected, but null was found in basic frames' in kotlin-io while building library trainKT-33421Please make NOTHING_TO_INLINE warning shorterKT-33504EA-209823 - ISE: ProjectResolutionFacade$computeModuleResolverProvider$resolverForProject$$.invoke: Can't find builtIns by key CacheKeyBySdkKT-33572Scripting import with implicit receiver doesn't workKT-33821Compiler should not rely on the default locale when generating boxing for suspend functions
Docs & Examples
KT-26212Update docs to explicitly mention that union is opposite of intersectKT-34086Website, stdlib api docs: unresolved link jvm/stdlib/kotlin.text/-charsets/Charset
IDE
Fixes
KT-8581'Move Statement' doesn't work for statement finished by semicolonKT-9204Shorten references and some other IDE features have problem when package name clash with class nameKT-17993Annotations are colored the same as language keywordsKT-21037LazyLightClassMemberMatchingError$WrongMatch “Matched :BAR MemberIndex(index=0) to :BAR MemberIndex(index=1) in KtLightClassImpl” after duplicating values inside enum classKT-23305We should be able to see platform-specific errors in common moduleKT-23461Move statement up/downattaches a comment block to the function being movedKT-26960IDE doesn't reportactualwithoutexpectplaced into a custom platform-agnostic source setKT-27243LazyLightClassMemberMatchingError when overriding hidden memberKT-28404Gradle configuration page is missing from a New Project Wizard creation flow for multiplatform templatesKT-30824No highlighting of declaration/usage of function with functional-type (lambda) parameter on its usageKT-31117AssertionError atCompletionBindingContextProvider._getBindingContextwhen typing any character within string with injected KotlinKT-31139"Override members" on enum inserts semicolon before enum bodyKT-31810Paste inside indented.trimIndent()raw string doesn't respect indentationKT-32401Exceptions while running IDEA in headless mode for building searchable optionsKT-32543UltraLight support for Kotlin collections.KT-32544Support UltraLight classes for local/anonymous/enum classesKT-327992019.2 RC (192.5728.74) Kotlin plugin exception during build searchable options (Directory index may not be queried for default project)KT-33008IDEA does not report in MPP: Upper bound of a type parameter cannot be an arrayKT-33316Kotlin Facet: make sure the order of allPlatforms value is fixedKT-33561LazyLightClassMemberMatchingError when overloading synthetic memberKT-33584Make kotlin light classes return no-arg constructor when no-arg (or jpa) compiler plugin is enabledKT-33775please remove usages of org.intellij.plugins.intelliLang.inject.InjectorUtils#putInjectedFileUserData(com.intellij.lang.injection.MultiHostRegistrar, com.intellij.openapi.util.Key, T) deprecated eons agoKT-33813Poor formatting of 'Selected target platforms' and 'Depends on' in facet settingsKT-33937delay() completion from kotlinx.coroutines causes happening of root package in codeKT-33973Kotlin objects could abuse idea plugin functionalityKT-34000Import quickfix does not work for extension methods from objectsKT-34070"No target platforms selected" message for commonTest facet at mobile shared library projectKT-34191Since-build .. until-build compatibility ranges are the same for 192 and 193 IDE plugins
IDE. Completion
KT-10340Import completion unable to shorten fq-names when there is a conflict between package name and local identifierKT-17689Code completion for enum typealias doesn't show membersKT-28998Slow completion for build.gradle.kts (Kotlin Gradle DSL script)KT-30996DSL extension methods which are not applicable are offered for completionKT-31902Fully qualified name is used fordelayinstead of import and just method name
...
1.3.50
Content
The release contains the JVM version of Kotlin compiler and also one native system dependent version for every major platform (Linux, macOS, and Windows).
CHANGELOG
1.3.50
Compiler
KT-12787Debugger: Generate line number at end of function (to set a breakpoint on the last line of the block)KT-23675"Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.FrameMapBase.getIndex, parameter descriptor" when classes are defined inside an anonymous extension function and access a field of the extension function'sthisinstanceKT-24596Refactor / Inline const property does not insert its value into usage in annotationKT-25497kotlinx.serialization - throws Backend Internal error exception during code generation of sealed classesKT-28927"IllegalStateException: Arrays of class literals are not supported yet" in AnnotationDeserializer.resolveArrayElementTypeKT-31070IndexOutOfBoundsException in Analyzer with @jvmoverloads constructor with 34+ parametersKT-31265FIR: experimental compilerKT-31535False positives from compiler warning IMPLICIT_NOTHING_AS_TYPE_PARAMETERKT-31969NI: false positive USELESS_ELVIS with multiple elvis callsKT-32044For loop over full UByte range terminates at UInt bound.KT-25432No smartcast on qualifier expression of captured typeKT-30796psi2ir generates IrErrorType for elvis with generic type having nullable upper-bound when expected type is not nullableKT-31242"Can't find enclosing method" proguard compilation exception with inline and crossinlineKT-31347"IndexOutOfBoundsException: Insufficient maximum stack size" with crossinline and suspendKT-31367IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []KT-31734Empty parameter list required on Annotations of function typesKT-32434New type inference fails for Caffeine CacheKT-32452Kotlin 1.3.40 - problem in IDE with new type inference and suspending method referenceKT-32407NI: "use property access syntax" intention causes freezes in editorKT-33127Script result value is not calculated properly for the last expressionKT-33157Inline class with generic method is considered bad class by javac
Docs & Examples
KT-16602Provide examples of sorting API usageKT-32353Document order of array elements initialization
IDE
New Features
KT-28098Insert space after automatically closed right brace of nested lambda to follow code style
Fixes
KT-16476Extend selection (Select Word) doesn't select just KDoc if cursor is just before the KDocKT-21374Imports optimized tooltip is displayed, even if no changes were madeKT-21422IDE can't import class from root packageKT-27344MPP: jvmWithJava: no IDE module dependency is created between Kotlin test and Java main on import; Gradle build is successfulKT-29667Kotlin update settings has wrong looking text boxes for versionsKT-30133Update copyright creates duplicates for build.gradle.kts filesKT-30782'Show Method Separators' does not separate expression body Kotlin functionsKT-31022Quick definitiondoes not show Kotlin code in Java filesKT-31499"Extend selection" selects escaped identifier name together with backticksKT-31595"Complete current statement" for method call closes brace at wrong placeKT-31637NPE in IDE when organizing importsKT-31786KNPE at copy attempt due to kdoc referenceKT-32276Fix flaky test for ultra light classesKT-32364Remove deprecated usages of OUT_OF_CODE_BLOCK_MODIFICATION_COUNT and write a replacement for Kotlin languageKT-32370Lambdas should have implicitreturnin Kotlin UastKT-12096Spring: rename of Kotlin bean defined in@Beanannotation failsKT-28193Exception: Mirror element should never be calculated for light classes generated from a single fileKT-28822Dependencies in Kotlin MPP project could be wrongly resolved if project was not build before importKT-29267Enable ultra-light classes by defaultKT-31129Call only Kotlin-specific reference contributors for getting Kotlin references from PSIKT-32082Kotlin facet: 1.3.40 plugin does not properly read target platform settings of 1.3.50 pluginKT-32969Data class extending abstract class with finaltoString,equalsorhashCodecauses exceptionKT-33245IllegalArgumentException exception occurs on Tools->Configure Koltin in Project action in Android Studio
IDE. Completion
KT-9792Don't propose the same name for arguments of lambda on completion of function call with lambda templateKT-29572Smart completing anonymous object uses incorrect code styleKT-25264Freeze in Kotlin file on completionKT-32519Keyword completion: support fixing layout and typo tolerance
IDE. Debugger
New Features
KT-30740Display more information about variables when breakpoint is set inside lambda expression
Fixes
KT-8579Debugger: Evaluate expression fails at typed arraysKT-10183Debugger: receiver properties are not shown inline in extension functionKT-11663Assignment is not possible in Evaluate expressionKT-11706Attempts to evaluate java method calls on 'Array' instance in debugger fail with NoSuchMethodErrorKT-11888Evaluate Expression for expression with synchronizedKT-11938Empty condition is marked as errorKT-13188Cannot evaluate expression with local extension functionKT-14421Debugger: breakpoint set on trivial if/while is not hitKT-15259Debug: closing brace of object definition is considered executable; ISE: "Don't call this method for local declarations: OBJECT_DECLARATION" at LazyDeclarationResolver.getMemberScopeDeclaredIn()KT-19084Breakpoints on Debugger altering ResultKT-19556Kotlin exception while debugging IJ plugin codeKT-19980Debug: evaluation fails for setter of member extention propertyKT-20560Evaluate expression doesn't work for super method callKT-23526In *.kts scripts, debugger ignores breakpoints in top-level statements and membersKT-24914AS: Uninitialized yet lazy properties called on first debug point reachKT-26742Debugger can't evaluate expected top-level function from common codeKT-30120False positive "Unused equals expression" in e...
Kotlin 1.3.50 EAP 3
CHANGELOG
1.3.50
Compiler
KT-12787Debugger: Generate line number at end of function (to set a breakpoint on the last line of the block)KT-23675"Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.FrameMapBase.getIndex, parameter descriptor" when classes are defined inside an anonymous extension function and access a field of the extension function'sthisinstanceKT-24596Refactor / Inline const property does not insert its value into usage in annotationKT-25497kotlinx.serialization - throws Backend Internal error exception during code generation of sealed classesKT-28927"IllegalStateException: Arrays of class literals are not supported yet" in AnnotationDeserializer.resolveArrayElementTypeKT-31070IndexOutOfBoundsException in Analyzer with @jvmoverloads constructor with 34+ parametersKT-31265FIR: experimental compilerKT-31535False positives from compiler warning IMPLICIT_NOTHING_AS_TYPE_PARAMETERKT-31969NI: false positive USELESS_ELVIS with multiple elvis callsKT-32044For loop over full UByte range terminates at UInt bound.KT-25432No smartcast on qualifier expression of captured typeKT-30796psi2ir generates IrErrorType for elvis with generic type having nullable upper-bound when expected type is not nullableKT-31242"Can't find enclosing method" proguard compilation exception with inline and crossinlineKT-31347"IndexOutOfBoundsException: Insufficient maximum stack size" with crossinline and suspendKT-31367IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []KT-31734Empty parameter list required on Annotations of function typesKT-32434New type inference fails for Caffeine CacheKT-32452Kotlin 1.3.40 - problem in IDE with new type inference and suspending method referenceKT-32407NI: "use property access syntax" intention causes freezes in editorKT-33127Script result value is not calculated properly for the last expressionKT-33157Inline class with generic method is considered bad class by javac
Docs & Examples
KT-16602Provide examples of sorting API usageKT-32353Document order of array elements initialization
IDE
New Features
KT-28098Insert space after automatically closed right brace of nested lambda to follow code style
Fixes
KT-16476Extend selection (Select Word) doesn't select just KDoc if cursor is just before the KDocKT-21374Imports optimized tooltip is displayed, even if no changes were madeKT-21422IDE can't import class from root packageKT-27344MPP: jvmWithJava: no IDE module dependency is created between Kotlin test and Java main on import; Gradle build is successfulKT-29667Kotlin update settings has wrong looking text boxes for versionsKT-30133Update copyright creates duplicates for build.gradle.kts filesKT-30782'Show Method Separators' does not separate expression body Kotlin functionsKT-31022Quick definitiondoes not show Kotlin code in Java filesKT-31499"Extend selection" selects escaped identifier name together with backticksKT-31595"Complete current statement" for method call closes brace at wrong placeKT-31637NPE in IDE when organizing importsKT-31786KNPE at copy attempt due to kdoc referenceKT-32276Fix flaky test for ultra light classesKT-32364Remove deprecated usages of OUT_OF_CODE_BLOCK_MODIFICATION_COUNT and write a replacement for Kotlin languageKT-32370Lambdas should have implicitreturnin Kotlin UastKT-12096Spring: rename of Kotlin bean defined in@Beanannotation failsKT-28193Exception: Mirror element should never be calculated for light classes generated from a single fileKT-28822Dependencies in Kotlin MPP project could be wrongly resolved if project was not build before importKT-29267Enable ultra-light classes by defaultKT-31129Call only Kotlin-specific reference contributors for getting Kotlin references from PSIKT-32082Kotlin facet: 1.3.40 plugin does not properly read target platform settings of 1.3.50 pluginKT-32969Data class extending abstract class with finaltoString,equalsorhashCodecauses exceptionKT-33245IllegalArgumentException exception occurs on Tools->Configure Koltin in Project action in Android Studio
IDE. Completion
KT-9792Don't propose the same name for arguments of lambda on completion of function call with lambda templateKT-29572Smart completing anonymous object uses incorrect code styleKT-25264Freeze in Kotlin file on completion
IDE. Debugger
New Features
KT-30740Display more information about variables when breakpoint is set inside lambda expression
Fixes
KT-8579Debugger: Evaluate expression fails at typed arraysKT-10183Debugger: receiver properties are not shown inline in extension functionKT-11663Assignment is not possible in Evaluate expressionKT-11706Attempts to evaluate java method calls on 'Array' instance in debugger fail with NoSuchMethodErrorKT-11888Evaluate Expression for expression with synchronizedKT-11938Empty condition is marked as errorKT-13188Cannot evaluate expression with local extension functionKT-14421Debugger: breakpoint set on trivial if/while is not hitKT-15259Debug: closing brace of object definition is considered executable; ISE: "Don't call this method for local declarations: OBJECT_DECLARATION" at LazyDeclarationResolver.getMemberScopeDeclaredIn()KT-19084Breakpoints on Debugger altering ResultKT-19556Kotlin exception while debugging IJ plugin codeKT-19980Debug: evaluation fails for setter of member extention propertyKT-20560Evaluate expression doesn't work for super method callKT-23526In *.kts scripts, debugger ignores breakpoints in top-level statements and membersKT-24914AS: Uninitialized yet lazy properties called on first debug point reachKT-26742Debugger can't evaluate expected top-level function from common codeKT-30120False positive "Unused equals expression" in evaluate expression windowKT-30730Missing tooltip for "Kotlin variables view" buttonKT-30919Debugger's "Kotlin View" doesn't show variables inside lambdas- [
KT-30976](https://yout...
Kotlin 1.3.50 EAP 2
CHANGELOG
1.3.50
Compiler
KT-12787Debugger: Generate line number at end of function (to set a breakpoint on the last line of the block)KT-23675"Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.FrameMapBase.getIndex, parameter descriptor" when classes are defined inside an anonymous extension function and access a field of the extension function'sthisinstanceKT-24596Refactor / Inline const property does not insert its value into usage in annotationKT-25497kotlinx.serialization - throws Backend Internal error exception during code generation of sealed classesKT-28927"IllegalStateException: Arrays of class literals are not supported yet" in AnnotationDeserializer.resolveArrayElementTypeKT-31070IndexOutOfBoundsException in Analyzer with @jvmoverloads constructor with 34+ parametersKT-31265FIR: experimental compilerKT-31535False positives from compiler warning IMPLICIT_NOTHING_AS_TYPE_PARAMETERKT-31969NI: false positive USELESS_ELVIS with multiple elvis callsKT-32044For loop over full UByte range terminates at UInt bound.KT-25432No smartcast on qualifier expression of captured typeKT-30796psi2ir generates IrErrorType for elvis with generic type having nullable upper-bound when expected type is not nullableKT-31242"Can't find enclosing method" proguard compilation exception with inline and crossinlineKT-31347"IndexOutOfBoundsException: Insufficient maximum stack size" with crossinline and suspendKT-31367IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []KT-31734Empty parameter list required on Annotations of function typesKT-32434New type inference fails for Caffeine CacheKT-32452Kotlin 1.3.40 - problem in IDE with new type inference and suspending method reference
Docs & Examples
KT-16602Provide examples of sorting API usageKT-32353Document order of array elements initialization
IDE
New Features
KT-28098Insert space after automatically closed right brace of nested lambda to follow code style
Fixes
KT-16476Extend selection (Select Word) doesn't select just KDoc if cursor is just before the KDocKT-21374Imports optimized tooltip is displayed, even if no changes were madeKT-21422IDE can't import class from root packageKT-27344MPP: jvmWithJava: no IDE module dependency is created between Kotlin test and Java main on import; Gradle build is successfulKT-29667Kotlin update settings has wrong looking text boxes for versionsKT-30133Update copyright creates duplicates for build.gradle.kts filesKT-30782'Show Method Separators' does not separate expression body Kotlin functionsKT-31022Quick definitiondoes not show Kotlin code in Java filesKT-31499"Extend selection" selects escaped identifier name together with backticksKT-31595"Complete current statement" for method call closes brace at wrong placeKT-31637NPE in IDE when organizing importsKT-31786KNPE at copy attempt due to kdoc referenceKT-32276Fix flaky test for ultra light classesKT-32364Remove deprecated usages of OUT_OF_CODE_BLOCK_MODIFICATION_COUNT and write a replacement for Kotlin languageKT-32370Lambdas should have implicitreturnin Kotlin UastKT-12096Spring: rename of Kotlin bean defined in@Beanannotation failsKT-28193Exception: Mirror element should never be calculated for light classes generated from a single fileKT-28822Dependencies in Kotlin MPP project could be wrongly resolved if project was not build before importKT-29267Enable ultra-light classes by defaultKT-31129Call only Kotlin-specific reference contributors for getting Kotlin references from PSIKT-32082Kotlin facet: 1.3.40 plugin does not properly read target platform settings of 1.3.50 plugin
IDE. Completion
KT-9792Don't propose the same name for arguments of lambda on completion of function call with lambda templateKT-29572Smart completing anonymous object uses incorrect code styleKT-25264Freeze in Kotlin file on completion
IDE. Debugger
New Features
KT-30740Display more information about variables when breakpoint is set inside lambda expression
Fixes
KT-8579Debugger: Evaluate expression fails at typed arraysKT-10183Debugger: receiver properties are not shown inline in extension functionKT-11663Assignment is not possible in Evaluate expressionKT-11706Attempts to evaluate java method calls on 'Array' instance in debugger fail with NoSuchMethodErrorKT-11888Evaluate Expression for expression with synchronizedKT-11938Empty condition is marked as errorKT-13188Cannot evaluate expression with local extension functionKT-14421Debugger: breakpoint set on trivial if/while is not hitKT-15259Debug: closing brace of object definition is considered executable; ISE: "Don't call this method for local declarations: OBJECT_DECLARATION" at LazyDeclarationResolver.getMemberScopeDeclaredIn()KT-19084Breakpoints on Debugger altering ResultKT-19556Kotlin exception while debugging IJ plugin codeKT-19980Debug: evaluation fails for setter of member extention propertyKT-20560Evaluate expression doesn't work for super method callKT-23526In *.kts scripts, debugger ignores breakpoints in top-level statements and membersKT-24914AS: Uninitialized yet lazy properties called on first debug point reachKT-26742Debugger can't evaluate expected top-level function from common codeKT-30120False positive "Unused equals expression" in evaluate expression windowKT-30730Missing tooltip for "Kotlin variables view" buttonKT-30919Debugger's "Kotlin View" doesn't show variables inside lambdasKT-30976Debugger: No access to receiver evaluating named parameters during call to extension functionKT-31418java.lang.ClassCastException : java.lang.annotation.Annotation[] cannot be cast to byte[]KT-31510isDumb should be used only under read action: KotlinEvaluatorKT-31702Debugger can't stop on breakpoint onUnitexpression from coroutine contextKT-31709Evaluate: "IllegalArgumentException: Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen...
Kotlin 1.3.50 EAP 1
1.3.50
Compiler
KT-12787Debugger: Generate line number at end of function (to set a breakpoint on the last line of the block)KT-23675"Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.FrameMapBase.getIndex, parameter descriptor" when classes are defined inside an anonymous extension function and access a field of the extension function'sthisinstanceKT-24596Refactor / Inline const property does not insert its value into usage in annotationKT-25497kotlinx.serialization - throws Backend Internal error exception during code generation of sealed classesKT-28927"IllegalStateException: Arrays of class literals are not supported yet" in AnnotationDeserializer.resolveArrayElementTypeKT-31070IndexOutOfBoundsException in Analyzer with @jvmoverloads constructor with 34+ parametersKT-31265FIR: experimental compilerKT-31535False positives from compiler warning IMPLICIT_NOTHING_AS_TYPE_PARAMETERKT-31969NI: false positive USELESS_ELVIS with multiple elvis callsKT-32044For loop over full UByte range terminates at UInt bound.
IDE
New Features
KT-28098Insert space after automatically closed right brace of nested lambda to follow code style
Fixes
KT-16476Extend selection (Select Word) doesn't select just KDoc if cursor is just before the KDocKT-21374Imports optimized tooltip is displayed, even if no changes were madeKT-21422IDE can't import class from root packageKT-27344MPP: jvmWithJava: no IDE module dependency is created between Kotlin test and Java main on import; Gradle build is successfulKT-29667Kotlin update settings has wrong looking text boxes for versionsKT-30133Update copyright creates duplicates for build.gradle.kts filesKT-30782'Show Method Separators' does not separate expression body Kotlin functionsKT-31022Quick definitiondoes not show Kotlin code in Java filesKT-31499"Extend selection" selects escaped identifier name together with backticksKT-31595"Complete current statement" for method call closes brace at wrong placeKT-31637NPE in IDE when organizing importsKT-31786KNPE at copy attempt due to kdoc referenceKT-32276Fix flaky test for ultra light classesKT-32364Remove deprecated usages of OUT_OF_CODE_BLOCK_MODIFICATION_COUNT and write a replacement for Kotlin languageKT-32370Lambdas should have implicitreturnin Kotlin Uast
IDE. Completion
KT-9792Don't propose the same name for arguments of lambda on completion of function call with lambda templateKT-29572Smart completing anonymous object uses incorrect code style
IDE. Debugger
New Features
KT-30740Display more information about variables when breakpoint is set inside lambda expression
Fixes
KT-8579Debugger: Evaluate expression fails at typed arraysKT-10183Debugger: receiver properties are not shown inline in extension functionKT-11663Assignment is not possible in Evaluate expressionKT-11706Attempts to evaluate java method calls on 'Array' instance in debugger fail with NoSuchMethodErrorKT-11888Evaluate Expression for expression with synchronizedKT-11938Empty condition is marked as errorKT-13188Cannot evaluate expression with local extension functionKT-14421Debugger: breakpoint set on trivial if/while is not hitKT-15259Debug: closing brace of object definition is considered executable; ISE: "Don't call this method for local declarations: OBJECT_DECLARATION" at LazyDeclarationResolver.getMemberScopeDeclaredIn()KT-19084Breakpoints on Debugger altering ResultKT-19556Kotlin exception while debugging IJ plugin codeKT-19980Debug: evaluation fails for setter of member extention propertyKT-20560Evaluate expression doesn't work for super method callKT-23526In *.kts scripts, debugger ignores breakpoints in top-level statements and membersKT-24914AS: Uninitialized yet lazy properties called on first debug point reachKT-26742Debugger can't evaluate expected top-level function from common codeKT-30120False positive "Unused equals expression" in evaluate expression windowKT-30730Missing tooltip for "Kotlin variables view" buttonKT-30919Debugger's "Kotlin View" doesn't show variables inside lambdasKT-30976Debugger: No access to receiver evaluating named parameters during call to extension functionKT-31418java.lang.ClassCastException : java.lang.annotation.Annotation[] cannot be cast to byte[]KT-31510isDumb should be used only under read action: KotlinEvaluatorKT-31702Debugger can't stop on breakpoint onUnitexpression from coroutine contextKT-31709Evaluate: "IllegalArgumentException: Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.FrameMapBase.getIndex, parameter descriptor" with nested lambda member access
IDE. Gradle
KT-19693Import package prefix from GradleKT-30667Dependencies of a module on a multiplatform one with a JVM target andwithJava()configured, are incorrectly resolved in IDEKT-32300Add possibility to distinguish kotlin source root from java source root
IDE. Gradle. Script
KT-31779"Highlighting in scripts is not available"
IDE. Inspections and Intentions
New Features
KT-8958ReplaceWith intention message could be more helpful in case of generic substitutionKT-12515Quickfix "by Delegates.notNull()" as replacement for "lateinit" for primitive typeKT-14344Suggest to replace manual range with explicitindicescall or iteration over collectionKT-17916Import popup does not indicate deprecated classesKT-23501Add intention for converting ordinary properties to 'lazy' and vise versaKT-25006Add inspection "'equals()' between objects of inconvertible primitive / enum / string types"KT-27353Quickfix to add a constructor parameter from parent class to child classKT-30124Add inspection to replace java.util.Arrays.equals with contentEqualsKT-30640Add inspection for check/require/checkNotNull/requireNotNullKT-30775Inspection for the case when one lateinit var overrides another lateinit varKT-31476Improve "Create expect..." quickfixKT-31533Make "Add operator modifier" an inspection instead of intentionKT-31795Inspection: simplify property setter with custom visibilit...
1.3.41
1.3.41
Compiler
KT-31981New type inference asks to use ?. on non-null local variableKT-32029Exception when callable reference is resolved against unresolved typeKT-32037No coercion to Unit for last expression with lambda in code blockKT-32038Unsubstituted stub type cause type mismatch later for builder inferenceKT-32051NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER on matching Nothing with generic type parameterKT-32081New type inference fails involving Either and NothingKT-32089False positive IMPLICIT_NOTHING_AS_TYPE_PARAMETER with lambdasKT-32094NI: member from star import has higher resolution priority than member imported by FQNKT-32116Type inference for HashMap<,> fails but compilesKT-32123Wrong unused import for extension methodKT-32133Regression in Kotlin 1.3.40 new inference engineKT-32134java.lang.Throwable: Resolution error of this type shouldn't occur for resolve try as a callfor incomplete try-constructionKT-321431.3.40 new inference: backward incompatibility in method calls with multiple SAM argumentsKT-32154setOf(Map.Entry<*, *>::key) gives error on IDEKT-32157Issue with new type inference in unbounded genericsKT-32175New Type Inference Algorithm, RxJava and IDE-Compiler InconsistencyKT-32184NI: Argument for @NotNull parameter 'type' of org/jetbrains/kotlin/types/CommonSupertypes.depth must not be nullKT-32187Exception when using callable reference with an unresolved LHSKT-32218Cannot call get on a Map<out Any,Any> with new type systemKT-32230New inference not working with RxJava combineLatestKT-32235New type inference failure withincheck
JavaScript
KT-32215Reified generic doesn't work withByteArrayon js
Tools. CLI
KT-32272kotlinc - no main manifest attribute, in hello.jar
Tools. REPL
KT-32085Kotlinc REPL: "java.lang.NoClassDefFoundError: org/jline/reader/LineReaderBuilder"
Tools. Scripts
KT-32169Kotlin 1.3.40 - Crash on running *.main.kts script: "NoSuchMethodError: kotlin.script.templates.standard.ScriptTemplateWithArgs."KT-32206Custom script definitions not loaded in the cli compiler
Previous releases
This release also includes the fixes and improvements from the previous releases.
1.3.40
Content
The release contains the JVM version of Kotlin compiler and also one native system dependent version for every major platform (Linux, macOS, and Windows).
CHANGELOG
1.3.40
Android
Fixes
KT-12402Android DataBinding work correctly but the IDE show it as errorKT-31432Remove obsolete code introduced in KT-12402
Compiler
New Features
Performance Improvements
KT-17755Optimize trimIndent and trimMargin on constant stringsKT-30603Compiler performance issue: VariableLivenessKt.useVar performance
Fixes
KT-19227Load built-ins from dependencies by default in the compiler, support erroneous "fallback" built-insKT-23426Actual typealias to Java enum does not match expected enum because of modalityKT-23854Inference for common type of two captured typesKT-25105False-positive warning "Remove final upper bound" on generic overrideKT-25302New inference: "Type mismatch" between star projection andAny?type argument in specific caseKT-25433Wrong order of fixing type variables for callable referencesKT-26386Front-end recursion problem while analyzing contract function with call expression of self in impliesKT-26412Wrong LVT generated if decomposed parameter of suspend lambda is not the first parameter.KT-27097JvmMultifileClass + JvmName causes NoSuchMethodError on sealed class hierarchy for top-level membersKT-28534Local variable entries are missing in LVT for suspend lambda parametersKT-28535Renameresultto$resultin coroutines' LVTKT-29184Implement inference for coroutines according to the @BuilderInference contract in NIKT-29772Contracts don't work ifcontractfunction is fully qualified (FQN)KT-29790Incorrect version requirement in metadata of anonymous class for suspend lambdaKT-29948NI: incorrect DSLMarker behaviour with generic star projectionKT-30021+NewInference on Kotlin Native :: java.lang.StackOverflowErrorKT-30242Statements are not coerced to Unit in last expressions of lambdaKT-30243Include FIR modules into compilerKT-30250Rewrite at slice exception for callable reference argument inside delegated expressionKT-30292Reference to function is unresolved when LHS is a star-projected typeKT-30293Wrong intersection type for common supertype from String and integer typeKT-30370Call is completed too early when there is "Nothing" constraintKT-30405Support expected type from cast in new inferenceKT-30406Fix testIfOrWhenSpecialCall test for new inferenceKT-30590Report diagnostic about not enough information for inference in NIKT-30620Exception from the compiler when coroutine-inference is involved even with the explicitly specified typesKT-30656Exception is occurred when functions with implicit return-stub types are involved in builder-inferenceKT-30658Exception from the compiler when getting callable reference to a suspend functionKT-30661Disable SAM conversions to Kotlin functions in new-inference by defaultKT-30676Overload resolution ambiguity when there is a callable reference argument and candidates with different functional return typesKT-30694No debug metadata is generated for suspend lambdas which capture crossinlineKT-30724False positive error about missing equals when one of the operands is incorrectly inferred to NothingKT-30734No smartcast inside lambda literal in then/else "if" branchKT-30737Try analysing callable reference preemptivelyKT-30780Compiler crashes on 'private inline' function accessing private constant in 'inline class' (regression)KT-30808NI: False negative SPREAD_OF_NULLABLE with USELESS_ELVIS_RIGHT_IS_NULLKT-30816BasicJvmScriptEvaluator passes constructor parameters in incorrect orderKT-30826There isn't report about unsafe call in the new inference (by invalidating smartcast), NPEKT-30843Duplicate JVM class name for expect/actual classes in JvmMultifileClass-annotated fileKT-30853Compiler crashes with NewInference and Kotlinx.Coroutines FlowKT-30927Data flow info isn't used for 'this' which is returned from lambda using labeled returnKT-31081Implement ArgumentMatch abstraction in new inferenceKT-31113Fix failing tests from SlicerTestGeneratedKT-31199Unresolved callable references with typealiasKT-31339Inliner does not remove redundant continuation classes, leading to CNFE in JMH bytecode processingKT-31346Fix diagnostic DSL_SCOPE_VIOLATION for new inferenceKT-31356False-positive error about violating dsl scope for new-inferenceKT-31360NI: inconsistently prohibits member usage without explicit receiver specification with star projection and DSL markerKT-18563Do not generate inline reified functions as private in bytecodeKT-20849Inference results in Nothing type argument in case of passing 'out T' to 'in T1'KT-25290New inference: KNPE at ResolutionPartsKt.getExpectedTypeWithSAMConversion() on out projection of Java classKT-26418Back-end (JVM) Internal error when compiling decorated suspend inline functionsKT-26925Decorated suspend inline function continuation resumes in wrong spotKT-28999Prohibit type parameters for anonymous objectsKT-29307New inference: false negative CONSTANT_EXPECTED_TYPE_MISMATCH with a MapKT-29475IllegalArgumentException at getAbstractTypeFromDescriptor with deeply nested expression inside function named with a right parenthesisKT-29996Properly report errors on attempt to inline bytecode from class files compiled to 1.8 to one compiling to 1.6KT-30289Don't generate annotations on synthetic methods for methods with default values for parametersKT-30410[NI] Front-end recursion problem while analyzing contract function with call expression of self in impliesKT-30411Fold recursive types to star-projected ones when inferring type variablesKT-30706Passing noinline lambda as (cross)inline parameter result in wrong state-machineKT-30707Java interop of coroutines inside inline functions is brokenKT-30983ClassCastException: DeserializedTypeAliasDescriptor cannot be cast to PackageViewDescriptor on star-import of expect enum class actualized with typealiasKT-31242"Can'...
Kotlin 1.3.40 EAP 3
CHANGELOG
1.3.40
Android
Fixes
KT-12402Android DataBinding work correctly but the IDE show it as errorKT-31432Remove obsolete code introduced in KT-12402
Compiler
New Features
Performance Improvements
KT-17755Optimize trimIndent and trimMargin on constant stringsKT-30603Compiler performance issue: VariableLivenessKt.useVar performance
Fixes
KT-19227Load built-ins from dependencies by default in the compiler, support erroneous "fallback" built-insKT-23426Actual typealias to Java enum does not match expected enum because of modalityKT-23854Inference for common type of two captured typesKT-25105False-positive warning "Remove final upper bound" on generic overrideKT-25302New inference: "Type mismatch" between star projection andAny?type argument in specific caseKT-25433Wrong order of fixing type variables for callable referencesKT-26386Front-end recursion problem while analyzing contract function with call expression of self in impliesKT-26412Wrong LVT generated if decomposed parameter of suspend lambda is not the first parameter.KT-27097JvmMultifileClass + JvmName causes NoSuchMethodError on sealed class hierarchy for top-level membersKT-28534Local variable entries are missing in LVT for suspend lambda parametersKT-28535Renameresultto$resultin coroutines' LVTKT-29184Implement inference for coroutines according to the @BuilderInference contract in NIKT-29772Contracts don't work ifcontractfunction is fully qualified (FQN)KT-29790Incorrect version requirement in metadata of anonymous class for suspend lambdaKT-29948NI: incorrect DSLMarker behaviour with generic star projectionKT-30021+NewInference on Kotlin Native :: java.lang.StackOverflowErrorKT-30242Statements are not coerced to Unit in last expressions of lambdaKT-30243Include FIR modules into compilerKT-30250Rewrite at slice exception for callable reference argument inside delegated expressionKT-30292Reference to function is unresolved when LHS is a star-projected typeKT-30293Wrong intersection type for common supertype from String and integer typeKT-30370Call is completed too early when there is "Nothing" constraintKT-30405Support expected type from cast in new inferenceKT-30406Fix testIfOrWhenSpecialCall test for new inferenceKT-30590Report diagnostic about not enough information for inference in NIKT-30620Exception from the compiler when coroutine-inference is involved even with the explicitly specified typesKT-30656Exception is occurred when functions with implicit return-stub types are involved in builder-inferenceKT-30658Exception from the compiler when getting callable reference to a suspend functionKT-30661Disable SAM conversions to Kotlin functions in new-inference by defaultKT-30676Overload resolution ambiguity when there is a callable reference argument and candidates with different functional return typesKT-30694No debug metadata is generated for suspend lambdas which capture crossinlineKT-30724False positive error about missing equals when one of the operands is incorrectly inferred to NothingKT-30734No smartcast inside lambda literal in then/else "if" branchKT-30737Try analysing callable reference preemptivelyKT-30780Compiler crashes on 'private inline' function accessing private constant in 'inline class' (regression)KT-30808NI: False negative SPREAD_OF_NULLABLE with USELESS_ELVIS_RIGHT_IS_NULLKT-30816BasicJvmScriptEvaluator passes constructor parameters in incorrect orderKT-30826There isn't report about unsafe call in the new inference (by invalidating smartcast), NPEKT-30843Duplicate JVM class name for expect/actual classes in JvmMultifileClass-annotated fileKT-30853Compiler crashes with NewInference and Kotlinx.Coroutines FlowKT-30927Data flow info isn't used for 'this' which is returned from lambda using labeled returnKT-31081Implement ArgumentMatch abstraction in new inferenceKT-31113Fix failing tests from SlicerTestGeneratedKT-31199Unresolved callable references with typealiasKT-31339Inliner does not remove redundant continuation classes, leading to CNFE in JMH bytecode processingKT-31346Fix diagnostic DSL_SCOPE_VIOLATION for new inferenceKT-31356False-positive error about violating dsl scope for new-inferenceKT-31360NI: inconsistently prohibits member usage without explicit receiver specification with star projection and DSL markerKT-18563Do not generate inline reified functions as private in bytecodeKT-20849Inference results in Nothing type argument in case of passing 'out T' to 'in T1'KT-25290New inference: KNPE at ResolutionPartsKt.getExpectedTypeWithSAMConversion() on out projection of Java classKT-26418Back-end (JVM) Internal error when compiling decorated suspend inline functionsKT-26925Decorated suspend inline function continuation resumes in wrong spotKT-28999Prohibit type parameters for anonymous objectsKT-29307New inference: false negative CONSTANT_EXPECTED_TYPE_MISMATCH with a MapKT-29475IllegalArgumentException at getAbstractTypeFromDescriptor with deeply nested expression inside function named with a right parenthesisKT-29996Properly report errors on attempt to inline bytecode from class files compiled to 1.8 to one compiling to 1.6KT-30289Don't generate annotations on synthetic methods for methods with default values for parametersKT-30410[NI] Front-end recursion problem while analyzing contract function with call expression of self in impliesKT-30411Fold recursive types to star-projected ones when inferring type variablesKT-30706Passing noinline lambda as (cross)inline parameter result in wrong state-machineKT-30707Java interop of coroutines inside inline functions is brokenKT-30983ClassCastException: DeserializedTypeAliasDescriptor cannot be cast to PackageViewDescriptor on star-import of expect enum class actualized with typealiasKT-31242"Can't find enclosing method" proguard compilation exception with inline and crossinlineKT-31347"IndexOutOfBoundsExcept...