Update kotlin_version to v1.8.0 - autoclosed #23
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate_kotlin_version"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.3.50
->1.8.0
1.3.50
->1.8.0
⚠ Dependency Lookup Warnings ⚠
Warnings were logged while processing this repo. Please check the logs for more information.
Release Notes
JetBrains/kotlin
v1.8.0
Analysis API
KT-50255
Analysis API: Implement standalone mode for the Analysis APIAnalysis API. FIR
KT-54292
Symbol Light classes: implement PsiVariable.computeConstantValue for light fieldKT-54293
Analysis API: fix constructor symbol creation when its accessed via type aliasAndroid
KT-53342
TCS: New AndroidSourceSet layout for multiplatformKT-53013
Increase AGP compile version in KGP to 4.1.3KT-54013
Report error when using deprecated Kotlin Android Extensions compiler pluginKT-53709
MPP, Android SSL2: Conflicting warnings forandroidTest/kotlin
source set folderBackend. Native. Debug
KT-53561
Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"Compiler
New Features
KT-52817
Add@JvmSerializableLambda
annotation to keep old behavior of non-invokedynamic lambdasKT-54460
Implementation of non-local break and continueKT-53916
Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compilerKT-32208
Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)KT-53438
Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coveragePerformance Improvements
KT-53347
Get rid of excess allocations in parserKT-53689
JVM: Optimize equality on class literalsKT-53119
Improve String Concatenation LoweringFixes
KT-53465
Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20KT-49658
NI: False negative TYPE_MISMATCH on nullable type withwhen
KT-48162
NON_VARARG_SPREAD isn't reported on *toTypedArray() callKT-43493
NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdasKT-54393
Change in behavior from 1.7.10 to 1.7.20 for java field override.KT-55357
IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper boundKT-55068
Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backendKT-51284
SAM conversion doesn't work if method has context receiversKT-48532
Remove old JVM backendKT-55065
Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backendKT-53270
K1: implement synthetic Enum.entries propertyKT-52823
Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8KT-55108
IR interpreter: Error occurred while optimizing an expression: VARARGKT-53547
Missing fun IrBuilderWithScope.irFunctionReferenceKT-54884
"StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constantKT-47475
"IncompatibleClassChangeError: disagree on InnerClasses attribute": cross-module inlined WhenMappings has mismatched InnerClassesKT-55013
State checker use-after-free with XCode 14.1KT-54802
"VerifyError: Bad type on operand stack" for inline functions on arraysKT-54707
"VerifyError: Bad type on operand stack" in inline call chain on a nullable array valueKT-48678
Coroutine debugger: disable "was optimised out" compiler featureKT-54745
Restore KtToken constructors without tokenId parameter to preserve back compatibilityKT-54650
Binary incompatible ABI change in Kotlin 1.7.20KT-52786
Frontend / K2: IndexOutOfBoundsException when opting in to K2KT-54004
Builder type inference does not work correctly with variable assignment and breaks run-timeKT-54581
JVM: "VerifyError: Bad type on operand stack" with generic inline function andwhen
inside try-catch blockKT-53794
IAE "Unknown visibility: protected/protected and package/" on callable reference to protected member of Java superclassKT-54600
NPE on passing nullable Kotlin lambda as Java's generic SAM interface withsuper
type boundKT-54463
Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegateKT-54509
Ir Interpreter: unable to evaluate string concatenation with "this" as argumentKT-54615
JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expressionKT-53146
JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtimeKT-53712
Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER)KT-54366
K2: no JVM BE specific diagnostics (in particular CONFLICTING_JVM_DECLARATIONS) in 1.8KT-35187
NullPointerException on compiling suspend inline fun with typealias to suspend function typeKT-54275
K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"KT-53656
"IllegalStateException: typeParameters == null for SimpleFunctionDescriptorImpl" with recursive generic type parametersKT-46727
Report warning on contravariant usages of star projected argument from JavaKT-53197
K2: 'init' hides member of supertype 'UIComponent' and needs 'override' modifierKT-53867
K2:@JvmRecord
does not compile to a java recordKT-53964
K2 is unable to work with Java recordsKT-53349
K2: TYPE_MISMATCH caused by non-local returnKT-54100
"Type variable TypeVariable(P) should not be fixed" crash in code with errorsKT-54212
K2: cannot calculate implicit property typeKT-53699
K2: Exception during IR lowering in code with coroutinesKT-54192
Warn about unsupported feature on generic inline class parametersKT-53723
Friend modules aren't getting passed to cache build during box testsKT-53873
K2: Duplicated diagnostics reported from user type ref checkersKT-50909
"VerifyError: Bad type on operand stack" caused by smartcasting for nullable inline class property in classKT-54115
Restore Psi2IrTranslator constructor from 1.7.20KT-53908
K2: Self-referencing generics in Java class causes New Inference Error (IE: class Foo<T extends Foo>)KT-53193
K2: compile error on project that compiles fine with normal 1.7.10KT-54062
K2 Invalid serialization for type-aliased suspend function type with extension receiverKT-53953
Forbid usages of super or super if in fact it accesses an abstract memberKT-47473
NI: Missed UPPER_BOUND_VIOLATED diagnostics if use type aliases with type parametersKT-54049
K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTEDKT-30054
Wrong approximation if nullable anonymous object with implemented interface is usedKT-53751
Postpone IgnoreNullabilityForErasedValueParameters featureKT-53324
Implement Enum.entries lowering on K/NKT-44441
K2: report redeclaration error if there is a Java class with the same name as the Kotlin classKT-53807
No warning about declaringClass on an enum valueKT-53493
K2:val on function parameter
counts as just warningKT-53435
K2: "IllegalArgumentException: class KtValueArgument is not a subtype of class KtExpression for factory ANNOTATION_ARGUMENT_MUST_BE_CONST" if string in nested annotation is concatenatedKT-52927
AssertionError: LambdaKotlinCallArgumentImplKT-53922
Make Enum.entries unstable feature to poison binariesKT-53783
Exception during psi2ir when declaring expect data objectKT-53622
[OVERLOAD_RESOLUTION_AMBIGUITY] when enum entry called 'entries' is present in K2KT-41670
JVM IR: AbstractMethodError when using inheritance for fun interfacesKT-53178
K2: implement diagnostics for serialization pluginKT-53804
Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlibKT-52970
Default value constant in companion object works on JVM and JS, but fails on nativeKT-51114
FIR: Support DNN checksKT-27936
Write InnerClasses attribute for all class names used in a class fileKT-53719
Parsing regression on function call with type arguments and labeled lambdaKT-53261
Evaluate effect from inline for primitive typesKT-53706
K2: Context receivers are not resolved on properties during type resolution stageKT-39492
Kotlin.Metadata's packageName field cannot be an empty stringKT-53664
Ir Interpreter: unable to evaluate name of function reference marked with JvmStatic from another moduleKT-52478
[Native] Partial linkage: Building native binary from cached KLIBs fails if one library depends on removed nested callable member from another oneKT-48822
CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationExceptionKT-50281
IllegalStateException: unsupported call of reified inlined functionKT-50083
Different error messages in android and JVM (Intrinsics.checkNotNullParameter).KT-53236
Support Enum.entries codegen on JVM/IR BEKT-41017
FIR: should we support smartcast after null checkKT-53202
"ISE: Descriptor can be left only if it is last" after direct invoke optimization on a capturing lambdaKT-46969
@BuilderInference
with nested DSL scopes cause false-positive scope violation in Kotlin 1.5KT-53257
FIR: Improper context receiver argument is chosen when there are two extension receiver candidatesKT-53090
Anonymous function and extension function literals are generated as classes even with -Xlambdas=indyKT-53208
K2: Cannot get annotation for default interface method parameter when compiled with-Xuse-k2
KT-53184
K2: NoSuchMethodError on KProperty1.get() referenced via nullable typealiasKT-53198
K2: Return type mismatch: expected kotlin/Unit, actual kotlin/Unit?KT-53100
Optimization needed: (CONSTANT_PRIMITIVE(x: T?)) => xKT-49875
[FIR] Support infering PRIVATE_TO_THIS visibilityKT-53024
Refactor FIR renderer to composable architectureKT-50995
[FIR] Support SAM with receiver pluginKT-53148
K1: introduce warning for inline virtual member in enumKT-49847
Devirtualization fails to eliminate boxing in function reference contextKT-52875
Extension function literal creation with-Xlambdas=indy
fails with incorrect argumentsKT-53072
INVALID_IF_AS_EXPRESSION error isn't shown in the IDE (LV 1.8)KT-52985
Native: a function with typeT?
returned akotlin.Unit
instead ofnull
KT-52020
FIR warning message includes internal renderingKT-48778
-Xtype-enhancement-improvements-strict-mode not respecting@NonNull
annotation for property accesses?IDE
Fixes
KTIJ-22357
CCE “class org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef” in K2KT-55150
Argument for@NotNull
parameter 'scope' of org/jetbrains/kotlin/resolve/AnnotationResolverImpl.resolveAnnotationType must not be nullKTIJ-22165
IDE notification to promote users to migrate to the new Kotlin/JS toolchainKTIJ-22166
IDE notification (or something else) about JPS and Maven support for Kotlin/JS is deprecatedKT-53543
Rework light classes for file facadeKT-48773
Investigate the possibility of removing dependency on old JVM backend in light classesKTIJ-19699
IDE: False positive type mismatch in Java code for Kotlin nested class non-direct inheritor from external libraryKT-51101
FIR IDE: Exception on "Show Type Info" actionKTIJ-22295
MPP, IDE: False positive UPPER_BOUND_VIOLATED when JVM module implements the generic interface from MPP module and the type parameter is not equal to itself.KT-51656
FIR IDE: ProgressCancelled exception is masked in the compiler during resolveKT-51315
FIR IDE: move out base modules from fe10 plugin to reuse in k2 pluginKTIJ-22323
K2: ISE during resolve of stdlib calls from the stdlibKTIJ-21391
Generate -> Override methods : don't delegate to abstract methodsKT-53097
Extract common part of light classes to another moduleKTIJ-22354
FIR LC: annotation owner is always nullKTIJ-22157
Kotlin call resolver leaks user code when reporting exceptionIDE. Completion
KTIJ-22552
Kotlin: 'for loop' postfix completion doesn't work - "Fe10SuggestVariableNameMacro must be not requested from main classloader"KTIJ-22503
Support code completion for data objectsIDE. Debugger
KT-51755
Compilation exception with scripting compilation during debug sessionKTIJ-21963
Debugger / IR: Expression evaluation of the debugger doesn't workIDE. Decompiler, Indexing, Stubs
KTIJ-22750
Initialize Kotlin stub element types lazilyKTIJ-18094
IDE: "AssertionError: Stub count doesn't match stubbed node length" with minified Android AAR libraryKTIJ-17632
IndexOutOfBoundsException: Cannot decompile a class located in minified AARIDE. Gradle Integration
KT-48135
In the IDE import, reuse dependency granular source set KLIBs across multi-project build to avoid duplicate external librariesKTIJ-22345
False positive unresolved reference for members of subclasses of expect classes.KT-53514
HMPP: False positive forNone of the following functions can be called with the arguments supplied.
with Enum in common moduleKT-51583
Gradle 7.4+ | SamplesVariantRule interference: Could not resolve all files for configuration ':kotlinKlibCommonizerClasspath'KTIJ-21077
Dependency matrix does not work with Jetpack compose / multiplatform projectsIDE. Inspections and Intentions
KTIJ-19531
Adapt changes about new rules for method implementation requirementsKTIJ-22087
Support IDE inspections for upcoming data objectsKTIJ-20510
Quick fix to implement and call correct super method in case of inheritance with defaultsKTIJ-20170
Provide quickfix for deprecated resolution to private constructor of sealed classKTIJ-22630
FIR IDE: Lazy resolve exception after invocation ofOverride members
action on value classKT-49643
Intentions: "Implement members" fails when base type function declaration uses unresolved generic typesIDE. JS
KTIJ-22167
Make JS IR default in projects created by wizardKTIJ-22332
Wizard: Kotlin/JS projects: cssSupport DSL should be updatedIDE. KDoc
KTIJ-22324
K2 IDE: implement reference resolve inside KDocsIDE. Multiplatform
KTIJ-19566
New Project Wizard: Update HMPP-related flags in multiplatform wizardsIDE. Navigation
KT-51314
FIR IDE: show Kotlin declarations in search symbolKTIJ-22755
Find usage for constructor from kotlin library doesn't work for secondary constructor usagesIDE. Script
KTIJ-22598
Add warning for standalone scripts in source rootsKT-54325
.settings.gradle.kts and .init.gradle.kts are reported as standalone scriptsIDE. Structural Search
KTIJ-21986
KSSR: "CodeFragment with non-kotlin context should have fakeContextForJavaFile set: originalContext = null" warning shows up when replacingIDE. Tests Support
KT-50269
FIR IDE: Allow running tests via gutterIDE. Wizards
KTIJ-23537
Wizard: projects with Android modules require higher sdkCompileVersionKTIJ-23525
Wizard: Compose multiplatform: project won't build and require higher compileSdkVersionKTIJ-22763
New Project Wizard: remove deprecated Android extensions plugin from Android target in the project constructorKTIJ-22481
Wizard: Kotlin -> Browser application (gradle groove). Build errorJavaScript
Fixes
KT-55097
KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exceptionKT-54406
Kotlin/JS: build with dependencies fails with "Could not find "kotlin" in [~/.local/share/kotlin/daemon]"KT-53074
Make JS IR BE default in toolchain (gradle & CLI)KT-50589
UTF-8 Instability in kotlin.js.mapKT-54934
KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signaturesKT-54895
KJS / IR + IC: broken cross module references for function default param wrappersKT-54520
KJS / IR Allow IdSignature clashesKT-54120
JS IR + IC: pointless invalidation of dependent code after modifying companionsKT-53986
KJS / IR + IC: compiler produces different JS file names with IC and without ICKT-54010
JS IR + IC: Force IC cache invalidation after updating language version or featuresKT-53931
KJS / Gradle: Regression with 1.7.20-RC: ReferenceError: println is not definedKT-53968
Kotlin/JS: no UninitializedPropertyAccessException on access to non-initialized lateinit property defined in dependenciesKT-54686
KJS / IR: Incorrect generation of signatures when one of argument is nested classKT-54479
KJS / IR + IC: Adding or removing companion fields leads java.lang.IllegalStateException in the compiler IC infrastructureKT-54382
KJS / IR: Wrong type check for inheritors of suspend functionsKT-54323
KJS / IR + IC: Intrinsics from stdlib may lose their dependencies in incremental rebuildKT-53361
KJS / IR: No debug info is generated for in-line js codeKT-53321
Implement Enum.entries lowering on JS/IRKT-53112
KJS IR turn on IC infra by defaultKT-50503
Kotlin/JS: IR + IC: compileTestDevelopmentExecutableKotlinJs fails with ISE: "Could not find library" after removing module dependencyKT-54011
JS IR + IC: EnumEntries don't work well when IC is enabledKT-53672
KJS / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by function reference to extension function of reified type variableKT-43455
KJS: IR. Incremental compilation problem with unbound symbolsKT-53539
KJS: Exported class inherited non-exported class shows warningKT-53443
KJS/IR: NullPointerException caused by anonymous objects inside lambdasKT-52795
K/JS and K/Native IR-validation/compilation errors for a valid kotlin codeKT-52805
KJS/IR: Invalid call of inline function inalso
blockKT-51151
KJS / IR: Wrong overloaded generic method with receiver is calledKT-52830
KJS/IR: Sourcemap disabling doesn't workKT-52968
KJS / IR: Buggy generation of overridden methodsKT-53063
KJS / IR + IC: undefined cross module reference for implemented interface functionsKT-51099
KJS / IR + IC: Cache invalidation doesn't check generic class variance annotations (in, out)KT-51090
KJS / IR + IC: Cache invalidation doesn't check suspend qualifierKT-51088
KJS / IR + IC: Cache invalidation doesn't check class qualifiers (data, inline)KT-51083
KJS / IR + IC: Cache invalidation doesn't check inline function which was non inline initiallyKT-51896
KJS / IR + IC: Cache invalidation doesn't trigger rebuild for fake overridden inline functionsLanguage Design
KT-48385
Deprecate confusing grammar in when-with-subjectKT-48516
Forbid@Synchronized
annotation on suspend functionsKT-41886
Ability to require opt-in for interface implementation, but not for usageKT-34943
OVERLOAD_RESOLUTION_AMBIGUITY inconsistent with the equivalent Java codeKT-51334
Implement type-bound labelthis@Type
Libraries
New Features
KT-21007
Provide Kotlin OSGI Bundle with extensions for JRE8 (and JRE7)KT-54082
Comparable and subtractible TimeMarksKT-52928
Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.PathKT-49425
Update OptIn documentation to reflect latest design changesKT-54005
Allow callingdeclaringJavaClass
on EnumKT-52933
rangeUntil members in built-in typesPerformance Improvements
KT-53508
Cache typeOf-related KType instances when kotlin-reflect is usedFixes
KT-51907
Switch JVM target of the standard libraries to 1.8KT-54835
Document that Iterable.all(emptyCollection) returns TRUE.KT-54168
Expand on natural order in comparator docsKT-53277
Stabilize experimental API for 1.8KT-53864
Review deprecations in stdlib for 1.8KT-47707
Remove the system property and the brittlecontains
optimization code itselfKT-52336
Different behavior on JVM and Native in stringBuilder.append(charArray, 0, 1)KT-53927
Remove deprecation from ConcurrentModificationException constructorsKT-53152
Introduce EnumEntries to stdlib as backing implementation of Enum.entriesKT-53134
stdlib > object Charsets > not thread safe lazy initializationKT-51063
Gradle project with JPS runner: "JUnitException: Failed to parse version" JUnit runner internal error with JUnitKT-52908
Native: setUnhandledExceptionHook swallows exceptionsNative
KT-51043
Kotlin Native: ObjC-Interop: kotlin.ClassCastException: null cannot be cast to kotlin.Function2KT-50786
Native: prohibit suspend calls inside autoreleasepool {}KT-52834
Implement test infrastructure for K2/NativeNative. C Export
KT-36878
Reverse C Interop: incorrect headers generation for primitive unassigned type arraysKT-53599
[Reverse C Interop] Provide box/unbox API for unsigned primitive typesKT-41904
Kotlin/Native : error: duplicate member for interface and function with the same nameKT-42830
[Reverse C Interop] Add API to get value of boxed primitivesKT-39496
K/N C: optional unsigned types as function parameters crash the compilerKT-39015
Cannot compile native library with nullable inline classNative. C and ObjC Import
KT-54738
Cocoapods cinterop: linking platform.CoreGraphics packageKT-54001
Kotlin/Native: support header exclusion in cinterop def filesKT-53151
Native: Custom declarations in .def don't work with modules, only headersNative. ObjC Export
KT-53680
Obj-C refinement annotationsKT-54119
Native: runtime assertion failed due to missing thread state switchKT-42641
Don't export generated component* methods from Kotlin data classes to Obj-C headerNative. Platform Libraries
KT-54225
Native: update to Xcode 14.1KT-54164
Native: commonizer fails on CoreFoundation typesKT-39747
Why is there no WinHttp API in Kotlin/Native's Windows API?Native. Runtime
KT-49228
Kotlin/Native: Allow to unset unhandled exception hookKT-27305
Fix FILE macro insideRuntimeCheck
andRuntimeAssert
Native. Runtime. Memory
KT-54498
Deprecation message of 'FreezingIsDeprecated' is not really helpfulKT-53182
New memory manager: Unexpected memory usage on IOSNative. Stdlib
KT-52429
Small Usability Improvements for Worker APIReflection
KT-54629
Incorrectly cached class classifierKT-54611
KTypeImpl
does not take into account class loader from theclassifier
propertyKT-48136
MakeReflection.getOrCreateKotlinPackage
use cache whenkotlin-reflect
is usedKT-50705
Use ClassValue to cache KClass objects in kotlin-reflectKT-53454
Properly cache the same class's KClass when it's loaded by multiple classloaders in getOrCreateKotlinClassSpecification
KT-54210
Update Kotlin specification to mention that since 1.8 generics in value classes are allowedTools. CLI
KT-54116
Add JVM target bytecode version 19KT-53278
Support values 6 and 8 for -Xjdk-releaseKT-46312
CLI: Kotlin runner should use platform class loader to load JDK modules on Java 9+Tools. Commonizer
KT-54310
Commonizer fails on 1.8.0-dev K/N distributionsKT-48576
[Commonizer] platform.posix.pselect not commonized in KtorTools. Compiler Plugins
KT-46959
Kotlin Lombok: Support generated builders (@Builder
)KT-53683
Unresolved reference compilation error occurs if a file is annotated with@
Singular and has any guava collection type : ImmutableTable, ImmutableList or elseKT-53657
[K2] Unresolved reference compilation error occurs if a field is annotated with@
Singular and has type NavigableMap without explicit types specificationKT-53647
[K2] Unresolved reference compilation error occurs if a field is annotated with@
Singular and has type Iterable<>KT-53724
Param of the@
Singular lombok annotation ignoreNullCollections=true is ignored by kotlin compilerKT-53451
[K2] References to methods generated by@
With lombok annotation can't be resolved with enabled K2 compilerKT-53721
[K2] There is no compilation error while trying to add null as a param of the field with non-null typeKT-53370
Kotlin Lombok compiler plugin can't resolve methods generated for java boolean fields annotated with@
With annotationTools. Compiler plugins. Serialization
KT-54878
JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer<Box<*>>()KT-55340
Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete typeKT-55296
Improve exceptions in serialization pluginKT-55180
KJS: regression in serialization for Kotlin 1.8.0-betaKT-53157
Recursion detected in a lazy value under LockBasedStorageManager in kotlinx.serializationKT-54297
Regression in serializable classes with star projectionsKT-49660
kotlinx.serialization: IndexOutOfBoundsException for parameterized sealed classKT-43910
JS IR: Serialization with base class: "IndexOutOfBoundsException: Index 0 out of bounds for length 0"Tools. Daemon
KT-52622
Kotlin/JS, Kotlin/Common compilations start Kotlin daemon incompatible with Kotlin/JVM compilation on JDK 8Tools. Gradle
New Features
KT-27301
Expose compiler flags via Gradle lazy propertiesKT-53357
Change single build metrics propertyKT-50673
Gradle: KotlinCompile task(s) should use@NormalizeLineEndings
KT-34464
Kotlin build report path not clickable in the IDEPerformance Improvements
KT-51525
[Gradle] Optimize evaluating args for compile tasksKT-52520
Remove usage of reflection from CompilerArgumentsGradleInputFixes
KT-48843
Add ability to disable Kotlin daemon fallback strategyKT-55334
kaptGenerateStubs passes wrong android variant module names to compilerKT-55255
Gradle: stdlib version alignment fails build on dynamic stdlib version.KT-55363
[K1.8.0-Beta] Command line parsing treats plugin parameters as source filesKT-54993
Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+KT-54136
Duplicated classes cause build failure if a dependency to kotlin-stdlib specified in an android projectKT-50115
Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerlyKT-55222
Migrate AndroidDependencyResolver to the new Gradle APIKT-55119
There is no validation for different jvmTarget and targetCompatibility values in multiplatform projects with jvm target and used java sourcesKT-55102
Compile java task fails with different target version in pure kotlin projectKT-54995
[1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters withNo value passed for parameter 'mustExist'
KT-35003
Automatically set targetCompatibility for kotlin-jvm projects to work with gradle 6 metadataKT-45335
kotlinOptions.jvmTarget conflicts with Gradle variantsKT-48798
Android: going from one to more than one productFlavor causes inputs of commonSourceSet$kotlin_gradle_plugin property of compileKotlin task to changeKT-55019
Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilationKT-55004
jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {}KT-54888
Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phaseKT-54399
Undeprecate 'kotlinOptions' DSLKT-54306
Change the naming of newly added Compiler*Options classes and interfacesKT-54580
KotlinOptions in AbstractKotlinCompilation class are deprecatedKT-54653
java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt exception if a dependency to the kotlin-stdlib is addedKT-52624
Compatibility with Gradle 7.3 releaseKT-54703
Stdlib substitution does not work with JPMS modulesKT-54602
Prevent leaking Gradle Compile DSL types into compiler cli runtimeKT-54439
Project failed to sync Native LaguageSettings to compiler options in afterEvaluateKT-53885
Bump minimal supported Gradle version to 6.8.3KT-53773
Protect and system properties can contain sensitive dataKT-53732
Add custom values limits for build scan reportsKT-52623
Compatibility with Gradle 7.2. releaseKT-51831
Gradle: removekotlin.compiler.execution.strategy
system propertyKT-51679
Change deprecation level to error for KotlinCompile setClasspath/getClasspath methodsKT-54335
Kotlin build report configuration. There is no validation for SINGLE_FILE output if the required kotlin.build.report.single_file property is empty or absentKT-54356
Kotlin build report configuration. Wrong path is used for the property kotlin.internal.single.build.metrics.fileKT-53617
KotlinCompilerExecutionStrategy value is ignored by depending modules if configure once for all project modules using allProjects {}KT-53823
Kotlin Gradle Plugin uses deprecated Gradle API: Provider.forUseAtConfigurationTime()KT-54142
Increase Kotlin Gradle plugin Gradle target API to 7.5KT-50161
Android variant filter breaks KotlinCompile cache compatibilityKT-54113
LanguageSettings to KotlinNativeLink.toolOptions sync are executed on the wrong contextKT-53830
Versions of kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 aren't overrided if added as transitive dependencies to kotlin-stdlibKT-54112
Missing target input on KotlinNativeLink taskKT-45879
Documentation: Wrong kotlin languageVersion "1.6 (EXPERIMENTAL)"KT-54103
Remove JvmTarget.JVM_1_6 from generated Gradle compiler typeKT-52959
KMP code is breaking Gradle project isolationKT-50598
MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_PROJECTS_WARNING is only shown on first buildKT-53246
Gradle: Special characters in paths of errors and warnings should be escapedKT-47730
How to avoid stdlib coming from Kotlin gradle pluginKT-52209
Corrupted cache and non-incremental build if produce caches "in process" and restore then compiling with kotlin daemonKT-41642
"TaskDependencyResolveException: Could not determine the dependencies" when trying to apply stdlibKT-53390
Drop usage of -Xjava-source-roots when passing java sources required for Kotlin compilationKT-52984
Kotlin Gradle plugin is misbehaving by resolving DomainObjectCollection earlyKT-38622
Non-incremental compilation because of R.jar with Android Gradle plugin 3.6KT-38576
AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpathTools. Gradle. Cocoapods
KT-54314
Cocoapods: Signing pod dependency for Xcode 14KT-54060
Xcode 14: disable bitcode embedding for Apple frameworksKT-53340
Change default linking type for frameworks registered by cocoapods pluginKT-53392
Deprecate and delete downloading pod dependencies by direct linkKT-53695
Build of macOS application fails if a framework is integrated via Cocoapods pluginTools. Gradle. JS
KT-53367
KJS: Migrate cssSupport APIKT-45789
KJS / IR: Transitive NPM dependencies are not included in PublicPackageJsonTask outputKT-55099
K/JS: Second declaration of JS target without compiler type report warning incorrectlyKT-52951
[KGP/JS] Browser test target registration via propertiesKT-52950
KJS: Report if yarn.lock was updated during builtKT-53374
KJS / Gradle: Implement IDEA sync detection logic via ValueSource to improve configuration cache supportKT-53381
Kotlin/JS: with erased kotlin-js-store/ and reportNewYarnLock = true the task kotlinUpgradeYarnLock always failsKT-53788
KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabledKT-53614
Kotlin/JS upgrade npm dependenciesTools. Gradle. Multiplatform
New Features
KT-53396
Support 'implementation platform()' by gradle kotlin mpp plugin for JVM targetKT-40489
MPP / Gradle: support BOM (enforcedPlatform) artifacts in source set dependencies DSLPerformance Improvements
KT-52726
[MPP] Optimize caching/performance/call-sites of 'compilationsBySourceSets'Fixes
KT-54634
MPP: Test Failure causes:KotlinJvmTest$Executor$execute$1 does not define failure
KT-35916
Gradle MPP plugin: Configurations for a main compilation and its default source set have different namingKT-46960
Repeated kotlin/native external libraries in projectKT-27292
MPP: jvm { withJava() }: Gradle build: Java source under Kotlin root is resolved while building, but does not produce output class filesKT-34650
Naming clash in MPP+Android: androidTest vs androidAndroidTestKT-54387
Remove MPP alpha stability warningKT-31468
Targets disambiguation doesn't work if a depending multiplatform module useswithJava()
modeKT-54090
Take an Apple test device from the device listKT-54301
KotlinToolingVersionOrNull: IllegalArgumentExceptionKT-53256
Implement K/N compiler downloading for KPMKT-45412
KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source setKT-49202
Tests on android target can't be executed in multiplatform project if dependency to kotlin-test framework is provided as a single dependency and tests configured to be executed via Junit5Tools. Gradle. Native
New Features
KT-43293
Support Gradle configuration caching with Kotlin/NativeKT-53107
Add arm64 support for watchOS targets (Xcode 14)Fixes
KT-53704
Native cinterop: eager header path calculationKT-54814
Kotlin/Native: Github Actions: Testing watchOSX64 with Xcode 14 — Invalid device: Apple Watch Series 5KT-54627
Native: :commonizeNativeDistribution with configuration cache enabled fails even when set to warn on JDK 17KT-54339
Link tasks fail if Gradle Configuration Cache is enabledKT-53191
Native cinterop sync problem with gradleKT-54583
watchosDeviceArm64 target shouldn't register test tasksKT-52303
Gradle / Native: Build tasks ignore project.buildDirKT-54442
Gradle iOS test tasks fail if a device is not selected explicitlyKT-54177
Gradle: DeprecateenableEndorsedLibs
flagKT-47355
Support macos target for FatFramework taskKT-53339
MPP / CocoaPods: The static framework fails to install on a real iOS deviceKT-31573
Missing description for Native Gradle tasksKT-53131
Gradle Sync: "NoSuchElementException: Array contains no element matching the predicate" with CocoaPodsKT-53686
Task assembleReleaseXCFramework fails with "error: the path does not point to a valid framework" if project name contains a dashTools. Incremental Compile
KT-54144
New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline function with custom JvmNameKT-53871
New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessorKT-19804
Relocatable IC cachesTools. JPS
KT-45474
False positive NO_ELSE_IN_WHEN on sealed class with incremental compilationKT-54228
Switching abstract to sealed classes causes incremental issueKT-38483
JPS: Stopping compilation causes IDE CompilationCanceledExceptionKT-50310
False positive NO_ELSE_IN_WHEN on incremental build when adding sealed classesKT-48813
Move cache version to compilerKTIJ-921
JPS: FileNotFoundException on project build in mixed Kotlin/Scala projectTools. Kapt
KT-54187
JVM IR + kapt: incorrect modifierfinal
is generated for nested enum in interfaceKT-48827
Remove 'kapt.use.worker.api' propertyTools. Scripts
KT-54355
Scripts: Internal compiler error (languageVersion=1.9)KT-53009
Scripting: NDFDE “Descriptor wasn't found for declaration SCRIPT” on using script definition with kotlin from masterv1.7.22
: Kotlin 1.7.22This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21.
Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.
Checksums
v1.7.21
Compiler
KT-54463
Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegateKT-54509
Ir Interpreter: unable to evaluate string concatenation with "this" as argumentKT-54004
Builder type inference does not work correctly with variable assignment and breaks run-timeKT-54393
Change in behavior from 1.7.10 to 1.7.20 for java field override.KT-54615
JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expressionKT-54581
JVM: "VerifyError: Bad type on operand stack" with generic inline function andwhen
inside try-catch blockKT-53146
JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtimeKT-54600
NPE on passing nullable Kotlin lambda as Java's generic SAM interface withsuper
type boundKT-54707
"VerifyError: Bad type on operand stack" in inline call chain on a nullable array valueKT-54650
Binary incompatible ABI change in Kotlin 1.7.20KT-54802
"VerifyError: Bad type on operand stack" for inline functions on arraysNative. Runtime. Memory
KT-54498
Deprecation message of 'FreezingIsDeprecated' is not really helpfulTools. Gradle. Multiplatform
KT-54387
Remove MPP alpha stability warningKT-48436
False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"Tools. JPS
KT-45474
False positive NO_ELSE_IN_WHEN on sealed class with incremental compilationv1.7.20
Analysis API
KT-52667
FIR IDE: fun interfaces (SAM interfaces) are not properly resolvedKT-52136
FIR: Implicit type declaration from the other module cannot be used for overloadingAnalysis API. FE1.0
KT-51962
Analysis API: Finish Analysis API for FE1.0Analysis API. FIR
KT-52779
FIR IDE: Import Optimizer cannot handle generic type qualifiersKT-50236
Fix OOB modification trackers for non-Kotlin codeKT-51240
Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.KT-50868
Analysis API: decompiled type aliases are not resolvedCompiler
KT-53739
Builder inference, extension hides membersKT-53733
Kotlin/Native: update source documentation for the new default memory managerKT-53667
Compiler crashes on attempt to alloc a string on the stack in new MMKT-53480
Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$stringKT-52843
Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by LongKT-53475
Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"New Features
KT-52495
Support until operator in back-endsKT-52420
Implement resolve of until operatorKT-52419
Implement until operator in the parserKT-33755
Kotlin/Native: Provide a way to customize a bundle Identifier of a generated frameworkKT-51665
FIR: implement label resolve for "typed this" caseKT-52361
Report warning on potentially empty intersection typesPerformance Improvements
KT-47816
Disable script discovery for non-script environmentsKT-48635
JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classesKT-23397
Optimize out field for property delegate when it's safe (JVM)Fixes
KT-53272
Backend Internal error: Exception during IR lowering / No such value argument slot: 2KT-53124
Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variablesKT-51868
JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interfaceKT-36770
Prohibit unsafe calls with expected@NotNull
T and given Kotlin generic parameter with nullable boundKT-52974
"IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP projectKT-53007
JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner classKT-53019
K2: cannot cast callable reference to Function1 in runtimeKT-53031
K2 compiler crashes with IllegalStateException: No type in ProtoBuf.ValueParameterKT-29168
Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypesKT-52432
Using the IDE compiled with K2 (useFir) throws VerifyError exceptionKT-52327
False negative: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM isn't reportedKT-49682
Support JVM IR in KAPT stub generationKT-24643
Prohibit using a type parameter declared for an extension property inside delegateKT-51972
FIR, Gradle: "Symbol is invisible" compilation error with enabled Kotlin Lombok compiler pluginKT-52011
[FIR] All-open compiler plugin isn't supportedKT-51950
JVM IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" with crossinline lambdas and interface delegationKT-52540
Native: kotlin.NotImplementedError with Arrow libraryKT-48031
"IllegalStateException: Type variable TypeVariable(T) should not be fixed!"KT-47708
RequiresOptIn check does not flag experimental method usage in SAM lambda expressionsKT-52913
JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value classKT-50771
IR partial linkage: Removed abstract callable members are not supportedKT-52994
Enable generic inline classes as experimental featureKT-52742
CYCLE_IN_ANNOTATION_PARAMETER_ERROR false positive on annotations with default valuesKT-52743
Non-null generic functions throws NPE when assigned to valKT-52745
Frontend / K2: "IncompatibleClassChangeError: class A$B overrides final method A.length()I" caused by delegation in a sealed classKT-52832
Tree-generator's method FirExpression::isFirType returns true and false for different field names; it should always be trueKT-52403
IncompatibleClassChangeError when inlining suspend funsKT-50107
Missed USAGE_IS_NOT_INLINABLE diagnostic: Leaking inline lambda parameter through extension receiverKT-47965
Missed USAGE_IS_NOT_INLINABLE diagnostic on inline lambda parameter usage as receiver of .let callKT-25787
No error on crossinline usage of receiver parameter of functional type in an inline functionKT-52762
Frontend / K2: Named arguments for Java classes lead to "Cannot find a parameter with this name"KT-52680
K2: overload resolution ambiguity ifthis
is casted in a different methodKT-52676
K2: Unsupported compile-time value IrGetFieldImpl instead of IrConst in AnnotationCodegen for constant from JavaKT-50293
False positive: USELESS_CAST on stub typesKT-52175
WRONG_ANNOTATION_TARGET for annotation that used inside ifKT-52338
"IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class fieldKT-49507
JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class fieldKT-44512
FIR DFA: incorrect smartcast after null assignment inside a lambdaKT-49200
FIR/FE 1.0: different behavior with multiple matching star importsKT-52718
declaringClass deprecation message mentions the wrong replacement in 1.7KT-52190
FIR2IR: Unexpected IrErrorTypeImpl type for put method inside buildMapKT-52197
Incorrect inference of var type inside lambda that passed to extension function with type parameters that defined inside this lambdaKT-52057
Unsupported compile-time value STRING_CONCATENATION and GET_FIELD in annotation argumentsKT-47823
JVM IR: "IllegalArgumentException: Inline class types should have the same representation" withbreak
usage in the loop rangeKT-51883
Kotlin 1.6.20 generates "-" in type names around lambdas and inline extension function with reified type which breaks Apache BeamKT-52684
Syntax error regression on complicated combination of LT and GTEQKT-52417
Reflection: Can't reflect on type parameters captured by SAM converted lambdaKT-46797
JVM IR: suspendImpl has no generic signature, breaking reified types in anonymous object supertypes when using the type token patternKT-51464
FIR: Unable to infer type in coroutines flow codeKT-52163
JVM IR: Double.compareTo(Int) compiled to integer comparisonKT-41980
FIR: erroneous scope during annotation resolveKT-47159
KtPsiUtils.areParenthesesUseless()
is returning a false positive on expressions for interface delegationKT-51418
Substitute anonymous type's supertypesKT-35544
kotlin.TypeCastException has no message on NativeKT-52386
StackOverflowError during Kotlin/Native gradle buildKT-52592
NPE from KProperty.getExtensionDelegate on property delegated to another propertyKT-52551
Delegating to object property reference does not invoke object's initializerKT-51704
Contracts: "AssertionError: Arguments and parameters size mismatch" with companion objectKT-25527
False positive UNUSED_VALUE for delegated property/variableKT-51002
[FIR] Hidden declaration hides visible oneKT-51008
[FIR] Star import does not work for nested calssifiers of java classKT-52407
FIR: Star import has lower priority than built-in importKT-52431
Reported error instead of warning due to empty intersection type foundKT-49394
Bad message and suggestion: The feature "unit conversion" is disabledKT-51168
FIR: Inference error with Java interop and captured typesKT-49961
"AssertionError: Left expression was not processed: BINARY_EXPRESSION" when analyzing dangling [bracketed] expression inside elvisKT-50108
Difference in fun interface conversion behavior for uninitialized not-null function valuesKT-51889
Calls to super-classes constructors with context receivers fail on runtimeKT-51228
[FIR] Unresolved reference on callable reference on implicitthis
with smartcastKT-52364
False positive for INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTIONKT-52237
JVM / IR: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER CONTINUATION_CLASS" when implementing Map interface on class with suspending functionsKT-50832
Method references to suspend inline functions are processed incorrectlyKT-52194
False positive "Class 'my.packge.MyClass' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" but builds fineKT-47203
JVM Debugger: Parameter value doesn't change for tailrec functionKT-52131
False positive variable unused warning when calling inline function in finally blockKT-51738
Debugger: stepping over in inline function with multiple inline lambda invocations is incorrectKT-52198
Losing reference to the value of an outer variable (Ref$ObjectRef) when using suspend inline with suspendCancellableCoroutineKT-50994
FIR: AssertionError during inference of delegated properties with implicit typesKT-51757
FIR does not see various JS/Native specific declarations in common modulesKT-51201
FIR: ARGUMENT_TYPE_MISMATCH diagnostic contains generic parameter instead of the actual typeKT-48444
FIR: type argument rejected for annotationKT-51754
JVM: Local variable table invalid for do-while with continueKT-51936
Breakpoint not hit on last line of suspend function on AndroidKT-27333
Forbid@Synchronized
annotation on suspend functionsKT-51530
"StackOverflowError: CoroutineTransformerMethodVisitor.spillVariables" with data class in FlowKT-51460
FIR: Protected property inaccessible from inner classKT-53947
IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVERKT-51234
Context receivers can be duplicated in function declarationKT-51576
Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@'" withat
characterKT-49479
JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion callsKT-52270
NullPointerException caused by braces on if-else returning a method reference inside lambdaKT-47621
False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setterKT-37796
NI: "ISE: Error type encountered" when inferring type of a property that delegates to itselfKT-45430
PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial contextKT-52691
K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfacesKT-52822
Fix contract for KtElement.getReference()KT-50223
IndexOutOfBoundsException fromClassicTypeSystemContext$DefaultImpls.getParameter
during call resolutionKT-51963
Change Maven version to 1.7.255KT-47664
Incorrect type checking in the case of generic typesKT-48765
NI: Inferred type does not respect the bound of type variableKT-51243
False positive error "No required context receiver" inside contextual lambdaKT-43541
TYPE_MISMATCH for member function which is not occur for top level function during unsafe castKT-51016
[FIR] False positive OVERLOAD_RESOLUTION_AMBIGUITY between two extensions on different supertypesKT-50155
FIR: support contextual receiversKT-38637
Catch NoSuchFieldException in optimized when expression over enumDocs & Examples
KT-49896
Kotlin/JS: improve-Xir-property-lazy-initialization
description due to making it true by defaultIDE
KTIJ-22286
Kotlin JPS project created via wizard does not contain Kotlin libraries in case of not-released versionKTIJ-22065
IDE notification motivating Kotlin users to use EAPKTIJ-22209
Configure Kotlin on 221 idea adds 1.6.10 Kotlin (despite the fact that IDE plugin is 1.7.10)KTIJ-22171
Fix test BuiltInDecompilerConsistencyTestKTIJ-22016
Empty .kt file and build.gradle.kts can trigger an error while searching for a facade light classKT-52571
MPP Tasks on import are not up-to-date after subsequent launchesKT-47777
ISE thrown from KtLightClassForFacadeImpl.Companion.createForFacadeNoCache has wrong message.IDE. FIR
KT-52360
FIR IDE: Make the fix ofisInheritor
method betterKT-51786
FIR IDE: IllegalStateException exception in Inspections' infrastructureKT-52331
Analysis API: ArrayIndexOutOfBoundsException exception in Diagnostics' infrastructureIDE. Code Style, Formatting
KTIJ-21346
Incorrect formatting for functions with context receivers and visibility modifiersIDE. Completion
KTIJ-21910
FIR IDE: Fix completion tests started failing after visibility checker refinementIDE. Decompiler, Indexing, Stubs
KTIJ-21243
ContextReceivers: "UpToDateStubIndexMismatch: PSI and index do not match" plugin exception on library with context receivers usage attemptIDE. Gradle Integration
KT-47627
IDE import fails with com.intellij.util.lang.PathClassLoader error forrunCommonizer
Gradle task on 212, 213 IDEAsKTIJ-21638
MPP: IntelliJ can not resolve MPP references in common-codeKT-52216
HMPP / KTOR: False positive "TYPE_MISMATCH" with Throwable descendantIDE. Inspections and Intentions
KTIJ-22540
Invalid "remove unnecessary parentheses" when delegating a functional interface to a SAM in bracketsIDE. J2K
KTIJ-21665
J2K generates non compiling code when liftingreturn
and one branch is broken before binary operatorIDE. JS
KTIJ-22337
Wizard: Kotlin/Js for browser: cssSupport DSL should be updatedIDE. K2
KTIJ-21672
FIR IDE: Method reference on generic class breaks resolveKTIJ-21714
FIR IDE: Inherently imported type from another module is not properly resolvedIDE. Script
KT-52525
Update scripts handling in source rootsIDE. Misc
KTIJ-21699
Refactoring: move out parts of the plugin useful for both FE10 and K2JavaScript
New Features
KT-39423
KJS: Optionally generate a method to handle optional parameters for function in typescriptKT-42282
KJS IR: add an ability to run separate testsPerformance Improvements
KT-50270
KJS IR: Unnecessary getter and setter calls when accessing class membersFixes
KT-51133
Kotlin/JS - IR: even simple lambdas generate a lot of useless boilerplateKT-51123
Provide a way to add comments to generated JSKT-48493
KJS / IR: Invalid d.ts for inner classes inside objectsKT-52553
KJS / IR: diamond hierarchy with super.toString produces stack overflow in runtimeKT-23252
JS: Unit materialization on declaration and assignmentKT-51128
Kotlin/JS - IR generate huge count of useless blocksKT-50778
KJS/IR: Inline class has no field when building production distributionKT-50157
KSJ IR: Applying identity equality operator to Chars always returns falseKT-38262
Javascript generation (and Typescript) fails on 'then', 'catch' and 'finally' (and others?) claiming they are reserved namesKT-51066
KJS / IR: suspend lambda parameter of value class is undefinedKT-51102
KJS/IR: Assertion failed at translateCallArguments(jsAstUtils.kt:343)KT-51878
KJS / Legacy: Unit is not materialized in an overridden method, but it should beLanguage Design
KT-47986
Implicit inferring a type variable into an upper bound in the builder inference contextKT-49264
Deprecate infix function calls of functions named "suspend" with dangling function literalKT-25636
Native: Object is frozen by default problemKT-49303
Implement support for basic compile-time evaluationLibraries
KT-52932
Open-ended ranges in the standard libraryKT-52910
Provide visit extension functions for java.nio.file.PathKT-48232
Multiplatform function for computing cubic rootKT-52778
The documentation for theDuration
does not indicate any differences from the ISO-8601KT-52618
ThreadLocalRandom is not a good source of randomness on Android before SDK 34, so don't use it for Kotlin RandomNative
KT-53346
MPP project with kotlinx-serialization-json:1.4.0-RC is not builtNative. C Export
KT-45468
Kotlin/Native: Bitcode verification error when trying to export a cached klib to a static or dynamic libraryNative. C and ObjC Import
KT-53373
Native: @ExportObjCClass doesn't work with the new memory managerKT-49034
Kotlin/Native:cnames.structs.Foo
resolves into wrong declarationKT-26478
Objective-C object's class name is null in ClassCastException's messageNative. ObjC Export
KT-51593
Include more information in Objective-C header documentationKT-33117
Improve customizing Info.plist in produced frameworksKT-52681
Native:@end;
for Objective-C is generated with an unnecessary semicolonNative. Platforms
KT-52226
Kotlin/Native: Add support for cross-compilation of MIPS targets from macOS and Windows hostsNative. Runtime
KT-52430
KMM 1.6.21 framework built with Xcode13, new MM GC Can't support iOS 9.xKT-53534
Kotlin/Native:-Xruntime-logs=gc=info
flag doesn't work with compiler caches in 1.7.20-betaNative. Runtime. Memory
KT-52692
Kotlin/Native: fix tests with aggressive GCKT-52130
Kotlin/Native: use Xallocator for Kotlin objects onlyKT-51436
Kotlin/Native: optimize mark queueReflection
KT-51804
An error occurs when callBy a KFunction that contains a value class as an argument, has a default argument set, and has more than 32 arguments.Tools. CLI
KT-52465
CLI: IllegalStateException IrSimpleFunctionPublicSymbolImpl when source root is duplicatedKT-52380
Invalid path to compiler plugins should be reported as a compiler errorKT-51025
JVM CLI compiler takes class file from classpath instead of input java source fileKT-51846
Setting random value to the compiler argument where number is expected should produce an error. "-Xbackend-threads=abcd"Tools. Compiler Plugins
KT-52486
[K2] Looking for function/constructor whose parameters are annotated or meta annotatedKT-52872
Mark supportsK2 in ComponentRegistrar.kt as JvmDefault to avoid compatibility problemsKT-52804
A function obtained by Fir IrBuiltins has an incorrect packageKT-52468
Rename module and jar for lombok compiler pluginTools. Gradle
KT-53670
Gradle: Cyclic dependency between kotlin-gradle-plugin-idea-1.7.20-Beta and kotlin-gradle-plugin-idea-proto-1.7.20-BetaKT-53615
Gradle: Fix deprecation warnings in CleanableStoreImplKT-53118
Fully up-to-date builds are slower with Kotlin 1.7.0KT-51923
Improve usability of errors and warnings by being able to click on themKT-53244
Report from gradle about compiler pluginsKT-52839
Warn in Gradle log why incremental compilation failedKT-46019
Compatibility with Gradle 7.1 releaseKT-47047
Migrate Kotlin Gradle Plugin from using Gradle conventionsKT-52698
Don't add InspectClassesForMultiModuleIC task when new incremental compilation is enabledKT-52867
Provide simplified JVM toolchain configuration methodKT-45747
Add basic JUnit 5 Kotlin Gradle Plugin Android tests setupKT-46034
Shadow Kotlin Gradle plugin dependenciesKT-28664
Support ExtensionContainer on kotlin targets and source sets.KT-19472
Useful extensions of Gradle Kotlin DSL provided by Gradle Kotlin pluginKT-34393
Kotlin Gradle DSL: Inconsistent srcDir configuration between Java and KotlinKT-51629
There isn't enough info about incremental compilation state in logs while running build with --info keyTools. Gradle. Cocoapods
KT-53174
CocoaPods: Synthetic Podfile does not specify platformKT-53127
"MaterialComponents normal armv7" in Cocoapods plugin between Kotlin 1.6.21 and 1.7.0KT-44155
Cocoapods doesn't support pods without module map file insideKT-49032
Cocoapods cinterop: some header files are not foundKT-53337
Add warning about future changing default linking type of framework provided via cocoapods pluginTools. Gradle. JS
KT-52637
KJS / Gradle: Add SCSS webpack configKT-51527
Kotlin/JS: BrowserXRun causes full-screen Webpack error "Compiled with problems: asset size limit/entrypoint size limit" for fresh Kotlin-React project from wizardKT-51532
Kotlin/JS: passing environment variable via Gradle script causes "Execution optimizations have been disabled" warningsKT-52221
Kotlin/JS: failed Node tests are not reported in a standard wayTools. Gradle. Multiplatform
KT-52243
CInteropProcess is not cacheable despite the annotationKT-52741
MPP: klib outputs are not reproducibleKT-52208
MPP: Gradle plugin 1.7 doesn't support latest api versions (1.8, 1.9)KT-54071
MPP/AGP compatibility: Bump maxSupportedVersion to 7.3.0Tools. Gradle. Native
KT-52632
Gradle / Native: commonizeNativeDistributionTask can never be up-to-dateKT-52328
"ld: framework not found SQLCipher" linkDebugTestIosSimulatorArm64 errorTools. Incremental Compile
KT-53168
Incremental compilation doesn't perform correctly after a few iterationsKT-52925
[IR BE] Non incremental build occurs after build failure for compileKotlinJs taskKT-52946
CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant moduleKT-52329
Reduce memory usage of classpath snapshot cacheKT-53266
Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant fieldKT-53231
New IC reports build failures for missing classpath snapshotsTools. JPS
KT-47824
'when expression must be exhaustive' isn't thrown during incremental compilationKT-51873
JPS build is incorrect after gdw buildKTIJ-17072
JPS does not rebuild Kotlin usages of declared in Java when enum entry is addedKT-51537
Rebuild module on plugin classpaths changeTools. REPL
KT-45065
REPL: Incorrect output for unsigned valueKT-53043
Scripting: Changes in REPL protocol: mark end of errorsTools. Scripts
KT-52598
Scripts and REPL snippets are not checked against using 'kotlin' packageKT-47187
Kotlin ScriptEngine Failes to Compile a Trivial Statement After Failing to Compile a Broken OneKT-47191
[Kotlin Script Engine] Compiling Without Evaluating Leaves Engine in a Bad StateTools. Kapt
KT-52761
Kotlin 1.7.0 breaks kapt processing for protobuf generated java sourcesv1.7.10
Compiler
KT-52702
Invalid locals information when compilingkotlinx.collections.immutable
with Kotlin 1.7.0-RC2KT-52892
Disappeared specific builder inference resolution ambiguity errorsKT-52782
Appeared receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler featureKT-52718
declaringClass deprecation message mentions the wrong replacement in 1.7IDE
Fixes
KTIJ-19088
KotlinUFunctionCallExpression.resolve() returns null for calls to @JvmSynthetic functionsKTIJ-19624
NoDescriptorForDeclarationException on iosTest.kt.vmKTIJ-21515
Load JVM target 1.6 as 1.8 in Maven projectsKTIJ-21735
Exception when opening a projectKTIJ-17414
UAST: Synthetic enum methods have null return valuesKTIJ-17444
UAST: Synthetic enum methods are missing nullness annotationsKTIJ-19043
UElement#comments is empty for a Kotlin property with a getterKTIJ-10031
IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex. @Serializable)KTIJ-21151
Exception about wrong read access from "Java overriding methods searcher" with Kotlin overridesKTIJ-20736
NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to startKTIJ-21063
IDE highlighting: False positive error "Context receivers should be enabled explicitly"KTIJ-20810
NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project openKTIJ-17869
KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructorsKTIJ-21061
UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class typeKTIJ-20200
UAST: @Deprecated(level=HIDDEN) constructors are not returning UMethod.isConstructor=trueIDE. Code Style, Formatting
KTIJ-20554
Introduce some code style for definitely non-null typesIDE. Completion
KTIJ-14740
Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source setIDE. Debugger
KTIJ-20815
MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodErrorIDE. Decompiler, Indexing, Stubs
KTIJ-21472
"java.lang.IllegalStateException: Could not read file" exception on indexing invalid class fileKTIJ-20802
Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T&AnyIDE. FIR
KTIJ-20971
FIR IDE: "Parameter Info" shows parameters of uncallable methodsKTIJ-21021
FIR IDE: Completion of extension function does not work on nullable receiverKTIJ-21343
FIR IDE: Navigation from explicit invoke call does not workKTIJ-21013
FIR IDE: Inconsistent smartcasts highlightingKTIJ-21374
FIR IDE: Incorrect highlighting for operatorsKTIJ-20443
FIR IDE: Work in Dumb modeKTIJ-20852
FIR IDE: Exception when checkingisInheritor
on two classes in different modulesKTIJ-20637
FIR IDE: Strange exception while commenting-uncommenting FirReferenceResolveHelper.ktIDE. Gradle Integration
KTIJ-21807
Gradle to IDEA import: language and API version settings are not imported for Native facetKTIJ-21692
Kotlin Import Test maintenance: 1.7.0-BetaKTIJ-20567
Kotlin/JS: Gradle import into IDEA creates no proper sub-modules, source sets, facetsIDE. Hints. Inlay
KTIJ-20552
Support definitely non-null types in inlay hintsIDE. Inspections and Intentions
New Features
KTIJ-18979
Quickfix for INTEGER_OPERATOR_RESOLVE_WILL_CHANGE to add explicit conversion callKTIJ-19950
Provide quickfixes forINVALID_IF_AS_EXPRESSION_WARNING
andNO_ELSE_IN_WHEN_WARNING
KTIJ-19866
Create quick-fix for effective visibility error on private-in-file interface exposing private classKTIJ-19939
Provide quickfix for deprecated confusing expressions in when branchesFixes
KTIJ-20705
Register quickfix forNO_CONSTRUCTOR_WARNING
diagnosticKTIJ-21226
"Remove else branch" quick fix is not suggestedKTIJ-20981
Definitely non-null types: quick-fixes suggested incorrectly for LV=1.6 when Xenhance-type-parameter-types-to-def-not-null flag is setKTIJ-20953
Add quickfix for OVERRIDE_DEPRECATION warning to 1.7 - 1.9 migrationKTIJ-20734
Replace with [@JvmInline] value quick fix should be appliable on a whole projectKTIJ-21420
Add 'else' branch quick fix suggestion is displayed twice in case 'if' isn't completedKTIJ-21192
"Make protected" intention is redundant for interface propertiesKTIJ-18120
"Make public" intention does not add explicit "public" modifier when using ExplicitApi Strict modeKTIJ-20493
"Create expect" quick fix doesn't warn about platform-specific annotationsIDE. Misc
KTIJ-21582
Notification for Kotlin EAP surveyIDE. Native
KTIJ-21602
With Native Debugging Support plugin Gradle run configurations can't be executed from IDEA: LLDB_NATVIS_RENDERERS_ENABLEDIDE. Wizards
KTIJ-20919
Update ktor-html-builder dependency in kotlin wizardsKTIJ-20962
Wizard: Invalid Ktor importsTools. Gradle
KT-52777
'org.jetbrains.kotlinx:atomicfu:1.7.0' Gradle 7.0+ plugin variant was published with missing classesTools. Gradle. JS
KT-52856
Kotlin/JS: Upgrade NPM dependenciesTools. Gradle. Multiplatform
KT-52955
SourceSetMetadataStorageForIde: Broken 'cleanupStaleEntries' with enabled configuration caching or isolated ClassLoadersKT-52694
Kotlin 1.7.0 breaks Configuration Caching in Android projectsTools. Incremental Compile
KT-52669
Full rebuild in IC exception recovery leaves corrupt IC dataTools. JPS
KTIJ-17280
JPS: don't use java.io.File.createTempFile as it is not working sometimesKTIJ-20954
NPE at at org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver on compiling by JPS with LV > 1.7v1.7.0
Analysis API. FIR
KT-50864
Analysis API: ISE: "KtCallElement should always resolve to a KtCallInfo" is thrown on call resolution inside plusAssign targetKT-50252
Analysis API: Implement FirModuleResolveStates for librariesKT-50862
Analsysis API: do not create use site subsitution override symbolsAnalysis API. FIR Low Level API
KT-50729
Type bound is not fully resolvedKT-50728
Lazy resolve of extension function from 'kotlin' package breaks over unresolved typeKT-50271
Analysis API: get rid of using FirRefWithValidityCheckBackend. Native. Debug
KT-50558
K/N Debugger. Error is not displayed in variables view for catch blockCompiler
New Features
KT-26245
Add ability to specify generic type parameters as not-nullKT-45165
Remove JVM target version 1.6KT-27435
Allow implementation by delegation to inlined value of inline classKT-47939
Support method references to functional interface constructorsKT-50775
Support IR partial linkage in Kotlin/Native (disabled by default)KT-51737
Kotlin/Native: Remove unnecessary safepoints on watchosArm32 and iosArm32 targetsKT-44249
NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER with type usage in higher order functionPerformance Improvements
KT-48233
Switching to JVM IR backend increases compilation time by more than 15%KT-51699
Kotlin/Native: runtime has no LTO in debug binariesKT-34466
Use optimized switch over enum only when all entries are constant enum entry expressionsKT-50861
FIR: Combination of array set convention and plusAssign works exponentiallyKT-47171
For loop doesn't avoid boxing with value class iterators (JVM)KT-29199
'next' calls for iterators of merged primitive progressive values are not specializedKT-50585
JVM IR: Array constructor loop should use IINCKT-22429
Optimize 'for' loop code generation for reversed arraysKT-50074
Performance regression in String-based 'when' with single equality clauseKT-22334
Compiler backend could generate smaller code for loops using range such as integer..array.size -1KT-35272
Unnecessary null check on unsafe cast after not-null assertion operatorKT-27427
Optimize nullable check introduced with 'as' castFixes
KT-46762
Finalize support for jspecifyKT-51499
@file:OptIn doesn't cover override methodsKT-52037
FIR: add error in 1.7.0 branch if run with non-compatible pluginsKT-46756
Release the K2/JVM compiler in AlphaKT-49715
IR: "IllegalStateException: Function has no body: FUN name:toString" during IR lowering with shadowed extension inside interfaceKT-45508
False negative ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on a fake override with an abstract super class memberKT-28078
Report error "Public property exposes its private type" for primary constructor properties instead of warningKT-49017
Forbid usages of super or super if in fact it accesses an abstract memberKT-38078
Prohibit calling methods from Any with "super" qualifier once they are overridden as abstract in superclassKT-52363
Evaluate impact of qualifiedthis
behavior change warningsKT-52561
JVM: Coroutine state machine loses value after a check-induced smart castKT-52311
java.lang.VerifyError: Bad type on operand stackKT-41124
Inconsistency of exceptions at init block for an enum entry with and without a qualifier nameKT-46860
Make safe calls always nullableKT-52503
New green code appeared at the callable reference resolutionKT-51925
Native: "IllegalStateException: Symbol for kotlinx.cinterop/CStructVar|null[0] is unbound" caused by inline functionKT-49317
"IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameterKT-51844
New errors in overload resolution involving vararg extension methodsKT-52006
"java.lang.Throwable: Unbalanced tree Exception" on indexing kotlin projectKT-51223
Report warning about conflicting inherited members from deserialized dependenciesKT-51439
FE 1.0: implement type variance conflict deprecation on qualifier type argumentsKT-51433
FE 1.0: implement warnings about label resolve changesKT-51317
Regression in resolution of lambdas where expected type has an extension receiver parameterKT-45935
JVM IR: Add not-null assertion for explicit definitely not-null parametersKT-51818
"ClassCastException: class CoroutineSingletons cannot be cast to class" with suspendCoroutineUninterceptedOrReturn and coroutinesKT-51718
JVM / IR: "VerifyError: Bad type on operand stack" caused by nullable variable inside suspend functionKT-51927
Native:The symbol of unexpected type encountered during IR deserialization
error when multiple libraries have non-conflicting declarations with the same nameKT-52394
JVM: Missing annotation on method with value class return type when a subclass is present in the same file in Kotlin 1.7.0-BetaKT-51640
FIR: remove warning about "far from being production ready"KT-45553
FIR: support hiding declaration from star import by as importKT-52404
Prolong deprecation cycle for errors at contravariant usages of star projected argument from JavaKT-50734
TYPE_MISMATCH: NonNull parameter with a type of Nullable type argument causes compiler warningKT-51235
JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" when property with inline class type is overridden to return Nothing?KT-48935
NI: Multiple generic parameter type constraints are not applied as expected when the parameter is of function typeKT-49661
NI: No TYPE_INFERENCE_UPPER_BOUND_VIOLATED when argument is inferred by return typeKT-50877
Inconsistent flexible typeKT-51988
"NPE: getContainingDeclaration…lDeclarationType.REGULAR) must not be null" when using @BuilderInference with multiple type argumentsKT-48890
Revert Opt-In restriction "Overriding methods can only have opt-in annotations that are present on their basic declarations."KT-52035
FIR: add error in 1.7.0 branch if run on JS / Native configurationKT-45461
NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when passing an argument to a function with generic constraintsKT-52146
JVM IR: "AssertionError: Primitive array expected" on vararg of SAM types with self-type and star projectionKT-50730
Implement error for a super class constructor call on a function interface in supertypes listKT-52040
JVM: ClassFormatError Illegal method name "expectFailure$__proxy-0"KT-50845
Postpone rxjava errors reporting in the strict mode till 1.8 due to found broken casesKT-51979
"AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface overrideKT-51759
FIR DFA: false positive "Variable must be initialized"KT-50378
Unresolved reference for method in Jsoup library in a kts script fileKT-34919
"Visibility is unknown yet" when named parameter in a function type used in a typealias implemented by an abstract classKT-51893
Duplicated [OVERRIDE_DEPRECATION] on overridden propertiesKT-41034
K2: Change evaluation semantics for combination of safe calls and convention operatorsKT-51843
Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flagsKT-51914
False positive RETURN_TYPE_MISMATCH in intellij ultimateKT-51711
Compiler warning is displayed in case there is 'if' else branch used with elvisKT-33517
Kotlin ScriptEngine does not respect async code when using bindingsKT-51850
FIR cannot resolve ambiguity with different SinceKotlin/DeprecatedSinceKotlinKT-44705
Deprecate using non-exhaustive if's and when's in rhs of elvisKT-44510
FIR DFA: smartcast after elvis with escaping lambdaKT-44879
FIR DFA: Trackinc
anddec
operator calls in preliminary loop visitorKT-51758
FIR: explicit API mode errors should not be reported for effectively internal / private entitiesKT-51203
FIR: Inconsistent RETURN_TYPE_MISMATCH and TYPE_MISMATCH reporting on functions and propertiesKT-51624
FIR: false-positive INAPPLICABLE_LATEINIT_MODIFIER for lateinit properties with unresolved typesKT-51204
FIR IC: Incremental compilation fails on nested crossinlineKT-51798
Fix ISE from IR backend when data class inherits equals/hashCode/toString with incompatible signatureKT-46187
FIR: OVERLOAD_RESOLUTION_AMBIGUITY on SAM-converted callable reference to List::plusKT-51761
Incorrect NONE_APPLICABLE in expect classKT-51756
FIR: false positive NO_VALUE_FOR_PARAMETER in expect class delegated constructor callKT-49778
Support cast to DefinitelyNotNull type in NativeKT-51441
-Xpartial-linkage option specified in Gradle build script is not passed to Native linkerKT-34515
NI: "AssertionError: Base expression was not processed: POSTFIX_EXPRESSION" with double not-null assertion to bracketsKT-48546
PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with recursive property access in lazy blockKT-28109
"AssertionError: No setter call" for incrementing parenthesized result of indexed access convention operatorKT-46136
Unsubstituted return type inferred for a function returning anonymous object upcast to supertypeKT-51364
FIR: ambiguity due to String constructors clashKT-51621
FIR: visible VS invisible qualifier conflictKT-50468
FIR compilers fails with CCE when meets top-level destructionKT-51557
Inline stack frame is not shown for default inline lambdaKT-51358
OptIn: show default warning/error message in case of empty message argumentKT-44152
FIR2IR fails on declarations from java stdlib if java classes are loaded from PSI instead of binariesKT-50949
PSI2IR: NSEE fromArgumentsGenerationUtilsKt.createFunctionForSuspendConversion
with providing lambda as argument with suspend typeKT-39256
ArrayStoreException with list of anonymous objects with inferred types created in reified extension functionKT-39883
Deprecate computing constant values of complex boolean expressions in when condition branches and conditions of loopsKT-36952
Exception during codegen: cannot pop operand off an empty stack (reference equality, implicit boxing, type check)KT-51233
AssertionError in JavaLikeCounterLoopBuilder with ComposeKT-51254
Verify Error on passing null to type parameter extending inline classKT-50996
[FIR] Support Int -> Long conversion for property initializersKT-51000
[FIR] Support Int -> Long? conversionKT-51003
[FIR] Consider Int -> Long conversion if expected type is type variableKT-51018
[FIR] Wrong type inference if one of constraints is integer literalKT-51446
Metadata serialization crashes with IOOBE when deserializing underlying inline class value with type table enabledKT-50973
Redundant line number mapping for finally block with JVM IRKT-51272
Incompatible types: KClass and callable reference Collection::classKT-51274
"Expected some types" exception on when branch for when expression of erroneous typeKT-51229
FIR: private constructor of internal data class treated as internal and not privateKT-50750
[FIR] Report UNSUPPORTED on array literals not from annotation classesKT-51200
False EXPOSED_PARAMETER_TYPE for internal type parameter of internal typeKT-49804
False positive of UPPER_BOUND_VIOLATED and RETURN_TYPE_MISMATCHKT-51121
Inconsistent SAM behavior in multiple cases causing AbstractMethodError (Kotlin 1.6.10)KT-50136
FIR: syntax error on (T & Any)KT-49465
FIR2IR: support definitely not-null typesKT-51357
FIR: error in inference while using integer literal in expected Long positionKT-49925
[FIR] Incorrect builder inference (different cases)KT-50542
"IllegalStateException: Type parameter descriptor is not initialized: T declared in sort" with definitely non-null type Any & T in generic constraintKT-51171
FIR: classError
resolution problemKT-51156
Multiplatform linkDebugFramework task throws NoSuchElementException when expect class constructors utilize nested enum constantKT-51017
[FIR] Ambiguity on callable reference between two functions on generic receiver with different boundsKT-51007
[FIR] False positive ILLEGAL_SUSPEND_FUNCTION_CALL if fun interface with suspend function declared in another moduleKT-50998
[FIR] Int.inv() cal does not considered as compile time callKT-51009
[FIR] Incorrect inference of lambda in position of returnKT-50997
[FIR] Incorrect type of typealias for suspend functional typeKT-49714
Compiler reports "'operator modifier is inapplicable" if expect class with increment operator is provided via type aliasKT-48623
Type nullability enhancement improvementsKT-44623
"IllegalStateException: IdSignature is allowed only for PublicApi symbols" when suspending receiver is annotated with somethingKT-46000
JVM / IR: AssertionError on isSubtypeOfClass check in copyValueParametersToStatic with ComposeKT-50211
Annotation Instantiation with default arguments in NativeKT-49412
Controversial "type argument is not within its bounds" reported by FIRKT-48044
[FIR] Investigate behavior ofUPPER_BOUND_VIOLATED
on complex casesKT-37975
Don't show deprecation of enum class itself for its own memberKT-50737
Inheritance from SuspendFunction leads to compiler crashKT-50723
Implement a fix of reporting of uninitialized parameter in default values of parametersKT-50749
Implement UNSUPPORTED reporting on array literals inside objects in annotation classesKT-50753
Implement reporting errors on cycles in annotation parameter typesKT-50758
Fix inconsistency of exceptions at init block for an enum entry with and without a qualifier nameKT-50182
CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT: clarify error message forconst
in object expressionKT-50183
Fix missing apostrophe escapes in compiler error messagesKT-50788
FIR: false unsafe call on not-null genericKT-50785
FIR: inconsistent smart cast after comparison with trueKT-50858
[FIR LL] FIR in low level mode creates multiple symbols for same declarationKT-50822
Analysis API: make declaration transformers machinery to be a thread safeKT-50972
FIR doesn't report VAL_REASSIGNMENT on synthetic propertiesKT-50969
FIR: diamond inheritance with different parameter types depends on a supertype orderKT-50875
FIR: no smart cast after reassignment with elvisKT-50835
Inline functions with suspend lambdas break the tail-call optimizationKT-49485
JVM / IR: StackOverflowError with long when-expression conditionsKT-35684
NI: "IllegalStateException: Expected some types" from builder-inference about intersecting empty types on trivial codeKT-50776
FIR: ambiguity between Sequence.forEach and Iterable.forEachKT-48908
Error for annotation on parameter type could have distinct ID and message referring 1.6KT-48907
SUPERTYPE_IS_SUSPEND_FUNCTION_TYPE error could have message referring version 1.6KT-50774
FIR2IR: NSEE in case of lambda in enum entry constructor callKT-49016
Drop QUALIFIED_SUPERTYPE_EXTENDED_BY_OTHER_SUPERTYPE diagnosticKT-34338
Parameterless main causes duplicate JVM signature errorKT-50577
JVM_IR: No NPE when casting uninitialized value of non-null type to non-null typeKT-50476
JVM_IR: NSME when calling 'super.removeAt(Int)' implemented in Java interface as a default methodKT-50257
JVM_IR: Incorrect bridge delegate signature for renamed remove(I) causes SOE with Kotlin class inherited from fastutils IntArrayListKT-50470
FIR: inapplicable candidate in delegate inference due to nullabilityKT-32744
Inefficient compilation of null-safe call (extra null checks, unreachable code)Docs & Examples
KT-52032
Document performance optimizations of the Kotlin/JVM compiler in 1.7.0KT-49424
Update KEEP for OptInIDE
Fixes
KTIJ-21735
Exception when opening a projectKTIJ-17414
UAST: Synthetic enum methods have null return valuesKTIJ-17444
UAST: Synthetic enum methods are missing nullness annotationsKTIJ-19043
UElement#comments is empty for a Kotlin property with a getterKTIJ-10031
IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex. @Serializable)KTIJ-21515
Load JVM target 1.6 as 1.8 in Maven projectsKTIJ-21151
Exception about wrong read access from "Java overriding methods searcher" with Kotlin overridesKTIJ-20736
NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to startKT-50111
Resolving into KtUltraLightMethodKTIJ-21063
IDE highlighting: False positive error "Context receivers should be enabled explicitly"KTIJ-20810
NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project openKTIJ-19088
KotlinUFunctionCallExpression.resolve() returns null for calls to @JvmSynthetic functionsKTIJ-17869
KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructorsKTIJ-21061
UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class typeKTIJ-20200
UAST: @Deprecated(level=HIDDEN) constructors are not returning UMethod.isConstructor=trueKTIJ-19624
NoDescriptorForDeclarationException on iosTest.kt.vmIDE. Code Style, Formatting
KTIJ-20554
Introduce some code style for definitely non-null typesIDE. Completion
KTIJ-14740
Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source setIDE. Debugger
KTIJ-20815
MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodErrorIDE. Decompiler, Indexing, Stubs
KTIJ-21472
"java.lang.IllegalStateException: Could not read file" exception on indexing invalid class fileKTIJ-20802
Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T&AnyKT-51248
Function and parameter names with special symbols have to backtickedIDE. FIR
KTIJ-20443
FIR IDE: Work in Dumb modeKTIJ-21374
FIR IDE: Incorrect highlighting for operatorsKTIJ-21013
FIR IDE: Inconsistent smartcasts highlightingKTIJ-21343
FIR IDE: Navigation from explicit invoke call does not workKTIJ-20852
FIR IDE: Exception when checkingisInheritor
on two classes in different modulesKTIJ-21021
FIR IDE: Completion of extension function does not work on nullable receiverKTIJ-20637
FIR IDE: Strange exception while commenting-uncommenting FirReferenceResolveHelper.ktKTIJ-20971
FIR IDE: "Parameter Info" shows parameters of uncallable methodsIDE. Gradle Integration
KTIJ-21807
Gradle to IDEA import: language and API version settings are not imported for Native facetKTIJ-21692
Kotlin Import Test maintenance: 1.7.0-BetaKTIJ-20567
Kotlin/JS: Gradle import into IDEA creates no proper sub-modules, source sets, facetsIDE. Hints. Inlay
KTIJ-20552
Support definitely non-null types in inlay hintsIDE. Inspections and Intentions
New Features
KTIJ-18979
Quickfix for INTEGER_OPERATOR_RESOLVE_WILL_CHANGE to add explicit conversion callKTIJ-19950
Provide quickfixes forINVALID_IF_AS_EXPRESSION_WARNING
andNO_ELSE_IN_WHEN_WARNING
KTIJ-19866
Create quick-fix for effective visibility error on private-in-file interface exposing private classKTIJ-19939
Provide quickfix for deprecated confusing expressions in when branchesFixes
KTIJ-20705
Register quickfix forNO_CONSTRUCTOR_WARNING
diagnosticKTIJ-21226
"Remove else branch" quick fix is not suggestedKTIJ-20981
Definitely non-null types: quick-fixes suggested incorrectly for LV=1.6 when Xenhance-type-parameter-types-to-def-not-null flag is setKTIJ-20953
Add quickfix for OVERRIDE_DEPRECATION warning to 1.7 - 1.9 migrationKTIJ-20734
Replace with [@JvmInline] value quick fix should be appliable on a whole projectKTIJ-21420
Add 'else' branch quick fix suggestion is displayed twice in case 'if' isn't completedKTIJ-21192
"Make protected" intention is redundant for interface propertiesKTIJ-18120
"Make public" intention does not add explicit "public" modifier when using ExplicitApi Strict modeKTIJ-20493
"Create expect" quick fix doesn't warn about platform-specific annotationsIDE. Misc
KTIJ-21582
Notification for Kotlin EAP surveyIDE. Multiplatform
KT-49523
Improve environment setup experience for KMM projectsKT-50952
MPP: Commonized cinterops doesn't attach/detach to source set on configuration changesIDE. Native
KT-44329
Improve UX of using Native libraries in KotlinKTIJ-21602
With Native Debugging Support plugin Gradle run configurations can't be executed from IDEA: LLDB_NATVIS_RENDERERS_ENABLEDIDE. Wizards
KTIJ-20919
Update ktor-html-builder dependency in kotlin wizardsKTIJ-20962
Wizard: Invalid Ktor importsJavaScript
New Features
KT-51735
KJS / IR: Minimize member names in production modePerformance Improvements
KT-51127
Kotlin/JS - IR generates plenty of uselessUnit_getInstance()
KT-50212
KJS IR: Upcast should be a no-opKT-16974
JS: Kotlin.charArrayOf is suboptimal due to Rhino bugsFixes
KT-44319
JS IR BE: Add an ability to generate separate JS files for each moduleKT-52518
Kotlin/JS IR: project with 1.6.21 fails to consume library built with 1.7.0-RC: ISE "Unexpected IrType kind: KIND_NOT_SET" at IrDeclarationDeserializer.deserializeIrTypeData()KT-52010
K/JS IR: both flows execute when using elvis operatorKT-41096
KJS IR: @JsExport should use original js name for external declarationsKT-52144
KJS / IR: Missing property definitions for interfaced defined propertiesKT-52252
KJS / IR: overridden properties are undefined/nullKT-51973
KJS / IR overridden properties of inherited interface missingKT-51125
Provide a way to useimport
keyword injs
expressionsKT-40888
KJS / IR: Missing methods are no longer generated (polyfills)KT-50504
KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fieldsKT-51853
JS compilation fails with "Uninitialized fast cache info" errorKT-51205
K/JS IR: external class is mapped to anyKT-50806
Typescript definitions contain invalid nested block comments with generic parent and type argument without@JsExport
KT-51841
KJS / IR: No flat hash for FUN FAKE_OVERRIDE with kotlin.incremental.js.ir=trueKT-51081
KJS / IR + IC: Passing an inline function with default params as a param to a higher-order function crashes the compilerKT-51084
KJS / IR + IC: Cache invalidation doesn't check generic inline functions reified qualifierKT-51211
K/JS IR: JsExport: Can't export nested enumKT-51438
KJS / IR: Duplicated import names for the same external namesKT-51238
Kotlin/JS: IR + IC: build fails after clean oncompileTestDevelopmentExecutableKotlinJs
task: "Failed to create MD5 hash for file '.../build/classes/kotlin/main' as it does not exist"KT-50674
KJS / IR: JS code cannot modify local variableKT-50953
KJS IR: Incorrect nested commenting in d.tsKT-15223
JS: function that overrides external function withvararg
parameter is translated incorrectlyKT-50657
KJS / IR 1.6.20-M1-39 - Date in Kotlin JS cannot be created from long.Language Design
New Features
KT-45618
Stabilize builder inferenceKT-30485
Underscore operator for type argumentsKT-49006
Support at least three previous versions of language/APIKT-16768
Context-sensitive resolution prototype (Resolve unqualified enum constants based on expected type)KT-14663
Support having a "public" and a "private" type for the same propertyKT-50477
Functional conversion does not work on suspending functionsKT-32162
Allow generics for inline classesFixes
KT-12380
Support sealed (exhaustive) whensKT-27750
Reverse reservation of 'yield' as keywordKT-22956
Release OptIn annotationsKT-44866
Change behavior of private constructors of sealed classesKT-49110
Prohibit access to members of companion of enum class from initializers of entries of this enumKT-29405
Switch default JVM target version to 1.8Libraries
New Features
KT-50484
Extensions for java.util.Optional in stdlibKT-50146
Reintroduce min/max(By/With) operations on collections with non-nullable return typeKT-46132
Specialized default time source with non-allocating time marksKT-41890
Support named capture groups in Regex on NativeKT-48179
Introduce API to retrieve the number of CPUs the runtime hasPerformance Improvements
KT-42178
Range and Progression should override last()Fixes
KT-42436
Supportjava.nio.Path
extension in the standard libraryKT-51470
Stabilize experimental API for 1.7KT-51775
JS: Support named capture groups in RegexKT-51776
Native: Support back references to groups with multi-digit indexKT-51082
Introduce Enum.declaringJavaClass propertyKT-51848
Promote deepRecursiveFunction to stable APIKT-48924
KJS:toString
in base 36 produces different results in JS compare to JVMKT-50742
Regular expression is fine on jvm but throws PatternSyntaxException for native macosX64 targetKT-50059
Stop publishing kotlin-stdlib and kotlin-test artifacts under modular classifierKT-26678
Rename buildSequence/buildIterator to sequence/iteratorNative
KT-49406
Kotlin/Native: generate standalone executable for androidNative targets by defaultKT-48595
Enable Native embeddable compiler jar in Gradle plugin by defaultKT-51377
Native: synthetic forward declarations are preferred over commonized definitionsKT-49145
Kotlin/Native static library compilation fails for androidNative*KT-49496
Gradle (or the KMM plugin) is caching the Xcode Command Line Tools locationKT-49247
gradle --offline should translate into airplaneMode for kotin-native compilerNative. Build Infrastructure
KT-52259
kotlin-native releases from GitHub don't contain platform libsNative. C and ObjC Import
KT-49455
Methods from Swift extensions are not resolved in Kotlin shared moduleKT-50648
Incorrect KMM cinterop conversionNative. ObjC Export
KT-50982
RuntimeAssertFailedPanic in iOS when Kotlin framework is initialized before loadingKT-49937
Kotlin/Native 1.5.31: 'runtime assert: Unexpected selector clash' when 'override fun toString(): String' is usedNative. Platforms
KT-52232
Kotlin/Native: simplify toolchain dependency override for MinGWNative. Runtime
KT-52365
Kotlin/Native fails to compile projects for 32-bit targets when new memory manager is enabledNative. Runtime. Memory
KT-48537
Kotlin/Native: improve GC triggers in the new MM.KT-50713
Kotlin/Native: Enable Concurrent Sweep GC by defaultNative. Stdlib
KT-50312
enhancement: kotlin native -- add alloc<TVarOf>(T)Native. Testing
KT-50316
Kotlin/Native: Produce a list of available tests alongside the final artifactKT-50139
Create tests for Enter/Leave frame optimizationReflection
KT-27598
"KotlinReflectionInternalError" when usingcallBy
on constructor that has inline class parametersKT-31141
IllegalArgumentException when reflectively accessing nullable property of inline class typeTools. CLI
KT-52409
Report error when use-k2 with MultiplatformKT-51717
IllegalArgumentException: Unexpected versionNeededToExtract (0) in 1.6.20-RC2 with useFir enabledKT-52217
Rename 'useFir' to 'useK2'KT-29974
Add a compiler option '-Xjdk-release' similar to javac's '--release' to control the target JDK versionKT-51673
Make language version description not in capital lettersKT-48833
-Xsuppress-version-warnings allows to suppress errors about unsupported versionsKT-51627
kotlinc fails withjava.lang.RuntimeException
if/tmp/build.txt
file exists on the diskKT-51306
Support reading language settings from an environment variable and overriding the current settings by themKT-51093
"-Xopt-in=..." command line argument no longer worksTools. Commonizer
KT-43309
Overwrite return type and parameter types of callable member to succeed commonizationKT-52050
[Commonizer] 'platform.posix.DIR' not implementing 'CPointed' when commonized for 'nativeMain' on linux or windows hostsKT-51224
MPP: For optimistically commonized numbers missed kotlinx.cinterop.UnsafeNumberKT-51215
MPP: Update Kdoc description for kotlinx.cinterop.UnsafeNumberKT-51686
Cinterop: Overload resolution ambiguity in 1.6.20-RC2KT-46636
HMPP: missed classes fromplatform.posix.*
KT-51332
Optimistic number commonization is disabled by default in KGP with enabled HMPPTools. Compiler Plugins
KT-50992
jvm-abi-gen breaks inline functions in inline classes with private constructors in Kotlin 1.6.20Tools. Daemon
KT-32885
KT. Kotlin daemon compilation process is broken: java.lang.IllegalStateException Service is dying at entities generation by Kotlin.kts scriptTools. Gradle
New Features
KT-49227
Support Gradle plugins variantsKT-50869
Provide API that allow AGP to set up Kotlin compilationKT-48008
Consider offering a KotlinBasePluginKT-52030
Provide experimental possibility to view internal information about Kotlin Compiler performancePerformance Improvements
KT-52141
Optimize Java class snapshotting for thekotlin.incremental.useClasspathSnapshot
featureKT-51978
Optimize classpath snapshot cache for thekotlin.incremental.useClasspathSnapshot
featureKT-51326
Kotlin-gradle-plugin performance issue with mass java SourceRootsFixes
KT-52448
Compilation tasks are missing input/output/internal annotations on includes/excludes propertiesKT-52239
Type based task configuration-blocks for JVM stopped working in GradleKT-52313
No recompilation in Gradle after adding or removing function parameters, removing functions (and maybe more) in dependent modulesKT-51854
Add Ktor to gradle performance benchmarkKT-52086
Rename flag 'use-fir' to 'use-k2'KT-52509
Main variant published to Gradle plugin portal uses unshadowed artifactKT-52392
Gradle: 1.7.0 does not support custom gradle build configuration on Windows OSKT-32805
KotlinCompile inherits properties sourceCompatibility and targetCompatibility which breaks Gradle's incremental compilationKT-52189
Provide Gradle Kotlin/DSL friendly deprecated classpath property in KotlinCompiler taskKT-51415
Confusing build failure reason is displayed in case kapt is used and different JDKs are used for compileKotlin and compileJava tasksKT-52187
New IC can not be enabled in an Android project using kaptKT-51898
Upgrading Kotlin/Kotlin Gradle plugin to 1.5.3 and above breaks 'com.android.asset-pack' pluginKT-51913
Gradle plugin should not add attributes to the legacy configurationsKT-34862
Restoring from build cache breaks Kotlin incremental compilationKT-45777
New IC in GradleKT-51360
Show performance difference in percent between releasesKT-51380
Add open-source project using Kotlin/JS plugin to build regression benchmarksKT-51937
Toolchain usage with configuration cache prevents KotlinCompile task to be UP-TO-DATEKT-48276
Remove kotlin2js and kotlin-dce-pluginKT-52138
KSP could not access internal methods/properties in Kotlin Gradle PluginKT-51342
Set minimal supported Android Gradle plugin version to 3.6.4KT-50494
Remove kotlin.experimental.coroutines Gradle DSL optionKT-49733
Bump minimal supported Gradle version to 6.7.1KT-48831
Remove 'KotlinGradleSubplugin'KT-47924
Remove annoying cast in toolchain extension method for Kotlin DSLKT-46541
Fail Gradle builds when deprecated kotlinOptions.jdkHome is setKT-51830
Gradle: deprecatekotlin.compiler.execution.strategy
system propertyKT-47763
Gradle DSL: Remove deprecated useExperimentalAnnotation and experimentalAnnotationInUseKT-51374
NoSuchFileException in getOrCreateSessionFlagFile()KT-51837
kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6.KT-51454
KotlinJvmTest is not a cacheable taskKT-45745
Migrate only Kotlin Gradle Plugin tests to new JUnit5 DSL and run them separately on CIKT-47318
Remove deprecated 'kotlinPluginVersion' property in `KotlinBasePluginWrapper'KT-51378
Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpathKT-46038
Gradle:kotlin_module
files are corrupted in the KotlinCompile output, and gets cachedKT-51064
Kotlin gradle build hangs on MetricsContainer.flushKT-48779
Gradle: Could not connect to kotlin daemonTools. Gradle. Cocoapods
KT-50622
Cocoapods Plugin: cocoapods-generate does not work correctly with ruby 3.0.0 and higherKT-51861
Custom binary name in CocoaPods plugin isn't respected by fatFramework taskTools. Gradle. JS
KT-52221
Kotlin/JS: failed Node tests are not reported in a standard wayKT-51895
K/JS: Redundant technical messages during JS testsKT-51414
Allow set up environment variables for JS testsKT-51623
Kotlin/JS: Mocha could not failed when external module not foundKT-51503
Update NPM dependency versionsTools. Gradle. Multiplatform
New Features
KT-51386
[KPM] IdeaKotlinProjectModelBuilder: Implement dependenciesFixes
KT-49524
Improve DSL for managing Kotlin/Native binary outputKT-51765
com.android.lint in multiplatform project without android target should not trigger warningKT-38456
MPP with Android source set: allTests task does not execute Android unit testsKT-44227
Common tests are not launched on local JVM for Android via allTests task in a multiplatform projectKT-51946
Temporarily mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4KT-52140
Support extensibility Kotlin Artifacts DSL by external gradle pluginsKT-51947
Mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4 using ReflectionKT-50925
Could not resolve all files for configuration ':metadataCompileClasspath'KT-51262
[KPM] IDEA import: Move model builder to KGPKT-51220
[KPM][Android] Implement generic data storage and import pipelineKT-48649
No run task generated for macosArm64 target in Gradle pluginTools. Gradle. Native
KT-47746
Allow customization of the Kotlin/Native compiler download urlKT-51884
Gradle Native: "A problem occurred starting process 'command 'xcodebuild''" when buildingassembleFooXCFramework
task on LinuxTools. Incremental Compile
KT-51546
FIR incremental compilation fails with assertion "Trying to inline an anonymous object which is not part of the public ABI"KT-49780
IncrementalCompilerRunner bug: Outputs are deleted after successful rebuild following fallback from an exceptionKT-44741
Incremental compilation: inspectClassesForKotlinIC doesn't determine changes with imported constantTools. JPS
KTIJ-17280
JPS: don't use java.io.File.createTempFile as it is not working sometimesKTIJ-20954
NPE at at org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver on compiling by JPS with LV > 1.7Tools. Kapt
KT-49533
Make kapt work out of the box with latest JDKsKT-52284
FIR: add error in 1.7.0 branch if run with KaptKT-51463
KAPT: Incremental compilation not working when rerunning unit testsKT-51132
KAPT: Support reporting the number of generated files by each annotation processorKT-30172
Kapt: Shutdown kotlinc gracefully in case of error in annotation processorTools. Scripts
KT-49173
Add support for nullable types in provided properties and other configuration-defined declarationsKT-52294
[Scripting] Update oudated org.eclipse.aether dependencies to new org.apache.maven.resolverKT-51213
Kotlin JSR223 crashes with "ScriptException: ERROR java.lang.NullPointerException:" if bindings contain one or more null valuesKT-48812
Script: "IllegalStateException: unknown classifier kind SCRIPT" when passing a function reference to a FlowKT-50902
Scripts loaded from the compilation cache ignore theloadDependencies
eval configuration propertyKT-52186
Scripts: Backend Internal error: Exception during IR lowering when using symbol from a dependency inside a functionKT-51731
Script: jsr223 memory leak in spring-boot Fat JarKT-49258
Scripts: method 'void ()' not found with multiple evals using kotlin script JSR223KT-51346
Scripts: "BackendException: Exception during IR lowering" with variable of imported script inside classv1.6.21
: Kotlin 1.6.21Changelog
Compiler
KT-51979
"AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface overrideKT-51893
Duplicated [OVERRIDE_DEPRECATION] on overridden propertiesKT-51927
Native:The symbol of unexpected type encountered during IR deserialization
error when multiple libraries have non-conflicting declarations with the same nameKT-51843
Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flagsKT-51672
JVM IR: Inline class mangling issue in interface default methods split across multiple modulesKT-51711
Compiler warning is displayed in case there is 'if' else branch used with elvisKT-49317
"IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameterIDE. Native
KTIJ-20819
Native debugging support: "Debug is impossible without lldb binaries required by Kotlin/Native" on "Attach to process"JavaScript
KT-52010
K/JS IR: both flows execute when using elvis operatorKT-51973
KJS / IR overridden properties of inherited interface missingKT-50504
KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fieldsTools. Gradle
KT-51837
kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6.Tools. Gradle. Multiplatform
KT-51810
MPP / Gradle: Dependency locking fails with 1.6.20KT-51765
com.android.lint in multiplatform project without android target should not trigger warningChecksums
v1.6.20
: Kotlin 1.6.20Changelog
Compiler
New Features
KT-48217
Add an annotation JvmDefaultWithCompatibility to allow generating DefaultImpls classes if -Xjvm-default=all option is usedKT-49929
[FIR] Support programmatic creation of annotation class instancesKT-49276
Warn about potential overload resolution change if Range/Progression starts implementing CollectionKT-47902
Do not propagate method deprecation through overridesKT-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.LambdaMetafactoryPerformance 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_IRFixes
KT-24643
Prohibit using a type parameter declared for an extension property inside delegateKT-51747
MakeKtCallableDeclaration.getContextReceivers
default to preserve compatibilityKT-49658
NI: False negative TYPE_MISMATCH on nullable type withwhen
KT-43493
NI: @BuilderInference prevents compilation error of "Operator '==' cannot be applied to 'Long' and 'Int'"KT-51649
Kotlin/Native: reduce binary size of watchosArm32 and iosArm32 targets by limiting inlining of runtime functionsKT-48626
JVM IR: incorrect behavior for captured for-loop parameter since 1.6.20-dev-723KT-51036
JVM / IR: "NullPointerException: Parameter specified as non-null is null" with synchronized and companion objectKT-51471
Native: incorrect debug information when inheriting suspend fun invoke implementationKT-51352
"ClassCastException: class ScopeCoroutine cannot be cast to class Iterable" caused by coroutines and context receiversKT-51271
"ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3" with inlining of context functionKT-47084
JVM IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL" with tailrec function default parameter nested inline lambdaKT-30616
Script: "Don't know how to generate outer expression" for top-level variable reference from static context (companion object, enum)KT-50520
"NPE: containingDeclaration.ac…lDeclarationType.REGULAR) must not be null" with implicit type on self-referencing lambda in a builderKT-51353
IncompatibleClassChangeError: Expected non-static field com.soywiz.korim.color.Colors.BLACKKT-48945
JVM IR: special bridge forget
is not generated in a Map subclassKT-48499
Interface call with an inline/value parameter generates AbstractMethodError after rebuilding the module, but NOT the file.KT-49998
JVM: missing default value for annotation parameter of an unsigned typeKT-49793
JVM:IncompatibleClassChangeError: Expected non-static field
when property delegation uses receiver of another delegated propertyKT-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-50258
equals()
returnsfalse
on the same enum instances if we check it for the second time inwhen
KT-51062
Progressions resolve changing warning isn't reported for Java methodsKT-48544
JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" with callable reference::arrayOf
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-51040
Type inference fails on 1.6: "Cannot use 'CapturedType(*)' as reified type parameter" with EnumSet and elvis operatorKT-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@0
KT-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-50856
SAM conversion generates invalid bytecode for genericsKT-45693
False negative INCOMPATIBLE_TYPES withwhen
with generic subjectKT-49903
JVM IR: InlineOnly optimization leads to behavior change for println with mutating System.outKT-51022
Fix error messages for resolution ambiguity with stub typesKT-51035
PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression:" caused by recursive call of java functionKT-50797
Implement fix for false negative UPPER_BOUND_VIOLATED with generic typealias using not all type parameters as arguments for underlying typeKT-50878
Usage of contextual declarations from third-party library is allowed without-Xcontext-receivers
KT-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-49729
Implement deprecation warning for private constructors of sealed classesKT-49349
Implement deprecation for invalid if as expression in rhs of elvisKT-46285
[SEALED_SUPERTYPE_IN_LOCAL_CLASS] Error message isn't adopted to local objects and sealed interfacesKT-49002
Allow OptIn marker on override if base class has the same markerKT-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-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 withif
expression and TODO() argumentsKT-48987
JVM / IR: Smartcast, which never succeed, crashes the compilerKT-50277
Invalid bytecode generated for inline lambda in suspend functionKT-50219
FIR DFA/CFA: no smart cast after null check and assignmentKT-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-50278
FIR: accidental resolve to inaccessible value parameterKT-47483
JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" on compiling Array instantiation with TODOKT-50304
EXC_BAD_ACCESS at IntrinsicsNative.kt starting coroutine on object with suspend fun as supertypeKT-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-47000
Allow graceful migration to -Xjvm-default=all-compatibility by allowing to inherit from interfaces even in the old (-Xjvm-default=disable) modeKT-50180
FIR: not enough information to infer type variable for definitely not null typeKT-50163
FIR: ISE unsupported compile-time value BLOCK on complex annotationsKT-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 andplusAssign
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 modifyval
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 syntheticsubj
accessKT-49836
Inference fails on lambda and adjacent function expressions with receiverKT-49832
Inference fails on lambda for function types with extension parameterKT-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-43604
Problem with initialization orderKT-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-50004
Linking kotlinx.serialization crashes on Native and JS IR backendsKT-49311
Missing FIR checker for unresolved references in import statementKT-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] AddCheckInfixModifier
resolution stageKT-38351
FIR: SupportCheckOperatorModifier
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 syntheticremoveAt
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 branchDocs & Examples
KT-50866
[Docs] [Kotlin/Native] Support non-NativeActivity Android executablesKT-50220
[Docs] [Kotlin/JVM] New @JvmDefaultWithCompatibility annotation and changes in -Xjvm-default arguments behaviorKT-50844
[Docs][K/JS] KJS / IR: Installation of NPM dependencies should be with ignore-scriptsKT-50831
[Docs][K/JS] Gradle, JS: Ability to persist / reuse yarn.lockKT-51086
[Docs] [Build Tools] Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask`KT-50563
[Docs] [Build Tools] Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines propertyKT-50580
[Docs] [Kotlin/Native] Support instantiation of annotation classes on NativeKT-50874
[Docs] [Language] Add ability to specify generic type parameters as not-nullKT-50564
[Docs] [K/JS] Ensure that @AfterTest is invoked after the@Test
function completes for asynchronous testsIDE
New Features
KTIJ-20169
Link to What's new in a notification about new Kotlin versionPerformance Improvements
KTIJ-20568
Optimize SubpackagesIndexService#hasSubpackagesFixes
KTIJ-13020
New compiler settings are applied only after the project is reloadedKTIJ-21154
StackOverflowError on Companion.extractPotentiallyFixableTypesForExpectedType that causes "Syntax highlighting has been temporarily turned off"KTIJ-20129
Load "@NotNull
T" types from libraries as definitely non-nullable if any module in project loads such types as definitely non-nullableKTIJ-9793
UAST: KotlinAbstractUElement.equals fails for psi-less elementsKTIJ-16203
UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpressionKTIJ-18720
UAST:@Deprecated(level=DeprecationLevel.HIDDEN)
makes method visibility be droppedKTIJ-18039
@Deprecated(level=HIDDEN)
elements return false for isDeprecated()KTIJ-18716
KotlinUMethodWithFakeLightDelegate.hasAnnotation() doesn't find annotationsKTIJ-20220
Kotlin plugin crashes very oftenKTIJ-20308
Syntax highlighting is temporary suspended for file ... due to internal errorKTIJ-6085
ExceptionIncorrect CachedValue...
with KtUltraLightMethodForSourceDeclarationKTIJ-18977
Do not show warningOutdated bundled kotlin compiler
if there are no compatible plugin with newer compilerKTIJ-20253
Consider supporting special highlighting for definitely non-null typesKT-42194
OOME: Java heap space from incremental compilationKTIJ-13019
"Add '-Xopt-in=kotlin.io.path.ExperimentalPathApi' to module untitled1 compiler arguments" only works until the project is reloadedIDE. Completion
KTIJ-20095
Optimize FilterOutKotlinSourceFilesScope#containsKTIJ-16250
Completion of override with return type annotated with TYPE_USE-targeted annotation suggests two duplicate entriesIDE. Debugger
KTIJ-20716
JVM Debugger in common code can't get JVM-specific view on common code and failsKTIJ-18562
JVM debugger: coroutineContext.job causes "Failed to generate expression: KtNameReferenceExpression"KTIJ-20019
MPP Debugger: NSFE “Field not found” on accessing property with explicit getter from common code in Evaluate expression/WatcherKTIJ-19990
MPP Debugger: Evaluate expression for some stdlib in common source set fails with Method threw 'java.lang.ClassNotFoundException' exception.KTIJ-20929
MPP Debugger: in a project with single JVM target evaluation of expect function fails with 'NoSuchMethodError' exception in common contextKTIJ-20956
Debugger: coroutine debugger fails to load sometimesKTIJ-20775
MPP Debugger: Evaluate expression for actual typealiases in jvm source set fails with Method threw 'java.lang.ClassNotFoundException' exception.KTIJ-20712
MPP Debugger: evaluator fails when evaluating expect functionKTIJ-19344
K/N debugger shows all types as ObjHeader in variable view.IDE. Gradle Integration
KTIJ-20097
HMPP+Android Project that depends on pure Android Lib fails to import in IDEAKTIJ-20756
MPP targeting Android and JVM reports 'The feature "multi platform projects" is experimental and should be enabled explicitly'KTIJ-20745
Gradle: NSEE “Key main is missing in the map.” on project import in AS 212 + Kotlin 1.6.20KT-47570
MPP, IDE: kotlin-test-common leaks into dependencies of platform-specific source setsKTIJ-19541
IDE: Kotlin Facets aren't created for Gradle projects added viaincludeBuild
KT-48882
MPP IDE import: Failing cinterop Gradle tasks shall not fail importKTIJ-18135
MPP, IDE: False positive "No value passed for parameter" in CommonTest when expect declaration has default value and actual does notIDE. Inspections and Intentions
New Features
KTIJ-12437
Add inspection to detect redundant (obsolete, unused)@OptIn
annotationsKTIJ-15780
Add quickfix for migration of Experimental -> RequiresOptInKTIJ-18865
Provide quick fixes for OptIn markers on forbidden targetsKTIJ-18439
Make suggestions for applying opt-in quickfixes more distinctKTIJ-19985
Provide quickfix for SAFE_CALL_WILL_CHANGE_NULLABILITY diagnosticFixes
KTIJ-20550
False positives in "Unnecessary@OptIn
annotation" inspectionKTIJ-20993
Quick-fix for NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS leads to unreachable codeKTIJ-20557
Quick fix to addAny
as an upper bound for type parameter to make it non-nullableKTIJ-20827
Process type mismatch compiler warnings to provide a corresponding quick fixKTIJ-12578
"Make abstract" quick fix for missing abstract members implementations could warn of potentially broken inheritanceKTIJ-20425
Quick fix to replace@NotNull
parameter typeT
with a definitely non-nullable typeT & Any
KTIJ-19997
Inspection "Possibly blocking call in non-blocking context could lead to thread starvation" suggests "Wrap call in 'withContext'" resulting in red codeKTIJ-18291
Quickfix "Add@OptIn()
annotation" adds the annotation to primary constructor when invoked on primary constructor parameterKTIJ-19512
Implement IDE support for new rules of deprecation inheritanceKTIJ-20156
Exception when applying 'Convert to with'KTIJ-20290
Forbid "move to constructor" intention if class contains secondary constructorKTIJ-20288
Forbid "move to constructor" intention for actual classes with actual constructorKT-49736
Introduce import alias fails when qualifier is unresolvedKTIJ-18743
"Redundant nullable return type" applied onactual
method doesn't change the signature ofexpect
KTIJ-12343
Inspection "Sealed sub-class has no state and no overridden equals" is applied incorrectly to expect/actual declarations of sealed classes with nested subclassesKTIJ-19406
The "Add@OptIn(...)
" quick fix does not shorten the annotation when adding an argument to the existing annotationKTIJ-12351
generate equals & hashCode() by identity
intention generates incompilable code for multiplatform project modulesKTIJ-13227
Forbid "move property to constructor" for actual classes with actual constructor having at least one parameter alreadyKTIJ-11328
No quick fixes are suggested for annotation from experimental API used with file targetKTIJ-14427
Meta-annotation value isn't updated for all the corresponding parts of a multiplatform annotationKTIJ-19735
NSME org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix on IJ212 + Kotlin masterIDE. Navigation
KTIJ-18145
IDE freeze on 'Show Usage'IDE. Refactorings. Extract Function
KTIJ-10026
Refactor / Extract function: Adds unnecessary nullability annotations for parameters coming fromNotNull
orNullable
Java methodsKTIJ-15823
Refactor / Extract Function: resulted declaration gets no@OptIn
from original function when necessaryIDE. Refactorings. Move
KTIJ-5661
[Tests] MoveRefactoring: Fix ignored incorrect tests of crossmodule declaration movingIDE. Wizards
KTIJ-19232
New project wizard: delete MPP Mobile-Library and Application templatesKTIJ-20878
Unable to create project with Kotlin Project Wizard when JDK 17 is used.KTIJ-20244
Compose MPP project from wizard requires minCompileSdk=31KTIJ-20781
Update kotlin-wrappers version in wizardJS. Tools
KT-47387
KJS: Support Apple Silicon for node distrib downloadJavaScript
New Features
KT-44494
KJS / IR: Allow enum classes to be exportedKT-43224
KJS: Allow using inline classes in external typesKT-35100
Make Char inline class in K/JSKT-42936
KJS IR: Support js-code test directives similar to legacyKT-47525
KJS / IR: Support protected members in d.ts generationKT-50110
KJS / IR: Enable properties lazy initialization by defaultPerformance Improvements
KT-46443
KJS / IR: ImproveCharArray
andChar
performanceKT-45665
KJS / IR:equals
on inline value classes is boxedKT-43644
KJS / IR: Avoid creating lambda classesFixes
KT-51685
KJS / IR: TypeError: collection.iterator_jk1svi_k$ regression in Kotlin 1.6.20-RC2KT-51523
KJS IR: "Uncaught TypeError: a._get_length__2347802853_w7ahp7_k$ is not a function"KT-51700
KJS / IR: Compiler uses wrong function with ListKT-51222
KJS / IR: "RangeError: Maximum call stack size exceeded": Default function overloads marked with @JsExport are brokenKT-45054
KJS: Export secondary constructors as class static methodsKT-37916
KJS: .d.ts generation not working for enum classesKT-48199
KJS / IR: Improve error message for linkage problemsKT-51030
KJS / IR: internal class that implements public interface is missing gettersKT-45434
KJS: "WRONG_EXPORTED_DECLARATION" when usingJsExport
on interfacesKT-50934
KJS / IR: Re-export all JS-exports from the main module for the multi-module modeKT-45620
KJS / IR: Remainder of division ofInt.MIN_VALUE
by -1 is negative zero (-0)KT-44981
KJS / IR crashes onkotlin.js.js
calls with complex constexprKT-41964
KJS IR: Reference to local variable and parameter from js fun could be broken unexpectedlyKT-50682
Kotlin/JS: IR + IC: TypeError "Cannot read properties of undefined" when properties from different sources refer one another in initializersKT-50175
Kotlin/JS, IR: with incremental compilation top level properties initialization is not lazyKT-40236
KJS: IR. Invalid override for external field with@JsName
KT-46525
KJS / IR: Generate context-dependent names for lambdas and object expressionsKT-49779
KJS / IR: Exported abstract class implementing interface not export interfaces member in d.tsKT-49773
KJS / IR: Exported enum implementing interfaceKT-41912
KJS / IR: generates invalid defineProperty methods for class hierarchiesKT-46225
KJS IR: tailrec function with capturing lambda in default parameter value leads to UninitializedPropertyAccessException at compile timeKT-50528
Kotlin/JS: IR + IC: TypeError: "combined.get_icpjjy_k$ is not a function" for code callingGlobalScope.launch {}
KT-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@JsExport
KT-43374
KJS / IR: "class org.jetbrains.kotlin.js.backend.ast.JsIf cannot be cast to class org.jetbrains.kotlin.js.backend.ast.JsExpressionStatement" caused byif-else
expression insidewhen
KT-20791
ushr Behavior differs in Javascript and Java targetsKT-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: Incorrectd.ts
generation for sealed classesKT-47767
KJS / IR: "IllegalStateException" with inline function with several lambda invocation declared through typealiasKT-47342
KJS / IR: "StackOverflowError" onInlinerTypeRemapper.remapTypeArguments
KT-46218
KJS / IR: Incorrect result for localtailrec
function called from capturing inline lambdaKT-45056
KJS / IR: Inconsistentordinal
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 onString.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-40525
KJS IR: investigate issues with using kotlin-wrappersKT-50197
KJS IR: using APIs in different packages but with same method name generates clashesKT-45958
KJS: Line breaks are missing injs
files after If-expressionKT-40213
KJS: fix and "unmute" cases from .../nonReifiedTypeParameters/ "muted" while fixing KT-38771KT-50152
Kotlin/JS: with incremental compilation browserRun / nodeRun produce no outputKT-50315
Kotlin/JS: building project with some dependencies fails: IAE: "Duplicate definition"KT-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.tsLanguage Design
KT-19423
Script: reference from class to script top-level member is incompilableKT-21197
Support cross platform common implementationsKT-42435
Prototype multiple receiversKT-48385
Deprecate confusing grammar in when-with-subjectKT-49542
FIR: Smart cast may lead to inconsistent inference resultKT-23727
Internal declarations from other module in star imports should have lower priority than public declarations from default importsKT-50251
Support language version 1.3 in Kotlin 1.6.20KT-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 classesLibraries
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
Usingsynchronized
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
New Features
KT-49463
--dry-run flag for llvm_builder/package.pyFixes
KT-51359
Native: the compiler doesn't work on macOS 12.3 BetaKT-49144
Kotlin/Native executable early segmentation faultKT-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 includingKSuspendFunction3
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-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.6Native. Build Infrastructure
KT-48625
Native: distribution doesn't contain sources for kotlin.testNative. C Export
KT-47828
Kotlin/Native: Kotlin exception is not filtered out on interop border when producing a dynamic library with compiler caches enabledNative. 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 SwiftNative. Platform Libraries
KT-50045
Kotlin/Native: Re-enable disabled Hypervisor frameworkKT-47331
Kotlin/Native: support Xcode 13 SDKsNative. Platforms
KT-48078
Native: Support non-NativeActivity Android executablesNative. Runtime
KT-48424
Support resolving source locations using libbacktraceKT-51586
SIGSEGV on worker7 testKT-50491
Kotlin/Native: Deadlock in the Ktor server tests with the new memory managerNative. Runtime. Memory
KT-50879
Kotlin/Native: Stabilize Concurrent Sweep GCKT-50948
Kotlin/Native: Concurrent Sweep GC hangs on Windows in GCStateHolder::waitEpochFinished/waitScheduledKT-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 locksNative. Testing
KT-48561
Test sideEffectInTopLevelInitializerMultiModule fails with new MMReflection
KT-50198
Reflection: NPE fromkotlin.jvm.internal.Intrinsics.areEqual
with SpockTools. Android Extensions
KT-50784
kotlin-android-extensions produces unbound symbol under_$_findViewCache
KT-50627
NullPointerException when using kotlin-android-extensions synthetic after updating Kotlin to 1.6.10KT-50887
kotlin-android-extensions plugin breaks whenpackage
attribute missing from AndroidManifest.xmlTools. CLI
KT-51309
Add JVM target bytecode version 18KT-48027
"Module ... cannot be found in the module graph" with module-info in META-INF/versionsKT-50695
Compiling into IR backends with language version 1.3 is not rejectedKT-46329
Deprecated-Xjvm-default
values are not reportedKT-51025
JVM CLI compiler takes class file from classpath instead of input java source fileKT-50889
AnalysisHandlerExtension multiple round execution is broken on Kotlin/MultiPlatform withexpectActualLinker=true
flagKT-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 scriptTools. Commonizer
KT-48568
[Commonizer] timespec properties are not commonized in kotlinx.coroutinesKT-46257
MPP: Stdlib included more than once for an enabled hierarchical commonizationKT-49735
[Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targetsKT-48856
MPP: Unable to resolve c-interop dependency for test compilation in an intermediate source set with the only platformKT-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 typesTools. 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 ClosedRangeTools. 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 memoryTools. Gradle
New Features
KT-48620
Add build information into Gradle build scanKT-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 defaultPerformance 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 performanceFixes
KT-51501
Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.6.0-RC when applying Enterprise Plugin from initscriptKT-51588
Restoring from build cache breaks Kotlin incremental compilationKT-50620
Gradle Kotlin Plugin crashes in CI due to hostname resolving issueKT-49921
Setup basic release performance regression testsKT-51177
After updating from KGP 1.5.30 to 1.6.10, KotlinCompile is non-incremental given an Android resource changeKT-48134
Debug log level causes build cache missKT-50719
Kotlin Gradle Plugin may hang on writing statisticsKT-48849
Cache miss due to empty directories inKotlinCompile
inputsKT-49014
Disable Explicit API is not possibleKT-48408
Build may fail with strict JVM target validation mode when project has no Kotlin sourcesKT-49107
Configuration cache: undeclared kotlin.caching.enabled system property readKT-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 runningkotlinNpmInstall
orrootPackageJson
locallyKT-46406
Remove 'kotlin.parallel.tasks.in.project' build propertyTools. Gradle. JS
Performance Improvements
KT-49037
KJS / Gradle: Configuration cache usage on large projects lead to high memory consumption by Gradle daemonFixes
KT-51060
KJS / IR: Incorrect order of libraries with ICKT-49061
KJS / Gradle: Custom package.json handlers break configuration cacheKT-35640
Kotlin/JS: Gradle: DCEdevMode = true
setting has no effect on incremental buildKT-49095
KJS / Gradle: KotlinJsTest tasks increase configuration cache state size depending on number of modules in projectKT-49253
KJS / Gradle: Error while evaluating property 'filteredArgumentsMap' of task ':compileProductionExecutableKotlinJs'KT-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-50930
KJS / IR: Incremental compilation cache building not consider multiple artifactsKT-50485
KJS / IR: Enable per-module by defaultKT-49445
KJS / IR: "AssertionError: Built-in class kotlin.Unit is not found" 1.5.31 fails on consuming artifacts built with 1.6.0KT-38040
Make Chrome Headless use "--no-sandbox" (configurable) - for DockerTools. Gradle. Multiplatform
KT-46198
[Commonizer] c-interop commonization: Support publishing libraries compiled with commonized c-interop librariesKT-41641
MPP: NoSuchElementException: "Collection is empty" when android library is added butandroid()
source set isn'tKT-50567
commonizeNativeDistribution fails when enableGranularSourceSetsMetadata is set to trueKT-50592
[Gradle][MPP] Mitigate isolated KGP classpath issuesKT-51176
CInteropCommonization: Warn users about disabled cinterop commonization when cinterops are present in hmppKT-49089
An annotation class annotated with @OptionalExpectation can not be used in another module with HMPP enabledKT-48818
False positive warning about usedenableDependencyPropagation
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 setTools. 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.propertiesFixes
KT-49330
commonizeNativeDistribution: "ClassCastException: KotlinJvmProjectExtension_Decorated cannot be cast to class org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension"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-50105
Usage of XCFramework and cocoapods plugin leads to error in prepareKotlinBuildScriptModel taskKT-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 WindowsTools. JPS
KT-51434
Language version 1.7 is absent in Kotlin Compiler settingsKT-48399
Internal Error: Unknown version of LookupSymbolKeyDescriptor=-6KT-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 daemonKT-45773
Improve quality of JPS incremental compilationTools. Kapt
KT-41456
Kotlin compilation failure after successful kapt causes invalid incremental buildsKT-48402
Kapt throws "Fatal Error: Unable to find package java.lang in classpath or bootclasspath" with JDK 16 and Kotlin 1.5.30KT-48617
Cache miss due to empty directories in KaptGenerateStubsTask inputsKT-48450
Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask`KT-32596
kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotationKT-48826
Deprecate 'kapt.use.worker.api' propertyKT-47002
Kapt: warning mentions non-effective propertykapt.includeCompileClasspath
Tools. Maven
KT-50306
Configured plugin dependencies should be available in kotlin-maven-plugin scriptsTools. Parcelize
KT-19853
Parcelize: CREATOR field should be available from codeTools. REPL
KT-20488
REPL: java.lang.InternalError: "Enclosing constructor not found" for class reference on an anonymous object literalTools. Scripts
KT-48758
Kotlin scripting: introduce a link from evaluation configuration to the compilation oneKT-48414
Script: get location of the script.main.kts fileKT-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 17Tools. Wasm
KT-49893
Don't publish wasm targets withorg.jetbrains.kotlin.js.compiler
attributev1.6.10
: Kotlin 1.6.10Changelog
Android
KT-49798
[MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attributeCompiler
Performance Improvements
KT-49821
Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilterFixes
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 withIrSimpleFunctionSymbolImpl
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 moduleJavaScript
KT-47811
KJS / IR: "ClassCastException" when using suspend function inconsole.log
Language Design
KT-49868
Support language version 1.3 in Kotlin 1.6.10Libraries
KT-50173
Different behavior of Regex escapeReplacement function in JVM and JSTools. Android Extensions
KT-49799
NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0Tools. 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 parameterTools. 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 projectsTools. 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-scriptsTools. 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 moduleTools. 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 compilationChecksums
v1.6.0
: Kotlin 1.6.0Changelog
Android
KT-48019
Bundle Kotlin Tooling Metadata into apk artifactsKT-47733
JVM / IR: Android Synthetic don't generate _findCachedViewById functionCompiler
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 fieldPerformance 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 lambdasFixes
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 insidelet
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 inRepeatedAnnotationLowering.wrapAnnotationEntriesInContainer
when using@Repeatable
annotation from different fileKT-48876
java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.expressions.impl.IrReturnableBlockImpl@4a729df
KT-48131
IAE "Repeatable annotation container value must be a class reference" on using Kotlin-repeatable annotation from dependencyKT-49322
Postpone promoting warnings to errors forProperTypeInferenceConstraintsProcessing
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/NSymbol with IrSimpleFunctionSymbolImpl is unbound
andJS 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 whenplatform.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" forkotlin-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 onis
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 DUPDocs & Examples
KT-48534
Wrong compiler argument for RequiresOptInIDE
KT-48604
MISSING_DEPENDENCY_CLASS in test source sets with kotlin.mpp.enableGranularSourceSetsMetadata=trueIDE. Debugger
KT-47970
AE: "Either library or explicit name have to be provided " in IR debugger testsIDE. 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 withTask 'runCommonizer' not found in root project
if Kotlin configured only in moduleIDE. Multiplatform
KT-47604
kotlin-stdlib-common leaks into dependencies of Android-specific source setsJavaScript
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 buildLibraries
New Features
KT-46423
infix extension fun Comparable.compareToKT-47421
Stabilize collection buildersKT-48584
Introduce JVM readln() and readlnOrNull() top-level functionsPerformance Improvements
KT-45438
Remove brittle ‘contains’ optimization in minus/removeAll/retainAllFixes
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 brittlecontains
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 aftermatchEntire
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 appendLineNative
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@0
KT-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 libraryNative. 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 supportNative. ObjC Export
KT-47809
Kotlin/Native: ObjC-export module name usage in klib compilationNative. Platforms
KT-43024
Kotlin/Native: Windows as cross-compilation targetNative. Runtime
KT-48452
Kotlin/Native: Support thread state switching in termination handlers for the new MMNative. 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 threadNative. Stdlib
KT-47662
[Native, All platforms] Incorrect parsing of long strings to Float and DoubleReflection
KT-45066
Support flexible types (nullability, mutability, raw) in typeOfKT-35877
typeOf<MutableList<>> cannot be distinguished from typeOf<List<>> in Kotlin/JVMTools. 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 stableTools. Commonizer
New Features
KT-48455
[Commonizer] Optimistic number commonizationKT-48459
[Commonizer] Add opt-in annotation to optimistically commonized numbersFixes
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 librariesTools. 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 classTools. Gradle
Performance Improvements
KT-49159
KotlinGradleBuildServices leaks Gradle instance when configuration cache is enabledFixes
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." withjava-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 featureTools. 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 downloadedTools. 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-inTools. 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 podsTools. 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 DefaultFileLockManagerTools. 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:Import
KT-46645
Scripts: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" caused by get accessorChecksums
v1.5.32
: Kotlin 1.5.32Changelog
Tools. Gradle. Multiplatform
KT-49798
[MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attributeChecksums
v1.5.31
: Kotlin 1.5.31Changelog
Compiler
Fixes
KT-48659
JVM / IR: Referential equality returns true for different instancesKT-48613
Kotlin/Native fails to compile debug binaries for watchosArm64 targetKT-48316
"No value passed for parameter" regression with Java annotation default values with JSR-305KT-48343
Mistake in an error message for uninferred type variable without unrestricted builder inferenceKT-48543
Native compiler crashes because of bridges for $default stubsKT-48349
OptIn markers are forbidden on local variable / value parameter / property getter only in presence of explicit Target annotationKT-48295
JVM / IR: VerifyError: Bad access to protected data in getfieldKT-48551
JVM / IR: "IllegalStateException: Inline class has no primary constructor" caused by inline class from one module andfun interface
from anotherKT-47917
JVM: "UTF8 string too large" caused by a big stringKT-48440
JVM IR: Missing checkcast in generated bytecode causes VerifyError in Kotlin 1.5.30KT-48361
INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in some positionsKT-48267
JVM IR: CCE on callable reference to Array constructor passed to inline functionIDE
KTIJ-15744
Reopening build.gradle.kts-based project reports MISSING_SCRIPT_BASE_CLASS KotlinBuildScript until re-importKTIJ-19005
JDK 17: "PermittedSubclasses requires ASM9" exception multiple times per second during analysisKTIJ-19504
IDE highlighting: Kotlin plugin 1.5.30 started showing some valid classes from multiplatform libraries as not existingNative
KT-48591
Kotlin/Native: Char.isHighSurrogate and Char.isLowSurrogate return wrong result for macosArm64 and iosArm64 with compiler cache enabledKT-48491
CInterop broke in Kotlin 1.5.30Checksums
v1.5.30
: Kotlin 1.5.30Changelog
Backend. Native. Debug
KT-47405
Incorrect path from inlined method in stacktrace on iOS-simulator ARM64KT-47408
Incorrect line number of inlined method on iOS-simulator ARM64Compiler
New Features
KT-44261
Support RxJava 3 nullability annotationsKT-32443
Experimental declarations should be contagious even when they are not explicitly usedKT-45844
Forbid using experimental markers on override declarationsKT-45845
Forbid using experimental markers on getterKT-46644
Resolve overrides for IrProperty on deserializationKT-46967
Support class type parameters annotations in FIRKT-47402
Native: optimize access to object declarations that have only const vals and no init blocksKT-47709
Make when statements with enum, sealed, and Boolean subjects exhaustive by defaultKT-47699
Support programmatic creation of class annotations and corresponding feature flag on JVMPerformance Improvements
KT-45103
Direct invoke optimizationKT-47785
Compilation time increased when trying to compile AssertJ DB expression in 1.5.21Fixes
KT-48361
INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in some positionsKT-48180
JVM / IR: AssertionError: "Lambda with offset already exists" caused by calling inline function with default lambda parameterKT-47328
JVM / IR: NoSuchFieldError with missing CHECKCASTKT-48172
"IllegalStateException: Cannot serialize error type: [ERROR : ]" in 1.5.21 with java kotlin interopKT-48230
JVM IR: CCE for multiple receivers caseKT-48262
"Inconsistent type" with JSpecify @NullMarkedKT-48167
JVM / IR: If Map#entrySet is implemented in an interface, Kotlin compiler generates incorrect code for its implementationKT-47988
JVM / IR: "VerifyError: Bad type on operand stack" when invoking apply with a local method referenceKT-48163
JVM / IR: "VerifyError: Bad type on operand stack" when throwing result of smartcastKT-47833
False positive "Type argument is not within its bounds " with upcasting in 1.5.30-M1KT-47830
Some code doesn't compile with unrestricted builder inferenceKT-39883
Deprecate computing constant values if complex boolean expressions in when condition branches and conditions of loopsKT-47037
Eliminate builder inference restrictionsKT-46726
IR + BuilderInference: AssertionError: Unbound private symbol on usage of this in a BuilderInference lambdaKT-43855
Support gradual introduction of new nullability annotationsKT-43142
FIR: Check UPPER_BOUND_VIOLATED for type alias constructors properlyKT-45228
Leaking builder inference type variables though callable referencesKT-42270
NI: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for BuilderInference with extension functionsKT-46029
JVM / IR: "Unbound private symbol: " when trying to save SequenceScope in propertyKT-45258
Wrong CST between types which contain stub typeKT-45224
Type safety problem through leaking of the builder inference scopeKT-22852
Report diagnostics on implicit usages of experimental APIKT-22941
Experimental marker annotation with SOURCE retention is compiled without errorKT-24993
Inference for buildSequence/yield doesn't work for labeled lambdasKT-31728
Incorrect EXPERIMENTAL_OVERRIDE_ERROR for override of experimental function in anonymous objectKT-33364
Kotlin/Native debugger: execution stops only at next line for breakpoint at when expression without parameterKT-42139
NI: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for emptyList / listOf (with no arguments) / emptyMap / mapOf (with no arguments) inside if block insidesequence
blockKT-44241
NI: BuilderInference regressionKT-44372
FIR: KClass::java cannot be resolved as callable referenceKT-44547
Native: wrong RTTI when overriding functions with equal signatures but different type argumentsKT-44571
Segfault on unnecessary int unboxingKT-45083
Problem with property reference in builder inferenceKT-45315
Deprecate (V)::a reference resolution to companion in FE 1.0KT-46393
AE: "1 trailing arguments were found in Any type" for private function with implicit anonymous return type inside generic classKT-46661
FIR: Investigate inference issue with self-types and star projectionKT-46775
[Native] [IR] Support multiple suspend lambdas as class supertypesKT-46836
Error: Invalid LLVM module on inlineClasses external testsKT-46838
NullPointerException: Parameter specified as non-null is null in CollectionsKt.joinToString()KT-46896
Native IR: NPE when using irBuiltIns.suspendFunctionKT-46996
FIR: INFERENCE_NO_INFORMATION_FOR_PARAMETER on type aliases with non-trivial expansionsKT-47034
KtValueArgument.getArgumentExpression could lead to StubBasedPsiElementBase.notBoundInExistingAstKT-47052
BuilderInference case with flatMapTo doesn't work properlyKT-47082
Stub type variable is leaked (reproduces with K/N during deserialization)KT-47143
ClassicTypeSystemContext couldn't handle: Captured(*) in Kotlin 1.5.0KT-47148
Type mismatch: inferred type is Any? but T? was expectedKT-47180
Forbid using OptIn markers on local variable, value parameter or fieldKT-47181
Forbid using OptIn markers on types or type parametersKT-47183
Segfault on int unboxingKT-47208
Backend Internal error: Exception during IR lowering: assert at IrOverridingUtilKt.buildFakeOverrideMemberKT-47276
Nullability annotations without target are ignored if type enhancement improvements are enabledKT-47450
StackOverflowException in psi2ir with many chained binary expressionsKT-47462
K/N: AssertionError: Unbound private symbol org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl@6cb748d
(NON-PUBLIC API): deserialized class CompanionKT-47941
"IllegalStateException: Expected some types" on a call with several excepted type constraintsKT-47854
"IllegalArgumentException: Type is inconsistent" with Android's @Nullable annotation starting in Kotlin 1.5.20KT-47899
"AssertionError: Intersection type should not be marked nullable" with 1.5.21KT-47846
Stack overflow when handling enhanced recursive type parameterKT-47747
Introduce specific error for calls which could be resolved only with unrestricted builder inferenceKT-47739
JVM / IR: NoSuchFieldError with generic sealed classesKT-47422
-Xjspecify-annotations: If a class has a @Nullable type-parameter bound, Kotlin should still treat some users' type arguments as platform typesKT-47437
Type inference failure with raw types under -Xjspecify-annotations=strictKT-47396
<?> in @NullMarked code should permit nullable typesKT-47729
False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"KT-47333
Xcode 13: Compilation for iOS simulator failsKT-47772
False negative WRONG_ANNOTATION_TARGET on type argument to function callKT-47467
JVM / IR: "AssertionError: Annotation class expected: deserialized class Array" caused by java annotation as a parameter of another annotationKT-47744
UninitializedPropertyAccessException compiler exception on nested builder inference callsKT-47724
Type inference: False positive "Returning type parameter has been inferred to Nothing implicitly"KT-47660
JVM / IR: Mockito verification fails when named parameters are ordered differentlyKT-47589
Using RequiresOptIn annotation on constructor property results in error even if the annotation has no VALUE_PARAMETER targetDocs & Examples
KT-47649
Important note about KJS IR compiler and stdlib compatibility in 1.5.30IDE
KT-44643
ISE: Could not generate LightClass for some declared in on initialisation bylazy
in a JVM module of a multiplatform projectKT-47947
Add language version 1.6 to the compiler configuration preferencesIDE. Gradle Integration
KT-47163
KJS / Gradle:Could not resolve <artifact>
despite being resolvable & project buildableIDE. JS
KT-46548
KJS: Create an IDE plugin to help with migration to and keeping compatibility with JS IR BEKT-47557
KJS: With NPM dependency IDEA import fails when performed before Gradle buildJavaScript
KT-46204
KJS / IR: SupportSuspendFunctionN
as super typeKT-38363
JS IR BE: support IC for loweringsKT-41651
JS IR BE: DCE removesrender
method from react components passed to the kotlinx.reactKT-46520
KJS / IR: ISE "Can't find name for declaration FUN name:CharArray_init_$Create$" on callable reference to Array constructorKT-45738
KJS / IR: Wrong generated code forwhen
statementKT-46551
KJS / IR: Add a basic sourcemap generationLibraries
KT-47477
Could not resolve kotlin-test during project import in case of multiplatform with only JVM target platformKT-47675
Converting Double to Duration may expose inexactnessKT-47419
Remove method of the MapBuilder iterator throws IOOBE instead of IllegalStateExceptionKT-47211
Kotlin Native - AbstractMutableList.addAll (with index) does not throw IndexOutOfBoundsException if elements is emptyKT-23351
Regex.splitToSequence, CharSequence.splitToSequence(Regex)KT-42851
kotlin.time.Duration toString() shows wrong result for secondsKT-45325
Parsing Duration from StringKT-34021
Regex.matchAt / matchesAtNative
KT-35001
warning: linking module flags 'SDK Version': IDs have conflicting values ('[2 x i32] [i32 13, i32 2]'KT-43475
Kotlin/Native compiler: Including a static C library increased cross-compilation time from 3.5minutes to 1 hour 40 minutesKT-44148
Escape analysis failure: Heap space out of memoryNative. C and ObjC Import
KT-46711
platform.windows._LARGE_INTEGER cannot be passed by valueNative. ObjC Export
KT-43780
Improve Swift/Obj-C ergonomics for object and companion objectKT-46431
KMP accessing a property of an anonymous inner class that inherits from an abstract class causes a 'NSGenericException', reason: '[Shared_kobjcc0 ] is abstract' exception.KT-47042
Kotlin/Native: Concurrency Interoperability with Objective-C (Swift 5.5)Native. Stdlib
KT-47915
Kotlin/Native: Provide access to test cases generated by the compilerNative. Platforms
KT-44321
Support Apple Silicon without Rosetta 2Reflection
KT-18277
InvalidProtocolBufferException: Stream closed on multithreaded access to built-ins data in reflectionKT-44977
Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes accessKT-47650
KClass::nestedClasses throws ClassCastException for script classes with type aliasesTools. CLI
KT-47623
Deprecate -Xuse-experimentalKT-30778
kotlin-compiler.jar contains shaded but not relocated kotlinx.coroutinesKT-40979
CLI: Executing "kotlinc.bat" at a root path, errors are not reported with a correct filepathKT-40994
CLI: Add documentation for -J argument inkotlinc -help
KT-46764
CLI: Java record defined in a single file root is not resolvedTools. Commonizer
KT-47433
[Commonizer] Commonize functions/properties with TA/Class types in signatureKT-47691
[Commonizer] Commonizevar
andval
propertiesKT-47434
[Commonizer] Commonize parameterized (type-alias + class) typesKT-47432
[Commonizer] Commonize (type-alias + class) types used in functionsKT-45992
[Commonizer] Allow commonization of TypeAlias and Class with same nameKT-46716
[Commonizer] Analyze leaf source sets with original platform librariesKT-46957
[Commonizer] Unresolved classifier: platform/posix/ptrdiff_t for linuxMips32KT-47133
Forbid cinterop commonization with hierarchical commonization turned offKT-47301
[Commonizer] Associative commonizationTools. Compiler Plugins
KT-46723
Kotlin Lombok: JPS: config file is searched in directory relative to compiler daemonKT-46739
@SerialInfo NPE with default parameterTools. Daemon
KT-47152
Incremental Compilation with Kotlin compile daemon and JDK 17 fails with IllegalAccessExceptionTools. Gradle
New Features
KT-45757
Add an easier way to explicitly set Kotlin daemon jvm argumentsFixes
KT-47940
Kotlin JVM toolchain breaks configuration cacheKT-46626
kotlin-android plugin with kotlin-dsl: Extension with name 'android' does not exist. Currently registered extension names: [ext, kotlin, kotlinTestRegistry]KT-47754
“'compileDebugUnitTestJavaWithJavac' task (current target is 1.8)” during build android project without specified target and with jvmToolchain = JDK 11KT-47520
Kotlin and Java target compatibility check produces false positive on using Gradle toolchainsKT-46978
Duplicate resource errors on gradle 7 with multi-module multiplatform project with withJavaKT-27687
Empty directories in source set causes gradle cache miss for KotlinCompile taskKT-47635
Kotlin version conflict on using 'noarg' Gradle pluginKT-47636
Kotlin version conflict on using 'sam-with-receiver' Gradle pluginKT-47354
Kotlin version conflict on using 'allopen' Gradle pluginKT-45202
Kapt crashes with java.io.UTFDataFormatExceptionKT-13258
Kotlin compiler doesn't respect Gradle's "sourceCompatibility" and "targetCompatibility"KT-43095
Add support for Java Toolchain to the Gradle pluginKT-45611
KGP should declare JDK version as inputKT-47185
Migrate Gradle Integration tests to use cache redirectorKT-48226
Kotlin toolchain does not set 'jvmTarget' for Kotlin tasks on configuration cache reuseKT-44279
Kotlin-Android Gradle Plugin (KGP) should react to application of AGP rather than assume it was applied firstKT-44041
PersistentEnumeratorBase$CorruptedException: PersistentEnumerator storage corruptedTools. Gradle. JS
KT-47436
KJS / IR: Compiler plugins not provided to link taskKT-46693
KJS: Update node.js version used inside gradle to latest 14.xKT-47559
KJS / Gradle: Run task created using eager API and breaks task configuration avoidanceKT-47176
KJS: Actualize NPM dependenciesKT-47154
KJS / Gradle: Compile task reads dependencies metadata from filesystem too long on large projectsKT-47114
KJS / IR: Could not resolvecoroutines-core-js
KT-43379
KJS / Gradle: On windows, an invalid regex is generated for Webpack ProgressPluginTools. Gradle. Multiplatform
KT-47210
[Commonizer] Avoid commonization of test source set hierarchy if possibleKT-46279
[Commonizer] Gradle 7.0 will emit warning for metadata compilation in multimodule buildsKT-47126
ios() target shortcuts should not include Apple Silicon by defaultKT-38111
Gradle DSL: rename useExperimentalAnnotation functionKT-47126
ios() target shortcuts should not include Apple Silicon by defaultKT-47612
Task :buildKotlinToolingMetadata is incompatible with Gradle configuration cacheKT-47611
Task :generateMetadataFileForKotlinMultiplatformPublication is incompatible with Gradle configuration cacheTools. Gradle. Native
KT-42023
Kotlin Native Cocoapods plugin fails when Xcode project has custom CONFIGURATION namesKT-47653
Support multi arch build via embedAndSign taskKT-47078
Support Apple Silicon in cocoapods gradle pluginKT-47077
Support Apple Silicon in embedAndSign taskTools. Incremental Compile
KT-27660
JS Incremental compilation fails with java.io.IOException: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0KT-36865
IC: "ArrayIndexOutOfBoundsException: Array index out of range: 0"KT-35532
Incremental compilation often fails on @JVMMultifileClassKT-19806
IncrementalPackagePartProvider cache corruption causes frontend exceptionTools. JPS
KT-47753
JPS: "IndexOutOfBoundsException: Index 0 out of bounds for length 0": Rebuild triggered due to IOOBE inkotlin.incremental.LookupStorage.<init>
KT-46804
Slow Kotlin incremental build: LookupStorage operationsKT-45763
Failing tests in KotlinIDETools. Maven
KT-45689
JDK-16: kotlin-maven-plugin fails withIllegalAccessError: class com.intellij.util.io.FileChannelUtil
when using incremental compilationTools. Scripts
KT-43917
Gradle dependency conflict with resolutionStrategy failOnVersionConflict and kotlin 1.4KT-46646
Scripts: ArrayIndexOutOfBoundsException on an empty script runningTools. REPL
KT-47783
REPL: Keywords completion appears after numeric and string literalsTools. kapt
KT-47583
KaptJavaLog fails on Java 17 due to removed constructor in com.sun.tools.javac.util.LogKT-47347
KAPT: Stub generation in Gradle cache is not consistently relocatableKT-46651
KAPT: "Source file or directory not found" - kaptGenerateStubsDebugKotlin task does not track source files properly with configuration cache enabledChecksums
v1.5.21
: Kotlin 1.5.21Changelog
Compiler
KT-47320
"StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special characterKT-47445
"definitely not null type parameters is only available since language version 1.6" error in cast expressionKT-47446
Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGEKT-47447
False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"KT-47449
JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjectionKT-47459
"IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependencyKT-47480
StackOverflowError: Recursion on erasion of raw type with interdependent type parametersTools. Compiler Plugins
KT-47161
Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$SelfKT-47455
Kotlin lombok plugin NullPointerExceptionKT-47513
Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db6
(TopDownAnalyzer for JVM)'Tools. Gradle
KT-47444
Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)Tools. kapt
KT-47416
Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20Checksums
v1.5.20
: Kotlin 1.5.20How to update to a new release
Changelog
Compiler
New Features
KT-43262
No error for Java generic class @NotNull type parameter used in Kotlin with nullable type argumentKT-44373
FIR: support error / warning suppressionKT-45189
Support nullability annotations at module levelKT-45284
Emit warnings based on jspecify annotationsKT-45525
Allow to omit JvmInline annotation for expect value classesKT-46545
Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and abovePerformance Improvements
KT-36646
Don't box primitive values in equality comparison with objects in JVM_IRFixes
KT-8325
Unresolved annotation should be an errorKT-19455
Type annotation unresolved on a type parameter of a supertype in anonymous object expressionKT-24643
Prohibit using a type parameter declared for an extension property inside delegateKT-25876
Annotations on return types and supertypes are not analyzedKT-28449
Annotation target is not analyzed in several cases for type annotationsKT-36770
Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable boundKT-36880
K/N IR: Reference to expect property in actual declaration is not remappedKT-38325
IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 ListKT-38342
FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITYKT-38476
[FIR] Forgotten type approximationKT-38540
Kotlin/Native Set.contains fails with specific enum setupKT-40425
IrGenerationExtension. Support simple reporting to compiler output (for development/debug)KT-41620
ClassCastException: Class cannot be cast to java.lang.VoidKT-41679
NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literalKT-41818
NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated propertiesKT-42239
IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserializationKT-42631
ArrayIndexOutOfBoundsException was thrown during IR loweringKT-43258
NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambdaKT-44036
Enum initialization orderKT-44511
FIR DFA: smartcast afterif (nullable ?: boolean)
KT-44554
RAW FIR: NPE in RawFirBuilderKT-44682
raw FIR: incorrect source for qualified accessKT-44695
*_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objectsKT-44699
FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)KT-44802
FIR bootstrap: trying to access package private classKT-44813
FIR bootstrap: various errors in collection-like classesKT-44814
FIR bootstrap: incorrect cast in when branchKT-44942
[FIR] ClassCastException in boostrap testsKT-44995
FIR: false positive for ANNOTATION_ARGUMENT_MUST_BE_CONSTKT-45010
FIR: lambda arguments of inapplicable call is not resolvedKT-45048
FIR bootstrap: VerifyError on KtUltraLightClassKT-45052
FIR bootstrap: inapplicable candidate in GenerateSpecTests.ktKT-45121
FIR IDE: redundant vararg parameter type transformationKT-45136
Native: dividing Int.MIN_VALUE by -1 crashes or hangsKT-45236
JVM / IR: "IllegalStateException: Symbol with IrTypeParameterSymbolImpl is unbound" caused by contracts and sealed classKT-45308
Psi2ir: "AssertionError: TypeAliasDescriptor expected" caused by using typealias from one module as a type in another module without a transitive dependencyKT-45316
[FIR] Ambiguity between two implicit invokes with receiverKT-45344
FIR: Wrong inferred type for nullable type parameterKT-45385
FIR: false positive MUST_BE_INITIALIZED_OR_BE_ABSTRACT after rethrowKT-45475
[FIR] No smartcast after throw in if inside try blockKT-45508
False negative ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on a fake override with an abstract super class memberKT-45578
REPL: Unresolved imports are cached for the subsequent compilationsKT-45685
JVM IR: capturing a variable into crossinline suspend lambda makes the function inside inline function no longer unbox ResultKT-45584
[FIR] Fix overriding property and java function in java classKT-45697
JVM IR: ISE "Function has no body" on getter of private field in a class present both in sources and dependenciesKT-45842
Compiler doesn't allow a shared class to inherit a platform-specific sealed classKT-45848
False negative [SEALED_INHERITOR_IN_DIFFERENT_MODULE] error in compiler for a platform-specific inheritor of a shared sealed classKT-45931
There is no warning based on nullability java annotationKT-45998
JVM IR: AE when an accessor to a protected companion object member is being generated in child classKT-46048
Enum entries init order in companion objectKT-46074
FIR: private-in-file fun interface is considered invisible in this fileKT-46173
No error reporting on annotations on target type ofas
expression in returnKT-46235
JVM IR: Stack overflow error on large expressionsKT-46270
[FIR] Support@PublishedAPI
in inline checkerKT-46539
Generate annotations on type parameters bounds in bytecodeKT-46578
JVM IR: IllegalAccessError accessing property delegated to java super class protected field referenceKT-46597
JVM IR: AssertionError: SyntheticAccessorLowering should not attempt to modify other files - crossinline accessorKT-46601
JVM / IR: IllegalStateException: "Can't find method 'invokeinvoke`" when default lambda takes inline class parametersKT-46670
StackOverflowError on inheritance from raw type where class has protobuf-like recursive genericsKT-46715
JVM / IR: "AssertionError: Unbound symbols not allowed IrConstructorSymbolImpl" with enum classes with the same name in test and src foldersKT-46759
JVM IR: CCE in LateinitUsageLowering on @JvmStatic lateinit property in objectKT-46777
[Native] [IR] Support suspend function as super typeKT-46802
JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" caused by function reference on @JvmStatic function with unused default parametersKT-46813
JVM / IR: "ClassCastException: Integer cannot be cast to class Result" with Flow andfold
methodKT-46822
JVM IR: StackOverflowError on compiling a large data classKT-46837
Backend Internal error: Exception during IR lowering: assert at IrOverridingUtilKt.buildFakeOverrideMemberKT-46921
JVM / IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by crossinline parameter and label returnKT-46984
Type parameter bounds aren't used to report corresponding mismatch warningsKT-46985
There aren't warnings by java nullability annotationsKT-46986
There aren't warnings by java nullability annotationsKT-46989
There aren't warnings by java nullability annotationsKT-46990
There aren't warnings by java nullability annotations on method's violated type argumentsKT-47019
K/N: IrProperty.overriddenSymbols can't be used in common IR backend modules yet because it doesn't fully work in NativeDocs & Examples
KT-33783
Document when a range created with rangeTo is emptyIDE
KT-44638
clone()
call is unresolved in JVM module of a multiplatform projectKT-45629
[ULC] KtUltraLightFieldForSourceDeclaration.nameIdentifier returns nullKT-44825
Can't open Kotlin compiler settings in newly created projectKT-45908
Reproduciable 'org.jetbrains.kotlin.idea.caches.resolve.KotlinIdeaResolutionException: Kotlin resolution encountered a problem while analyzing KtNameReferenceExpression'IDE. FIR
KT-45175
FIR IDE: Exception with local property ininit
blockKT-45199
FIR IDE: Error while collecting diagnostic on stale element after replacing element in quickfixKT-45312
FIR IDE: FIR plugin throws exception on synthetic functionIDE. Gradle Integration
KT-34401
KotlinGradleModelBuilder builds models for non-kotlin modules and always trigger full task configuration.KT-45277
Wrong jvm target in gradle module in IDEAKT-46488
Import of a multiplatform project with MPP module depending on Kotlin/JVM one failsIDE. Inspections and Intentions
KT-45075
Inspection: Redundant creation of Json formatKT-45347
Sealed interfaces: quickfix to move to package/module of sealed class/interface should not be shown in case of read-only declarationKT-45348
Sealed interfaces: show error for usage of sealed class/interface from a library in Java source codeKT-46063
In multiplatform code, suggest to generate remainingwhen
branches at least for shared sealed classesIDE. Refactorings
KT-44431
Quickfix to move class/interface to proper location: it is allowed to choose test source in JPS project while compiler does not allow itIDE. Native
KT-39320
[Commonizer] Reduce memory consumptionJavaScript
KT-40235
KJS: IR. Broken support for external interface companionKT-40689
KJS / IR: strange and slow code for kotlin.math.max and kotlin.math.min for DoubleKT-44138
KJS / IR: Constant folding works incorrectly with unsigned arithmeticKT-44394
KJS / IR:null
companion object for existed stdlib interfacesNodeFilter
andSVGUnitTypes
KT-44950
KJS / IR: "IllegalStateException: Can't find name for declaration" in case of extending export declared class without @JsExport annotationKT-45057
KJS / IR: "ClassCastException" when usingjs
function in init blockKT-45361
KJS / IR:IrConstructorCall
representing annotation always returnsUnit
KT-46608
KJS: "Could not load content..." for source mapsKT-45655
KJS: "REINTERPRET_CAST" is not copyableKT-45866
Default parameter with generic in expect-actual declarationsKT-46859
Exception during IR lowering: NullPointerException was thrown at: optimizations.FoldConstantLowering.tryFoldingUnaryOpsKMM Plugin
KT-43899
KMM: Fix "stale framework" usage by XCode & AppCode in default build scriptLibraries
KT-43701
Stdlib: Expand KDoc of inc() and dec() for operatorsKT-46002
Support all Unicode digit chars in digitToInt (JS and Native)KT-46183
Add default value for ignoreCase in K/N String.replace/replaceFirstKT-46184
Equivalize isLowerCase and isUpperCase behavior in all platformsNative
KT-33175
IR: String constants with incorrect surrogate pairs aren't preserved during serialization/deserializationKT-44799
Different behavior with functional interfaces in Kotlin/Native on iOSNative. C Export
KT-42796
[Reverse C Interop] Package with no public methods generate empty struct in the header, leading to an errorNative. ObjC Export
KT-38600
Kotlin MP iOS Target doesn't contain kdoc commentsKT-45127
KMM: hard to pass an error to Kotlin code from implementation of Kotlin method in Swift codeNative. Runtime. Memory
KT-45063
Profiling indicates that a lot of time is spent on updateHeapRef on Apple platforms when running KMP codeReflection
KT-10838
Provide sensible toString() for property accessors in reflectionKT-13490
Equality doesn't work for KProperty.Accessor implementationsTools. CLI
KT-14772
ISE (FNFE "Not a directory") on compilation with destination argument clashing with an existing file which is not a directoryKT-18184
CompileEnvironmentException: Invalid jar path on "-d" with .jar in non-existing directoryKT-40977
Report a readable diagnostic on empty -J argument in CLITools. Commonizer
KT-45497
[Commonizer] c-interop commonization: Dependency commonizationKT-46077
[Commonizer] Addcommonizer_target
to commonized klib's manifestKT-46107
[Commonizer] CInteropCommonizerTask receives faulty dependencies in multi module projects containing multiple c-interopsKT-46248
MPP: Compile KotlinMetadata fails with Unresolved reference if only one native platform from shared source set is availableKT-46856
[Commonizer] Many targets can fail with 'filename too long'Tools. Compiler Plugins
KT-7112
Support calling Lombok-generated methods within same moduleKT-45538
Serialization, JVM IR: "AssertionError: No such type argument slot in IrConstructorCallImpl" with inner classesKT-45541
JVM / IR / Serialization: NullPointerException caused by "Serializable" annotation and local data classKT-46469
Kotlin Lombok: accessors withAccessLevel.MODULE
fail to resolveKT-46529
Kotlin Lombok: with@Accessors
without explicitprefix
the prefix from lombok.config is not taken into accountKT-46531
Kotlin Lombok:lombok.getter.noIsPrefix
is processed depending on character caseKT-46920
NullPointerException in CodeGeneratorVisitor when packing for xcodeTools. Gradle
KT-24533
Kapt should not run when annotation processors are not configuredKT-43988
Enable plugin validation during buildKT-45301
Gradle: Emptybuild/kotlin
dir with custom build directoryKT-45519
loadAndroidPluginVersion() impacts performance negatively and noticeably in multimodule Android buildKT-45744
Create Kotlin Gradle Plugin JUnit5 basic test setupKT-45834
Gradle Plugin read system property related to kotlinCompilerClasspath breaks use of configuration cacheKT-46401
Deprecate 'kotlin.parallel.tasks.in.project' build propertyKT-46820
Gradle: kotlinc (1.5.0) race condition causes a NullPointerExceptionKT-47317
Restore 'kotlinPluginVersion' property in 'KotlinBasePluginWrapper'Tools. Gradle. JS
KT-42911
Support Gradle configuration cache for K/JS tasksKT-45294
KJS / Gradle: Number of modules in project affects JS tasks configuration cache state sizeKT-45754
KJS / IR: Remove adding option of source maps in Gradle pluginKT-46178
KJS / Dukat: Added as a dependency always without conditionKT-46976
KJS: Broken support for dynamically createdwebpack.config.d
KT-47045
[Gradle, JS] Task requirements are added to all compilations with same nameTools. Gradle. Multiplatform
KT-36679
MPP Gradle plugin: Improve messaging for the commonizerKT-45832
CInteropCommonization: Filter out illegal dependenciesKT-46394
Multiplatform: Gradle 7 supportKT-46517
Add kotlin-project-model as api dependency to kotlin-gradle-plugin-apiTools. Gradle. Native
KT-27240
MPP Gradle plugin: Provide a framework packing task for Kotlin/NativeKT-39016
Missing stdlib when the downloading process was abortedKT-40907
Xcode error after switching between device and simulator: Building for iOS, but the linked and embedded framework was built for iOS Simulator.KT-44059
iosSimTest tasks are never up-to-dateKT-45801
compileIosMainKotlinMetadata compilation property of gradle task is not initialized and fails withExecution failed for task ':shared:generateProjectStructureMetadata'
KT-46680
Register concrete "embedAndSign" tasks instead umbrellaKT-46892
Kotlin Multiplatform Gradle Plugin: EmbedAndSign task always contains a default framework nameTools. Incremental Compile
KT-44741
Incremental compilation: inspectClassesForKotlinIC doesn't determine changes with imported constantTools. JPS
KT-34351
KotlinTargetsIndex creation takes too long even if project doesn't have any kotlinKT-45191
[JPS] Marking method as "default" in Java SAM interface doesn't affect dependenciesKT-46242
Support Lombok kotlin plugin in JPS and mavenTools. kapt
Performance Improvements
KT-28901
Consider caching annotation processors classloadersFixes
KT-27123
kapt: missing space in error log makes location non-clickableKT-29929
[Kapt] Stub generator uses constant value in method annotation instead of constant name 2.KT-31146
kapt: executableElement.getAnnotation(JvmOverloads::class.java) returns nullKT-32202
Gradle task kaptKotlin fails: "module not found" in Java 11 modular applicationKT-34838
Kapt: 'cannot find symbol' for a top-level property with anonymous delegateKT-35104
Support @JvmStatic in KAPT stubsKT-35167
Kapt Gradle plugin doesn't handle --module-path javac argumentKT-37586
KAPT: When delegated property use an unknown type (to-be-generated class),correctTypeError
will mess up the$delegate
field typeKT-39060
Kapt: correctErrorTypes don't retain return type of getter in Java stubKT-39715
KaptGenerateStubsTask resolves annotation processor options too early (before execution time)KT-41581
Kapt doesn't have line breaks between warningsKT-43804
Kapt fails to preserve parameter names in open suspend functionsKT-43686
KaptWithoutKotlincTask should use@CompileClasspath
forkotlinStdlibClasspath
for cache relocateability.KT-45032
Kapt: NullPointerException: insnList.first must not be nullKT-46176
Kapt: "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3" with delegation and property referenceChecksums
v1.5.10
: Kotlin 1.5.10How to update to a new release
Changelog
Compiler
Fixes
KT-41078
Incorrect type substitution in contracts with type parametersKT-44770
JVM / IR: "IllegalArgumentException: Unrecognized Type: [null]" Jackson doesn't recognize typeKT-45084
JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" when inline class is passed to lambda with >22 parametersKT-45779
JVM / IR: java.lang.NoSuchMethodError: 'int java.lang.Integer.plus(int)' caused by function referenceKT-45941
JVM IR: local functions use generic type parameters of the outer class in the bytecode, which breaks Bytebuddy and MockKKT-46149
Generate synthetic classes for SAM adapters with erased instead of generic supertypeKT-46189
JVM IR: tailrec function with capturing lambda in default parameter value leads to NoSuchMethodError at runtimeKT-46214
JVM / IR: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" on a suspend function in an inner classKT-46238
JVM IR: BootstrapMethodError in JDK 11+ on intersection type passed in arguments of SAM adapter where SAM interface's type parameter has a non-trivial upper boundKT-46259
JVM IR: local function for adapted function reference is not declared as ACC_SYNTHETICKT-46284
JVM IR: "Unbound private symbol IrClassSymbol" on class reference to script classKT-46402
IllegalAccessError: "CapturedLambdaInterpreter (in unnamed module @0x71b06418) cannot access class jdk.internal.org.objectweb.asm.Type" caused by inline function with a suspend parameter in Maven projectKT-46408
JVM IR: BootstrapMethodError due to missing bridge for subclass of generic Java interfaceKT-46426
JVM IR: Corrupted .class file when passing Array constructor reference as (inline) lambdaKT-46455
OOM on parsing invalid code with string interpolationKT-46503
JVM IR: "AssertionError: Unexpected variance in super type argument: out @1"KT-46505
JVM IR: NullPointerException caused by a callable reference with nullable inline value class parameterKT-46512
JVM / IR: NoSuchMethodError on SAM conversion of a function referenceKT-46515
IndexOutOfBoundsException: "Empty list doesn't contain element at index 0." on bad variable name in 1.5.0KT-46516
JVM IR: "AnalyzerException: Expected I, but found R" on subclassing AbstractMutableListKT-46524
Cannot use unsigned literals with api-version < 1.5 even with opt-inKT-46537
JVM / IR: "IllegalStateException: No noarg super constructor for CLASS" caused by "No-arg" plugin with annotation on child classKT-46540
JVM / IR: AnalyzerException: Expected an object reference, but found J caused by java.function.SupplierKT-46554
JVM IR: "IllegalStateException: No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" with value class constructor delegation callKT-46555
JVM IR: IllegalAccessError when using Java method referenceKT-46562
Kotlin 1.5.0 generates non-serializable lambdas when they should be serializableKT-46568
JVM IR: "AssertionError: IrCall expected inside JvmStatic wrapper" on compiling protected static function with return type Nothing inside companion object of abstract classKT-46574
JVM / IR: ClassCastException caused by runBlocking awaiting call while returning Kotlin.Result type.KT-46579
JVM IR: "IllegalArgumentException: Sequence contains more than one matching element" for Java enum with overloaded values() static methodKT-46584
JVM IR: Intrinsics.needClassReification (UnsupportedOperationException thrown). Property delegate provider crossinline lambda inlining/reification issueKT-46751
JVM / IR:"ClassCastException: java.lang.String cannot be cast to java.lang.Void" in extension function in Kotlin 1.5IDE
KT-45981
failed to analyze: java.lang.AssertionError: diagnostic callback has been already registered: Code analysis get stuck in AS 2020.3.1.14 & Kotlin v1.5.0-M2KT-46622
60+ second freezes with Kotlin plugin 1.5.0: GetModuleInfoKt.findJvmStdlibAcrossDependenciesIDE. Gradle Integration
KT-46417
[UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source setsLibraries
KT-46280
JvmRecord annotation missing constructor in commonMiddle-end. IR
KT-44013
NPE: When calling constructor of a function type while inheriting from it, despite it's an interfaceTools. Android Extensions
KT-46590
Kotlin Android Extensions 1.5.0 generates bad writeToParcel() method for nullable Array typesTools. Gradle
KT-41142
Kotlin version conflict when using Kotlin Gradle plugins in pre-compiled script pluginKT-46353
Optimizations disabled in Gradle 7 for KAPT when generating sourcesKT-46368
Memory leak with 1.5.0-RC when building with GradleKT-46689
Track -Xuse-old-backend flag usageTools. Gradle. JS
KT-46006
KJS \ Gradle: Task without declaring an explicit or implicit dependency onjsGenerateExternalsIntegrated
in Gradle 7KT-46162
KJS: Exported items unavailable on dev serverKT-46331
KJS: Withkotlin.js.webpack.major.version=4
browserXRun tasks failTools. Parcelize
KT-46567
Kotlin 1.5.0 parcelize compilation fails in new backend when using TypeParceller with nested genericsTools. kapt
KT-45532
Do not create Kapt stubs directory during configuration timeChecksums
v1.5.0
: Kotlin 1.5.0Changelog
Backend. Native
KT-42053
Support compiler caches for linux_x64KT-43690
Support compiler caches for ios_arm64Backend. IR
KT-42684
StackOverflowError on recursive inline arguments in inline funCompiler
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 providedPerformance 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 loopFixes
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 typesDocs & Examples
KT-45884
Incorrect description for JVMtoUpperCase
methodIDE
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 constructorIDE. 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 sameIDE. 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 11IDE. Gradle. Script
KT-46215
Dead lock on closing project during the import in IJ211 through ScriptDefinitionsManagerIDE. 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 intentionIDE. Misc
KT-44675
Incorrect reference to resource into 202 pluginIDE. 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.5IDE. Script
KT-43288
Allow push notifications about script configuration /dependencies changes via theScriptDefinitionsProvider
EPJavaScript
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 resultLibraries
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 functionsMiddle-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 objectNative
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 stdlibNative. C and ObjC Import
KT-44824
cinterop tool no longer appends .klib to produced klibsNative. 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 raspberrypiNative. ObjC Export
KT-44549
In the Xcode debug session, call stack is missing a frame when the iOS app failsNative. Platforms
KT-45094
Fail to compile Kotlin Native sources under Oracle Linux 7Reflection
KT-44594
Avoid using unnecessary array types reflection in kotlin-reflectKT-44782
Add KClass.isValue to kotlin-reflectTools. Ant
KT-16227
Ant task: do not include runtime by default if destination is a jarKT-44293
Support fork mode in kotlinc Ant taskTools. 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.LanguageLevelTools. CLI. Native
KT-43874
Native / CLI: provide a way to show difference between Jvm and Native compilersTools. Compiler Plugins
KT-45783
Serialization: "AnalyzerException: Expected an object reference, but found I" caused byJvmInline
andSerializable
annotationsTools. 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.1Tools. 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 pluginTools. Gradle. Native
KT-46122
kotlinx-serialization and kotlinx-datetime can't be built with 1.5.0-RCTools. 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 pluginTools. Scripts
KT-45194
KT: Generate Kotlin Entities script: it doesn't workKT-44580
Scripts: Unable to set new file annotation hooks after first snippet compilationTools. 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 processorsChecksums
v1.4.32
: Kotlin 1.4.32Changelog
IDE
KT-43824
KtLightClassForSourceDeclaration#isInheritor works in a different way than java implementationKT-45287
LightClasses:KtLightSimpleModifierList
is no more a parent ofKtLightAnnotationForSourceEntry
KT-45291
LightClasses: can't get annotations for constructor val-parameterKT-45417
ULC leakage of primitive type annotationsTools. CLI
KT-44758
kotlin-compiler-embeddable dependency includes unshadedfastutil
packageKT-45007
Concurrent Kotlin script compilation/execution results in NullPointerException in KeyedExtensionCollector.getPoint()Checksums
v1.4.31
: Kotlin 1.4.311.4.31
Compiler
KT-39776
2020.3+: Unresolved reference to Kotlin stdlib functionIDE. Gradle Integration
KT-44845
After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=trueIDE. Gradle. Script
KTIJ-11137
build.gradle.kts: Fatal error during save/load standalone scripts settingsKTIJ-898
Unable to import with Kotlin DSL buildscript - NullPointerException in KotlinDslScriptModelProcessorKt.toListOfScriptModelsIDE. Multiplatform
KTIJ-1200
KotlinIconProviderKt.addExpectActualMarker takes up to 180+ secondsIDE
Fixes
KT-44697
New JVM IR backend notification - narrow its triggering to Kotlin projectsKT-44523
IDE notification for trying new JVM backendKTIJ-696
Freeze during startup of IDEA with intellij project with Kotlin (211-1.4.10-release-IJ1440)Checksums
*
Sorry, Sha256 sum was initially published incorrectly. Now it is fixed.v1.4.30
: Kotlin 1.4.30CHANGELOG
Android
KT-42383
HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroidBackend. Native
KT-38772
Native: support non-reified type parameters in typeOfKT-42234
Move LLVM optimization parameters into konan.propertiesKT-42649
IndexOutOfBoundsException during InlineClassTransformer loweringKT-42942
Native: optimize peak backend memory by clearing BindingContext after psi2irKT-43198
Native: supportinit
blocks inside inline classesCompiler
New Features
KT-28055
Supportinit
blocks inside inline classesKT-28056
Consider supporting non-public primary constructors for inline classesKT-41265
Support noarg compiler plugin for JVM IRKT-42094
Allow open callable members in expect interfacesKT-43129
FIR: Support OverloadResolutionByLambdaReturnTypeKT-43592
Promote JVM IR compiler backend to BetaKT-43919
Support loading Java annotations on base classes and implementing interfaces' type argumentsKT-44021
Enable JVM IR backend by default in 1.5Performance Improvements
KT-41352
JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive endKT-41644
NI: Infinite compilationKT-42791
OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inferenceKT-42920
NI: Improve performance around adding constraintsFixes
KT-11454
Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-filesKT-11732
Verify error for generic interface method invocation with default parametersKT-14612
"ISE: Recursive call in a lazy value" during processing of a (weakly) recursive type aliasKT-18344
Upper bound of a typealias type parameter is not reported correctly if it contains the typealias itselfKT-18768
@Notnull annotation from Java does not work with varargsKT-20548
java.lang.IllegalStateException: Illegal class container on simple Java code parsingKT-22465
Excessive synthetic method for private setter from superclassKT-23816
Inline classes: constants and annotationsKT-24158
AE: No receiver found on incomplete code with $-signsKT-24392
Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETERKT-26229
Lambda/anonymous function argument in parentheses is not supported for callsInPlace effectKT-29735
KNPE atKtEnumEntrySuperclassReferenceExpression.getReferencedElement
with explicit type argument inside enum member constructorKT-31389
ClassFormatError with companion object in annotation with @JvmStaticKT-31907
ISE: UNIT_EXPECTED_TYPE on parsing array literal inside lambda with Unit return typeKT-32228
Inconsistent boxing/unboxing for inline classes when interface is specialized by object expressionKT-32450
Inline class incorrectly gets re-wrapped when provided to a functionKT-35849
Missing nullability assertion on lambda return value if expected type has generic return value typeKT-35902
Kotlin generates a private parameterless constructor for constructors taking inline class arguments with default valuesKT-36399
Gradually support TYPE_USE nullability annotations read from class-filesKT-36769
JVM IR: Missing LVT entries for inline function (default) parameters at call siteKT-36982
JVM IR: SAM adapter classes are generated as syntheticKT-37007
JVM IR: extraneous property accessors are generated in multifile facade for InlineOnly propertyKT-37317
[FIR] Add support of extension functions in postponed lambda completionKT-38400
FIR: interface abstract is preferred to Any method in super resolveKT-38536
JVM IR: bound adapted function references are not inlinedKT-38656
FIR: determine overridden member visibility properlyKT-38901
FIR: Make behavior of integer literals overflow consistent with FE 1.0KT-39709
[FIR] False positive UNINITIALIZED_VARIABLE in presence of complex graph with jumpsKT-39923
Result.Failure will get wrapped with Success when using with RxJavaKT-40198
'$default' methods in 'kotlin/test/AssertionsKt' generated as non-synthetic by JVM_IRKT-40200
IDE: Multiple top-level main functions in different files: broken highlighting, "No descriptor resolved for FUN"KT-40262
ACC_DEPRECATED flag not generated for property getter delegate in multifile class facade in JVM_IRKT-40282
Inline class wrapping Any gets double boxedKT-40464
JVM_IR does not generate LINENUMBER at closing brace of (suspend) lambdaKT-40500
Warnings reporting by Java nullability annotations doesn't work for not top-level typesKT-40926
IDE import actions do not add required import for conventioninvoke()
extension callKT-40948
IllegalAccessError while initializing val property in EXACTLY_ONCE lambda that is passed to another functionKT-40991
NI: UNRESOLVED_REFERENCE_WRONG_RECEIVER instead of FUNCTION_EXPECTED with conventioninvoke
callKT-41163
Double wrapped value in Result class after map operationKT-41284
Spring CGLIB proxies break auto-generated data class componentN and copy methods when using JVM IRKT-41468
JVM IR: IllegalAccessError on access to abstract base member from another package, from anonymous object inside abstract classKT-41491
UNRESOLVED_REFERENCE_WRONG_RECEIVER instead of FUNCTION_EXPECTED when invoking non-functional value as a functionKT-41493
JVM IR: names of classes for local delegated variables contain the variable name twiceKT-41792
[FIR] Introduce & use ConeAttribute.UnsafeVarianceKT-41793
[FIR] Make captured types accessible at the end of resolveKT-41809
JVM IR: name for internal $default method doesn't include module nameKT-41810
JVM IR: Deprecated(HIDDEN) class is incorrectly generated as syntheticKT-41841
JVM IR: delegates for private functions with default arguments are generated in multifile classesKT-41857
Flaky 'ConcurrentModificationException' throughkotlin.serialization.DescriptorSerializer
KT-41903
JVM IR: do not generate LineNumberTable in auto-generated members of data classesKT-41911
JVM IR: nested big-arity function calls are not loweredKT-41957
JVM IR: step into suspend function goes to the first line of the fileKT-41960
JVM IR: smart step into members implemented with delegation to interface doesn't workKT-41961
JVM IR: line numbers are not generated in JvmMultifileClass facade declarationsKT-41962
JVM IR: intermittent -1 line numbers in the state machine cause double stepping in the debuggerKT-42001
Cannot resolve symbol: AssertionError: Module <sdk 1.8> is not contained in his own dependenciesKT-42002
JVM / IR: IllegalStateException: "No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" caused by named argumentsKT-42021
JVM / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" during IR lowering with suspend conversionKT-42033
JVM IR: accidental override in Map subclass with custom implementations of some membersKT-42036
IR: "AssertionError: TypeAliasDescriptor expected: deserialized class Nothing" when referencing typealias with @UnsafeVarianceKT-42043
JVM IR: Don't generate collection stubs when implementing methods with more specific return typesKT-42044
Compiler error when lambda with contract surrounded with parenthesesKT-42114
JVM_IR generates stub for 'removeIf' in abstract classes implementing 'List' and 'Set'KT-42115
JVM_IR doesn't generate 'next' and 'hasNext' method in an abstract class implementing 'ListIterator'KT-42116
FIR: Java accessor function should not exist in scope together with relevant propertyKT-42117
IR-based evaluator cannot handle Java static final fieldsKT-42118
FIR2IR: field-targeted annotation is placed on a property, not on a fieldKT-42130
FIR: type variable is observed after when condition analysisKT-42132
FIR2IR: companion function reference has no dispatch receiverKT-42137
JVM IR: AbstractMethodError on complex hierarchy where implementation comes from another supertype and has a more specific typeKT-42186
JVM / IR: Infinite cycle in for expression when unsigned bytes are used in decreasing loop rangeKT-42251
JVM / IR: "IllegalStateException: Descriptor can be left only if it is last" when comparing the i-th element of the container of Int? andi
with changeKT-42253
JVM IR: NoSuchFieldError on local delegated property in inline function whose call site happens before declaration in the sourceKT-42281
JVM / IR: AnalyzerException when comparing Int and array that cast to Any in if conditionKT-42340
FIR2IR: duplicating fake overridesKT-42344
IR-based evaluator doesn't support "annotation in annotation"KT-42346
FIR: double-vararg in IR while resolving collection literal as Java annotation argumentKT-42348
FIR: false UNINITIALIZED_VARIABLE in local classKT-42350
FIR: false UNINITIALIZED_VARIABLE after initialization in try blockKT-42351
FIR: false HIDDEN in enum entry member callKT-42354
JVM / IR: "AssertionError: Unexpected IR element found during code generation" with KPropertyget
invocationKT-42359
FIR2IR: cannot mangle type parameterKT-42373
FIR2IR: local object nested class has no parent if forward-referenced by nested class supertypeKT-42384
FIR (BE): top-level field has no parent class in BEKT-42496
FIR resolve: synthetic property is written but has no setterKT-42517
FIR: exception in BE for recursive inline callKT-42530
"AssertionError: No type for resolved lambda argument" on attempting to assign a Pair to a couple of values in a scratch fileKT-42601
[FIR] Inherited declaration clash for stdlib inheritorsKT-42622
NI: IllegalStateException for if expression with method reference inside flowKT-42642
ISE: NogetProgressionLastElement
for progression type IntProgressionTypeKT-42650
JVM IR: extraneous nullability annotation on a generic function of a flexible typeKT-42656
FIR2IR: unsupported callable reference for Java fieldKT-42725
Debugger steps into core library inline functions in chained callsKT-42758
JVM / IR: Deserialized object that overrides readResolve() is not reference equal to the singleton instanceKT-42770
FIR: duplicating signatures in mangler (typealias for functional type)KT-42771
FIR: duplicating signature in mangler (data class with delegate)KT-42814
FIR: false UNINITIALIZED_VARIABLE in local function after if...elseKT-42844
FIR: Property write in init block resolved to parameter writeKT-42846
JVM_IR: NPE on function reference to @JvmStatic method in a different fileKT-42933
JVM / IR: "AnalyzerException: Expected an object reference, but found I" with local delegate in inline classKT-43006
JVM/JVM_IR: do not generate no-arg constructor for constructor with default arguments if there are inline class types in the signatureKT-43017
JVM / IR: AssertionError when callable reference passed into a function requiring a suspendable functionKT-43051
JVM IR: extraneous methods overridding default (Java 8) collection methods in inline class that extends MutableListKT-43067
Inner class declaration inside inline class should be prohibitedKT-43068
JVM IR: no generic signatures for explicitly written methods in a List subclass, whose signature coincides with MutableList methodsKT-43132
JVM / IR: Method name '<get-...>' in class '...$screenTexts$1$1' cannot be represented in dex format.KT-43145
JVM IR: $default methods in multi-file facades are generated as non-synthetic finalKT-43156
FIR: false UNINITIALIZED_VARIABLE after initialization insynchronized
blockKT-43196
JVM: extra non-static member is generated for extension property in inline classKT-43199
JVM IR: synthetic flag for deprecated-hidden is not generated for DeprecatedSinceKotlin and deprecation from overrideKT-43207
JVM IR: no collection stub foriterator
is generated on extending AbstractCollectionKT-43217
JVM_IR: Multiple FAKE_OVERRIDES for java methods using @NonNull Double and java doubleKT-43225
Confusing message of warning NULLABLE_TYPE_PARAMETER_AGAINST_NOT_NULL_TYPE_PARAMETERKT-43226
"Incompatible stack heights" with non-local return to outer lambda inside suspend lambdaKT-43242
JVM / IR: "AnalyzerException: Expected I, but found R" caused bywhen
inside object with @Nullable Integer subjectKT-43249
Wrong code generated for suspend lambdas with inline class parametersKT-43286
JVM IR: IAE "Inline class types should have the same representation: Lkotlin/UInt; != I" on smart cast of unsigned type value with JVM target 1.8KT-43326
JVM_IR: No deprecated flag for getter of deprecated interface property copied to DefaultImplsKT-43327
JVM_IR: No deprecated or synthetic flag for accessors of deprecated-hidden property of unsigned typeKT-43332
FIR: Smart casts lead to false-positive ambiguityKT-43370
JVM IR: No deprecated flag for getter of deprecated property copied via delegation by interfaceKT-43459
JVM_IR. Wrong signature for synthetic $annotations method for extension property on nullable primitiveKT-43478
NI: "IndexOutOfBoundsException: Index: 3, Size: 3" caused byis
check with raw type insideif
condition withwhen
insideKT-43519
JVM_IR. External functions generated differently in multi file facadesKT-43524
JVM_IR. Missed deprecation flag on companion @JvmStatic property accessorKT-43525
Prohibit JvmOverloads on declarations with inline class types in parametersKT-43536
JVM IR: IllegalStateException is not caught by runCatching under Deferred.await() with kotlinx.coroutinesKT-43562
JVM IR: incorrect mangling for Collection.size in unsigned arraysKT-43584
[FIR] Java annotations with named arguments aren't loaded correctlyKT-43587
Invalid default parameter value in expect actual declaration on jvmKT-43630
"AssertionError: Number of arguments should not be less than number of parameters" during capturing intersection raw type with star projectionKT-43698
NoSuchMethodError for inline class implementing interface with @JvmDefault methods, -Xjvm-default=enableKT-43741
Report error on inline class implementing 'kotlin.Cloneable'KT-43845
org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtBlockExpressionKT-43956
NI: "Error type encountered – UninferredParameterTypeConstructor" on "try" and other constructs with code block as a valueKT-44055
Left uninferred type parameter for callable references inside special callsKT-44113
Compiler frontend exception: Number of arguments should not be less than number of parameters, but: parameters=2, args=1KT-44145
No highlighting for not initialized base constructor and NoSuchMethodError in Android pluginKT-44540
Regression in 1.4.30 in intellij-community: type mismatch for generic function call with generic Java classKT-44563
Type Inference loosing type annotations in lambda type expectation for function calls with block parametersIDE
New Features
KT-44075
Sealed interfaces: New Kotlin Class/File menu updateFixes
KT-29454
Light class with unexpected name when using obfuscated libraryKT-31553
Complete Statement: Wrong auto-insertion of closing curly brace for a code blockKT-33466
IDE generates incorrectexternal override
with body for overridingopen external
methodKT-39458
Add CLI support for UL classesKT-40403
UAST: PsiMethod for invoked extension function/property misses@receiver:
annotationsKT-41406
Kotlin doesn't report annotations for type arguments (no way to add@Nls
,@NonNls
annotations to String collections in Kotlin)KT-41420
UAST does not return information about type annotationsKT-42194
OOME: Java heap space from incremental compilationKT-42754
MPP: no smart cast for Common nullable property used in platform moduleKT-42821
MPP, IDE: Platform-specific errors are reported even when build doesn't target that platformKT-44116
Add language version 1.5 to the compiler configuration preferencesKT-44523
IDE notification for trying new JVM backendKT-44543
Kotlin's LowMemoryWatcher leaks on Kotlin plugin unloadIDE. Android
KT-42381
MPP: Bad IDEA dependencies: JVM module depending on built artifact instead of sources of module with Android Plugin appliedIDE. Completion
KT-44016
Code completion: support for "sealed interface"KT-44250
Code completion does not work in when expression with sealed type argumentIDE. Gradle. Script
KT-39105
AE “JvmBuiltins has not been initialized properly” after creating new Gradle/Kotlin-based project via old Project WizardIDE. Inspections and Intentions
New Features
KT-22666
"Create enum constant" quick fix could be providedKT-24556
Add Remove quick fix for "Expression under 'when' is never equal to null"KT-34121
Report unused result of data classcopy
methodKT-34533
INLINE_CLASS_CONSTRUCTOR_NOT_FINAL_READ_ONLY_PARAMETER: Add quickfix "Add val to parameter"KT-35215
Quickfix for CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT to removeconst
modifierKT-40251
Intention action to evaluate compile time expressionKT-44017
Sealed interfaces: Java side Inspection "implementation of Kotlin sealed interface is forbidden"KT-43941
Sealed interfaces: intention to extend class/interfaceKT-44043
Sealed interfaces: quickfix to move class/interface to proper locationFixes
KT-20420
Intention "Put arguments/parameters on separate lines" doesn't respect the "Place ')' on new line" Kotlin code style settingKT-21799
Quickfix "Change function signature" for receiver type doesn't change itKT-22665
"Create object" quick fix produce wrong code for enumKT-23934
IntelliJ suggest "merge map to joinToString" even when such action is impossible due to suspending actions in mapKT-30894
Wrong results of intention "Add names to call arguments" when backticked argument starts from digitKT-31523
ReplaceWith introduces additional argument name for lambda when named argument is used on call-siteKT-31833
JavaMapForEachInspection should report for expression with implicit receiverKT-33096
Turn 'MapGetWithNotNullAssertionOperator' into an intentionKT-33212
False positive "map.put() should be converted to assignment" inspection when class inherited from MutableMap has "set" methodKT-34270
False negative "Join declaration and assignment" with constructor callKT-34859
False positive "Should be replaced with Kotlin function" inspection for Character.toString(int) functionKT-34959
False positive "Redundant overriding method" with different implemented/overridden signaturesKT-35051
False positive "Remove redundant backticks" if variable inside the string and isn't followed by spaceKT-35097
False positive "Call replaceable with binary operator" on explicit 'equals' call on a platform type valueKT-35165
"Replace 'if' with elvis operator": don't suggest if val initializer is a complex expressionKT-35346
False positive 'Make internal' suggestion for function inside interfaceKT-35357
"Move lambda argument out of parentheses" does not preserve block commentsKT-38349
Invalid suggestion to fold to elvis when having a var-variableKT-40704
False negative "Redundant semicolon" at start of lineKT-40861
"Convert to secondary constructor" intention expected on class nameKT-40879
False positive "Redundant 'inner' modifier" when calling another inner class with empty constructorKT-40985
"Remove explicit type arguments" is suggested when type has an annotationKT-41223
False positive "Redundant inner modifier" inspection ignores constructor arguments of object expressionsKT-41246
False positive "Receiver parameter is never used" with anonymous function expressionKT-41298
"Remove redundant 'with' call" intention works incorrectly with non-local returns and single-expression functionsKT-41311
False positive "Redundant inner modifier" when deriving from a nested Java classKT-41499
"Convert receiver to parameter" produces code with incorrect order of generic type and function invocation in case of generic function with lambda as a parameterKT-41680
False positive "Redundant inner modifier" when deriving from class with non-empty constructor and value passed to it from enclosing classKT-42201
Add Opt-In action doesn't work if there is already OptIn annotationKT-42255
"Replace elvis expression with 'if' expression" intention shouldn't introduce unnecessary variable if 'error' expression is usedIDE. JS
KT-43760
KJS: Debugging Kotlin code for Node.js runtime doesn't workIDE. Misc
KT-44018
Sealed interfaces: IDE side implementation for hierarchy providerIDE. Multiplatform
KT-40814
MISSING_DEPENDENCY_CLASS when consuming native-shared library in a source-set with fewer targets than library hasIDE. Run Configurations
KT-34535
Unable to run common tests on Android via gutter icon in a multiplatform projectIDE. Scratch
KT-25038
Scratch: Destructuring declaration produces an unresolved referenceKT-43415
Kotlin scratch file could not be run and could lead to dead lockIDE. Script
KT-44117
IDE / Scripts: custom kotlin script definitions aren't loadedJavaScript
Fixes
KT-31072
Don't use non-reified arguments to specialize type operations in IR inlinerKT-39964
Throwable incorrectly implements constructor for (null, cause) args in K/JS-IRKT-40090
KJS: IR. Invalid behaviour for optional parameters (redundant tail undefined parameters)KT-40686
KJS: Uncaught ReferenceError caused by external class as type inside eventListener in init blockKT-40771
KJS / IR: "ReferenceError: Metadata is not defined" caused by default parameter value in inner class constructorKT-41032
KJS / IR: "AssertionError: Assertion failed" caused by class that is delegated to inherited interfaceKT-41076
KJS / IR: "AssertionError: Assertion failed" caused by overridden extensiion function in child classKT-41771
KJS / IR: IndexOutOfBoundsException "Index 0 out of bounds for length 0" caused by inline class with List in primary constructor and vararg in secondaryKT-42025
KJS / IR: IrConstructorCallImpl: No such type argument slot: 0KT-42112
KJS: StackOverflowError on @JsExport in case of name clash with function with Enum parameter with star-projectionKT-42262
KJS:break
-statements without label are ignored in awhen
KT-42357
KotlinJS - external class constructor with vararg does not correctly handle spread operator.KT-42364
KJS: Properties of interface delegate are non-configurableKT-43212
JS IR: supportinit
blocks inside inline classesKT-43222
KJS IR: prototype lazy initialization for top-level properties like in JVMKT-43313
KJS / IR: "Can't find name for declaration FUN" for secondary constructorKT-43901
Call to enum values() method from enum companion object leads to non-initialized enum instancesKMM Plugin
KT-41677
Could not launch iOS project with custom display nameKT-42463
Launch common tests for Android on local JVM via run gutterKT-43188
NoSuchMethodError in New Module Wizard of KMM ProjectLibraries
KT-41112
Docs: add more details about bit shift operationsKT-41278
map.entries.contains can return false if the argument is not MutableEntryKT-41356
Incorrect documentation forrangeTo
functionKT-44456
Introduce locale-agnostic API for case conversionsKT-44458
Introduce new Char-to-code and Char-to-digit conversionsMiddle-end. IR
KT-41765
[Native/IR] Could not resolveFakeOverride()KT-42054
Psi2ir: "RuntimeException: IrSimpleFunctionSymbolImpl is already bound" when using result of function with overload resolution by lambda return typeNative
KT-44219
1.4.30-M1: Non-reified type parameters with recursive bounds are not supported yetKT-44271
[Kotlin/Native] Incorrect linking when targeting linux_x64 from mingw_x64 hostNative. C and ObjC Import
KT-42412
[C-interop] Modality of generated property accessors is always FINALNative. ObjC Export
KT-38530
Native: values() method of enum classes is not exposed to Objective-C/SwiftKT-43599
K/N: Unbound symbols not allowedNative. Platform libraries
KT-43597
Support for Xcode 12.2 SDKNative. Platforms
KT-43276
Support watchos_x64 targetNative. Runtime
KT-42822
Kotlin/Native Worker leaks ObjC/Swift autorelease references (and indirectly bridged K/N references) on Darwin targetsNative. Stdlib
KT-42172
Kotlin/Native: StableRef.dispose race condition on Kotlin deinitRuntimeKT-42428
Inconsistent behavior of map.entries on Kotlin.NativeReflection
KT-34024
"KotlinReflectionInternalError: Inconsistent number of parameters" withjavaMethod
on suspending functions with inline class in function signature or inside the functionTools. CLI
KT-43294
Support-no-stdlib
option for thekotlin
runnerKT-43406
JVM: produce deterministic jar files if -d option value is a .jar fileTools. CLI. Native
KT-40670
Allow to override konan.properties via CLITools. Compiler Plugins
KT-41764
KJS /IR IllegalStateException: "Symbol for public kotlin/arrayOf is unbound" with serialization pluginKT-42976
kotlinx.serialization + JVM IR: NPE on annotation with @SerialInfoKT-43725
Prohibit inner and local classes in kotlin-noargTools. Gradle
KT-38692
KaptGenerateStubs Gradle task will not clean up outputs when sources are empty and not an incremental buildKT-40140
kotlin-android plugin eagerly creates several Gradle tasksKT-41295
Kotlin Gradle Plugin 1.4.20 Configuration Caching bug due to friendPath providerKT-42058
Support moduleName option in Kotlin Gradle plugin for JVMKT-43054
Implementation ofAbstractKotlinTarget#buildAdhocComponentsFromKotlinVariants
breaks configuration cachingKT-43489
Incremental compilation - unable to find history files causing full recompilationKT-43740
Gradle out-of-process runner fails with unclear diagnostics if build directory does not existKT-43895
Fix cacheability warnings for the Kotlin pluginsTools. Gradle. JS
KT-42400
Kotlin/JS: Gradle DSL: customField() is rejected in Groovy build.gradleKT-42462
NPM dependency declaration with Groovy interpolated stringKT-42954
Kotlin/JS: IDE import after changingkotlin.js.externals.output.format
does not re-generate externalsKT-43535
Common webpack configuration breaks on lambda serialization in some casesKT-43668
PackageJson task use file dependencies as is (files and directories), but only files necessaryKT-43793
nodeArgs in NodeJsExec taskKT-43842
KJS: Invalidoutput.library
support fornull
valueKT-44104
KJS / Gradle: An ability to pass jvm args to K2JSDce processTools. Gradle. Multiplatform
KT-42269
Setup default dependsOn edges for Android source setsKT-42413
[MPP/gradle]withJava
breaks build on 1.4.20-M1KT-43141
Gradle / Configuration cache: NPE from org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon.getKotlinOptions() on reusing configuration cache for task compileCommonMainKotlinMetadataKT-43329
Gradle / Configuration cache: IAE “Parameter specified as non-null is null: method KotlinMetadataTargetConfiguratorKt.isCompatibilityMetadataVariantEnabled, parameter $this$isCompatibilityMetadataVariantEnabled” on reusing configuration cache for task compileKotlinMetadataKT-44298
Kotlin 1.4.20+ MPP "root" module publication does not include the source JAR that used to be published in the -metadata modulesTools. Gradle. Native
KT-39564
Make kotlin-native Gradle tasks CacheableKT-42485
Fail on cinterop: clang_indexTranslationUnit returned 1KT-42550
Adding subspec dependency with git location failedKT-42849
Gradle / Configuration cache: tasks nativeMetadataJar, runReleaseExecutableNative, runDebugExecutableNative are unsupported and fails on reusing configuration cacheKT-42938
CocoaPods Gradle plugin: podBuildDependencies doesn't properly report xcodebuild failuresKT-43151
Gradle / Configuration cache: UPAE “lateinit property binary has not been initialized” on reusing configuration cache for linkDebugExecutableNative, linkDebugTestNative, linkReleaseExecutableNative tasksKT-43516
Failed to resolve Kotin library [Multiple Multiplatform modules]Tools. Incremental Compile
KT-42937
another compilation fail (problem with compilation caches?)Tools. JPS
KT-39536
JPS compilation fails with IOException "storage is already closed"Tools. Parcelize
KT-41553
JVM IR, Parcelize: IrStarProjectionImpl cannot be cast to class IrTypeProjectionTools. Scripts
KT-43534
Allow running "main.kts" script that does not end in a "main.kts" filename (would allow kotlin scripting on GitHub Actions)KT-43176
NoSuchMethodError: 'int Script.access$getAValue$p(Script) for not-inlined functionsKT-43294
Support-no-stdlib
option for thekotlin
runnerTools. kapt
KT-34340
Incremental annotation processor recompile all files (only if KAPT enabled).KT-36667
Kapt: Add a flag to strip kotlin.Metadata() annotations from stubsKT-40493
KAPT does not support aggregating annotations processors in incremental modeKT-40882
Kapt stub generation is non-deterministic for incremental compilationKT-41788
NullPointerException: Random crashes of build using gradle and kapt because of not calling Processor.init()KT-42182
KAPT: Does not consider generated sources for incremental compilation.Checksums
v1.4.21-2
: Kotlin 1.4.21-2This release contains the fix for the kotlinx.serialization plugin working together with Jetpack Compose plugin.
Please use the 1.4.21 version for your usual production work and use this version only if you want to experiment on kotlinx.serialization and Jetpack Compose together.
v1.4.21
: Kotlin 1.4.21CHANGELOG
IDE. Gradle Integration
KT-42561
"Could not get unknown property 'sourceSets' for project" when running JVM module with included MPP moduleKT-43511
Task 'MainKt.main()' not found in root projectLibraries
KT-43586
Source documentation: ExperimentalPathAPI misspeltKT-43745
replace
for strings ignores case of locale charactersNative. C and ObjC Import
KT-43265
Kotlin/Native fails to generate alias for C enum entryKT-43530
Kotlin/Native compilation fails with "Symbol for public kotlin/Array.size.|-8255337774232345969[0] is unbound"Native
KT-43517
On Kotlin 1.4.20 we got kotlin.NotImplementedError when try compile iOS frameworkTools. Gradle. JS
KT-43668
PackageJson task use file dependencies as is (files and directories), but only files necessaryChecksums
v1.4.20
: Kotlin 1.4.20CHANGELOG
Android
KT-42121
Deprecate Kotlin Android Extensions compiler pluginKT-42267
Platform declaration clash
error in IDE when usingkotlinx.android.parcel.Parcelize
KT-42406
Long or infinite code analysis on simple files modificationBackend. Native
KT-27534
Bridges to Nothing-returning methods have incorrect signatureKT-30284
Native: Nothing? type for expression override and crashKT-36430
Optimize when with in range casesKT-38787
Missing optimization for "in range" checkKT-39100
Make Native behaviour of property initialization consistent with JVMKT-39798
Override equals/hashCode in functional interface wrappers on NativeKT-39800
equals/hashCode on adapted function references on NativeKT-41394
Compilation failed: Backend Internal error: Exception during IR loweringKT-41907
Framework test segfaults on GC on watchos_x86 compiled with -optCompiler
New Features
KT-21147
JEP 280: Indify String Concatenation (StringConcatFactory)KT-34178
Scripts should be able to access imports objectsKT-35549
Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)KT-31567
Support special semantics for underscore-named catch block parametersPerformance Improvements
KT-20571
Coroutines: Reduce number of local variables stored at suspension pointKT-28016
Coroutine state-machines spill/unspill shall be optimized using data-flow analysisKT-33394
UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefixKT-36814
Support optimized delegated properties in JVM_IRKT-36829
Optimize 'in' expressions (operator fun contains) in JVM_IRKT-41741
NI: "AssertionError: Empty intersection for types" with generic Java collectionKT-42195
NI: prohibitively long compilation time for values of nested data structures with type inferenceKT-42221
Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10Fixes
KT-11713
Refine visibility check for synthetic property with protected setterKT-16222
Coroutine should be clearing any internal state as soon as possible to avoid memory leaksKT-25519
Extra inline marks inside suspending function callable reference bytecodeKT-33226
Object INSTANCE field not annotated with NotNull in generated bytecodeKT-35495
FIR: forbid non-Java synthetic propertiesKT-35651
Kotlin stdlib has greater resolution priority than jars added via @file:DependsOn annotationKT-35716
Using @JvmOverloads in @JvmStatic functions in interface companion objects causes a ClassFormatErrorKT-35730
FIR: consider creating fake overrides for objectsKT-36951
IllegalStateException: Expected some types: Throwing exception when there is a type parameter upper bound for itselfKT-37321
[FIR] Support java array in type argumentKT-37431
[FIR] Support Builder InferenceKT-38272
FIR2IR: use lazy IR symbols for externals & fake overridesKT-38333
FIR: CCE on red code with assignment used as expressionKT-38334
FIR: CCE when resolving try-as-expressionKT-38336
FIR: NPE with corrupted numeric constant literalKT-38397
FIR: Exception while resolving contract definitionKT-38444
[FIR] Invoke extension lambda with safe callKT-38470
FIR: ConeDefinitelyNotNullType in signatureKT-38471
FIR: ConeIntersectionType in signatureKT-38925
Internal error: wrong bytecode generated. (AssertionError: int type expected, but null was found in basic frames)KT-38989
FIR: Refine sealed classes exhaustiveness in case of sealed subclassKT-38992
FIR: Refine type resolution for inner classesKT-39000
FIR: Support smartcast after reference equality checkKT-39005
FIR: Resolve plusAssign in a dependent contextKT-39008
FIR: Investigate strange effect of type alias and not-nullable bound on inferenceKT-39012
FIR: Inference doesn't get through elvis to lambda parameterKT-39028
FIR: Strange resolution to synthetic property with implicit extension receiver while there's an explicit receiverKT-39032
FIR: Ambiguity in member scope of a type parameter with multiple boundsKT-39033
FIR: Ambiguity when calling generic overridden propertyKT-39034
FIR: Support nested extension function typesKT-39040
FIR: Deserialize annotations from compiled Kotlin binariesKT-39043
FIR: Bare types incorrectly work with type aliasesKT-39044
FIR: Add fillInStackTrace to member scope of kotlin.ThrowableKT-39046
FIR: Implicit types in lambdas left when call argument is a type castKT-39048
FIR: Inference fails with integer literal used as ComparableKT-39050
FIR: Type resolver doesn't see nested classes from super class of a local classKT-39070
FIR: Ambiguity on super calls to hashCode/equals when having super interface and classKT-39072
FIR: Subtyping check doesn't affect nullability of safe-call receiverKT-39076
FIR: Synthetic property is not a var because of @Nullable annotation on parameterKT-39080
FIR: Smart casts remain incorrect if lambda is present in when branchKT-39374
Wrong bytecode generated for suspend function call with EXACTLY_ONCE lambda capturing a variable initialized in when-subjectKT-39621
[FIR] Support when exhaustiveness checker for java enumsKT-40135
JVM IR does not generate restricted suspend lambdasKT-40382
Missing proper jvmSignature for synthesized equals/hashCode/toString in inline classesKT-40605
JVM IR: IndexOutOfBoundsException caused by inner class passed to generic outer class method with Nothing type argumentKT-40664
JVM: No bounds check in optimization ofULong in UInt..UInt
KT-40665
JVM: No resolved function check when optimizingin/contains
with mismatched bound typesKT-41014
FIR2IR: when/where/how to determine the presence of a backing field for a propertyKT-41018
FIR2IR: sort members during de/serializationKT-41144
False positive "Redundant spread operator" in when statement and generic vararg argumentKT-41218
HMPP: arrayList declarations are visible both from stdlib-common and stdlib-jvm and lead to false-positive resolution ambiguity in IDEKT-41374
JVM / IR: NoSuchMethodError in Android project compiler caused by combination of inline classes and coroutinesKT-41388
NI: Backend Internal error: Exception during IR loweringKT-41429
Inline class returned from suspend function should be boxed on resume pathKT-41465
JVM / IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL CLASS name" caused by inline method call into multiple constructorsKT-41484
JVM IR: support -Xemit-jvm-type-annotationsKT-41668
JVM IR: incorrect enclosing constructor for lambdas in initializers of inner classesKT-41669
JVM IR: incorrect hashCode intrinsic is used in JVM target 1.8 for generic type substituted with primitiveKT-41693
NI: Type inference in nested expression incorrectly assumes non-nullable return type of Java function, causing NullPointerExceptionKT-41729
NI: UnsupportedOperationException with invalid callable referenceKT-41761
JVM IR: CCE from backend on generating typeOf for non-reified type parameter with star projection in upper boundKT-41789
Missing DebugMetadata in inlined suspend lambdaKT-41913
NI: Kotlin 1.4 type inference breaks valid codeKT-41934
NI: a type variable for lambda parameter has been inferred to nullable type instead of not null oneKT-42005
JVM / IR: "NullPointerException: Parameter specified as non-null is null" when toString is called on inline class with not primitive propertyKT-42450
NI: "IllegalStateException: Error type encountered: NonFixed:" with coroutinesKT-42523
Missed DefaultImpls for interface in-jvm-default=all
mode on inheriting it from interface compiled in old schemeKT-42524
Wrong specialization diagnostic is reported on inheriting from java interface with default with -Xjvm-default=all-compatibilityKT-42546
HMPP: incorrect subtyping of nullable types & overload resolution ambiguity on using and expect-function declaration with nullable expect in a signatureKT-17691
Wrong argument order in resolved call with varargsKT-25114
Prohibit @JvmStatic on functions in private companionsKT-33917
Prohibit to expose anonymous types from private inline functionsKT-35870
Forbid secondary enum class constructors which do not delegate to the primary constructorKT-39098
NI: parameter of anonymous function can be inferred to Any? if another parameter's type is specifiedKT-41176
NI with Gson: "ClassCastException: java.util.ArrayList cannot be cast to java.lang.Void"KT-41194
ClassCastException on returning Result.failure from lambda within suspend functionKT-42438
NI: ClassCastException: cannot be cast to java.lang.Void caused by when statement inrun
functionKT-42699
False positive NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT diagnostic in new jvm-default modesKT-42706
Kotlin 1.4 infers generic is Nothing instead of actual Foo class (Android project)Docs & Examples
KT-42318
No documentation forkotlin.js.js
IDE
New Features
KT-20775
More kotlin kinds in new kotlin file/class menuKT-31331
Improve: Optimize Import should remove unused unresolved importsKT-31500
Smart enter: support get() clauseKT-39231
Injection: Add receiver of kotlin.text.toPattern to standard Kotlin injectionsKT-39844
Add specific highlight for Enum classPerformance Improvements
KT-39353
Implement EnterBetweenBracesNoCommitDelegateKT-39720
A lot of freezes in Kotlin projectKT-41634
Deadlock in org.jetbrains.kotlin.idea.framework.LibraryEffectiveKindProviderImpl.getEffectiveKindKT-41936
Impossible to work with Kotlin 1.4 in 202 idea, idea eats all cpuFixes
KT-10790
"Move statement up" for @file-targeted annotation moves package declaration to bottom of fileKT-15262
"Generate toString()" is ignoring property if it has a getterKT-24352
Method separators: displayed between properties, not displayed between companion object and functionKT-29364
"Extend selection" can't select lambda body with parametersKT-32403
Clickable links in annotation parameters (like in TODOs)KT-32409
Organizing imports should not remove imports while there are unresolved symbolsKT-34566
Too small indent after line break for multi line stringsKT-34587
"Move statement down" doesn't work for statement in constructor with end-of-line commentKT-34705
"Move statement down" for penultimate statement with end-of-line comment in constructor leads to moving comma to the end of commentKT-34707
"Move statement up" for last statement with end-of-line comment in constructor leads to moving comma to the end of commentKT-35424
FIR IDE: Kotlin project does not see stdlibKT-35732
URLs in String literals are not clickableKT-35859
Language injection doesn't work with named arguments in different positionKT-37210
UAST: KtLightClassForSourceDeclaration.isInheritor sometimes returns the wrong resultKT-37219
File level OptIn annotation is not recognized by the IDEKT-38959
IDE: False negative EXPLICIT_DELEGATION_CALL_REQUIRED, "IllegalArgumentException: Range must be inside element being annotated"KT-39398
Wrong import of unrelated object member is suggested for receiverKT-39457
Separate decompiled declarations Light implementation from LightClasses infrastructureKT-39899
KotlinOptimizeImportsRefactoringHelper: ISE: Attempt to modify PSI for non-committed DocumentKT-40578
UAST: write accesses to Kotlin properties should resolve to setterKT-41290
KotlinClassViaConstructorUSimpleReferenceExpression resolves to PsiMethod instead of PsiClassKT-42029
HMPP, IDE: NPE fromFacetSerializationKt.getFacetPlatformByConfigurationElement
on project openingKT-43202
On 1.4.20-RC version AS ask for xml compatibility update for EAP version of pluginKT-42883
No highlighting for elements marked as @Deprecated in stdlibIDE. Android
KT-42406
Long or infinite code analysis on simple files modificationKT-42061
Highlighting is broken in Android activityKT-41930
Android Studio 4.2 cannot start after updating to 1.4.20 plugin with error: Missing essential plugin: org.jetbrains.androidIDE. Completion
KT-26235
Kotlin methods/fields don't have icons in Java completionIDE. Debugger
KT-37486
Kotlin plugin keeps reference to stream debugger support classes after stream debugger plugin is disabledKT-38659
Evaluate Expression:toString()
on variable returns error when breakpoint is incommonTest
sourcesetKT-39309
Debugger: Prolonged "Collecting data" for variables when breakpoint is insiderespondHtml
KT-39435
"Collecting data..." in debugger variables view never finishesKT-39717
Debugger shows "Collecting data..." forever for instances of some classKT-40386
Memory leak detected: 'org.jetbrains.kotlin.idea.debugger.coroutine.view.XCoroutineView'KT-40635
Coroutines Debugger: make IDE plugin accept coroutines 1.3.8-rc* versions as wellKT-41505
Coroutines Debugger: “Access is allowed from event dispatch thread with IW lock only.”IDE. Decompiler, Indexing, Stubs
KT-28732
Stub file element types should be registered early enoughKT-41346
IDE: "AssertionError: Stub type mismatch: USER_TYPE!=REFERENCE_EXPRESSION" withCollapsedDumpParser
class from IDEA SDKKT-41859
File analysis never ending with kotlinx.cli (AssertionError: Stub type mismatch: TYPEALIAS!=CLASS)KT-41640
"Project roots have changed" happened during indexing because of org.jetbrains.kotlin.idea.core.script.ucache.ScriptClassRootsUpdater$notifyRootsChanged increases overall indexing time.KT-41646
"AssertionError: ContentElementType: FILE"; Code analysis never finishes on some files from my projectIDE. Gradle Integration
KT-34271
SupportpureKotlinSourceFolders
for MPP projectsKT-37106
Gradle + IDE integration: on creating source roots from Project tree IDEA creates incorrect settingsKT-38830
addTransitiveDependenciesOnImplementedModules performance is slowing down Android Studio Gradle SyncKT-41703
Kotlin plugin not functional: PluginException: While loading class org.jetbrains.kotlin.idea.core.script.KotlinScriptDependenciesClassFinderIDE. Gradle. Script
KT-35092
“Unable to get Gradle home directory” popup and no build.gradle.kts highlighting right after creating a new projectKT-37590
Wrong notification for precompiled build scriptKT-39523
Go to Declaration navigates to decompiled classfile instead of sources in case of jumping to Gradle plugin sources in buildSrcKT-39542
EA-218043: java.util.NoSuchElementException: No element of given type found (GradleBuildRootsManager)KT-39790
List of standalone script should be saved between IDE restartsKT-39910
build.gradle.kts isn't highlighted after importKT-39916
init.gradle.kts isn't highlightedKT-40243
gradle.kts: standalone script under build root isn't highlighted as standaloneKT-41141
Gradle Kotlin DSL: "cannot access 'java.lang.Comparable'. Check your module classpath" with empty JDK in Project structureKT-41281
Multiple Script Definitions warning shown in git project having multiple Gradle projectsIDE. Hints
KT-32368
Rework Inline hints settings so that they look appropriate with the new UI in 2019.3KT-38027
Support Code Vision feature in KotlinKT-42014
ClassNotFoundException in Android Studio 4.2 after installing 1.4.20 pluginIDE. Hints. Parameter Info
KT-24172
Parameter info marks signature as inapplicable when using argument labelsKT-41617
Parameter Info shows nothing inside already present type arguments of supertypeKT-41645
Add support for mixed named arguments to parameter info popupIDE. Inspections and Intentions
New Features
KT-14578
Suggest "Convert lambda to reference" intention for generic extension functionKT-19321
Warn if method with nullable return type always returns non-nullKT-20718
Add a quick fix for "this class has no constructor" error on 'expect' annotation classesKT-21223
Add inspection for incomplete destructuringKT-22420
Intention to replace a = b with b.also { a = it }KT-39930
Add inspection for nullable Boolean inif
conditionKT-40016
Replace 'a.toLowerCase() == b.toLowerCase()' with 'a.equals(b, ignoreCase = true)' inspectionKT-40283
Inspection which replacesalso
/apply
with nestedforEach
toonEach
KT-40769
Add intention to replace isBlank/isNotBlank method negationFixes
KT-12222
Intention 'Convert to block body' should take nullability of overriden method into account when expression is of platform typeKT-14395
Lambda to Reference doesn't work for generic typesKT-15846
'Change lambda expression return type' quick fix does nothingKT-15944
IDEA doesn't suggest to replace deprecated get set operator functions when it used as operatorKT-17222
"Convert reference to lambda" creates red code for method with default argument valuesKT-18125
"Wrap with let {...}" intention not available in all casesKT-20438
Naming convention inspections: factory functions that are named like classes are flaggedKT-24138
Incorrect behavior in "convert reference to lambda" with new inference enabled, on function reference with default argumentsKT-29844
"Create class from usage" should mark constructor of created class as internal if its parameters have internal visibilityKT-30928
"Show hints for suspend calls" is too easy to enable and hard to disableKT-31749
"Surround with null check" produces incorrect check for 'in' expressionKT-32963
Don't suggestjava
directory of a JVM source set in multiplatform project as a target forCreate actual
quick fixKT-33211
Quickfix "add parameter" for method references should infer functional type instead of KFunctionKT-33258
"Merge 'if's" intention drops comment before nested ifKT-34572
Convert to block body action improperly works with suppress annotationsKT-35128
IntentionConvert member to extension
hides property delegate text with single line commentKT-35214
IntentionPut parameters on one line
: don't suggest if parameters has end-of-line commentsKT-35320
False positive "Replace explicit parameter 'x' with 'it'" in 'when' expression which returns lambdaKT-35525
False positive intention for 'run': "Convert to 'let'" when invoked without receiverKT-35526
Intention "Eliminate argument of 'when'" is broken for 'when' expression without 'else' branchKT-35805
FoldInitializerAndIfToElvis: should not add new line for multiline initializerKT-36051
IfThenToSafeAccessInspection: do not report if condition is SENSELESS_COMPARISONKT-37748
"Convert anonymous function to lambda expression" intention does not add necessary lambda type parameterKT-37841
IllegalStateException after "add non-null asserted call" on nullable function referenceKT-38139
False negative "Add suspend modifier" quickfix when suspend function is called in inline lambdaKT-38267
False positive "Call on collection type may be reduced" with Java platform types: suggested to reduce 'mapNotNull' call to 'map'KT-38282
False positive "Remove redundant spread operator" inspection with array as class property or fun argumentKT-38915
"Remove explicit type specification" intention should be disabled in explicit API modeKT-38981
"Specify return type explicitly" inspection is not reported for declaration annotated with @PublishedApi in Explicit Api modeKT-39026
'Specify return type explicitly' intention duplicates compiler warning in Explicit api modeKT-39200
False positive "Redundant qualifier name" with same-named member object and companion propertyKT-39263
False positive "Variable should be inlined" for override value in initialized objectKT-39311
Batch quick fix name for "Change file's package" is truncatedKT-39393
"Convert anonymous function to lambda expression" intention does not add necessary lambda type parameter for outer functionKT-39454
False positive "Unused symbol" with private anonymous object propertyKT-39467
False negative "Move variable declaration into when" if a variable declaration is placed on a new lineKT-39490
'Wrap with ?.let' quickfix put the receiver inlet
lambdaKT-39552
Merge 'if's intention drops comment after nested ifKT-39604
"Package directive doesn't match file location" quick fix does not insert a space between keywordpackage
and the package nameKT-39772
"Redundant 'Unit'" should support lambdasKT-40215
"Create abstract function" quick fix suggested even though surrounding class is non-abstractKT-40448
"Convert call chain into sequence": support functions added in Kotlin 1.4KT-40558
False positive "Move to class body" intention on data class constructor propertyKT-41338
False positive "Redundant 'asSequence' call" when Map.Entry properties are used.KT-41615
"Unused equals expression" inspection: highlight whole expression with yellow backgroundKT-43037
Disable "Incomplete destructuring declaration" in 1.4.20IDE. J2K
KT-20421
J2K: SUPERTYPE_NOT_INITIALIZED for object extending base classKT-37298
J2K: implicit widening conversion for whole argument expression is transformed to cast on subexpressionKT-38879
J2K loses class annotations when converting class to objectKT-39149
J2K fails with augmented assignment operators when multiplying int by a non-intKT-40359
J2K: Conversion of invalid octal numbers throws NumberFormatExceptionKT-40363
J2K: Converting HEX integer literal in for-loop throws NumberFormatExceptionIDE. JS
KT-39319
KJS: Support debugging through new Intellij 202 APIKT-41328
KJS / Gradle: explicitApi mode doesn't workIDE. KDoc
KT-17926
IDE should show documentation for a class if the constructor has no docs.KT-19069
KDoc: show default argument valuesKT-37132
Redundant @NotNull annotation in a Quick Documentation pop-upIDE. Misc
KT-39327
Get rid of usages of internal classes ModuleOrderEntryImpl and LibraryImplKT-40455
Improve support for EditorConfigIDE. Navigation
KT-24616
Find usages fails to find setter usageKT-38762
"Cannot access 'java.io.Serializable' which is a supertype of 'kotlin.Int'" brokes navigation to constructor parameter declarationKT-39558
Call Hierarchy shows references from KDocKT-40788
"Find usages" on Java getter overridden in Kotlin doesn't find synthetic property usage when it is called without base declarationKT-40960
Unable to find usages in java of Kotlin constructor in library when sources is attached.IDE. Project View
KT-37528
'Add Kotlin File/Class' suggests file before classIDE. Refactorings
KT-19744
"Change Signature" is not available onconstructor
keyword in primary constructorKT-22170
"Change Signature" ignores Java usages of methods marked with @JvmStaticKT-37517
Invalid qualified name on copy-paste in build.gradle.ktsIDE. Run Configurations
KT-24463
MPP, Intellij runner: Run does not add resource directory to classpathKT-36370
Hide run gutter icons for not yet implemented targets in multiplatform projectsKT-39788
MPP, Gradle runner: Run does not add resource directory to classpath on project reopen without Gradle syncIDE. Scratch
KT-40557
IDE / Scratch: .kt files are treated as Kotlin scratches, opening failsIDE. Script
KT-35825
Custom kotlin scripts have no project import suggestions in sub modules.KT-39796
Performance of KotlinScriptDependenciesClassFinderKT-41622
IDE: Kotlin scripting support can't find context class from same projectKT-41905
IDE / Script: FilePathPattern parameter in @KotlinScript annotation is not reflected correctly in Pattern / ExtensionKT-42206
Cannot load script definitions using org.jetbrains.kotlin.jsr223.ScriptDefinitionForExtensionAndIdeConsoleRootsSourceIDE. Tests Support
KT-28854
Run/Debug configurations: "Redirect input from" option is not available for Kotlin appsKT-36909
IDE attempts to run non-JVM tests launched from context menu as JVM onesKT-37799
Don't show a target choice in context menu for a test launched on specific platformIDE. Wizards
KT-37965
New Project wizard 1.4+: adding JUnit5 test library add dependency to runnerKT-40527
Node.JS application template in New Project WizardKT-40874
Open new project wizard help page in browser when clicking help button in new project wizardKT-41417
Add react template to new project wizardKT-41418
Wizard: Support KJS compiler choiceKT-41958
New project wizard: Backend/Console applications template with Groovy DSL missing compileTestKotlin blockKT-42372
Rrename test classes in wizard template to avoid name clashingJavaScript
KT-38136
JS IR BE: add an ability to generate separate js files for each module and maybe each libraryKT-38868
[MPP / JS / IR] IllegalStateException: "Serializable class must have single primary constructor" for expect class without primary constructor with @Serializable annotationKT-39088
[ KJS / IR ] IllegalStateException: Concrete fake override IrBasedFunctionHandleKT-39367
KJS: .d.ts generation not working for objectsKT-39378
KJS / IR: "IllegalStateException: Operation is unsupported" with binaries.executable() and external function insidefor
loop with Iterator as return typeKT-41275
KJS / IR: "IllegalStateException: Can't find name for declaration FUN" caused by default value in constructor parameterKT-41627
KJS / IR / Serialization: IllegalStateException: Serializable class must have single primary constructorKT-37829
Kotlin JS IR: "Properties without fields are not supported" for companion objectsKT-39740
KJS / IR: Can't use Serializable and JsExport annotations at the same timeKMM Plugin
KT-41522
KMM: exceptions for Mobile Multiplatform plugin are suggested to report to Google, not JetBrainsKT-42065
[KMM plugin] iOS apps fail to launch on iOS simulator with Xcode 12Libraries
KT-41799
String.replace performance improvementsKT-43306
Deprecate createTempFile and createTempDir functions in kotlin.ioKT-19192
Provide file system extensions/APIs based on java.nio.file.PathKT-41837
Remove @ExperimentalStdlibApi from CancellationExceptionMiddle-end. IR
KT-40193
IR: pluginContext.referenceClass() is not resolving typealiasKT-41181
Kotlin/Native 1.4.0 compiler fails on data class with >120 fieldsNative. C and ObjC Import
KT-41250
[C-interop] Stubs for C functions without parameter names should have non-stable namesKT-41639
Use LazyIR for enums and structs from cached librariesKT-41655
Native: "type cnames.structs.S of return value is not supported here: doesn't correspond to any C type" when accessing forward-declared-struct-typed C global variableNative. ObjC Export
KT-38641
Kotlin-Multiplatform: Objective-Cdescription
method name collision in SwiftKT-39206
New line characters in @Deprecated annotation cause syntax error in Kotlin/native exported headerNative. Platform libraries
KT-42191
Support for Xcode 12Native. Runtime. Memory
KT-42275
"Memory.cpp:1605: runtime assert: Recursive GC is disallowed" sometimes when using Kotlin from Swift deinitNative. Stdlib
KT-39145
MutableData append methodTools. Android Extensions
KT-42342
Build fails withjava.lang.RuntimeException: Duplicate class found in modules
oncheckDebug(Release)DuplicateClasses
task when bothkotlin-parcelize
andkotlin-android-extensions
plugins are appliedTools. CLI
KT-35111
Extend CLI compilers help with link to online docsKT-41916
Add JVM target bytecode version 15Tools. Commonizer
KT-41220
[Commonizer] Short-circuit type aliasesKT-41247
[Commonizer] Missed supertypes in commonized classKT-41643
Commonizer exception for targets [ios_x64], [macos_x64]KT-42574
HMPP: unresolved platform.* imports in nativeMain source setTools. Compiler Plugins
KT-36329
Provide diagnostic in kotlinx.serialization when custom serializer mismatches property typeKT-40030
Move the Parcelize functionality out of the Android Extensions pluginTools. Gradle
KT-33908
Make Kotlin Gradle plugin compatible with the Gradle configuration cacheKT-35341
KotlinCompile: Symlinked friend paths are no longer supportedTools. Gradle. JS
New Features
KT-35330
Allow to customise generated package.jsonKT-39825
Provide single point of Webpack configuration in Gradle scriptKT-41054
Support Yarn resolutionsKT-41340
Add flag to suppress kotlin2js deprecation messageKT-41566
Kotlin/JS: Support JavaScript Library distributionKT-42222
KJS / Gradle: "Cannot find package@version in yarn.lock" when npm dependencies of one package but with different version are used in projectKT-42339
Support dukat binaries generationFixes
KT-39515
package.json is regenerated without a visible reasonKT-39838
Kotlin/JS Gradle tooling: NPM dependencies of different kinds with different versions of the same package fail with "Cannot find package@version in yarn.lock"KT-39995
Collect statistic about generateExternals featureKT-40087
Kotlin/JS, IR backend: browserRun: update in continuous mode fails: "ENOENT: no such file or directory" referring output .jsKT-40159
Implement workaround / fix for webpack's "window is not defined"KT-40178
Browser run task prints output in TeamCity formatKT-40201
Kotlin/JS: Gradle: public package.json has emptydevDependencies {}
KT-40202
Kotlin/JS: Gradle: NPM version range operators are written into package.json as escape sequencesKT-40342
[Gradle, JS, Maven] "Cannot find module" generating fake NPM module from Maven dependendencyKT-40462
Collect statistic about usages of kotlin.js.generate.executable.default optionKT-40753
Type script definition file is not referenced as types in the package.jsonKT-40812
Node.JS run working directoryKT-40865
KJS / Gradle: Registering a task with a type that directly extends AbstractTask has been deprecatedKT-40986
KJS / Gradle: BuildOperationQueueFailure when two different versions of js library are used as dependenciesKT-41125
Bump NPM versions in 1.4.20KT-41286
KJS / Gradle: args order in runTask is changed in 1.4.0KT-41475
KJS / Gradle: debug mode doesn't support custom launchers in karma configKT-41662
Kotlin/JS: with CSS support mode == "extract" browser test fails even without CSS usage: "Error in config file!"KT-42494
KJS / Gradle: "Configuration cache state could not be cached" caused by Gradle configuration cacheTools. Gradle. Native
KT-39764
Assertions are disabled when running K/N compiler in Gradle processKT-39999
Cocoapods plugin's dummy header cannot be compiledKT-40999
CocoaPods Gradle plugin: Support custom cinterop options when declaring a pod dependency.KT-41367
CocoaPods Gradle plugin: support git repository dependencyKT-41844
Kotlin 1.4.10 gradle configuration error with cocoapods using multiple multiplatform modulesKT-42531
Gradle task "podGenIos" fails if a Pod with a static library is added.Tools. Incremental Compile
KT-37446
Incremental analysis for Java sources fails when run on JDK 11Tools. Parcelize
KT-39981
Android parcel 'java.lang.VerifyError: Bad return type'KT-42267
Platform declaration clash
error in IDE when usingkotlinx.android.parcel.Parcelize
KT-42958
False positive IDE error on classes with kotlinx.parcelize.Parcelize on project initial importKT-43290
Typo in error message forErrorsParcelize.DEPRECATED_ANNOTATION
- kotlin.parcelize instead of kotlinx.parcelizeKT-43291
Diagnostic deprecation messages should not be shown in casekotlin-android-extensions
plugin is appliedTools. Scripts
KT-37987
Kotlin script: hyphen arguments not forwarded to scriptKT-38404
Scripting API: Provide Location of Annotation UsageKT-39502
Scripting: reverse order of Severity enum so that ERROR > INFOKT-42335
No "caused by" info about an exception that thrown in Kotlin ScriptTools. kapt
KT-25960
Interfaces annotated with JvmDefault has wrong modifiers during annotation processingKT-37732
Kapt task is broken after update to 1.3.70/1.3.71KT-42915
Kapt generates invalid stubs for static methods in interfaces in Kotlin 1.4.20-M2Checksums
v1.4.10
: Kotlin 1.4.10Contents
The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.
Changelog
Compiler
Performance Improvements
KT-41149
NI: Upgraded project from 1.3.72 to 1.4.0 hangs during buildKT-41335
Kotlin Out of Memory When evaluating expressionKT-41400
NI: Huge performance regression for kotlin compiler from 1.3.72 to 1.4.0 due to using list of dozen lambdas in a callFixes
KT-41005
Coercion to Unit doesn't take into account nullability of a return type for lambdaKT-41043
NI: StackOverflowError throughPostponedArgumentInputTypesResolver.getAllDeeplyRelatedTypeVariables
KT-41135
Type Inference Regression For Property Delegate With Receiver TypeKT-41140
Unresolved reference to parameter of a catch block from lambda expression on 1.4.0KT-41150
IllegalStateException: Couldn't obtain compiled function body for public final inline funKT-41164
NI: "IllegalStateException: Error type encountered" with callbackFlow builder inside conditionKT-41202
Type inference fails in 1.4.0KT-41218
HMPP: arrayList declarations are visible both from stdlib-common and stdlib-jvm and lead to false-positive resolution ambiguity in IDEKT-41308
1.4.0 Type inference regression in suspend blocks with elvis operator expressionsKT-41357
ClassCastException for unstable smart cast on a property call receiverKT-41386
NI: Type mismatch with generic type parametersKT-41426
Operator compareTo is not called with nullable typeKT-41430
Broken choosing overload by lambda return type inside builder inferenceKT-41470
Wrong nullability assertion is generated when using the BuilderInference annotationKT-41482
Add a fallback compiler flag to disable the unified null checks behaviorIDE
KT-41325
SOE in IDEKotlinAsJavaSupportKT-41390
Typo: equals & hashCode are written with the first uppercase letterIDE. Code Style, Formatting
KT-41314
Formatter: Frequent freezes when reformatting code (TrailingCommaPostFormatProcessor)IDE. Debugger
KT-40417
Coroutines Debugger: “No coroutine information found” in case of main() entry-point without explicit debug-artifactIDE. Gradle. Script
KT-39542
EA-218043: java.util.NoSuchElementException: No element of given type found (GradleBuildRootsManager)KT-41283
Gradle scripts unable to support 1.4 language level features yetIDE. Inspections and Intentions
KT-41264
Disable “Redundant inner modifier” in 1.4.10KT-41395
Inspection description misses a space (needs to be lowercase)IDE. REPL
KT-40898
REPL: "IllegalAccessError: tried to access field" caused by log4jIDE. Wizards
KT-38921
New project wizard: Backend/Console applications template with Groovy DSL generates build.gradle with KotlinCompile instead of compileKotlinJavaScript
KT-38059
Support arrays passed as named arguments to varargsKT-40964
KJS / IR: don't generate "import" (short names) for external interfacesKT-41081
KJS IR: nativeGetter, nativeSetter, nativeInvoke are not supportedLibraries
KT-41320
Actual kotlin.test annotation typealiases are inaccessible in modular environmentMiddle-end. IR
KT-41324
IR: "Compilation failed: null" caused by StackOverflowError in compiler in multi-module projectNative. C and ObjC Import
KT-39762
cinterop on 1.4-M2 doesn't include @Deprecated Kotlin declaration for C declaration it fails to importNative. ObjC Export
KT-39206
New line characters in @Deprecated annotation cause syntax error in Kotlin/native exported headerKT-40976
"Unrecognized selector sent to instance" exception invoking suspending lambda from Swift in Native iOS projectReflection
KT-40842
"AssertionError: Built-in class kotlin.Any is not found" on java modular runTools. Compiler Plugins
KT-41321
Upgrading to 1.4.0 fails compiling native with is not bound errorTools. Gradle. Multiplatform
KT-41083
Transitive dependency on an MPP with host-specific source sets fails to resolve: "Couldn't resolve metadata artifact..."Tools. Gradle. Native
KT-40834
Cannot build Kotlin Multiplatform project on Windows 10 64-bit when the Cocoapods plugin is appliedTools. Scripts
KT-35925
REPL: Springboot autoconfiguration problem (META-INF/spring.factories not found ?)Tools. kapt
KT-41313
kapt 1.4.0 throws "ZipException: zip END header not found", when Graal SVM jar in classpathChecksums
v1.4.0
: Kotlin 1.4.0Contents
The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.
Changelog
1.4.0
Compiler
New Features
KT-23729
Provide a way to generate JVM default method bodies in interfaces delegating to DefaultImplsKT-30330
Introduce KotlinNothingValueException and throw it instead of NPE on expressions of type NothingKT-38435
Support suspend conversion on callable references in JVM backendFixes
KT-35483
NI: compatibility modeKT-39728
Declarations fromkotlin.reflect
resolved to expect-classes even in JVM modules in IDEKT-40153
REPL IDE services completion fails on imports completionKT-40404
Mixed named/positional arguments: argument can be passed twiceKT-40544
NI: "TYPE_MISMATCH: Required: MutableList<out T!> Found: List" caused by Java interface functionKT-40555
NI: Spread operator allows inferred nullable typesKT-40646
NI: TYPE_MISMATCH: "inferred type is Unit but Observer was expected" caused by LieData.observe inferenceKT-40691
False positive CAPTURED_VAL_INITIALIZATION with EXACTLY_ONCE contractKT-40693
UnsupportedOperationException: no descriptor for type constructor of (CapturedType(out TResult)..CapturedType(out TResult)?)KT-40824
Usages of a typealias lose nullability and annotations in deserializationKT-40843
Unhandled exception for suspending methods that return Result typeKT-40869
Recursion computation inside compiler resolve on a correct codeKT-40893
Error "Captured values initialization is forbidden due to possible reassignment" when attempting to use the plusAssign operator with a java list inside an inline functionKT-40919
kotlin.collections.ArrayDeque requires an explicit import when compiling with kotlinc 1.4-RC and -language-version 1.3KT-40920
Regression in JvmDefault: incorrect access to missing DefaultImpls on default methods in Java interface overriding Kotlin interfaceKT-40978
Prohibit using suspend functions as SAM in fun interfacesKotlin/Native
KT-36766
)Docs & Examples
KT-35218
Fix misleading in JavaDoc forcreateTempDir
/createTempFile
KT-36981
Provide a visual illustration of source sets structure generated byios()
,watchos()
,tvos()
presetsKT-38050
Language Guide: MPP reference: add sample of language settings for all roots instead of common root onlyIDE
KT-30265
IDE, MPP: False negative TYPE_PARAMETER_AS_REIFIED in common codeKT-40494
UAST: "NoSuchElementException: No element of given type found" with use-site target annotationKT-40639
Shift IDE plugins updater numbers for Kotlin pluginIDE. Code Style, Formatting
KT-40636
Hard freeze on formatter: infinite recursionIDE. Gradle Integration
KT-30116
IDE: Unresolved reference in MPP module (androidMain source set) for annotation from common module (defined in commonMain and with JVM target)IDE. Gradle. Script
KT-34552
Deadlock in ScriptDefinitionsManagerKT-40675
Gradle build file is not highlighted until navigating to symbolIDE. JS
KT-40461
Create new projects with kotlin.js.generate.executable.default=falseIDE. Script
KT-39547
Kotlin script support freezes IDEAKT-40242
gradle.kts: Deadlock in ScriptClassRootsUpdaterIDE. Wizards
KT-36153
New Project Wizard: provide more referential info on project structure editor screenKT-39904
New Project wizard 1.4: update Frontend Application to make it run with JS IRKT-40149
Gradle project wizard: templates for Kotlin/JS are not properly formattedJavaScript
KT-25859
JS: support function references to functions with vararg if expected type ends with repeated vararg element typeKT-40083
K/JS-IR: java.lang.IllegalStateException: has not acquired a symbol yetKT-40892
KJS, IR: Unresolved references on importing classes from kotlinx-nodejsLibraries
KT-39051
Libraries native artifacts are published without sourcesTools. Gradle
KT-27816
Provide a possibility to specify intermediate source sets between platform-agnostic and platform-specific test source setsKT-37720
Replace ArtifactTransform with TransformActionKT-40559
Adding the stdlib by default triggers warning in the Android Gradle PluginTools. Gradle. JS
KT-40093
Incorrect updating version of Kotlin/JS dependencies in package.jsonTools. Gradle. Multiplatform
KT-27320
Provide a way to reuse same sources for similar Native targetKT-40058
NPE from mpp gradle plugin on kotlinx.benchmarksTools. Gradle. Native
KT-40801
Gradle CocoaPods integration: Cannot change a framework name1.4-RC
Backend. Native
KT-40209
java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl@7648417
KT-40367
Kotlin/Native-Swift interop (iOS): Array member initialization failing in release buildsCompiler
Fixes
KT-31025
Type mismatch when callable reference is resolved with a functional expected type and SAM conversionKT-37388
Consider relaxing rules about inferring Nothing inside special constructions (if, try, when)KT-37717
NI: "IllegalStateException: Error type encountered" with @BuilderInferenceKT-38427
New inference in branched conditions (if, when) results in odd behavior with inconsistent compiler warnings and runtime errorsKT-38899
NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NPEKT-39468
NI: overload resolution ambiguity between functions passingT
andFoo<T>
with a contravariant receiverKT-39618
NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: unable to infer generic type on @BuilderInference annotated lambda parameter with receiver typeKT-39633
NI: Incorrect type parameter instantiation based on contravariant type argumentKT-39691
NI: Missing SAM conversion for nullable lambdaKT-39860
Make Kotlin binaries publicly available (set KotlinCompilerVersion.IS_PRE_RELEASE = false)KT-39900
NI: Incorrect type inference in a lambda returning UnitKT-39925
New JVM default compilation mode doesn't check that JVM target is 1.8KT-39943
Write information about all-compatibility mode in metadataKT-39953
NI: ClassCastException "cannot be cast to java.lang.Void" with if-else in return statement in ANdroid projectKT-40045
NI: lambda’s receiver type isn't inferred properlyKT-40057
NI: provideDelegate org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: wrong bytecode generated for static initializerKT-40060
NI: postponed variable from the builder inference flows to back-end and leads to throw an exceptionKT-40112
Kotlin Gradle DSL: COMPATIBILITY_WARNING onkotlin.sourceSets
blockKT-40113
Kotlin Gradle DSL: "Expression 'main' cannot be invoked as a function" fordistributions.main
DSL blockKT-40128
Introduce compiler key to disable compatibility resolution mechanism for new inference featuresKT-40151
NI: postponed variable isn't substituted for top-level CR inside builder inferenceKT-40214
AbstractMethodError in gradle subplugin which is used in Android appKT-40234
Deprecation level "hidden" has no effect on callable reference argumentKT-40247
NI: false positive "function should be called from coroutine or another suspend function" for suspend invoke operator in try-catchKT-40254
Rewrite at slice with two callable reference argumentsKT-40269
NI: "disabled Unit conversions" error has appeared on green codeKT-40337
NI: false positive "function should be called from coroutine or another suspend function" for suspend invoke operator inwhen
blockKT-40406
Prohibit reflection on adapted callable referencesIDE
KT-39968
Paths in KotlinJavaRuntime library aren't updated after you run IDE from a different directoryKT-39989
NullPointerException when opening Kotlin facets in Project Structure dialog in IDEA 192KT-40311
Create change_notes for 1.4 in IDE plugin descriptionIDE. Debugger
KT-39808
(CoroutineDebugger) Doesn't start with kotlinx-coroutines-core >= 1.3.6KT-40073
(CoroutineDebugger) Change minimum supported kotlinx.coroutines version to 1.3.8*KT-40172
Restored frame variables isn't shown for suspended coroutinesKT-40635
Coroutines Debugger: make IDE plugin accept coroutines 1.3.8-rc* versions as wellIDE. Gradle Integration
KT-38744
No dependency between Androidtest
and commonTest source sets with kotlin.mpp.enableGranularSourceSetsMetadata=trueKT-39037
'None of the consumable configurations have attributes' in MPP IDE import with transitive project dependency on selfIDE. Gradle. Script
KT-31137
IntelliJ would get very slow when editing gradle buildSrc(using the kotlin dsl)KT-36078
Gradle Kotlin script context is not reloaded when gradle/wrapper/gradle-wrapper.properties file is changedKT-39317
ISE “Calling invokeAndWait from read-action leads to possible deadlock.” on importing simple Gradle-based project in nightly IJIDE. Inspections and Intentions
KT-28662
Inspection to flag usage of the wrong Transient annotation on Kotlin Serializable classKT-34209
Switch default behaviour in 1.4 for insertion (to build script) via quick fix of the compiler option enabling inline classesKT-36131
Suggest to add a missing module dependency on an unresolved reference in Kotlin codeKT-37462
Add "Add dependency to module" quickfix in multimodule Maven projectKT-39869
Add whole project migration usages of kotlin.browser.* & kotlin.dom.* to kotlinx.browser.* & kotlinx.dom.* respectivelyIDE. Wizards
KT-40004
New Project wizard 1.4+: nohttps://dl.bintray.com/kotlin/kotlinx
repository is added for kotlinx-htmlKT-40037
New Project wizard: update Ktor versionKT-40092
Wizard: the templates panel on mac OS is too wideKT-40232
New Wizard: Android Sdk path doesn't have backslash escaping on WindowsKT-40371
New Project Wizard: Frontend Application / Library results in broken run configurationKT-40377
New Project Wizard: Frontend Application defines NPM dependencies that are unnecessary with Kotlin 1.4-RC+KT-40378
New Project Wizard: Frontend Application, Disabling JavaScript test framework has no effectKT-40407
Wizard: do not add stdlib by default for Gradle projects in wizardJS. Tools
KT-39984
Update dukat version in toolchain near to release of 1.4-RCJavaScript
KT-32186
Make sure K/JS Reflection API documentation is correct and fix it.KT-37563
K/JS: stacktrace is not captured for exceptions without primary constructor inherited from Exception/ErrorKT-37752
Generated typescript incorrect for constructors of derived classesKT-37883
KJS: Generated TypeScript uses 'declare' rather than 'export'KT-38771
JS: support non-reified type parameters in typeOfKT-39873
Update Kotlin JavaScript wrappers due to NON_EXPORTABLE_TYPE diagnostic introductionKT-40126
[JS / IR] NPE while compiling interfaces with invoke which is passed as a delegateKT-40216
KJS / IR: AssertionError caused by an anonymous object in the dependency projectLibraries
KT-33069
StringBuilder common functionsKT-35972
Add contract to builder functionsKT-37101
Mark following api with DeprecatedSinceKotlin("1.4")KT-38360
Make sure that JB libraries correctly define their npm deps and republish them (after KT-30619)KT-38817
'capitalize' should convert digraphs to title caseKT-40168
Remove StringBuilder.capacity from common and JS partsMiddle-end. IR
KT-40520
Assert during fake-override generationTools. Commonizer
KT-40199
Commonizer loses nullability of abbreviated typesTools. Compiler Plugins
KT-40036
Add diagnostic that shows is serialization plugin compatible with serialization-runtimeTools. Gradle
KT-39755
[KJS / Gradle / Legacy mode] Directory with whitespace is not processedKT-39809
Kotlin Gradle plugin: ServiceConfigurationError: org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin: Provider org.jetbrains.kotlin.gradle.internal.AndroidSubplugin not a subtypeKT-39977
Collect statistics of used -Xjvm-default optionsKT-40300
Fail the build if in MPP plugin no targets configuredTools. Gradle. JS
KT-38170
Investigate how to improve migration experience from pre 1.4.0 DSL to the new oneKT-39654
Default CSS settings in webpack has priority over user's settingsKT-39842
Kotlin/JS Gradle DSL: peerNpm dependency failsKT-40048
[Gradle, JS] Deprecate kotlin-frontend pluginKT-40067
[Gradle, JS] Public package.json for mixed JS/TS projectKT-40210
Fail the build when Kotlin/JS target is not (properly) configuredKT-40320
Gradle JS: make migration to the new Gradle DSL smootherTools. Gradle. Multiplatform
KT-32239
Custom configurations inside Kotlin JVM Gradle projects can't properly resolve multiplatform dependenciesKT-39897
[Commonizer] Fast-pass for library fragments absent for some targetsTools. J2K
KT-39739
J2K: Access is allowed from event dispatch thread with IW lock onlyTools. kapt
KT-34604
KAPT: Flaky NPE throughorg.jetbrains.kotlin.kapt3.base.ProcessorLoader.doLoadProcessors
KT-36302
TypeTreeVisitor.visitMemberSelect IllegalStateException: node.sym must not be null on JDK 11KT-39876
KAPT: Serialization of classpath structure is incorrect if there are dependencies between types in jar/dir1.4-M3
Compiler
New Features
KT-23575
Deprecate with replacement and SinceKotlinKT-38652
Do not generate optional annotations to class files on JVMKT-38777
Hide Throwable.addSuppressed member and prefer extension insteadPerformance Improvements
KT-38489
Compilation of kotlin html DSL increasingly slowKT-28650
Type inference for argument type is very slow if several interfaces with a type parameter is used as an upper bound of a type parameterFixes
KT-15971
Incorrect bytecode generated when inheriting default arguments not from the first supertypeKT-25290
NI: "AssertionError: If original type is SAM type, then candidate should have same type constructor" on out projection of Java classKT-28672
Contracts on calls with implicit receiversKT-30279
Support non-reified type parameters in typeOfKT-31908
NI: CCE on passing lambda to function which accepts vararg SAM interfaceKT-32156
New inference issue with genericsKT-32229
New inference algorithm not taking into account the upper bound classKT-33455
Override equals/hashCode in functional interface wrappersKT-34902
AnalyzerException: Argument 1: expected I, but found R for unsigned types in generic data classKT-35075
AssertionError: "No resolved call for ..." with conditional function referencesKT-35468
Overcome ambiguity between typealias kotlin.Throws and the aliased type kotlin.jvm.ThrowsKT-35494
NI: Multiple duplicate error diagnostics (in IDE popup) with NULL_FOR_NONNULL_TYPEKT-35681
Wrong common supertype between raw and integer literal type leads to unsound codeKT-35937
Error "Declaration has several compatible actuals" on incremental buildKT-36013
Functional interface conversion not happens on a value of functional type with smart cast to a relevant functional typeKT-36045
Do not depend on the order of lambda arguments to coerce result toUnit
KT-36448
NI: fix tests after enabling NI in the compilerKT-36706
Prohibit functional interface constructor referencesKT-36969
Generate @NotNull on instance parameters of Interface$DefaultImpls methodsKT-37058
Incorrect overload resolution ambiguity on callable reference in a conditional expression with new inferenceKT-37120
[FIR] False UNRESOLVED_REFERENCE for public and protected member functions and properties which are declared in object inner classKT-37149
Conversion when generic specified by type argument of SAM typeKT-37249
false TYPE_MISMATCH when When-expression branches have try-catch blocksKT-37341
NI: Type mismatch with combination of lambda and function referenceKT-37436
AME: "Receiver class does not define or inherit an implementation of the resolved method" in runtime on usage of non-abstract method of fun interfaceKT-37510
NI infersjava.lang.Void
from the expression in a lazy property delegate and throws ClassCastException at runtimeKT-37541
SAM conversion with fun interface without a function fails on compiling and IDE analysis in SamAdapterFunctionsScope.getSamConstructor()KT-37574
NI: Type mismatch with Kotlin object extending functional type passed as @FunctionalInterface to JavaKT-37630
NI: ILT suitability in a call is broken if there are CST calculation and calling function's type parametersKT-37665
NI: applicability error due to implicitly inferred Nothing for returning T with expected typeKT-37712
No extension receiver in functional interface created with lambdaKT-37715
NI: VerifyError: Bad type on operand stack with varargs generic value when type is inferredKT-37721
NI: Function reference with vararg parameter treated as array and missing default parameter is rejectedKT-37887
NI: Smart casting for Map doesn't work if the variable is already "smart casted"KT-37914
NI: broken inference for a casting to subtype function within the common constraint system with this subtypeKT-37952
NI: improve lambdas completion through separation the lambdas analysis into several stepsKT-38069
Callable reference adaptation should have dependency on API version 1.4KT-38143
New type inference fails when calling extension function defined on generic type with type arguments nested too deepKT-38156
FIR Metadata generationKT-38197
java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objectsKT-38259
NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for provideDelegateKT-38337
Map delegation fails for inline classesKT-38401
FIR: protected effective visibility is handled unpreciselyKT-38416
FIR: infinite loop in BB coroutine test 'overrideDefaultArgument.kt'KT-38432
FIR: incorrect effective visibility in anonymous objectKT-38434
Implement resolution of suspend-conversion on FE only, but give error if suspend conversion is calledKT-38437
[FIR] String(CharArray) is resolved to java.lang.String constructor instead of kotlin.text.String pseudo-constructorKT-38439
NI: anonymous functions without receiver is allowed if there is an expected type with receiverKT-38473
FIR: ConeIntegerLiteralType in signatureKT-38537
IllegalArgumentException: "marginPrefix must be non-blank string" with raw strings and space as margin prefix in trimMargin() callKT-38604
Implicit suspend conversion on call arguments doesn't work on vararg elementsKT-38680
NSME when calling generic interface method with default parameters overriden with inline class type argumentKT-38681
Wrong bytecode generated when calling generic interface method with default parameters overriden with primitive type argumentKT-38691
NI: overload resolution ambiguity if takeR
and() -> R
, and pass literal lambda, which returnsR
KT-38799
False positive USELESS_CAST for lambda parameterKT-38802
Generated code crashes by ClassCastException when delegating with inline classKT-38853
Backend Internal error: Error type encountered: Unresolved type for nested class used in an annotation argument on an interface methodKT-38890
NI: false negative Type mismatch for values with fun keywordKT-39010
NI: Regression with false-positive smartcast on var of generic typeKT-39013
202, ASM 8: "AnalyzerException: Execution can fall off the end of the code"KT-39260
"AssertionError: Unsigned type expected: Int" in rangeKT-39305
NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: unable to infer deeply nested type bound when class implements generic interfaceKT-39408
Using unsigned arrays as generics fails in 1.4-M2 with class cast exceptionKT-39533
NI: Wrong overload resolution for methods with SAM converted function reference argumentsKT-39535
NI: Inference fails for the parameters of SAM converted lambdas with type parametersKT-39603
Require explicit override in JVM default compatibility mode on implicit generic specialization of inherited methods in classesKT-39671
Couldn't inline method call 'expectBody'KT-39816
NI:ClassCastException and no IDE error with provideDelegate when DELEGATE_SPECIAL_FUNCTION_MISSING in OIKT-32779
Rewrite at slice
in array access resolution in coroutine inferenceKT-39387
Can't build Kotlin project due to overload resolution ambiguity on flatMap callsKT-39229
NI: resolution to wrong candidate (SAM-type against similar functional type)Docs & Examples
KT-36245
Document that @kotlin.native.ThreadLocal annotation doesn't work anywhere except in Kotlin/NativeKT-37943
Conflicting overloads in the factory functions sample code in Coding Conventions PageIDE
New Features
KT-10974
Add Code Style: Import Layout Configuration TableKT-39065
"Join lines" should remove trailing comma on call siteFixes
KT-9065
Wrong result when move statement through if block with call with lambdaKT-14757
Move statement up breaks code in function parameter listKT-14946
Move statement up/down (with Ctrl+Shift+Up/Down) messes with empty linesKT-15143
Kotlin: Colors&Fonts -> "Enum entry" should use Language Default -> Classes - Static fieldKT-17887
Moving statement (Ctrl/Cmd+Shift+Down) messes with use blockKT-34187
UAST cannot get type of array accessKT-34524
"PSI and index do not match" and IDE freeze with library import fromsquare/workflow
KT-35574
UAST: UBreakExpression in when expression should be UYieldExpressionKT-36801
IDE: Unsupported language version value is represented with "latest stable" in GUIKT-37378
Remove IDE option "Enable new type inference algorithm..." in 1.4KT-38003
"Analyze Data Flow from Here" should work on parameter of abstract methodKT-38173
Reified types do no have extends informationKT-38217
Make Kotlin plugin settings searchableKT-38247
"IncorrectOperationException: Incorrect expression" through UltraLightUtils.kt: inlined string is not escaped before parsingKT-38293
Throwable: "'codestyle.name.kotlin' is not found in java.util.PropertyResourceBundle" at KotlinLanguageCodeStyleSettingsProvider.getConfigurableDisplayName()KT-38407
Drop components from plugin.xmlKT-38443
No error on change in property initializerKT-38521
ISE: Loop in parent structure when converting a DOT_QUALIFIED_EXPRESSION with parent ANNOTATED_EXPRESSIONKT-38571
Rework deprecated EPsKT-38632
Change the code style to official in testsIDE. Code Style, Formatting
Fixes
KT-24750
Formatter: Minimum blank lines after class header does nothingKT-31169
IDEA settings search fails to find "Tabs and Indents" tab in Kotlin code style settingsKT-35359
Incorrect indent for multiline expression in string templateKT-37420
Add setting to disable inserting empty line between declaration and declaration with commentKT-37891
Formatter inserts empty lines between annotated propertiesKT-38036
Use trailing comma setting does not apply to code example in Settings dialogKT-38568
False positive: weak warning "Missing line break" on -> in when expressionKT-39024
Add option for blank lines before declaration with comment or annotation on separate lineKT-39079
Trailing comma: add base support for call siteKT-39123
OptionAlign 'when' branches in columns
does nothingKT-39180
Move trailing comma settings in Other tabIDE. Completion
KT-18538
Completion of static members of grand-super java class inserts unnecessary qualifierKT-38445
Fully qualified class name is used instead after insertion ofdelay
methodIDE. Debugger
Fixes
KT-14057
Debugger couldn't step into Reader.readKT-14828
Bad step into/over behavior for functions with default parametersKT-36403
Method breakpoints don't work for librariesKT-36404
Evaluate: "AssertionError: Argument expression is not saved for a SAM constructor"KT-37486
Kotlin plugin keeps reference to stream debugger support classes after stream debugger plugin is disabledKT-38484
Coroutines Debugger: IAE “Requested element count -1 is less than zero.” is thrown by calling dumpCoroutinesKT-38606
Coroutine Debugger: OCE from org.jetbrains.kotlin.idea.debugger.coroutine.proxy.mirror.BaseMirror.isCompatibleKT-39143
NPE on setCurrentStackFrame to Kotlin inner compiled class contentKT-39412
Failed to find Premain-Class manifest attribute when debugging main method with ktorKT-39634
(CoroutineDebugger) Agent doesn't start if using kotlinx-coroutines-core only dependencyKT-39648
Coroutines debugger doesn't see stacktraces in case of the project has kotlinx-coroutines-debug dependencyIDE. Gradle Integration
Performance Improvements
KT-39059
Poor performance ofmodifyDependenciesOnMppModules
Fixes
KT-35921
Gradle Import fails with "Unsupported major.minor version 52.0" on pure Java project in case "Gradle JDK" is lower 1.8 and Kotlin plugin is enabledKT-36673
Gradle Project importing: move ModelBuilders and ModelProviders to kotlin-gradle-tooling jarKT-36792
IDEA 2020.1: Some module->module dependencies in HMPP project are missed after import from GradleKT-37125
Imported modules structure for MPP project is displayed messy in UI in IDEA 2020.1KT-37428
NPE at KotlinFacetSettings.setLanguageLevel() on the first project importKT-38706
IDE Gradle import creates 4 JavaScript modules for MPP source sets with BOTH compiler typeKT-38767
Published hierarchical multiplatform library symbols are unresolved in IDE (master)KT-38842
False positive [INVISIBLE_MEMBER] forinternal
declaration of commonMain called from commonTestKT-39213
IDE: references from MPP project to JavaScript library are unresolved, when project and library are compiled with "both" modeKT-39657
Language settings for intermediate source-sets are lost during importIDE. Gradle. Script
New Features
KT-34481
*.gradle.kts
: use Intellij IDEA Gradle project sync mechanics for updating script configurationPerformance Improvements
KT-34138
Deadlock inScriptTemplatesFromDependenciesProvider
KT-38875
Deadlock in ScriptClassRootsUpdater.checkInvalidSdksFixes
KT-34265
Bogus "build configuration failed, run 'gradle tasks' for more information" message and other issues related to "script dependencies"KT-34444
*.gradle.kts: special storage of all scripts configuration on one fileKT-35153
build.gradle.kts: scripts in removed subproject remain imported, but shouldn'tKT-35573
Request for gradle build script configuration only after explicit click on notificationKT-36675
move .gradle.kts ModelBuilders and ModelProviders to kotlin-gradle-tooling jarKT-37178
build.gradle.kts: Rework the notification for scripts out of projectKT-37631
Unnecessary loading dependencies after opening build.gradle.kts after project import with Gradle 6KT-37863
Scanning dependencies for script definitions takes too long or indefinitely during Gradle importKT-38296
MISSING_DEPENDENCY_SUPERCLASS in the build.gradle.kts editor while Gradle runs OkKT-38541
"Invalid file" exception in ScriptChangeListener.getAnalyzableKtFileForScript()KT-39104
“Gradle Kotlin DSL script configuration is missing” after importing project in IJ201, Gradle 6.3KT-39469
Gradle version is not updated in script dependencies if the version of gradle was changed in gradle-wrapper.propertiesKT-39771
Freeze 30s from org.jetbrains.kotlin.scripting.resolve.ApiChangeDependencyResolverWrapper.resolve on loading script configuration with Gradle 5.6.4IDE. Inspections and Intentions
New Features
KT-14884
Intention to add missing "class" keyword for enum and annotation top-level declarationsKT-17209
Provide intention to fix platform declaration clash (CONFLICTING_JVM_DECLARATIONS)KT-24522
Suggest to move typealias outside the classKT-30263
Detect redundant conversions of unsigned typesKT-35893
Support Inspection for unnecessary asSequence() callKT-38559
"Change JVM name" (@JvmName) quickfix: improve name suggester for generic functionsKT-38597
Expand Boolean intentionKT-38982
Add "Logger initialized with foreign class" inspectionKT-39131
TrailingCommaInspection: should suggest fixes for call-site without warningsFixes
KT-5271
Missing QuickFix for Multiple supertypes availableKT-11865
"Create secondary constructor" quick fix always inserts parameter-less call tothis()
KT-14021
Quickfix to add parameter to function gives strange name to parameterKT-17121
"Implement members" quick fix is not suggestedKT-17368
Don't highlight members annotated with @JsName as unusedKT-20795
"replace explicit parameter with it" creates invalid code in case of overload ambiguitiesKT-22014
Intention "convert lambda to reference" should be available for implicit 'this'KT-22015
Intention "Convert lambda to reference" should be available in spite of the lambda in or out of parenthesesKT-22142
Intentions: "Convert to primary constructor" changes semantics for property with custom setterKT-22878
Empty argument list at the call site of custom function named "suspend" shouldn't be reported as unnecessaryKT-24281
Importing of invoke() from the same file is reported as unused even if it isn'tKT-25050
False-positive inspection "Call replaceable with binary operator" for 'equals'KT-26361
@Deprecated "ReplaceWith" quickfix inserts 'this' incorrectly when using function importsKT-27651
'Condition is always true' inspection should not be triggered when the condition has references to a named constantKT-29934
False negativeChange type
quickfix on primary constructor override val parameter when it has wrong typeKT-31682
'Convert lambda to reference' intention inside class with function which return object produces uncompilable codeKT-31760
Implement Abstract Function/Property intentions position generated member improperlyKT-32511
Create class quick fix is not suggested in super type list in case of missing primary constructorKT-32565
False positive "Variable is the same as 'credentials' and should be inlined" with object declared and returned from lambdaKT-32801
False positive "Call on collection type may be reduced" with mapNotNull, generic lambda block and new inferenceKT-33951
ReplaceWith quickfix with unqualified object member call doesn't substitute argument for parameterKT-34378
"Convert lambda to reference" refactoring does not work for suspend functionsKT-34677
False positive "Collection count can be converted to size" withIterable
KT-34696
Wrong 'Redundant qualifier name' for 'MyEnum.values' usageKT-34713
"Condition is always 'false'": quickfix "Delete expression" doesn't removeelse
keyword (may break control flow)KT-35015
ReplaceWith doesn't substitute parameters with argument expressionsKT-35329
Replace 'when' with 'if' intention: do not suggest if 'when' is used as expression and it has no 'else' branchKT-36194
"Add braces to 'for' statement" inserts extra line break and moves the following single-line commentKT-36406
"To ordinary string literal" intention adds unnecessary escapes to characters in template expressionKT-36461
"Create enum constant" quick fix adds after semicolon, if the last entry has a commaKT-36462
"Create enum constant" quick fix doesn't add trailing commaKT-36508
False positive "Replace 'to' with infix form" when 'to' lambda generic type argument is specified explicitlyKT-36930
Intention "Specify type explicitly" adds NotNull annotation when calling java method with the annotationKT-37148
"Remove redundant.let
call doesn't remove extra callsKT-37156
"Unused unary operator" inspection highlighting is hard to seeKT-37173
"Replace with string templates" intention for String.format produces uncompilable string templateKT-37181
Don't show "Remove redundant qualifier name" inspection on qualified Companion imported with star importKT-37214
"Convert lambda to reference" with a labeled "this" receiver failsKT-37256
False positivePlatformExtensionReceiverOfInline
inspection if a platform type value is passed to a nullable receiverKT-37744
"Convert lambda to reference" inspection quick fix create incompilable code when type is inferred from lambda parameterKT-37746
"Redundant suspend modifier" should not be reported for functions with actual keywordKT-37842
"Convert to anonymous function" creates broken code with suspend functionsKT-37908
"Convert to anonymous object" quickfix: false negative when interface has concrete functionsKT-37967
Replace 'invoke' with direct call intention adds unnecessary parenthesisKT-37977
"Replace 'invoke' with direct call" intention: false positive when function is not operatorKT-38062
Reactor Quickfix throwsNotImplementedError
for KotlinKT-38240
False positive redundant semicolon withas
cast andnot
unary operator on next lineKT-38261
Redundant 'let' call removal leaves ?. operator and makes code uncompilableKT-38310
Remove explicit type annotation intention drops 'suspend'KT-38492
False positive "Add import" intention for already imported classKT-38520
SetterBackingFieldAssignmentInspection throws exceptionKT-38649
False positive quickfix "Assignment should be lifted out of when" in presence of smartcastsKT-38677
Invalid psi tree afterLift assigment out of...
KT-38790
"Convert sealed subclass to object" for data classes doesn't remove 'data' keywordKT-38829
'Remove redundant backticks' can be broken with @ in nameKT-38831
'Replace with assignment' can be broken with fast code changeKT-38832
"Remove curly braces" intention may produce CCEKT-38948
False positive quickfix "Make containing function suspend" for anonymous functionKT-38961
"Useless call on collection type" for filterNotNull on non-null array where list return type is expectedKT-39069
Improve TrailingCommaInspectionKT-39151
False positive inspection to replace Java forEach with Kotlin forEach when using ConcurrentHashMapIDE. JS
KT-39275
Kotlin JS Browser template for kotlin dsl doesn't include index.htmlIDE. KDoc
KT-32163
Open Quick Documentation when cursor inside function / constructor bracketsIDE. Navigation
KT-32245
Method in Kotlin class is not listed among implementing methodsKT-33510
There is no gutter icon to navigate fromactual
toexpect
ifexpect
and the correspondingactual
declarations are in the same fileKT-38260
Navigation bar doesn't show directories of files with a single top level Kotlin classKT-38466
Top level functions/properties aren't shown in navigation panelIDE. Project View
KT-36444
Structure view: add ability to sort by visibilityKT-38276
Structure view: support visibility filter for class propertiesIDE. REPL
KT-38454
Kotlin REPL in IntelliJ doesn't take module's JVM target setting into accountIDE. Refactorings
KT-12878
"Change signature" forces line breaks after every parameter declarationKT-30128
Change Signature should move lambda outside of parentheses if the arguments are reordered so that the lambda goes lastKT-35338
Move/rename refactorings mess up code formatting by wrapping linesKT-38449
Extract variable refactoring is broken by NPEKT-38543
Copy can't work to package with escaped packageKT-38627
Rename package refactorings mess up code formatting by wrapping linesIDE. Run Configurations
KT-34516
Don't suggest incompatible targets in a drop-down list for run test gutter icon in multiplatform projectsKT-38102
DeprecatedMethodException ConfigurationFactory.getIdIDE. Scratch
KT-38455
Kotlin scratch files don't take module's JVM target setting into accountIDE. Script
KT-39791
Kotlin plugin loads VFS in the output directoriesIDE. Structural Search
KT-39721
Optimize Kotlin SSR by using the indexKT-39733
Augmented assignment matchingKT-39769
"When expressions" predefined template doesn't match all when expressionsIDE. Wizards
KT-38673
New Project Wizard: multiplatform templates are generated having unsupported Gradle version in a wrapperKT-38810
Incorrect order of build phases in Xcode project from new wizardKT-38952
Remove old new_project_wizardsKT-39503
New Project wizard 1.4+: release kotlinx.html version is added to dependencies with milestone IDE pluginKT-39700
Wizard: group project templates on the first step by the project typeKT-39770
CSS Support in Kotlin wizardsKT-39826
Fix Android app in New Template WizardKT-39843
Change imports in JS/browser wizardJS. Tools
KT-32273
Kotlin/JS console error on hot reloadKT-39498
Update dukat version in toolchain near to release of 1.4-M3JavaScript
KT-29916
ImplementtypeOf
on JSKT-35857
Kotlin/JS CLI bundled to IDEA plugin can't compile using IR back-end out of the boxKT-36798
KJS: prohibit using @JsExport on a non-top-level declarationKT-37771
KJS: Generated TypeScript does not recursively export base classes (can fail with generics)KT-38113
Review public API of JS stdlib for IR BEKT-38765
[JS / IR] AssertionError: class EventEmitter: Super class should be any: with nested class extending parent classKT-38768
KJS IR: generate ES2015 (aka ES6) classesLibraries
New Features
KT-11253
Function to sum long or other numeric property of items in a collectionKT-28933
capitalize() with Locale argument in the JDK stdlibKT-34142
Create SortedMap with Comparator and itemsKT-34506
Add Sequence.flatMap overload that works on IterableKT-36894
Support flatMapIndexed in the Collections APIKT-38480
Introduce experimental annotation for enabling overload resolution by lambda resultKT-38708
minOf/maxOf functions to return min/max value provided by selectorKT-39707
Make some interfaces in stdlib functionalPerformance Improvements
KT-23142
toHashSet is suboptimal for inputs with a lot of duplicatesFixes
KT-21266
Add module-info for standard library artifactsKT-23322
Document 'reduce' operation behavior on empty collectionsKT-28753
Comparing floating point values in array/list operations 'contains', 'indexOf', 'lastIndexOf': IEEE 754 or total orderKT-30083
Annotate KTypeProjection.STAR with JvmField in a compatible wayKT-30084
Annotate functions in KTypeProjection.Companion with JvmStaticKT-31343
Deprecate old String <-> CharArray, ByteArray conversion apiKT-34596
Add some validation to KTypeProjection constructorKT-35978
Review and remove experimental stdlib API status for 1.4KT-38388
DocumentfromIndex
andtoIndex
parametersKT-38854
Gradually change the return type of collection min/max functions to non-nullableKT-39023
Document split(Pattern) extension differences from Pattern.splitKT-39064
Introduce minOrNull and maxOrNull extension functions on collectionsKT-39235
Lift experimental annotation from bit operationsKT-39237
Lift experimental annotation from common StringBuilderKT-39238
Appendable.appendRange - remove nullabilityKT-39239
Lift experimental annotation from String <-> utf8 conversion apiKT-39244
KJS: update polyfills, all or most of them must not be enumerableKT-39330
Migrate declarations from kotlin.dom and kotlin.browser packages to kotlinx.*Middle-end. IR
KT-31088
need a way to compute fake overrides for pure IRKT-33207
Kotlin/Native: KNPE during deserialization of an inner classKT-33267
Kotlin/Native: Deserialization error for an "inner" extension property imported from a classKT-37255
Make psi2ir aware of declarations provided by compiler pluginsReflection
KT-22936
Not all things can be changed tocreateType
yet, and nowdefaultType
methods are starting to failKT-32241
Move KType.javaType into stdlib from reflectKT-34344
KType.javaType implementation throws when invoked with a typeOf()KT-38491
IllegalArgumentException when using callBy on function with inline class parameters and default argumentsKT-38881
Add KClass.isFun modifier of functional interfaces to reflectionTools. Android Extensions
KT-25807
Kotlin extension annotation @Parcelize in AIDL returns Object instead of original TTools. CLI
KT-30211
Support a way to pass arguments to the underlying JVM in kotlinc batch scripts on WindowsKT-30778
kotlin-compiler.jar contains shaded but not relocated kotlinx.coroutinesKT-38070
Compiler option to bypass prerelease metadata incompatibility errorKT-38413
Add JVM target bytecode version 14Tools. Compiler Plugins
KT-39274
[KJS / IR] Custom serializer for class without zero argument constructor doesn't compileTools. Gradle
KT-25428
Kotlin Gradle Plugin: Use new Gradle API for Lazy tasksKT-34487
Gradle build fails with "Cannot run program "java": error=7, Argument list too longKT-35957
MPP IC fails with "X has several compatible actual declarations" errorKT-38250
Drop support for Gradle versions older than 5.3 in the Kotlin Gradle pluginTools. Gradle. JS
New Features
KT-30619
Support NPM transitive dependencies in multi-platform JS targetKT-38286
[Gradle, JS] Error handling on Webpack problemsFixes
KT-31669
Gradle/JS: rise error when plugin loaded more than onceKT-32531
[Gradle/JS] Add scoped NPM dependenciesKT-34832
[Kotlin/JS] Failed build after webpack run (Karma not found)KT-35194
Kotlin/JS: browserRun fails with "address already in use" when trying to connect to local serverKT-35611
Kotlin Gradle plugin should reportkotlin2js
plugin ID as deprecatedKT-35641
Kotlin Gradle plugin should reportkotlin-dce-js
plugin ID as deprecatedKT-36410
JS: Collect stats about IR backend usageKT-36451
KJS Adding npm dependency breaks Webpack devserver reloadingKT-37258
Kotlin/JS + Gradle: in continuous mode kotlinNpmInstall time to time outputs "ENOENT: no such file or directory" errorKT-38109
[Gradle, JS] Error handling on Karma launcher problemsKT-38331
Add an ability to control generating externals for npm deps individuallyKT-38485
[Gradle, JS] Unable to configure JS compiler with stringKT-38683
Remove possibility to set NPM dependency without versionKT-38990
Support multiple range versions for NPM dependenciesKT-38994
Remove possibility to set NPM dependency with npm(org, name, version)KT-39109
ArithmeticException: "/ by zero" caused by kotlinNodeJsSetup task with enabled gradle caching on WindowsKT-39210
Kotlin/JS: with both JS and MPP modules in the same project Gradle configuration fails onnodejs {}
andbrowser {}
KT-39377
Use standard source-map-loader instead of custom oneTools. Gradle. Multiplatform
KT-39184
Support publication of Kotlin-distributed libraries with Gradle MetadataKT-39304
Gradle import errorjava.util.NoSuchElementException: Key source set foo is missing in the map
on unused source setTools. Gradle. Native
KT-37514
CocoaPods Gradle plugin: Support building from terminal projects for several platformsKT-38440
Make error message about missing Podfile path for cocoapods integration actionable for a userKT-38991
Gradle MPP plugin: Enable parallel in-process execution for K/N compilerKT-39935
Support overriding theKotlinNativeCompile
task sourcesKT-37512
Cocoapods Gradle plugin: Improve error logging for external toolsTools. J2K
KT-35169
Do not show "Inline local variable" popup during "Cleaning up code" phase of J2KKT-38004
J2K breaks java getter call in java codeKT-38450
J2K should convert Java SAM interfaces to Kotlin fun interfacesTools. JPS
KT-27458
The Kotlin standard library is not found in the module graph ... in a non-Kotlin project.KT-29552
Project is completely rebuilt after each gradle sync.Tools. Scripts
KT-37766
Impossible to apply compiler plugins onto scripts with the new scripting APITools. kapt
KT-29355
Provide access to default values for primary constructor properties1.4-M2
Compiler
New Features
KT-37432
Do not include annotations fields into 'visibility must be explicitly specified' check in api modePerformance Improvements
KT-27362
Anonymous classes representing function/property references contain rarely used methodsKT-35626
NI: Performance problem with many type parametersKT-36047
Compiler produces if-chain instead of switch when when subject captured as variableKT-36638
Use 'java/lang/StringBuilder.append (C)Ljava/lang/StringBuilder;' when appending single character in JVM_IRKT-37389
Avoid type approximation during generation constraints with EQUALITY kindKT-37392
Avoid substitution and type approximation for simple callsKT-37546
NI: high memory and CPU consumption due to creating useless captured types (storing in approximated types cache, unneeded computations)Fixes
KT-11265
Factory pattern and overload resolution ambiguityKT-27524
Inline class is boxed when used with suspend modifierKT-27586
ClassCastException occurs if the Result (or any other inline class) is returned from a lambdaKT-30419
Use boxed version of an inline class in return type position for covariant and generic-specialized overridesKT-31163
FIR: consider replacing comparisons with compareTo calls and some additional intrinsicsKT-31585
ClassCastException with derived class delegated to generic class with inline class type argumentKT-31823
NI: Type mismatch with a star projection andUnsafeVariance
KT-33119
Pre-increment for inline class wrapping Int compiles to direct increment instead of inc-implKT-33715
Kotlin/Native: metadata compilerKT-34048
IllegalAccessError when initializing val property in EXACTLY_ONCE lambdaKT-34433
NI: Type mismatch with a star projection andUnsafeVariance
KT-35133
FIR Java: don't set 'isOperator' for methods with non-operator namesKT-35234
ClassCastException with creating an inline class from a function reference of covariant or generic-specialized overrideKT-35406
Generic type implicitly inferred as Nothing with no warningKT-35587
Plain namespace strings in JvmNameResolver.PREDEFINED_STRINGS are prone to namespace changes during jar relocation.KT-36044
NI: premature fixation a type variable if there were nested lambdas (constraint source was the deepest lambda)KT-36057
[FIR] Incorrect smartcastKT-36069
NI: TYPE_MISMATCH caused by incorrect inference to NothingKT-36125
Callable reference resolution ambiguity error is not displayed properly in the IDEKT-36191
IDE locks loading packages and editing file containingtry
keyword inside string templateKT-36222
NI: Improve error message about nullability mismatch for a generic callKT-36249
NI doesn't use upper bound for T of called function during infer return type and as a result infer it toAny?
if the resulting type was intersection typeKT-36345
FIR: record argument mapping for use in back-endKT-36446
NI: "UnsupportedOperationException no descriptor for type constructor of IntegerLiteralType[Int,Long,Byte,Short]" with BuilderInference and delegateKT-36758
[FIR] Unresolved callable reference to member of local classKT-36759
[FIR] Unsupported callable reference resolution for methods with default parametersKT-36762
[FIR] Unresolvedarray.clone()
KT-36764
[FIR] Bug in inference with DefinitelyNotNull typesKT-36816
NI: definitely not-null (T!!) types in invariant positions don't approximate to T inside inference processKT-36819
NI: premature completion of lambdas, which are passed somewhereKT-36850
Incorrect private visibility of sealed class constructorsKT-36856
Throwing exception when there is inheritance in Kotlin from Java class, which contains methods with the same JVM descriptorsKT-36879
Introduce FIR_IDENTICAL in diagnostic testsKT-36881
FIR: completion don't runs for return expressionsKT-36887
[FIR] Unresolved member in nested lambda in initializerKT-36905
[FIR] Unresolved in lambda in default argument positionKT-36953
AssertionError: "Unsigned type expected: null" when there is a range with an unsigned typeKT-37009
FIR: Bound smart-cast lostKT-37027
FIR: Wrong projection on spread + varargs on non-final typesKT-37038
NI: redundant lambda's arrow breaks CST calculation for extension lambdasKT-37043
NI: inference T to Any? if there was elvis between Java out-type and reifiedmaterialize
for this type without out projectionKT-37066
[FIR] Wrong type inference for lambdasKT-37070
[FIR] Unresolved parameters of outer lambda in scope of inner lambdaKT-37087
"IllegalStateException: Can't find method 'invoke()'" for mutable property reference in default value of an inline function parameterKT-37091
[FIR] Wrong inferred type of when-expression if when-argument is not-null-asserted and type is not specifies explicitlyKT-37176
[FIR] Incorrect resolution mode for statements of blockKT-37302
Unexpected conversion:Int
constant inferred toLong
in when expressionKT-37327
FIR: Smartcast problemKT-37343
NI: definitely not null types pre-approximation is inconsistent with OIKT-37380
NI: broken some code with def not null types due to skip needed constraintsKT-37419
NI: UNRESOLVED_REFERENCE_WRONG_RECEIVER is reported in case lambda with receiver is returned fromwhen
expressionKT-37434
Kotlin/JS, Kotlin/Native: fun interfaces: SAM conversion to Kotlin interface is not compiled with RESOLUTION_TO_CLASSIFIERKT-37447
Expression from annotation entry in value parameter inside value parameter should be marked as USED_AS_EXPRESSIONKT-37453
Type arguments not checked to be empty for candidates with no declared parametersKT-37488
[FIR] Incorrect exhaustiveness checking for branches with equals to object that implements sealed classKT-37497
NI: 'super' is not an expression, it can not be used as a receiver for extension functionsKT-37530
NI: instantiation of abstract class via callable reference argument causes run time InstantiationErrorKT-37531
NI: callable reference argument with left hand side type parameter causes frontend exceptionKT-37554
NI: Nothing is inferred incorrectly with elvis returnKT-37579
NI: inconsistent behaviour with OI around implicit invoke convention after safe call with additional implicit receiverKT-37604
"VerifyError: Call to wrong method" in 'invoke' for adapted callable reference to constructor with coercion to UnitKT-37621
NI: type variable is inferred to Nothing if the second branch was Nothing and there was upper bound for a type parameterKT-37626
NI: builder inference with expected type breaks class references resolution for a class with parametersKT-37627
NI: wrong order of the type variable fixation (Nothing? against a call with lambda)KT-37628
NI: wrong approximation of type argument to star projection during common super type calculationKT-37644
NI: appeared exception during incorporation of a captured type into a type variable for elvis resolveKT-37650
NI: it's impossible to infer a type variable with the participation of a wrapped covariant typeKT-37718
False positive unused parameter for @JvmStatic main function in objectKT-37779
ClassCastException: Named argument without spread operator for vararg parameter causes code to crash on runtimeKT-37832
In MPP, subtypes of types defined in legacy libraries, like stdlib, cannot properly resolve on the consumer side receviing bothKT-37861
Capturing an outer class instance in a default parameter of inner class constructor causes VerifyErrorKT-37986
Return value of function reference returning inline class mapped to 'java.lang.Object' is not boxed properlyKT-37998
'!!' operator on safe call of function returning inline class value causes CCE at runtimeKT-38042
Allow kotlin.Result as a return type only if one enabled inline classes explicitlyKT-38134
NI: Type mismatch with a star projection andUnsafeVariance
KT-38298
Inconsistent choice of candidate when both expect/actual are available (affects onlyenableGranularSourceSetMetadata
)KT-38661
NI: "Cannot infer type variable TypeVariable" with lambda with receiverKT-38668
Project with module dependency in KN, build fails with Kotlin 1.3.71 and associated libs but passes with 1.3.61.KT-38857
Class versions V1_5 or less must use F_NEW frames.KT-39113
"AssertionError: Uninitialized value on stack" with EXACTLY_ONCE contract in non-inline function and lambda destructuringDocs & Examples
KT-35231
toMutableList documentation is vagueIDE
Performance Improvements
KT-30541
EDT Freeze after new Kotlin Script creationKT-35050
Significant freezes due to findSdkAcrossDependencies()KT-37301
Freeze when "Optimize Imports" in KotlinImportOptimizerKT-37466
Invalidate partialBodyResolveCache on OCBKT-37467
PerFileAnalysisCache.fetchAnalysisResultsKT-37993
Do not resolve references if paste code is located in the same originKT-38318
Freezes in IDEAFixes
KT-27935
Functional typealias with typealias in type parameters causes UnsupportedOperationException in TypeSignatureMappingKt (IDEA analysis)KT-31668
Complete statement for class declaration: add '()' to supertypeKT-33473
UAST: References to local variable are resolved to UastKotlinPsiVariableKT-34564
Kotlin USimpleNameReferenceExpression for annotation parameter resolves to null for compiled Kotlin classesKT-34973
Light class incorrectly claiming ambiguous method call from Java when one overload is syntheticKT-35801
UAST: UnknownKotlinExpression for valid Kotlin annotated expressionKT-35804
UAST: Annotations missing from catch clause parametersKT-35848
UAST: ClassCastException when trying to invoke UElement for some wrapped PsiElementsKT-36156
Kotlin annotation attributes have blue color whereas white in JavaKT-36275
UAST: UCallExpression::resolve returns null for local function callsKT-36717
Fix failing light class tests after switching plugin to language version 1.4KT-36877
Message bundles for copy paste are missed in 201KT-36907
IDE:-Xuse-ir
setting on facet level does not affect highlightingKT-37133
UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpressionKT-37312
"Implement members" intention put function in the primary constructor if there are unused brackets in classKT-37613
Uast: no parameters in reified methodKT-37933
Rare NPE in ProjectRootsUtilKt.isKotlinBinary [easy fix]KT-38081
Configure kotlin in project produces IDE error "heavy operation and should not be call on AWT thread"KT-38354
HMPP. IDE. Dependency leakage from leaf native to shared native moduleKT-38634
IDE: Error on opening MPP project in 1.3.72 after opening it in 1.4-M2IDE. Code Style, Formatting
KT-37870
"Remove trailing comma" action stops working after applying and cancelling itIDE. Completion
KT-36808
Delete Flow.collect from autocompletion list or make it least prioritizedKT-36860
Provide convenient completion of extension functions from objectsKT-37395
Invalid callable reference completion of member extensionIDE. Debugger
KT-34906
Implement Coroutine DebuggerKT-35392
Debugger omits meaningful part of the stacktrace even with disabled filterKT-36215
Coroutines debugger tab is empty in Android StudioKT-37238
Coroutines Debugger: dump creation fails every timeKT-38047
Coroutines Debugger: Assertion failed: “Should be invoked in manager thread, use DebuggerManagerThreadImpl” on moving to source code from suspended coroutine in project without debugger jar in classpathKT-38049
Coroutines Debugger: NPE “null cannot be cast to non-null type com.sun.jdi.ObjectReference” is thrown by calling dumpCoroutinesKT-38487
Any Field Watch interaction causes a MissingResourceExceptionIDE. Decompiler, Indexing, Stubs
KT-37896
IAE: "Argument for @NotNull parameter 'file' of IndexTodoCacheManagerImpl.getTodoCount must not be null" through KotlinTodoSearcher.processQuery()IDE. Gradle Integration
KT-33809
Withkotlin.mpp.enableGranularSourceSetsMetadata=true
, IDE misses dependsOn-relation between kotlin and android sourceSets, leading to issues with expect/actual matchingKT-36354
IDE: Gradle import from non-JVM projects: dependency to output artifact is created instead of module dependencyKT-38037
UnsupportedOperationException on sync gradle Kotlin project with at least two multiplatform modulesIDE. Gradle. Script
KT-36763
Drop modification stamp for scripts after project importKT-37237
Script configurations should be loaded during project import in case of errorsKT-38041
Do not request for script configuration after VCS updateIDE. Inspections and Intentions
New Features
KT-3262
Inspection "Inner class could be nested"KT-15723
Add 'Convert to value' quickfix for property containing only getterKT-34026
Add "Remove argument" quick fix for redundant argument in constructor callKT-34332
Add "Remove argument" quick fix for redundant argument in function callKT-34450
Convert function to property
intention should be also displayed onfun
keywordKT-34593
Invert 'if' condition: InvertString.isNotEmpty
should beString.isEmpty
KT-34819
Inspection: report useless elvis "?: return null"KT-37849
SupportReplaceWith
for supertypes callPerformance Improvements
KT-37515
DeadlockFixes
KT-12329
"invert if" inserts unnecessary 'continue' for statement inside a loop with 'continue'KT-17615
"Convert parameter to receiver" changesthis
tothis@ < no name provided >
KT-20868
IntelliJ says method from anonymous inner class with inferred interface type is not used even though it isKT-20907
Secondary constructor is marked as unused by IDE when called by typealiasKT-22368
"Convert to block body" intention incorrectly formats closing braceKT-23510
"Remove parameter" quick fix keeps lambda argument when it's out of parenthesesKT-27601
False positive "Unused import directive" for extension function used in KDocKT-28085
"Convert receiver to parameter" introduces incorrect this@class in lambdaKT-30028
"Convert parameter to receiver" introduces wrong 'this' qualifier for extension lambda receiverKT-31601
"Remove redundant let call" changes semantics by introducing multiple safe callsKT-31800
False positive "never used" with function in private val object expressionKT-31912
QF “Convert to anonymous object” do nothing on SAM-interfacesKT-32561
"Property can be declared in constructor" causes another warningKT-32809
Convert parameter to receiver inserts wrong qualifiers for this (when nothing needs to be changed)KT-34371
"Surround with lambda" quickfix is not available for suspend lambda parameters.KT-34640
Replace 'if' with 'when' leads to copy comment line above when from another ifKT-36225
KNPE: CodeInliner.processTypeParameterUsages withReplaceWith
for inline reified generic functionKT-36266
NPE when invoking Lift return out of if/when after intention becomes inapplicable but still beeing shownKT-36296
False negative "Redundant SAM-constructor" with multiple SAM argumentsKT-36367
False negative "Redundant SAM-constructor" for kotlin functionsKT-36368
False negative "Redundant SAM-constructor" for fun interfaces in kotlinKT-36395
False positive "Redundant SAM-constructor" with two java interfaces extending one anotherKT-36411
"Put parameters on separate lines" and "Put parameters on one line" actions do not respect trailing commaKT-36482
"Add JvmOverloads annotation" intention is still suggested for annotation's parametersKT-36686
Implement members quickfix puts the implementation before the data class if it already has a bodyKT-36685
"Convert to a range check" transform hex range to int if it is compared with "Less" or "Greater"KT-36707
False positive redundant companion object on calling companion object membersKT-36735
Inspection 'Replace 'toString' with string template' miss curly braces and generates wrong code for constructor callsKT-36834
Convert use-site targets and usages with convert property to fun intentionKT-37213
"Move to top level" intention does not update imports for extension functionsKT-37496
False positive "Remove redundant backticks" for multiple underscores variable nameKT-37502
False positive "redundant lambda arrow" with inline generic function with reified type in object and anonymous parameter nameKT-37508
"Convert receiver to parameter" breaks code in anonymous objects (this@ < no name provided >)KT-37576
Kotlin InspectionSuppressor not being called for the kotlin's inspectionsKT-37749
"Convert to anonymous object" intention is suggested for Java SAM conversion, but not for KotlinKT-37781
"Add modifier" intention/quickfix works incorrectly with functional interfacesKT-37893
i18n: Incorrect quickfix name "Lift return out of '"IDE. KDoc
KT-37361
Support for showing rendered doc comments in editorIDE. Libraries
KT-36276
IDE: references to declarations in JavaScript KLib dependency are unresolvedKT-37562
IDE: references to JavaScript KLib dependency are unresolved, when project and library are compiled with "both" modeIDE. Navigation
KT-18472
UI lockup on find usagesKT-18619
Find Usages of element used via import alias does not show actual usage locationKT-34088
Navigate | Implementations action doesn't show implementations of Java methods in Kotlin files if method has parameters referring to generic typeKT-35006
IDE: "Navigate to inline function call site" from stack trace for nested inline call navigates to outer inline callKT-36138
628 second freeze when doing Find Usages on data class propertyKT-36218
Show Kotlin file members in navigation barKT-37494
AnnotatedElementsSearch unable to find annotated property accessorIDE. Project View
KT-32886
Project tool window: Show Visibility Icons does nothing for Kotlin classesKT-37632
IDE error on project structure openingIDE. Refactorings
Performance Improvements
KT-37801
Renaming private property with common name is very slowFixes
KT-22733
Refactor / Inline Function: fun with type parameter: KNPE at CodeInliner.processTypeParameterUsages()KT-27389
MPP: Refactoring "Move Class" does not change the package declarationKT-29870
Inline variable doesn't handle 'when' subject val correctlyKT-33045
Cover Move Refactoring by statistics (FUS)KT-36071
Refactoring: Move top declaration implementation refactoringKT-36072
Empty files are removed on Refactor/Move action with turned off "Delete empty source files" optionKT-36114
java.lang.NoClassDefFoundError exception on Refactor/Move of kotlin function if it is referenced in javaKT-36129
java.lang.Throwable: Invalid file exception occurs on Refactor/Move of class from kotlin scriptKT-36382
Move file refactoring breaks ktor application configKT-36504
"Extract property" suggests potentially invalid name for new propertyKT-37637
KotlinChangeSignatureUsageProcessor broke Change Signature in Python pluginKT-37797
Useless "Value for new paramater" step in 'Update usages to reflect signature changes' for method with default parameter valueKT-37822
Improve message "Inline all references and remove the kind"KT-38348
UL methods return signature without generic type parametersKT-38527
Move nested class to upper level fails silently: MissingResourceExceptionIDE. Script
KT-37765
NCDFE KJvmCompiledModuleInMemory on running*.main.kts
scriptIDE. Tests Support
KT-36716
Withkotlin.gradle.testing.enabled=true
, gradle console output gets extra ijLog messagesKT-36910
There are no Run/Debug actions in context menu for non-JVM platform-specific test resultsKT-37037
[JS, Debug] Node.JS test debug doesn't stop on breakpointsIDE. Wizards
New Features
KT-36150
New Project Wizard: provide a way to connect with "dependsOn" relation the added project modulesKT-36179
New Project Wizard: it's impossible to make a JVM target friendly to Java code in a multiplatform projectFixes
KT-35583
New Project wizard: don't suggest build systems which cannot be usedKT-35585
New Project wizard: remember choices which have sense for many projectsKT-35691
New Project wizard: artifact and group values are effectively ignoredKT-35693
New Project wizard creates pom.xml / build.gradle referring to release Kotlin version onlyKT-36136
New Project Wizard: generated projects are missing m2 Gradle repositoryKT-36137
New Project Wizard: "multiplatform" shall be written as a single word, without the capital P in the middleKT-36155
New Project Wizard: show warning "Multiplatform project cannot be generated" only for MPP projectsKT-36162
New Project Wizard: make the error messages in modules editor actionableKT-36163
New Project Wizard: remove trailing spaces in Android SDK Path automaticallyKT-36166
New Project Wizard: addition of Android target into a multiplatform project doesn't add a necessary minimal Android configurationKT-36169
New Project Wizard: Android-related projects failed to buildKT-36176
New Project Wizard: module templates doesn't work for multiplatform projectsKT-36177
New Project Wizard: it's impossible to add more than one target of JVM kind to a multiplatform projectKT-36180
New Project Wizard: it's impossible to set target JVM version for a JVM moduleKT-36226
New Project Wizard: add Mobile Android/iOS project templateKT-36267
New Project Wizard: flatten JVM targets list for multiplatform projectsKT-36328
New Project wizard fails for certain templates with AE: "Wrong line separators" at KotlinFormattingModelBuilder.createModel()KT-37599
New Project Wizard: Open Kotlin Wizard via hyperlinkKT-37667
New project wizard: implement new UI designKT-37674
Kotlin version in build files includes the IDEA versionKT-38061
New Project wizard 1.4: do not allow choosing build system if corresponding IJ plugin is disabledKT-38567
New Project wizard 1.4+: Improve processing case when project with required path already existsKT-38579
New Project wizard 1.4+: multiplatform mobile application: build fails on lint task: Configuration with name 'compileClasspath' not foundKT-38929
New project wizard: update libraries in project template according to kotlin IDE plugin versionKT-38417
Enable new project wizard by-defaultJS. Tools
KT-36484
KotlinJS, MPP: Compilation throws "TypeError: b is not a function" only in production modeJavaScript
KT-31126
Invalid JS constructor call (primary ordinary -> secondary external)KT-35966
Make @JsExport annotation usable in common codeKT-37128
KJS: StackOverflowException when using reified recursive bound for type parameterKT-37163
KJS: NullPointerException on using intersection type as a reified oneKT-37418
SupportAssociatedObjectKey
andfindAssociatedObject
in JS IR BELibraries
New Features
KT-8658
Add property delegates which call get/set on the given KProperty instance, e.g. a property referenceKT-12448
Make@Suppress
applicable for type parametersKT-22932
String.format should support null localeKT-23514
assertFailsWith should link unexpected exception as causeKT-23737
JS & MPP: Support exception cause and addSuppressedKT-25651
Add shuffle() to Array, ByteArray, IntArray, etc to match MutableListKT-26494
Create an interface with provideDelegate()KT-27729
InheritReadWriteProperty
fromReadOnlyProperty
KT-28290
Add the onEach extension function to the ArrayKT-29182
SIZE_BYTES/BITS for Float and DoubleKT-30372
Add associateWith to ArrayKT-33906
Add vararg overloads for maxOf/minOf functionsKT-34161
Array.contentEquals/contentHashCode/contentToString should allow null array receiver and argumentKT-35851
Add setOfNotNull functionKT-36866
reduceIndexedOrNullKT-36955
stdlib: Reverse range and sortDescending rangeKT-37161
Add #onEachIndexed similar to #forEachIndexedKT-37603
Throwable.stackTraceToString: string with detailed information about exceptionKT-37751
Implement shuffled() method SequencesKT-37804
Add 'fail' in kotlin-test that allows to specify causeKT-37839
StringBuilder.appendLine in stdlib-commonKT-37910
Support Media Source Extension (MSE) and Encrypted Media Extensions (EME) in Kotlin/JsKT-38044
Common Throwable.printStackTracePerformance Improvements
KT-37416
readLine() is very slowFixes
KT-13887
Double/Float companion values such as NaN should be constantsKT-14119
String.toBoolean()
should beString?.toBoolean()
KT-16529
Names of KProperty's type parameters are inconsistent with ReadOnlyProperty/ReadWritePropertyKT-36356
Specify which element Iterable.distinctBy(selector) retainsKT-38060
runningFold and runningReduce instead of scanReduceReflection
KT-29969
Support optional vararg parameter inKCallable.callBy
KT-37707
"IllegalStateException: superInterface.classLoader must not be null" on class, which implements "AutoCloaseable" interface, "isAccessible" property changingTools. CLI
KT-37090
file does not exist:C:\Users\NK\DOWNLO~1\kotlin-compiler-1.3.61\kotlinc\bin\..\lib\kotlin-compiler.jar" from standalone compiler on Windows
Tools. Gradle
KT-35447
Warnings should be piped to stderr when using allWarningsAsErrors = trueKT-35942
User test Gradle source set code cannot reach out internal members from the production codeKT-36019
Implement Gradle DSL for explicit API modeTools. Gradle. JS
New Features
KT-32017
Kotlin/JS in MPP: support changing the generated JS file name in Gradle DSLKT-32721
[Gradle, JS] CSS Support for browserKT-36843
[Gradle, JS, IR] Configure JS Compiler Type through DSLKT-37207
Allow to use npm dependency from a local directoryKT-38056
[Gradle, JS] Group tasks by browser and nodeFixes
KT-32466
kotlinNpmResolve fails in the case of composite buildKT-34468
Consider custom versions while parsing yarn.lockKT-36489
[Gradle, JS, IR]: Correct naming for both compilersKT-36784
Kotlin. JS. MPP – Cannot find project :js when using Gradle composite buildsKT-36864
KJS. Composite build require JS plugin in root projectKT-37240
KJS. Nondeterministic execution order for webpack scripts (from folder 'webpack.config.d')KT-37582
Kotlin/JS: KotlinWebpack non-nullable properties are shown as nullable in Gradle configurationKT-37587
KJS. Karma ignore dynamically created webpack patchesKT-37635
[Gradle, JS] Webpack devtool provide enum for only 2 variantsKT-37636
[Gradle, JS] Extract package.json from klibKT-37762
[Gradle, JS] Actualize Node and Yarn versions in 1.4KT-37988
[Gradle, JS] Bump NPM versions on 1.4-M2KT-38051
[Gradle, JS] browserDistribution doesn't provide outputsKT-38519
JS Compiler per project without additional importTools. Gradle. Multiplatform
KT-36674
allMetadataJar
task fails if there is an empty intermediate source set in a multiplatform project with native targetsKT-38746
In HMPP, compilation of a shared-native source set could be mistakenly disabledKT-39094
Provide a way to pass custom JVM args to commonizer from GradleTools. Gradle. Native
KT-25887
Kotlin Native gradle build fail withendorsed is not supported. Endorsed standards and standalone APIs
on jdk > 8 & CLionKT-36721
Deduce a fully qualified unique_name in klib manifest from something like group nameKT-37730
Native part of multiplatform build fails with "unresolved reference" errors if there is a local and external module with the same nameKT-38174
Kotlin/Native: Disable platform libraries generation at the user side by defaultTools. J2K
Fixes
KT-34965
Convert function reference copied from function callKT-35593
New J2K: method's names don't change between functions declared in Number.java and Number.ktKT-35897
J2K converts private enum constructors to internal constructors and produces NON_PRIVATE_CONSTRUCTOR_IN_ENUM errorKT-36088
J2K: StackOverflowError when trying to convert Java class with recursive type boundKT-36149
J2K: PsiInvalidElementAccessException: Element class com.intellij.psi.impl.source.tree.CompositeElement of type DOT_QUALIFIED_EXPRESSIONKT-36152
J2K: RuntimeException: Couldn't get containingKtFile for ktElementKT-36159
J2K: ClassCastException if constructor contains a super() call and class extends from Kotlin classKT-36190
J2K: Wrong property name generation when getter for non-boolean value starts with 'is'KT-36891
j2k: Fail with java.lang.NoClassDefFoundError when converting arrayKT-37052
new J2K: Java private function is converted toprivate open
top-level functionKT-37620
new J2K: IndexOutOfBoundsException (DefaultArgumentsConversion.applyToElement) with overloaded function with vararg parameterKT-37919
new J2K: Redundant line feeds when converting functionTools. JPS
KT-37159
A Typo (forgotten space) in build output in Circular dependencies warning descriptionTools. Scripts
KT-30086
ThreadDeath when running kotlin scripts using jsr223KT-37558
Scripts: implicit receivers don't work correctly when using CompiledScriptJarsCacheKT-37823
Consecutive invocations of main.kts throw a KotlinReflectionNotSupportedError1.4-M1
Compiler
New Features
KT-4240
Type inference possible improvements: analyze lambda with expected type from the outer callKT-7304
Smart-casts and generic calls with multiple bounds on type parametersKT-7745
Support named arguments in their own position even if the result appears as mixedKT-7770
SAM for Kotlin classesKT-8834
Support function references with default values as other function typesKT-10930
Expected type isn't taken into account for delegated propertiesKT-11723
Support coercion to Unit in callable reference resolutionKT-14416
Support of @PolymorphicSignature in Kotlin compilerKT-16873
Support COERSION_TO_UNIT for suspend lambdasKT-17643
Inferring type of Pair based on known Map typeKT-19869
Support function references to functions with vararg if expected type ends with repeated vararg element typeKT-21178
Prohibit access of protected members inside public inline membersKT-21368
Improve type inferenceKT-25866
Iterable.forEach does not accept functions that return non-Unit valuesKT-26165
Support VarHandle in JVM codegenKT-27582
Allow contracts on final non-override membersKT-28298
Allow references to generic (reified) type parameters in contractsKT-31230
Refine rules for allowed Array-based class literals on different platforms: allowArray::class
everywhere, disallowArray<...>::class
on non-JVMKT-31244
Choose Java field during overload resolution with a pure Kotlin propertyKT-31734
Empty parameter list required on Annotations of function typesKT-33990
Type argument isn't checked during resolution partKT-33413
Allow 'break' and 'continue' in 'when' statement to point to innermost surrounding loopKT-34743
Support trailing comma in the compilerKT-34847
Lift restrictions fromkotlin.Result
Fixes
KT-2869
Incorrect resolve with 'unsafe call error' and genericsKT-3630
Extension property (generic function type) does not workKT-3668
Infer type parameters for extension 'get' in delegated propertyKT-3850
Receiver check fails when type parameter has another parameter as a boundKT-3884
Generic candidate with contradiction is preferred over matching global functionKT-4625
Poor error highlighting when assigning not matched type to index operatorKT-5449
Wrong resolve when functions differ only in the nullability of generic typeKT-5606
"Type mismatch" in Java constructor call with SAM lambda andvararg
parameterKT-6005
Type inference problem in sam constructorsKT-6591
Overloaded generic extension function call with null argument resolved incorrectlyKT-6812
Type inference fails when passing a null instead of a generic typeKT-7298
Bogus type inference error in generic method call translated from JavaKT-7301
Type inference error in Kotlin code translated from JavaKT-7333
Type inference fails with star-projections in code translated from JavaKT-7363
Kotlin code with star-projections translated from Java does not typecheckKT-7378
3-dimension array type inference failKT-7410
Call resolution error appears only after adding non-applicable overloadKT-7420
Type inference sometimes infers less specific type than in JavaKT-7758
Type of lambda can't be inferedKT-8218
Wrong 'equals' for generic types with platform type and error typeKT-8265
Non-typesafe program is compiled without errorsKT-8637
Useless diagnostics for type parameters with unsafe nullabilityKT-8966
Smart casts don't work with implicit receiver and extension on type parameter with boundsKT-10265
Type inference problem when using sealed class and interfacesKT-10364
Call completeCall on variable before invoke resolutionKT-10612
java.util.Comparator.comparing type inferenceKT-10628
Wrong type mismatch with star projection of inner class inside use-site projected typeKT-10662
Smartcast with not-null assertionKT-10681
Explicit type arguments not taken into account when determining applicable overloads of a generic functionKT-10755
Not "least" common super-type is selected for nested 'if' result in presence of multiple inheritanceKT-10929
Type inference based on receiver type doesn't work for delegated properties in some casesKT-10962
Wrong resolution when argument has unstable DataFlowValueKT-11108
RxJava failed platform type inferenceKT-11137
Java synthetic property does not function for a type with projectionKT-11144
UninferredParameterTypeConstructor exception during buildKT-11184
Type inference failed for combination of safe-call, elvis, HashSet and emptySetKT-11218
Type inference incorrectly infers nullable type for type parameterKT-11323
Type inference failed in call with lambda returning emptyListKT-11331
Unexpected "Type inference failed" in SAM-conversion to projected typeKT-11444
Type inference failsKT-11664
Disfunctional inference with nullable type parametersKT-11894
Type substitution bug related platform typesKT-11897
No error REIFIED_TYPE_FORBIDDEN_SUBSTITUTION on captured typeKT-11898
Type inference error related to captured typesKT-12036
Type inference failedKT-12038
non-null checks and inferenceKT-12190
Type inference for TreeMap type parameters from expected type doesn't work when passing comparator.KT-12684
A problem with reified type-parameters and smart-castsKT-12833
'it' does not work in typed containers of lambdasKT-13002
"Error type encountered: UninferredParameterTypeConstructor" with elvis and whenKT-13028
cast with star on on type with contravariant generic parameter makes the compiler crashKT-13339
Type inference failed for synthetic Java property call on implicit smart cast receiverKT-13398
"Type T is not a subtype of Any"KT-13683
Type inference incorporation error when passed null into not-null parameterKT-13721
Type inference fails when function arguments are involvedKT-13725
Type inference fails to infer type with array as a generic argumentKT-13800
Type inference fails when null passed as argument (related to common system)KT-13934
Callable reference to companion object member via class name is not resolvedKT-13964
Unknown descriptor on compiling invoke operator call with generic parameterKT-13965
Invoke operator called on extension property of generic type has incorrect parameter typeKT-13992
Incorrect TYPE_INFERENCE_UPPER_BOUND_VIOLATEDKT-14101
Type inference failed on nullKT-14174
Compiler can't infer type when it should be able toKT-14351
Internal error with uninferred types for compiling complicated when expressionKT-14460
Smartcast isn't considered as necessary in the last expression of lambdaKT-14463
Missing MEMBER_PROJECTED_OUT error after smartcast with invokeKT-14499
Type inference fails even if we specifyT
explicitlyKT-14725
kotlin generics makes agera's compiled repositories unusableKT-14803
Weird smart cast absence in lazy delegateKT-14972
Type inference failed: wrong common supertype for types with several subtypesKT-14980
Type inference for nullable type in if statementKT-15155
False "No cast needed" warning for conversion to star-projected typeKT-15185
Inference for coroutines not work in case where we have suspend function with new coroutine insideKT-15263
Kotlin can't infer the type of a multiple bounded methodKT-15389
Type inference for coroutines in 1.1-M04KT-15394
Support coercion to Unit for last statement for suspend lambdaKT-15396
Type inference for last statement in coroutineKT-15488
Type inference not working on generic function returning generic type in lambda resultKT-15648
Better use of overladed functions with nullablesKT-15922
TYPE_INFERENCE_CONFLICTING_SUBSTITUTION for function referenceKT-15923
Internal error: empty intersection for typesKT-16247
Overload resolution ambiguity with intersection types and method referencesKT-16249
Can't call generic method with overloaded method reference when non-generic overload existsKT-16421
Remove @ParameterName annotation from diagnostic messagesKT-16480
Wrong "Type mismatch" for variable as function callKT-16591
Type inferencing doesn't consider common base class of T of multiple Foo function parametersKT-16678
Overload resolution ambiguity on println()KT-16844
Recursive dependency] (DeferredType) error on code generation.KT-16869
Cannot infer type parameter S in fun <S, T : S?> f(x: S, g: (S) -> T): TKT-17018
"Rewrite at slice LEXICAL_SCOPE" for 'when' with function reference inside lambdaKT-17048
Compilation exception: error type encountered in some combination of when/elvis with multiple inheritanceKT-17340
Type inference failed on overloaded method reference with expected KFunctionKT-17386
Smart cast on LHS of callable reference doesn't work if expected type is nullableKT-17487
ReenteringLazyValueComputationException for interface with a subclass that has a property of interface typeKT-17552
Call completed not running for elvis as last expression in lambdaKT-17799
Smart cast doesn't work for callable reference (colon-colon operator)KT-17968
More type inference problems with Streams.collectKT-17995
No type mismatch with emptywhen
expression inside lambdaKT-18002
Issue with star projection for generic type with recursive upper boundKT-18014
Cannot use Comparator.comparingKT-18080
Type inference failed for generic method reference argumentKT-18192
Type inference fails for some nested generic type structuresKT-18207
Unexpected attempt to smart cast causes compile errorKT-18379
Type inference failed although explicit specifiedKT-18401
Type mismatch when inferring out type parameter (related to callable reference)KT-18481
ReenteringLazyValueComputationException for recursive const declaration without explicit typeKT-18541
Prohibit "tailrec" modifier on open functionsKT-18790
function take the parameterized type with multi-bounds can't workingKT-19139
Kotlin build error in Android Studio on << intent.putExtra(“string”, it.getString(“string”) >> inside "else if" blockKT-19751
Nested conditionals break type inference when multiple types are possible for the expressionKT-19880
An overload with nullable parameter is not resolved due to a smart cast attempt after assignmentKT-19884
type inference with type parameterKT-20226
Return type 'Any' inferred for lambda with early return with integer literal in one of possible return valuesKT-20656
Callable reference breaks smart cast for next statementKT-20734
Invalid "Smart-cast impossible" when there are applicable extension and semi-applicable memberKT-20817
Coroutine builder type inference does not take smart casts into account (confusing)KT-21060
ReenteringLazyValueComputationException during type inferenceKT-21396
if-else with a branch of type Nothing fails to infer receiver typeKT-21463
Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projectionKT-21607
Type inference fails with intermediate functionKT-21694
Type inference failed for ObservableListKT-22012
Kotlin type deduction does not handle Java's <? super T> constructsKT-22022
ReenteringLazyValueComputationException when having cyclic references to static variablesKT-22032
Multiple type parameter bounds & smart castsKT-22043
Report an error when comparing enum (==/!=/when) to any other incompatible type since 1.4KT-22070
Type inference issue with platform types and SAM conversionKT-22474
Type safety problem because of incorrect subtyping for intersection typesKT-22636
Anonymous function can be passed as a suspending one, failing at runtimeKT-22723
Inconsistent behavior of floating-point number comparisonsKT-22775
Type inference failed when yielding smartcasted not null value fromsequence
KT-22885
Broken type safety with function variables caused by wrong subtyping check that includes intersection typesKT-23141
Cannot resolve between two functions when only one of them accepts nullable parameterKT-23156
IDEA asking me to remove uninferable explicit type signatureKT-23391
Bogus type inference error with smart cast, synthetic property and star projectionKT-23475
Implicit invoke on property with generic functional return type resolves incorrectlyKT-23482
Incorrect frontend behaviour for not inferred type for generic property with function type as resultKT-23677
Incorrect error diagnostic for return types that coerced to 'Unit' inside lambdaKT-23748
Erroneous type mismatch when call with @Exact annotation depends on non-fixed type variableKT-23755
Nested lambdas with nested types can cause false USELESS_CAST warningKT-23791
Explicit type argument leads to an error, while candidate is picked correctly without itKT-23992
Target prefixes for annotations on supertype list elements are not checkedKT-24143
Type-checking error for generic functionsKT-24217
Type inference for generic functions reference problem.KT-24237
Uninferred type parameter on variable with multiple smart casts in elvisKT-24317
Unnecessary non-null assertion inspection shownKT-24341
Compiler exception instead of error about "upper bound violated"KT-24355
Overload resolution ambiguity due to unstable smartcastKT-24458
Cannot solve “Conditional branch result is implicitly cast to Any” with ListKT-24493
Incorrect error about Array unsupportedKT-24886
Type inference failure in an if-else_if-elseKT-24918
type inference not good enough for return type with involved if statementKT-24920
Type inference failure when using RxJava composeKT-24993
Inference for buildSequence/yield doesn't work for labeled lambdasKT-25063
List of Arrays - wrong type inferred if nullable involvedKT-25268
Incorrect type inference (least upper bound of the types) in exhaustive when for NumberKT-25294
Reactors Mono map function with KotlinKT-25306
Make f(a = arrayOf(x)) equivalent to f(a = *arrayOf(x))KT-25342
Type inference: lazy with generic fails to inferKT-25434
Too eager smartcast cause type mismatchKT-25585
"Rewrite at slice LEXICAL_SCOPE" forif
expression with callable reference inside lambdaKT-25656
Short-hand array literal notation type inference fails in nested annotationsKT-25675
return when
leads to compiler errorKT-25721
Type inference does not work in nested try catchKT-25827
NullPointerException in setResultingSubstitutor with a generic base classKT-25841
Collection type is inferred as Collection if the values returned frommap
function have an intersection common typeKT-25942
Pass a parameter to generic function with several upper boundsKT-26157
Failed type inference forDelegates.observable
parameter with a nullable propertyKT-26264
No smart cast on implicit receiver extension function callKT-26638
Check for repeatablilty of annotations doesn't take into account annotations with use-site targetKT-26698
OnlyInputTypes doesn't work in presence of upper bound constraintKT-26704
Correct variable-as-function call fails to compile in case of function type dependent on variable typeKT-27440
Infer lambda parameter type before lambda analysis in common systemKT-27464
False negative type mismatch when a non-null assertion is used on a top-levelvar
mutable variableKT-27606
Incorrect type inference when common supertype of enum classes is involvedKT-27722
mapNotNull on List<Result> fails if T is not subtype of AnyKT-27781
ReenteringLazyValueComputationException for anonymous object property referring to itself in overridden methodKT-27799
Prohibit references to reified type parameters in annotation arguments in local classes / anonymous objectsKT-28083
Nothing-call smart cast of a variable that a lambda returns does not affect the lambda's return typeKT-28111
Type inference fails for return type of lambda with constrained genericKT-28242
Not-null assertion operator doesn't affect smartcast typesKT-28264
Resulting type of a safe call should produce type that is intersected with AnyKT-28305
"Error type encountered" with elvis operator, type argument and explicitAny
typeKT-28319
"resultingDescriptor shouldn't be null" for a star projection base classKT-28334
Smartcast doesn't work if original type is type with star projection and there was already another smartcastKT-28370
Var not-null smartcasts are wrong if reassignments are used inside catch section (in try-catch) or try section (in try-finally)KT-28424
Type annotations are not analyzed properly in several casesKT-28584
Complex condition fails smart castKT-28614
"Error type encountered: UninferredParameterTypeConstructor"KT-28726
Recursion in type inference causes ReenteringLazyValueComputationExceptionKT-28837
SAM conversion doesn't work for arguments of members imported from objectKT-28873
Function reference resolution ambiguity is not reportedKT-28999
Prohibit type parameters for anonymous objectsKT-28951
"Error type encountered" with elvis operator, type argument and explicitAny
typeKT-29014
Unclear diagnostic for conditional branches coercion with multiple root interfaces and no common superclassKT-29079
ByteArray.let(::String)
can not compile as the callable reference is resolved before the outer callKT-29258
Incorrect return type is used for analysis of an extension lambda (if its type is used as a generic parameter)KT-29330
NI: Multiple duplicate error messages in IDE popup with lambda argumentKT-29402
Missed INLINE_FROM_HIGHER_PLATFORM diagnostic if inline function called from Derived classKT-29515
type inference fails to infer T of KFunction0 for most typesKT-29712
Incorrect compiler warning, "No cast needed" for recursive type boundKT-29876
ReenteringLazyValueComputationException with usage of property inside lambda during assignment to that propertyKT-29911
Not-null smart cast fails inside inline lambda after safe call on generic variable with nullable upper boundKT-29943
Callable reference resolution ambiguity between a property and a function is reported incorrectly in function calls expecting KProperty1KT-29949
Cannot chose among overload as soon as nullable type is involvedKT-30151
Any instead of Number is inferred as common super type of Int and DoubleKT-30176
Compiler can't infer correct type argument which blocks overload resolutionKT-30240
Can't infer intersection type for a type variable with several boundsKT-30278
Retain star projections in typeOfKT-30394
Different behaviour in type inferences (bug in the old inference) when cast of variable of nullable type parameter to not-null is usedKT-30496
Wrong infix generic extension function is chosen fornull
receiverKT-30550
Suspend modifier on a functional type changes resolution of return typeKT-30892
IllegalStateException(UninferredParameterTypeConstructor) with return references to local function from if-else expressionKT-30947
No smart cast on accessing generic class member with upper-bounded type argumentKT-31102
Type mismatch in mixing lambda and callable referenceKT-31151
"IllegalStateException: Error type encountered" with elvis, when and inheritanceKT-31219
Type mismatch for delegated property depending on anonymous objectKT-31290
overload resolution ambiguity with Iterable.mapTo()KT-31352
JvmName can't eliminate platform declaration clash of annotated propertiesKT-31532
Type inference for complex last expression in lambdaKT-31540
Change initialization order of default values for tail recursive optimized functionsKT-31594
No SETTER_PROJECTED_OUT diagnostic on synthetic properties from JavaKT-31630
TYPE_INFERENCE_PARAMETER_CONSTRAINT_ERROR for generic function with callable reference argumentKT-31654
False unnecessary non-null assertion (!!) warning inside yield callKT-31679
NI: Unresolved reference with delegated property and anonymous objectKT-31739
Overload resolution ambiguity in generic function call with lambda arguments that take different parameter typesKT-31923
Outer finally block inserted before return instruction is not excluded from catch interval of inner try (without finally) blockKT-31968
New inference is using a more common system to infer types from nested elvis call than OIKT-31978
NI: changed precedence of elvis operator relative to equality operatorKT-32026
Infer return type of @PolymorphicSignature method to void if no expected type is givenKT-32087
"Remove explicit type arguments" inspection when function creates a lambda that calls a function with type argumentKT-32097
NI: NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE when using awaitClose in channelFlow builderKT-32098
Kotlin 1.3.40 type inference mismatch between the IDE and the compilerKT-32151
Return arguments of lambda are resolved in common system while in OI aren'tKT-32165
Cannot use 'Nothing' as reified type parameter,KT-32196
Inconsistency between compiler and inspection with mapNotNullKT-32203
NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE warning false-positiveKT-32249
New inference breaks generic property delegate resolutionKT-32250
New Type Inference fails for nullable fieldKT-32262
Type inference failed in presence of @JvmSuppressWildcardsKT-32267
NI: "Overload resolution ambiguity. All these functions match." with KFunctionKT-32284
False positive "Redundant lambda arrow" with extension function returning generic with lambda type argumentKT-32290
New Inference: old inference fails on nullable lambda from if-expressionKT-32306
False positiveRemove explicit type arguments
when using generic return argument from lambda for delegated propertyKT-32358
NI: Smart cast doesn't work with inline function after elvis operatorKT-32383
NI: listOf(…) infers to invalid type if different enums implementing the same interface are involvedKT-32397
OI can't infer types when there are different lower and upper bounds in common systemKT-32399
OI can't choose candidate with different lower and upper boundsKT-32425
No coercion to Unit by a return type of callable expression argumentKT-32431
Nothing inferred for upper bound in parametric classKT-32449
IDE fails to report error: Expected type mismatchKT-32462
NI: "AssertionError: No resolved call" with callable referenceKT-32497
Compiler Type inference fails when inferring type parameters ("Generics") - IDE inference worksKT-32507
IntelliJ Kotlin plugin not recognizing smart cast to non-nullable typeKT-32501
type inference should infer nullable type if non-nullable doesn't workKT-32527
Cast required for Sequence.map when mapping between disjoint typesKT-32548
OVERLOAD_RESOLUTION_AMBIGUITY with platform generic typesKT-32595
NI: Overload resolution ambiguity for member function with type parameter with upper bounds and lambda parameterKT-32598
Kotlin 1.3.41 type inference problemKT-32654
Non-applicable call for builder inference with coroutinesKT-32655
Kotlin compiler and IDEA plugin disagree on typeKT-32686
New type inference algorithm infers wrong type when return type ofwhen
expression has a type parameter, and it's not specified in all casesKT-32788
No smartcast for an implicit "this" in old inferenceKT-32792
Bug in new type inference algorithm for Android StudioKT-32800
Problem with inlined getValue in Delegates, IDEA does not detect problem, but code doesn't compileKT-32802
Odd behaviour with smart-casting in exception blockKT-32850
Invalid suggestion in Kotlin codeKT-32866
tests in Atrium do not compile with new type inferenceKT-33012
Proper capturing of star projections with recursive typesKT-33102
Fake overrides aren't created for propertiesKT-33152
Type inference fails when lambda with generic argument type is presentKT-33166
NI: TYPE_MISMATCH for specific case withwhen
expression and one branch throwing exceptionKT-33171
TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER with object convention invoke direct call on property delegationKT-33240
Generated overloads for @JvmOverloads on open methods should be finalKT-33545
NI: Error type encountered: NonFixed: TypeVariable(T) (StubType)KT-33988
Low priority candidates doesn't match when others failKT-34128
Internal compiler error ReenteringLazyValueComputationException in the absence of right parenthesisKT-34140
Function with contract doesn't smartcast return value in lambdaKT-34314
There is no an error diagnostic about type inference failed (impossible to infer type parameters) on callable referencesKT-34335
A lambda argument without a type specifier is inferred to Nothing, if it's passed to a function, declaration of which contains vararg (e.g. Any)KT-34501
if-expression infersAny
whenNumber?
is expectedKT-34708
Couldn't transform method node: emit$$forInline (try-catch in a Flow.map)KT-34729
NI: type mismatch error is missed for generic higher-order functionsKT-34830
Type inference fails when using an extension method with "identical JVM signature" as method referenceKT-34857
"Illegal resolved call to variable with invoke" with operator resolved to extension propertyinvoke
KT-34891
CompilationException: Failed to generate expression: KtLambdaExpression (Error type encountered)KT-34925
MPP, IDE: False positive warning NO_REFLECTION_IN_CLASS_PATH in common codeKT-35020
"Type checking has run into a recursive problem" for overloaded generic function implemented using expression body syntaxKT-35064
NI: The new inference has overload resolution ambiguity on passing a callable reference for extension functions (> 1 candidates)KT-35207
Incorrect generic signature in annotations when KClass is used as a generic parameterKT-35210
NI: OnlyInputTypes check fails for types with captured onesKT-35213
NI: overload resolution ambiguity for callable reference with defined LHSKT-35226
Forbid spread operator in signature-polymorphic callsKT-35306
Non-applicable call for builder inference
for nested builder functions which return generic types that are wrapped.KT-35337
IllegalStateException: Failed to generate expression: KtLambdaExpressionKT-35398
NI, IDE: Duplicate warning message JAVA_CLASS_ON_COMPANION in argument positionKT-35469
Change behavior of signature-polymorphic calls to methods with a single vararg parameter, to avoid wrapping the argument into another arrayKT-35487
Type safety problem because of lack of captured conversion against nullable type argumentKT-35494
NI: Multiple duplicate error diagnostics (in IDE popup) with NULL_FOR_NONNULL_TYPEKT-35514
Type inference failure without
type and if-else inside lambdaKT-35517
TYPE_MISMATCH error duplication for not Boolean condition in if-expressionKT-35535
Illegal callable reference receiver allowed in new inferenceKT-35578
Diagnostics are sometimes duplicatedKT-35602
NI doesn't approximate star projections properly for self typesKT-35658
NI: Common super type between Inv<A!>, Inv<A?> and Inv is Inv<out A?>, not Inv<A!> (as old inference)KT-35668
NI: the lack of fixing to Nothing problem (one of the bugs: the lack of smartcast through cast of Nothing? to Nothing after elvis)KT-35679
Type safety problem because several equal type variables are instantiated with a different typesKT-35684
NI: "IllegalStateException: Expected some types" from builder-inference about intersecting empty types on trivial codeKT-35814
Inference fails to infer common upper type for java typesKT-35834
Do not declare checked exceptions in JVM bytecode when using delegation to Kotlin interfacesKT-35920
NI allows callable references prohibited in old inferenceKT-35943
NI: IllegalStateException: No error about uninferred type parameterKT-35945
Using Polymorphism and Type Inference the compiler fails having a Type with Type with TypeKT-35992
Wrong overload resolution with explicit type arguments if KFunction and type parameter once nullable and once non-nullableKT-36001
"IllegalStateException: Error type encountered" with elvis in generic functionKT-36002
KotlinFrontEndException: Exception while analyzing expressionKT-36065
Type inference failed for generic function invoked on implicitly nullable variable created from JavaKT-36066
Type inference problem in compilerKT-36101
False positive IMPLICIT_NOTHING_AS_TYPE_PARAMETER with suspend lambdasKT-36146
Drop support of language version 1.0/1.1, deprecate language version 1.2KT-36192
Redundant smart cast for overloaded functionsKT-36202
NI: false positive "NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE" with elvis operator in lambdaKT-36220
NI: false positive NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE if one use cannot resolveKT-36221
NI: UnsupportedOperationException: "no descriptor for type constructor" with vararg parameter whenset
orget
methods of element passed as function referenceKT-36264
NI: unstable smart cast changes results of call resolutionKT-36279
OI: Type inference fails when omitting explicit name of the lambda parameterKT-36298
Failure to resolve return type of extension property on function literalKT-36317
TYPE_MISMATCH diagnostic error duplication for not Boolean condition in do-while-loop-statementKT-36338
Forbid IR backend usage with unsupported language / API versionKT-36371
Incorrect null check with NI and builder inference in generic contextKT-36644
Stop discrimination of prerelease compiler version in Kotlin pluginKT-36745
NI: "Expected some types" with unresolved class referenceKT-36776
Treat special constructions (if, when, try) as a usual calls when there is expected typeKT-36818
NI: the lack of smartcast from Nothing returning "when" branchKT-37123
Cycling lambda signature errors in Observable.combineLatestKT-37146
Type inference can't resolve plus operatorKT-37189
Wrong type inferred with class with two types as argumentKT-37295
NI: Passing function with wrong returning type by reference is not shown as errorKT-37345
Wrong non-null type assertion when using Sequence and yieldKT-37429
Type inference failed: Not enough information to infer parameter with java streamsKT-37480
"None of the following candidates can be called" when compiling but no error in IDEAIDE
KT-33573
IDE runs platform-specific checkers on common code even if the project doesn't target the corresponding platformKT-35823
IDE settings: deprecated values of language / API version look like regular onesKT-35871
NPE in LightMethodBuilderKT-36034
Kotlin 1.3.70 creates filekotlinCodeInsightSettings.xml
with user-level settings under .ideaKT-36084
"Join lines" should remove trailing commaKT-36460
IDE highlighting: Undo on inspection breaks analysis inside top-level property initializerKT-36712
Use new annotation highlighting APIKT-36917
Caret has incorrect position after pressing enter on line with named argumentIDE. Code Style, Formatting
KT-36387
Formatter: "Chained Function Calls" formats property chainsKT-36393
Incorrect trailing comma insertion for boolean operator expressionKT-36466
Formatter: "Chained Function Calls" with "Wrap first call" wrap single method callIDE. Completion
KT-16531
Error type displayed in completion for the result of buildSequenceKT-32178
Autocompletion of 'suspend' should not add the 'fun' keyword when writing a function typeKT-34582
Remove kotlin.coroutines.experimental from autocompletionKT-35258
Completion problems with enabledMixedNamedArgumentsInTheirOwnPosition
featureIDE. Debugger
KT-12016
Step over inside inline function lambda argument steps into inline function bodyKT-14296
Can't step over inlined functions of iteratorKT-14869
Debugger: always steps into inlined lambda after returning from functionKT-15652
Step over inline function call stops at Thread.dispatchUncaughtException() in case of exceptionsKT-34905
Debugger: "Step over" steps into inline function body if lambda call splitted on several linesKT-35354
ClassCastException in evaluate windowIDE. Gradle. Script
KT-36703
.gradle.kts: Change text for out of project scriptsIDE. Hints
KT-37537
IDE is missing or swallowing keystrokes when hint popups are displayedIDE. Hints. Parameter Info
KT-14523
Weird parameter info tooltip for map.getValue type argumentsIDE. Inspections and Intentions
New Features
KT-33384
Intention to switch between single-line/multi-line lambdaKT-34690
Support intentionConvert lambda to reference
for qualified referencesKT-35639
False negative inspection "redundant internal modifier" inside private classKT-36256
Implement migration for WarningOnMainUnusedParameterKT-36257
Implement migration for ProhibitRepeatedUseSiteTargetAnnotationsKT-36258
Implement migration for ProhibitUseSiteTargetAnnotationsOnSuperTypesKT-36260
Implement migration for ProhibitJvmOverloadsOnConstructorsOfAnnotationClassesKT-36261
Implement migration for ProhibitTypeParametersForLocalVariablesKT-36262
Implement migration for RestrictReturnStatementTargetFixes
KT-14001
"Convert lambda to reference" results in failed type inferenceKT-14781
Import of aliased type is inserted when deprecation replacement contains typealiasKT-16907
"Convert to lambda reference" intention is erroneously shown for suspending lambda parameters, producing bad codeKT-24869
False positive inspection "Redundant 'suspend' modifier"KT-24987
Implicit (unsafe) cast from dynamic to DONT_CAREKT-27511
"Remove explicit type arguments" suggestion creates incorrect codeKT-28415
False positive inspection "Remove explicit type arguments" with a callable referenceKT-30831
False positiveRemove explicit type arguments
with generic type constructor with init blockKT-31050
False positive "Boolean literal argument without parameter name" inspection using expect classKT-31559
Type inference failed: Not enough information to infer parameter KKT-32093
NI: IDE suggests to use property access syntax instead of getter methodKT-33098
False positive "Remove explicit type arguments" with "Enable NI for IDE" and Java generic class constructor invocation with nullable argumentKT-33685
ReplaceWith does not add type parameter for function taking generic lambda with receiverKT-34511
kotlin.KotlinNullPointerException after using intention Replace Java Map.forEach with Kotlin's forEach for Map with Pairs as keysKT-34686
False positive "Constructor parameter is never used as a property" if property is used as a referenceKT-35451
Type inference fails after applying false positive inspection "Remove explicit type arguments "KT-35475
Applying intention "Redundant curly braces in string template" for label references change semanticKT-35528
IntentionReplace 'when' with 'if'
produces wrong code if expression subject is a variable declarationKT-35588
Applying "Lift assignment out of 'if'" for if statement that has lambda plus assignment and 'return' leads to type mismatchKT-35604
Too long quickfix message for "modifier 'open' is not applicable to 'companion object'"KT-35648
False negative intention "Remove argument name" on named positional argumentsKT-36160
False positive "Constructor has non-null self reference parameter" with vararg parameter of classKT-36171
intention "Replace 'get' call with indexing operator" works incorrectly with spread operatorKT-36255
Implement migration tool for 1.4KT-36357
"Lift assignment out of 'if'" breaks code for oneliner functionKT-36360
OI: False positive "remove explicit type arguments" for SequenceScope leads to compiler failure with "Type inference failed"KT-36369
"To raw string literal" intention is not available if string content starts with newline symbol \nIDE. Multiplatform
KT-36978
Infinite "org.jetbrains.kotlin.idea.caches.resolve.KotlinIdeaResolutionException: Kotlin resolution encountered a problem while analyzing KtFile" exceptions in hierarchical multiplatform projectsIDE. Navigation
KT-30628
Navigation from Java sources to calls on Kotlin function annotated with @JvmOverloads that have optional arguments omitted leads to decompiled codeIDE. Refactorings
New Features
KT-26999
Inspection for unused main parameter in Kotlin 1.3KT-33339
Refactor / Move is disabled for Kotlin class selected together with Kotlin fileFixes
KT-22131
"Extract method" refactoring treats smart casted variables as non-localKT-24615
"Extract property" generates useless extension propertyKT-26047
Refactor -> Rename: Overridden method renaming in generic class doesn't rename base methodKT-26248
"Refactor -> Inline variable" breaks callable referencesKT-31401
Refactor / Inlining function reference in Java method with Runnable argument produces compile errorKT-33709
Inline variable: NONE_APPLICABLE with overloaded generic Java method with SAM conversionKT-34190
Inline Function: False positive error "not at the end of the body" with anonymous objectKT-35235
Unable to move multiple class files to a different packageKT-35463
ClassCastException during moving .kt file with one single class to the other folder in Android StudioKT-36312
Refactor Move refactoring to get it ready for MPP-related fixesIDE. Run Configurations
KT-34503
"Nothing here" is shown as a drop-down list for "Run test" gutter icon for a multiplatform test with expect/actual parts in platform-agnostic codeKT-36093
Running Gradle java tests are broken for Gradle older than 4.0 (Could not set unknown property 'testClassesDirs' for task ':nonJvmTestIdeSupport')JavaScript
KT-23284
Reified type arguments aren't substituted when invoking inline val valueLibraries
KT-26654
Remove deprecated 'mod' operatorsKT-27856
Add contracts to Timing.kt lambdasKT-28356
Fail fast in Regex.findAll on an invalid startIndexKT-29748
Declare kotlin.reflect.KType in kotlin-stdlib-commonKT-30360
Deprecate conversions of floating point types to integral types lesser than IntKT-32855
KTypeParameter is available in common code, but not available in NativeKT-35216
<T : AutoCloseable?, R> T.use and <T : Closeable?, R> T.use should have contractsKT-36082
JS Regex.find does not throw IndexOutOfBoundsException on invalid start indexKT-36083
Extract kotlin.coroutines.experimental.* packages to a separate compatibility artifactReflection
KT-30071
Implement KTypeProjection.toStringKT-35991
Embed Proguard/R8 rules in kotlin-reflect artifact jarTools. CLI
KT-28475
java.sql module not available in kotlinc scripts on Java 9+ due to use of Bootstrap ClassloaderTools. Gradle. JS
KT-34989
NodeJs is not re-downloaded if the node binary gets accidentally deletedKT-35465
Gradle, JS: Gradle tooling for IR compilerKT-36472
Kotlin/JS Gradle plugin iterates over all Gradle tasks, triggering their lazy configurationKT-36488
Gradle, JS, IR: Publishing from JS pluginTools. Gradle. Multiplatform
KT-37264
In intermediate common source sets, internals are not visible from their dependsOn source sets during Gradle buildTools. Gradle. Native
KT-36804
In a project with Kotlin/Native targets and kotlinx.serialization, IDE import fails: Could not create task '...'. / Cannot change dependencies of configuration after it has been resolved.Tools. J2K
KT-20120
J2K: Java 9forRemoval
andsince
methods ofDeprecated
are not processedTools. Scripts
KT-35414
Switch for-Xexpression
to-expression
/-e
cli argument syntax for JVM cli compiler in 1.4Checksums
v1.3.72
: Kotlin 1.3.721.3.72
Compiler
KT-37107
kotlinc allows calling default constructor of class with no constructorsKT-37406
NI: "UnsupportedOperationException: no descriptor for type constructor of TypeVariable(T)" when compiling*.gradle.kts
fileIDE
KT-37483
Kotlin localisationKT-37629
False positive "Unsupported [literal prefixes and suffixes]" for infix functionKT-37808
"Resolve pasted references" dialog freezes UI for 20 seconds when pasting kotlin codeIDE. Completion
KT-37144
Completion goes into an infinite loop with Arrow 0.10.4 dependencyIDE. Debugger
KT-37767
Debugger, NPE happens while stepping.IDE. Editing
KT-35135
UI freeze: not enough checkCancelled on resolve pathIDE. Inspections and Intentions
KT-37217
Replace UseExperimental with OptIn intention removes target prefixes for annotationsIDE. Native
KT-38079
IDEA navigates to wrong line of source code from Native stack traceIDE. Navigation
KT-37487
Destructuring declarations are called "destruction declarations" in UITools. Gradle. Native
KT-37696
MPP Gradle plugin: False positive parallel execution detection if build started with --continuev1.3.71
: Kotlin 1.3.711.3.71
Compiler
KT-36095
201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with JavaEnum.valueOf
andEnum.values()
referenceKT-37040
'No explicit visibility in API mode' should not be reported on enum membersKT-37204
AssertionError: "No delegated property metadata owner for" with lazy inside inline functionDocs & Examples
KT-37029
Kotlin full stack app demo: update all involving versions to work with 1.3.70 releaseIDE
KT-34759
"PSI and index do not match" and high CPU usage when the library hasenum
with elements in quotes andinternal lazy val
in another part of codeKT-37200
StackOverflowError in LightMethodBuilder.equals when analysing Kotlin filesKT-37229
java.lang.NoSuchMethodError: 'com.intellij.psi.impl.light.LightJavaModule, com.intellij.psi.impl.light.LightJavaModule.findModule after updating kotlin plugin to 1.3.70KT-37273
No error in editor when typing unresolved reference in super constructor lambdaKT-37414
Not all imports are added on paste if code is formatted after pasteKT-37553
Run inspections after general highlight passIDE. Code Style, Formatting
KT-37545
Continuation indent for method's parameter changes in call chainIDE. Hints
KT-37537
IDE is missing or swallowing keystrokes when hint popups are displayedIDE. Inspections and Intentions
KT-36478
IDE suggests to use 'OptIn' annotation when it is not available in the used version of kotlin-stdlibKT-37294
False positive "Unused unary operator" on negative long annotation valueIDE. Navigation
KT-36657
KotlinFindUsagesHandler#processElementUsages always return false if options.isSearchForTextOccurrences is falseIDE. Refactorings
KT-37451
Change of signature error: Type of parameter cannot be resolvedKT-37597
Support Suggest rename and change signature refactorings in Kotlin for IDEA 2020.1IDE. Run Configurations
KT-36781
Override ConfigurationFactory::getId method in Kotlin plugin to avoid problems with localizationsJavaScript
KT-37386
Incorrect JS generated by the compiler: function is erased by the function parameterTools. Gradle. JS
KT-36196
Investigate performance problems while resolving in projects with npm dependenciesTools. Gradle. Multiplatform
KT-37264
In intermediate common source sets, internals are not visible from their dependsOn source sets during Gradle buildTools. Gradle. Native
KT-37565
MPP plugin: Forbid parallel in-process execution of the Kotlin/Native compilerTools. kapt
KT-37241
Kapt: Classpath entry points to a non-existent location: ...build/intermediates/javac/debug/classes...v1.3.70
: Kotlin 1.3.70Contents
The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.
Changelog
Compiler
New Features
KT-34648
Support custom messages for @RequiresOptIn-marked annotationsPerformance Improvements
KT-14513
Suboptimal compilation of lazy delegated properties with inline getValueFixes
KT-19234
Improve "Supertypes of the following classes cannot be resolved" diagnosticKT-21178
Prohibit access of protected members inside public inline membersKT-24461
Expect interface with suspend function with default arguments causes runtime errorKT-25514
Support usage of function reference with vararg where function of array is expected in new inferenceKT-26435
Bad frame merge after inlineKT-27825
Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)KT-27999
Generic type is fixed too early for lambda argumentsKT-28940
Concurrency issue for lazy values with the post-computation phaseKT-29242
Conditional with generic type Nothing inside inline function throwsjava.lang.VerifyError: Bad return type
KT-30244
Unable to infer common return type for two postponed argumentsKT-30245
Wrong type is inferred for lambda if it has expected type with an extension receiverKT-30277
Relax the "no reflection found in class path" warning for KType and related APIKT-30744
Invoking Interface Static Method from Extension method generates incorrect jvm bytecodeKT-30953
Missing unresolved if callable reference is used in the place in which common super type is computingKT-31227
Prohibit using array based on non-reified type parameters as reified type arguments on JVMKT-31242
"Can't find enclosing method" proguard compilation exception with inline and crossinlineKT-31411
Support mode of compiler where it analyses source-set as platform one, but produces only metadata for that specific source-setKT-31653
Incorrect transformation of the try-catch cover when inliningKT-31923
Outer finally block inserted before return instruction is not excluded from catch interval of inner try (without finally) blockKT-31975
No diagnostic on error typeKT-32106
New type inference: IDE shows error but the code compiles succesfullyKT-32138
New type inference: Invoking type-aliased extension function red in IDE, but compilesKT-32168
Problem in IDE with new type inference and delegate providerKT-32243
New type inference: Type mistmatch in collection type usageKT-32345
New type inference: Error when using helper method to create delegate providerKT-32372
Type inference errors in IDEKT-32415
Type mismatch on argument of super constructor of inner class callKT-32423
New type inference: IllegalStateException: Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@211a538
(ErrorType)KT-32435
New inference preserves platform types while old inference can substitute them with the nullable result typeKT-32456
New type inference: "IllegalStateException: Error type encountered" when adding emptyList to mutableListKT-32499
Kotlin/JS 1.3.40 - new type inference with toTypedArray() failureKT-32742
Gradle/JS "Unresolved Reference" when accessing setting field of Dynamic object w/ ReactKT-32818
Type inference failed with elvis operatorKT-32862
New type inference: Compilation error "IllegalArgumentException: ClassicTypeSystemContextForCS couldn't handle" with overloaded generic extension function reference passed as parameterKT-33033
New type inference: Nothing incorrectly inferred as return type when null passed to generic function with expression if statement bodyKT-33197
Expression with branch resolving to List<…> ultimately resolves to MutableList<…>KT-33263
"IllegalStateException: Type variable TypeVariable(T) should not be fixed!" with generic extension function and in varianceKT-33542
Compilation failed with "AssertionError: Suspend functions may be called either as suspension points or from another suspend function"KT-33544
"UnsupportedOperationException: no descriptor for type constructor of TypeVariable(R)?" with BuilderInference and elvis operatorKT-33592
New type inference: Missed error in IDE — Unsupported [Collection literals outside of annotations]KT-33932
Compiler fails when it encounters inaccessible classes in javac integration modeKT-34029
StackOverflowError for access to nested object inheriting from containing generic class atorg.jetbrains.kotlin.descriptors.impl.LazySubstitutingClassDescriptor.getTypeConstructor
KT-34060
UNUSED_PARAMETER is not reported on unused parameters of non-operator getValue/setValue/prodiveDelegate functionsKT-34282
Missing diagnostic of unresolved for callable references with overload resolution ambiguityKT-34391
New type inference: False negative EXPERIMENTAL_API_USAGE_ERROR with callable referenceKT-34395
KtWhenConditionInRange.isNegated() doesn't workKT-34500
CompilationException when loop range is DoubleArray and loop parameter is casted to super-type (e.g. Any, Number, etc.)KT-34647
Gradually rename experimentality annotationsKT-34649
Deprecate-Xexperimental
flagKT-34743
Support trailing comma in the compilerKT-34779
JVM: "get()" is not invoked in optimized "for" loop over CharSequence.withIndex() with unused variable ("_") for the element in destructuring declarationKT-34786
Flaky type inference for lambda expressionsKT-34820
New type inference: Red code when expanding type-aliased extension function in LHS position of elvisKT-34888
Kotlin REPL ignores compilation errors in class declarationKT-35035
Incorrect state-machine generated for suspend lambda inside inline lambdaKT-35101
"AssertionError: Mapping ranges should be presented in inline lambda" with a callable reference argument to inline lambdaKT-35168
New type inference: "UninitializedPropertyAccessException: lateinit property subResolvedAtoms has not been initialized"KT-35172
New type inference: False positive type mismatch if nullable type after elvis and safe call inside lambda is returning (expected type is specified explicitly)KT-35224
New type inference: Java call candidate with varargs as Array isn't present if SAM type was used in this callKT-35262
Suspend function with Unit return type returns non-unit value if it is derived from function with non-unit return typeKT-35426
IncompatibleClassChangeError: Method 'int java.lang.Object.hashCode()' must be Methodref constant
when invoking on super with explicit generic typeKT-35843
Emit type annotations in JVM bytecode with target 1.8+ on basic constructionsKT-36297
New type inference: ClassNotFoundException: compiler emits reference to nonexisting class for code with nested inline lambdasKT-36719
Enable new inference in IDE since 1.3.70Docs & Examples
KT-31118
Provide missing documentation for StringBuilder membersIDE
New Features
KT-27496
Color Scheme: allow changing style for suspend function callsKT-30806
Add IntelliJ Color Scheme rules for property declarationsKT-34303
IDE should suggest to import an extension iterator function when using for loop with a rangeKT-34567
Feature: Auto add val keyword on typing data/inline class ctor parametersKT-34667
Add auto-import quickfix for overloaded generic functionPerformance Improvements
KT-30726
Editor is laggy if the code below a current line has unresolved referenceKT-30863
IDE freeze on editing with "Add unambiguous imports on the fly" turned onKT-32868
Provide incremental analysis of file when it is applicableKT-33250
KtLightClassForSourceDeclaration.isFinal() can be very slow (with implications for class inheritor search)KT-33905
Optimize imports under reasonable progressKT-33939
Copy action leads to freezesKT-34956
UI Freeze: PlainTextPasteImportResolverKT-35121
Add support for KtSecondaryConstructors into incremental analysisKT-35189
Support incremental analysis of comment and kdocKT-35590
UI freeze in kotlin.idea.core.script.ScriptConfigurationMemoryCache when editing fileFixes
KT-10478
Move-statement doesn't work for methods with single-expression body and lambda as returning typeKT-13344
Reduce visual distraction of val keywordKT-14758
Move statement up shouldn't move top level declarations above package and import directivesKT-23305
We should be able to see platform-specific errors in common moduleKT-24399
No scrollbar in Kotlin compiler settingsKT-27806
UAST: @Deprecated(level=DeprecationLevel.HIDDEN) makes method disappearKT-28708
Java IDE fails to understand @JvmDefault on properties from binariesKT-30489
Kotlin functions are represented in UAST as UAnnotationMethodsKT-31037
Lambda expression default parameter 'it' sometimes is not highlighted in a call chainKT-31365
IDE does not resolve references to stdlib symbols in certain packages (kotlin.jvm) when using OSGi bundleKT-32031
UAST: Method body missing for suspend functionsKT-32540
Ultra light class support for compiler pluginsKT-33820
Stop usingcom.intellij.codeInsight.AnnotationUtil#isJetbrainsAnnotation
KT-33846
Stop usingcom.intellij.openapi.vfs.newvfs.BulkFileListener.Adapter
KT-33888
Bad indentation when copy-paste to trimIndent()KT-34081
Kotlin constants used in Java annotation attributes trigger "Attribute value must be constant" errorKT-34316
UAST: reified methods no longer visible in UASTKT-34337
Descriptors Leak in UltraLightClassesKT-34379
"Implement members" with unspecified type argument: "AssertionError: 2 declarations in override fun"KT-34785
Enter handler: do not add 'trimIndent()' in constKT-34914
Analysis sometimes isn't rerun until an out of code block changeKT-35222
SQL language is not injected to String array attribute of Java annotationKT-35266
Kotlin-specific setting "Optimize imports on the fly" is uselessKT-35454
Weird implementation of KtUltraLightFieldImpl.isEquivalentToKT-35673
ClassCastException on destructuring declaration with annotationKT-36008
IDEA 201: NSME: "com.intellij.openapi.progress.util.ProgressIndicatorUtils.awaitWithCheckCanceled(Future)" at org.jetbrains.kotlin.idea.util.ProgressIndicatorUtils.awaitWithCheckCanceled()IDE. Code Style, Formatting
New Features
KT-35088
Insert empty line between a declaration and declaration with commentKT-35106
Insert empty line between a declaration and declaration with annotationFixes
KT-4194
Code formatter should not move end of line comment afterif
condition to the next lineKT-12490
Formatter inserts empty line between single-line declarations in presence of commentKT-22273
Labeled statements are formatted incorrectlyKT-22362
Formatter breaks up infix function used in elvis operatorKT-23811
Formatter: Constructor parameters are joined with previous line if prefixed with an annotationKT-23929
Formatter: chained method calls: "Chop down if long" setting is ignoredKT-23957
Formatter tears comments away from file annotationsKT-30393
Remove unnecessary whitespaces between property accessor and its parameter list in formatterKT-31881
Redundant indent for single-line comments inside lamdbaKT-32277
Space before by delegate keyword on property is not formattedKT-32324
Formatter doesn't insert space after safe cast operatoras?
KT-33553
Formater does not wrap function chained expression body despite "chained function calls" settingsKT-34049
Formatter breaks string inside template expression with elvis operatorKT-35093
Formatter inserts empty line between single-line declarations in presence of annotationKT-35199
Wrong formatting for lambdas in chain callsIDE. Completion
Fixes
KT-15286
Support import auto-completion for extension functions declared in objectsKT-23026
Code completion: Incorrectconst
in class declaration lineKT-23834
Code completion and auto import do not suggest extension that differs from member only in type parameterKT-25732
null
keyword should have priority in completion sortKT-29840
const
is suggested inside the class body, despite it's illegalKT-29926
Suggest lambda parameter names in IDE to improve DSL adoptionKT-31762
Completion: Parameter name is suggested instead of enum entry in entry constructorKT-32615
PIEAE for smart completion of anonymous function with importing name inside of functionKT-33979
No completion for functions from nested objectsKT-34150
No completion for object methods that override somethingKT-34386
Typo in Kotlin arg postfix completionKT-34414
Completion works differently for suspend and regular lambda functionsKT-34644
Code completion list sorting: do not put method before "return" keywordKT-35042
Selecting completion variant works differently for suspend and regular lambda parameterKT-36306
Code completion inlines content of FQN class if completion called in stringIDE. Debugger
Fixes
KT-12242
Breakpoint in a class is not hit if the class was first accessed in Evaluate ExpressionKT-16277
Can't set breakpoint for object constructionKT-20342
Step Over jumps to wrong position (KotlinUFile)KT-30909
"Kotlin variables" button looks inconsistent with panel styleKT-32704
ISE "Descriptor can be left only if it is last" on calling function with expression body inside Evaluate Expression windowKT-32736
Evaluate Expression on statement makes error or shows nothingKT-32741
"Anonymous functions with names are prohibited" on evaluating functions in Expression modeKT-33303
"Smart step into" doesn't work for library declarationsKT-33304
Can't put a breakpoint to the first line in fileKT-33728
Smart Step Into doesn't work for @InlineOnly functionsKT-35316
IndexNotReadyException on function breakpointIDE. Folding
KT-6316
Folding of multiline functions which don't have curly braces (expression-body functions)IDE. Gradle Integration
KT-35442
KotlinMPPGradleModelBuilder shows warnings on import because it can't find a not existing directoryIDE. Gradle. Script
KT-31976
Adding a space in build.gradle.kts leads to 'Gradle projects need to be imported' notificationKT-34441
*.gradle.kts: load all scripts configuration at project importKT-34442
*.gradle.kts: avoid just-in-case script configuration request to GradleKT-34530
Equal duplicate script definitions are listed three times in PreferencesKT-34740
Implement completion for implicit receivers in scripts with new scripting APIKT-34795
Gradle Kotlin DSL new project template: don't usesetUrl
syntax insettings.gradle.kts
pluginManagement
blockKT-35096
Duplicated “Kotlin Script” definition for Gradle/Kotlin projectsKT-35149
build.graldle.kts settings importing: configuration for buildSrc/prepare-deps/build.gradle.kts not loadedKT-35205
*.gradle.kts: avoid just-in-case script configuration request to Gradle while loading from FSKT-35563
Track script modifications between IDE restartsIDE. Hints. Parameter Info
KT-34992
UI Freeze: Show parameter info leads to freezesIDE. Inspections and Intentions
New Features
KT-8478
Make 'Add parameter to function' quick fix work to parameters other than lastKT-12073
Report IDE inspection warning on pointless unary operators on numbersKT-18536
Provide proper quick fix for accidental override errorKT-34218
Merge 'else if' intentionKT-36018
'Missing visibility' and 'missing explicit return type' compiler and IDE diagnostics for explicit API modeFixes
KT-17659
Cannot access internal Kotlin declaration from Java test code within the same moduleKT-25271
"Remove redundant '.let' call" may introduce expression side effects several timesKT-29737
"Make internal/private/protected" intention works for eitherexpect
oractual
sideKT-31967
Typo in inspection name: "'+=' create new list under the hood"KT-32582
Ambiguous message for [AMBIGUOUS_ACTUALS] error (master)KT-33109
"Add constructor parameters" quick fix should add default parameters from super classKT-33123
False positive "Redundant qualifier name" with inner class as constructor parameter for outerKT-33297
Improve parameter name inAdd parameter to constructor
quick fixKT-33526
False positive "Redundant qualifier name" with enum constant initialized with companion object fieldKT-33580
False positive "Redundant visibility modifier" overriding property with protected set visibilityKT-33771
False positive "Redundant Companion reference" with Java synthetic property and same-named object propertyKT-33796
INVISIBLE_SETTER: quick fix "Make '' public" does not remove redundant setterKT-33902
False positive for "Remove explicit type specification" with type alias as return typeKT-33933
"Create expect" quick fix generates the declaration in a default source set even if an alternative is chosenKT-34078
ReplaceWith does not work if replacement is fun in companion objectKT-34297
"Add 'replaceWith' argument" inserts positional instead of named argumentKT-34325
"Control flow with empty body" inspection should not report ifs with commentsKT-34411
Create expect/actual quick fix: focus is lost in the editor (193 IDEA)KT-34432
Replace with safe call intention inserts redundant elvis operatorKT-34603
"Remove redundant '.let' call" false negative for reference expressionKT-34694
"Terminate preceding call with semicolon" breaks lambda formattingKT-34784
"Indent raw string" intention: do not suggest in constKT-34894
Action "Add not-null asserted (!!) call" doesn't fix error for properties with omittedthis
KT-35022
Quickfix "change to var" doesn't removeconst
modifierKT-35208
NPE from PerModulePackageCacheServiceKT-35242
Text-range based inspection range shifts wrongly due to incremental analysis of whitespace and commentsKT-35288
False positive "Remove braces from 'when' entry" in 'when' expression which returns lambdaKT-35837
Editing Introduce import alias does not affect KDocKT-36020
Intention 'Add public modifier' is not available for highlighted declaration in explicit api modeKT-36021
KDoc shouldn't be highlighted on 'visibility must be specified' warning in explicit api modeKT-36307
False positive "Remove redundant '.let' call" for nested lambda change scope referenceIDE. Multiplatform
KT-33321
In IDE, actuals of intermediate test source set are incorrectly matched against parent main source-set (not test one)IDE. Navigation
KT-30736
References for import alias from kotlin library not found using ReferencesSearch.searchKT-35310
PIEAE: "During querying provider Icon preview" at ClsJavaCodeReferenceElementImpl.multiResolve() on navigation to Kotlin declarationIDE. Refactorings
Performance Improvements
KT-24122
Long pauses with "removing redundant imports" dialog on rename refactoring for IDEA Kotlin PluginFixes
KT-18191
Refactor / Copy multiple files/classes: package statements are not updatedKT-18539
Default implement fun/property text shouldn't contain scary commentKT-28607
Extract/Introduce variable fails if caret is just after expressionKT-32514
Moving file in with 'search for references' inlines contents in referred source codeKT-32601
Introduce variable in unformatted lambda causes PIEAEKT-32999
Renaming parameter does not rename usage in named argument in a different fileKT-33372
Rename resource cause its content to be replacedKT-34415
Refactor > Change signature of an overridden actual function from a platform class: "org.jetbrains.kotlin.descriptors.InvalidModuleException: Accessing invalid module descriptor"KT-34419
Refactor > Change signature > add a function parameter: "org.jetbrains.kotlin.descriptors.InvalidModuleException: Accessing invalid module descriptor"KT-34459
Change method signature with unresolved lambda type leads to errorKT-34971
Refactor / Copy for declarations from different sources throws IAE: "unexpected element" at CopyFilesOrDirectoriesHandler.getCommonParentDirectory()KT-35689
Change Signature: "InvalidModuleException: Accessing invalid module descriptor" on attempt to change receiver type of a member abstract functionKT-35903
Change Signature refactoring crashes by InvalidModuleException on simplest examplesIDE. Run Configurations
KT-34632
Kotlin/JS: Can not run single test methodKT-35038
Running a test in a multi-module MPP project via IntelliJ Idea gutter action produces incorrect Gradle Run configurationIDE. Script
KT-34688
Many "scanning dependencies for script definitions progresses at the same timeKT-35886
UI Freeze: ScriptClassRootsCache.hasNotCachedRoots 25 secondsIDE. Tests Support
KT-33787
IDE tests: Not able to run single test using JUnitIDE. Wizards
New Features
KT-36043
Gradle, JS: Add continuous-mode run configuration in New Project Wizard templatesFixes
KT-35584
New Project wizard: module names restrictions are too strong with no reasonKT-35690
New Project wizard: artifact and group fields are mixed upKT-35694
New Project wizard creates settings.gradle.kts even for Groovy DSLKT-35695
New Project wizard useskotlin ()
call for dependencies in non-MPP Groovy-DSL JVM projectKT-35710
New Project wizard creates non-Java source/resource roots for Kotlin/JVM JPSKT-35711
New Project wizard: Maven: "Kotlin Test framework" template adds wrong dependencyKT-35712
New Project wizard: source root templates: switching focus from root reverts custom settings to defaultKT-35713
New Project wizard: custom settings for project name, artifact and group ID are reverted to default on Previous/NextKT-35715
New Project wizard: Maven: custom repository required for template (ktor) is not added to pom.xmlKT-35718
New Project wizard: Gradle: ktor: not existing repository is addedKT-35719
New Project wizard: Multiplatform library: entryPoint specifies not existing class nameKT-35720
New Project wizard: Multiplatform library: Groovy DSL: improve the script for nativeTarget calculationJS. Tools
KT-35198
Kotlin/JS: with references to NPM/.kjsm library DCE produces invalid resulting JavaScriptKT-36349
KJS: JS DCE use file's timestamps to compare files. It conflicts with gradle configuration 'preserveFileTimestamps = false'.JavaScript
KT-30517
KJS generates wrong call for secondary constructor w/ default argument when class inherited by object expressionKT-33149
Lambda is not a subtype ofFunction<*>
KT-33327
JS IR backend works incorrectly when function and property have the same nameKT-33334
JS IR backend can't access private var from internal inline functionLibraries
New Features
KT-7657
scan()
functions for Sequences and IterableKT-15363
Builder functions for basic containersKT-21327
Add Deque & ArrayDeque to Kotlin standard libraryKT-33069
StringBuilder common functionsKT-33761
reduceOrNull: reduce that doesn't throw on empty inputKT-35347
Create method Collection.randomOrNull()KT-36118
Provide API for subtyping relationship between CoroutineContextKey and elements associated with this keyFixes
KT-17544
JS: document array destructuring behaviorKT-33141
UnderMigration annotation is defined in Kotlin, but supposed to be used from JavaKT-33447
runCatching docs suggests it catches exceptions but it catches throwablesKT-35175
Clarify documentation for XorWowRandomKT-35299
Float.rangeTo(Float): ClosedFloatingPointRange doesn't exist in the common stdlib.Reflection
KT-14720
Move KClass.cast / KClass.isInstance into kotlin-stdlibKT-33646
Make KClass.simpleName available on JVM without kotlin-reflect.jarKT-34586
Make KClass.qualifiedName available on JVM without kotlin-reflect.jarTools. CLI
KT-29933
Support relative paths in -Xfriend-pathsKT-34119
Add JVM target bytecode version 13KT-34240
CLI kotlinc help -include-runtime has redundant spaceTools. Gradle
KT-25206
Delegate build/run to gradle results regularly in cannot delete proto.tab.value.sKT-35181
Make kapt Gradle tasks compatible with instant executionTools. Gradle. JS
New Features
KT-30659
Run NodeJS debugger when running debug gradle task from IDEAKT-32129
Karma: support debuggingKT-32179
DSL: allow npm in root dependencies section of single platform projectsKT-32283
Webpack: Allow to configure Webpack modeKT-32323
Webpack: support optimized webpack bundleKT-32785
Webpack: Asset bundling in distributions folderFixes
KT-30917
Tests: Inner classes mapped incorrectly in short test fail messageKT-31894
ithout Kotlin sourcesbrowserRun
makes the build failKT-34946
DCE require some/all transitive dependencies. Invalid compilation result otherwiseKT-35318
IllegalStateException on clean build withleft-pad
package and generateKotlinExternals=trueKT-35428
Gradle dependency with invalid package.jsonKT-35598
Actualize NPM dependencies in 1.3.70KT-35599
Actualize Node and Yarn versions in 1.3.70KT-36714
Webpack output doesn't consider Kotlin/JS exports (library mode)Tools. Gradle. Multiplatform
KT-31570
Deprecate Kotlin 1.2.x MPP Gradle pluginsKT-35126
Support Gradle instant execution for Kotlin/JVM and Android tasksKT-36469
Dependencies with compileOnly scope are not visible in Gradle build of MPP with source set hierarchies supportTools. Gradle. Native
KT-29395
Allow setting custom destination directory for Kotlin/Native binariesKT-31542
Allow changing a name of a framework created by CocoaPods Gradle pluginKT-32750
Support subspecs in CocoaPods pluginKT-35352
MPP Gradle plugin: Support exporting K/N dependencies to shared and static librariesKT-35934
Gradle MPP plugin: Spaces are not escaped in K/N compiler parametersKT-35958
Kotlin/Native: Gradle: compiling test sources with no sources in main roots halts the Gradle daemonTools. J2K
New Features
KT-21811
Convert string concatenation into multiline stringPerformance Improvements
KT-16774
UI Freeze: J2K, PlainTextPasteImportResolve: IDEA freezes for 10+ seconds when copy-pasting Java code from external source to Kotlin fileFixes
KT-18001
Multi-line comments parsed inside Kdoc commentsKT-19574
Code with inferred default parameters and parameter vs property name clashesKT-32551
Non-canonical modifiers order inspection is not applied during convertion of inner super classKT-33637
Property with getter is converted into incompailable code if backing field was not generatedKT-34673
First comment in function (if, for, while) block is moved to declaration line of blockKT-35081
Invalid code with block comment (Javadoc)KT-35152
J2K breaks formatting by moving subsequent single line comments to first columnKT-35395
UninitializedPropertyAccessException throughorg.jetbrains.kotlin.nj2k.conversions.ImplicitCastsConversion
when anonymous inner class passes itself as argument to outer methodKT-35431
"Invalid PSI class com.intellij.psi.PsiLambdaParameterType" with lambda argument in erroneous codeKT-35476
Expression with compound assignment logical operator is changing operator precedence without parenthesesKT-35478
Single line comment before constructor results in wrong codeKT-35739
Line break is not inserted for private property getterKT-35831
Error on inserting plain text with\r
charTools. Scripts
KT-34274
Add support for@CompilerOptions
annotation inkotlin-main-kts
KT-34716
Implement default cache in main-ktsKT-34893
Update apache ivy version in kotlin-main-ktsKT-35413
Implement "evaluate expression" command line parameter and functionality in the JVM cli compilerKT-35415
Implement script and expression evaluation in thekotlin
runnerKT-35416
load main-kts script definition by default in the jvm compiler, if the jar is availableTools. kapt
KT-30164
Default field value not transmitted to Java source model for mutable propertiesKT-30368
Deprecated information not transmitted to Java source modelKT-32832
Turn worker API on by defaultKT-33617
Java 9+: "IllegalStateException: Should not be called!"KT-34167
Annotation Processor incorrectly marked as isolating causes full rebuild silently.KT-34258
kapt.incremental.apt=true
makes build failed after moving annotation processor filesKT-34569
Kapt doesn't handle methods with both the @Override annotation andoverride
keywordKT-36113
Enabling kapt.incremental.apt makes remote build cache miss viaclasspathStructure$kotlin_gradle_plugin
propertyv1.3.61
: Kotlin 1.3.611.3.61
Compiler
KT-35004
"AssertionError: Unsigned type expected" inwhen
range check in extension on unsigned typeIDE
KT-34923
[Regression] KtUltraLightMethod.hasModifierProperty("native") returns false for external Kotlin functionsLibraries
KT-21445
W3C DOM Touch events and interfaces are incomplete / missingTools. Compiler Plugins
KT-34991
kotlinx.serialization: False warning "Explicit @Serializable annotation on enum class is required when @SerialName or @SerialInfo annotations are used on its members"Tools. J2K
KT-34987
New J2K converter: @NotNull annotations are not removed after converting java code to kotlinKT-35074
J2K: No auto conversion in 'for' loop with multiple init variablesv1.3.60
: 1.3.60Content
The release contains the JVM version of Kotlin compiler and also one native system dependent version for every major platform (Linux, macOS, and Windows).
CHANGELOG
1.3.60
Android
KT-27170
Android lint tasks fails in Gradle with MPP dependencyCompiler
New Features
KT-31230
Refine rules for allowed Array-based class literals on different platforms: allowArray::class
everywhere, disallowArray<...>::class
on non-JVMKT-33413
Allow 'break' and 'continue' in 'when' statement to point to innermost surrounding loopPerformance Improvements
KT-14513
Suboptimal compilation of lazy delegated properties with inline getValueKT-28507
Extra InlineMarker.mark invocation in generated suspending function bytecodeKT-29229
Intrinsify 'in' operator for unsigned integer rangesFixes
KT-7354
Confusing error message when trying to access package local java classKT-9310
Don't make interface and DefaultImpls methods synchronizedKT-11430
Improve diagnostics for dangling lambdasKT-16526
Provide better error explanation when one tries to delegate var to read-only delegateKT-20258
Improve annotation rendering in diagnostic messagesKT-22275
Unify exceptions from null checksKT-27503
Private functions uses from inside of suspendCoroutine go though accessorKT-28938
Coroutines tail-call optimization does not work for generic returns that had instantiated to UnitKT-29385
"AnalyzerException: Expected an object reference, but found I" for EXACTLY_ONCE non-inline contract with captured class constructor parameterKT-29510
"RuntimeException: Trying to access skipped parameter" with EXACTLY_ONCE contract and nested call of crossinline lambdaKT-29614
java.lang.VerifyError: Bad type on operand stack - in inlining, crossinline in constructor with EXACTLY_ONCE contractKT-30275
Get rid of session in FirElementKT-30744
Invoking Interface Static Method from Extension method generates incorrect jvm bytecodeKT-30785
Equality comparison of inline classes results in boxingKT-32217
FIR: support delegated properties resolveKT-32433
NI: UninferredParameterTypeConstructor with class propertyKT-32587
NI: Type mismatch "String" vs "String" in IDE on generic .invoke on generic delegated propertyKT-32689
Shuffled line numbers in suspend functions with elvis operatorKT-32851
Constraint for callable reference argument doesn't take into account use-site varianceKT-32864
The line number of assertFailsWith in suspending function is lostKT-33125
NI: "Rewrite at slice INDEXED_LVALUE_SET" with Mutable Map set index operator inside "@kotlin.BuilderInference" blockKT-33414
'java.lang.AssertionError: int type expected, but null was found in basic frames' in kotlin-io while building library trainKT-33421
Please make NOTHING_TO_INLINE warning shorterKT-33504
EA-209823 - ISE: ProjectResolutionFacade$computeModuleResolverProvider$resolverForProject$$.invoke: Can't find builtIns by key CacheKeyBySdkKT-33572
Scripting import with implicit receiver doesn't workKT-33821
Compiler should not rely on the default locale when generating boxing for suspend functionsKT-18541
Prohibit "tailrec" modifier on open functionsKT-19844
Do not render type annotations on symbols rendered in diagnostic messagesKT-24913
KotlinFrontEndException with local class in init of generic classKT-28940
Concurrency issue for lazy values with the post-computation phaseKT-31540
Change initialization order of default values for tail recursive optimized functionsDocs & Examples
KT-26212
Update docs to explicitly mention that union is opposite of intersectKT-34086
Website, stdlib api docs: unresolved link jvm/stdlib/kotlin.text/-charsets/CharsetIDE
Fixes
KT-8581
'Move Statement' doesn't work for statement finished by semicolonKT-9204
Shorten references and some other IDE features have problem when package name clash with class nameKT-17993
Annotations are colored the same as language keywordsKT-21037
LazyLightClassMemberMatchingError$WrongMatch “Matched :BAR MemberIndex(index=0) to :BAR MemberIndex(index=1) in KtLightClassImpl” after duplicating values inside enum classKT-23305
We should be able to see platform-specific errors in common moduleKT-23461
Move statement up/down
attaches a comment block to the function being movedKT-26960
IDE doesn't reportactual
withoutexpect
placed into a custom platform-agnostic source setKT-27243
LazyLightClassMemberMatchingError when overriding hidden memberKT-28404
Gradle configuration page is missing from a New Project Wizard creation flow for multiplatform templatesKT-30824
No highlighting of declaration/usage of function with functional-type (lambda) parameter on its usageKT-31117
AssertionError atCompletionBindingContextProvider._getBindingContext
when typing any character within string with injected KotlinKT-31139
"Override members" on enum inserts semicolon before enum bodyKT-31810
Paste inside indented.trimIndent()
raw string doesn't respect indentationKT-32401
Exceptions while running IDEA in headless mode for building searchable optionsKT-32543
UltraLight support for Kotlin collections.KT-32544
Support UltraLight classes for local/anonymous/enum classesKT-32799
2019.2 RC (192.5728.74) Kotlin plugin exception during build searchable options (Directory index may not be queried for default project)KT-33008
IDEA does not report in MPP: Upper bound of a type parameter cannot be an arrayKT-33316
Kotlin Facet: make sure the order of allPlatforms value is fixedKT-33561
LazyLightClassMemberMatchingError when overloading synthetic memberKT-33584
Make kotlin light classes return no-arg constructor when no-arg (or jpa) compiler plugin is enabledKT-33775
please remove usages of org.intellij.plugins.intelliLang.inject.InjectorUtils#putInjectedFileUserData(com.intellij.lang.injection.MultiHostRegistrar, com.intellij.openapi.util.Key, T) deprecated eons agoKT-33813
Poor formatting of 'Selected target platforms' and 'Depends on' in facet settingsKT-33937
delay() completion from kotlinx.coroutines causes happening of root package in codeKT-33973
Kotlin objects could abuse idea plugin functionalityKT-34000
Import quickfix does not work for extension methods from objectsKT-34070
"No target platforms selected" message for commonTest facet at mobile shared library projectKT-34191
Since-build .. until-build compatibility ranges are the same for 192 and 193 IDE pluginsKT-21153
IDE: string template + annotation usage: ISE: "Couldn't get delegate" at LightClassDataHolderKt.findDelegate()KT-33352
"KotlinExceptionWithAttachments: Couldn't get delegate for class" on nested class/objectKT-34042
"Error loading Kotlin facets. Kotlin facets are not allowed in Kotlin/Native Module" in 192 IDEAKT-34237
MPP with Android target:common*
source sets are not shown as source roots in IDEKT-33626
Deadlock with Kotlin LockBasedStorageManager in IDEA commit dialogKT-34402
Unresolved reference to Kotlin.test library in CommonTest in Multiplatform project without JVM targetKT-34639
Multiplatform project with the only (Android) target is incorrectly imported into IDEIDE. Completion
KT-10340
Import completion unable to shorten fq-names when there is a conflict between package name and local identifierKT-17689
Code completion for enum typealias doesn't show membersKT-28998
Slow completion for build.gradle.kts (Kotlin Gradle DSL script)KT-30996
DSL extension methods which are not applicable are offered for completionKT-31902
Fully qualified name is used fordelay
instead of import and just method nameKT-33903
Duplicating completion for imported extensions from companion objectsIDE. Debugger
KT-10984
Disallow placing line breakpoints without executable code (changed)KT-22116
Support function breakpointsKT-24408
@InlineOnly: Misleading status for breakpoints in inline functionsKT-27645
Debugger breakpoints do not work in suspend function executed in SpringBoot controller (MVC and WebFlux)KT-32687
Disallow breakpoints for @InlineOnly function bodiesKT-32813
Exception on invoking "Smart Step Into"KT-32830
NPE on changing class property in Evaluate Expression windowKT-33064
“Read access is allowed from event dispatch thread or inside read-action only” from KotlinLineBreakpointType.createLineSourcePosition on adding new line before the current one while stopping on breakpointKT-11395
Breakpoint inside lambda argument of InlineOnly function doesn't workIDE. Folding
KT-6314
Folding of "when" constructionIDE. Gradle
KT-33038
Package prefix is not imported in non-MPP projectKT-33987
Serialization exception during importing Kotlin project in IDEA 192KT-32960
KotlinMPPGradleModelBuilder takes a long time to process when syncing non-MPP project with IDEKT-34424
With Kotlin plugin in Gradle project without Native the IDE fails to start Gradle task: "Kotlin/Native properties file is absent at null/konan/konan.properties"KT-34256
Fail to use multiplatform modules with dependsOn with android pluginKT-34663
Low performance of MPP 1.2 during import with module-per-source-set enabledIDE. Gradle. Script
KT-31766
Gradle Kotlin DSL new project template: use type-safe model accessorsKT-34463
New Gradle-based project template misses pluginManagement{} block in EAP branchKT-31767
Gradle Kotlin DSL new project template: use settings.gradle.ktsIDE. Inspections and Intentions
New Features
KT-26431
Quickfix to remove redundant labelKT-28049
Suggest import quickfix for operator extension functionsKT-29622
"Move to separate file" intention should also work for sealed classKT-33178
Use a new compiler flag -Xinline-classes during enabling the feature via IDEA intentionKT-33586
"Constructors are not allowed for objects" diagnostic needs quickfix to change object to classFixes
KT-12291
Override/Implement Members: better member positioning inside the classKT-14899
Quickfix "Create member function" inserts too many semicolons when applied to EnumKT-15700
"Convert lambda to reference" does not work with backtick-escaped referencesKT-18772
"Introduce subject to when": don't choose an object or a constant as the subjectKT-21172
Join declaration and assignment should place the result at the assignment, not at declarationKT-25697
Replace with dot call
quickfix breaks formattingKT-26635
An empty line is added afteractual
modifier on "Create actual annotation class..." quick fix applied to annotation if it is annotated with commentKT-27270
"Add jar to classpath" quick fix modifies build.gradle of MPP project in a way that fails to be importedKT-28471
"Add initializer" quickfix initializes non-null variable with nullKT-28538
create expected ...
quick fix illegally createsexpect
member with a usage of a platform-specific typeKT-28549
Create actual/expect quick fix for class/object doesn't add import for an inherited memberKT-28620
Create expect/actual ...
quick fix could save @Test annotation on generationKT-28740
AE “2 declarations in var bar: [ERROR : No type, no body]” after applying “Create actual class” quick fix for class with property which has not specified typeKT-28947
Backing field has created after applying “Create expected class in common module...” intentionKT-30136
False negative "Redundant explicit 'this'" with local variableKT-30794
Quickfix for unchecked cast produces invalid codeKT-31133
Liveness analysis on enum does not take into account calls to 'values'KT-31433
Incorrect "Create expected class..." for class with supertypeKT-31475
"Create expect..." should delete 'override' modifierKT-31587
Redundantprivate
modifier before primary constructor after createactual
classKT-31921
"Create expected ..."/"Create actual..." quick fix:val
andvararg
modifiers are misordered in the generatedexpect
/actual
declarationKT-31999
"Variable declaration could be moved intowhen
" inspection suggests to inline expression containing return (throw) statementKT-32012
Change parameter type quick fix: Don't use qualified nameKT-32468
False positive SimplifiableCall "filter call could be simplified to filterIsInstance" with expression body function and explicit return typeKT-32479
False positive "Redundant overriding method" with derived property and base function starting withget
,set
oris
(Accidental override)KT-32571
"Create expect" quick fix incorrectly treats multiplatform stdlib typealiased types as platform-specific onesKT-32580
"Remove braces" QF for single-expression function with inferred lambda return type: "ClassCastException: class kotlin.reflect.jvm.internal.KClassImpl cannot be cast to class kotlin.jvm.internal.ClassBasedDeclarationContainer"KT-32582
Ambiguous message for [AMBIGUOUS_ACTUALS] error (master)KT-32586
"Make member open" quick fix doesn't update all the related actualisations of an expected memberKT-32616
"To ordinary string literal" doesn't remove indents, newlines andtrimIndent
KT-32642
"Create expect" quick fix doesn't warn about a platform-specific annotation applied to the generated memberKT-32650
"Replace 'if' with 'when'" removes braces from 'if' statementKT-32694
"Create expect"/"create actual" quick fix doesn't transfer use-site annotationsKT-32737
"Create expect" quick fix addsactual
modifier to an interface function with default implementation without a warningKT-32768
"Create expect" quick fix doesn't warn about a local supertype of anactual
class while generating an expected declarationKT-32829
"Add .jar to the classpath" quick fix creates "compile"/"testCompile" dependencies in build.gradleKT-32972
No "remove braces" inspection for ${this}KT-32981
"Create enum constant" quick fix adds redundant empty lineKT-33060
"Cleanup code" does not remove 'final' keyword for overridden function with non-canonical modifiers orderKT-33115
"Replace overloaded operator with function call" intention should not be shown on incomplete expressionsKT-33150
Don't suggest create expect function from function withprivate
modifierKT-33153
False positive "Redundant overriding method" when overriding package private methodKT-33204
False positive "flatMap call could be simplified to flatten()" with ArrayKT-33299
"Create type parameter from usage" should work with backticksKT-33300
"Create type parameter from usage" suggests for top level propertyKT-33302
KNPE after "Create type parameter from usage" with typealiasKT-33357
'java.lang.Throwable: Assertion failed: Refactorings should be invoked inside transaction 'exception occurs when extracting sealed class from file with the same nameKT-33362
Inspection "Extract class from current file" is not available for 'sealed' keywordKT-33437
“Argument rangeInElement (0,1) endOffset must not exceed descriptor text range (0, 0) length (0).” on creating Kotlin Script files inside packageKT-33612
"Replace with safe call" quick fix moves code to another lineKT-33660
"Convert to anonymous object" with nested SAM interface insertsobject
keyword in the wrong placeKT-33718
"Create enum constant" quick fix adds after semicolonKT-33754
Improve error hint message for "Create expect/actual..."KT-33880
"Convert to range check" produces code that is subject to ReplaceRangeToWithUntil for range with exclusive upper boundKT-33930
Don't suggest "create expect" quick fix onlateinit
andconst
top-level propertiesKT-33981
“KotlinCodeInsightWorkspaceSettings is registered as application service, but requested as project one” on opening QF menu for some fixes in IJ193KT-32965
False positive "Redundant qualifier name" with nested enum member callKT-33597
False positive "Redundant qualifier name" with class property initialized with same-named object propertyKT-33991
False positive "Redundant qualifier name" with enum member function callKT-34113
False positive "Redundant qualifier name" with Enum.values() from a different EnumIDE. KDoc
KT-20777
KDoc: Type parameters are not shown in sample codeIDE. Multiplatform
KT-26333
IDE incorrectly requiresactual
implementations to be present in all the project source setsKT-28537
Platform-specific type taken from a dependency module isn't reported incommon
codeKT-32562
Provide a registry key to enable/disable hierarchical multiplatform mechanism in IDEIDE. Navigation
KT-28075
Duplicate "implements" gutter icons on some interfacesKT-30052
Duplicated "is subclassed" editor gutter iconsKT-33182
com.intellij.idea.IdeStarter#main has four (!) icons, should be twoIDE. REPL
KT-33329
IllegalArgumentException in REPLIDE. Refactorings
KT-24929
'Search for references' checkbox state isn't saved on move of kotlin fileKT-30342
Move refactoring: suggest file name starting with an uppercase letterKT-32426
Invalid code format after "Pull Members Up" on function with comment and another indentKT-32496
"Problems Detected" dialog message about conflicting declarations on moving file to another package is absolutely unreadableKT-33059
Exception [Assertion failed: Write access is allowed inside write-action only] in case of Move class to nonexistent folderKT-33972
Change signature should affect all hierarchyIDE. Run Configurations
KT-34366
Implement gutters for running tests (multi-platform projects)IDE. Scratch
KT-23986
No access to stdout output in Kotlin scratchKT-23989
Scratch: allow copy of a scratch outputKT-28910
Add hint for Make before Run checkboxKT-29407
strange output for long stringsKT-31295
Kotlin worksheet in projects, not as scratch filesKT-32366
Sidebar as alternative output layoutKT-33585
Synchronized highlighting of the main editor and side panelIDE. Script
KT-30206
Settings / ... / Kotlin Scripting with no project opened causes ISE: "project.baseDir must not be null" at ScriptTemplatesFromDependenciesProvider.loadScriptDefinitions()KT-32513
Intellij hangs in ApplicationUtilsKt.runWriteAction through ScriptDependenciesLoader$submitMakeRootsChange$doNotifyRootsChanged$1.runIDE. Wizards
KT-27587
Bump Android build tools version atMultiplatform (Android/iOS)
template of the New Project WizardKT-33927
MPP, Kotlin New project wizard: broken project generationKT-34108
Gradle Kotlin DSL: generated project withtasks
element fails on configuration stage with Gradle 4.10KT-34154
New Project wizard: build.gradle.kts: type-safe code sets JVM 1.8 for main, but JVM 1.6 for testKT-34229
New Project wizard: IDEA 193+: Mobile Android/iOS: creating another project of this type tries to write into previous oneJavaScript
KT-12935
Generated source maps for JS mention nonexistent dummy.ktKT-26701
JS, rollup.js: Application can't depend on a library if both sourcemaps reference "dummy.kt"Libraries
KT-26309
Avoid division in string-to-number conversionsKT-27545
File.copyTo: unclear error message when it fails to delete the destinationKT-28804
Wrong parameter name in kotlin.text.contentEqualsKT-32024
ModifyIterable<T>.take(n)
implementation not to call.next()
more than necessaryKT-32532
MutableList.removeAll is lacking documentationKT-32728
CollectionsKt.windowed throws IllegalArgumentException (Illegal Capacity: -1) when size param is Integer.MAX_VALUE due to overflow operationKT-33864
Read from pseudo-file system is emptyReflection
KT-13936
KotlinReflectionInternalError on invoking callBy on overridden member with inherited default argument valueKT-17860
Improve KParameter.toString for receiver parametersTools
KT-17045
Drop MaxPermSize support from compiler daemonKT-32259
org.jetbrains.annotations
module exported from embeddable compiler, causes problems in Java modular buildsTools. Android Extensions
KT-32096
IDE plugin doesn't recognize that Parcelize is no longer experimentalTools. CLI
KT-24991
CLI: Empty classpath inkotlin
script except forkotlin-runner.jar
KT-26624
Set Thread.contextClassLoader when running programs with 'kotlin' launcher script or scripts with 'kotlinc -script'KT-24966
Classloader problems when running basic kafka example withkotlin
andkotlinc
Tools. Compiler Plugins
KT-29471
output from jvm-api-gen plugin on classpath crashes downstream kotlinc-jvm: inline method with inner classKT-33630
cannot use @kotlinx.serialization.Transient and lateinit together on 1.3.50Tools. Daemon
KT-32992
Enable assertions in Kotlin Compile DaemonKT-33027
Compilation with daemon fails, because IncrementalModuleInfo#serialVersionUID does not matchTools. Gradle
New Features
KT-20760
Kotlin Gradle Plugin doesn't allow for configuring friend paths through APIKT-34009
Associate compilations in the target–compilation project modelPerformance Improvements
KT-31666
Kotlin plugin configures all tasks in a project whenkotlin.incremental
is enabledFixes
KT-17630
User test Gradle source set code cannot reach out internal members from the production codeKT-22213
Android Extensions experimental mode doesn't work with Gradle Kotlin DSLKT-31077
android.kotlinOptions block is lacking its typeKT-31641
Kapt configurations miss attributes to resolve MPP dependencies: Cannot choose between the following variants ...KT-31713
ConcurrentModificationException: Realize Pending during execution phaseKT-32678
Bugfixes in HMPP source set visibilityKT-32679
Testing & test tasks API in the target–compilation modelKT-32804
Kapt-generated Java sources in jvm+withJava MPP module are not compiled and bundledKT-32853
ConcurrentModificationException when compiling with Gradle.KT-32872
Gradle test runner for Native does not show failed build if process quit without starting printing results.KT-33105
kapt+withJava in multiplatform module depending on other multiplatform fails on 1.3.50-eap-54KT-33469
Drop support for Gradle versions older than 4.3 in the Kotlin Gradle pluginKT-33470
Drop support for Gradle versions older than 4.9 in the Kotlin Gradle pluginKT-33980
Read the granular source sets metadata flag value once and cache it for the current Gradle buildKT-34312
UnsupportedOperationException onrequiresVisibilityOf
in the Kotlin Gradle pluginTools. Gradle. JS
New Features
KT-31478
Gradle, JS tests, Karma: Support sourcemaps in Gradle stacktracesKT-32073
Gradle, JS, karma: parse errors and warnings from karma outputKT-32075
Gradle, JS, karma: download chrome headless using puppeteerFixes
KT-31663
Gradle/JS: with not installed browser specified for browser test the response is "Successful, 0 tests found"KT-32216
Gradle, JS, tests: filter doesn't workKT-32224
In Gradle Kotlin/JS projects, thebrowserWebpack
task does not rerun when themain
compilation's outputs changeKT-32281
Gradle, JS, karma: Headless chrome output is not capturedKT-33288
JS: Incorrect bundle with webpack output.library and source mapsKT-33313
When a Kotlin/JS test task runs using a custom compilation, it doesn't track the compilation outputs in its up-to-date checksKT-33547
Template JS Client and JVM Server works wrong on 1.3.50 KotlinKT-33549
Gradle Kotlin/JS external declarations: search fortypings
key insidepackage.json
KT-33579
Js tests with mocha cannot be runKT-33710
Task "generateExternals" for automatic Dukat execution does not workKT-33716
Gradle, Yarn: yarn is not downloading via YarnSetupTaskKT-34101
CCE class org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest_Decorated cannot be cast to class org.gradle.api.provider.Provider on importing Gradle project with JSKT-34123
"Cannot find node module "kotlin-test-js-runner/kotlin-test-karma-runner.js"" inJS Client and JVM Server
new project wizard templateKT-32319
Gradle, js, webpack: source-map-loader failed to load source contents from relative urlsKT-33417
NodeTest failed with error "Failed to create MD5 hash" after NodeRun is executedKT-33747
Exception doesn't fail the test in kotlin js node runnerKT-33828
jsPackageJson task fails after changing artifact origin repositoryKT-34460
NPM packages clash if declared in dependencies and devDependencies bothKT-34555
[Kotlin/JS] Unsafe webpack config mergeTools. Gradle. Native
KT-33076
MPP Gradle plugin: Produce final native binaries from compilation output instead of sourcesKT-33645
Kotlin/Native: Compilation failure if a library passed by the -Xinclude option contains a constructor annotated with @OverrideInitKT-34259
MPP Gradle plugin: Support fat frameworks for watchOS and tvOSKT-34329
Support watchOS and tvOS in CocoaPods Gradle pluginTools. J2K
New Features
KT-7940
J2K: convert Integer.MAX_VALUE to Int.MAX_VALUEKT-22412
J2K: Intention to replace if(...) throw IAE with requireKT-22680
Request: when converting Java->Kotlin, try to avoid creating functions for constant fields (static final
)Performance Improvements
KT-33725
Java->Kotlin converter on paste performs expensive reparse in unrelated contextsKT-33854
J2K conversion of Interface freezes UI for more than 10 seconds without progress dialogKT-33875
[NewJ2K] InspectionLikeProcessingGroup pipeline rework: query isApplicable in parallel for all element first, apply relevant after in EDTFixes
KT-19603
A mutable container property updated from another class converts to red codeKT-19607
Static member qualified by child class converted to red codeKT-20035
Automatic conversion from Java 1.8 to Kotlin 1.1.4 using Idea 2017.2.2: null!!KT-21504
J2K: Convert Long.parseLong(s) to s.toLong()KT-24293
Bug: conversion of Java "List" into Kotlin doesn't produce "MutableList"KT-32253
Converting Java class with field initialized by constructor parameter used to initialize a different field or named as a different field produces red codeKT-32696
New J2K: java List is wrongly converted when pasting it to Kotlin fileKT-32903
J2K: Static import is converted to unresolved referenceKT-33235
Remove "Replace guard clause with kotlin's function call" inspection and tranform it to J2K post-processingKT-33434
UninitializedPropertyAccessException occurs after J2K convertion of package with custom functional interface and it's usageKT-33445
Two definitions of org.jetbrains.kotlin.idea.j2k.J2kPostProcessing in Kotlin 1.3.50-rcKT-33500
Unresolved reference after J2K convertion of isNaN/isFiniteKT-33556
J2K converter fails on statically imported global overloaded functionsKT-33679
Result of assignment with operation differs in kotlin after J2K conversionKT-33687
Extra empty lines are added after comment after J2K conversionKT-33743
Reference to static field outside its class is unresolved after J2K conversionKT-33756
J2K: main method with varargs is converted to non-runnable main kotlin methodKT-33863
java.lang.IllegalStateException: argument must not be null exception occurs on J2K conversion of Generic class usage without type parameterKT-19355
"Variable expected" error after J2K for increment/decrement of an object fieldKT-19569
Java wrappers for primitives are converted to nullable types with nullability errors in KotlinKT-30643
J2K: wrong position of TYPE_USE annotationKT-32518
Nullability information is lost after J2K convertion of constructor with null parameterKT-33941
J2K: Overload resolution ambiguity with assertThat andStackOverflowError
in IDEAKT-33942
New J2K:StackOverflowError
fromorg.jetbrains.kotlin.nj2k.inference.common.BoundTypeCalculatorImpl.boundTypeUnenhanced
KT-34164
J2K: on converting static method references in other .java sources are not correctedKT-34165
J2K: imports are lost in conversion, references resolve to different same-named classesKT-34266
Multiple errors after converting Java class implementing an interface from another fileTools. JPS
KT-33808
JPS compilation is not incremental in IDEA 2019.3Tools. Maven
KT-34006
Maven plugin do not consider .kts files as Kotlin sourcesKT-34011
Kotlin scripting plugin is not loaded by default from kotlin maven pluginTools. REPL
KT-27956
REPL/Script: extract classes and names right from ClassLoaderTools. Scripts
KT-31661
ClassNotFoundException in runtime for 'kotlinc -script' while compilation is fineKT-31704
[kotlin-scripting] passingname
to String.toScriptSource make script compilation failedKT-32234
"Unable to derive module descriptor" when using Kotlin compiler (embeddable) in Java 9+ modular buildsKT-33529
NCDF running kotlin script from command lineKT-33554
Classpath not passed properly when evaluating standard script withkotlinc
KT-33892
REPL/Script: Implement mechanism for resolve top-level functions and properties from classloaderKT-34294
SamWithReceiver cannot be used with new scripting APITools. kapt
KT-31291
Incremental Kapt: IllegalArgumentException fromorg.jetbrains.org.objectweb.asm.ClassVisitor.<init>
KT-33028
Kapt error "Unable to find package java.lang in classpath or bootclasspath" on JDK 11 with-source 8
KT-33050
kapt does not honor source/target compatibility of enclosing projectKT-33052
Kapt generates invalid java stubs for enum members with class bodies on JDK 11KT-33056
Incremental kapt is disabled due tojavaslang.match.PatternsProcessor
processor on classpath when Worker API is enabledKT-33493
1.3.50, org.jetbrains.org.objectweb.asm.ClassVisitor.KT-33515
Incremental kapt fails when I remove an annotated fileKT-33889
Incremental KAPT: NoSuchMethodError: 'java.util.regex.Pattern com.sun.tools.javac.processing.JavacProcessingEnvironment.validImportStringToPattern(java.lang.String)'KT-33503
Kapt, Spring Boot: "Could not resolve all files for configuration ':_classStructurekaptKotlin'"KT-33800
KAPT aptMode=compile fails to compile certain legitimate codeKotlin Native
Related Kotlin Native changelog can be found separately.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Renovate Bot.
Update kotlin_version to v1.8.0to Update kotlin_version to v1.8.0 - autoclosed