1.6.20-RC
Compiler
KT-51302
Kotlin/Native 1.6.20-M1 compiler fails because of assertion in NativeAnnotationImplementationTransformerKT-51148
“AssertionError: At this stage there should be no remaining variables with proper constraints” caused by two type parametersKT-50970
Kotlin/Native: use arm instruction set instead of thumb-2 for iosArm32 and watchosArm32 targetsKT-50843
Kotlin/Native: LLVM constant merge pass does not work for Kotlin constantsKT-51157
JVM / IR: “IndexOutOfBoundsException: Index: 1, Size: 1” caused by interface hierarchy and UInt method parameterKT-50498
Exception after analysing an erroneous lambdaKT-51062
Progressions resolve changing warning isn't reported for Java methodsKT-51040
Type inference fails on 1.6: “Cannot use ‘CapturedType(*)’ as reified type parameter” with EnumSet and elvis operatorKT-51022
Fix error messages for resolution ambiguity with stub types
Native
KT-51359
Native: the compiler doesn't work on macOS 12.3 Beta
Native. Runtime. Memory
KT-50879
Kotlin/Native: Stabilize Concurrent Sweep GCKT-50948
Kotlin/Native: Concurrent Sweep GC hangs on Windows in GCStateHolder::waitEpochFinished/waitScheduled
Tools. Android Extensions
KT-50784
kotlin-android-extensions produces unbound symbol under _$_findViewCache
Tools. CLI
KT-51309
Add JVM target bytecode version 18KT-51025
JVM CLI compiler takes class file from classpath instead of input java source file
Tools. Daemon
KT-47522
Provide reasonable resolution strategy for OutOfMemoryError during compilationKT-51116
OOM user-friendly message isn't displayed if there is main exception caused by out of memory
Tools. Gradle
KT-51177
After updating from KGP 1.5.30 to 1.6.10, KotlinCompile is non-incremental given an Android resource changeKT-50719
Kotlin Gradle Plugin may hang on writing statisticsKT-48849
Cache miss due to empty directories in KotlinCompile
inputs
Tools. Gradle. JS
KT-51060
KJS / IR: Incorrect order of libraries with ICKT-50930
KJS / IR: Incremental compilation cache building not consider multiple artifacts
Tools. Gradle. Multiplatform
KT-50592
[Gradle][MPP] Mitigate isolated KGP classpath issuesKT-51176
CInteropCommonization: Warn users about disabled cinterop commonization when cinterops are present in hmpp
Tools. Gradle. Native
KT-49330
commonizeNativeDistribution: “ClassCastException: KotlinJvmProjectExtension_Decorated cannot be cast to class org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension”
Tools. Kapt
KT-48402
Kapt throws “Fatal Error: Unable to find package java.lang in classpath or bootclasspath” with JDK 16 and Kotlin 1.5.30KT-48450
Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask`KT-41456
Kotlin compilation failure after successful kapt causes invalid incremental builds
1.6.20-M1
Compiler
New Features
KT-48217
Add an annotation JvmDefaultWithCompatibility to allow generating DefaultImpls classes if -Xjvm-default=all option is usedKT-49857
Require Xcode 13 for building Kotlin/Native compilerKT-47701
Support instantiation of annotation classes on NativeKT-46085
Support experimental parallel compilation of a single module in the JVM backendKT-46603
Generate SAM-conversions to Java interfaces extending ‘java.io.Serializable’ as serializable using java.lang.invoke.LambdaMetafactory
Performance Improvements
KT-50156
HMPP: Slow frontend/ide performance in OKIO (ExpectActualDeclarationChecker)KT-50073
Performance regression in adapted function referencesKT-50076
Performance regression in super call to an interface member in $DefaultImplsKT-50080
Performance regression in string template with generic property with primitive upper boundKT-50084
Performance regression in concatenation with ‘String?’KT-50078
Performance regression in for-in-array loopKT-50039
Performance regression in inner class constructor call with default parametersKT-48784
An anonymous class has fields for variables that are only used in the constructorKT-42010
Generate IINC instruction for postfix increment in JVM_IRKT-48433
JVM_IR don't generate null check on ‘this$0’ parameter of inner class constructorKT-48435
JVM_IR ConstForLoopBenchmark performance regressionKT-48507
JVM_IR ForLoopBenchmark regressionsKT-48640
Performance regression in ‘longDownToLoop’ benchmarksKT-29822
Generate specialized bytecode for loops withIndex over unsigned arraysKT-48669
Generate optimizable counter loop for loops over indices of unsigned arraysKT-49444
Possible performance degradation with UInt downTo loopKT-48944
Possible performance regression with comparison of local KFunctionsKT-17111
Eliminate redundant store/load instructions when the value stored is simpleKT-36837
Generate more compact code for for-in-range loop in JVM_IRKT-48947
JVM / IR Possible performance regression with string templatesKT-48931
JVM / IR: Performance degradation with string concatenationKT-36654
Generate more compact bytecode for safe call in JVM_IR
Fixes
KT-48544
JVM / IR: “UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE” with callable reference ::arrayOf
KT-49658
NI: False negative TYPE_MISMATCH on nullable type with when
KT-50978
[Native] Error while building static cache: NoSuchElementException at IrTypeInlineClassesSupport.getInlinedClassUnderlyingType(InlineClasses.kt:341)KT-50977
[Native] Error while building static cache: IllegalStateException: Class CLASS ENUM_ENTRY is not found at KonanIrlinkerKt.findClass(KonanIrlinker.kt:229)KT-50976
[Native] Error while building static cache: IllegalStateException: No descriptor found at DescriptorByIdSignatureFinder.findDescriptorForPublicSignature(DescriptorByIdSignatureFinder.kt:157)KT-51080
Line number in mapping for the first instruction is lostKT-49526
JVM IR: Function reference with non-denotable intersection type argument is not inlined and is incorrectly approximatedKT-50399
Error: unexpected variance in super type argument: out @0KT-50649
JVM IR: ClassCastException when returning Result as generic typeKT-50617
JVM IR: java.lang.IndexOutOfBoundsException “Empty list doesn't contain element at index 0” when class and interface have the same name and extension function is usedKT-45693
False negative INCOMPATIBLE_TYPES with when
with generic subjectKT-50797
Implement fix for false negative UPPER_BOUND_VIOLATED with generic typealias using not all type parameters as arguments for underlying typeKT-43493
NI: @BuilderInference prevents compilation error of “Operator ‘==’ cannot be applied to ‘Long’ and ‘Int’”KT-48945
JVM IR: special bridge for get
is not generated in a Map subclassKT-49829
Wrong “cast can never succeed” diagnostic with builder inferenceKT-49828
Improve builder inference diagnostics with overload resolution ambiguityKT-50989
CCE cause by EmptySubstitutor in ResolutionWithStubTypesCheckerKT-48899
Report warnings on overrides with wrong types nullabilityKT-49461
Implement prohibitation of access to members of companion of enum class from initializers of entries of this enumKT-49754
Kotlin/JS: @JsExport on enum class reports NON_EXPORTABLE_TYPE warningKT-49598
Misleading error message “Using @JvmRecord is only allowed with -jvm-target 15 and -Xjvm-enable-preview flag enabled”KT-44133
Inline classes: class literal in annotation arguments uses underlying typeKT-47703
ClassCastException: Programmatically created annotation can't hold Array<KClass<*>>KT-47549
JVM / IR: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER CONTINUATION_CLASS caused by suspend function inside “fun interface” in another fileKT-50120
HMPP: False positive [NO_VALUE_FOR_PARAMETER] for expect function usagesKT-48499
Interface call with an inline/value parameter generates AbstractMethodError after rebuilding the module, but NOT the file.KT-49864
JVM IR: NoSuchMethodError calling default interface method with inline class return type in -Xjvm-default=all modeKT-49812
JVM / IR: “java.lang.VerifyError: Bad return type” when using Result type attribute + extension function with same nameKT-49936
Extension property in a data class with the same name as the constructor parameter leads to incorrect component function being resolved and generatedKT-48181
“ISE: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER” on creating instance of kotlin.MetadataKT-50215
VerifyError caused by missing cast after is check in whenKT-49977
“Parameter specified as non-null is null” when inline class implements interface method with default parametersKT-50385
DUPLICATE_LABEL_IN_WHEN is reported on incorrect branchesKT-49092
JVM: ArrayIndexOutOfBoundsException on compiling call with if
expression and TODO() argumentsKT-48987
JVM / IR: Smartcast, which never succeed, crashes the compilerKT-49998
JVM: missing default value for annotation parameter of an unsigned typeKT-50277
Invalid bytecode generated for inline lambda in suspend functionKT-44561
FIR DFA: extract non-null info from comparison against variable with initial constant valueKT-44560
FIR DFA: propagate non-null info to original variables in not-null assertion or cast expressionKT-50258
equals()
returns false
on the same enum instances if we check it for the second time in when
KT-47483
JVM IR: “NoSuchElementException: Sequence contains no element matching the predicate” on compiling Array instantiation with TODOKT-49765
JVM: ClassCastException when trying to add object to EmptyListKT-46879
“AssertionError: Stack should be spilled before suspension call” with Flow and reified typeKT-50172
“AssertionError: Not a callable reflection type” on local function reference with the same name as local variableKT-49443
JVM IR, Script: “IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER” with constructor call of class that has a top-level extension function callKT-50193
Garbage collection is not working the same way after jvm-ir-backend changeKT-19424
Compilation exception for script with property delegate calling operator invoke on an objectKT-43995
Script: “IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER” if companion object initializer calls method on listKT-30616
Script: “Don't know how to generate outer expression” for top-level variable reference from static context (companion object, enum)KT-47000
Allow graceful migration to -Xjvm-default=all-compatibility by allowing to inherit from interfaces even in the old (-Xjvm-default=disable) modeKT-50171
JVM IR: “UninitializedPropertyAccessException: Parent not initialized: IrVariableImpl” on SAM-converted property setter reference with Double parameter inside lambdaKT-50140
Internal error on explicit string concatenation of generic type value with ‘String’ upper boundKT-49992
Anonymous object should not have access to private members from supertypesKT-49973
Check existing of default error message for all diagnosticsKT-50019
Property delegated to callable reference: “ISE: Local class should have its name computed in InventNamesForLocalClasses” with -Xno-optimized-callable-referencesKT-49645
JVM / IR: “IllegalStateException: Local class should have its name computed” caused by default suspend function in interface and value classKT-50028
Incorrect implicit casts from UnitKT-49615
JVM / IR: “Exception during IR lowering” with list of value classes with non-trivial constructor inside suspend lambdaKT-49127
FIR: smart cast is not performed after comparisonKT-48708
Incorrect cast from Unit to IntKT-48376
FIR: False positive UNITIALIZED_VARIABLE after try/finally with return from tryKT-48113
FIR: (false) positive EQUALITY_NOT_APPLICABLE for intersection with platform typeKT-48305
FIR: incorrect raw type castKT-48378
FIR: synthetic accessor lowering should not attempt to modify other filesKT-48634
FIR: false property-setter-function resolve cycleKT-48621
FIR: SyntheticAccessorLowering should not attempt to modify other files for protected JvmFieldKT-48381
Invalid LLVM module: verification failure of createInlineClassInArgumentPosition.ktKT-48527
Native: top-level properties in files with @Test functions are initialized eagerly even if lazy initialization is enabledKT-48559
IllegalArgumentException: Unexpected super type argument: * @ 0 during IR loweringKT-48687
IR dump mismatch after deep copy with symbols in IR text testKT-44811
[FIR] Exception in body resolve of new contractsKT-48363
FIR behaves differently in case of resolution between classifier and top-level propertyKT-48801
“AssertionError: Stack should be spilled before suspension call” with Flow and crossinlineKT-46389
JVM / IR: “ClassCastException: class IrGetValueImpl cannot be cast to class IrConst” with inheritance of supertypes member functions with similar signaturesKT-47797
Regression during migration to 1.6 in compilerKT-47987
Can't infer a postponed type variable based on callable reference receiver typeKT-48446
“IllegalStateException: IrErrorType (getErasedUpperBound)” caused by suspend function referenceKT-48651
Collect intermediate annotations during type expandingKT-48754
JVM IR: in EnclosingMethod leads to IncompatibleClassChangeError on Android 5.0KT-45034
Use the new type inference for top-level callable referencesKT-49001
OptIn marker should spread from class to its members, taking into account real dispatch receiver typeKT-49038
Generics are discriminated during callable references resolution (false negative)KT-48954
JVM IR: IllegalAccessError when using Java method reference in constructorKT-48284
JVM / IR: “IllegalStateException: Function has no body: FUN STATIC_INLINE_CLASS_REPLACEMENT” caused by inline member toString of value class and string interpolationKT-49053
JVM / IR: “AssertionError: Unbound symbols not allowed” on inheriting a protected Java method that returns a package private class from a differently-named fileKT-49106
JVM: infinite recursion with overridden default suspend interface method where override calls superKT-45345
FIR DFA: FirDataFlowAnalyzer
seems to add wrong type constraints for type parametersKT-44513
FIR DFA: extract non-null info from x?.y!!KT-44559
FIR DFA: propagate non-null info from not-null assertion (!!)KT-49073
FIR: REDUNDANT_MODIFIER and DEPRECATED_MODIFIER_PAIR should be warningsKT-46371
FIR: Investigate FunctionType -> ExtensionFunctionType coercionKT-49078
FIR: false positive TYPE_VARIANCE_CONFLICTKT-47135
FIR: local class references does not compileKT-48600
NON_TAIL_RECURSIVE_CALL missing for calls inside lambdaKT-48602
NON_TAIL_RECURSIVE_CALL missing for calls with explicit dispatch receiver to a singletonKT-48982
JVM / IR: KotlinNothingValueException caused by function with local objectKT-49087
FIR: false positive REPEATED_ANNOTATIONKT-48648
JVM IR: “AssertionError: Should be primitive or nullable primitive type” with @JvmField generic property with Number upper boundKT-49069
FIR: False positive INAPPLICABLE_JVM_NAME on getterKT-49203
JVM IR: “AssertionError: Unbound symbols not allowed” with lateinit var and plusAssign
operator convention callKT-48993
JVM / IR: “IllegalStateException: Validation failed in file <multi-file facade ...>” using @JvmMultifileClass and one of the symbols in the file exposes a @JvmInline value classKT-48938
FIR: Investigate how priorities should work in case SAM-conversion + type parametersKT-49129
FIR: false positive of INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASSKT-49076
FIR: false positive “An annotation argument must be compile-time constant” on array of importsKT-49222
FIR: StackOverflow in MethodSignatureMapperKT-49083
FIR erroneously requires default value parameters for override calls when imported from objectKT-49135
FIR: ambiguity between type alias and functionKT-49134
FIR makes no difference between lambda with empty parameter list and without explicit parameter listKT-49301
FIR: Unresolved reference: for object inherited from inner classKT-49070
FIR: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with type parameter / class conflictKT-49133
FIR: protected java.lang.Throwable constructor is not availableKT-49407
JVM / IR: “java.lang.VerifyError: Bad local variable type” with “Int.mod” inside “Long.mod” and non-trivial argumentKT-44975
SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC: confusing error messageKT-38698
MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED error message: interface is called a “class”KT-45001
Confusing warning message “This class can only be used with the compiler argument” for @OptIn annotationKT-49411
JVM / IR: NullPointerException during IR lowering with @JvmField property in loop rangeKT-49260
FIR: make FirBasedSymbol hierarchy to correspond FirDeclaration hierarchyKT-49289
FIR: false positive “return required” for if/else with inlined return in branchKT-49316
JVM / IR: “AssertionError: SyntheticAccessorLowering should not attempt to modify other files!” caused by unreachable code which try to modify val
from the other packageKT-45915
NoDescriptorForDeclarationException: Descriptor wasn't found for declaration FUN with circular module dependencies in JPSKT-49288
FIR2IR: consider generating all fake override calls properlyKT-42784
FIR2IR: first create fake overrides, then bind overridden to themKT-48816
Kotlin/Native Symbol for public platform.darwin/NSObject|null[100] is unboundKT-49372
JVM / IR: Incorrect work of the loop optimization for mutable variableKT-49356
Native: UnsupportedOperationException: RETURNABLE_BLOCK caused by nested return with boxing and inlineKT-49659
JVM IR: Missing value class mangling in SAM wrappers for fun interfaces from different modulesKT-47101
Incorrect scope for supertypes in companion objectsKT-49360
Invalid LLVM module: “inlinable function call in a function with debug info must have a !dbg location”KT-48430
JVM: ClassCastException with inline class as generic argument for type parameter used in a function typeKT-49575
IllegalArgumentException: Unhandled intrinsic in ExpressionCodegen with circular module dependencies in JPSKT-47669
IR inliner doesn't handle inner class functions referring outer thisKT-48668
JVM IR: “ISE: Value at CLASS must not be null for CLASS” for modules with a dependency cycleKT-49370
JVM / IR: “java.lang.VerifyError: Bad local variable type” with “fun Long.mod” and non-trivial argumentKT-46744
Memory Leaks in Kotlin daemonKT-48806
False-negative USED_AS_EXPRESSION for unreachable catch clausesKT-45972
FIR: type is incorrectly resolved to privateKT-46968
Remove FirCompositeScope from type resolveKT-49072
FIR: accidental resolve to private-in-file typeKT-34822
FIR scopes: deal with nested / inner classes and type parameter priorityKT-49702
Exception from RENDER_WHEN_MISSING_CASES diagnostic on malformed sealed class inheritorKT-49860
[FIR] Add smartcast expression to synthetic subj
accessKT-49836
Inference fails on lambda and adjacent function expressions with receiverKT-49832
Inference fails on lambda for function types with extension parameterKT-49793
JVM: IncompatibleClassChangeError: Expected non-static field
when property delegation uses receiver of another delegated propertyKT-44022
Excessive diagnostics range for DECLARATION_CANT_BE_INLINEDKT-48690
VERSION_REQUIREMENT_DEPRECATION_ERROR message: use current compiler version instead of language versionKT-49609
Incorrect grammar in DATA_CLASS_NOT_PROPERTY_PARAMETER error messageKT-49600
Misspelled error message for non-constructor properties with backing fields in @JvmRecord classKT-49339
Warn about synchronizing on value classesKT-49950
Compilation failed: An operation is not implemented: IrBasedTypeParameterDescriptorKT-23890
Default arguments are not transferred from expect generic member functionsKT-48811
Expect/actual class with default constructor argument values can not be instantiated from a shared source set without passing arguments (with HMPP enabled)KT-48106
FIR: incorrect type inference in provideDelegate receiverKT-48325
Safe call operator prevents object from being garbage collected before leaving functionKT-48104
FIR does not see NotNull/Nullable annotations on type argumentsKT-46812
[FIR] Make FIR diagnostics not related to Diagnostics from FE 1.0KT-37374
[FIR] Add CheckInfixModifier
resolution stageKT-38351
FIR: Support CheckOperatorModifier
resolution stageKT-39614
[FIR] Fix building CFG for different candidates of plus assign callKT-40197
[FIR] Strange Behaviour of Type ArgumentsKT-40362
[FIR] Match type arguments with type parameters of corresponding qualifierKT-40375
FIR: No transformation implicit type -> error type for function value parametersKT-40585
[FIR] Incorrect type for 1/1.0KT-42525
[FIR] Incorrect IR produced for java.lang.Byte.MAX_VALUEKT-43359
FIR: Check applicability type for callable reference with unbound receiverKT-43378
FIR: Support or prohibit via call checker callable references to member extensionsKT-43289
FIR: Correctly load irrelevant override for special built-insKT-44558
Annotation arguments const expr support is missing in FIRKT-45223
[FIR] Ambiguity between explicit and synthetic removeAt
KT-42215
FIR: callable reference resolution with type constraints at call-sitesKT-45520
FIR: NONE_APPLICABLE for unsafe call to function with overloads instead of UNSAFE_CALLKT-46410
[FIR] Transform of FirAugmentedArraySetCall leaves erroneous nodes in control flow graphKT-46421
FIR: Investigate builder-inference casesKT-43948
FIR: hidden unresolved callable referenceKT-46558
FIR DFA: run once contract is not considered when analyzing lambdaKT-47125
FIR: Do not avoid trivial constraints if they aren't from upper boundsKT-43691
FIR: false positive VARIABLE_INITIALIZER_IS_REDUNDANT with usage in try...finallyKT-37311
[FIR] Support inference of callable references with type variable as expected typeKT-31972
Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@1f5b38c2 (ErrorType).KT-48761
Report NO_TAIL_CALLS_FOUND on ‘tailrec’ modifier, not on the whole function headerKT-47647
NI: Function reference to Java static method can't compile if passed directly as KFunction1 parameterKT-46995
Fix setters implicit types only resolved on full body resolveKT-46359
Kotlin 1.5 lambda is not Java-serializable by defaultKT-49282
FIR: suspend conversion does not work inside suspend lambdaKT-48953
FIR: implement diagnostic DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETERKT-38813
FIR: Report INSTANCE_ACCESS_BEFORE_SUPER_CALL diagnostic on receiver usages in secondary constructors headersKT-49657
FIR: accidental override with get:JvmNameKT-49655
FIR: smart cast is not performed after update of var to not-null value in branch
IDE
KT-42194
OOME: Java heap space from incremental compilation
IDE. Gradle Integration
KT-47570
MPP, IDE: kotlin-test-common leaks into dependencies of platform-specific source sets
JavaScript
New Features
KT-43224
KJS: Allow using inline classes in external typesKT-35100
Make Char inline class in K/JSKT-47525
KJS / IR: Support protected members in d.ts generationKT-44494
KJS / IR: Allow enum classes to be exportedKT-50110
KJS / IR: Enable properties lazy initialization by default
Performance Improvements
KT-43644
KJS / IR: Avoid creating lambda classes
Fixes
KT-50934
KJS / IR: Re-export all JS-exports from the main module for the multi-module modeKT-45620
KJS / IR: Remainder of division of Int.MIN_VALUE
by -1 is negative zero (-0)KT-46225
KJS IR: tailrec function with capturing lambda in default parameter value leads to UninitializedPropertyAccessException at compile timeKT-50512
KJS / IR: IC failed with const val in inline funKT-49738
Ensure that @AfterTest is invoked after the @Test function completes for asynchronous testsKT-45542
KJS / IR: “IllegalStateException” for method with default argument in expect classKT-50464
KJS IR: Functions with optional parameters and stable names are exported without @JsExportKT-43374
KJS / IR: “class org.jetbrains.kotlin.js.backend.ast.JsIf cannot be cast to class org.jetbrains.kotlin.js.backend.ast.JsExpressionStatement” caused by if-else
expression inside when
KT-20791
ushr Behavior differs in Javascript and Java targetsKT-37916
KJS: .d.ts generation not working for enum classesKT-49844
KJS / IR: “IllegalStateException: IrSimpleFunctionSymbolImpl is already bound” with callable referenceKT-46961
KJS / IR: “IllegalStateException: Can't find name for declaration” when external object contains enum classKT-43191
KJS / IR: static companion field is not static in d.tsKT-39891
[KJS / IR] String interpolation and byte shift round Long valueKT-50040
JS IR: “Function must be an accessor of corresponding property” exception on private properties with getter in an exported classKT-49878
Kotlin/JS, IR: incremental compilation fails with CCE: “class StageController cannot be cast to class WholeWorldStageController”KT-46202
KJS / IR: “IllegalStateException” on exported value classKT-42039
KJS / IR: JsQualifier annotation can cause conflicts with built-in functionsKT-39364
KJS: Can't export sealed class/object with subclasses inside the body to typescript definitionKT-47360
KJS / IR: js()
function with string valKT-47376
KJS / IR: Incorrect d.ts
generation for sealed classesKT-47767
KJS / IR: “IllegalStateException” with inline function with several lambda invocation declared through typealiasKT-47342
KJS / IR: “StackOverflowError” on InlinerTypeRemapper.remapTypeArguments
KT-46218
KJS / IR: Incorrect result for local tailrec
function called from capturing inline lambdaKT-45056
KJS / IR: Inconsistent ordinal
property value for enum classesKT-47096
KJS / IR: Console.log
introduces spaces between each characterKT-47516
KJS / IR: Wrong behavior when trying to access property in enum entryKT-47806
KJS / IR: “IllegalStateException” with invocation of extension function with generic and lambda parameter on String.Companion
KT-49225
KJS: Default value for value class parameter is not consideredKT-49326
KJS / IR: Overridden properties should not be exportedKT-49363
KJS / IR: Nested declarations inside exported object are not exportedKT-49300
KJS: Source map generator leaks source files descriptors when source embedding is enabledKT-50197
KJS IR: using APIs in different packages but with same method name generates clashesKT-50203
JS IR BE: new IC for loweringsKT-43250
KJS / IR: “Can't find name for declaration FUN” with Json#encodeToString as function referenceKT-46992
KJS / IR: Incorrect boxing of inline classes returned by crossinline suspend lambdasKT-49776
KJS / IR: inliner doesn't handle inner class functions referring outer thisKT-49849
KJS / IR: Access of exported member properties should be by its stable nameKT-49850
KJS / IR: Member properties in exported class should be getter/setter in d.ts
Language Design
KT-48385
Deprecate confusing grammar in when-with-subjectKT-50251
Support language version 1.3 in Kotlin 1.6.20KT-19423
Script: reference from class to script top-level member is incompilableKT-17765
Ambiguity between SAM adapters when one SAM interface is sub type of anotherKT-10926
False overload resolution ambiguity when both vararg and collection matchKT-41214
JDK 17: Emit PermittedSubclasses attribute when compiling sealed classes
Libraries
KT-44089
Java version checking doesn't work on AndroidKT-50033
Some packages of kotlin-stdlib with public API are not exported in module-infoKT-48367
Using synchronized
on captured object leads to slow JVM executionKT-49721
KJS: Regex(“\b”).findAll yields infinite sequence when a zero length match is found before a surrogate pair (e.g. emoji)
Native
KT-49348
KONAN_NO_64BIT_ATOMIC does not guard Kotlin_AtomicLong_addAndGetKT-42500
KLIB: K/N compiler cannot link with a library with incorrect symbol in the name or the pathKT-49395
K/N: After 1.5.20, compiling code including KSuspendFunction3
to framework leads to “Assertion failed at parametersAssociated”KT-49967
Kotlin iOS regex issueKT-49873
Native does not sort Strings correctlyKT-49347
androidNativeArm32 binaries crash when using atomic operationsKT-49144
Kotlin/Native executable early segmentation faultKT-49463
--dry-run flag for llvm_builder/package.pyKT-49597
Kotlin/Native: Exporting the Arrow library into the framework causes StackOverflowError in the Devirtualization phaseKT-49790
“Undefined symbols” error when linking project with kotest 5.0.0.RC and Kotlin 1.6
Native. Build Infrastructure
KT-48625
Native: distribution doesn't contain sources for kotlin.test
Native. C Export
KT-47828
Kotlin/Native: Kotlin exception is not filtered out on interop border when producing a dynamic library with compiler caches enabled
Native. C and ObjC Import
KT-35059
Better “could not build module” cinterop reportKT-49768
Kotlin/Native: Add -Xoverride-konan-properties to cinterop.
Native. ObjC Export
KT-47399
Kotlin Native - Objective-C with Swift 5.5 Async Function Needs Returning KotlinUnitKT-48282
Kotlin sealed class roots and abstract classes within sealed hierarchies have their constructors exposed to Objective-C/SwiftKT-46866
Memory consumption / performance of Kotlin classes with String property in KMP project on iOS Swift
Native. Platform Libraries
KT-50045
Kotlin/Native: Re-enable disabled Hypervisor frameworkKT-47331
Kotlin/Native: support Xcode 13 SDKs
Native. Runtime
KT-50491
Kotlin/Native: Deadlock in the Ktor server tests with the new memory manager
Native. Runtime. Memory
KT-49497
iOS Swift “runtime assert: Must be positive” and “runtime assert: cycle collector shall only work with single object containers”KT-50026
Kotlin/Native: Make AtomicReference behave like FreezableAtomicReference with the new MMKT-49013
Kotlin/Native: Correctly switch thread state to native for spin locks
Native. Testing
KT-48561
Test sideEffectInTopLevelInitializerMultiModule fails with new MM
Reflection
KT-50198
Reflection: NPE from kotlin.jvm.internal.Intrinsics.areEqual
with Spock
Tools. Android Extensions
KT-50627
NullPointerException when using kotlin-android-extensions synthetic after updating Kotlin to 1.6.10KT-50887
kotlin-android-extensions plugin breaks when package
attribute missing from AndroidManifest.xml
Tools. CLI
KT-46329
Deprecated -Xjvm-default
values are not reportedKT-48027
“Module ... cannot be found in the module graph” with module-info in META-INF/versionsKT-48417
CLI: boolean -X arguments accept a value after ‘=’ which is ignoredKT-11164
Allow running class files with ‘.class’ extension in ‘kotlin’ scriptKT-46171
NoClassDefFoundError produced when running kotlin script
Tools. Commonizer
KT-48856
MPP: Unable to resolve c-interop dependency for test compilation in an intermediate source set with the only platformKT-46257
MPP: Stdlib included more than once for an enabled hierarchical commonizationKT-48288
[Commonizer] platform.posix.timespec.tv_sec not commonized in OKIOKT-47574
[Commonizer] TypeAliasTypeCommonization: Properly substitute underlying type argumentsKT-48221
MPP: Too few targets specified if platform test source set depends on mainKT-47100
[Commonizer] Commonize underlying type-alias types
Tools. Compiler Plugins
KT-50718
Unable to serialize an object with a generic fieldKT-50764
Kotlin 1.6.10 custom serializers for a generic type receive the unit serializer on jvmKT-46444
JVM IR, serialization: “AssertionError: No such value argument slot in IrConstructorCallImpl: 0” with KSerializer of ClosedRange
Tools. Gradle
New Features
KT-41689
Support statistics for Configuration CacheKT-49299
Add more flexible way for defining Kotlin compiler execution strategyKT-21056
Kotlin Gradle Plugin tasks execution should be parallelized by default
Performance Improvements
KT-50664
Compile speed regression going from Kotlin 1.5.31 to 1.6.10 for incremental changes when Java class in a dependent child module w/ kapt is modified w/o a method/class signature changeKT-48884
Configuration performance regression in Kotlin Gradle plugin 1.5.30KT-49782
Improve compilation task outputs snapshot performance
Fixes
KT-48134
Debug log level causes build cache missKT-49014
Disable Explicit API is not possibleKT-48408
Build may fail with strict JVM target validation mode when project has no Kotlin sourcesKT-50620
Gradle Kotlin Plugin crashes in CI due to hostname resolving issueKT-49921
Setup basic release performance regression testsKT-50369
Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines propertyKT-48046
Gradle Throws Exception From Kotlin Plugin: destinationDir must not be null
KT-50037
Kotlin compile task registers more than one task action and their order of execution is counter-intuitiveKT-49772
Kotlin in-process compilation does not release file handlesKT-47215
KJS: “UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized” when running kotlinNpmInstall
or rootPackageJson
locallyKT-46406
Remove ‘kotlin.parallel.tasks.in.project’ build property
Tools. Gradle. JS
KT-49253
KJS / Gradle: Error while evaluating property ‘filteredArgumentsMap’ of task ‘:compileProductionExecutableKotlinJs’KT-49037
KJS / Gradle: Configuration cache usage on large projects lead to high memory consumption by Gradle daemonKT-49902
Kotlin/JS: Gradle: with --debug it still runs yarn without --ignore-scriptsKT-49808
KJS / Gradle: NPE when running node.js Mocha tests with configuration cache reuseKT-49530
KJS: Update Node.JS and YarnKT-49445
KJS / IR: “AssertionError: Built-in class kotlin.Unit is not found” 1.5.31 fails on consuming artifacts built with 1.6.0
Tools. Gradle. Multiplatform
KT-49089
An annotation class annotated with @OptionalExpectation can not be used in another module with HMPP enabledKT-48818
False positive warning about used enableDependencyPropagation
flag with enabled hierarchical mpp by defaultKT-49596
Composite Metadata Jar: Read location of cinterops from KotlinProjectStructureMetadata fileKT-41823
Default arguments not work in iosMain metadata with enableGranularSourceSetsMetadataKT-50574
Only enable cinterop metadata transformation when ‘kotlin.mpp.enableCInteropCommonization’ is set
Tools. Gradle. Native
New Features
KT-47633
Accept version when configuring cocoapods for kotlin/nativeKT-42630
CocoaPods Gradle plugin: Allow customization of podspec propertiesKT-48553
Kotlin/Native: use Gradle Shared Build Service to read konan.propertiesKT-47529
Read list of opt-in cacheable native targets from konan.properties
Fixes
KT-49484
Kotlin/Native: XCFramework should include dSYM files for release artifactsKT-47768
Gradle MPP plugin: K/N targets break task configuration avoidance for assemble taskKT-49971
Make ‘embedAndSignAppleFrameworkForXcode’ task visible for usersKT-43815
[CocoaPods Plugin] Pod name cannot be changedKT-42105
Multiplatform Cocoapod kotlin plugin doesn't support repo distributionKT-48808
XCFramework task fails when using static debug frameworksKT-42755
Cocoapods plugin using backslashes on Windows
Tools. JPS
KT-49177
JPS: Kotlin compiler doesn't recompile file that references Java constant in class bodyKT-46506
JPS: Kotlin compiler doesn't recompile file that references Java constantKT-47909
UtilsKt.recordPackageLookup is slowKT-47857
Class loaders clash when building kotlin project with FIR with JPS without daemon
Tools. Kapt
KT-32596
kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotationKT-48617
Cache miss due to empty directories in KaptGenerateStubsTask inputsKT-48826
Deprecate ‘kapt.use.worker.api’ propertyKT-47002
Kapt: warning mentions non-effective property kapt.includeCompileClasspath
Tools. Maven
KT-50306
Configured plugin dependencies should be available in kotlin-maven-plugin scripts
Tools. Parcelize
KT-19853
Parcelize: CREATOR field should be available from code
Tools. REPL
KT-20488
REPL: java.lang.InternalError: “Enclosing constructor not found” for class reference on an anonymous object literal
Tools. Scripts
KT-40497
“Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6.” for running script without specified jvm-targetKT-49329
Kotlin scripts are compiled with jvmTarget 1.8 by default and in many scenarios there is no way to redefine it, which lead to inlining errors e.g. with JDK 17
1.6.10
Android
KT-49798
[MPP] [Android] AGP 7.1.0+ android target publications leak ‘AgpVersionAttr’ attribute
Compiler
Performance Improvements
KT-49821
Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter
Fixes
KT-49833
java.lang.NullPointerException caused by accidental newline in package directiveKT-49838
Type inference fails on 1.6.0: Cannot use ‘CapturedType(*)’ as reified type parameterKT-49752
Regression in method return type inference: “IllegalStateException: Expected some types”KT-49876
Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0KT-49792
Atomicfu: “standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load” with suspend functionKT-49834
Coroutine method transformer generates invalid locals table.KT-49441
Support friend modules in Kotlin NativeKT-49248
K/N: Symbol with IrSimpleFunctionSymbolImpl
is unbound after 1.5.30KT-49651
Inconsistent compiler APIs for repeatable annotationsKT-49168
JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM methodKT-49573
No annotated types, compiler emits “Annotated types are not supported in typeOf”KT-47192
Build Fake Overrides for internal members of classes from friend moduleKT-48673
IR: IllegalStateException for usage of internal member declared in a superclass in another module
JavaScript
KT-47811
KJS / IR: “ClassCastException” when using suspend function in console.log
Language Design
KT-49868
Support language version 1.3 in Kotlin 1.6.10
Libraries
KT-50173
Different behavior of Regex escapeReplacement function in JVM and JS
Tools. Android Extensions
KT-49799
NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0
Tools. Compiler Plugins
KT-50005
jvm-abi-gen plugin: do not change the declaration order in generated jarsKT-49726
JVM/IR: “IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER”: Serialization with sealed class as type parameter
Tools. Gradle
KT-49835
Android consumers can't resolve Android debug variants of published MPP libraries published with Kotlin 1.6.0 & Gradle 7.0+KT-49910
Incremental compilation speed regression in 1.6.0 for Android projects
Tools. Gradle. JS
KT-49109
KJS / Gradle: Configuration failed: Could not find node-14.17.0-darwin-arm64.tar.gz (org.nodejs:node:14.17.0)KT-50135
KJS: Problem with Yarn install with scripts on WindowsKT-34014
Gradle, JS: Ability to persist / reuse yarn.lockKT-49505
KJS / IR: Installation of NPM dependencies should be with ignore-scripts
Tools. Gradle. Native
KT-49931
Kotlin Multiplatform Fails in Windows after 1.6.0 upgrade - Cannot run program “pod”KT-49771
podInstall task is not executed after adding a pod dependency to the shared module
Tools. Incremental Compile
KT-49822
Incremental compilation state is modified when the build fails in Kotlin 1.6KT-49340
“IllegalStateException: @NotNull
method org/jetbrains/kotlin/com/intellij/openapi/application/AsyncExecutionService.getService must not return null” with Anvil plugin and incremental compilation
1.6.0
Android
KT-48019
Bundle Kotlin Tooling Metadata into apk artifactsKT-47733
JVM / IR: Android Synthetic don't generate _findCachedViewById function
Compiler
New Features
KT-47984
In-place arguments inlining for @InlineOnly functionsKT-12794
Allow runtime retention repeatable annotations when compiling under Java 8KT-43714
Support annotations on class type parameters (AnnotationTarget.TYPE_PARAMETER)KT-45949
Kotlin/Native: Improve bound check eliminationKT-43919
Support loading Java annotations on base classes and implementing interfaces' type argumentsKT-48194
Try to resolve calls where we don't have enough type information, using the builder inference despite the presence of the annotationKT-47736
Support conversion from regular functional types to suspending ones in JVM IRKT-39055
Support property delegate created via synthetic method instead of field
Performance Improvements
KT-45185
FIR2IR: get rid of IrBuiltIns usagesKT-47918
JVM / IR: Performance degradation with const-bound for-cyclesKT-33835
Bytecode including unnecessary null checks for safe calls where left-hand side is non-nullableKT-41510
Compilation of kotlin html DSL is still too slowKT-48211
We spend a lot of time in ExpectActual declaration checker when there is very small amount of actual/expect declarationKT-39054
Optimize delegated properties which call get/set on the given KProperty instance on JVMKT-46615
Don't generate nullability assertions in methods for directly invoked lambdas
Fixes
KT-49613
JVM / IR: “Exception during IR lowering” with java fun interface and it's non-trivial usageKT-49548
“ClassCastException: java.util.ArrayList$Itr cannot be cast to kotlin.collections.IntIterator” with Iterable inside let
KT-22562
Deprecate calls to “suspend” named functions with single dangling lambda argumentKT-47120
JVM IR: NoClassDefFoundError when there are an extension and a regular function with the same nameKT-49477
Has ran into recursion problem with two interdependant delegatesKT-49442
ClassCastException on reporting [EXPOSED_FROM_PRIVATE_IN_FILE] Deprecation: private-in-file class should not expose ‘private-in-class’KT-49371
JVM / IR: “NoSuchMethodError” with multiple inheritanceKT-44843
PSI2IR: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression” with delegate who has name or parameter with the same name as a propertyKT-49294
Turning FlowCollector into ‘fun interface’ leads to AbstractMethodErrorKT-18282
Companion object referencing it's own method during construction compiles successfully but fails at runtime with VerifyErrorKT-25289
Prohibit access to class members in the super constructor call of its companion and nested objectKT-32753
Prohibit @JvmField on property in primary constructor that overrides interface propertyKT-43433
Suspend conversion is disabled
message in cases where it is not supported and quickfix to update language version is suggestedKT-49399
Building repeatable annotation with Container nested class fails with ISE: “Repeatable annotation class should have a container generated”KT-49209
Default upper bound for type variables should be non-nullKT-49335
NPE in RepeatedAnnotationLowering.wrapAnnotationEntriesInContainer
when using @Repeatable
annotation from different fileKT-48876
java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.expressions.impl.IrReturnableBlockImpl@4a729df2KT-48131
IAE “Repeatable annotation container value must be a class reference” on using Kotlin-repeatable annotation from dependencyKT-49322
Postpone promoting warnings to errors for ProperTypeInferenceConstraintsProcessing
featureKT-49285
Exception on nested builder inference callsKT-49101
IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(out Number)KT-41378
Compilation failed: Deserializer for declaration public kotlinx.coroutines/SingleThreadDispatcher|null[0] is not foundKT-47285
IR deserialization exception when dependency KLIB has class instead of typealiasKT-46697
IllegalStateException: IrTypeAliasSymbol expected: Unbound public symbol for public kotlinx.coroutines/CancellationException|null[0] compiling KMM module for Kotlin/Native with Kotlin 1.5KT-36399
Gradually support TYPE_USE nullability annotations read from class-filesKT-11454
Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-filesKT-18768
@Notnull annotation from Java does not work with varargsKT-24392
Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETERKT-48157
FIR: incorrect resolve with built-in names in useKT-46409
FIR: erroneous resolve to qualifier instead of extensionKT-44566
FirConflictsChecker
do not check for conflicting overloads across multiple filesKT-37318
FIR: Discuss treating flexible bounded constraints in inferenceKT-45989
FIR: wrong callable reference type inferredKT-46058
[FIR] Remove state from some checkersKT-45973
FIR: wrong projection type inferredKT-43083
[FIR] False positive ‘HIDDEN’ on internalKT-48794
Breaking change in 1.5.30: Builder inference lambda contains inapplicable calls so {1} cant be inferredKT-46727
Report warning on contravariant usages of star projected argument from JavaKT-40668
FIR: Ambiguity on qualifier when having multiple different same-named objects in near scopesKT-37081
[FIR] errors NO_ELSE_IN_WHEN and INCOMPATIBLE_TYPES absenceKT-48162
NON_VARARG_SPREAD isn't reported on *toTypedArray() callKT-45118
ClassCastException caused by parent and child class in if-elseKT-47605
Kotlin/Native: switch to LLD linker for MinGW targetsKT-48912
K/N Symbol with IrSimpleFunctionSymbolImpl is unbound
and JS Validation failed in file shaders.kt
KT-44436
Support default not null annotations to enhance T into T!!KT-49190
Increase stub versionsKT-48261
“overload resolution ambiguity” for JSpecify+jsr305-annotated Java List implementationKT-48778
-Xtype-enhancement-improvements-strict-mode not respecting @NonNull annotation for property accesses?KT-48606
[1.6] Instantiated annotations do not implement hashCode correctly/consistentlyKT-49157
Tail-call optimization miss with cast to type parameterKT-46437
NI: “Throwable: Resolution error of this type shouldn't occur for resolve if as a call” caused by reflectively accessing private property inside “if/else” or “when” expressionKT-48590
IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(*) reified type class referenceKT-48633
Can‘t infer builder inference’s type argument across local classKT-49136
JVM IR: NPE with safe call chain and property set to null by reflectionKT-48570
OptIn marker should not spread from class to its membersKT-48928
Prohibit using old JVM backend with language version >= 1.6KT-41978
NI: Kotlin fails to infer type of function argumentKT-48101
Smart cast on base class property is impossible if base class is from another moduleKT-48732
JVM / IR: MalformedParameterizedTypeException is thrown when a Spring Bean of suspending function type is registeredKT-47841
Turning LV to 1.6 breaks some diagnostics based on jspecify annotationsKT-48498
JVM IR: IllegalAccessError with inline function call and property delegation from different moduleKT-48319
JVM / IR: AssertionError: FUN caused by suspend lambda inside anonymous functionKT-48835
Psi2ir: vararg parameter value is lost when translating adapted function reference to base class memberKT-46908
JVM / IR: do not wrap fun interface implementation into another SAM adapter if it inherits from a functional typeKT-48927
JVM IR: “VerifyError: Bad invokespecial instruction: current class isn't assignable to reference class” when up-casting and read a base class‘s private property that has a custom getter in the base class’s public functionKT-48992
Postpone migration to new operator resolution scheme for integer literalsKT-48290
Type bounds warning based on Java annotations not issues with language level 1.6KT-47920
There is no warning on violated nullability of type parameter in accordance with java nullability annotationKT-41664
Remove the “runtime JAR files in the classpath should have the same version” warningKT-48851
Keep using warn mode for jspecify in 1.6KT-46829
IR: NullPointerException caused by setting scoped generic extension varKT-42972
Forbid protected constructor calls from public inline functionsKT-45378
Prohibit super calls in public-api inline functionsKT-48515
JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-48825
JVM IR: NPE with delegated property “by this” to base classKT-48535
Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warningKT-47928
Prohibit declarations of repeatable annotation classes whose container annotation violates JLSKT-47971
Report error on declaration of a repeatable annotation class with nested class named ContainerKT-48478
JVM IR: Coroutines 1.5.1 + Kotlin 1.5.30 - ClassCastException: CompletedContinuation cannot be cast to DispatchedContinuationKT-48523
Kotlin/Native: cross-compilation from Linux to MinGW not working when platform.posix
is usedKT-48671
JVM / IR: “AssertionError: Primitive array expected: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS”KT-46181
JVM IR: private @JvmStatic function is generated in the outer class instead of companion object, which breaks existing calls via JNI or reflection (e.g. JUnit @MethodSource)KT-48736
JVM IR: assert in SyntheticAccessorLowering when inline function attempts to access package-private field from JavaKT-48653
Warnings on non-exhaustive when statements missing in some cases with 1.6KT-48394
JVM: Invalid locals caused by unboxing bytecode optimizationKT-20542
IllegalAccessError on calling private function with default parameters from internal inline function used in another packageKT-48331
JVM / IR: “VerifyError: Bad access to protected data in invokevirtual” when a sealed class uses another sealed class in its same hierarchy level as a constructor parameterKT-48380
kotlin.RuntimeException: Unexpected receiver typeKT-47855
Kotlin/Native: compilation fails due to Escape AnalysisKT-48291
False positive [ACTUAL_MISSING] Declaration must be marked with ‘actual’ when implementing actual interfaceKT-48445
“IAE: Top level call context should not be null to analyze coroutine-lambda” when compiling Kotlin with language version 1.6KT-48618
Enable by default “suspend conversion” feature in 1.6KT-47638
Drop EXPERIMENTAL_IS_NOT_ENABLED diagnosticKT-48589
KotlinTypeRefiner is lost, leading to TYPE_MISMATCH and OVERLOAD_RESOLUTION_AMBIGUITY issues with MPP projectsKT-48615
Inconsistent behavior with integer literals overflow (Implementation)KT-47937
Implement deprecation of computing constant values of complex boolean expressions in when condition branches and conditions of loopsKT-48391
JVM / IR: “AssertionError: SyntheticAccessorLowering should not attempt to modify other files!” caused by class which inherits interface which has default function with default argument from companion const valKT-48552
Kotlin/Native: iosArm64 debug build fails in 1.6.0-M1-139KT-46182
Native: prohibit using dots in identifiersKT-46230
JVM IR: “IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER MOVED_DISPATCH_RECEIVER” with value class overriding function with default parameterKT-48302
FIR: Investigate not-null assertion on generic Java methodKT-48350
JVM IR: NPE from LocalDeclarationsLowering on property reference with field from outer class used as receiver (1.6.0-M1 regression)KT-48500
AE: “Last parameter type of suspend function must be Continuation, but it is kotlin.coroutines.experimental.Continuation” for kotlin-stdlib-common
libraryKT-48469
Problem with properties lazy initialization while using kotlinx.serialization pluginKT-48432
Regression in IntRange.contains (and probably other ranges too) when used in-placeKT-44855
“AssertionError: SyntheticAccessorLowering should not attempt to modify other files” on smart cast of protected field ownerKT-47542
Incorrect ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED after migration to 1.6 on class indirectly extending RuntimeExceptionKT-48166
FIR: incorrect common supertype for PSI elements hierarchyKT-47499
JVM / IR: java.lang.VerifyError: Bad access to protected data in invokevirtual when trying to clone the result of lambda invocation that is “this” in an extension functionKT-46451
JVM Debugging: stepping on finally block end brace line before stepping into finally codeKT-48329
It's impossible to infer a type variables based on several builder inference lambdasKT-48193
Don't use the builder inference for calls which can be resolved without itKT-46450
JVM Debugging: some break statements in catch blocks have no line numbers and you cannot set breakpoints on themKT-48298
FIR: incorrect deserialized annotations in back-endKT-48234
FIR: false positive NON_INTERNAL_PUBLISHED_API for primary constructor propertyKT-48174
IR interpreter: unsupported compile-time callKT-48158
FIR: false positive ASSIGNMENT_TYPE_MISMATCH as a result of wrong type inference around callable referencesKT-48109
FIR: incorrect type inference for generic argument of intersection typeKT-48161
FIR: false positive ARGUMENT_TYPE_MISMATCH for bounded type parameter VS Java not-nullKT-48159
FIR: erroneous scope order during type resolve of constructor return typeKT-48165
FIR: false positive “initializer should be a constant value” on String.lengthKT-48175
FIR: exception for JvmField on local class propertyKT-48164
FIR: false positive OVERRIDING_FINAL_MEMBER in enum entryKT-48116
FIR: false positive NOT_A_LOOP_LABELKT-48102
FIR: false positive ABSTRACT_MEMBER_NOT_IMPLEMENTED with mapped stdlib functionsKT-47911
Native compiler on ios_arm64 target generates movi.2d instructions, which are mishandled by Apple hardwareKT-48105
FIR: generic/specific callable reference ambiguityKT-14392
Repeated annotation with use site target is not detected for getter and setterKT-47493
Missed frontend diagnostic in try/catchKT-48058
“No type for expression” compiler exception on calls with unused lambdaKT-47597
JVM IR: if statement doesn't eval correctly on 1.5.20 possible nullable type differences.KT-47922
False negative type mismatch on empty when as last statement of lambdaKT-34594
Do not generate fake debugger variables initialization for @InlineOnly functionsKT-47749
Incorrect scope of a local variable inside the coroutineKT-47527
JVM / IR ClassCastException: “kotlin.Unit cannot be cast to java.lang.String”KT-47840
JVM / IR: “IllegalStateException: No mapping for symbol: VALUE_PARAMETER name: x” in nested local functions with recursive callsKT-46448
JVM Debugging: Locals in finally blocks not always duplicated when the finally block isKT-47716
JVM / IR: NoSuchMethodError when trying to get MAX_VALUE from ULong in non-trivial try/finally contextKT-47762
JVM / IR: Properties with the same signatures in inline class and its companion object crashes the compiler with NullPointerExceptionKT-47741
JVM / IR: VerifyError: Bad type on operand stack with iterator and invoking method reference to IntIteratorKT-43696
ClassFormatError on @JvmStatic external fun in interface companion objectKT-47715
JVM / IR, R8: External getter cannot be represented in dex formatKT-47684
Add warning on is
checks which are always falseKT-47685
False positive CAST_NEVER_SUCCEEDS on variable of intersection typeKT-32188
NI: False positive “This cast can never succeed”KT-35687
NI: Poor cast can never succeed [CAST_NEVER_SUCCEEDS]KT-41331
False negative USELESS_IS_CHECK with nullKT-47609
JVM IR: “AssertionError: Unexpected number of type arguments” when compiling an extension property with annotation and it extends a value class with a generic parameterKT-47413
FIR: Rework FirDelegatedScopeKT-47492
Illegal use of DUP
Docs & Examples
KT-48534
Wrong compiler argument for RequiresOptIn
IDE
KT-48604
MISSING_DEPENDENCY_CLASS in test source sets with kotlin.mpp.enableGranularSourceSetsMetadata=true
IDE. Debugger
KT-47970
AE: “Either library or explicit name have to be provided ” in IR debugger tests
IDE. Gradle Integration
KT-46273
MPP: Don't fail import for case of missed platform in source set structureKT-48823
Improve error reporting on import when configuration phase in Gradle failedKT-48504
MPP: UninitializedPropertyAccessException on import if new hierarchical mpp flag conflicts with other flagsKT-47463
MPP: Import fails with Task 'runCommonizer' not found in root project
if Kotlin configured only in module
IDE. Multiplatform
KT-47604
kotlin-stdlib-common leaks into dependencies of Android-specific source sets
JavaScript
KT-43783
KJS / IR: companion object and nested objects are not exportedKT-47524
KJS / IR: Treat protected members as part of exported APIKT-48132
KJS / IR: “IllegalStateException” when interface methods don't have default implementationKT-47700
Support instantiation of annotation classes on JSKT-48317
KJS / IR: “TypeError: ... is not a function” on running code with suspend function inheritorsKT-48344
KJS / IR: incorrect call with vararg argument from suspend functionKT-47751
Kotlin/JS: IR + IC: “argument has no effect without source map” warnings on build
Libraries
New Features
KT-46423
infix extension fun Comparable.compareToKT-47421
Stabilize collection buildersKT-48584
Introduce JVM readln() and readlnOrNull() top-level functions
Performance Improvements
KT-45438
Remove brittle ‘contains’ optimization in minus/removeAll/retainAll
Fixes
KT-28378
Different behavior of Regex replace function in JVM and JS when replacement string contains group referenceKT-46785
Get rid of !! after readLine() in the standard libraryKT-46784
Stabilize Duration API in the standard libraryKT-46229
Bring back Duration factory extension propertiesKT-27738
Make JS Regex.replace not inlineKT-48607
Stabilize experimental API for 1.6KT-47304
Random#nextLong generates value outside provided rangeKT-47706
System property that controls the brittle contains
optimizationKT-48999
Align behavior of some JS functions with their JVM counterpartKT-46243
Typography.leftGuillemete and Typography.rightGuillemete are named inconsistent with standardKT-46101
Review deprecations in stdlib for 1.6KT-48456
Introduce Common (multi-platform) readln() and readlnOrNull() top-level functionsKT-48587
Deprecate some of JS-only stdlib APIKT-39328
Make builder collection implementations serializableKT-47676
K/JS: MatchResult.next() returns no expected next match if called after matchEntire
KT-39166
Nothing is silently mapped to Void in arguments of the type passed to typeOfKT-39330
Migrate declarations from kotlin.dom and kotlin.browser packages to kotlinx.*KT-28753
Comparing floating point values in array/list operations ‘contains’, ‘indexOf’, ‘lastIndexOf’: IEEE 754 or total orderKT-38854
Gradually change the return type of collection min/max functions to non-nullableKT-38754
Deprecate appendln in favor of appendLine
Native
KT-48807
Cinterop: cannot create bindings for a framework when Xcode 13 RC is installedKT-49384
Kotlin/Native: Unexpected variance in super type argument: out @0KT-47424
StackOverflowError in IR hashCode() methods compiling KMM module for Kotlin/Native with Kotlin 1.5.0+KT-49234
SIGSEGV using the new memory manager in release in Kotlin 1.6.0-RC in MacosX64KT-48566
ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/NativeKT-48039
Native: support shaded (aka embeddable) compiler jar in Gradle pluginKT-42693
Remove dependency on ncurses5 library
Native. C Export
KT-47209
kotlin-native fails to generate valid C header if a setter takes anonymous parameter (_)
Native. C and ObjC Import
KT-48074
Native: cinterop: __flexarr support
Native. ObjC Export
KT-47809
Kotlin/Native: ObjC-export module name usage in klib compilation
Native. Platforms
KT-43024
Kotlin/Native: Windows as cross-compilation target
Native. Runtime
KT-48452
Kotlin/Native: Support thread state switching in termination handlers for the new MM
Native. Runtime. Memory
KT-48143
Kotlin/Native: test fails with assert with new MM and state checkerKT-48364
Uninitialized top-level properties in new MMKT-44283
staticCFunction with CValue parameter crashes when invoked off the main thread
Native. Stdlib
KT-47662
[Native, All platforms] Incorrect parsing of long strings to Float and Double
Reflection
KT-45066
Support flexible types (nullability, mutability, raw) in typeOfKT-35877
typeOf<MutableList<>> cannot be distinguished from typeOf<List<>> in Kotlin/JVM
Tools. CLI
KT-49007
Support three previous API versionsKT-48622
Introduce compiler X-flag to use the builder inference for all calls by defaultKT-32376
“no main manifest attribute” on running the jar for cli-compiled Kotlin objects with main functionKT-48026
Add the compiler X-flag to enable self upper bound type inferenceKT-47640
CLI: support -option=value format as for -Xoption=valueKT-47099
Add a stable compiler argument for opt-in requirements as soon as they are stable
Tools. Commonizer
New Features
KT-48455
[Commonizer] Optimistic number commonizationKT-48459
[Commonizer] Add opt-in annotation to optimistically commonized numbers
Fixes
KT-47430
[Commonizer] ‘platform.posix.DIR’ not implementing ‘CPointed’ when commonized for “unixMain”KT-48567
[Commonizer] pthread_self function is not commonized in atomicfuKT-48287
[Commonizer] platform.posix.mkdir not commonized in OKIOKT-48286
[Commonizer] platform.posix.ftruncate not commonized in OKIOKT-47523
MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only targetKT-48278
[Commonizer] platform.posix.usleep not commonized in sqliterKT-46691
MPP: Type mismatch for hierarchically commonized typealiasesKT-47221
C-interop commonization fails if few targets reuse same source setKT-47775
Commonizer don't run for shared native code if test source set depends on mainKT-47053
MPP: Unable to resolve c-interop commonized code from shared test source setKT-48118
Commonized c-interop lib is not attached to common main source setKT-47641
Enabled cInterop commonization triggers native compilation during Gradle sync in IDEKT-47056
MPP: Change naming for folder with commonized c-interop libraries
Tools. Compiler Plugins
KT-48842
Compiler crash: Symbol with IrFieldSymbolImpl is unboundKT-48117
Kotlin AllOpen Plugin should open private methodsKT-40340
jvm-abi-gen plugin: failure with Android D8 (Dexer) toolKT-40133
jvm-abi-gen plugin: fails for inline function containing apply block with anonymous objectKT-28704
jvm-abi-gen plugin: avoid calling codegen twice per moduleKT-48111
JVM / IR: “IllegalAccessError: tried to access method” with NoArg plugin and sealed class
Tools. Gradle
Performance Improvements
KT-49159
KotlinGradleBuildServices leaks Gradle instance when configuration cache is enabled
Fixes
KT-45504
Deprecate Gradle option KotlinJvmOptions.useIR since 1.5KT-49189
In Gradle, dependencies on an MPP with Android+JVM fail to resolve in pure-Java projectsKT-48830
Change deprecation level to ‘ERROR’ for ‘KotlinGradleSubplugin’KT-48264
Cannot write Kotlin build report unless directory existsKT-48745
JVM target compatibility check should be disabled when Java sources are emptyKT-49066
Setting kotlinOptions.modulePath in an android project breaks incremental compilationKT-48847
Remove deprecated kotlin options marked for removal after 1.5KT-48245
KGP makes compileOnly configuration resolvableKT-38010
Invalid warning “Runtime JAR files in the classpath should have the same version.” with java-gradle-plugin
KT-48768
Misleading ‘jdkHome’ deprecation messageKT-46719
Remove ‘kotlin.useFallbackCompilerSearch’ build optionKT-47792
KGP should ignore ProjectDependency when customize kotlin DependenciesKT-47867
Replace usages of IncrementalTaskInputs with InputChangesKT-46972
Migrate Kotlin repo to use Gradle toolchain feature
Tools. Gradle. JS
KT-49124
KJS / Gradle: Unable to load ‘@webpack-cli/serve’ commandKT-49201
KJS / Gradle: NPM dependencies resolution may fail on parallel buildsKT-48241
KJS / Gradle: NPM test dependency may break Gradle configuration cacheKT-32071
Possibility to disable downloading of Node.js and YarnKT-48332
Make NodeJsSetupTask and YarnSetupTask not cacheableKT-37895
KJS: NPM Post-install Scripts sometimes print “node: not found”KT-34985
kotlin-gradle-plugin: Should align ways NodeJs and Yarn are downloaded
Tools. Gradle. Multiplatform
KT-48709
MPP: Task compileKotlinMacosX64 fails on matching native variants if ktlint presentedKT-48919
Gradle multiplatform plugin 1.6.0-M1 does not accept apiVersion = “1.7”KT-46343
[Commonizer] Use lockfile for NativeDistributionCommonizationCacheKT-48427
Execution failed for task ‘:commonizeNativeDistribution’. > java.io.FileNotFoundException lock (No such file or directory)KT-48513
Commonized platform libraries are unresolved in modules for new hierarchical MPP flagKT-48138
CInteropCommonizer: Missing commonization request if test source set has different targets than associated mainKT-35832
Gradle: MPP plugin operates with -Xuse-experimental and not with -Xopt-in
Tools. Gradle. Native
KT-48729
Test-source sets receive extra unnecessary granular dependencies to more common source sets when depending on MPP-libraryKT-37511
CocoaPods Gradle plugin: Support incremental task execution when switching between Xcode and terminalKT-47362
Cocoapods plugin: add error reporting for case when pod is not installed on user machineKT-37513
CocoaPods Gradle plugin: Support building tests from terminal for projects depending on pods
Tools. Kapt
KT-45545
Kapt is not compatible with JDK 16+KT-47853
KaptWithoutKotlincTask
eagerly resolves dependencies during construction/configuration and can cause deadlocksKT-47934
KaptJavaLog is unable to map stub back to the kotlin sourceKT-48195
Kapt causes dead lock in DefaultFileLockManager
Tools. Scripts
KT-49400
Script resolver options can't take values with special symbols (/, , $, :, .) in themKT-49012
Compiling .kts script with inner class declaration fails with Backend Internal Error caused by AE: “Local class constructor can't have dispatch receiver”KT-47927
Script: memory leak with new enginesKT-48025
JVM / IR / Script: IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER caused by method tnat returns outer functionKT-48303
main.kts script fails to detect vanished dependencies if run from the cacheKT-48177
Scripts: OutOfMemoryException with circular @file:ImportKT-46645
Scripts: “IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER” caused by get accessor
Recent ChangeLogs: