Changelog
Backend. Native
Backend. IR
KT-42684
StackOverflowError on recursive inline arguments in inline fun
Compiler
New Features
KT-28791
Kotlin serialization with inline classesKT-30222
Support JVM target version selection in Kotlin bytecode tool windowKT-41884
Support 'file' target for JvmSynthetic annotationKT-43677
Support for Java recordsKT-43920
Support loading binary Java annotations on fieldsKT-44278
Generate SAM-converted lambdas and function references using 'invokedynamic' on JDK 1.8+KT-44650
Deprecate JVM target version 1.6KT-44787
Suspend functions in fun interfacesKT-44865
Allow to declare protected constructors in sealed classesKT-44869
Compiling sealed interface with version less than 1.5: error message from future could be provided
Performance Improvements
KT-6336
Optimize generation of local functionsKT-7307
Optimize infix call of String.plusKT-18692
Optimize '<optimizable_range> step x' for-in loopKT-19978
Inefficient bytecode generated for function references undergoing Java SAM conversionKT-23565
OperationsMapGenerated.kt generates unreasonable amount of bytecodeKT-23825
Tail suspend call utilizing elvis operator does not take advantage of suspend tail call optimizationKT-23826
A suspend function on the right side of a returned || condition is not tail call optimizedKT-25348
No compile time unsigned integer conversion when using hex literalKT-26060
Support a compiler mode to compile lambda expressions usinginvokedynamic
instructionKT-26590
Do not generate create method for suspend lambdas if its arity >= 2KT-27427
Optimize nullable check introduced with 'as' castKT-28246
Redundant boxing/unboxing isn't eliminated by the compiler in case of inline classes and javaClass intrinsicKT-30605
Constant folding doesn't evaluate inv() functionKT-36845
Generate enum-based TABLESWITCH/LOOKUPSWITCH on a value with smart cast to enum in JVM_IRKT-39585
JVM BE generates redundant accessor calls when accessing static final field lifted from companionKT-40886
Old JVM BE unspills ACONST_NULL from continuationKT-42621
Kotlin binary size considerably larger for code extensively using stream APIKT-44153
NI: Low Memory and IntelliJ hangs when quotes in split() are missedKT-45410
JVM / IR: Extreme performance regression on arithmetic operations inside a loop
Fixes
KT-6007
Support changed return type of inlined generic function when lambda returns anonymous objectKT-6055
Failed invoke plus assign on array element accessed via several args through local get/set convention extensionsKT-6879
CompilationException when local classes hierarchy is placed within other local or inner declarationKT-8120
NoSuchMethodError on local class constructor call inside a local classKT-8199
"Cannot pop operand off an empty stack" for local class using a captured variable as default value for constructor parameterKT-10835
"AssertionError: Non-outer parameter incorrectly mapped to outer" when inlining object literal extending inner classKT-12790
Don't generate synthetic accessors for private inline function/propertiesKT-13213
IllegalArgumentException in ByteVector.putUTF8 on attempt to compile file with moderately long string literalKT-14628
"UnsupportedOperationException: Don't know how to generate outer expression" for nested class inheriting from inner class with a companion objectKT-14833
JVM internal error: Augment assignment and increment are not supported for local delegated properties and inline propertiesKT-15403
Suspend operator get wrong code generated by BE (NoSuchMethodError)KT-15404
Suspend operator set wrong code generatedKT-16084
Proguard can't find enclosing class of let closure inside apply closureKT-16151
Internal compiler error when using plusAssign operator with mutable mapKT-16221
Support in/!in suspend operatorsKT-16282
"Cannot pop operand off an empty stack" for plusAssign with default parameters in setter operatorKT-16445
java.lang.VerifyError: Bad type on operand stack
when delegating an interface through a private reified function inside an objectKT-16520
Invalid bytecode semantics for set call by convention with default parametersKT-16567
Inliner creates redundant objects on source inliningKT-16752
Delegating function interface to function reference does not workKT-17554
Incorrect cast to Unit generated on annotated when-expression with a single-branch if insideKT-17738
Java cannot extend class implementing kotlin.collections.MapKT-17753
Strange behavior of if and return statementsKT-18583
"ISE: Recursive call in a lazy value" for generic sealed class with nested subclass in awhen(this)
with inferred return typeKT-19861
"IllegalStateException: Label wasn't found during iterating through instructions" forplusAssign
with safe callKT-20306
Make 'when' over an 'expect' enum class non-exhaustiveKT-20869
kotlin.jvm.internal.DefaultConstructorMarker should be publicKT-20996
IllegalStateException: Cannot get FQ name of local class: class in metadata serialization for common codeKT-21014
Incorrect bytecode generated for 'PrimitiveArray::size'KT-21092
ReferencejavaClass
for generic property: "couldn't transform method node: get()"KT-21778
"IllegalStateException: Couldn't build context" for inline function inside an anonymous objectKT-21900
VerifyError on equals on generic primitive typeKT-22098
"UnsupportedOperationException: Don't know how to generate outer expression" on extension function call inside lambda in anonymous object super constructor callKT-22488
Bad line numbers generated for '&&' expressionKT-22972
A compiler bug(?) in Number class descendantsKT-23619
Transform stateless singleton lambda during inlineKT-23881
Declaration of lambda in inlined apply block holds reference to superfluous references causing leakKT-24135
Calling invoke on crossinline suspend lambda leads to no state-machineKT-24193
NoClassDefFoundError: java/lang/Cloneable$DefaultImpls on inheritance from Cloneable through an interfaceKT-24305
ClassNotFoundException when using Java reflection on local class in an inlined lambdaKT-24564
Custom operator fun set on ByteArray resolves properly but is miscompiledKT-25400
"NoClassDefFoundError: kotlin/KotlinPackage" with Turkish system locale on macOSKT-26130
Incorrect method signature for a generic function with inline class as a type parameter upper boundKT-26360
"Method from super interface has a different signature" for Interface that extends both interfaces with and without @JvmDefaultKT-26473
Error on compiling inline class with calls of super methods equals(), hashCode(), toString()KT-26474
VE “Bad type on operand stack” at runtime on calling toString() method of inline class with calls of super methods (toString(), equals(), hashCode()) insideKT-26592
Do not generate private suspend functions as synthetic package-privateKT-27449
NoSuchMethodError for local suspend function with suspend lambda parameter with default valueKT-27469
"Cannot pop operand off an empty stack" for compound assignment (plusAssign) with avararg
operator getKT-27825
Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)KT-27830
"Incompatible stack heights" with suspend inline function in do while loop that executes suspend lambdaKT-28042
"Cannot pop operand off an empty stack" for a bound callable reference of lambda inside inline functionKT-28166
"Argument 1: expected I, but found R" for generic method with generic parameter or receiver with inline class upper boundKT-28331
Consider generating accessors for lateinit properties to avoid assertion on each callKT-28573
Inliner does not update references to transformed objectKT-29331
"AnalyzerException: Argument 1: expected R, but found I" with local generic extension property called onInt
receiverKT-29595
NoClassDefFoundError with inline reified function with lambda argument returning anonymous objectKT-29802
Incorrect reification when the same type parameter name is used for different reified typesKT-30041
"AnalyzerException: Expected an object reference, but found ." on nested suspend function calls outer suspend functionKT-30066
Consider adding annotations to ConeKotlinTypeKT-30280
Inline class class literal gets unwrapped in annotation argumentsKT-30402
Constant folding works incorrectly with unsigned arithmeticsKT-30548
"java.lang.IndexOutOfBoundsException: Cannot pop operand off an empty stack" while compiling access to a private lateinit companion fieldKT-30629
java.lang.VerifyError: Bad type on operand stack
when using a function reference to a generic propertyKT-30933
Inline function produces IllegalAccessError on property reference from different packageKT-31136
"AnalyzerException: Argument 1: expected R, but found I" on x::javaClass when x is inline class object built around primitive typeKT-31227
Prohibit using array based on non-reified type parameters as reified type arguments on JVMKT-31592
NoSuchMethodException when inlining public function accessing a protected static Java class memberKT-31727
Object expression captures all variables used in constructorKT-32023
"AnalyzerException: Expected I, but found R" with inline suspend function used with callable referenceKT-32115
NPE during initialization of enum class with delegated propertyKT-32153
"AnalyzerException: Expected an object reference, but found ." with recursive suspend local functionKT-32351
ClassNotFoundException for anonymous object implementing interface inside a lambda with data class and inline methodsKT-32384
Safe cast to generic type argument with inline class upper-bound throws NPE instead of ClassCastExceptionKT-32579
java.lang.VerifyError: Bad type on operand stack on calling inner class of inherited class in super class when casting to inherited classKT-32749
"VerifyError: Call to wrong method" with inline function and accessing class field from anonymous objectKT-32793
Generated code crashes by ClassCastException with local suspend function and inline classKT-32812
"AnalyzerException: Argument 1: expected R, but found I" invoking function with default parameter inherited by inline classKT-32821
Missing unboxing of inline class for complex hierarchy of suspend callsKT-33155
ClassNotFoundException for qualified this in anonymous object and as a result of inline function callKT-33173
Internal error: "AnalyzerException: Expected I, but found R" for supercall inside inline lambda from HashSet.remove implementationKT-33577
NoSuchFieldError with nested anonymous objects accessing outer instance propertyKT-33836
Wrong code generated for a local tailrec suspend function.KT-33873
ClassCastException invoking UByte setter function via reflectionKT-34018
"Cannot pop operand off an empty stack" with inline lambda with callable referenceKT-34186
JDK11: class file contains malformed variable arity method for vararg sealed class constructorKT-34202
IllegalAccessError on callable reference of function from multifile facade from standard libraryKT-34255
@JvmStatic tailrec function: "Cannot pop operand off an empty stack"KT-34507
Incorrect generated code for mutable collection stub methods in case of presence of functions with similar signatureKT-34665
Possible index overflow in optimized "for" loop over withIndex()KT-34754
Flow builder: "AnalyzerException: Expected an object reference, but found ." with recursive suspend local functionKT-34816
"AnalyzerException: Expected an object reference, but found I" on "this" in inline class member extension suspend functionKT-34841
ClassNotFoundException when invoke param function inside anonymous object methodKT-35008
"AnalyzerException: Expected an object reference, but found I" in inline class companion calling private constructorKT-35166
NoSuchMethodError
at runtime with local property delegate on anonymous object referencing another anonymous objectKT-35224
It's possible to pass non-spread arrays after arguments with SAM-conversionKT-35301
MethodInliner fails with "AssertionError: call doesn't correspond to object transformation info" for qualified this in SAM constructor used as parameter of anonymous object inside inline lambdaKT-35419
Failed to generate expression: KtNamedFunction
for local suspend tailrec function with receiverKT-35511
VerifyError: "Bad type on operand stack" after reificationKT-35553
Kotlin compiler generates methods that always have line number 1 for Inline ClassesKT-35725
"AssertionError: Couldn't find a context for a super-call" forsuper
member call in property initializer of companion objectKT-36420
ClassCastException with inline class Foo extending generic ComparableKT-36713
AnalyzerException: "Incompatible stack heights" with suspend and inline suspend functionsKT-36794
Move $assertionsDisabled field to the top-level classKT-36853
IR: UninitializedPropertyAccessException on tailrec with object expression in default argumentKT-36875
"RuntimeException: Trying to access skipped parameter" on synthetic local variable access from inline functionKT-36916
AnalyzerException: Argument 1: expected I, but found R when using inline class with rxjavaKT-36957
Exception during codegen: cannot pop operand off an empty stack (Nothing variable in string interpolation)KT-36984
SAM adapter classes should be generated as anonymous inner classes in JVM_IRKT-37704
Incorrect SMAP syntaxKT-37716
"AssertionError: call doesn't correspond to object transformation info" with inline reified type parameter, anonymous object and lambda in constructor callKT-37972
IllegalAccessError on initializing property reference for a property declared in JvmMultifileClass with -Xmultifile-parts-inheritKT-38100
Support local delegated properties (not inlined) in new JVM default modesKT-38833
JVM: java.lang.ClassCastException when loop variable is nullable in for loop over unsigned progressionKT-38849
Read-only variable initialized in non-inline lambda using contract callsInPlace EXACTLY_ONCE is not captured correctly in nested lambdasKT-38869
JVM BE produces invalid bytecode when inheriting from AbstractList and declaring methods that look like MutableList implementors (but they aren't)KT-38965
"UnsupportedOperationException: Don't know how to generate outer expression: Closure" with reference to local variable in block argument of anonymous objectby
delegationKT-39289
CCE in if-else inside annotated 'if' statementKT-39425
AbstractMethodError: "Receiver class does not define or inherit an implementation of the resolved method" using classes with complex Java and Kotlin inheritance hierarchies.KT-39434
IllegalAccessError with local delegated property in lambda in inlined functionKT-39687
"Couldn't find captured this" when more than 3 inline functions are nestedKT-39784
"IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by JvmOverloads annotation inside an inline classKT-40165
ClassCastException caused by SAM conversion used on a functional interface with suspended functionKT-40179
"VerifyError: Bad type on operand stack" with parent classget
extension function and child classset
extension function which used inside child classplusAssign
extension functionKT-40277
Fix generic types in special bridge methodsKT-40308
NoSuchFieldError for multiple delegated extension properties with the same name in a companion objectKT-40338
NoSuchFieldError on property without backing field that is called as function referenceKT-40392
Deprecate JvmDefault annotation and old -Xjvm-default modesKT-40396
NI: Exceptions when ambiguous type argument and generic invokeKT-40510
"AssertionError: DELEGATION slice must override something" for ByteBuffer delegationKT-40601
VerifyError: "interface method reference is in an indirect superinterface" when calling @JvmDefault suspend methodKT-40809
"Couldn't find captured field" compiler error with local function with recursive call through method referenceKT-41056
Increase stub version due to new "contract" keywordKT-41105
IllegalStateException: 'Couldn't find declaration file ' with inline delegate declared in another fileKT-41165
"IllegalStateException: Concrete fake override public final fun" when an enum class inherits an interface with a variable 'name' or 'ordinal'KT-41222
"IllegalStateException: Concrete fake override public final fun" when a class property is inherited as merged 'var' from 'val' and 'var' from parent abstract class and interface propertiesKT-41255
JDK 11: "VerifyError: Bad type on operand stack" with long function body with annotatedwhen
expressionKT-41427
NoSuchMethodError caused by implementation by delegation to function referenceKT-41508
ClassNotFoundException caused by object with overridden function inside a lambda with safe cast receiverKT-41750
Inline classes: ClassCastExceptionError when calling .withIndex() on Iterator over ArrayKT-41758
Deprecate kotlin.Metadata.bytecodeVersion and avoid using it in the compilerKT-41770
AssertionError: "Asm parameter types should be the same length as Kotlin parameter types" cause by fun interfaceKT-41874
"IllegalStateException: Couldn't obtain compiled function body" on extension delegated property with inline operator getValue in a different fileKT-41917
[FIR] Incorrect calculating property type for override from intersection scopeKT-42012
IllegalAccess to protected field instead of getterKT-42017
"AssertionError: Unsigned type expected: UInt?" during codegen when a variable of nullable unsigned type is checking for presence in the rangeKT-42032
"AnalyzerException: Expected I, but found R" while using Flow.reduce() with suspend function referenceKT-42034
ArrayIndexOutOfBoundsException in PopBackwardPropagationTransformer on external override of function in inline classKT-42064
"Parameter specified as non-null is null" with default value of the parameter in operator funKT-42069
JVM IR: -Xreport-output-files doesn't report any source files for META-INF/*.kotlin_module filesKT-42083
AbstractMethodError when 'remove' with irrelevant generic parameter but matching JVM signature is present in Kotlin collection classKT-42092
JVM / IR: "AnalyzerException: Argument 1: expected R, but found J" when trying to add to ArrayList the result of a function applied to intKT-42175
Psi2ir: "AssertionError: Undefined parameter referenced: " on augmented assignment on this in a BuilderInference lambdaKT-42179
Platform declaration clash when extending abstract Java class implementing 'java.util.Collection' by abstract Kotlin class implementing Kotlin Set or ListKT-42321
JVM IR: do not cast integer value based on the type of a literal receiver of an operator callKT-42337
NoSuchMethodError in JVM backend with inheritance of private functions in the interfaceKT-42404
"Supertypes of the following classes cannot be resolved" in Rider projectKT-42472
No TYPE_INFERENCE_UPPER_BOUND_VIOLATED for Delegated Properties do not check types (in Kotlin 1.4.10)KT-42487
"IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by USELESS_IS_CHECK of Double typeKT-42533
(N until MIN_VALUE).reversed()
should be an empty progression in for loopsKT-42588
"IllegalStateException: Concrete fake override public open fun" caused byval
override withvar
with delegation.KT-42634
Different bridges and abstract stubs behavior in abstract class implementing Map<K, String> in JVM and JVM_IRKT-42635
ClassCastException with inline class in for loopKT-42662
AbstractMethodError when using partially specialized generic Map classKT-42694
@get:Synchronized causes the JVM getter method not to be generatedKT-42753
"VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface" withjvm-default=all
KT-42879
JVM: Declaration clash in fun interface implementation returning an inline classKT-42900
"VerifyError: Bad return type" incorrect bytecode when a property and an extension property in inline class have the same namesKT-42946
FIR2IR: Fix super-calls to Java overrides of special built-inKT-42971
JVM: "AssertionError: Unsigned type expected: T" with UInt loop rangeKT-42990
"AssertionError: Next value after NEW should be one generated by DUP" caused by extension properties with accessors annotataed as @JvmStaticKT-43034
AssertionError: Compiler fails with complicated tailrec + inline caseKT-43048
JVM_IR: Implement coroutines state clearingKT-43050
JVM IR: incorrect mangling for method with type parameter with inline class bound in the signatureKT-43059
Different bridges behavior in class implementing Map<String, String> in JVM and JVM_IRKT-43063
Redundant DefaultImpls delegate is generated in old JVM backend on explicit "duplicate" inheritance from interfaceKT-43069
JVM: incorrect generic signature for method with implicit return type Nothing overriding a method from CollectionKT-43099
Tailrec call in not tail-call position leads to internal compiler errorKT-43106
JVM: customremove
in Iterator subclass results in a synthetic bridgeKT-43120
JVM: "Expected an object reference, but found ." caused by function which is passed as reference to suspend parameterKT-43167
JVM IR, serialization: "No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with data class containing property defined in bodyKT-43255
Verify error when inheriting from an abstract class implementing Collection with stub-like method in superclassKT-43303
NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when inferred type argument is not a subtype of type parameter upper boundKT-43333
AbstractMethodError when calling 'toArray' from Java on a Kotlin Collection with custom internal 'toArray'KT-43334
AbstractMethodError when calling 'remove' from Java on a Kotlin Collection with custom internal 'remove'KT-43342
[FIR2IR] No getter or backing field found for delegated member callKT-43347
[FIR] Synthetic setter with unmatched parameter type isn't foundKT-43401
JVM_IR. Additionalsynchronized
flag on JvmOverloads-generated adapter for Synchronized functionKT-43405
Turkish locale, Linux Mint: "NoSuchMethodError: 'int[] kotlin.jvm.internal.Intrinsics$Kotlin.intArrayOf(int[])'" withintArrayOf
function callKT-43460
JVM: redundant private setter is generated in case of multifile facadeKT-43473
"VerifyError: Bad type on operand stack" caused by operatorget
with optional argument in superclass when called via square brackets on subclassKT-43518
JVM_IR. Additionalstrictfp
flag on JvmOverloads-generated adapter for Strictfp functionKT-43569
FIR: inapplicable candidate(s): kotlin/collections/setKT-43616
[FIR] Nullable type parameter-based type after merge in ifKT-43669
FIR: No real overrides for FUN IR_EXTERNAL_DECLARATION_STUBKT-43682
Inline extension method of a multifile library inline class not foundKT-43687
FIR: UnusedChecker does not take annotation arguments into accountKT-43688
FIR: unused checker doesn't handle invokes properlyKT-43749
"UnsupportedOperationException: Don't know how to generate outer expression: Closure" caused by Flow and collect method with function reference as a parameterKT-43812
JVM IR: SAM wrapper class with generic supertype mentions missing type parameter in the signatureKT-43832
JVM IR: missing bridges for inheritance of class from interface in a complex generic diamond hierarchyKT-43851
JVM IR: function call returning object instance is removed during constant propagationKT-43864
JVM: "Assertion error after mandatory stack transformations: incorrect bytecode" with lateinit property of type T, which has a primitive type upperboundKT-43887
Problem with FunctionReferenceLowering$FunctionReferenceBuilder in kotlin nativeKT-43912
JVM internal error: Augment assignment and increment are not supported for local delegated properties and inline propertiesKT-43915
Back-end (JVM) Internal error: wrong bytecode generated for default methodKT-43938
NSME when calling 'kotlin.Number' methods on instance of Java class extending Kolin abstract class extending 'kotlin.Number'KT-43942
org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate functionKT-43949
FIR: unresolved callable reference as lambda returnKT-43983
IllegalStateException: "Couldn't obtain compiled function body for public final suspend inline fun" after moving inline extension function to libraryKT-43984
FIR: recursion in overridden symbolsKT-43984
FIR: recursion in overridden symbolsKT-44010
FIR: Inapplicable constructor due to an unresolved referenceKT-44030
FIR2IR: uncached type parameters in delegated propertyKT-44032
FIR2IR: uncached type parameters in Java fieldKT-44050
FIR: anonymous object as IR parentKT-44054
FIR2IR: incorrect IR origin for substituted override functionKT-44058
CompilationException: open suspend fun with @JvmStatic in open class companionKT-44069
please remove deprecated usagesKT-44066
FIR Java: override ambiguity with vararg value typeKT-44114
CompilationException when inlining a extension suspend function declared in interface companion with 'this' reference to extension receiverKT-44131
"UnsupportedOperationException: Don't know how to generate outer expression: Closure" when using suspend lambda and a function referenceKT-44140
JVM IR: compilation of kotlin.Result crashes with IOOBE while generating toString-implKT-44141
JVM IR: "ISE: There should be underlying type for inline class type" on usage of type parameter with Result upper bound inside a lambdaKT-44192
Allow a greater number of constants in an enum classKT-44202
"ClassCastException" when getting delegated property with inline class and Any/Any? typeKT-44210
KJS / IR: "AssertionError: Undefined parameter referenced: defined" caused by plus assign operators in build blocksKT-44233
[IR] Collection Stub generation not correctly considering java.util Collection iteratorsKT-44234
Private companion property with explicit setter generates invalid bytecodeKT-44269
"[TAILREC_ON_VIRTUAL_MEMBER_ERROR] Tailrec is not allowed on open members" with Spring annotation and private tailrec functionKT-44284
Make Kotlin binaries publicly unavailable (set KotlinCompilerVersion.IS_PRE_RELEASE = true)KT-44316
ReenteringLazyValueComputationException when analyzing complex lazy delegateKT-44347
Back-end (JVM) Internal error: Couldn't transform method node for suspend function with wrong local for ContinuationKT-44368
"IllegalStateException: Error type encountered" when inlining 'invoke' operator without enough information on type variableKT-44412
JVM IR backend fails to compile break in condition of do whileKT-44420
False NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATION with 1.4.30-RCKT-44429
JVM IR: unnecessary integer unboxing leads to NPE when using mockito-kotlinKT-44439
Type inference of generic types failing java interopKT-44440
Too many Nothings in inferred typeKT-44471
Fix failing script tests after switching to 1.5KT-44474
Compiler expects sealed type inheritors from platform specific source-sets in when expression in common source-setKT-44483
JVM IR: CCE on calling generic vararg function reference with Array expected typeKT-44527
Suspend function with kotlin.Result: ClassCastException class kotlin.Result cannot be cast to class ...KT-44529
Inline class calls wrong iterator method in for loopKT-44533
JVM IR: ClassFormatError on synthetic $suspendImpl method generated in interface for a @JvmDefault functionKT-44540
Regression in 1.4.30 in intellij-community: type mismatch for generic function call with generic Java classKT-44546
NI: changed variable fixation order (that can lead to changed resolution)KT-44550
KotlinBinaryClassCache leaks Kotlin plugin classloader on plugin unloadKT-44563
Type Inference loosing type annotations in lambda type expectation for function calls with block parametersKT-44583
"Supertypes of the following classes cannot be resolved" error message gives no contextKT-44627
JVM IR: ACCIDENTAL_OVERRIDE when overriding a generic field where the type parameter has a primitive boundKT-44631
"IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by a default param in inner class constructor which uses method or field from receiverKT-44647
"IllegalAccessError: class TestKt tried to access private method" with String Builderget
andinc
operatorKT-44651
JVM / IR: "IllegalStateException: Illegal type substitutor" with if-else inside class constructor argument inside another if-elseKT-44660
Internal inline functions in companion object with inline class return type fails compilationKT-44671
JVM_IR: ClassCastException: Result$Failure cannot be cast to Result with multithreaded coroutinesKT-44703
JVM / IR: "IllegalStateException: Unhandled special name in mangledNameFor" caused by a reference to inline class inside interface's companion with lazy initializationKT-44712
JVM / IR: Behavior change after enabling with MockitoKT-44714
Debugger / Coroutines: Local variables are trimmed out too aggressivelyKT-44722
JVM IR: ClassCastException with inline class, let and bound function referenceKT-44726
JVM IR: Incorrect KType nullability for platform type reified as non-nullKT-44781
JVM IR: java.lang.NoSuchFieldError: $noName_0 when calling a crossinline lambda within a suspending lambdaKT-44798
JVM IR: Inherited platform declarations clash for class implementing both List and SetKT-44801
1.4.30 JVM IR: Unbound symbols not allowed with anonymous objectKT-44803
FIR bootstrap: incorrect nullability is set for type alias-based typeKT-44827
Non-existing outer class is written in anonymous class for SAM wrapper in inline lambda with captureKT-44837
JVM / IR: ClassCastException with Result object when it is used by a generic method in a suspend callKT-44875
JVM_IR.hashCode
call is generated on interface target in fun interface equalityKT-44878
JVM_IR: "IllegalStateException: Unexpected types" when checking non-nullable variable isin
range between nullable ones with smart-castKT-44926
MPP: Actual typealias to compiled inline class incompatible with expect inline classKT-44947
Sealed interfaces: Sealed fun interface leads to "NoWhenBranchMatchedException"KT-44993
JVM IR: VerifyError on getfield with Kotlin generic field and elvis operatorKT-45008
JVM IR: hashCode is generated as invokeinterface if smart cast to interface is presentKT-45011
JVM / IR: "AssertionError: Unbound symbols not allowed"KT-45022
IR: "AssertionError: Undefined variable referenced" from psi2ir caused by plusAssign operator of objectKT-45064
JVM IR: "java.lang.AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" with member reference to property in another file with private setterKT-45067
"IllegalArgumentException: Wildcard mast have a bound for annotation of WILDCARD_BOUND position" with BEAM SDK 2.27KT-45069
JVM / IR: New SAM conversions mode fails when converting from Unit to AnyKT-45131
JVM / IR: "RuntimeException: Lambda, SAM or anonymous object should have only one constructor" caused by inline class that type cast to reified type parameter inside lambda in inline functionKT-45139
Inline class: AssertionError: Expected top level inline classKT-45166
JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method of interface" caused by interface with suspend functionKT-45187
JVM / IR: ClassCastException caused by substituting generic type of vararg parameter with java.lang.VoidKT-45195
JVM IR: annotation methods are generated as default interface methods ifallopen
is usedKT-45243
"IllegalStateException: Lambdas shouldn't be visited by ESExpressionVisitor" caused by lambda insidekotlin.test.assertNotNull
KT-45259
JVM: ClassCastException caused by Result as lambda parameter typeKT-45292
AssertionError with recursive inline extension propertyKT-45300
Deprecate super calls in public-api inline functionsKT-45409
Rename jspecify annotations’ package and default not null annotationKT-45446
JVM / IR: NullPointerException caused by unreachable code and comparisonKT-45721
JVM / IR: "Unbound symbols not allowed" caused by class reference in sequence lambdaKT-45853
JVM / IR: "Accidental override" caused by inheriting Throwable.getCause from Java interfaceKT-45861
Turning warnings into errors for calls with type parameters annotated by @OnlyInputTypesKT-45865
JVM IR: "VerifyError: Bad type on operand stack" withenumValueOf
on a value from a list of stringsKT-45868
JVM IR: ClassCastException with SAM function in init block when SAM is generated via invokedynamicKT-45920
JVM IR: "Accidental override" on redefiningget()
in custom Map classKT-45934
JVM IR: "java.lang.IllegalStateException: Function has no body" for class implementing interface by delegationKT-45945
JVM / IR: "AssertionError: Unexpected variance in super type argument" with contravariance and intersection typesKT-45963
JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" in Dokka testsKT-45967
JVM IR: "IllegalAccessError" with invokedynamic to Java SAM over callable reference to private functionKT-45982
Wrong subtyping result on captured types with postponed type variablesKT-46007
JVM / IR: "ClassCastException: kotlin.Unit cannot be cast to java.lang.String" caused by default suspend function in interfaceKT-46060
JVM IR: NullPointerException from RangeContainsLowering whencontains
is a @JvmStatic function in objectKT-46069
JVM IR: unbound type parameter on generic bound adapted function referenceKT-46092
JVM IR: AssertionError "Array type expected: @[FlexibleNullability] kotlin.CharArray?" on super call to Java constructor with primitive varargKT-46104
The message on inline -> value class migration should not say that inline classes are deprecatedKT-46131
Kotlin 1.5.0-RC errors when reading class fileKT-46160
JVM IR: IllegalAccessException at runtime for member reference to JvmMultifileClass member from stdlibKT-46186
Type inference regression in Kotlin 1.5 with constrained generic return types
Docs & Examples
KT-45884
Incorrect description for JVMtoUpperCase
method
IDE
KT-33233
Use dependency of library to build built-ins in IDE, instead of loading them from the current classloaderKT-34023
kotlin.KotlinNullPointerException at org.jetbrains.kotlin.backend.common.FunctionsFromAnyGenerator.getPrimaryConstructorProperties(FunctionsFromAnyGenerator.kt:66)KT-35947
KFunctionN.call is unresolved in IDE in Kotlin/JVM projectKT-37702
Code analysis speed: on-the-fly analysis diagnostics reportingKT-41048
[FIR-IDE] Properly implement methods in KtFirPackageScopeKT-41671
Missing nullability information in properties using type inference from get()KT-43824
KtLightClassForSourceDeclaration#isInheritor works in a different way than java implementationKT-44128
IDE: Kotlin JVM record has incorrect property accessors as seen from JavaKT-44487
MPP, IDE: No error in IDE when sealed class inheritor from common source-set is not used in exhaustive when expression in platform source-setKT-45254
Highlighting for files with certain errors appears only on second openingKT-46097
Light classes: Incomplete nullability information for a getter method of a kotlin property defined in private constructor
IDE. Decompiler, Indexing, Stubs
KT-43699
IDE: Unresolved extension method from Java code for simple class with typealias and generics (IllegalStateException: Unknown type parameter)KT-44756
Infinite "UpToDateStubIndexMismatch: PSI and index do not match." with IDEA 2021.1 EAP upon attempt to open "org.gradle.configurationcache" even they seem to be the same
IDE. Gradle Integration
KT-37127
Implement precise importing of platforms of root source sets (commonMain/commonTest) when hierarchical multiplatform support is enabledKT-42048
KJS / Gradle integration: Could not determine the dependencies of task ':webApp:testPackageJson' in Android Studio 4.2 Canary 11
IDE. Gradle. Script
KT-46215
Dead lock on closing project during the import in IJ211 through ScriptDefinitionsManager
IDE. Inspections and Intentions
KT-23824
Return lifted out of if condition causes suspend tail call optimization to no longer applyKT-38155
Lift assignment out of 'if' produces type mismatch without manually adding a semicolonKT-44821
IDE: False positive NO_ELSE_IN_WHEN caused by sealed class and when in another moduleKT-46088
[IDEA] Incorrect behavior of replace inline class with value class intention
IDE. Misc
KT-44675
Incorrect reference to resource into 202 plugin
IDE. Refactorings
KT-44079
Sealed Interfaces: Move refactoring should warn about violation of hierarchy restrictionsKT-44839
Sealed interfaces: move refactoring warnings works with "more freedom for sealed classes" rules for language level < 1.5
IDE. Script
KT-43288
Allow push notifications about script configuration /dependencies changes via theScriptDefinitionsProvider
EP
JavaScript
KT-39272
KJS / IR: Can't use javascript keywords as JsNameKT-41650
JS IR BE:default
should be a reserved identifierKT-42176
KJS / IR: Interface default method in sub-interface not resolved correctly from extension on super-interfaceKT-44103
[JSIR] TypeError when bumping from 1.4.20 to 1.4.30-M1KT-44180
KJS / IR: NPE in ConstTransformer of compileDevelopmentExecutableKotlinJs/compileProductionExecutableKotlinJs tasksKT-44415
Kotlin/JS with IR and kotlin-react: "too much recursion" error in runtime in browserKT-44433
KJS IR: support function interfaces with suspend memberKT-44469
KJS / IR: Incorrect export functions with bridgesKT-44718
MPP/ KJS: "IllegalStateException: Unsupported operation" with serialization plugin and incremental compilationKT-44796
KJS / IR: default parameter of function with @JsName leads to "RangeError: Maximum call stack size exceeded"KT-45059
KJS / IR: Add possibility for runtime diagnostics of DCE result
Libraries
KT-12109
Add stdlib method that combines mapNotNull() and first/firstOrNull()KT-25571
Make random implementations serializableKT-26234
Floored division and remainder function for numeric typesKT-32996
kotlin.test: add assertContentEquals for comparing content of arrays, iterables, sequencesKT-39177
Make CharCategory available in common multiplatform codeKT-40225
Support adding kotlin-test as a single dependency, as it should be with a multiplatform libraryKT-42071
Strict version of String.toBoolean()KT-42720
Kotlin ArrayDeque on JVM: provide optimized toArray methodKT-42840
Commonize and generalize String.contentEquals that is currently JVM-onlyKT-43772
Kotlin/Native unfinished workers detected.KT-44168
Prevent storing NaN and negative zero in kotlin.time.DurationKT-44369
Commonize Char.titlecaseChar() and Char.titlecase() that are currently JVM-onlyKT-44783
Add IS_VALUE flag for value classes to kotlinx-metadata-jvmKT-44815
Remove kotlin-annotations-android and JVM compiler support for @ParameterName/@DefaultValue/@defaultnullKT-45213
Update Unicode version used in K/N for Char and String case conversion functions
Middle-end. IR
KT-43831
Compilation failed, IrSimpleFunctionPublicSymbolImpl is already boundKT-44100
KJS / IR: Top level declarations added in IR plugin are not referenceable from other modulesKT-45170
IR: "AssertionError: Single expression value for GET_OBJECT" caused by inc operator of field inside scope function inside object
Native
KT-42446
Native: SIGSEGV in Kotlin_Array_get on linuxArm64KT-43502
[K/N] relocation R_X86_64_PC32 cannot be used against symbol __environ; recompile with -fPICKT-44295
1.4.21 Kotlin native ndk compiler crashKT-44774
ld fails with CALL16 reloc at 0x48f00 not against global symbol (Linux MIPS)KT-44746
Different hashCode() results for Kotlin/Native stdlib
Native. C and ObjC Import
KT-44824
cinterop tool no longer appends .klib to produced klibs
Native. C Export
KT-36639
MPP: Build ios "staticLib" or "sharedLib" binary failed if interface contains member extension functionKT-41725
Dynamic library doesn't load on raspberrypi
Native. ObjC Export
KT-44549
In the Xcode debug session, call stack is missing a frame when the iOS app fails
Native. Platforms
KT-45094
Fail to compile Kotlin Native sources under Oracle Linux 7
Reflection
KT-44594
Avoid using unnecessary array types reflection in kotlin-reflectKT-44782
Add KClass.isValue to kotlin-reflect
Tools. Ant
KT-16227
Ant task: do not include runtime by default if destination is a jarKT-44293
Support fork mode in kotlinc Ant task
Tools. CLI
KT-17344
Include kotlin-reflect to resulting jar if "-include-runtime" is specifiedKT-43220
-include-runtime should add .kotlin_builtins to the outputKT-43704
Illegal reflective access by com.intellij.util.ReflectionUtil to method java.util.ResourceBundle.setParent(java.util.ResourceBundle)KT-44078
Do not include module-info.class of kotlin-stdlib.jar to the resulting jar with -include-runtimeKT-44232
CLI: do not pass -noverify to java process starting from JDK 13KT-45566
JDK 16 - e: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel
Tools. CLI. Native
KT-43874
Native / CLI: provide a way to show difference between Jvm and Native compilers
Tools. Compiler Plugins
KT-45783
Serialization: "AnalyzerException: Expected an object reference, but found I" caused byJvmInline
andSerializable
annotations
Tools. Gradle
KT-31027
java.lang.NoSuchMethodError: No static method hashCode(Z)I in class Ljava/lang/Boolean; or its super classes (declaration of 'java.lang.Boolean' appears in /system/framework/core-libart.jar)KT-43605
Kotlin Gradle Plugin 1.4.20 undeclared system property reads cause problems with Gradle configuration cache enabledKT-44204
Kotlin Gradle Plugin 1.4.21 makes impossible to use ANTLR in other pluginsKT-44361
Gradle: deprecate options includeRuntime, noStdlib, noReflectKT-44462
Kotlin Gradle plugin createscompile
configuration with Gradle 7.0KT-44834
Gradle Kotlin DSL: AddlanguageSettings
configuration lambda withoutapply
callKT-44949
Compatibility with Gradle 7.0KT-44957
gradle - target.compilations seems to be deprecatedKT-45340
Update minimal supported version of Kotlin Gradle Plugin to 6.1
Tools. Gradle. JS
KT-43237
KJS:-jsLegacy
Naming Convention is incompatible with NPMKT-43869
Error in webpack configuration not displayedKT-44614
Update Node.JS and Yarn versionsKT-44616
Kotlin/JS: IR backend with React: "Uncaught TypeError: _this__0 is undefined" runtime error in browserKT-45574
Sync Kotlin/JS compile tasks into one folder (build/js/packages//kotlin)
Tools. Gradle. Multiplatform
KT-42098
Commonizer is re-launched for every included Gradle buildKT-43116
Merge together MultiplatformHighlightingTest and MultiplatformAnalysisTestKT-44322
KotlinTargetComponent maintenance for -sources.jarKT-44900
Support gradle configuration cache with kotlin.multiplatform plugin
Tools. Gradle. Native
KT-46122
kotlinx-serialization and kotlinx-datetime can't be built with 1.5.0-RC
Tools. JPS
KT-13631
Compilation fails on Turkish locale because of locale-sensitive uppercasingKT-44644
Mark all@JvmMultifileClass
parts compiled in the previous round as dirty in the JPS plugin, similarly to how it’s done in the Gradle plugin
Tools. Scripts
KT-45194
KT: Generate Kotlin Entities script: it doesn't workKT-44580
Scripts: Unable to set new file annotation hooks after first snippet compilation
Tools. kapt
KT-43686
KaptWithoutKotlincTask should use@CompileClasspath
forkotlinStdlibClasspath
for cache relocateability.KT-44130
KAPT changes field order in 1.4.30-M1KT-44909
Kapt: ReenteringLazyValueComputationException without stacktrace caused bywhen
expression with sealed class function without explicit return typeKT-45168
KAPT: Java stubs generated for Kotlin files generated by annotation processors
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.5.0.zip | 0343fc1f628fec1beccc9e534d2b8b7a0f8964b97e21563585d44d6d928ed1b7 |
kotlin-native-linux-1.5.0.tar.gz | 33241c460fab8c496a6b01ca08670ae7f667df23acc56081f8b37c50b021b50f |
kotlin-native-macos-1.5.0.tar.gz | 246cacdc4791067f4d99d0baf3d58aecfd2c43b54bf9a84f463c1d782c9718b5 |
kotlin-native-windows-1.5.0.zip | 5755391536bcac49c7ef87e0788e595d38776af534eb08cc5ab8879e9f1a855d |