Skip to content

Releases: JetBrains/kotlin

Kotlin 1.4.30-M1

22 Dec 12:40

Choose a tag to compare

Kotlin 1.4.30-M1 Pre-release
Pre-release

You could find information about EAP program and setup instructions here

CHANGELOG

1.4.30-M1

Android

  • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid

Backend. Native

  • KT-38772 Native: support non-reified type parameters in typeOf
  • KT-42234 Move LLVM optimization parameters into konan.properties
  • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
  • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
  • KT-43198 init blocks inside inline classes
  • KT-31072 Don't use non-reified arguments to specialize type operations in IR inliner

Backend. JS

  • KT-41227 KJS IR: don't copy to child's prototype references to the function from parent

Backend. IR

  • KT-41227 KJS IR: don't copy to child's prototype references to the function from parent

Compiler

New Features

  • KT-28055 Consider supporting init blocks inside inline classes
  • KT-28056 Consider supporting non-public primary constructors for inline classes
  • KT-42094 Allow open callable members in expect interfaces
  • KT-43129 FIR: Support OverloadResolutionByLambdaReturnType

Performance Improvements

  • KT-41352 JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive end
  • KT-41644 NI: Infinite compilation
  • KT-42791 OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inference
  • KT-42920 NI: Improve performance around adding constraints

Fixes

  • KT-22465 Excessive synthetic method for private setter from superclass
  • KT-26229 Lambda/anonymous function argument in parentheses is not supported for callsInPlace effect
  • KT-32228 Inconsistent boxing/unboxing for inline classes when interface is specialized by object expression
  • KT-32450 Inline class incorrectly gets re-wrapped when provided to a function
  • KT-35849 Missing nullability assertion on lambda return value if expected type has generic return value type
  • KT-35902 Kotlin generates a private parameterless constructor for constructors taking inline class arguments with default values
  • KT-36769 JVM IR: Missing LVT entries for inline function (default) parameters at call site
  • KT-36982 JVM IR: SAM adapter classes are generated as synthetic
  • KT-37007 JVM IR: extraneous property accessors are generated in multifile facade for InlineOnly property
  • KT-37317 [FIR] Add support of extension functions in postponed lambda completion
  • KT-38400 FIR: interface abstract is preferred to Any method in super resolve
  • KT-38536 JVM IR: bound adapted function references are not inlined
  • KT-38656 FIR: determine overridden member visibility properly
  • KT-38901 FIR: Make behavior of integer literals overflow consistent with FE 1.0
  • KT-39709 [FIR] False positive UNINITIALIZED_VARIABLE in presence of complex graph with jumps
  • KT-39923 Result.Failure will get wrapped with Success when using with RxJava
  • KT-40198 '$default' methods in 'kotlin/test/AssertionsKt' generated as non-synthetic by JVM_IR
  • KT-40262 ACC_DEPRECATED flag not generated for property getter delegate in multifile class facade in JVM_IR
  • KT-40282 Inline class wrapping Any gets double boxed
  • KT-40464 JVM_IR does not generate LINENUMBER at closing brace of (suspend) lambda
  • KT-40948 IllegalAccessError while initializing val property in EXACTLY_ONCE lambda that is passed to another function
  • KT-41468 JVM IR: IllegalAccessError on access to abstract base member from another package, from anonymous object inside abstract class
  • KT-41493 JVM IR: names of classes for local delegated variables contain the variable name twice
  • KT-41792 [FIR] Introduce & use ConeAttribute.UnsafeVariance
  • KT-41793 [FIR] Make captured types accessible at the end of resolve
  • KT-41809 JVM IR: name for internal $default method doesn't include module name
  • KT-41810 JVM IR: Deprecated(HIDDEN) class is incorrectly generated as synthetic
  • KT-41841 JVM IR: delegates for private functions with default arguments are generated in multifile classes
  • KT-41857 Flaky 'ConcurrentModificationException' through kotlin.serialization.DescriptorSerializer
  • KT-41903 JVM IR: do not generate LineNumberTable in auto-generated members of data classes
  • KT-41957 JVM IR: step into suspend function goes to the first line of the file
  • KT-41960 JVM IR: smart step into members implemented with delegation to interface doesn't work
  • KT-41961 JVM IR: line numbers are not generated in JvmMultifileClass facade declarations
  • KT-41962 JVM IR: intermittent -1 line numbers in the state machine cause double stepping in the debugger
  • KT-42002 JVM / IR: IllegalStateException: "No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" caused by named arguments
  • KT-42021 JVM / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" during IR lowering with suspend conversion
  • KT-42033 JVM IR: accidental override in Map subclass with custom implementations of some members
  • KT-42043 JVM IR: Don't generate collection stubs when implementing methods with more specific return types
  • KT-42044 Compiler error when lambda with contract surrounded with parentheses
  • KT-42114 JVM_IR generates stub for 'removeIf' in abstract classes implementing 'List' and 'Set'
  • KT-42115 JVM_IR doesn't generate 'next' and 'hasNext' method in an abstract class implementing 'ListIterator'
  • KT-42116 FIR: Java accessor function should not exist in scope together with relevant property
  • KT-42117 IR-based evaluator cannot handle Java static final fields
  • KT-42118 FIR2IR: field-targeted annotation is placed on a property, not on a field
  • KT-42130 FIR: type variable is observed after when condition analysis
  • KT-42132 FIR2IR: companion function reference has no dispatch receiver
  • KT-42137 JVM IR: AbstractMethodError on complex hierarchy where implementation comes from another supertype and has a more specific type
  • KT-42186 JVM / IR: Infinite cycle in for expression when unsigned bytes are used in decreasing loop range
  • KT-42251 JVM / IR: "IllegalStateException: Descriptor can be left only if it is last" when comparing the i-th element of the container of Int? and i with change
  • KT-42253 JVM IR: NoSuchFieldError on local delegated property in inline function whose call site happens before declaration in the source
  • KT-42281 JVM / IR: AnalyzerException when comparing Int and array that c...
Read more

Kotlin 1.4.21

09 Dec 15:21

Choose a tag to compare

CHANGELOG

IDE. Gradle Integration

  • KT-42561 "Could not get unknown property 'sourceSets' for project" when running JVM module with included MPP module
  • KT-43511 Task 'MainKt.main()' not found in root project

Libraries

  • KT-43586 Source documentation: ExperimentalPathAPI misspelt
  • KT-43745 replace for strings ignores case of locale characters

Native. C and ObjC Import

  • KT-43265 Kotlin/Native fails to generate alias for C enum entry
  • KT-43530 Kotlin/Native compilation fails with "Symbol for public kotlin/Array.size.|-8255337774232345969[0] is unbound"

Native

  • KT-43517 On Kotlin 1.4.20 we got kotlin.NotImplementedError when try compile iOS framework

Tools. Gradle. JS

  • KT-43668 PackageJson task use file dependencies as is (files and directories), but only files necessary

Checksums

File Sha256
kotlin-compiler-1.4.21.zip 46720991a716e90bfc0cf3f2c81b2bd735c14f4ea6a5064c488e04fd76e6b6c7
kotlin-native-prebuilt-linux-1.4.21.tar.gz ae54afed3e3f65a2e3170b203679e86c78979c0c53dd0d7d7a38cf4fa8d46ca7
kotlin-native-prebuilt-macos-1.4.21.tar.gz f3a65ea070cbfca89497a14340f1530d1ec37875efc8be9a972b6a7aefde29c0
kotlin-native-prebuilt-windows-1.4.21.zip 5359f53b01bdc5bd4fd956630e33a0ba36ea0471a8e86fe5405266d899694223

Kotlin 1.4.20

19 Nov 10:57

Choose a tag to compare

CHANGELOG

Android

  • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
  • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
  • KT-42406 Long or infinite code analysis on simple files modification

Backend. Native

  • KT-27534 Bridges to Nothing-returning methods have incorrect signature
  • KT-30284 Native: Nothing? type for expression override and crash
  • KT-36430 Optimize when with in range cases
  • KT-38787 Missing optimization for "in range" check
  • KT-39100 Make Native behaviour of property initialization consistent with JVM
  • KT-39798 Override equals/hashCode in functional interface wrappers on Native
  • KT-39800 equals/hashCode on adapted function references on Native
  • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
  • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

Compiler

New Features

  • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
  • KT-34178 Scripts should be able to access imports objects
  • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
  • KT-31567 Support special semantics for underscore-named catch block parameters

Performance Improvements

  • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
  • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
  • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
  • KT-36814 Support optimized delegated properties in JVM_IR
  • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
  • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
  • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
  • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

Fixes

  • KT-11713 Refine visibility check for synthetic property with protected setter
  • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
  • KT-25519 Extra inline marks inside suspending function callable reference bytecode
  • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
  • KT-35495 FIR: forbid non-Java synthetic properties
  • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
  • KT-35716 Using @jvmoverloads in @JvmStatic functions in interface companion objects causes a ClassFormatError
  • KT-35730 FIR: consider creating fake overrides for objects
  • KT-36951 IllegalStateException: Expected some types: Throwing exception when there is a type parameter upper bound for itself
  • KT-37321 [FIR] Support java array in type argument
  • KT-37431 [FIR] Support Builder Inference
  • KT-38272 FIR2IR: use lazy IR symbols for externals & fake overrides
  • KT-38333 FIR: CCE on red code with assignment used as expression
  • KT-38334 FIR: CCE when resolving try-as-expression
  • KT-38336 FIR: NPE with corrupted numeric constant literal
  • KT-38397 FIR: Exception while resolving contract definition
  • KT-38444 [FIR] Invoke extension lambda with safe call
  • KT-38470 FIR: ConeDefinitelyNotNullType in signature
  • KT-38471 FIR: ConeIntersectionType in signature
  • KT-38925 Internal error: wrong bytecode generated. (AssertionError: int type expected, but null was found in basic frames)
  • KT-38989 FIR: Refine sealed classes exhaustiveness in case of sealed subclass
  • KT-38992 FIR: Refine type resolution for inner classes
  • KT-39000 FIR: Support smartcast after reference equality check
  • KT-39005 FIR: Resolve plusAssign in a dependent context
  • KT-39008 FIR: Investigate strange effect of type alias and not-nullable bound on inference
  • KT-39012 FIR: Inference doesn't get through elvis to lambda parameter
  • KT-39028 FIR: Strange resolution to synthetic property with implicit extension receiver while there's an explicit receiver
  • KT-39032 FIR: Ambiguity in member scope of a type parameter with multiple bounds
  • KT-39033 FIR: Ambiguity when calling generic overridden property
  • KT-39034 FIR: Support nested extension function types
  • KT-39040 FIR: Deserialize annotations from compiled Kotlin binaries
  • KT-39043 FIR: Bare types incorrectly work with type aliases
  • KT-39044 FIR: Add fillInStackTrace to member scope of kotlin.Throwable
  • KT-39046 FIR: Implicit types in lambdas left when call argument is a type cast
  • KT-39048 FIR: Inference fails with integer literal used as Comparable
  • KT-39050 FIR: Type resolver doesn't see nested classes from super class of a local class
  • KT-39070 FIR: Ambiguity on super calls to hashCode/equals when having super interface and class
  • KT-39072 FIR: Subtyping check doesn't affect nullability of safe-call receiver
  • KT-39076 FIR: Synthetic property is not a var because of @nullable annotation on parameter
  • KT-39080 FIR: Smart casts remain incorrect if lambda is present in when branch
  • KT-39374 Wrong bytecode generated for suspend function call with EXACTLY_ONCE lambda capturing a variable initialized in when-subject
  • KT-39621 [FIR] Support when exhaustiveness checker for java enums
  • KT-40135 JVM IR does not generate restricted suspend lambdas
  • KT-40382 Missing proper jvmSignature for synthesized equals/hashCode/toString in inline classes
  • KT-40605 JVM IR: IndexOutOfBoundsException caused by inner class passed to generic outer class method with Nothing type argument
  • KT-40664 JVM: No bounds check in optimization of ULong in UInt..UInt
  • KT-40665 JVM: No resolved function check when optimizing in/contains with mismatched bound types
  • KT-41014 FIR2IR: when/where/how to determine the presence of a backing field for a property
  • KT-41018 FIR2IR: sort members during de/serialization
  • KT-41144 False positive "Redundant spread operator" in when statement and generic vararg argument
  • KT-41218 HMPP: arrayList declarations are visible both from stdlib-common and stdlib-jvm and lead to false-pos...
Read more

Kotlin 1.4.20-RC

02 Nov 13:48

Choose a tag to compare

Kotlin 1.4.20-RC Pre-release
Pre-release

Compiler

New Features

  • KT-31567 Support special semantics for underscore-named catch block parameters

Performance Improvements

  • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
  • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
  • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10

Fixes

  • KT-17691 Wrong argument order in resolved call with varargs
  • KT-25114 Prohibit @JvmStatic on functions in private companions
  • KT-33917 Prohibit to expose anonymous types from private inline functions
  • KT-35870 Forbid secondary enum class constructors which do not delegate to the primary constructor
  • KT-39098 NI: parameter of anonymous function can be inferred to Any? if another parameter's type is specified
  • KT-41176 NI with Gson: "ClassCastException: java.util.ArrayList cannot be cast to java.lang.Void"
  • KT-41194 ClassCastException on returning Result.failure from lambda within suspend function
  • KT-42438 NI: ClassCastException: cannot be cast to java.lang.Void caused by when statement in run function
  • KT-42699 False positive NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT diagnostic in new jvm-default modes
  • KT-42706 Kotlin 1.4 infers generic is Nothing instead of actual Foo class (Android project)

IDE

IDE. Decompiler, Indexing, Stubs

  • KT-41646 "AssertionError: ContentElementType: FILE"; Code analysis never finishes on some files from my project

IDE. Gradle Integration

  • KT-38830 addTransitiveDependenciesOnImplementedModules performance is slowing down Android Studio Gradle Sync

IDE. Inspections and Intentions

  • KT-43037 Disable "Incomplete destructuring declaration" in 1.4.20

JavaScript

  • KT-37829 Kotlin JS IR: "Properties without fields are not supported" for companion objects
  • KT-39740 KJS / IR: Can't use Serializable and JsExport annotations at the same time

Libraries

  • KT-19192 Provide file system extensions/APIs based on java.nio.file.Path
  • KT-41837 Remove @ExperimentalStdlibApi from CancellationException

Tools. CLI

  • KT-41916 Add JVM target bytecode version 15

Tools. Gradle. JS

  • KT-42494 KJS / Gradle: "Configuration cache state could not be cached" caused by Gradle configuration cache

Tools. Gradle. Native

  • KT-42531 Gradle task "podGenIos" fails if a Pod with a static library is added.

Kotlin 1.4.20-M2

19 Oct 11:29

Choose a tag to compare

Kotlin 1.4.20-M2 Pre-release
Pre-release

Info about particular features

  • KT-25960 Kapt: Support new @JvmDefault functionality
  • KT-40030 Parcelize: Support the new Parcelize plugin in Gradle
  • KT-41799 String.replace performance improvements
  • KT-41622 IDE: Kotlin scripting support can’t find context class from same project

CHANGELOG

1.4.20-M2

Android

  • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
  • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
  • KT-42406 Long or infinite code analysis on simple files modification

Compiler

  • KT-11713 Refine visibility check for synthetic property with protected setter
  • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
  • KT-34178 Scripts should be able to access imports objects
  • KT-41484 JVM IR: support -Xemit-jvm-type-annotations
  • KT-42005 JVM / IR: "NullPointerException: Parameter specified as non-null is null" when toString is called on inline class with not primitive property
  • KT-42450 NI: "IllegalStateException: Error type encountered: NonFixed:" with coroutines
  • KT-42523 Missed DefaultImpls for interface in -jvm-default=all mode on inheriting it from interface compiled in old scheme
  • KT-42524 Wrong specialization diagnostic is reported on inheriting from java interface with default with -Xjvm-default=all-compatibility
  • KT-42546 HMPP: bogus overload resolution ambiguity on using and expect-function declaration with nullable expect in a signature

Docs & Examples

  • KT-42318 No documentation for kotlin.js.js

IDE

  • KT-38959 IDE: False negative EXPLICIT_DELEGATION_CALL_REQUIRED, "IllegalArgumentException: Range must be inside element being annotated"

IDE. Debugger

  • KT-38659 Evaluate Expression: toString() on variable returns error when breakpoint is in commonTest sourceset

IDE. Decompiler, Indexing, Stubs

  • KT-28732 Stub file element types should be registered early enough
  • KT-41346 IDE: "AssertionError: Stub type mismatch: USER_TYPE!=REFERENCE_EXPRESSION" with CollapsedDumpParser class from IDEA SDK
  • KT-41859 File analysis never ending with kotlinx.cli (AssertionError: Stub type mismatch: TYPEALIAS!=CLASS)

IDE. Gradle. Script

  • KT-41141 Gradle Kotlin DSL: "cannot access 'java.lang.Comparable'. Check your module classpath" with empty JDK in Project structure

IDE. Inspections and Intentions

  • KT-38915 "Remove explicit type specification" intention should be disabled in explicit API mode
  • KT-38981 "Specify return type explicitly" inspection is not reported for declaration annotated with @PublishedApi in Explicit Api mode
  • KT-39026 'Specify return type explicitly' intention duplicates compiler warning in Explicit api mode

IDE. Script

  • KT-41622 IDE: Kotlin scripting support can't find context class from same project
  • KT-41905 IDE / Script: FilePathPattern parameter in @KotlinScript annotation is not reflected correctly in Pattern / Extension
  • KT-42206 Cannot load script definitions using org.jetbrains.kotlin.jsr223.ScriptDefinitionForExtensionAndIdeConsoleRootsSource

IDE. Tests Support

  • KT-37799 Don't show a target choice in context menu for a test launched on specific platform

IDE. Wizards

  • KT-42372 Rrename test classes in wizard template to avoid name clashing

JavaScript

  • KT-38136 JS IR BE: add an ability to generate separate js files for each module and maybe each library
  • KT-38868 [MPP / JS / IR] IllegalStateException: "Serializable class must have single primary constructor" for expect class without primary constructor with @serializable annotation
  • KT-41275 KJS / IR: "IllegalStateException: Can't find name for declaration FUN" caused by default value in constructor parameter
  • KT-41627 KJS / IR / Serialization: IllegalStateException: Serializable class must have single primary constructor

KMM Plugin

  • KT-41522 KMM: exceptions for Mobile Multiplatform plugin are suggested to report to Google, not JetBrains
  • KT-42065 [KMM plugin] iOS apps fail to launch on iOS simulator with Xcode 12

Libraries

  • KT-41799 String.replace performance improvements

Native. C and ObjC Import

  • KT-41250 [C-interop] Stubs for C functions without parameter names should have non-stable names

Native. Platform libraries

Native. Runtime. Memory

  • KT-42275 "Memory.cpp:1605: runtime assert: Recursive GC is disallowed" sometimes when using Kotlin from Swift deinit

Native. Stdlib

Tools. Compiler Plugins

  • KT-36329 Provide diagnostic in kotlinx.serialization when custom serializer mismatches property type
  • KT-40030 Move the Parcelize functionality out of the Android Extensions plugin

Tools. Gradle. JS

  • KT-39838 Kotlin/JS Gradle tooling: NPM dependencies of different kinds with different versions of the same package fail with "Cannot find package@version in yarn.lock"
  • KT-40202 Kotlin/JS: Gradle: NPM version range operators are written into package.json as escape sequences
  • KT-40986 KJS / Gradle: BuildOperationQueueFailure when two different versions of js library are used as dependencies
  • KT-42222 KJS / Gradle: "Cannot find package@version in yarn.lock" when npm dependencies of one package but with different version are used in project
  • KT-42339 Support dukat binaries generation

Tools. Gradle. Native

  • KT-40999 CocoaPods Gradle plugin: Support custom cinterop options when declaring a pod dependency.
  • KT-41844 Kotlin 1.4.10 gradle configuration error with cocoapods using multiple multiplatform modules

Tools. Scripts

  • KT-37987 Kotlin script: hyphen arguments not forwarded to script
  • KT-39502 Scripting: reverse order of Severity enum so that ERROR > INFO
  • KT-42335 No "caused by" info about an exception that thrown in Kotlin Script

Tools. kapt

  • KT-25960 Interfaces annotated with JvmDefault has wrong modifiers during annotation processing
  • KT-37732 Kapt task is broken after update to 1.3.70/1.3.71

Kotlin 1.4.20-M1

28 Sep 09:36

Choose a tag to compare

Kotlin 1.4.20-M1 Pre-release
Pre-release

Info about particular features

New project templates in Kotlin/JS:

  • KT-41417 - Add react template to new project wizard
  • KT-40527 - Node.JS application template in New Project Wizard
  • KT-35549 - Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)

Kotlin/JS Gradle plugin upgrades:

  • KT-41054 - resolutions rule for yarn
  • KT-35330 -customise generated package.json

Performance boosts:

Changelog

Backend. Native

  • KT-27534 Bridges to Nothing-returning methods have incorrect signature
  • KT-30284 Native: Nothing? type for expression override and crash
  • KT-36430 Optimize when with in range cases
  • KT-38787 Missing optimization for "in range" check
  • KT-39100 Make Native behaviour of property initialization consistent with JVM
  • KT-39798 Override equals/hashCode in functional interface wrappers on Native
  • KT-39800 equals/hashCode on adapted function references on Native
  • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
  • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt

Compiler

New Features

  • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)

Performance Improvements

  • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
  • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
  • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
  • KT-36814 Support optimized delegated properties in JVM_IR
  • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR

Fixes

  • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
  • KT-25519 Extra inline marks inside suspending function callable reference bytecode
  • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
  • KT-35495 FIR: forbid non-Java synthetic properties
  • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotation
  • KT-35730 FIR: consider creating fake overrides for objects
  • KT-36951 IllegalStateException: Expected some types: Throwing exception when there is a type parameter upper bound for itself
  • KT-37321 [FIR] Support java array in type argument
  • KT-37431 [FIR] Support Builder Inference
  • KT-38272 FIR2IR: use lazy IR symbols for externals & fake overrides
  • KT-38333 FIR: CCE on red code with assignment used as expression
  • KT-38334 FIR: CCE when resolving try-as-expression
  • KT-38336 FIR: NPE with corrupted numeric constant literal
  • KT-38397 FIR: Exception while resolving contract definition
  • KT-38444 [FIR] Invoke extension lambda with safe call
  • KT-38470 FIR: ConeDefinitelyNotNullType in signature
  • KT-38471 FIR: ConeIntersectionType in signature
  • KT-38925 Internal error: wrong bytecode generated. (AssertionError: int type expected, but null was found in basic frames)
  • KT-38989 FIR: Refine sealed classes exhaustiveness in case of sealed subclass
  • KT-38992 FIR: Refine type resolution for inner classes
  • KT-39000 FIR: Support smartcast after reference equality check
  • KT-39005 FIR: Resolve plusAssign in a dependent context
  • KT-39008 FIR: Investigate strange effect of type alias and not-nullable bound on inference
  • KT-39012 FIR: Inference doesn't get through elvis to lambda parameter
  • KT-39028 FIR: Strange resolution to synthetic property with implicit extension receiver while there's an explicit receiver
  • KT-39032 FIR: Ambiguity in member scope of a type parameter with multiple bounds
  • KT-39033 FIR: Ambiguity when calling generic overridden property
  • KT-39034 FIR: Support nested extension function types
  • KT-39040 FIR: Deserialize annotations from compiled Kotlin binaries
  • KT-39043 FIR: Bare types incorrectly work with type aliases
  • KT-39044 FIR: Add fillInStackTrace to member scope of kotlin.Throwable
  • KT-39046 FIR: Implicit types in lambdas left when call argument is a type cast
  • KT-39048 FIR: Inference fails with integer literal used as Comparable
  • KT-39050 FIR: Type resolver doesn't see nested classes from super class of a local class
  • KT-39070 FIR: Ambiguity on super calls to hashCode/equals when having super interface and class
  • KT-39072 FIR: Subtyping check doesn't affect nullability of safe-call receiver
  • KT-39076 FIR: Synthetic property is not a var because of @nullable annotation on parameter
  • KT-39080 FIR: Smart casts remain incorrect if lambda is present in when branch
  • KT-39374 Wrong bytecode generated for suspend function call with EXACTLY_ONCE lambda capturing a variable initialized in when-subject
  • KT-39621 [FIR] Support when exhaustiveness checker for java enums
  • KT-40135 JVM IR does not generate restricted suspend lambdas
  • KT-40382 Missing proper jvmSignature for synthesized equals/hashCode/toString in inline classes
  • KT-40605 JVM IR: IndexOutOfBoundsException caused by inner class passed to generic outer class method with Nothing type argument
  • KT-40664 JVM: No bounds check in optimization of ULong in UInt..UInt
  • KT-40665 JVM: No resolved function check when optimizing in/contains with mismatched bound types
  • KT-41014 FIR2IR: when/where/how to determine the presence of a backing field for a property
  • KT-41018 FIR2IR: sort members during de/serialization
  • KT-41144 False positive "Redundant spread operator" in when statement and generic vararg argument
  • KT-41374 JVM / IR: NoSuchMethodError in Android project compiler caused by combination of inline classes and coroutines
  • KT-41388 NI: Backend Internal error: Exception during IR lowering
  • KT-41429 Inline class returned from suspend function should be boxed on resume path
  • KT-41465 JVM / IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL CLASS name" caused by inline method call into multiple constructors
  • KT-41668 JVM IR: incorrect enclosing constructor for lambdas in initializers of inner classes
  • [KT-41669](https://youtrack.jetbrains.com/iss...
Read more

Kotlin 1.4.10

10 Sep 07:19

Choose a tag to compare

Contents

The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.

Changelog

Compiler

Performance Improvements

  • KT-41149 NI: Upgraded project from 1.3.72 to 1.4.0 hangs during build
  • KT-41335 Kotlin Out of Memory When evaluating expression
  • KT-41400 NI: Huge performance regression for kotlin compiler from 1.3.72 to 1.4.0 due to using list of dozen lambdas in a call

Fixes

  • KT-41005 Coercion to Unit doesn't take into account nullability of a return type for lambda
  • KT-41043 NI: StackOverflowError through PostponedArgumentInputTypesResolver.getAllDeeplyRelatedTypeVariables
  • KT-41135 Type Inference Regression For Property Delegate With Receiver Type
  • KT-41140 Unresolved reference to parameter of a catch block from lambda expression on 1.4.0
  • KT-41150 IllegalStateException: Couldn't obtain compiled function body for public final inline fun
  • KT-41164 NI: "IllegalStateException: Error type encountered" with callbackFlow builder inside condition
  • KT-41202 Type inference fails in 1.4.0
  • KT-41218 HMPP: arrayList declarations are visible both from stdlib-common and stdlib-jvm and lead to false-positive resolution ambiguity in IDE
  • KT-41308 1.4.0 Type inference regression in suspend blocks with elvis operator expressions
  • KT-41357 ClassCastException for unstable smart cast on a property call receiver
  • KT-41386 NI: Type mismatch with generic type parameters
  • KT-41426 Operator compareTo is not called with nullable type
  • KT-41430 Broken choosing overload by lambda return type inside builder inference
  • KT-41470 Wrong nullability assertion is generated when using the BuilderInference annotation
  • KT-41482 Add a fallback compiler flag to disable the unified null checks behavior

IDE

  • KT-41325 SOE in IDEKotlinAsJavaSupport
  • KT-41390 Typo: equals & hashCode are written with the first uppercase letter

IDE. Code Style, Formatting

  • KT-41314 Formatter: Frequent freezes when reformatting code (TrailingCommaPostFormatProcessor)

IDE. Debugger

  • KT-40417 Coroutines Debugger: “No coroutine information found” in case of main() entry-point without explicit debug-artifact

IDE. Gradle. Script

  • KT-39542 EA-218043: java.util.NoSuchElementException: No element of given type found (GradleBuildRootsManager)
  • KT-41283 Gradle scripts unable to support 1.4 language level features yet

IDE. Inspections and Intentions

  • KT-41264 Disable “Redundant inner modifier” in 1.4.10
  • KT-41395 Inspection description misses a space (needs to be lowercase)

IDE. REPL

  • KT-40898 REPL: "IllegalAccessError: tried to access field" caused by log4j

IDE. Wizards

  • KT-38921 New project wizard: Backend/Console applications template with Groovy DSL generates build.gradle with KotlinCompile instead of compileKotlin

JavaScript

  • KT-38059 Support arrays passed as named arguments to varargs
  • KT-40964 KJS / IR: don't generate "import" (short names) for external interfaces
  • KT-41081 KJS IR: nativeGetter, nativeSetter, nativeInvoke are not supported

Libraries

  • KT-41320 Actual kotlin.test annotation typealiases are inaccessible in modular environment

Middle-end. IR

  • KT-41324 IR: "Compilation failed: null" caused by StackOverflowError in compiler in multi-module project

Native. C and ObjC Import

  • KT-39762 cinterop on 1.4-M2 doesn't include @deprecated Kotlin declaration for C declaration it fails to import

Native. ObjC Export

  • KT-39206 New line characters in @deprecated annotation cause syntax error in Kotlin/native exported header
  • KT-40976 "Unrecognized selector sent to instance" exception invoking suspending lambda from Swift in Native iOS project

Reflection

  • KT-40842 "AssertionError: Built-in class kotlin.Any is not found" on java modular run

Tools. Compiler Plugins

  • KT-41321 Upgrading to 1.4.0 fails compiling native with is not bound error

Tools. Gradle. Multiplatform

  • KT-41083 Transitive dependency on an MPP with host-specific source sets fails to resolve: "Couldn't resolve metadata artifact..."

Tools. Gradle. Native

  • KT-40834 Cannot build Kotlin Multiplatform project on Windows 10 64-bit when the Cocoapods plugin is applied

Tools. Scripts

  • KT-35925 REPL: Springboot autoconfiguration problem (META-INF/spring.factories not found ?)

Tools. kapt

  • KT-41313 kapt 1.4.0 throws "ZipException: zip END header not found", when Graal SVM jar in classpath

Checksums

File Sha256
kotlin-compiler-1.4.10.zip bb1a21d70e521a01ae104e99a082a6e7bb58699b86347049da521d175d0dace7
kotlin-native-linux-1.4.10.tar.gz daedd047cfacb9cff064eae705c54d2ed61ef44b61c1ec944066603b8e9a373c
kotlin-native-macos-1.4.10.tar.gz e84f1622a6160a44e1f821d7539771a52389cdf3c9acaa94534b079a571503f3
kotlin-native-windows-1.4.10.zip 7728814be6f3f7906f9d55deff7ce15165c5a21f0f59ad412de815d1dab0ec1f

Kotlin 1.4.0

14 Aug 15:50

Choose a tag to compare

Contents

The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.

Changelog

1.4.0

Compiler

New Features

  • KT-23729 Provide a way to generate JVM default method bodies in interfaces delegating to DefaultImpls
  • KT-30330 Introduce KotlinNothingValueException and throw it instead of NPE on expressions of type Nothing
  • KT-38435 Support suspend conversion on callable references in JVM backend

Fixes

  • KT-35483 NI: compatibility mode
  • KT-39728 Declarations from kotlin.reflect resolved to expect-classes even in JVM modules in IDE
  • KT-40153 REPL IDE services completion fails on imports completion
  • KT-40404 Mixed named/positional arguments: argument can be passed twice
  • KT-40544 NI: "TYPE_MISMATCH: Required: MutableList<out T!> Found: List" caused by Java interface function
  • KT-40555 NI: Spread operator allows inferred nullable types
  • KT-40646 NI: TYPE_MISMATCH: "inferred type is Unit but Observer was expected" caused by LieData.observe inference
  • KT-40691 False positive CAPTURED_VAL_INITIALIZATION with EXACTLY_ONCE contract
  • KT-40693 UnsupportedOperationException: no descriptor for type constructor of (CapturedType(out TResult)..CapturedType(out TResult)?)
  • KT-40824 Usages of a typealias lose nullability and annotations in deserialization
  • KT-40843 Unhandled exception for suspending methods that return Result type
  • KT-40869 Recursion computation inside compiler resolve on a correct code
  • KT-40893 Error "Captured values initialization is forbidden due to possible reassignment" when attempting to use the plusAssign operator with a java list inside an inline function
  • KT-40919 kotlin.collections.ArrayDeque requires an explicit import when compiling with kotlinc 1.4-RC and -language-version 1.3
  • KT-40920 Regression in JvmDefault: incorrect access to missing DefaultImpls on default methods in Java interface overriding Kotlin interface
  • KT-40978 Prohibit using suspend functions as SAM in fun interfaces

Kotlin/Native

  • Objective-C/Swift interop:
    • Reworked exception handling (GH-3822, GH-3842)
    • Enabled support for Objective-C generics by default (GH-3778)
    • Support for Kotlin’s suspending functions (GH-3915)
    • Handle variadic block types in ObjC interop (KT-36766)
  • Added native-specific frontend checkers (implemented in the main Kotlin repository: GH-3293, GH-3091, GH-3172)
  • .dSYMs for release binaries on Apple platforms (GH-4085)
  • Improved compilation time of builds with interop libraries by reworking cinterop under the hood.
  • Experimental mimalloc allocator support (-Xallocator=mimalloc) to improve execution time performance. (GH-3704)
  • Tune GC to improve execution time performance
  • Various fixes to compiler caches and Gradle daemon usage

Docs & Examples

  • KT-35218 Fix misleading in JavaDoc for createTempDir/createTempFile
  • KT-36981 Provide a visual illustration of source sets structure generated by ios(), watchos(), tvos() presets
  • KT-38050 Language Guide: MPP reference: add sample of language settings for all roots instead of common root only

IDE

  • KT-30265 IDE, MPP: False negative TYPE_PARAMETER_AS_REIFIED in common code
  • KT-40494 UAST: "NoSuchElementException: No element of given type found" with use-site target annotation
  • KT-40639 Shift IDE plugins updater numbers for Kotlin plugin

IDE. Code Style, Formatting

  • KT-40636 Hard freeze on formatter: infinite recursion

IDE. Gradle Integration

  • KT-30116 IDE: Unresolved reference in MPP module (androidMain source set) for annotation from common module (defined in commonMain and with JVM target)

IDE. Gradle. Script

  • KT-34552 Deadlock in ScriptDefinitionsManager
  • KT-40675 Gradle build file is not highlighted until navigating to symbol

IDE. JS

  • KT-40461 Create new projects with kotlin.js.generate.executable.default=false

IDE. Script

  • KT-39547 Kotlin script support freezes IDEA
  • KT-40242 gradle.kts: Deadlock in ScriptClassRootsUpdater

IDE. Wizards

  • KT-36153 New Project Wizard: provide more referential info on project structure editor screen
  • KT-39904 New Project wizard 1.4: update Frontend Application to make it run with JS IR
  • KT-40149 Gradle project wizard: templates for Kotlin/JS are not properly formatted

JavaScript

  • KT-25859 JS: support function references to functions with vararg if expected type ends with repeated vararg element type
  • KT-40083 K/JS-IR: java.lang.IllegalStateException: has not acquired a symbol yet
  • KT-40892 KJS, IR: Unresolved references on importing classes from kotlinx-nodejs

Libraries

  • KT-39051 Libraries native artifacts are published without sources

Tools. Gradle

  • KT-27816 Provide a possibility to specify intermediate source sets between platform-agnostic and platform-specific test source sets
  • KT-37720 Replace ArtifactTransform with TransformAction
  • KT-40559 Adding the stdlib by default triggers warning in the Android Gradle Plugin

Tools. Gradle. JS

  • KT-40093 Incorrect updating version of Kotlin/JS dependencies in package.json

Tools. Gradle. Multiplatform

  • KT-27320 Provide a way to reuse same sources for similar Native target
  • KT-40058 NPE from mpp gradle plugin on kotlinx.benchmarks

Tools. Gradle. Native

  • KT-40801 Gradle CocoaPods integration: Cannot change a framework name

1.4-RC

Backend. Native

  • KT-40209 java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl@76484173
  • KT-40367 Kotlin/Native-Swift interop (iOS): Array member initialization failing in release builds

Compiler

Fixes

  • KT-31025 Type mismatch when callable reference is resolved with a functional expected type and SAM conversion
  • KT-37388 Consider relaxing rules about inferring Nothing inside special constructions (if, try, when)
  • KT-37717 NI: "IllegalStateException: Error type encountered" with @BuilderInference
  • KT-38427 New inference in branched conditions (if, when) results in odd behavior with inconsistent compiler warnings and runtime errors
  • KT-38899 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NPE
  • KT-39468 NI: overload resolution ambiguity between functions passing T and Foo<T> with a contravariant receiver
  • KT-39618 NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: unable to infer generic type on @BuilderInference annotated lambda parameter with receiver ...
Read more

Kotlin 1.4.0-rc

24 Jul 17:14

Choose a tag to compare

Kotlin 1.4.0-rc Pre-release
Pre-release

Contents

The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.

Changelog

Backend. Native

  • KT-40209 java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl@76484173
  • KT-40367 Kotlin/Native-Swift interop (iOS): Array member initialization failing in release builds

Compiler

Fixes

  • KT-31025 Type mismatch when callable reference is resolved with a functional expected type and SAM conversion
  • KT-37388 Consider relaxing rules about inferring Nothing inside special constructions (if, try, when)
  • KT-37717 NI: "IllegalStateException: Error type encountered" with @BuilderInference
  • KT-38427 New inference in branched conditions (if, when) results in odd behavior with inconsistent compiler warnings and runtime errors
  • KT-38899 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NPE
  • KT-39468 NI: overload resolution ambiguity between functions passing T and Foo<T> with a contravariant receiver
  • KT-39618 NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: unable to infer generic type on @BuilderInference annotated lambda parameter with receiver type
  • KT-39633 NI: Incorrect type parameter instantiation based on contravariant type argument
  • KT-39691 NI: Missing SAM conversion for nullable lambda
  • KT-39860 Make Kotlin binaries publicly available (set KotlinCompilerVersion.IS_PRE_RELEASE = false)
  • KT-39900 NI: Incorrect type inference in a lambda returning Unit
  • KT-39925 New JVM default compilation mode doesn't check that JVM target is 1.8
  • KT-39943 Write information about all-compatibility mode in metadata
  • KT-39953 NI: ClassCastException "cannot be cast to java.lang.Void" with if-else in return statement in ANdroid project
  • KT-40045 NI: lambda’s receiver type isn't inferred properly
  • KT-40057 NI: provideDelegate org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: wrong bytecode generated for static initializer
  • KT-40060 NI: postponed variable from the builder inference flows to back-end and leads to throw an exception
  • KT-40112 Kotlin Gradle DSL: COMPATIBILITY_WARNING on kotlin.sourceSets block
  • KT-40113 Kotlin Gradle DSL: "Expression 'main' cannot be invoked as a function" for distributions.main DSL block
  • KT-40128 Introduce compiler key to disable compatibility resolution mechanism for new inference features
  • KT-40151 NI: postponed variable isn't substituted for top-level CR inside builder inference
  • KT-40214 AbstractMethodError in gradle subplugin which is used in Android app
  • KT-40234 Deprecation level "hidden" has no effect on callable reference argument
  • KT-40247 NI: false positive "function should be called from coroutine or another suspend function" for suspend invoke operator in try-catch
  • KT-40254 Rewrite at slice with two callable reference arguments
  • KT-40269 NI: "disabled Unit conversions" error has appeared on green code
  • KT-40337 NI: false positive "function should be called from coroutine or another suspend function" for suspend invoke operator in when block
  • KT-40406 Prohibit reflection on adapted callable references

IDE

  • KT-39968 Paths in KotlinJavaRuntime library aren't updated after you run IDE from a different directory
  • KT-39989 NullPointerException when opening Kotlin facets in Project Structure dialog in IDEA 192
  • KT-40311 Create change_notes for 1.4 in IDE plugin description

IDE. Debugger

  • KT-39808 (CoroutineDebugger) Doesn't start with kotlinx-coroutines-core >= 1.3.6
  • KT-40073 (CoroutineDebugger) Change minimum supported kotlinx.coroutines version to 1.3.8*
  • KT-40172 Restored frame variables isn't shown for suspended coroutines

IDE. Gradle Integration

  • KT-38744 No dependency between Android test and commonTest source sets with kotlin.mpp.enableGranularSourceSetsMetadata=true
  • KT-39037 'None of the consumable configurations have attributes' in MPP IDE import with transitive project dependency on self

IDE. Gradle. Script

  • KT-31137 IntelliJ would get very slow when editing gradle buildSrc(using the kotlin dsl)
  • KT-36078 Gradle Kotlin script context is not reloaded when gradle/wrapper/gradle-wrapper.properties file is changed
  • KT-39317 ISE “Calling invokeAndWait from read-action leads to possible deadlock.” on importing simple Gradle-based project in nightly IJ

IDE. Inspections and Intentions

  • KT-28662 Inspection to flag usage of the wrong Transient annotation on Kotlin Serializable class
  • KT-34209 Switch default behaviour in 1.4 for insertion (to build script) via quick fix of the compiler option enabling inline classes
  • KT-36131 Suggest to add a missing module dependency on an unresolved reference in Kotlin code
  • KT-37462 Add "Add dependency to module" quickfix in multimodule Maven project
  • KT-39869 Add whole project migration usages of kotlin.browser.* & kotlin.dom.* to kotlinx.browser.* & kotlinx.dom.* respectively

IDE. Wizards

  • KT-40004 New Project wizard 1.4+: no https://dl.bintray.com/kotlin/kotlinx repository is added for kotlinx-html
  • KT-40037 New Project wizard: update Ktor version
  • KT-40092 Wizard: the templates panel on mac OS is too wide
  • KT-40232 New Wizard: Android Sdk path doesn't have backslash escaping on Windows
  • KT-40371 New Project Wizard: Frontend Application / Library results in broken run configuration
  • KT-40377 New Project Wizard: Frontend Application defines NPM dependencies that are unnecessary with Kotlin 1.4-RC+
  • KT-40378 New Project Wizard: Frontend Application, Disabling JavaScript test framework has no effect
  • KT-40407 Wizard: do not add stdlib by default for Gradle projects in wizard

JS. Tools

  • KT-39984 Update dukat version in toolchain near to release of 1.4-RC

JavaScript

  • KT-32186 Make sure K/JS Reflection API documentation is correct and fix it.
  • KT-37563 K/JS: stacktrace is not captured for exceptions without primary constructor inherited from Exception/Error
  • KT-37752 Generated typescript incorrect for constructors of derived classes
  • KT-37883 KJS: Generated TypeScript uses 'declare' rather than 'export'
  • KT-38771 JS: support non-reified type parameters in typeOf
  • KT-39873 Update Kotlin JavaScript wrappers due to NON_EXPORTABLE_TYPE diagnostic introduction
  • KT-40126 [JS / IR] NPE while compiling interfaces with invoke which is passed as a delegate
  • KT-40216 KJS / IR: AssertionError caused by an anonymous object in the dependency project

Libraries

Read more

Kotlin 1.4-M3

06 Jul 14:09

Choose a tag to compare

Kotlin 1.4-M3 Pre-release
Pre-release

Contents

The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.

Changelog

Compiler

New Features

  • KT-23575 Deprecate with replacement and SinceKotlin
  • KT-38652 Do not generate optional annotations to class files on JVM
  • KT-38777 Hide Throwable.addSuppressed member and prefer extension instead

Performance Improvements

  • KT-38489 Compilation of kotlin html DSL increasingly slow
  • KT-28650 Type inference for argument type is very slow if several interfaces with a type parameter is used as an upper bound of a type parameter

Fixes

  • KT-15971 Incorrect bytecode generated when inheriting default arguments not from the first supertype
  • KT-25290 NI: "AssertionError: If original type is SAM type, then candidate should have same type constructor" on out projection of Java class
  • KT-28672 Contracts on calls with implicit receivers
  • KT-30279 Support non-reified type parameters in typeOf
  • KT-31908 NI: CCE on passing lambda to function which accepts vararg SAM interface
  • KT-32156 New inference issue with generics
  • KT-32229 New inference algorithm not taking into account the upper bound class
  • KT-33455 Override equals/hashCode in functional interface wrappers
  • KT-34902 AnalyzerException: Argument 1: expected I, but found R for unsigned types in generic data class
  • KT-35075 AssertionError: "No resolved call for ..." with conditional function references
  • KT-35468 Overcome ambiguity between typealias kotlin.Throws and the aliased type kotlin.jvm.Throws
  • KT-35494 NI: Multiple duplicate error diagnostics (in IDE popup) with NULL_FOR_NONNULL_TYPE
  • KT-35681 Wrong common supertype between raw and integer literal type leads to unsound code
  • KT-35937 Error "Declaration has several compatible actuals" on incremental build
  • KT-36013 Functional interface conversion not happens on a value of functional type with smart cast to a relevant functional type
  • KT-36045 Do not depend on the order of lambda arguments to coerce result to Unit
  • KT-36448 NI: fix tests after enabling NI in the compiler
  • KT-36706 Prohibit functional interface constructor references
  • KT-36969 Generate @NotNull on instance parameters of Interface$DefaultImpls methods
  • KT-37058 Incorrect overload resolution ambiguity on callable reference in a conditional expression with new inference
  • KT-37120 [FIR] False UNRESOLVED_REFERENCE for public and protected member functions and properties which are declared in object inner class
  • KT-37149 Conversion when generic specified by type argument of SAM type
  • KT-37249 false TYPE_MISMATCH when When-expression branches have try-catch blocks
  • KT-37341 NI: Type mismatch with combination of lambda and function reference
  • KT-37436 AME: "Receiver class does not define or inherit an implementation of the resolved method" in runtime on usage of non-abstract method of fun interface
  • KT-37510 NI infers java.lang.Void from the expression in a lazy property delegate and throws ClassCastException at runtime
  • KT-37541 SAM conversion with fun interface without a function fails on compiling and IDE analysis in SamAdapterFunctionsScope.getSamConstructor()
  • KT-37574 NI: Type mismatch with Kotlin object extending functional type passed as @FunctionalInterface to Java
  • KT-37630 NI: ILT suitability in a call is broken if there are CST calculation and calling function's type parameters
  • KT-37665 NI: applicability error due to implicitly inferred Nothing for returning T with expected type
  • KT-37712 No extension receiver in functional interface created with lambda
  • KT-37715 NI: VerifyError: Bad type on operand stack with varargs generic value when type is inferred
  • KT-37721 NI: Function reference with vararg parameter treated as array and missing default parameter is rejected
  • KT-37887 NI: Smart casting for Map doesn't work if the variable is already "smart casted"
  • KT-37914 NI: broken inference for a casting to subtype function within the common constraint system with this subtype
  • KT-37952 NI: improve lambdas completion through separation the lambdas analysis into several steps
  • KT-38069 Callable reference adaptation should have dependency on API version 1.4
  • KT-38143 New type inference fails when calling extension function defined on generic type with type arguments nested too deep
  • KT-38156 FIR Metadata generation
  • KT-38197 java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
  • KT-38259 NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for provideDelegate
  • KT-38337 Map delegation fails for inline classes
  • KT-38401 FIR: protected effective visibility is handled unprecisely
  • KT-38416 FIR: infinite loop in BB coroutine test 'overrideDefaultArgument.kt'
  • KT-38432 FIR: incorrect effective visibility in anonymous object
  • KT-38434 Implement resolution of suspend-conversion on FE only, but give error if suspend conversion is called
  • KT-38437 [FIR] String(CharArray) is resolved to java.lang.String constructor instead of kotlin.text.String pseudo-constructor
  • KT-38439 NI: anonymous functions without receiver is allowed if there is an expected type with receiver
  • KT-38473 FIR: ConeIntegerLiteralType in signature
  • KT-38537 IllegalArgumentException: "marginPrefix must be non-blank string" with raw strings and space as margin prefix in trimMargin() call
  • KT-38604 Implicit suspend conversion on call arguments doesn't work on vararg elements
  • KT-38680 NSME when calling generic interface method with default parameters overriden with inline class type argument
  • KT-38681 Wrong bytecode generated when calling generic interface method with default parameters overriden with primitive type argument
  • KT-38691 NI: overload resolution ambiguity if take R and () -> R, and pass literal lambda, which returns R
  • KT-38799 False positive USELESS_CAST for lambda parameter
  • KT-38802 Generated code crashes by ClassCastException when delegating with inline class
  • KT-38853 Backend Internal error: Error type encountered: Unresolved type for nested class used in an annotation argument on an interface method
  • KT-38890 NI: false negative Type mismatch for values with fun keyword
  • KT-39010 NI: Regression with false-positive smartcast on var of generic type
  • KT-39013 202, ASM 8: "AnalyzerException: Execution can fall off the end of the code"
  • KT-39260 "AssertionError: Unsigned type expected: Int" in range
  • KT-39305 NEW_INFERENCE_NO_...
Read more