Changelog 1.3.X
1.3.72 - IDE plugins update
Backend. JVM
KT-39013
202, ASM 8: “AnalyzerException: Execution can fall off the end of the code”
IDE. 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-38037
UnsupportedOperationException on sync gradle Kotlin project with at least two multiplatform modules
IDE. Highlighting
KT-39590
Turn new inference in IDE for 1.3.70 version off
IDE. Refactorings
KT-38527
Move nested class to upper level fails silently: MissingResourceException
Tools.JPS
KT-27458
The Kotlin standard library is not found in the module graph ... in a non-Kotlin project.
1.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
file
IDE
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 code
IDE. Completion
KT-37144
Completion goes into an infinite loop with Arrow 0.10.4 dependency
IDE. Debugger
KT-37767
Debugger, NPE happens while stepping.
IDE. Editing
KT-35135
UI freeze: not enough checkCancelled on resolve path
IDE. Inspections and Intentions
KT-37217
Replace UseExperimental with OptIn intention removes target prefixes for annotations
IDE. Native
KT-38079
IDEA navigates to wrong line of source code from Native stack trace
IDE. Navigation
KT-37487
Destructuring declarations are called “destruction declarations” in UI
Tools. Gradle. Native
KT-37696
MPP Gradle plugin: False positive parallel execution detection if build started with --continue
1.3.71
Compiler
KT-36095
201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with Java Enum.valueOf
and Enum.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 function
Docs & Examples
KT-37029
Kotlin full stack app demo: update all involving versions to work with 1.3.70 release
IDE
KT-34759
“PSI and index do not match” and high CPU usage when the library has enum
with elements in quotes and internal 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 pass
IDE. Code Style, Formatting
KT-37545
Continuation indent for method's parameter changes in call chain
IDE. Hints
KT-37537
IDE is missing or swallowing keystrokes when hint popups are displayed
IDE. 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 value
IDE. Navigation
KT-36657
KotlinFindUsagesHandler#processElementUsages always return false if options.isSearchForTextOccurrences is false
IDE. 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.1
IDE. Run Configurations
KT-36781
Override ConfigurationFactory::getId method in Kotlin plugin to avoid problems with localizations
JavaScript
KT-37386
Incorrect JS generated by the compiler: function is erased by the function parameter
Tools. Gradle. JS
KT-36196
Investigate performance problems while resolving in projects with npm dependencies
Tools. Gradle. Multiplatform
KT-37264
In intermediate common source sets, internals are not visible from their dependsOn source sets during Gradle build
Tools. Gradle. Native
KT-37565
MPP plugin: Forbid parallel in-process execution of the Kotlin/Native compiler
Tools. kapt
KT-37241
Kapt: Classpath entry points to a non-existent location: ...build/intermediates/javac/debug/classes...
1.3.70
Compiler
New Features
KT-34648
Support custom messages for @RequiresOptIn-marked annotations
Performance Improvements
KT-14513
Suboptimal compilation of lazy delegated properties with inline getValue
Fixes
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 throws java.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@211a538e (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 at org.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-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.70
Docs & Examples
KT-31118
Provide missing documentation for StringBuilder members
IDE
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 function
Performance 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 file
Fixes
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 using com.intellij.codeInsight.AnnotationUtil#isJetbrainsAnnotation
KT-33846
Stop using com.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 annotation
Fixes
KT-4194
Code formatter should not move end of line comment after if
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 operator as?
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 calls
IDE. Completion
Fixes
KT-15286
Support import auto-completion for extension functions declared in objectsKT-23026
Code completion: Incorrect const
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 string
IDE. 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 breakpoint
IDE. 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 directory
IDE. 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 use setUrl
syntax in settings.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 restarts
IDE. Hints. Parameter Info
KT-34992
UI Freeze: Show parameter info leads to freezes
IDE. 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 mode
Fixes
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 either expect
or actual
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 in Add 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-34203
‘Add constructor parameter’ fix does not add genericsKT-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 omitted this
KT-35022
Quickfix “change to var” doesn't remove const
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 reference
IDE. 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 declaration
IDE. Refactorings
Performance Improvements
KT-24122
Long pauses with “removing redundant imports” dialog on rename refactoring for IDEA Kotlin Plugin
Fixes
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 examples
IDE. 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 configuration
IDE. Script
KT-34688
Many "scanning dependencies for script definitions progresses at the same timeKT-35886
UI Freeze: ScriptClassRootsCache.hasNotCachedRoots 25 seconds
IDE. Tests Support
KT-33787
IDE tests: Not able to run single test using JUnit
IDE. Wizards
New Features
KT-36043
Gradle, JS: Add continuous-mode run configuration in New Project Wizard templates
Fixes
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 uses kotlin ()
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 calculation
JS. 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 of Function<*>
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 function
Libraries
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 key
Fixes
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.jar
Tools. CLI
KT-29933
Support relative paths in -Xfriend-pathsKT-34119
Add JVM target bytecode version 13KT-34240
CLI kotlinc help -include-runtime has redundant space
Tools. 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 execution
Tools. 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 folder
Fixes
KT-30917
Tests: Inner classes mapped incorrectly in short test fail messageKT-31894
ithout Kotlin sources browserRun
makes the build failKT-34946
DCE require some/all transitive dependencies. Invalid compilation result otherwiseKT-35318
IllegalStateException on clean build with left-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 support
Tools. 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 daemon
Tools. J2K
New Features
KT-21811
Convert string concatenation into multiline string
Performance Improvements
KT-16774
UI Freeze: J2K, PlainTextPasteImportResolve: IDEA freezes for 10+ seconds when copy-pasting Java code from external source to Kotlin file
Fixes
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 through org.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
char
Tools. Scripts
KT-34274
Add support for @CompilerOptions
annotation in kotlin-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 the kotlin
runnerKT-35416
load main-kts script definition by default in the jvm compiler, if the jar is available
Tools. 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 and override
keywordKT-36113
Enabling kapt.incremental.apt makes remote build cache miss via classpathStructure$kotlin_gradle_plugin
property
1.3.61
Compiler
KT-35004
“AssertionError: Unsigned type expected” in when
range check in extension on unsigned type
IDE
KT-34923
[Regression] KtUltraLightMethod.hasModifierProperty(“native”) returns false for external Kotlin functions
Libraries
KT-21445
W3C DOM Touch events and interfaces are incomplete / missing
Tools. 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 variables
1.3.60
Android
KT-27170
Android lint tasks fails in Gradle with MPP dependency
Compiler
New Features
KT-31230
Refine rules for allowed Array-based class literals on different platforms: allow Array::class
everywhere, disallow Array<...>::class
on non-JVMKT-33413
Allow ‘break’ and ‘continue’ in ‘when’ statement to point to innermost surrounding loop
Performance 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 ranges
Fixes
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 functions
Docs & 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/Charset
IDE
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 report actual
without expect
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 at CompletionBindingContextProvider._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 IDE
IDE. 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 for delay
instead of import and just method nameKT-33903
Duplicating completion for imported extensions from companion objects
IDE. 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 work
IDE. Folding
KT-6314
Folding of “when” construction
IDE. 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 enabled
IDE. 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.kts
IDE. 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 class
Fixes
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 after actual
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 creates expect
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
Redundant private
modifier before primary constructor after create actual
classKT-31921
“Create expected ...”/“Create actual...” quick fix: val
and vararg
modifiers are misordered in the generated expect
/actual
declarationKT-31999
“Variable declaration could be moved into when
” 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 with get
, set
or is
(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 and trimIndent
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 adds actual
modifier to an interface function with default implementation without a warningKT-32768
“Create expect” quick fix doesn't warn about a local supertype of an actual
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 with private
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 inserts object
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 on lateinit
and const
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 Enum
IDE. KDoc
KT-20777
KDoc: Type parameters are not shown in sample code
IDE. Multiplatform
KT-26333
IDE incorrectly requires actual
implementations to be present in all the project source setsKT-28537
Platform-specific type taken from a dependency module isn't reported in common
codeKT-32562
Provide a registry key to enable/disable hierarchical multiplatform mechanism in IDE
IDE. 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 two
IDE. REPL
KT-33329
IllegalArgumentException in REPL
IDE. 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 hierarchy
IDE. 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 panel
IDE. 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.run
IDE. Wizards
KT-27587
Bump Android build tools version at Multiplatform (Android/iOS)
template of the New Project WizardKT-33927
MPP, Kotlin New project wizard: broken project generationKT-34108
Gradle Kotlin DSL: generated project with tasks
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 one
JavaScript
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
Modify Iterable<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 empty
Reflection
KT-13936
KotlinReflectionInternalError on invoking callBy on overridden member with inherited default argument valueKT-17860
Improve KParameter.toString for receiver parameters
Tools
KT-17045
Drop MaxPermSize support from compiler daemonKT-32259
org.jetbrains.annotations
module exported from embeddable compiler, causes problems in Java modular builds
Tools. Android Extensions
KT-32096
IDE plugin doesn't recognize that Parcelize is no longer experimental
Tools. CLI
KT-24991
CLI: Empty classpath in kotlin
script except for kotlin-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 with kotlin
and kotlinc
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.50
Tools. Daemon
KT-32992
Enable assertions in Kotlin Compile DaemonKT-33027
Compilation with daemon fails, because IncrementalModuleInfo#serialVersionUID does not match
Tools. 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 model
Performance Improvements
KT-31666
Kotlin plugin configures all tasks in a project when kotlin.incremental
is enabled
Fixes
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 on requiresVisibilityOf
in the Kotlin Gradle plugin
Tools. 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 puppeteer
Fixes
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, the browserWebpack
task does not rerun when the main
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 for typings
key inside package.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”” in JS 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 merge
Tools. 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 plugin
Tools. 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 EDT
Fixes
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 and StackOverflowError
in IDEAKT-33942
New J2K: StackOverflowError
from org.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 file
Tools. JPS
KT-33808
JPS compilation is not incremental in IDEA 2019.3
Tools. 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 plugin
Tools. REPL
KT-27956
REPL/Script: extract classes and names right from ClassLoader
Tools. Scripts
KT-31661
ClassNotFoundException in runtime for ‘kotlinc -script’ while compilation is fineKT-31704
[kotlin-scripting] passing name
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 with kotlinc
KT-33892
REPL/Script: Implement mechanism for resolve top-level functions and properties from classloaderKT-34294
SamWithReceiver cannot be used with new scripting API
Tools. kapt
KT-31291
Incremental Kapt: IllegalArgumentException from org.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 to javaslang.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 code
1.3.50
Compiler
KT-12787
Debugger: Generate line number at end of function (to set a breakpoint on the last line of the block)KT-23675
“Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.FrameMapBase.getIndex, parameter descriptor” when classes are defined inside an anonymous extension function and access a field of the extension function's this
instanceKT-24596
Refactor / Inline const property does not insert its value into usage in annotationKT-25497
kotlinx.serialization - throws Backend Internal error exception during code generation of sealed classesKT-28927
“IllegalStateException: Arrays of class literals are not supported yet” in AnnotationDeserializer.resolveArrayElementTypeKT-31070
IndexOutOfBoundsException in Analyzer with @JvmOverloads constructor with 34+ parametersKT-31265
FIR: experimental compilerKT-31535
False positives from compiler warning IMPLICIT_NOTHING_AS_TYPE_PARAMETERKT-31969
NI: false positive USELESS_ELVIS with multiple elvis callsKT-32044
For loop over full UByte range terminates at UInt bound.KT-25432
No smartcast on qualifier expression of captured typeKT-30796
psi2ir generates IrErrorType for elvis with generic type having nullable upper-bound when expected type is not nullableKT-31242
“Can't find enclosing method” proguard compilation exception with inline and crossinlineKT-31347
“IndexOutOfBoundsException: Insufficient maximum stack size” with crossinline and suspendKT-31367
IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []KT-31734
Empty parameter list required on Annotations of function typesKT-32434
New type inference fails for Caffeine CacheKT-32452
Kotlin 1.3.40 - problem in IDE with new type inference and suspending method referenceKT-32407
NI: “use property access syntax” intention causes freezes in editorKT-33127
Script result value is not calculated properly for the last expressionKT-33157
Inline class with generic method is considered bad class by javac
Docs & Examples
KT-16602
Provide examples of sorting API usageKT-32353
Document order of array elements initialization
IDE
New Features
KT-28098
Insert space after automatically closed right brace of nested lambda to follow code style
Fixes
KT-16476
Extend selection (Select Word) doesn't select just KDoc if cursor is just before the KDocKT-21374
Imports optimized tooltip is displayed, even if no changes were madeKT-21422
IDE can't import class from root packageKT-27344
MPP: jvmWithJava: no IDE module dependency is created between Kotlin test and Java main on import; Gradle build is successfulKT-29667
Kotlin update settings has wrong looking text boxes for versionsKT-30133
Update copyright creates duplicates for build.gradle.kts filesKT-30782
‘Show Method Separators’ does not separate expression body Kotlin functionsKT-31022
Quick definition
does not show Kotlin code in Java filesKT-31499
“Extend selection” selects escaped identifier name together with backticksKT-31595
“Complete current statement” for method call closes brace at wrong placeKT-31637
NPE in IDE when organizing importsKT-31786
KNPE at copy attempt due to kdoc referenceKT-32276
Fix flaky test for ultra light classesKT-32364
Remove deprecated usages of OUT_OF_CODE_BLOCK_MODIFICATION_COUNT and write a replacement for Kotlin languageKT-32370
Lambdas should have implicit return
in Kotlin UastKT-12096
Spring: rename of Kotlin bean defined in @Bean
annotation failsKT-28193
Exception: Mirror element should never be calculated for light classes generated from a single fileKT-28822
Dependencies in Kotlin MPP project could be wrongly resolved if project was not build before importKT-29267
Enable ultra-light classes by defaultKT-31129
Call only Kotlin-specific reference contributors for getting Kotlin references from PSIKT-32082
Kotlin facet: 1.3.40 plugin does not properly read target platform settings of 1.3.50 pluginKT-32969
Data class extending abstract class with final toString
, equals
or hashCode
causes exceptionKT-33245
IllegalArgumentException exception occurs on Tools->Configure Koltin in Project action in Android Studio
IDE. Completion
KT-9792
Don't propose the same name for arguments of lambda on completion of function call with lambda templateKT-29572
Smart completing anonymous object uses incorrect code styleKT-25264
Freeze in Kotlin file on completionKT-32519
Keyword completion: support fixing layout and typo tolerance
IDE. Debugger
New Features
KT-30740
Display more information about variables when breakpoint is set inside lambda expression
Fixes
KT-8579
Debugger: Evaluate expression fails at typed arraysKT-10183
Debugger: receiver properties are not shown inline in extension functionKT-11663
Assignment is not possible in Evaluate expressionKT-11706
Attempts to evaluate java method calls on ‘Array’ instance in debugger fail with NoSuchMethodErrorKT-11888
Evaluate Expression for expression with synchronizedKT-11938
Empty condition is marked as errorKT-13188
Cannot evaluate expression with local extension functionKT-14421
Debugger: breakpoint set on trivial if/while is not hitKT-15259
Debug: closing brace of object definition is considered executable; ISE: “Don't call this method for local declarations: OBJECT_DECLARATION” at LazyDeclarationResolver.getMemberScopeDeclaredIn()KT-19084
Breakpoints on Debugger altering ResultKT-19556
Kotlin exception while debugging IJ plugin codeKT-19980
Debug: evaluation fails for setter of member extention propertyKT-20560
Evaluate expression doesn't work for super method callKT-23526
In *.kts scripts, debugger ignores breakpoints in top-level statements and membersKT-24914
AS: Uninitialized yet lazy properties called on first debug point reachKT-26742
Debugger can't evaluate expected top-level function from common codeKT-30120
False positive “Unused equals expression” in evaluate expression windowKT-30730
Missing tooltip for “Kotlin variables view” buttonKT-30919
Debugger‘s “Kotlin View” doesn’t show variables inside lambdasKT-30976
Debugger: No access to receiver evaluating named parameters during call to extension functionKT-31418
java.lang.ClassCastException : java.lang.annotation.Annotation[] cannot be cast to byte[]KT-31510
isDumb should be used only under read action: KotlinEvaluatorKT-31702
Debugger can't stop on breakpoint on Unit
expression from coroutine contextKT-31709
Evaluate: “IllegalArgumentException: Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.FrameMapBase.getIndex, parameter descriptor” with nested lambda member accessKT-24829
Access to coroutineContext in ‘Evaluate expression’
IDE. Gradle
KT-19693
Import package prefix from GradleKT-30667
Dependencies of a module on a multiplatform one with a JVM target and withJava()
configured, are incorrectly resolved in IDEKT-32300
Add possibility to distinguish kotlin source root from java source rootKT-31014
Gradle, JS: Webpack watch modeKT-31843
Memory leak caused by KOTLIN_TARGET_DATA_NODE on project reimport
IDE. Gradle. Script
KT-31779
“Highlighting in scripts is not available”KT-30638
“Highlighting in scripts is not available until all Script Dependencies are loaded” in Diff viewerKT-30974
Script dependencies resolution failed error while trying to use Kotlin for GradleKT-31440
Add link to Gradle Kotlin DSL logs when script dependencies resolution process failsKT-32483
CNFE org.gradle.kotlin.dsl.KotlinBuildScript on creating new Gradle Kotlin project from wizardKT-21501
build.gradle.kts displays failures if not using java sdk for module
IDE. Inspections and Intentions
New Features
KT-8958
ReplaceWith intention message could be more helpful in case of generic substitutionKT-12515
Quickfix “by Delegates.notNull()” as replacement for “lateinit” for primitive typeKT-14344
Suggest to replace manual range with explicit indices
call or iteration over collectionKT-17916
Import popup does not indicate deprecated classesKT-23501
Add intention for converting ordinary properties to ‘lazy’ and vise versaKT-25006
Add inspection “‘equals()’ between objects of inconvertible primitive / enum / string types”KT-27353
Quickfix to add a constructor parameter from parent class to child classKT-30124
Add inspection to replace java.util.Arrays.equals with contentEqualsKT-30640
Add inspection for check/require/checkNotNull/requireNotNullKT-30775
Inspection for the case when one lateinit var overrides another lateinit varKT-31476
Improve “Create expect...” quickfixKT-31533
Make “Add operator modifier” an inspection instead of intentionKT-31795
Inspection: simplify property setter with custom visibilityKT-31924
Make “add import” intention more flexible based on caret positionKT-30970
No warning for empty if
operator and also
method
Fixes
KT-12567
“Introduce ‘when’ subject” intention does not work for “this” in extension functionKT-14369
“Replace elvis expression with 'if” intention produces boilerplate code for ‘return’ in RHSKT-16067
“Replace ‘if’ expression with elvis expression” suggests replacing an idiomatic code with non-idiomaticKT-19643
Tune or disable the FoldInitializerAndIfToElvis inspectionKT-24439
No method imports suggestedKT-25786
False positive “Not-null extension receiver of inline function can be made nullable” with operator fun invoke
KT-25905
False positive for ‘LeakingThis’ on a method call in enum class bodyKT-27074
False positive “Foldable if-then” with Result typeKT-27550
“Redundant explicit this” false positive with subclass and extension lambdaKT-27563
Generate toString in common code shouldn't use java.util.ArraysKT-27822
Don't suggest might be const
on actual
member declarationKT-28595
“Assignment should be lifted out of ‘if’” false negative for different but compatible derived typesKT-29192
“Convert property to function” with explicit generic type loses getter bodyKT-29716
With both explicit and implicit package prefixes “Package name does not match containing directory” inspection suggests not usable quick fixKT-29731
Don't suggest Add val/var to parameter
at expect class constructorKT-30191
“Lift out of if” intention isn't suggested for assignment of nullKT-30197
ReplaceWith for deprecated function adds class literal/callable reference argument above unless it is used in substitutionKT-30627
“Use property access syntax” produces red code if setter argument is a lambda with implicit SAM conversionKT-30804
Property declaration goes to annotation comment when removing only modifier using RemoveModifierFixKT-30975
‘‘when’ has only ‘else’ branch and should be simplified’ inspection removes subject variable definition used in else branchKT-31033
“Create expect ...” quick fix incorrectly works for a secondary constructor in a multiplatform projectKT-31272
Expand “create expected ...” quick fix highlighting also to a primary constructorKT-31278
Inappropriate “Remove redundant .let call” inspectionKT-31341
Incorrect quickfix “Replace with Kotlin analog” for conversion to an extension, where the first argument is an expression with an operationKT-31359
“Invalid property key” inspection false positive for a bundle with several properties filesKT-31362
‘Move variable declaration into when
’ quickfix comments left brace with EOL commentKT-31443
Remove braces intention places caret in a wrong placeKT-31446
Incorrect quick fix “Create expected class" for inline class with parameter with actualKT-31518
Incorrect “Create expect function” for primary constructorKT-31673
Only when
keyword should be highlighted in WhenWithOnlyElseInspectionKT-31716
Decrease severity of PackageDirectoryMismatchInspection to INFOKT-31717
Decrease severity of RemoveCurlyBracesFromTemplateInspectionKT-31816
“Package directive doesn't match file location” for root package is invisible in editorKT-31954
MoveVariableDeclarationIntoWhen should move the caret to the subject expressionKT-32001
Wrong quickfixes for TOO_MANY_ARGUMENTSKT-32010
Convert ReplaceSingleLineLetIntention to inspectionsKT-32046
False negative “Redundant qualifier name” with class literalKT-32112
False positive “Redundant qualifier name”KT-32318
“Remove argument name” intention does not remove square braces for annotation vararg argumentKT-32320
False negative “Redundant qualifier name” with local objectKT-32347
Duplicative “Remove redundant ‘public’ modifier” suggestion for getterKT-32365
“Convert to sealed class” intention should not be suggested when no “class” keywordKT-32419
Spurious ‘while’ has empty body warning when body has explanatory commentKT-32506
False negative “Remove redundant qualifier name” with java.util.ArrayList<Int>()
KT-32454
“Replace Java static method with Kotlin analog”: invalid quick fix on ‘abs()’ functionKT-26242
“Create test” intention does nothing in common moduleKT-27208
IDEA reports about the need to declare abstract or implement abstract method, but this method is @JvmStatic in an interface companionKT-27555
Create actual ...
quick fix does nothing if the corresponding source set directory isn't created yetKT-28121
IDE: Warn on java files under “src/main/kotlin” or “src/test/kotlin” source rootsKT-28295
Use languageSettings
for a quick fix to enable experimental features in multiplatform projectsKT-28529
Don't suggest commonMain
source set as a target of create expected ...
quick fix for a member of *Test
source setKT-28746
“Create actual class” quick fix creates invalid file when is called from files located in package directory but don't have package nameKT-30622
Add names to call arguments starting from given argumentKT-31404
Redundant ‘requireNotNull’ or ‘checkNotNull’ inspection: don't remove first argumentKT-32705
“Create expect” quick fix adds actual
modifier to a const
/lateinit
declaration without a warningKT-32967
Warning about incorrectly placed Java source file isn't automatically dismissed on move of the file to the proper source root
IDE. JS
KT-31895
New Project wizard: Kotlin Gradle + Kotlin/JS for Node.js: incorrect DSL is inserted
IDE. KDoc
KT-30985
Missing line break in quick doc for enum constant
IDE. Multiplatform
KT-29757
IDE fails to import transitive dependency of a JVM module to a multiplatform one
IDE. Navigation
KT-10215
Kotlin classes are listed after Java classes in the navigation bar
IDE. Refactorings
KT-29720
Refactor / Move does not update package statement with implicit prefixKT-30762
Inline method produces invalid code for suspend functions with receiverKT-30748
100+ Seconds UI Freeze on performing a Move Refactoring on a file with a lot of usages (KotlinOptimizeImports in thread dump)
IDE. Scratch
KT-23604
Scratch: end of line is wrongly indented with the end of scratch line outputKT-27963
Make REPL mode in Scratch files incrementalKT-29534
Line output jumps to the next line together with cursorKT-32791
“Access is allowed from event dispatch thread only” while working with a scratch file
IDE. Script
KT-25187
Kotlin script in src: warning: classpath entry points to a non-existent location on JDK 9+KT-31152
Errors in IDE when different Java Sdk are set as Project SDK and as Gradle JVMKT-31521
CNFE „org.jetbrains.kotlin.idea.caches.project.ScriptBinariesScopeCache“ on creating new Gradle based projectKT-31826
Gradle clean task causes IDEA to lose kotlin scripting configurationKT-31837
TargetPlatform for scripts should depends on scriptDefinition.additionalArgumentsKT-30690
Highlighting for scripts in diff view doesn't work for left partKT-32061
Check classpath jars before applying script compilation result from file attributesKT-32554
Freezes in ScriptDependenciesUpdater
IDE. Tests Support
KT-30814
MPP, 191 platform: with Gradle test runner run configuration for platform test is created without tasks
IDE. Wizards
KT-32105
MPP project wizard: add option for Kotlin Gradle DSL
JS. Tools
KT-31527
Keep generating empty jsTest
taskKT-31565
Gradle/JS: npmResolve
is never UP-TO-DATEKT-32326
Gradle, test runner: support postponing test running error reporting at the end of the buildKT-32393
Gradle, JS: Resolve projects lazilyKT-31560
Gradle: provide descriptions for JS tasksKT-31563
Gradle/JS: npmResolve fails with “Invalid version” when user project's version does not match npm rulesKT-31566
Gradle/JS: with explicit call to nodejs { testTask { useNodeJs() } }
configuration fails : “Could not find which method to invoke”KT-31694
Gradle, NPM, windows: creating symlink requires administrator privilege
Libraries
KT-29372
measureTime that returns both the result of block and elapsed timeKT-32083
Incorrect ReplaceWith annotation on kotlin.js.powKT-12749
Provide Int.bitCount, Long.bitCount etc.KT-32359
Common Array.fillKT-33225
JS: Incorrect conversion of infinite Double to Long
Reflection
KT-22923
Reflection getMemberProperties fails: kotlin.reflect.jvm.internal.KotlinReflectionInternalErrorKT-31318
“KotlinReflectionInternalError: Method is not supported” on accessing array class annotation parameter
Tools. Daemon
KT-31550
NSME org.jetbrains.kotlin.com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem.clearHandlersCache()V on compileKotlin task with plugin from masterKT-32490
Compiler daemon tests fail on windows due to directory name being too longKT-32950
Daemon should inherit “-XX:MaxMetaspaceSize” of client VMKT-32992
Enable assertions in Kotlin Compile DaemonKT-33027
Compilation with daemon fails, because IncrementalModuleInfo#serialVersionUID does not match
Tools. CLI
KT-33177
Introduce compiler flags -Xinline-classes and -Xpolymorphic-signature as a higher priority than -XXLanguage
Tools. Compiler Plugins
KT-28824
Add jvm-abi-gen-embeddable for use with embeddable compilerKT-31279
JPS build with compiler plugin and “Keep compiler alive = No” fails with CCE: “Cannot cast NoArgComponentRegistrar to ComponentRegistrar” at ServiceLoaderLite.loadImplementations()KT-32346
kotlinx.serialization: Performance problems with completion/intellisense
Tools. Gradle
New Features
KT-26655
Precise metadata publishing and consumption for new MPPKT-31018
Gradle, JS: yarnKT-31703
Gradle, JS: automatically download d.ts and generate kotlin/js external declarations using dukatKT-31890
Gradle, JS, webpack: provide property with full bundle file pathKT-32015
Gradle, JS: resolve configuration only while executing tasks of specific projectsKT-32136
Gradle, test runner: handle case when test runtime exits abnormallyKT-26256
In new MPP, support Java compilation in JVM targetsKT-30573
Gradle, JS: enable source maps by default, change paths relative to node_modules directoryKT-30747
Gradle, JS tests: provide option to disable test configuration per targetKT-31010
Gradle, JS tests: MochaKT-31011
Gradle, JS tests: KarmaKT-31013
Gradle, JS: WebpackKT-31016
Gradle: yarn downloadingKT-31017
Gradle, yarn: support workspacesKT-31697
Gradle, NPM: report about clashes in packages_imported
Performance Improvements
KT-29538
AndroidSubPlugin#getCommonResDirectories is very slow
Fixes
KT-29343
Kotlin MPP source set dependencies are not properly propagated to tests in Android projectsKT-30691
Gradle, JS tests: Parent operation with id 947 not available when all tests passedKT-31917
Gradle, JS: transitive dependency between compilations in same project doesn't workKT-31985
Gradle, JS: webpack not working on windowsKT-32072
Gradle, JS: browser() in DSL triggers project.evaluate()KT-32204
In an MPP, a dependency that is added to a non-root source set is incorrectly analyzed for source sets visibilityKT-32225
In an MPP, if a dependency is added to a source set that does not take part in published compilations, it is not correctly analyzed in source set visibility inferenceKT-32564
Provide a flag to enable/disable hierarchical multiplatform mechanism in GradleKT-31023
Update Gradle module metadata warning in MPP publishingKT-31696
Gradle, NPM: select one version between tools and all of compile configurationsKT-31891
Gradle: JS or Native tests execution: build --scan
fails with ISE “Expected attachment of type ... but did not find it”KT-32210
Kapt randomly fails with java.io.UTFDataFormatExceptionKT-32706
Gradle target “jsBrowserWebpack” should use output of JS compile task as inputKT-32697
[Tests] org.jetbrains.kotlin.gradle.SubpluginsITKT-33246
Kotlin JS & Native tests + Gradle 5.6: No value has been specified for property ‘binaryResultsDirectory’
Tools. Incremental Compile
KT-31310
Incremental build of Kotlin/JS project fails with KNPE at IncrementalJsCache.nonDirtyPackageParts()
Tools. J2K
New Features
KT-30776
New J2KKT-31836
Suggest user to configure Kotlin in the project when running new J2K file conversionKT-32512
ReplaceJavaStaticMethodWithKotlinAnalogInspection: add more cases for java.util.Arrays
Fixes
KT-15791
J2K converts class literals including redundant generic <*>KT-31234
New J2K: Exception occurs on converting Java class to KotlinKT-31250
J2K: caret position of original file is preserved, adding spaces to resulting fileKT-31251
J2K: Java class with members is converted to Kotlin class with final
constructorKT-31252
J2K: resulted file is not formattedKT-31254
J2K: resulted source uses full qualified references instead of importsKT-31255
J2K: redundant modifiers in resulted sourceKT-31726
New J2K converts annotation with array parameter to single value parameterKT-31809
“Attempt to modify PSI for non-committed Document!” exception and broken kotlin file after new J2K conversionKT-31821
J2K: IDEA Ultimate: local variable: CCE: “PsiLocalVariableImpl cannot be cast to class JvmAnnotatedElement” at JavaToJKTreeBuilder$DeclarationMapper.toJK()KT-32436
NewJ2K generic field is not initialized after convertionKT-19327
Java to Kotlin converter fails to convert code using Java 8 Stream APIKT-21467
Convert To Kotlin fails when using chained stream.flatmap methodsKT-24677
j2k creates nullable type for child function but keeps not null type for parent functionKT-32572
New J2K: Map with complex type as parameter is wrongly convertedKT-32602
J2K: no conversion of String.length()
method call to property access of existing String propertyKT-32604
kotlin.NotImplementedError exception occurs on converting Java call of toString method of data class to KotlinKT-32609
New J2K: Comparable class is wrongly converted to Kotlin if parameter of compareTo marked with @NotNull annotationKT-32693
New J2K is throwing „Read access is allowed from event dispatch thread or inside read-action only“ on converting Java code inside Evaluate Expression windowKT-32702
New J2K: lambda with method reference is converted to lamdba with excessive parameter declarationKT-32835
New J2K: NumberFormatException occurs on converting binary literalsKT-32837
J2K: NumberFormatException occurs on converting literals with underscore charactersKT-22412
J2K: Intention to replace if(...) throw IAE with requireKT-33371
Add an ability to switch between old and new J2K via settings windowKT-32863
New J2K: IllegalArgumentException occurs on Kotlin configuration in java project in Android Studio
Tools. JPS
KT-27181
Compiler arguments are listed twice on JPS build of Gradle-based projectKT-13563
Kotlin jps-plugin should allow to instrument bytecode from Intellij IDEA.
Tools. REPL
KT-15125
Support JSR 223 bindings directly via script variablesKT-32085
Kotlinc REPL: “java.lang.NoClassDefFoundError: org/jline/reader/LineReaderBuilder”
Tools. Scripts
KT-28137
Implement result/return value for the regular (non-REPL) scripts
Tools. kapt
KT-30578
build/generated/source/kaptKotlin
is added as source directory to main
instead of jvmMain
when jvm { withJava() } is configured in a multiplatform projectKT-30739
Kapt generated sources are not visible from the IDE when “Create separate module per source set” is disabledKT-31127
Kotlin-generating processor which uses Filer API breaks JavaCompile taskKT-31378
v1.3.31: NoSuchElementException in kapt when kapt.incremental.apt=trueKT-32535
Kapt aptMode=compile don't include files generated at kapt.kotlin.generated
as sources to compileKT-31471
KAPT prints “IncrementalProcessor” instead of processor name in verbose mode
1.3.41
Compiler
KT-31981
New type inference asks to use ?. on non-null local variableKT-32029
Exception when callable reference is resolved against unresolved typeKT-32037
No coercion to Unit for last expression with lambda in code blockKT-32038
Unsubstituted stub type cause type mismatch later for builder inferenceKT-32051
NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER on matching Nothing with generic type parameterKT-32081
New type inference fails involving Either and NothingKT-32089
False positive IMPLICIT_NOTHING_AS_TYPE_PARAMETER with lambdasKT-32094
NI: member from star import has higher resolution priority than member imported by FQNKT-32116
Type inference for HashMap<,> fails but compilesKT-32123
Wrong unused import for extension methodKT-32133
Regression in Kotlin 1.3.40 new inference engineKT-32134
java.lang.Throwable: Resolution error of this type shouldn't occur for resolve try as a call
for incomplete try-constructionKT-32143
1.3.40 new inference: backward incompatibility in method calls with multiple SAM argumentsKT-32154
setOf(Map.Entry<*, *>::key) gives error on IDEKT-32157
Issue with new type inference in unbounded genericsKT-32175
New Type Inference Algorithm, RxJava and IDE-Compiler InconsistencyKT-32184
NI: Argument for @NotNull parameter ‘type’ of org/jetbrains/kotlin/types/CommonSupertypes.depth must not be nullKT-32187
Exception when using callable reference with an unresolved LHSKT-32218
Cannot call get on a Map<out Any,Any> with new type systemKT-32230
New inference not working with RxJava combineLatestKT-32235
New type inference failure with in
check
JavaScript
KT-32215
Reified generic doesn't work with ByteArray
on js
Tools. CLI
KT-32272
kotlinc - no main manifest attribute, in hello.jar
Tools. REPL
KT-32085
Kotlinc REPL: “java.lang.NoClassDefFoundError: org/jline/reader/LineReaderBuilder”
Tools. Scripts
KT-32169
Kotlin 1.3.40 - Crash on running *.main.kts script: “NoSuchMethodError: kotlin.script.templates.standard.ScriptTemplateWithArgs.”KT-32206
Custom script definitions not loaded in the cli compiler
1.3.40
Android
Fixes
KT-12402
Android DataBinding work correctly but the IDE show it as errorKT-31432
Remove obsolete code introduced in KT-12402
Compiler
New Features
KT-29915
Implement typeOf
on JVMKT-30467
Provide a way to to save compiled script(s) as a jar
Performance Improvements
KT-17755
Optimize trimIndent and trimMargin on constant stringsKT-30603
Compiler performance issue: VariableLivenessKt.useVar performance
Fixes
KT-19227
Load built-ins from dependencies by default in the compiler, support erroneous “fallback” built-insKT-23426
Actual typealias to Java enum does not match expected enum because of modalityKT-23854
Inference for common type of two captured typesKT-25105
False-positive warning “Remove final upper bound” on generic overrideKT-25302
New inference: “Type mismatch” between star projection and Any?
type argument in specific caseKT-25433
Wrong order of fixing type variables for callable referencesKT-26386
Front-end recursion problem while analyzing contract function with call expression of self in impliesKT-26412
Wrong LVT generated if decomposed parameter of suspend lambda is not the first parameter.KT-27097
JvmMultifileClass + JvmName causes NoSuchMethodError on sealed class hierarchy for top-level membersKT-28534
Local variable entries are missing in LVT for suspend lambda parametersKT-28535
Rename result
to $result
in coroutines' LVTKT-29184
Implement inference for coroutines according to the @BuilderInference contract in NIKT-29772
Contracts don't work if contract
function is fully qualified (FQN)KT-29790
Incorrect version requirement in metadata of anonymous class for suspend lambdaKT-29948
NI: incorrect DSLMarker behaviour with generic star projectionKT-30021
+NewInference on Kotlin Native :: java.lang.StackOverflowErrorKT-30242
Statements are not coerced to Unit in last expressions of lambdaKT-30243
Include FIR modules into compilerKT-30250
Rewrite at slice exception for callable reference argument inside delegated expressionKT-30292
Reference to function is unresolved when LHS is a star-projected typeKT-30293
Wrong intersection type for common supertype from String and integer typeKT-30370
Call is completed too early when there is “Nothing” constraintKT-30405
Support expected type from cast in new inferenceKT-30406
Fix testIfOrWhenSpecialCall test for new inferenceKT-30590
Report diagnostic about not enough information for inference in NIKT-30620
Exception from the compiler when coroutine-inference is involved even with the explicitly specified typesKT-30656
Exception is occurred when functions with implicit return-stub types are involved in builder-inferenceKT-30658
Exception from the compiler when getting callable reference to a suspend functionKT-30661
Disable SAM conversions to Kotlin functions in new-inference by defaultKT-30676
Overload resolution ambiguity when there is a callable reference argument and candidates with different functional return typesKT-30694
No debug metadata is generated for suspend lambdas which capture crossinlineKT-30724
False positive error about missing equals when one of the operands is incorrectly inferred to NothingKT-30734
No smartcast inside lambda literal in then/else “if” branchKT-30737
Try analysing callable reference preemptivelyKT-30780
Compiler crashes on ‘private inline’ function accessing private constant in ‘inline class’ (regression)KT-30808
NI: False negative SPREAD_OF_NULLABLE with USELESS_ELVIS_RIGHT_IS_NULLKT-30816
BasicJvmScriptEvaluator passes constructor parameters in incorrect orderKT-30826
There isn't report about unsafe call in the new inference (by invalidating smartcast), NPEKT-30843
Duplicate JVM class name for expect/actual classes in JvmMultifileClass-annotated fileKT-30853
Compiler crashes with NewInference and Kotlinx.Coroutines FlowKT-30927
Data flow info isn't used for ‘this’ which is returned from lambda using labeled returnKT-31081
Implement ArgumentMatch abstraction in new inferenceKT-31113
Fix failing tests from SlicerTestGeneratedKT-31199
Unresolved callable references with typealiasKT-31339
Inliner does not remove redundant continuation classes, leading to CNFE in JMH bytecode processingKT-31346
Fix diagnostic DSL_SCOPE_VIOLATION for new inferenceKT-31356
False-positive error about violating dsl scope for new-inferenceKT-31360
NI: inconsistently prohibits member usage without explicit receiver specification with star projection and DSL markerKT-18563
Do not generate inline reified functions as private in bytecodeKT-20849
Inference results in Nothing type argument in case of passing ‘out T’ to ‘in T1’KT-25290
New inference: KNPE at ResolutionPartsKt.getExpectedTypeWithSAMConversion() on out projection of Java classKT-26418
Back-end (JVM) Internal error when compiling decorated suspend inline functionsKT-26925
Decorated suspend inline function continuation resumes in wrong spotKT-28999
Prohibit type parameters for anonymous objectsKT-29307
New inference: false negative CONSTANT_EXPECTED_TYPE_MISMATCH with a MapKT-29475
IllegalArgumentException at getAbstractTypeFromDescriptor with deeply nested expression inside function named with a right parenthesisKT-29996
Properly report errors on attempt to inline bytecode from class files compiled to 1.8 to one compiling to 1.6KT-30289
Don't generate annotations on synthetic methods for methods with default values for parametersKT-30410
[NI] Front-end recursion problem while analyzing contract function with call expression of self in impliesKT-30411
Fold recursive types to star-projected ones when inferring type variablesKT-30706
Passing noinline lambda as (cross)inline parameter result in wrong state-machineKT-30707
Java interop of coroutines inside inline functions is brokenKT-30983
ClassCastException: DeserializedTypeAliasDescriptor cannot be cast to PackageViewDescriptor on star-import of expect enum class actualized with typealiasKT-31242
“Can't find enclosing method” proguard compilation exception with inline and crossinlineKT-31347
“IndexOutOfBoundsException: Insufficient maximum stack size” with crossinline and suspendKT-31354
Suspend inline functions with crossinline parameters are inaccessible from javaKT-31367
IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []KT-31461
NI: NONE_APPLICABLE instead of TYPE_MISMATCH when invoking convention plus operatorKT-31503
Type mismatch with recursive types and SAM conversionsKT-31507
Enable new type inference algorithm for IDE analysisKT-31514
New inference generates multiple errors on generic inline expression with elvis operatorKT-31520
False positive “not enough information” for constraint with star projection and covariant typeKT-31606
Rewrite at slice on using callable reference with array access operatorKT-31620
False-positive “not enough information” for coroutine-inference when target method is assigned to a variableKT-31624
Type from declared upper bound in Java is considered more specific than Nothing producing type mismatch laterKT-31860
Explicit type argument isn't considered as input type causing errors about “only input types”KT-31866
Problems with using star-projections on LHS of callable referenceKT-31868
No type mismatch error when using NoInfer annotationKT-31941
Good code red in IDE with smart cast on parameter of a generic type after null check
IDE
New Features
KT-11242
Action to copy project diagnostic information to clipboardKT-24292
Support external nullability annotationsKT-30453
Add plugin option (registry?) to enable new inference only in IDE
Performance Improvements
KT-13841
Classes and functions should be lazy-parseableKT-27106
Performance issue with optimize importsKT-30442
Several second lag on project open in KotlinNonJvmSourceRootConverterProviderKT-30644
ConfigureKotlinInProjectUtilsKt freezes UI
Fixes
KT-7380
Imports insertion on paste does not work correctly when there were alias imports in the source fileKT-10512
Do not delete imports with unresolved parts when optimizingKT-13048
“Strip trailing spaces on Save” should not strip trailing spaces inside multiline strings in KotlinKT-17375
Optimize Imports does not remove unused import aliasKT-27385
Uast: property references should resolve to getters/settersKT-28627
Invalid detection of Kotlin jvmTarget inside Idea/gradle buildKT-29267
Enable ultra-light classes by defaultKT-29892
A lot of threads are waiting in KotlinConfigurationCheckerComponentKT-30356
Kotlin facet: all JVM 9+ target platforms are shown as “Target Platform = JVM 9” in Project Structure dialogKT-30514
Auto-import with “Add unambiguous imports on the fly” imports enum members from another packageKT-30583
Kotlin light elements should be isEquivalentTo
to it's originsKT-30688
Memory leak in the PerModulePackageCacheService.onTooComplexChange methodKT-30949
Optimize Imports removes used import aliasKT-30957
Kotlin UAST: USimpleNameReferenceExpression in “imports” for class' member resolves incorrectly to class, not to the memberKT-31090
java.lang.NoSuchMethodError: org.jetbrains.kotlin.idea.UtilsKt.addModuleDependencyIfNeeded on import of a multiplatform project with Android target (191 IDEA + master)KT-31092
Don't check all selected files in CheckComponentsUsageSearchAction.update()KT-31319
False positive “Unused import” for provideDelegate
extensionKT-31332
Kotlin AnnotatedElementsSearch does't support Kotlin object
KT-31129
Call only Kotlin-specific reference contributors for getting Kotlin references from PSIKT-31693
Project with no Kotlin: JPS rebuild fails with NCDFE for GradleSettingsService at KotlinMPPGradleProjectTaskRunner.canRun()KT-31466
SOE in Java highlighting when a Kotlin ultra-light method is invokedKT-31723
Exception from UAST for attempt to infer types inside unresolved callKT-31842
UOE: no descriptor for type constructor of TypeVariable(T)KT-31992
Fix ColorsIcon.scale(float) compatibility issue between IU-192.5118.30 and 1.3.40-eap-105
IDE. Completion
KT-29038
Autocomplete “suspend” into “suspend fun” at top level and class level (except in kts top level)KT-29398
Add “arg” postfix templateKT-30511
Replace extra space after autocompleting data class with file name by parentheses
IDE. Debugger
KT-10636
Debugger: can't evaluate call of function type parameter inside inline functionKT-18247
Debugger: class level watches fail to evaluate outside of class instance contextKT-18263
Settings / Debugger / Java Type Renderers: unqualified Kotlin class members in Java expressions are shown as errorsKT-23586
Non-trivial properties autocompletion in evaluation windowKT-30216
Evaluate expression: declarations annotated with Experimental (LEVEL.ERROR) fail due to compilation errorKT-30610
Debugger: Variables view shows second this
instance for inline function even from the same class as caller functionKT-30714
Breakpoints are shown as invalid for classes that are not loaded yetKT-30934
“InvocationException: Exception occurred in target VM” on debugger breakpoint hit (with kotlintest)KT-31266
Kotlin debugger incompatibility with latest 192 nightly: KotlinClassWithDelegatedPropertyRendererKT-31785
Exception on attempt to evaluate local function
IDE. Gradle
KT-29854
File collection dependency does not work with NMPP+JPSKT-30531
Gradle: NodeJS downloadingKT-30767
Kotlin import uses too much memory when working with big projectsKT-29564
kotlin.parallel.tasks.in.project=true causes idea to create kotlin modules with target JVM 1.6KT-31014
Gradle, JS: Webpack watch modeKT-31843
Memory leak caused by KOTLIN_TARGET_DATA_NODE on project reimportKT-31952
Fix compatibility issues with IDEA after fixing IDEA-187832
IDE. Gradle. Script
KT-30638
“Highlighting in scripts is not available until all Script Dependencies are loaded” in Diff viewerKT-31124
“compileKotlin - configuration not found: kotlinScriptDef, the plugin is probably applied by a mistake” after creating new project with IJ and Kotlin from masterKT-30974
Script dependencies resolution failed error while trying to use Kotlin for Gradle
IDE. Hints
KT-30057
“View->Type info” shows “Type is unknown” for named argument syntax
IDE. Inspections and Intentions
New Features
KT-11629
Inspection: creating Throwable without throwing itKT-12392
Unused import with alias should be highlighted and removed with Optimize ImportsKT-12721
inspection should be made for converting Integer.toString(int) to int.toString()KT-13962
Intention to replace Java collection constructor calls with function calls from stdlib (ArrayList() → arrayListOf())KT-15537
Add inspection + intention to replace IntRange.start/endInclusive with first/lastKT-21195
ReplaceWith intention could save generic type argumentsKT-25262
Intention: Rename class to containing file nameKT-25439
Inspection “Map replaceable with EnumMap”KT-26269
Inspection to replace associate with associateWith or associateByKT-26629
Inspection to replace ==
operator on Double.NaN with equals
callKT-27411
Inspection and Quickfix to replace System.exit() with exitProcess()KT-29344
Convert property initializer to getter: suggest on property nameKT-29666
Quickfix for “DEPRECATED_JAVA_ANNOTATION”: migrate argumentsKT-29798
Add ‘Covariant equals’ inspectionKT-29799
Inspection: class with non-null self-reference as a parameter in its primary constructorKT-30078
Add “Add getter/setter” quick fix for uninitialized propertyKT-30381
Inspection + quickfix to replace non-null assertion with returnKT-30389
Fix to convert argument to Int: suggest roundToInt()KT-30501
Add inspection to replace filter { it is Foo } with filterIsInstance and filter { it != null } with filterNotNullKT-30612
Unused symbol inspection should detect enum entryKT-30663
Fully qualified name is added on quick fix for original class name if import alias existsKT-30725
Inspection which replaces .sorted().first()
with .min()
Fixes
KT-5412
“Replace non-null assertion with if
expression” should replace parent expressionKT-13549
“Package directive doesn't match file location” for root packageKT-14040
Secondary enum class constructor is marked as “unused” by IDEKT-18459
Spring: “Autowiring for Bean Class (Kotlin)” inspection adds not working @Named
annotation to propertyKT-21526
used class is marked as “never used”KT-22896
“Change function signature” quickfix on “x overrides nothing” doesn't rename type argumentsKT-27089
ReplaceWith quickfix doesn't take into account generic parameterKT-27821
SimplifiableCallChain inspection quick fix removes comments for intermediate operationsKT-28485
Incorrect parameter name after running “Add parameter to function” intention when argument variable is upper case constKT-28619
“Add braces to ‘if’ statement” moves end-of-line comment inside an if
branch if statement inside if
is blockKT-29556
“Remove redundant ‘let’ call” doesn't rename parameter with convention invoke
callKT-29677
“Specify type explicitly” intention produces invalid output for type escaped with backticksKT-29764
“Convert property to function” intention doesn't warn about the property overloads at child class constructorKT-29812
False positive for HasPlatformType with member extension on ‘dynamic’KT-29869
‘WhenWithOnlyElse’: possibly useless inspection with false grey warning highlighting during editing the codeKT-30038
'Remove redundant Unit" false positive when return type is nullable UnitKT-30082
False positive “redundant .let
call” for lambda functions stored in nullable referencesKT-30173
“Nested lambda has shadowed implicit parameter” is suggested when both parameters are logically the sameKT-30208
Convert to anonymous object: lambda generic type argument is lostKT-30215
No “surround with null” check is suggested for an assignmentKT-30228
‘Convert to also/apply/run/with’ intention behaves differently depending on the position of infix function callKT-30457
MoveVariableDeclarationIntoWhen: do not report gray warning on variable declarations taking multiple lines / containing preemptive returnsKT-30481
Do not report ImplicitNullableNothingType on a function/property that overrides a function/property of type ‘Nothing?’KT-30527
False positive “Type alias is never used” with import of enum memberKT-30559
Redundant Getter, Redundant Setter: reduce range to getter/setter headerKT-30565
False positive “Suspicious ‘var’ property” inspection with annotated default property getterKT-30579
Kotlin-gradle groovy inspections should depend on Groovy pluginKT-30613
“Convert to anonymous function” should not insert named argument when interoping with Java functionsKT-30614
String templates suggest removing curly braces for backtick escaped identifiersKT-30622
Add names to call arguments starting from given argumentKT-30637
False positive “unused constructor” for local classKT-30669
Import quick fix does not work for property/function with original name if import alias for them existKT-30761
Replace assert boolean with assert equality produces uncompilable code when compared arguments type are differentKT-30769
Override quickfix creates “sealed fun”KT-30833
Exception after “Introduce Import Alias” if invoke in importKT-30876
SimplifyNotNullAssert inspection changes semanticsKT-30900
Invert ‘if’ condition respects neither code formatting nor inline commentsKT-30910
“Use property access syntax” is not suitable as text for inspection problem textKT-30916
Quickfix “Remove redundant qualifier name” can't work with user type with generic parameterKT-31103
Don't invoke Gradle related inspections when Gradle plugin is disabledKT-31349
Add name to argument should not be suggested for Java library classesKT-31404
Redundant ‘requireNotNull’ or ‘checkNotNull’ inspection: don't remove first argumentKT-25465
“Redundant ‘suspend’ modifier” with suspend operator invokeKT-26337
Exception (resource not found) in quick-fix tests in AS32KT-30879
False positive “Redundant qualifier name”KT-31415
UI hangs due to long computations for “Use property access syntax” intention with new inferenceKT-31441
False positive “Remove explicit type arguments” inspection for projection typeKT-30970
No warning for empty if
operator and also
methodKT-31855
IDE + new inference: Java SAM conversion is not suggested by IDE services
IDE. JS
KT-31895
New Project wizard: Kotlin Gradle + Kotlin/JS for Node.js: incorrect DSL is inserted
IDE. Libraries
KT-30790
Unstable IDE navigation behavior to expect
/actual
symbols in stdlibKT-30821
K/N: Navigation downwards the hierarchy in stdlib source code opens to stubs
IDE. Misc
KT-31364
IntelliJ routinely hangs and spikes CPU / Memory usage when editing kotlin files
IDE. Navigation
KT-18322
Find Usages not finding Java usage of @JvmField declared in primary constructorKT-27332
Gutter icons are still shown even if disabled
IDE. Refactorings
KT-30471
Make KotlinElementActionsFactory.createChangeParametersActions
able to just add parameters
IDE. Run Configurations
KT-29352
Kotlin + Java 11 + Windows : impossible to run applications with long command lines, even with dynamic.classpath=true
IDE. Scratch
KT-29642
Once hidden, Scratch Output
window wouldn't show the results unless the project is reopened
IDE. Script
KT-30295
Resolver for ‘completion/highlighting in ScriptDependenciesSourceInfo...’ does not know how to resolve [] or [Library(null)]KT-30690
Highlighting for scripts in diff view doesn't work for left partKT-31452
IDE editor: MISSING_SCRIPT_STANDARD_TEMPLATE is reported inconsistently with the single line in script
IDE. Tests Support
KT-30995
Gradle test runner: “No tasks available” for a test class in non-MPP project
IDE. Ultimate
KT-30886
KotlinIdeaResolutionException in Velocity template (.ft) with Kotlin code
IDE. Wizards
KT-30645
Update New Project Wizard templates related to Kotlin/JSKT-31099
Remove Gradle configuration boilerplate for JS from multiplatform New Project Wizard templates related to Kotlin/JSKT-31695
Gradle, JS: update wizard templates
JS. Tools
KT-31563
Gradle/JS: npmResolve fails with “Invalid version” when user project's version does not match npm rulesKT-31566
Gradle/JS: with explicit call to nodejs { testTask { useNodeJs() } }
configuration fails : “Could not find which method to invoke”KT-31560
Gradle: provide descriptions for JS tasksKT-31564
Gradle/JS: npmResolve reports warning “karma-webpack@3.0.5 has unmet peer dependency”KT-31662
Gradle/JS: with empty useKarma {}
lambda the execution of jsBrowserTest
never stopsKT-31686
Gradle/JS: useKarma { useConfigDirectory() } fails to configureKT-31694
Gradle, NPM, windows: creating symlink requires administrator privilegeKT-31931
Gradle JS or Native: test processing fails in some cases
JavaScript
KT-31007
Kotlin/JS 1.3.30 - private method in an interface in the external library causes ReferenceError
Libraries
KT-30174
Annotation for experimental stdlib APIKT-30451
Redundant call of selector in maxBy&minByKT-30560
Fix Throwable::addSuppressed from stdlib to make it work without stdlib-jdk7 in runtimeKT-24810
Support common string<->ByteArray UTF-8 conversionKT-29265
String.toCharArray() is not available in common stdlibKT-31194
assertFails and assertFailsWith don't work with suspend functionsKT-31639
‘Iterbale.drop’ drops too much because of overflowKT-28933
capitalize() with Locale argument in the JDK stdlib
Reflection
KT-29041
KAnnotatedElement should have an extension function to verify if certain annotation is presentKT-30344
Avoid using .kotlin_module in kotlin-reflect
Tools. Android Extensions
KT-30993
Android Extensions: Make @Parcelize functionality non-experimental
Tools. CLI
KT-27638
Add -Xjava-sources compiler argument to specify directories with .java source files which can be referenced from the compiled Kotlin sourcesKT-27778
Add -Xpackage-prefix compiler argument to specify package prefix for Java sources resolutionKT-30973
Compilation on IBM J9 (build 2.9, JRE 1.8.0 AIX ppc64-64-Bit) fails unless -Xuse-javac is specified
Tools. Compiler Plugins
KT-30343
Add new Quarkus preset to all-open compiler plugin
Tools. Gradle
New Features
KT-20156
Publish the Kotlin Javascript Gradle plugin to the Gradle Plugins PortalKT-26256
In new MPP, support Java compilation in JVM targetsKT-27273
Support the Gradle ‘application’ plugin in new MPP or provide an alternativeKT-30528
Gradle, JS tests: support basic builtin test runnerKT-31015
Gradle, JS: Change default for new kotlin-js and experimental kotlin-multiplatform pluginsKT-30573
Gradle, JS: enable source maps by default, change paths relative to node_modules directoryKT-30747
Gradle, JS tests: provide option to disable test configuration per targetKT-31010
Gradle, JS tests: MochaKT-31011
Gradle, JS tests: KarmaKT-31013
Gradle, JS: WebpackKT-31016
Gradle: yarn downloadingKT-31017
Gradle, yarn: support workspaces
Fixes
KT-13256
CompileJava tasks in Kotlin2Js Gradle pluginKT-16355
Rename “compileKotlin2Js” Gradle task to “compileKotlinJs”KT-26255
Using the jvmWithJava preset in new MPP leads to counter-intuitive source set names and directory structureKT-27640
Do not use -Xbuild-file
when invoking the Kotlin compiler in Gradle pluginsKT-29284
kotlin2js plugin applies java pluginKT-30132
Could not initialize class org.jetbrains.kotlin.com.intellij.openapi.util.io.FileUtil on build by gradleKT-30596
Kotlin Gradle Plugin: Forward stdout and stderr logger of out of process though gradle loggerKT-31106
Kotlin compilation fails with locked build script dependencies and Gradle 5KT-28985
Java tests not executed in a module created with presets.jvmWithJavaKT-30340
kotlin(“multiplatform”) plugin is not working properly with Spring BootKT-30784
Deprecation warning “API ‘variant.getPackageLibrary()’ is obsolete and has been replaced with ‘variant.getPackageLibraryProvider()’” for a multiplatform library with Android targetKT-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-31696
Gradle, NPM: select one version between tools and all of compile configurationsKT-31697
Gradle, NPM: report about clashes in packages_importedKT-31891
Gradle: JS or Native tests execution: build --scan
fails with ISE “Expected attachment of type ... but did not find it”KT-31023
Update Gradle module metadata warning in MPP publishing
Tools. Incremental Compile
KT-31131
Regression: incremental compilation of multi-file part throws exception
Tools. J2K
KT-23023
J2K: Inspection to convert Arrays.copyOf(a, size) to a.copyOf(size)KT-26550
J2K: Check context/applicability of conversion, don't suggest for libraries, jars, etc.KT-29568
Disabled “Convert Java File to Kotlin File” action is shown in project view context menu for XML files
Tools. JPS
KT-13563
Kotlin jps-plugin should allow to instrument bytecode from Intellij IDEA.
Tools. REPL
KT-21443
Kotlin's JSR223 script engine does not work when used by a fat jar
Tools. Scripts
KT-30986
Missing dependencies when JSR-223 script engines are used from kotlin-script-util
Tools. kapt
KT-26203
kapt.use.worker.api=true
throws a NullPointerException on Java 10/11KT-30739
Kapt generated sources are not visible from the IDE when “Create separate module per source set” is disabledKT-31064
Periodically build crash when using incremental kaptKT-23880
Kapt: Support incremental annotation processorsKT-31322
Kapt does not run annotation processing when sources change.KT-30979
Issue with Dagger2 providers MissingBinding with 1.3.30KT-31127
Kotlin-generating processor which uses Filer API breaks JavaCompile taskKT-31714
incremental kapt: FileSystemException: Too many open files
1.3.31
Compiler
Fixes
KT-26418
Back-end (JVM) Internal error when compiling decorated suspend inline functionsKT-26925
Decorated suspend inline function continuation resumes in wrong spotKT-30706
Passing noinline lambda as (cross)inline parameter result in wrong state-machineKT-30707
Java interop of coroutines inside inline functions is brokenKT-30997
Crash with suspend crossinline
IDE. Inspections and Intentions
KT-30879
False positive “Redundant qualifier name”KT-31112
“Remove redundant qualifier name” inspection false positive for property with irrelevant import
JavaScript
KT-31007
Kotlin/JS 1.3.30 - private method in an interface in the external library causes ReferenceError
Tools. Gradle
KT-31027
java.lang.NoSuchMethodError: No static method hashCode(Z)I in class Ljava/lang/Boolean; or its super classes (declaration of ‘java.lang.Boolean’ appears in /system/framework/core-libart.jar)
Tools. kapt
KT-30979
Issue with Dagger2 providers MissingBinding with 1.3.30
1.3.30
Compiler
New Features
KT-19664
Allow more permissive visibility for non-virtual actual declarationsKT-29586
Add support for Android platform annotationsKT-29604
Do not implicitly propagate deprecations originated in Java
Performance Improvements
KT-24876
Emit calls to java.lang.Long.divideUnsigned for unsigned types when target version is 1.8KT-25974
‘when’ by unsigned integers is not translated to tableswitch/lookupswitchKT-28015
Coroutine state-machine shall use Result.throwOnFailureKT-29229
Intrinsify ‘in’ operator for unsigned integer rangesKT-29230
Specialize ‘next’ method call for unsigned integer range and progression iterators
Fixes
KT-7185
Parse import directives in the middle of the file, report a diagnostic insteadKT-7237
Parser recovery (angle bracket mismatch)KT-11656
Could not generate LightClass because of ISE from bridge generation on invalid codeKT-13497
Better recovery in comma-separated lists in case of missing commaKT-13703
Restore parser better when class
is missing from enum
declarationKT-13731
Recover parser on value parameter without a typeKT-14227
Incorrect code is generated when using MutableMap.set with plusAssign operatorKT-19389
Couldn't inline method call ‘with’KT-20065
“Cannot serialize error type: [ERROR : Unknown type parameter 0]” with generic typealiasKT-20322
Debug: member value returned from suspending function is not updated immediatelyKT-20780
“Cannot serialize error type: [ERROR : Unknown type parameter 0]” with parameterized inner type aliasKT-21405
Throwable “Rewrite at slice LEXICAL_SCOPE key: VALUE_PARAMETER_LIST” on editing string literal in kotlin-js moduleKT-21775
“Cannot serialize error type: [ERROR : Unknown type parameter 0]” with typealias used from a different moduleKT-22818
“UnsupportedOperationException: Don't know how to generate outer expression” on using non-trivial expression in default argument of expect
functionKT-23117
Local delegate + local object = NoSuchMethodErrorKT-23701
Report error when -Xmultifile-parts-inherit is used and relevant JvmMultifileClass parts have any stateKT-23992
Target prefixes for annotations on supertype list elements are not checkedKT-24490
Wrong type is inferred when last expression in lambda has functional typeKT-24871
Optimize iteration and contains for UIntRange/ULongRangeKT-24964
“Cannot serialize error type: [ERROR : Unknown type parameter 0]” with Validated
typealias from ArrowKT-25383
Named function as last statement in lambda doesn't coerce to UnitKT-25431
Type mismatch when trying to bind mutable property with complex common systemKT-25435
Try/catch as the last expression of lambda cause type mismatchKT-25437
Type variable fixation of postponed arguments and type variables with Nothing constraintKT-25446
Empty labeled return doesn't force coercion to UnitKT-26069
NoSuchMethodError on calling remove/getOrDefault on a Kotlin subclass of Java subclass of MapKT-26638
Check for repeatablilty of annotations doesn't take into account annotations with use-site targetKT-26816
Lambdas to Nothing is inferred if multilevel collections is used (listOf, mapOf, etc)KT-27190
State machine elimination after inlining stopped working (regression)KT-27241
Contracts: smartcasts don't work correctly if type checking for contract function is usedKT-27565
Lack of fallback resolution for SAM conversions for Kotlin functions in new inferenceKT-27799
Prohibit references to reified type parameters in annotation arguments in local classes / anonymous objectsKT-28182
Kotlin Bytecode tool window shows incorrect output on annotated property with backing fieldKT-28236
“Cannot serialize error type: [ERROR : Unknown type parameter 2]” with inferred type arguments in generic extension function from ArrowKT-28309
Do not generate LVT entries with different types pointing to the same slot, but have different typesKT-28317
Strange behavior in testJvmAssertInlineFunctionAssertionsEnabled on Jdk 6 and exception on JDK 8KT-28453
Mark anonymous classes for callable references as syntheticKT-28598
Type is inferred incorrectly to Any on a deep generic type with out projectionKT-28654
No report about type mismatch inside a lambda in generic functions with a type parameter as a return typeKT-28670
Not null smartcasts on an intersection of nullable types don't workKT-28718
progressive mode plus new inference result in different floating-point number comparisonsKT-28810
Suspend function's continuation parameter is missing from LVTKT-28855
NoSuchMethodError with vararg of unsigned Int in generic class constructorKT-28984
Exception when subtype of kotlin.Function is used as an expected one for lambda or callable referenceKT-28993
Incorrect behavior when two lambdas are passed outside a parenthesized argument listKT-29144
Interface with companion object generates invalid bytecode in progressive modeKT-29228
Intrinsify ‘for’ loop for unsigned integer ranges and progressionsKT-29324
Warnings indexing jdk 11 classesKT-29367
New inference doesn't wrap annotated type from java to TypeWithEnhancementKT-29507
@field-targeted annotation on property with both getter and setter is absent from bytecodeKT-29705
'Rewrite at slice CONSTRUCTOR` of JS class while editing another JVM-classKT-29792
UnsupportedOperationException: Unsupported annotation argument type when using Java annotation with infinity or NaN as a default valueKT-29891
Kotlin doesn't allow to use local class literals as annotation argumentsKT-29912
Crossinline nonsuspend lambda leads to KNPE during inliningKT-29965
Don't generate annotation on $default methodKT-30030
Extensive ‘Rewrite at slice’-exception with contracts in JS module of multiplatform projectKT-22043
Report an error when comparing enum (==/!=/when) to any other incompatible type since 1.4KT-26150
KotlinFrontendException is thrown when callsInPlace called twice with different InvocationKind in functions with contractsKT-26153
Contract is allowed when it‘s at the beginning in control flow terms, but not in tokens order terms (contract doesn’t work)KT-26191
Contract may not be the first statement if it's part of the expressionKT-29178
Prohibit arrays of reified type parameters in annotation arguments in local classes / anonymous objectsKT-20507
PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL not reported for generic base class constructor call, IAE at run-timeKT-20849
Inference results in Nothing type argument in case of passing ‘out T’ to ‘in T1’KT-28285
NullPointerException on calling Array constructor compiled via Excelsior JETKT-29376
Report a deprecation warning when comparing enum to any other incompatible typeKT-29884
Report warning on @Synchronized on inline methodKT-30073
ClassCastException on coroutine start with crossinline lambdaKT-30597
“Extend selection” throws exception in empty class body caseKT-29492
Double cross-inline of suspending functions produces incorrect codeKT-30508
Wrong file name in metadata of suspend function capturing crossinline lambdaKT-30679
“KotlinFrontEndException: Front-end Internal error: Failed to analyze declaration” exception during a compilation of a multiplatform project containing Kotlin Script File
IDE
New Features
KT-26950
Support Multiline TODO commentsKT-29034
Make JvmDeclarationSearch find private fields in kotlin classes
Performance Improvements
KT-29457
FindImplicitNothingAction#update freezes UI for 30 secsKT-29551
CreateKotlinSdkActivity runs on UI thread
Fixes
KT-11143
Do not insert closing brace for string template between open brace and identifierKT-18503
Optimize imports produces red codeKT-27283
KotlinULiteralExpression and PsiLanguageInjectionHost mismatchKT-27794
KotlinAnnotatedElementsSearcher doesn't process method parametersKT-28272
UAST: Need to be able to identify SAM conversionsKT-28360
Getting tons of “There are 2 classes with same fqName” logs in IntelliJKT-28739
Bad caret position after Insert curly braces around variable
inspectionKT-29013
Injection with interpolation loses suffixKT-29025
Implement UReferenceExpression.referenceNameElement
for KotlinKT-29287
Exception in ultra-light classes on method annotated with @ThrowsKT-29381
Highlight return lambda expressions when cursor is one the call with lambda argumentKT-29434
Can not detect injection host in string passed as argument into arrayOf() functionKT-29464
Project reopening does not create missing Kotlin SDK for Native modules (like it does for other non-JVM ones)KT-29467
Maven/Gradle re-import does not add missing Kotlin SDK for kotlin2js modules (non-MPP JavaScript)KT-29804
Probable error in the “Kotlin (Mobile Android/iOS)” new project template in IntelliJKT-30033
UAST: Delegation expression missing from parse treeKT-30388
Disable constant exception reporting from release versionsKT-30524
“java.lang.IllegalStateException: This method shouldn't be invoked for LOCAL visibility” on add importKT-30534
KotlinUObjectLiteralExpression returns classReference whose referenceNameElement is nullKT-30546
Kotlin UImportStatement's children references always resolve to nullKT-5435
Surround with try/catch should generate more Kotlin-style code
IDE. Android
KT-29847
Many IDEA plugins are not loaded in presence of Kotlin plugin: “Plugins should not have cyclic dependencies”
IDE. Code Style, Formatting
KT-23295
One-line comment indentation in functions with expression bodyKT-28905
When is “... if long” hitting?KT-29304
Settings / Code Style / Kotlin mentions “methods” instead of functionsKT-26954
Bad indentation for single function with expression body in new code style
IDE. Completion
KT-18663
Support “smart enter/complete statement” completion for method callsKT-28394
Improve code completion for top level class/interface to incorporate filenameKT-29435
org.jetbrains.kotlin.types.TypeUtils.contains hanging forever and freezing IntelliJKT-27915
Stop auto-completing braces for companion objects
IDE. Debugger
KT-22250
Evaluate: ‘this’ shows different values when evaluated as a variable/watchKT-24829
Access to coroutineContext in ‘Evaluate expression’KT-25220
Evaluator: a instance of Pair returned instead of String (“Extract function” failed)KT-25222
Evaluate: ClassCastException: ObjectValue cannot be cast to IntValue (“Extract function” failed)KT-26913
Change local variable name mangling ($receiver -> this_)KT-28087
[Kotlin/JVM view] Inconsistent debugging data inside forEachIndexedKT-28134
Separate JVM/Kotlin views in “Variables” tool windowKT-28192
Exception from KotlinEvaluator: cannot find local variableKT-28680
Missing this
word completion in “Evaluate expression” windowKT-28728
Async stack trace support for Kotlin coroutinesKT-21650
Debugger: Can't evaluate value, resolution errorKT-23828
Debugger: “Smart cast is impossible” when evaluating expressionKT-29661
Evaluate expression: “Cannot find local variable” for variable name escaped with backticksKT-29814
Can't evaluate a property on star-projected typeKT-29871
Debugger in IDE does not handle correctly extensions.KT-30182
Incorrect KT elvis expression debugger evaluationKT-29189
[BE] ‘Step Over’ falls through ‘return when’ (and ‘return if’) instead of executing individual branchesKT-29234
ISE “@NotNull method org/jetbrains/kotlin/codegen/binding/CodegenBinding.anonymousClassForCallable must not return null” on debugging with breakpoints in Kotlin script fileKT-29423
Unable to evaluate lambdas on jdk 9-11KT-30220
Empty variables view when breakpoint inside an lambda inside classKT-30318
KotlinCoroutinesAsyncStackTraceProvider slows down java debuggingKT-17811
Couldn't inline method error for inline method with anonymous object initialization and reified type parameterKT-30611
Debugger: in projects with stdlib of 1.2.n version Frames view can't complete loading, EvaluateException: “Method threw ‘java.lang.ClassNotFoundException’ exception.” at EvaluateExceptionUtil.createEvaluateException()
IDE. Decompiler
KT-9618
Exception in ClassClsStubBuilder.createNestedClassStub() while opening recent projectKT-29427
Exception in ClassClsStubBuilder.createNestedClassStub() for obfuscated library
IDE. Gradle
KT-26865
Gradle build in IDE: error messages in Native sources are not hyperlinksKT-28515
Failed to import Kotlin project with gradle 5.0KT-29564
kotlin.parallel.tasks.in.project=true causes idea to create kotlin modules with target JVM 1.6KT-30076
Memory leaks in Kotlin importKT-30379
Gradle 5.3 publishes an MPP with broken Maven scope mapping
IDE. Gradle. Script
KT-27684
Gradle Kotlin DSL: the rootProject
field is unresolved in IDEA for a common moduleKT-29465
IndexNotReadyException on context menu invocation for build.gradle.kts fileKT-29707
“Navigate declaration” navigates to compiled class in gradle cache folder instead of classes defined in gradle buildSrc folderKT-29832
Multiple Script Definitions for settings.gradle.ktsKT-30623
Errors in build.gradle.kts after applying new script dependenciesKT-29474
Regression in 1.3.20: Kotlin IDE plugin parses all *.gradle.kts files when any class in buildSrc is openedKT-30130
“Access is allowed from event dispatch thread only.” from ScriptNewDependenciesNotificationKt.removeScriptDependenciesNotificationPanel() on creating foo.gradle.kts files in IJ from master
IDE. Hints
KT-29196
Variable type hints are redundant for constructor calls of nested classesKT-30058
IndexNotReadyException from quick documentation when popup is active
IDE. Hints. Inlay
KT-19558
Wrong position of type hint while renaming Kotlin variableKT-27438
“Show lambda return expression hints” breaks code indentationKT-28870
Rework “Lambda return expression” hint as between_lines_hint of disable it by default
IDE. Hints. Parameter Info
KT-29574
Incorrect parameter info popup for lambda nested in object
IDE. Inspections and Intentions
New Features
KT-16118
“Introduce import alias” intentionKT-17119
Inspection for (Scala-like) = { ... }
syntax without expected type in function definitionKT-26128
Inspection for suspension inside synchronized and withLock functionsKT-27556
Add intention for collections, !collection.isEmpty() -> collection.isNotEmpty()KT-27670
Add quick fix: wrap expression in a lambda if compatible functional type is requiredKT-28803
Inspection: result of enum entries comparison is always false / trueKT-28953
Add intention to add underscores to decimal numerical literalKT-29001
Add intention to move variable declaration before when-expression into when's subjectKT-29113
Warn about redundant requireNotNull and checkNotNull usagesKT-29321
“Remove empty primary constructor”: apply for enum entriesKT-12134
Suggest to remove qualifier in FQN nameKT-17278
Inspection to replace Java 8 Map.forEach with Kotlin's forEachKT-26965
Add inspection + quickfix for replacing Collection.count() with .sizeKT-30123
Add intention to replace isEmpty/isNotEmpty method negationKT-25272
Unused expression as last expression of normal function should have quickfix to add “return”KT-30456
Improve: intention “Introduce Import Alias” should suggest new names for the new alias.
Fixes
KT-7593
On splitting property declaration for functional expression additional bracket addedKT-12273
“Replace with operator” intention is suggested for some non-operator functions and produces invalid codeKT-18715
Replace if with elvis swallows commentsKT-19254
Intention to convert object literal to class always creates a class named “O”KT-25501
“Replace overloaded operator with function call” changes semantics of increment and decrement operatorsKT-26979
“Lambda argument inside parentheses” inspection is not reported, if function type is actual type argument, but not formal parameter typeKT-27143
Intention “Replace camel-case name with spaces” is suggested for snake_case names in test functions and renames them incorrectlyKT-28081
“Convert to lambda” changes expression type for interface with multiple supertypesKT-28131
False positive “Redundant lambda arrow” with a functional type argumentKT-28224
“Add braces to ‘else’ statement” moves comment outside braces when ‘if-else’ is inside ‘if / when’ branchKT-28592
False positive “Remove redundant backticks” for underscore variable nameKT-28596
“Can be replaced with binary operator” shouldn't be suggested when receiver or argument is floating point typeKT-28641
“Remove useless cast” produces a dangling lambda (“Too many arguments” error)KT-28698
“Convert to apply” intention: include function calls with this
passed as an argumentKT-28773
Kotlin/JS: Wrong inspection to replace .equals() with == on dynamic valuesKT-28851
‘Convert parameter to receiver’ adds Array<out T>
wrapper to vararg
parameter and drops override
modifier in implementationsKT-28969
TYPE_MISMATCH in array vs non-array case: two quick fixes exist for annotation and none of them adds array literalKT-28995
“Add parameter to constructor” quickfix for first enum member changes arguments for all membersKT-29051
“Add parameter to constructor” quickfix for not-first enum member: “PsiInvalidElementAccessException: Element: class org.jetbrains.kotlin.psi.KtStringTemplateExpression #kotlin because: different providers”KT-29052
“Add parameter to constructor” quickfix for not-first enum member inserts FQN type for parameterKT-29056
KNPE in ConvertPrimaryConstructorToSecondary with missing property identifierKT-29085
False positive “Class member can have ‘private’ visibility” for a const val
used in a public inline functionKT-29093
False positive inspection “Redundant lambda arrow” with nested lambdasKT-29099
“Convert to apply” intention is not available for a single function callKT-29128
False positive ‘Explicitly given type is redundant here’ when typealias is usedKT-29153
False negative “‘rangeTo’ or the ‘..’ call should be replaced with ‘until’” with bracketed expressionsKT-29193
Quick fix “Create extension function” List<Int>.set
should not be suggested for read-only collectionsKT-29238
Non-canonical modifiers order inspection incorrectly includes annotations into rangeKT-29248
“Convert member to extension” doesn't preserve visibilityKT-29416
False positive “Redundant property getter” for external
getterKT-29469
False positive in “Boolean literal argument without parameter name” inspection for varargs parametersKT-29549
Make package name convention inspection globalKT-29567
“Remove empty class body” is a poor name for inspection textKT-29606
Do not propose to remove unused parameter of property setterKT-29763
False negative “Object literal can be converted to lambda” for block body function with explicit returnKT-30007
False negative “Add import for ‘...’” in UserTypeKT-19944
multiplatform: Convert expect/actual function to property should keep the caret on the converted functionKT-27289
“Create” quick fix on FQN does nothing with KNPE at KotlinRefactoringUtilKt$chooseContainerElement$1.renderText()KT-29312
“Make constructor parameter a property” produces wrong modifier order + exception “Invalid range specified”KT-29414
“Main parameter is not necessary” inspection reports parameter of main()
in objectKT-29499
“Unsafe call of inline function with nullable extension receiver” inspection ignores inferred nullabilityKT-29927
Missing “Import members from” intention with type check operator in when
branchKT-30010
Introduce alternative quick-fixes for map[key]!!
KT-30166
False positive “Redundant companion reference” on companion with the outer class nameKT-14886
Create Property from Usage should place generated property next to other propertiesKT-16139
Adding explicit type argument leads to type mismatchKT-19462
False positive inspection “Redundant lambda arrow” for overloaded functionsKT-22137
Create class quickfix is not suggested in return statementKT-23259
False positive unchecked cast warning/quickfix result in good code turning redKT-27641
“Specify type explicitly” suggests too general type even when type hint shows specific generic typeKT-29124
False positive inspection ‘Redundant lambda arrow’ with generic function/constructor with lambda argumentKT-29590
False positive inspection “Redundant lambda arrow” with vararg lambda arguments passed via spread operatorKT-29977
False positive “Unused import directive” for typealias of an enum imported as staticKT-30233
Change order of the quick fixes when method does not accept nullable typesKT-30341
False positive ‘Use withIndex() instead of manual index increment’ inspection with destructive declaration in ‘for’ loopKT-30414
“Replace return with ‘if’ expression” drops return labelKT-30426
Don't preserve extra line when adding remaining branches for whenKT-30433
“Convert member to extension” doesn't update external Kotlin callsKT-30117
Kotlin unused import analysis accesses file editor manager model outside UI threadKT-29143
Unnecessary primary constructor
keyword inspectionKT-29444
“Make public” intention does not remove additional white-space to conform to proper styleKT-30337
Do not propose to move variable declaration into “when” if it's not used inside the when-expression
IDE. Multiplatform
KT-29918
Outdated Ktor version in Kotlin (JS Client/JVM Server) multiplatform project generated via New Project Wizard
IDE. Navigation
KT-26924
Overriding Methods list has more values than it should be in case of inline classKT-28661
“Is implemented in” gutter icon shows duplicate function implementations in inline classesKT-28838
Group by file structure doesn't work for text search in Kotlin
IDE. Refactorings
KT-27602
Kotlin property renaming change target name several times during rename making it hard to process it by reference handlersKT-29062
Extract Superclass refactoring throws Exception if sourceRoots.size() <= 1KT-29796
Label rename refactoring does not work on label usage
IDE. Scratch
KT-23985
Allow to run Kotlin Worksheet without module classpathKT-27955
Interactive mode for Kotlin Scratch filesKT-28958
Exception “Read access is allowed from event dispatch thread or inside read-action only” when running a scratch file with “Use REPL” and “Make before Run” enabledKT-30200
“java.lang.Throwable: Couldn't find expression with start line ...” on edition of a scratch file during its execution with interactive mode enabled
IDE. Script
KT-29770
IntelliJ IDEA makes too many requests for the classpath of a Gradle Kotlin build scriptKT-29893
IDE is frozen during project configuration because of ScriptTemplatesFromDependenciesProvider
KT-30146
Preferences from Kotlin scripting section reset to default after project reopening
IDE. Tests Support
KT-25956
With failed test function class gutter icon is “failure”, but function icon is “success”
IDE. Wizards
KT-17829
Please unify naming of Kotlin projects and frameworks for JVMKT-28941
Tip of the day: obsolete project types from “New project wizard”
Libraries
KT-27108
.toDouble()
and .toFloat()
conversions for unsigned typesKT-29520
Random.Default cannot be used asJavaRandomKT-30109
Documentation for Result.onSuccess and Result.onFailure are flipped aroundKT-26378
‘contains’ overloads for unsigned integer ranges with other unsigned integer typesKT-26410
High-order function overloads for unsigned arraysKT-27262
Binary search for specialized arrays of unsigned integersKT-28339
Add fill
extension function for unsigned primitive arraysKT-28397
UByteArray plus UByteArray = ListKT-28779
Implement method sum() for arrays of unsigned primitivesKT-29151
Documentation for CharSequence.take() & String.take() shows examples of Iterable.take()KT-30035
add max/maxOf/min/minOf for unsigned typesKT-30051
elementAt extension function of Array/PrimitiveAray/UnsignedArray does not throw IndexOutOfBoundException on incorrect index (JS only)KT-30141
JS: document Array.get behaviorKT-30704
Documentation of Random function not quite correct
Tools. CLI
KT-26240
Support JVM bytecode targets 9, 10, 11, 12
Tools. Gradle
KT-12295
Gradle IC: Compile error leads to non-incremental buildKT-12700
Add a way to diagnose IC problemsKT-26275
Check new MPP ICKT-27885
Drop support for Gradle 3.x and earlierKT-27886
Drop support for Android Gradle plugin 2.xKT-28552
Gradle 4.7 import fails on Kotlin/mpp projects with Java11KT-29275
Drop support for Gradle 4.0KT-29758
Gradle build failed with exception on publication of a multiplatform library with Gradle metadata enabled: org.jetbrains.kotlin.gradle.plugin.mpp.HierarchyAttributeContainer cannot be cast to org.gradle.api.internal.attributes.AttributeContainerInternalKT-29966
Fix inter-project IC with new MPP for JS/JVM targetsKT-27059
Ensure a dependency on the multiplatform project in the POM when publishing a single-platform module with the maven
pluginKT-29971
ConcurrentModificationException in Kotlin Gradle plugin (GradleCompilerRunner.buildModulesInfo)KT-21030
Automatically detect java 1.8 sources in kotlin-android gradle pluginKT-27675
Enable Kapt build cache by defaultKT-27714
Kotlin MPP Android targets don't have their attributes copied to the configurations of the compilationsKT-29761
Inter-project IC does not work for kaptGenerateStubs* tasks on AndroidKT-29823
Update ‘org.gradle.usage’ attribute rules to support the ‘JAVA_API_JARS’ valueKT-29964
A universal Gradle DSL way of configuring all compilations of all targets doesn't work for Android target of a multiplatform projectKT-30276
Warn if the Kotlin Gradle plugin is loaded multiple timesKT-30322
Memory leak in CompilationSourceSetUtilKT-30492
Classes not removed for out/in process compilation
Tools. J2K
KT-29713
java.lang.IllegalStateException at converting @RestController java file to Kotlin file
Tools. JPS
KT-30137
Deadlock during concurrent classloading
Tools. Maven
KT-29251
NSME: MavenProjectsManager.scheduleArtifactsDownloading() at KotlinMavenImporter.scheduleDownloadStdlibSources()
Tools. REPL
KT-19276
Console spam when opening idea-community project in debug IDEA
Tools. Scripts
KT-29296
Script evaluation - impossible to set base classloader to nullKT-27051
Support dynamic versions in @file:DependsOnKT-27815
Compiler options in the scripting compilation configuration are ignored on compilation/evaluationKT-28593
Idea tries to associate file type with the script definition discovery fileKT-29319
scripts default jvmTarget causes inlining problems - default should be 1.8KT-29741
KJvmCompiledScript can not be deserialized KJvmCompiledModule if it's nullKT-30210
Coroutines in main.kts crash with NoSuchMethodError because kotlin-main-kts.jar has embedded coroutines
Tools. kapt
KT-26977
kapt plugin applied in platform.jvm module preventing visibility of common codeKT-27506
Kapt error “no interface expected here” in class implementing interface with secondary constructorKT-28220
kapt can generate invalid stub files for imports of enum constantsKT-28306
Cannot extend an generic interface with function body while using kapt and correctErrorTypes in Kotlin 1.3KT-23880
Kapt: Support incremental annotation processorsKT-29302
Java classes doesn't resolve Kotlin classes when kapt.use.worker.api = trueKT-30163
Kapt: Javadoc in Java source model mangled (leading asterisks are preserved)
Docs & Examples
KT-30091
KClass documentation incorrectly shows all members available on all platformsKT-30100
Clarify Map.toSortedMap docsKT-30418
Documentation for floor() and ceil() functions is misleadingKT-29373
MutableSet.add documentation is confusing
1.3.21
Compiler
Fixes
KT-29475
IllegalArgumentException at getAbstractTypeFromDescriptor with deeply nested expression inside function named with a right parenthesisKT-29479
WARN: Could not read file on Java classes from JDK 11+KT-29360
Kotlin 1.3.20-eap-100: This marker function should never been called. Looks like compiler did not eliminate it properly. Please, report an issue if you caught this exception.
IDE
Fixes
KT-29486
Throwable: “Could not find correct module information” through IdeaKotlinUastResolveProviderService.getBindingContext() and ReplaceWithAnnotationAnalyzer.analyzeOriginal()KT-29394
Kotlin 1.3.20 EAP: Excess log messages with kotlin.parallel.tasks.in.project=true
KT-29474
Regression in 1.3.20: Kotlin IDE plugin parses all *.gradle.kts files when any class in buildSrc is openedKT-29290
Warning “function returning deferred with a name that does not end with async” should not be displayed for let/also/apply...KT-29494
Don't report BooleanLiteralArgumentInspection in batch (offline) mode with INFORMATION severityKT-29525
turning on parallel tasks causes java.lang.NoClassDefFoundError: Could not initialize class kotlin.Unit sometimesKT-27769
Change the DSL marker iconKT-29118
Log polluted with multiple “Kotlin does not support alternative resolve” reports
IDE. Multiplatform
KT-28128
MPP Kotlin/Native re-downloads POM files on IDE Gradle refresh
IDE. REPL
KT-29400
IDE REPL in Gradle project: “IllegalStateException: consoleView must not be null” on module build
Libraries
Fixes
KT-29612
jlink refuses to consume stdlib containing non-public package kotlin.native
Tools. CLI
KT-29596
“AssertionError: Cannot load extensions/common.xml from kotlin-compiler.jar” on IBM JDK 8
Tools. Gradle
KT-29476
1.3.20 MPP Android publishing common api configuration with runtime scopeKT-29725
MPP Gradle 5.2: NoSuchMethodError in WrapUtilKT-29485
In MPP with Gradle module metadata, POM rewriting does not replace the root module publication with a platform one if the former has a custom artifact ID
Tools. Scripts
KT-29490
Regression in 1.3.20: Kotlin Jsr223 script engine cannot handle functional return types
Tools. Kapt
KT-29481
Annotation processors run on androidTest source set even without the kaptAndroidTest declarationKT-29513
kapt throws “ZipException: zip END header not found”, when Graal SVM jar in classpath
1.3.20
Android
KT-22571
Android: Configure Kotlin should add implementation dependency instead of compile
Compiler
New Features
KT-14416
Support of @PolymorphicSignature in Kotlin compilerKT-22704
Allow expect annotations with actual typealias to Java to have default argument values both in expected and in actualKT-26165
Support VarHandle in JVM codegenKT-26999
Inspection for unused main parameter in Kotlin 1.3
Performance Improvements
KT-16867
Proguard can't unbox Kotlin enums to integersKT-23466
kotlin compiler opens-reads-closes .class files many times overKT-25613
Optimise boxing of inline class values inside string templates
Fixes
KT-2680
JVM backend should generate synthetic constructors for enum entries (as javac does).KT-6574
Enum entry classes should be compiled to package private classesKT-8341
Local variable cannot have type parametersKT-14529
JS: annotations on property accessors are not serializedKT-15453
Annotations are ignored on accessors of private propertiesKT-18053
Unexpected behavior with “in” infix operator and ConcurrentHashMapKT-18592
Compiler cannot resolve trait-based superclass of Groovy dependencyKT-19613
“Public property exposes its private type” not reported for primary constructor propertiesKT-20344
Unused private setter created for propertyKT-21862
java.lang.NoSuchFieldError when calling isInitialized on a lateinit “field” of a companion objectKT-21946
Compilation error during default lambda inlining when it returns anonymous objectKT-22154
Warning: Stripped invalid locals information from 1 method when compiling with D8KT-23369
Internal compiler error in SMAPParser.parseKT-23543
Back-end (JVM) Internal error: Couldn't inline methodKT-23739
CompilationException: Back-end (JVM) Internal error: Couldn't inline method call: Unmapped line number in inlined functionKT-24156
For-loop optimization should not be applied in case of custom iteratorKT-24672
JVM BE: Wrong range is generated in LVT for variables with “late” assignmentKT-24780
Recursive suspend local functions: “Expected an object reference, but found .”KT-24937
Exception from parser (EA-76217)KT-25058
Fix deprecated API usage in RemappingClassBuilderKT-25288
SOE when inline class is recursive through type parameter upper boundKT-25295
“Couldn't transform method node” error on compiling inline class with inherited interface method callKT-25424
No coercion to Unit when type argument specified explicitlyKT-25702
@JvmOverloads should not be allowed on constructors of annotation classesKT-25893
crossinline suspend function leads to IllegalStateException: call to ‘resume’ before ‘invoke’ with coroutine or compile errorKT-25907
“Backend Internal error” for a nullable loop variable with explicitly declared type in a for-loop over StringKT-25922
Back-end Internal error : Couldn't inline method : Lambda inlining : invoke(Continuation) : Trying to access skipped parameterKT-26126
Front-end doesn't check that fun with contract and callsInPlace
effect is an inline function; compiler crashes on val initializationKT-26366
UseExperimental with full qualified reference to marker annotation class is reported as errorKT-26384
Compiler crash with nested multi-catch try, finally block and inline functionKT-26505
Improve error message on missing script base class kotlin.script.templates.standard.ScriptTemplateWithArgsKT-26506
Incorrect bytecode generated for inner class inside inline class referencing outer ‘this’KT-26508
Incorrect accessor generated for private inline class method call from lambdaKT-26509
Internal compiler error on generating inline class private method call from companion objectKT-26554
VerifyError: Bad type on operand stack for inline class with default parameter of underlying typeKT-26582
Array literal of a primitive wrapper class is loaded as a primitive array literalKT-26608
Couldn't inline method call. RuntimeException: Trying to access skipped parameter: Ljava/lang/Object;KT-26658
Trying to access skipped parameter exception in code with crossinline suspend lambda with suspend function with default parameter callKT-26715
NullPointerException for an inline class constructor referenceKT-26848
Incorrect line in coroutine debug metadata for first suspension pointKT-26908
Inline classes can't have a parameter with a default value (Platform declaration clash)KT-26931
NSME “InlineClass.foo-impl(LIFace;)I” on calling inherited method from inline class instanceKT-26932
CCE “Foo cannot be cast to java.lang.String” when accessing underlying value of inline class through reflectionKT-26998
Default extension fun call in generic Kotlin interface with inline class substituted type of extension receiver fails with internal compiler errorKT-27025
Inline class access to private companion object fun fails with VerifyErrorKT-27070
Delegated property with inline class type delegate fails with internal error in codegenKT-27078
Inline class instance captured in closure fails with internal error (incorrect bytecode generated)KT-27107
JvmStatic in inline class companion doesn't generate static method in the classKT-27113
Inline class's toString
is not called when it is used in string extrapolationKT-27140
Couldn't inline method call ‘ByteArray’ with inline classKT-27162
Incorrect container is generated to callable reference classes for references to inline class membersKT-27259
“Internal error: wrong code generated” for nullable inline class with an inline class underlying typeKT-27318
Interface implementation by delegation to inline class type delegate fails with internal error in codegenKT-27358
Boxed inline class type default parameter values fail with CCE at run-timeKT-27416
“IllegalStateException: Backend Internal error” for inline class with a function with default argument valueKT-27429
“-java-parameters” compiler argument fails in constructor when there is an inline class parameter presentKT-27513
Backend Internal Error when using inline method inside inline classKT-27560
Executing getter of property with type kotlin.reflect.KSuspendFunction1 throws MalformedParameterizedTypeExceptionKT-27705
Internal compiler error (incorrect bytecode generated) when inner class constructor inside inline class references inline class primary valKT-27706
Internal compiler error (incorrect bytecode generated) when inner class inside inline class accepts inline class parameterKT-27732
Using type inference on platform types corresponding to unsigned types causes compiler errorKT-27737
CCE for delegated property of inline class typeKT-27762
The lexer crashes when a vertical tabulation is usedKT-27774
Update asm to 7.0 in Kotlin backendKT-27948
“Argument 2: expected R, but found I” for equals
operator on nullable and non-null unsigned typesKT-28054
Inline class: “Cannot pop operand off an empty stack” for calling private secondary constructor from companion objectKT-28061
Safe call operator and contracts: false negative “A ‘return’ expression required in a function with a block body”KT-28185
Incorrect behaviour of javaClass intrinsic for receivers of inline class typeKT-28188
CCE when bound callable reference with receiver of inline class type is passed to inline functionKT-28237
CoroutineStackFrame uses slashes instead of dots in FQNKT-28361
Class literal for inline class should return KClass object of the wrapperKT-28385
Rewrite at slice FUNCTION in MPP on “red” codeKT-28405
VE “Bad type on operand stack” at runtime on creating inline class with UIntArray insideKT-28585
Inline classes not properly boxed when accessing a var
(from enclosing scope) from lambdaKT-28847
Compilation fails with “AssertionError: Rewrite at slice FUNCTOR” on compiling complicated case with delegating propertyKT-28879
“AnalyzerException: Expected I, but found R” when compiling javaClass on inline class valueKT-28920
“AnalyzerException: Expected I, but found R” when compiling javaObjectType/javaPrimitiveType with inline classesKT-28965
Unsound smartcast to definitely not-null if value of one generic type is cast to other generic typeKT-28983
Wrong mapping of flexible inline class type to primitive type
IDE
New Features
KT-25906
Kotlin language injection doesn't evaluate constants in string templatesKT-27461
Provide live template to generate main()
with no parametersKT-28371
Automatically align ?: (elvis operator) after call on the new line
Performance Improvements
KT-23738
Provide stubs for annotation value argument listKT-25410
Opening Settings freezes the UI for 23 secondsKT-27832
Improve performance of KotlinGradleProjectResolverExtensionKT-28755
Optimize searching constructor delegation callsKT-29297
Improve performance of light classes in IDE (Java-to-Kotlin interop)
Fixes
KT-9840
Right parenthesis doesn't appear after class name before the colonKT-13420
Extend Selection: lambda: whole literal with braces is selected after parametersKT-17502
Do not disable “Generate equals and hashCode” actions for data classesKT-22590
Create Kotlin SDK if it's absent on importing from gradle/maven Kotlin (JavaScript) projects and on configuring java project to Kotlin(JavaScript), Kotlin(Common)KT-23268
IntelliJ plugin: Variables from destructing declarations are not syntax colored as variablesKT-23864
Copyright message is duplicated in kotlin file in root package after updating copyrightKT-25156
SOE in IDE on destructuring delegated property declarationKT-25681
Remove “Coroutines (experimental)” settings from IDE and do not pass -Xcoroutines
to JPS compiler (since 1.3)KT-26868
MPP: Gradle import: test dependencies get Compile scopeKT-26987
“Extend Selection” is missing for labeled returnKT-27095
Kotlin configuration: update EAP repositories to use https instead of httpKT-27321
Cannot init component state if “internalArguments” presents in xml project structure (kotlinc.xml)KT-27375
Kotlin Gradle DSL script: “Unable to get Gradle home directory” in new project with new Gradle wrapperKT-27380
KotlinStringLiteralTextEscaper
returns wrong offset on unparseable elementsKT-27491
MPP JVM/JS wizard: Use Ktor in the skeletonKT-27492
Create some MPP wizard testsKT-27530
Kotlin Gradle plugin overwrites the JDK set by jdkName property of the Gradle Idea pluginKT-27663
Uast: don't store resolved descriptors in UElementsKT-27907
Exception on processing auto-generated classes from ASKT-27954
Generate -> toString() using “Multiple templates with concatenation” should add spaces after commasKT-27941
MPP: Gradle import with “using qualified names” creates 2 modules with the same content rootKT-28199
Could not get javaResolutionFacade for groovy elementsKT-28348
Don't log or wrap ProcessCanceledExceptionKT-28401
Show parameter info for lambdas during completionKT-28402
Automatically indent || and && operatorsKT-28458
New Project Wizard: move multiplatform projects to the new DSLKT-28513
Bad Kotlin configuration when old syntax is used for configured Gradle project with >= 4.4 versionKT-28556
Wrong nullability for @JvmOverloads-generated method parameter in light classesKT-28997
Couldn't get delegate for class from any local class or object in scriptKT-29027
Kotlin LightAnnotations don't handle vararg class literals
IDE. Android
KT-23560
Scratch: impossible to run scratch file from Android StudioKT-25450
NoClassDefFoundError when trying to run a scratch file in Android Studio 3.1.3, Kotlin 1.2.51KT-26764
kotlin
content root isn't generated for Android module of a multiplatform project on Gradle import
IDE. Code Style, Formatting
KT-5590
kotlin: line comment must not be on first column by defaultKT-24496
IntelliJ IDEA: Formatting around addition / subtraction not correct for KotlinKT-25417
Incorrect formatting for comments on property accessorsKT-27847
Destructured declaration continued on the next line is formatted with double indentKT-28070
Code style: “Align when multiline” option for “extends / implements list” changes formating of enum constants constructor parametersKT-28227
Formatter should not allow enum entries to be on one line with opening braceKT-28484
Bad formatting for assignment when continuation for assignments is disabled
IDE. Completion
KT-18089
Completion for nullable types without safe call rendered in gray color is barely visibleKT-20706
KDoc: Unneeded completion is invoked after typing a number/digit in a kdoc commentKT-22579
Smart completion should present enum constants with higher rankKT-23834
Code completion and auto import do not suggest extension that differs from member only in type parameterKT-25312
Autocomplete for overridden members in expected
class inserts extra override
wordKT-26632
Completion: “data class” instead of “data”KT-27916
Autocomplete val when auto-completing const
IDE. Debugger
Fixes
KT-13268
Can't quick evaluate expression with Alt + Click without get operatorKT-14075
Debugger: Property syntax accesses private Java field rather than synthetic property accessorKT-22366
Debugger doesn't stop on certain expressionsKT-23585
Evaluation of a static interface method call failsKT-24343
Debugger, Step Over: IllegalStateException on two consecutive breakpoints when first breakpoint is on an inline function callKT-24959
Evaluating my breakpoint condition fails with exceptionKT-25667
Exception in logs from WeakBytecodeDebugInfoStorage (NoStrataPositionManagerHelper)KT-26795
Debugger crashes with NullPointerException when evaluating const value in companion objectKT-26798
Check that step into works with overrides in inline classesKT-27414
Use “toString” to render values of inline classes in debuggerKT-27462
Main without parameters just with inline fun call: Debug: last Step Over can't finish the processKT-28028
IDEA is unable to find sources during debuggingKT-28342
Can't evaluate the synthetic ‘field’ variableKT-28487
ISE “resultValue is null: cannot find method generated_for_debugger_fun” on evaluating value of inline class
IDE. Decompiler
KT-27284
Disable highlighting in decompiled Kotlin bytecodeKT-27460
“Show Kotlin bytecode”: “Internal error: null” for an inline extension property from a different file
IDE. Gradle
KT-27265
Unresolved reference in IDE on calling JVM source set members of a multiplatform project with Android target from a plain Kotlin/JVM module
IDE. Gradle. Script
KT-14862
IDEA links to class file instead of source in buildSrc (Gradle/Kotlin script)KT-17231
“Optimize Import” action not working for Gradle script kotlin.KT-21981
Optimize imports on the fly does not take implicit imports into account in .kts filesKT-24623
Class defined in gradle buildSrc folder is marked as unused when it is actually used in Gradle Script Kotlin fileKT-24705
Script reports are shown in the editor only after caret moveKT-24706
Do not attach script reports if ‘reload dependencies’ isn't pressedKT-25354
Gradle Kotlin-DSL: Changes of buildSrc are not visible from other modulesKT-25619
Intentions not working in buildSrc (Gradle)KT-27674
Highlighting is skipped in files from buildSrc folder of Gradle project
IDE. Hints
KT-13118
Parameter info is not shown for Kotlin last-argument lambdasKT-25162
Parameter info for builder functions and lambdasKT-26689
Lambda return expression hint not shown when returning a lambda from inside a lambdaKT-27802
The hint for the if-expression is duplicated inside each branch
IDE. Inspections and Intentions
New Features
KT-2029
Add inspection for boolean literals passed without using named parameters featureKT-5071
Properly surround a function invocation in string template by curly bracesKT-5187
Quick Fix to remove inline keyword on warning about performance benefitsKT-6025
Auto-remove toString() call in “Convert concatenation to template”KT-9983
“‘inline’' modifier is not allowed on virtual members.” should have quickfixKT-12743
Add Intention to convert nullable var to non-nullable lateinitKT-15525
Inspection to warn on thread-blocking invocations from coroutinesKT-17004
There is no suggestion to add property to supertypeKT-19668
Inspection “Redundant else in if”KT-20273
Inspection to report a setter of a property with a backing field that doesn't update the backing fieldKT-20626
Inspection for ‘+= creates a new list under the hood’KT-23691
Warn about var
properties with default setter and getter that doesn't reference backing fieldKT-24515
Intention to add an exception under the cursor to @Throws annotationsKT-25171
Inspection: Change indexed access operator on maps to Map.getValue
KT-25620
Inspection for functions returning DeferredKT-25718
Add intention to convert SAM lambda to anonymous objectKT-26236
QuickFix for ASSIGN_OPERATOR_AMBIGUITY on mutable collection ‘+=’, ‘-=’KT-26511
Inspection (without highlighting by default) for unlabeled return inside lambdaKT-26653
Intention to replace if-else with x?.let { ... } ?: ...
KT-26724
Inspection with a warning for implementation by delegation to a var
propertyKT-26836
Add quick fix for type mismatch between signed and unsigned types for constant literalsKT-27007
Intention: add label to return if scope is visually ambiguousKT-27075
Add a quick fix/intention to create expect
member for an added actual
declarationKT-27445
Add quickfix for compiler warning “DEPRECATED_JAVA_ANNOTATION”KT-28118
Remove empty parentheses for annotation entriesKT-28631
Suggest to remove single lambda argument if its name is equal to it
KT-28696
Inspection: detect potentially ambiguous usage of coroutineContextKT-28699
Add “Convert to also” intention
Performance Improvements
KT-26969
ConvertCallChainIntoSequence quick fix doesn't use sequences all the way
Fixes
KT-4645
Unexpected behevior of “Replace ‘if’ with ‘when’” intention when called on second or third ‘if’KT-5088
“Add else branch” quickfix on when should not add bracesKT-7555
Omit braces when converting ‘this’ in ‘Convert concatenation to template’KT-8820
No “Change type” quick fix inside whenKT-8875
“Remove explicit type” produce red code for extension lambdaKT-12479
IDEA doesn't propose to replace all usages of deprecated annotation when it declared w/o parenthesesKT-13311
IDE marks fun finalize() as unused and says that its effective visibility is privateKT-14555
Strange ‘iterate over Nothing’ intentionKT-15550
Intention “Add names to call arguments” isn't available if one argument is a generic function callKT-15835
“Leaking ‘this’ in constructor” for enum classKT-16338
“Leaking ‘this’ in constructor” of non-final class when using ‘this::class.java’KT-20040
Kotlin Gradle script: unused import doesn't become greyKT-20725
Cannot persist excluded methods for inspection “Accessor call that can be replaced with property syntax”KT-21520
“Assignment should be lifted out of ‘if’” false positive for arguments of different typesKT-23134
“Remove single lambda parameter” quick fix applied to a lambda parameter with explicit type breaks ::invoke reference on lambdaKT-23512
“Remove redundant receiver” quick fix makes generic function call incompilable when type could be inferred from removed receiver onlyKT-23639
False positive “Unused symbol” for sealed class type parametersKT-23693
Add missing actual members
quick fix doesn't work if there is already same-named function with the same signatureKT-23744
“Kotlin library and Gradle plugin versions are different” inspection false positive for non-JVM dependenciesKT-24492
“Call on collection type may be reduced” does not change labels from mapNotNull to mapKT-25536
Use non-const Kotlin ‘val’ usage in Java code isn't reported on case labels (& assignments)KT-25933
ReplaceCallWithBinaryOperator should not suggest to replace ‘equals’ involving floating-point typesKT-25953
Meaningless auto properties for Atomic classesKT-25995
“Simplify comparision” should try to apply “Simplify if expression” when necessaryKT-26051
False positive “Redundant visibility modifier” for overridden protected property setter made publicKT-26337
Exception (resource not found) in quick-fix tests in AS32KT-26481
Flaky false positive “Receiver parameter is never used” for local extension functionKT-26571
Too much highlighting from “convert call chain into sequence”KT-26650
False negative “Call chain on collection should be converted into ‘Sequence’”" on class implementing Iterable
KT-26662
Corner cases around ‘this’ inside “replace if with safe access”KT-26669
“Remove unnecessary parentheses” reports parens of function returned from extension functionKT-26673
“Remove parameter” quick fix keeps unused type parameter referred in type constraintKT-26710
Should not report “implicit ‘it’ is shadowed” when outer it
is not usedKT-26839
Add braces to if statement produces code that is not formatted according to styleKT-26902
Bad quickfix name for “Call on non-null type may be reduced”KT-27016
Replace ‘if’ with elvis operator w/ interface generates invalid code (breaks type inference)KT-27034
“Redundant SAM constructor” inspection shouldn't make all lambda gray (too much highlighting)KT-27061
False positive “Convert to secondary constructor” with delegationKT-27071
“Add non-null asserted (!!) call” places !!
at wrong position with operator get
(array indexing)KT-27093
Create actual class from expect class doesn't add all necessary importsKT-27104
False positive “Convert call chain into Sequence” with groupingByKT-27116
“Object literal can be converted to lambda” produces code littered with “return@label”KT-27138
Change visibility intentions are suggested on properties marked with @JvmFieldKT-27139
Add getter intention is suggested for properties marked with @JvmFieldKT-27146
False positive “map.put() can be converted to assignment” on super
keyword with LinkedHashMap
inheritanceKT-27156
Introduce backing property intention is suggested for property marked with @JvmFieldKT-27157
Convert property to function intention is suggested for property marked with @JvmFieldKT-27173
“Lift return out of ...
” should work on any of targeted return
keywordsKT-27184
“Replace with safe call” is not suggested for nullable var property that is impossible to smart castKT-27209
“Loop parameter ‘it’ is unused”: unhelpful quickfixKT-27291
“Create” quick fix: “destination directory” field suggests same root and JVM roots for all platformsKT-27354
False positive “Make ‘Foo’ open” for data
class inheritanceKT-27408
“Add braces to ‘if’ statement” moves end-of-line comment inside an if
branchKT-27486
ConvertCallChainIntoSequence quick fix doesn't convert ‘unzip’ into ‘Sequence’KT-27539
False positive Redundant Companion reference
when val in companion is effectively shadowed by inherited valKT-27584
False positive “Move lambda argument out of parentheses” when implementing interface by delegationKT-27590
No “Change parameter” quick fix for changing argument type from UInt to IntKT-27619
Inspection “Invalid property key” should check whether reference is soft or notKT-27664
Fix flaky problem in tests “Could not initialize class UnusedSymbolInspection”KT-27699
“Remove redundant spread operator” produces incorrect codeKT-27708
IDE highlights internal constructors used only from Java as unusedKT-27791
Don't suggest Implement as constructor parameters
quick fix for actual
class declarationKT-27861
RedundantCompanionReference false positive for nested class with name “Companion”KT-27906
SafeCastAndReturn is not reported on code block with unqualified returnKT-27951
False declaration in actual list (same name but not really actual)KT-28047
False positive “Redundant lambda arrow” for lambda returned from when
branchKT-28196
KotlinAddImportAction: AWT events are not allowed inside write actionKT-28200
KNPE in TypeUtilsKt.getDataFlowAwareTypesKT-28268
Don't suggest “make abstract” quick fix for inline classesKT-28286
“Unused symbol” inspection: Interface is reported as “class”KT-28341
False positive “Introduce backing property” intention for const
valuesKT-28381
Forbid “move property to constructor” for expect classesKT-28382
Forbid “introduce backing property” for expect classesKT-28383
Exception during “move to companion” for expect class memberKT-28443
“Move out of companion object” intention is suggested for @JvmField property inside companion object of interfaceKT-28504
Redundant async inspection: support calls on explicitly given scopeKT-28540
“Replace assert boolean with assert equality” inspection quickfix doesn't add import statementKT-28618
Kotlin: convert anonymous function to lambda expression failed if no space at start of lambda expressionKT-28694
“Assign backing field” quick fix adds empty line before created assignmentKT-28716
KotlinDefaultHighlightingSettingsProvider suppresses inspections in non-kotlin filesKT-28744
val-keyword went missing from constructor of inline class after applying “Create actual class...” intentionKT-28745
val-keyword went missing from constructor of inline class after applying “Create expected class in common module...” intention
IDE. KDoc
KT-24788
Endless exceptions in offline inspections
IDE. Multiplatform
KT-26518
Create actual ...
quick fix doesn't add a primary constructor call for the actual secondary constructorKT-26893
Multiplatform projects fail to import into Android Studio 3.3, 3.4KT-26957
Merge expect gutter icon, when used for the same lineKT-27295
MPP: Rebuild module / Recompile source does nothing for Native with Delegate to gradle = YesKT-27296
MPP: Rebuild module / Recompile source does nothing for Common with Delegate to gradle = YesKT-27335
New multiplatform wizard: mobile library is generated with failed testKT-27595
KNPE on attempt to generate equals()
, hashCode()
, toString()
for expect
class
IDE. Navigation
KT-22637
Go to actual declarations for enum values should choose correct value if they are written in one lineKT-27494
Create tooling tests for new-multiplatformKT-28206
Go to implementations on expect enum shows not only enum classes, but also all membersKT-28398
Broken navigation to actual declaration of println()
in non-gradle project
IDE. Project View
KT-26210
IOE “Cannot create file” on creating new file with existing filename by pasting a code in Project viewKT-27903
Can create file with empty name without any warning
IDE. REPL
KT-29285
Starting REPL in Gradle project: Will compile into IDEA‘s out folder which then shadows Gradle’s compile output
IDE. Refactorings
KT-23603
Add the support for find usages/refactoring of the buildSrc sources in gradle kotlin DSL build scriptsKT-26696
Copy, Move: “Destination directory” field does not allow to choose a path from non-JVM moduleKT-28408
“Extract interface” action should not show private propertiesKT-28476
Extract interface / super class on non-JVM class throws KNPE
IDE. Scratch
KT-23523
Filter out fake gradle modules from checkbox in Scratch file panelKT-25032
Scratch: IDEA hangs/freezes on code that never returns (infinite loops)KT-26271
Scratches for Kotlin do not work when clicking “Run Scratch File” buttonKT-26332
Fix classpath intention in Kotlin scratch file in Java only project doesn't do anythingKT-27628
Scratch blocks AWT Queue threadKT-28045
‘Run kotlin scratch’ is shown for jest tests
IDE. Script
KT-24465
Provide a UI to manage script definitionsKT-24466
Add warning when there are multiple script definitions for one scriptKT-25818
IDE Scripting Console files shouldn't have scratch panelKT-26331
Please extract ScriptDefinitionContributor/KotlinScriptDefinition from kotlin-plugin.jar to separate jarKT-27669
Consider moving expensive tasks out of the UI threadKT-27743
Do not start multiple background threads loading dependencies for different scriptsKT-27817
Implement a lightweight EP in a separate public jar for supplying script definitions to IDEAKT-27960
Add capability to import one Script to anotherKT-28046
“Reload script dependencies on file change” option is missing after project restart
IDE. Tests Support
KT-27977
Missing ‘run’ gutter on a test method of an abstract classKT-28080
Wrong run configuration created from context for test method in abstract class
JS. Tools
KT-27361
Support NamedConstructor in idl2kKT-28786
Float values initialized incorrectly while translating from IDLKT-28821
Kotlin/JS missing ClipboardEvent definitionsKT-28864
Better support for TrackEvent, MediaStreamTrackEvent and RTCTrackEvent in idl
JavaScript
KT-27611
Calling a suspending function of a JS library causes “Uncaught ReferenceError: CoroutineImpl is not defined”KT-28207
Finally block loops forever for specific code shapeKT-28215
JS: inline suspend function not usable in non-inlined formKT-29003
KotlinJS: Size of String in stdlib is limited if the the Constructor String(chars: CharArray) gets used
Libraries
New Features
KT-18398
Provide a way for libraries to avoid mixing Kotlin 1.0 and 1.1 dependencies in end user projectsKT-27919
Publish modularized artifacts under ‘modular’ classifier
Performance Improvements
KT-27251
Do not use Stack in FileTreeWalk iterator implementation
Fixes
KT-12473
KotlinJS - comparator returning 0 changes orderKT-20743
Use strongly typed events in Kotlin2js DOM APIKT-20865
Retrieving groups by name is not supported on Java 9 even with kotlin-stdlib-jre8
in the classpathKT-23932
add “PointerEvent” for kotlin-stdlib-jsKT-24336
Kotlin/JS missing SVGMaskElement interfaceKT-25371
Support unsigned integers in kotlinx-metadata-jvmKT-27629
kotlin.test BeforeTest/AfterTest annotation mapping for TestNGKT-28091
Provide correct AbstractMutableCollections declarations in stdlib-commonKT-28251
Stdlib: Deprecated ReplaceWith kotlin.math.log
replacement instead of kotlin.math.ln
KT-28488
Add clarification for COROUTINES_SUSPENDED documentationKT-28572
readLine() stumbles at surrogate pairsKT-29187
JS toTypedArray returns array of invalid type for LongArray and BooleanArray
Reflection
KT-26765
Support calling constructors with inline classes in the signature in reflectionKT-27585
Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use “isAccessible = true” to make the property accessibleKT-27598
“KotlinReflectionInternalError” when using callBy
on constructor that has inline class parametersKT-27913
ReflectJvmMapping.getKotlinFunction(ctor) works incorrectly with types containing variables of inline class
Tools. CLI
KT-27226
Argfiles: An empty argument in quotes with a whitespace or a newline after it interrupts further reading of argumentsKT-27430
[Experimental API] Report warning instead of error if non-marker is used in -Xuse-experimental/-XexperimentalKT-27626
-Xmodule-path does not work in Gradle project with Java 9KT-27709
Using an experimental API that does not exist should warn, not errorKT-27775
Re-enable directories passed as in -Xbuild-fileKT-27930
Do not use toURI in ModuleVisibilityUtilsKt.isContainedByCompiledPartOfOurModule if possibleKT-28180
Backslash-separated file paths in argfiles do not work on WindowsKT-28974
Serialization bug in CommonToolArguments, affecting MPP project data serialization
Tools. Compiler Plugins
KT-24997
Pass arguments to Kapt in human-readable formatKT-24998
Introduce separate command line tool specifically for Kapt in order to improve UXKT-25128
ABI jar generation in the CLI compiler for Bazel like build systems.
Tools. Gradle
New Features
KT-26963
Warn user that a custom platform-agnostic source set wouldn't be included into build unless it is required for other source setsKT-27394
Add kotlinOptions in compilations of the new MPP modelKT-27535
Implement AARs building and publishing in new MPPKT-27685
In new MPP, expose a compilation's default source set via DSLKT-28155
Add ability to run tasks in parallel within projectKT-28842
Enable JS IC by default
Performance Improvements
KT-24530
Enable compile avoidance for kaptKotlin tasksKT-28037
In-process Kotlin compiler leaks thread local values
Fixes
KT-26065
Kotlin Gradle plugin resolves dependencies at configuration timeKT-26389
Support Gradle Kotlin DSL in projects with the kotlin-multiplatform
pluginKT-26663
Gradle dependency DSL features missing for the new MPP dependenciesKT-26808
Deprecation Warning Gradle 5 - “DefaultSourceDirectorySet constructor has been deprecated”KT-26978
Gradle verification fails on DiscoverScriptExtensionsTaskKT-27682
Kotlin MPP DSL: a target is missing the attributes { ... }
function, only the attributes
property is available.KT-27950
Gradle 5.0-rc1: “Compilation with Kotlin compile daemon was not successful”KT-28355
Gradle Kotlin plugin publishes “api” dependencies with runtime scopeKT-28363
Enable resources processing for Kotlin/JS target in multiplatform projectsKT-28469
Gradle Plugin: Task DiscoverScriptExtensionsTask is never up-to-dateKT-28482
Always rewrite the MPP dependencies in POMs, even when publishing with Gradle metadataKT-28520
MPP plugin can't be applied altogether with the “maven-publish” plugin in a Gradle 5 buildKT-28635
fromPreset() in MPP Gradle plugin DSL is hard to use from Gradle Kotlin DSL scriptsKT-28749
Expose allKotlinSourceSets
in KotlinCompilation
KT-28795
The localToProject attribute is not properly disambiguated with Gradle 4.10.2+KT-28836
Kotlin compiler logs from Gradle Kotlin Plugin aren't captured by GradleKT-29058
Gradle Plugin: Multiplatform project with maven-publish plugin does not use project group for “metadata” artifact POM
Tools. J2K
KT-26073
Irrelevant “create extra commit with java->kt rename”
Tools. JPS
KT-26980
JPS Native warning is duplicated for test source setsKT-27285
MPP: invalid common -> platform dependency: JPS fails with Throwable “Cannot initialize Kotlin context: Cyclically dependent modules” at KotlinChunk.()KT-27622
JPS, JS: Resources marked as “kotlin-resource” are not copied to the out folder in a Kotlin-js projectKT-28095
JPS: support -Xcommon-sources for multiplatform projects (JS)KT-28316
Report Native is not yet supported in IDEA internal build system
on JPS build once per project/multiplatform moduleKT-28527
JPS: Serialization plugin not loaded in ktorKT-28900
With “Keep compiler process alive between invocations = No” (disabled daemon) JPS rebuild fails with SCE: “Provider AndroidCommandLineProcessor not a subtype” at PluginCliParser.processPluginOptions()
Tools. Scripts
KT-27382
Embeddable version of scripting support (KEEP 75)KT-27497
kotlin script - No class roots are found in the JDK pathKT-29293
Script compilation - standard libs are not added to the dependenciesKT-29301
Some ivy resolvers are proguarded out of the kotlin-main-ktsKT-29319
scripts default jvmTarget causes inlining problems - default should be 1.8
Tools. kapt
New Features
KT-28024
Kapt: Add option for printing timings for individual annotation processorsKT-28025
Detect memory leaks in annotation processors
Performance Improvements
KT-28852
Cache classloaders for tools.jar and kapt in Gradle workers
Fixes
KT-24368
Kapt: Do not include compile classpath entries in the annotation processing classpathKT-25756
Investigate file descriptors leaks in kaptKT-26145
Using kapt
without the kotlin-kapt
plugin should throw a build errorKT-26304
Build fails with “cannot find symbol” using gRPC with dagger; stub compilation fails to find classes generated by kaptKT-26725
Kapt does not handle androidx.annotation.RecentlyNullable correctlyKT-26817
kapt 1.2.60+ ignores .java files that are symlinksKT-27126
kapt: class implementing List generates bad stubKT-27188
kapt Gradle plugin fails in Java 10+ (“Cannot find tools.jar”)KT-27334
[Kapt] Stub generator uses constant value in method annotation instead of constant name.KT-27404
Kapt does not call annotation processors on custom (e.g., androidTest) source sets if all dependencies are inherited from the main kapt configurationKT-27487
Previous value is passed to annotation parameter using annotation processingKT-27711
kapt: ArrayIndexOutOfBoundsException: 0KT-27910
Kapt lazy stub without explicit type that initializes an object expression breaks stubbing
1.3.11
Compiler
KT-28097
AbstractMethodError for @JvmSuppressWildcards annotation used with coroutinesKT-28225
Report a warning when comparing incompatible enums
IDE. Gradle
KT-28389
MPP IDE import does not recognize a dependency from a subproject to the root project
IDE. Inspections and Intentions
KT-28445
“Redundant async” inspection does not work with release coroutines
IDE. Multiplatform
KT-27632
MPP IDE commonMain cannot see other commonMain types transitively which are exposed through a middle multiplatform module
JavaScript
KT-27946
Late initialization based on contracts breaks Kotlin/JS in 1.3.0
Tools. Gradle
KT-27500
MPP: Native: .module
dependency is reported as error in the IDE after import
1.3.10
Compiler
KT-27758
Kotlin 1.3 breaks compilation of calling of function named ‘contract’ with block as a last parameterKT-27895
Kotlin 1.3.0 broken runtime annotation issue
IDE
KT-27230
Freeze on pasteKT-27907
Exception on processing auto-generated classes from AS
IDE. Debugger
KT-27540
2018.3 and 2019.1 Debugger: Evaluating anything fails with KNPE in LabelNormalizationMethodTransformerKT-27833
Evaluate exception in 183/191 with asm-7.0-beta1
/‘asm-7.0’KT-27965
Sequence debugger does not work in Android StudioKT-27980
Kotlin sequence debugger throws IDE exception in IDEA 183
IDE. Gradle
KT-27265
Unresolved reference in IDE on calling JVM source set members of a multiplatform project with Android target from a plain Kotlin/JVM moduleKT-27849
IntelliJ: Wrong scope of JVM platform MPP dependency
IDE. Inspections and Intentions
KT-26481
Flaky false positive “Receiver parameter is never used” for local extension functionKT-27357
Function with inline class type value parameters is marked as unused by IDEKT-27434
False positive “Unused symbol” inspection for functions and secondary constructors of inline classesKT-27945
Quick-fix whitespace bug in KtPrimaryConstructor.addAnnotationEntry()
IDE. Scratch
KT-27746
Scratch: “Cannot pop operand off an empty stack” in a new scratch file
IDE. Tests Support
KT-27371
Common tests can not be launched from gutter in MPP Android/iOS project
Reflection
KT-27878
Spring: “AssertionError: Non-primitive type name passed: void”
Tools. Gradle
KT-27160
Kotlin Gradle plugin 1.3 resolves script configurations during project evaluationKT-27803
CInterop input configuration has ‘java-api’ as a Usage attribute value in new MPPKT-27984
Kotlin Gradle Plugin: Circular dependency
Tools. JPS
KT-26489
JPS: support -Xcommon-sources for multiplatform projects (JVM)KT-27037
Incremental compilation failed after update to 1.3.0-rc-60KT-27792
Incremental compilation failed with NullPointerException in KotlinCompileContext.markChunkForRebuildBeforeBuild
Tools. kapt
KT-27126
kapt: class implementing List generates bad stub
1.3.0
IDE
KT-25429
Replace update channel in IDE pluginKT-27793
kotlinx.android.synthetic is unresolved on project reopening
IDE. Inspections and Intentions
KT-27619
Inspection “Invalid property key” should check whether reference is soft or not
1.3-RC4
Compiler
Fixes
KT-26858
Inline class access to private companion object value fails with NSMEKT-27030
Non-capturing lambda in inline class members fails with internal error (NPE in genClosure)KT-27031
Inline extension lambda in inline class fun fails with internal error (wrong bytecode generated)KT-27033
Anonymous object in inline class fun fails with internal error (NPE in generateObjectLiteral/.../writeOuterClassAndEnclosingMethod)KT-27096
AnalyzerException: Error at instruction 71: Expected I, but found . when function takes unsigned type with default value and returns nullable inline classKT-27130
Suspension point is inside a critical section regressionKT-27132
CCE when inline class is boxedKT-27258
Report diagnostic for suspension point inside critical section for crossinline suspend lambdasKT-27393
Incorrect inline class type coercion in ‘==’ with generic callKT-27484
Suspension points in synchronized blocks checker crashesKT-27502
Boxed inline class backed by Any is not unboxed before method invocationKT-27526
Functional type with inline class argument and suspend modified expects unboxed value while it is boxedKT-27615
Double wrap when inline class is printing if it was obtained from list/mapKT-27620
Report error when using value of kotlin.Result type as an extension receiver with safe call
IDE
KT-27298
Deadlock on project openKT-27329
Migration doesn't work for kts projects when versions are stored in kt files inside buildSrc directoryKT-27355
Assertion error from light classes (expected callable member was null) for type alias in JvmMultifileClass annotated fileKT-27456
New Project wizard: Kotlin (Multiplatform Library): consider generating source files with different names to work around KT-21186KT-27473
“Gradle sync failed: Already disposed: Module: ‘moduleName-app_commonMain’” on reimport of a multiplatform project with Android target between different IDEsKT-27485
Gradle import failed with “Already disposed” error on reopening of a multiplatform project with Android targetKT-27572
ISE: “Could not generate LightClass for entry declared in ” at CompilationErrorHandler.lambda$static$0()
IDE. Android
KT-26975
CNFDE KotlinAndroidGradleOrderEnumerationHandler$FactoryImpl in AS 3.3 with Kotlin 1.3.0-rc-51KT-27451
main
target platform selection is not working in a multiplatform project with Android and JVM targets in Android Studio
IDE. Gradle
KT-27365
Dependencies between Java project and MPP one are not respected by importKT-27643
First import of Android project miss skips some dependencies in IDEA 183
IDE. Multiplatform
KT-27356
Use kotlin-stdlib
instead of kotlin-stdlib-jdk8
in Android-related MPP templates
IDE. Scratch
KT-24180
Add key shortcut and action for running a kotlin scratch file (green arrow button in the editor tool-buttons)
JavaScript
KT-26320
JS: forEach + firstOrNull + when combination does not compile correctlyKT-26787
Incorrect JS code translation: when
statement inside for
loop breaks out of the loop
Libraries
KT-27508
Rename Random companion object to Default
Tools. Gradle
KT-26758
Unify Gradle DSL for compiler flags in new multiplatform modelKT-26840
Support -Xuse-experimental in the new MPP language settings DSLKT-27278
New MPP plugin is binary-incompatible with Gradle 5.0KT-27499
In new MPP, support compiler plugins (subplugins) options import into the IDE for each source set
Tools. JPS
KT-27044
JPS rebuilds twice when dependency is updated
Tools. kapt
KT-27119
kapt: val without explicit type that is assigned an object expression implementing a generic interface breaks compilation
1.3-RC3
Compiler
KT-26300
Smartcasts don't work if pass same fields of instances of the same class in contract function with conjunction not-null conditionKT-27221
Incorrect smart cast for sealed classes with a multilevel hierarchy
IDE
KT-27163
Replace coroutine migration dialog with notificationKT-27200
New MPP wizard: mobile libraryKT-27201
MPP library wizards: provide maven publishingKT-27214
Android test source directories are not recognised in IDEKT-27351
Better fix for coroutines outdated versions in Gradle and Maven
IDE. Android
KT-27331
Missing dependencies in Android project depending on MPP project
IDE. Inspections and Intentions
KT-27164
Create a quick fix for replacing obsolete coroutines in the whole project
IDE. Multiplatform
KT-27029
Multiplatform project is unloaded if Gradle refresh/reimport is failed
Libraries
KT-22869
Improve docs of assertFailsWith function
Tools. CLI
KT-27218
From @ not all whitespace characters are parsed correctly
Tools. Compiler Plugins
KT-27166
Disable kotlinx.serialization plugin in IDE by default
1.3-RC2
Android
KT-27006
Android extensions are not recognised by IDE in multiplatform projectsKT-27008
Compiler plugins are not working in multiplatform projects with Android target
Compiler
KT-24415
Remove bridge flag from default methodsKT-24510
Coroutines make Android's D8 angryKT-25545
Import statement of @Experimental
element causes compiler warning/error, but annotation can't be used to avoid itKT-26382
Wrong smartcast if used safe call + returnsNull effectKT-26640
Check inference behaviour for coroutines that it's possible to improve it in compatible wayKT-26804
Make sure @PublishedAPI is retained in binary representation of a primary constructor of an inline classKT-27079
Allow using extensions without opt-in in builder-inference if they add only trivial constraintsKT-27084
smart cast to non-nullable regression from 1.2.70 to 1.3.0-rc-57KT-27117
IllegalAccessError when using private Companion field inside inline lambdaKT-27121
Illegal field modifiers in class for a field of an interface companionKT-27161
Getting “Backend Internal error: Descriptor can be left only if it is last” using new when syntax
IDE
New Features
KT-26313
Support ResolveScopeEnlarger in Kotlin IDEKT-26786
MPP builders: create not only build.gradle but some example files also
Fixes
KT-13948
IDE plugins: improve descriptionKT-14981
IDE should accept only its variant of plugin, as possibleKT-23864
Copyright message is duplicated in kotlin file in root package after updating copyrightKT-24907
please remove usages of com.intellij.openapi.vfs.StandardFileSystems#getJarRootForLocalFile deprecated long agoKT-25449
Mark classes loaded by custom class loader with @DynamicallyLoaded annotation for the sake of better static analysisKT-25463
API version in Kotlin facets isn't automatically set to 1.3 when importing a project in GradleKT-25952
New Project Wizard: generate MPP in a new wayKT-26501
Fix “IDEA internal actions” group text to “Kotlin internal actions”KT-26695
IDEA takes 1.3-M2-release plugin as more recent than any 1.3.0-dev-nnn or 1.3.0-rc-nnn pluginKT-26763
Compiler options are not imported into Kotlin facet for a Native moduleKT-26774
Create IDE setting for experimental inline classesKT-26889
Don't show migration dialog if no actual migrations are availableKT-26933
No jre -> jdk fix in Gradle file if version isn't written explicitlyKT-26937
MPP: Gradle import: adding target
definition after importing its sourceSet
does not correct the module SDKKT-26953
New MPP project wrong formattingKT-27021
Wrong JVM target if no Kotlin facet is specifiedKT-27100
Version migration dialog is not shown in Studio 3.3KT-27145
Gradle import: JVM modules gets no JDK in dependenciesKT-27177
MPP wizards: use Gradle 4.7 onlyKT-27193
Gradle import: with Kotlin configured Android module gets non-Android JDK
IDE. Code Style, Formatting
KT-27027
Formatter puts when subject variable on a new line
IDE. Completion
KT-25313
Autocomplete generates incorrect code on fields overriding by expected
class
IDE. Hints
KT-26057
(arguably) redundant hint shown for enum value when qualified with enum class
IDE. Inspections and Intentions
KT-14929
Deprecated ReplaceWith for type aliasesKT-25251
Create intention for migration coroutines from experimental to released stateKT-26027
False positive from “Nested lambda has shadowed implicit parameter” inspection for SAM conversionKT-26268
Inspection “Nested lambda has shadowed implicit parameter” should only warn if parameter is usedKT-26775
Create quick fix that enable or disable experimental inline classes in projectKT-26991
ReplaceWith for object doesn't work anymore
IDE. Multiplatform
KT-24060
main
function in common part of MPP project: allow user to choose between platform modules to run it fromKT-26647
Warn user about incompatible/ignored Native targets on Gradle build of a project with the new multiplatform modelKT-26690
IDE significantly slows down having Native target in a multiplatform projectKT-26872
MPP: JS: Node.js run configuration is created with not existing JavaScript fileKT-26942
MPP IDE: JS test configuration removes gutter actions from common moduleKT-27010
New mpp: missing run gutters in common code when relevant platform roots do not existKT-27133
IDE requires actual
implementations to be also present in test source setsKT-27172
ISE: “The provided plugin org.jetbrains.kotlin.android.synthetic.AndroidComponentRegistrar is not compatible with this version of compiler” on build of a multiplatform project with iOS and Android
IDE. Navigation
KT-25055
Android modules are named same as JVM ones in actual
gutter tooltipKT-26004
IDE: Unable to navigate to common library declaration from platform code (not necessarily in an MPP project)
IDE. Tests Support
KT-23884
Running common module test in IDE results in “no JDK specified” errorKT-23911
Cannot jump to source from common test function in Run tool window
Libraries
KT-18608
Result type for Kotlin (aka Try monad)KT-26666
Add documentation for contract DSL
Reflection
KT-24170
Instance parameter of inherited declaration should have the type of subclass, not the base class
Tools. Compiler Plugins
KT-24444
Do not store proxy objects from Gradle importer in the project model
Tools. Gradle
KT-25200
Report a warning when building multiplatform code in GradleKT-26390
Implement source JARs building and publishing in new MPPKT-26771
New Native MPP Gradle plugin creates publications only for host systemKT-26834
Gradle compilation of multimodule project fails with Could not resolve all files for configuration ‘:example-v8:apiDependenciesMetadata’KT-27111
org.jetbrains.kotlin.platform.type
is not set for some Gradle configurations in multiplatform pluginKT-27196
Support Kotlin/JS DCE in new MPP
Tools. Scripts
KT-26828
main-kts test fails with “Error processing script definition class”KT-27015
Scripting sample from 1.3 RC blogpost does not workKT-27050
1.3-RC Scripting @file:Repository and @file:DependsOn annotations are not repeatable
1.3-RC
Compiler
New Features
KT-17679
Support suspend fun main in JVMKT-24854
Support suspend function types for arities bigger than 22KT-26574
Support main entry-point without arguments in frontend, IDE and JVM
Performance Improvements
KT-26490
Change boxing technique: instead of calling valueOf
, allocate new wrapper type
Fixes
KT-22069
Array class literals are always loaded as Array<*>
from deserialized annotationsKT-22892
Call of invoke
function with lambda parameter on a field named suspend
should be reportedKT-24708
Incorrect WhenMappings code generated in case of mixed enum classes in when conditionsKT-24853
Forbid KSuspendFunctionN and SuspendFunctionN to be used as supertypesKT-24866
Review support of all operators for suspend function and forbid all unsupportedKT-25461
Mangle names of functions that have top-level inline class types in their signatures to allow non-trivial non-public constructorsKT-25855
Load Java declarations which reference kotlin.jvm.functions.FunctionN as Deprecated with level ERRORKT-26071
Postpone conversions from signed constant literals to unsigned onesKT-26141
actual typealias for expect sealed class results in error “This type is sealed, so it can be inherited by only its own nested classes or objects”KT-26200
Forbid suspend functions annotated with @kotlin.test.TestKT-26219
Result of unsigned predecrement/preincrement is not boxed as expectedKT-26223
Inline lambda arguments of inline class types are passed incorrectlyKT-26291
Boxed/primitive types clash when overriding Kotlin from Java with common generic supertype with inline class type argumentKT-26403
Add -impl
suffix to box
/unbox
methods and make them syntheticKT-26404
Mangling: setters for properties of inline class typesKT-26409
implies in CallsInPlace effect isn't supportedKT-26437
Generate constructors containing inline classes as parameter types as private with synthetic accessorsKT-26449
Prohibit equals-like and hashCode-like declarations inside inline classesKT-26451
Generate static methods with equals/hashCode implementationsKT-26452
Get rid of $Erased nested class in ABI of inline classesKT-26453
Generate all static methods in inline classes with “-impl” suffixKT-26454
Prohibit @JvmName on functions that are assumed to be mangledKT-26468
Inline class ABI: Constructor invocation is not represented in bytecodeKT-26480
Report error from compiler when suspension point is located between corresponding MONITORENTER/MONITOREXITKT-26538
Prepare kotlin.Result to publication in 1.3KT-26558
Inline Classes: IllegalStateException when invoking secondary constructor for a primitive underlying typeKT-26570
Inline classes ABIKT-26573
Reserve box, unbox, equals and hashCode methods inside inline class for future releasesKT-26575
Reserve bodies of secondary constructors for inline classesKT-26576
Generate stubs for box/unbox/equals/hashCode inside inline classesKT-26580
Add version to kotlin.coroutines.jvm.internal.DebugMetadataKT-26659
Prohibit using kotlin.Result as a return type and with special operatorsKT-26687
Stdlib contracts have no effect in common codeKT-26707
companion val of primitive type is not treated as compile time constantKT-26720
Write language version requirement on inline classes and on declarations that use inline classesKT-26859
Inline class misses unboxing when using indexer into an ArrayListKT-26936
Report warning instead of error on usages of Experimental/UseExperimentalKT-26958
Introduce builder-inference with an explicit opt-in for it
IDE
New Features
KT-26525
“Move Element Right/Left”: Support type parameters in where
clause (multiple type constraints)
Fixes
KT-22491
MPP new project/new module templates are not convenientKT-26428
Kotlin Migration in AS32 / AS33 fails to complete after “Indexing paused due to batch update” eventKT-26484
Do not show -Xmulti-platform
option in facets for common modules of multiplatform projects with the new modelKT-26584
@Language prefix and suffix are ignored for function argumentsKT-26679
Coroutine migrator should rename buildSequence/buildIterator to their new namesKT-26732
Kotlin language version from IDEA settings is not taken into account when working with Java codeKT-26770
Android module in a multiplatform project isn't recognised as a multiplatform moduleKT-26794
Bad version detection during migration in Android Studio 3.2KT-26823
Fix deadlock in databinding with AndroidX which led to Android Studio hangingKT-26827
ISE “Error type encountered: [ERROR : UInt] (UnresolvedType)” for data inline class wrapped unsigned typeKT-26829
ISE “Error type encountered: [ERROR : UInt] (UnresolvedType)” for using as a field inline class wrapped unsigned typeKT-26843
LazyLightClassMemberMatchingError$NoMatch: Couldn't match ClsMethodImpl:getX MemberIndex(index=1) (with 0 parameters)
on inline class overriding inherited interface method defined in different filesKT-26895
Exception while building light class for @Serializable annotated class
IDE. Android
KT-26169
Android extensions are not recognised by IDE in multiplatform projectsKT-26813
Multiplatform projects without Android target are not imported properly into Android Studio
IDE. Code Style, Formatting
KT-22322
Incorrect indent after pressing Enter after annotation entryKT-26377
Formatter does not add blank line between annotation and type alias (or secondary constructor)
IDE. Decompiler
KT-25853
IDEA hangs when Kotlin bytecode tool window open while editing a class with secondary constructor
IDE. Gradle
KT-26634
Do not generate module for metadataMain compilation on new MPP importKT-26675
Gradle: Dependency on multiple files gets duplicated on import
IDE. Inspections and Intentions
New Features
KT-17687
Quickfix for “Interface doesn't have constructors” to convert to anonymous objectKT-24728
Add quickfix to remove single explicit & unused lambda parameterKT-25533
An intention to create actual
implementations for expect
members annotated with @OptionalExpectationKT-25621
Inspections for functions returning SuccessOrFailureKT-25969
Add an inspection for ‘flatMap { it }’KT-26230
Inspection: replace safe cast (as?) with if
(instance check + early return)
Fixes
KT-13343
Remove explicit type specification breaks code if initializer omits genericsKT-19586
Create actual implementation does nothing when platform module has no source directories.KT-22361
Multiplatform: “Generate equals() and hashCode()” intention generates JVM specific code for arrays in common moduleKT-22552
SimplifiableCallChain should keep formatting and commentsKT-24129
Multiplatform quick fix add implementation suggests generated source locationKT-24405
False “redundant overriding method” for abstract / default interface method combinationKT-24978
Do not highlight foldable if-then for is checksKT-25228
“Create function” from a protected inline method should not produce a private methodKT-25525
@Experimental
-related quick fixes are not suggested for usages in top-level propertyKT-25526
@Experimental
-related quick fixes are not suggested for usages in type aliasKT-25548
@Experimental
API usage: “Add annotation” quick fix incorrectly modifies primary constructorKT-25609
“Unused symbol” inspection reports annotation used only in -Xexperimental
/-Xuse-experimental
settingsKT-25711
“Deferred result is never used” inspection: remove experimental
package (or whole FQN) from descriptionKT-25712
“Redundant ‘async’ call” inspection quick fix action label looks too longKT-25883
False “redundant override” reported on boxed parametersKT-25886
False positive “Replace ‘if’ with elvis operator” for nullable typeKT-25968
False positive “Remove redundant backticks” with keyword yield
KT-26009
“Convert to ‘also’” intention adds an extra it
expressionKT-26015
Intention to move property to constructor adds @field: qualifier to annotationsKT-26179
False negative “Boolean expression that can be simplified” for !true
KT-26181
Inspection for unused Deferred result: report for all functions by defaultKT-26185
False positive “redundant semicolon” with if-elseKT-26187
“Cascade if can be replaced with when” loses lambda curly bracesKT-26289
Redundant let with call expression: don't report for long call chainsKT-26306
“Add annotation target” quick fix adds EXPRESSION annotation, but not SOURCE retentionKT-26343
“Replace ‘if’ expression with elvis expression” produces wrong code in extension function with not null type parameterKT-26353
“Make variable immutable” is a bad name for a quickfix that changes ‘var’ to ‘val’KT-26472
“Maven dependency is incompatible with Kotlin 1.3+ and should be updated” inspection is not included into Kotlin MigrationKT-26492
“Make private” on annotated annotation produces nasty new lineKT-26599
“Foldable if-then” inspection marks if statements that cannot be folded using ?. operatorKT-26674
Move lambda out of parentheses is not proposed for suspend lambdaKT-26676
ReplaceWith always puts suspend lambda in parenthesesKT-26810
“Incompatible kotlinx.coroutines dependency” inspections report library built for 1.3-RC with 1.3-RC plugin
IDE. Multiplatform
KT-20368
Unresolved reference to declarations from kotlin.reflect in common code in multi-platform project: no “Add import” quick-fixKT-26356
New MPP doesn't work with Android projectsKT-26369
Library dependencies don't transitively pass for custom source sets at new MPP import to IDEKT-26414
Remove old multiplatform modules templates from New Project/New Module wizardKT-26517
Create actual ...
generates default constructor parameter valuesKT-26585
Stdlib annotations annotated with @OptionalExpectation are reported with false positive error in common module
IDE. Navigation
KT-18490
Multiplatform project: Set text cursor correctly to file with header on navigation from impl side
IDE. Refactorings
KT-17124
Change signature refactoring dialog unescapes escaped parameter namesKT-25454
Extract function: make default visibility privateKT-26533
Move refactoring on interface shows it as “abstract interface” in the dialog
IDE. Tests Support
KT-26793
Left gutter run icon does not appear for JS tests in old MPP
IDE. Ultimate
KT-19309
Spring JPA Repository IntelliJ tooling with Kotlin
JavaScript
KT-26466
Uncaught ReferenceError: println is not definedKT-26572
Support suspend fun main in JSKT-26628
Support main entry-point without arguments in JS
Libraries
New Features
KT-25039
Any?.hashCode() extensionKT-26359
Use JvmName on parameters of kotlin.Metadata to improve the public APIKT-26398
Coroutine context shall perform structural equality comparison on keysKT-26598
Introduce ConcurrentModificationException actual typealias in the JVM library
Performance Improvements
KT-18483
Check to contains value in range can be dramatically slow
Fixes
KT-17716
JS: Some kotlin.js.Math methods break Integer type safetyKT-21703
Review deprecations in stdlib for 1.3KT-21784
Deprecate and remove org.jetbrains.annotations from kotlin-stdlib in compiler distributionKT-22423
Deprecate mixed integer/floating point overloads of ClosedRange.contains operatorKT-25217
Raise deprecation level for mod operators to ERRORKT-25935
Move kotlin.reflect interfaces to kotlin-stdlib-commonKT-26358
Rebuild anko for new coroutines APIKT-26388
Specialize contentDeepEquals/HashCode/ToString for arrays of unsigned typesKT-26523
EXACTLY_ONCE contract in runCatching doesn't consider lambda exceptions are caughtKT-26591
Add primitive boxing functions to stdlibKT-26594
Change signed-to-unsigned widening conversions to sign extendingKT-26595
Deprecate common ‘synchronized(Any) { }’ functionKT-26596
Rename Random.nextInt/Long/Double parametersKT-26678
Rename buildSequence/buildIterator to sequence/iteratorKT-26929
Kotlin Reflect and Proguard: can’t find referenced class kotlin.annotations.jvm.ReadOnly/Mutable
Reflection
KT-25499
Use-site targeted annotations on property accessors are not visible in Kotlin reflection if there's also an annotation on the propertyKT-25500
Annotations on parameter setter are not visible through reflectionKT-25664
Inline classes don't work properly with reflectionKT-26293
Incorrect javaType for suspend function's returnType
Tools. CLI
KT-24613
Support argfiles in kotlinc with “@argfile”KT-25862
Release ‘-Xprogressive’ as ‘-progressive’KT-26122
Support single quotation marks in argfiles
Tools. Gradle
KT-25680
Gradle plugin: version with non-experimental coroutines and no related settings still runs compiler with -Xcoroutines
optionKT-26253
New MPP model shouldn't generate metadataMain
and metadataTest
source sets on IDE importKT-26383
Common modules dependencies are not mapped at import of a composite multiplatform project with project dependencies into IDEKT-26515
Support -Xcommon-sources in new MPPKT-26641
In new MPP, Gradle task for building classes has a name unexpected for GradleProjectTaskRunnerKT-26784
Support non-kts scripts discovery and compilation in gradle
Tools. JPS
KT-26072
MPP compilation issueKT-26254
JPS build for new MPP model doesn't work: kotlinFacet?.settings?.sourceSetNames is empty
Tools. kapt
KT-25374
Kapt: Build fails with Unresolved local classKT-26540
kapt3 fails to handle to-be-generated superclasses
1.3-M2
Compiler
New Features
KT-6592
Support local variable initialization in lambda arguments to some functionsKT-19323
Allow generic type parameter to have mixed constraints for @InlineOnly functionsKT-24857
Support compatibility wrappers for coroutines in compilerKT-25320
Support limited conversions for constants to simplify interop for Kotlin/NativeKT-25372
Support JvmName on annotation property gettersKT-25495
Release contract DSL as experimentalKT-25557
Metadata that maps coroutine label to the file name and line numberKT-25559
Metadata that maps coroutine spilled state to local variablesKT-25655
Safe or non-null calls required on x following check(x != null)KT-25972
Support reading binary metadata of the next major release
Performance Improvements
KT-24657
Compiler performance issues with big filesKT-26243
Avoid redundant “specialized” method for suspend lambdas.
Fixes
KT-19628
Unresolved reference not reported on data class constructor @get
annotationKT-20830
Nulls can propagate through “enhanced nullability” types on module boundariesKT-21240
Remove suspendCoroutineOrReturn intrinsic from compilerKT-22379
Condition of while-loop with break can produce unsound smartcastKT-23438
Back-end (JVM) Internal error: Failed to generate function suspendCoroutineOrReturnKT-23819
Inline classes: mapping of fully generic classesKT-23857
Annotation with target TYPE is not applicable to TYPE_USE in Java sourcesKT-24717
Allow number literals to be used as unsigned ones with unsigned expected typedKT-24860
Forbid usage function expression as suspend function expressionKT-24872
Do not generate user-defined methods inside box class of inline classKT-24873
Generate equals/hashCode/toString methods for inline classes same as for data classesKT-25246
Incorrect bytecode generated for secondary constructor in inline class + primitive arrayKT-25278
No smart cast for “returns() implies” contract when default argument is omittedKT-25287
Getter-targeted annotations on annotation constructor parameters are lostKT-25293
“Couldn't transform method node” error on compiling inline class with hashCode() method call when underlying value type is basic (number, char, boolean)KT-25299
NoSuchMethodError Foo$Erased.hashCode(Ljava/lang/Object;) for hashCode(), toString() and equals() methods in inline classesKT-25328
“Couldn't transform method node” error on compiling inline class which is wrapping Unit typeKT-25330
CCE “[Ljava.lang.Integer; cannot be cast to Foo” for inline class which is wrapping ArrayKT-25521
Coroutines state machine in Kotlin 1.3 should not have getLabel/setLabelKT-25558
Stabilize field naming and mangling for suspending lambda classesKT-25580
No warning about experimental API when unsigned types are inferredKT-25599
“Exception during code generation” on compiling code with public constructor of unsigned numbers arrayKT-25614
Support secondary constructors for inline classesKT-25683
Compiler support for calling experimental suspend functions and function with experimental suspend function type as parameterKT-25688
Add $continuation to LVTKT-25750
CCE “Foo cannot be cast to java.lang.String” with inline classKT-25760
Inline data class throws java.lang.VerifyError when trying toString() itKT-25794
Incorrect code generated for accessing elements of Array where C is inline classKT-25824
Move SuspendFunctionN fictitious interfaces to kotlin.coroutines packageKT-25825
Allow to distinguish instances of function types from instances of suspend function types via kotlin.coroutines.jvm.internal.SuspendFunction marker interfaceKT-25912
Calling groupingBy+reduce from suspend function causes IncompatibleClassChangeErrorKT-25914
‘==’ for inline class with custom ‘equals’ uses underlying primitive type comparison insteadKT-25973
Report metadata version mismatch upon discovering a .kotlin_module file in the dependencies with an incompatible metadata versionKT-25981
Incorrect code generated for unboxed to boxed inline class equalityKT-25983
Inline class equality uses IEEE 754 instead of total orderKT-26029
Prohibit delegated properties inside inline classesKT-26030
Prohibit implementation by delegation for inline classesKT-26052
Inline Classes: IllegalArgumentException when underlying type is non-null but declared type is nullableKT-26101
Prohibit inline classes with recursive underlying typesKT-26103
Inline class with type parameters is inconsistently mapped to JVM type if underlying type is a primitiveKT-26120
Inline Classes: Class inheritance is allowed but fails when referencing a superclass member
IDE
KT-25316
PARTIAL resolve mode doesn't work when effects system is enabledKT-25611
With Language / API version = “Latest stable” installing 1.3-M1 plugin upgrades actual values to 1.3KT-25681
Remove “Coroutines (experimental)” settings from IDE and do not pass -Xcoroutines
to JPS compiler (since 1.3)KT-25714
Kotlin plugin updater suggests plugins incompatible with current Studio build platformKT-26239
New MPP template: add kotlin-test
libraries to the modules dependencies by defaultKT-26290
Gradle Import: When all modules have the same language/API version use it for project-level settings as well
IDE. Completion
KT-25275
Code completion does not take into account smart casts gotten from “returns implies” contract
IDE. Inspections and Intentions
KT-22330
“Add remaining branch” quickfix doesn't properly import enum classKT-22354
“Add remaining branches with import” quick fix causes KNPE at ImportAllMembersIntention$Companion.importReceiverMembers()KT-26158
KNPE in “Create local variable”
IDE. Multiplatform
KT-26217
“org.jetbrains.kotlin.resolve.MultiTargetPlatform$Common cannot be cast to org.jetbrains.kotlin.resolve.MultiTargetPlatform$Specific” on splitted actuals
IDE. Script
KT-25814
IDE scripting console -> kotlin (JSR-223) - compilation errors - unresolved IDEA classesKT-25822
jvmTarget from the script compiler options is ignored in the IDE
JavaScript
KT-22053
JS: Secondary constructor of Throwable inheritor doesn't call to primary oneKT-25014
Support ‘when’ with subject variable in JS back-endKT-26064
JS inliner calls wrong constructor in incremental buildKT-26117
JS runtime error: ArrayList_init instead of ArrayList_init_0KT-26138
JS: prohibit external inline classKT-26171
Prohibit inline classes as parameter and return type of external declaration
Language design
KT-7566
Annotate kotlin.test.Test.assertNotNull() so that safe dereference isn't required after itKT-14397
Make “smart cast” to non-null string working after isNullOrEmpty() check.KT-19532
Evaluation order for constructor callKT-22274
Restrict statement labels applicability
Libraries
New Features
KT-13814
keys.associateWith { k -> v } functionKT-15539
Random Convenience Method in Ranges (LongRange, IntRange, etc)KT-15695
String/Collection/Map/Array/Sequence.ifEmpty { null }KT-18986
Debug-friendly toString implementation for CoroutineImplKT-25570
Random extensions to generate unsigned random numbersKT-25659
Consider adding SuccessOrFailure.getOrDefault functionKT-25874
Support array copying between two existing arraysKT-25875
Need more access to raw underlying array in unsigned arraysKT-25962
Add contract for ‘synchronized’KT-26339
Introduce CoroutineStackFrame interface for coroutine stack reconstruction in debugger
Fixes
KT-16097
Index overflow when sequence has more than Int.MAX_VALUE elementsKT-17176
Long/Int progressions with Long.MIN_VALUE and Int.MIN_VALUE step are weirdKT-19305
IOStreams#readBytes is badly namedKT-19489
Array.copyOfRange returns value violating declared type when bounds are out of rangeKT-21049
Different behavior in split by regex at JVM and JSKT-23799
Discontinue deprecated artifacts distribution: kotlin-runtime, kotlin-jslib, kotlin-stdlib-jre7/8KT-25274
contract() function has internal visibilityKT-25303
checkNotNull(T?) has no contract in contrast to checkNotNull(T?, () -> Any)KT-25771
SuccessOrFailure.isFailure always returns false when boxedKT-25961
Provide a way to create default-initialized ‘U*Array’KT-26161
String-to-number and number-to-string conversions for unsigned integers
Reflection
KT-14657
Reflection: Provide ability to enumerate all cases of a sealed classKT-16795
KType does not implement KAnnotatedElementKT-21972
Reflection: Implement suspend functions KCallable.callSuspend
, callSuspendBy
, and isSuspend
Tools. CLI
KT-25823
Report a warning or error if an old language version or API version is used
Tools. Gradle
KT-26301
In new MPP, a project with no java
or java-base
plugin applied cannot depend on a published MPP lib or run tests
Tools. Scripts
KT-26142
update maven-central remote repository url
1.3-M1 IDE plugins update
IDE
- Kotlin plugin for Android Studio 3.3 Canary 4 is ready
KT-25713
Android Studio on 182 platform: Gradle project re-import failsKT-25733
“Convert Java File to Kotlin File” action was always disabled
1.3-M1
Language design
KEEP-104
Inline classesKEEP-135
Unsigned integer typesKEEP-95
Experimental API annotationsKT-4895
Support assignment of “when” subject to a variableKT-13762
Prohibit annotations with target ‘EXPRESSION’ and retention ‘BINARY’ or ‘RUNTIME’KT-16681
kotlin allows mutating the field of read-only propertyKT-21515
Restrict visibility of classifiers, nested in companion objects
Compiler
KT-24848
Refine loading Java overrides of Kotlin suspend functionsKT-9580
Report an error if ‘setparam’ target does not make sense for a parameter declarationKT-16310
Nested classes inside enum entries capturing outer membersKT-17981
Type parameter for catch parameter possible when exception is nested in generic, but fails in runtimeKT-21354
Inconsistent behavior of ‘for-in-range’ loop if range is an array variable modified in loop bodyKT-25333
Restrict visibility of Java static members from supertypes of companion objectKT-25623
Do not load experimental coroutines as non-suspend function with additional Continuation parameter
Backend. JVM
KT-6301
Support JvmStatic annotation on interface companion object membersKT-25508
Inject probeCoroutineSuspended to coroutines bodyKT-18987
Unroll recursion in CoroutineImpl.resumeKT-11567
Companion object INSTANCE field more visible than companion object class itselfKT-13764
Support lambdas and function references for arities bigger than 22KT-16615
Do not generate ConstantValue attribute for non-const valsKT-25193
Names of parameters from Java interface methods implemented by delegation are lostKT-25324
VerifyError “Bad type on operand stack” on running code with call of array iterator for array of inline classesKT-25325
CCE “Foo cannot be cast to java.lang.String” for iterating over the list of inline classesKT-25626
Inline class values inside string literals don't use their own toString implementation
Backend. JVM. Coroutines
KT-20219
Inline suspend function can't be used as non-inline functionKT-24863
Support new Continuation API in JVM BEKT-24864
Create new CoroutineImpl and other internal coroutines interfaces
Backend. JVM. Inline
KT-25511
Inline classes fail with cross-inline functions
Binary Metadata
KT-24617
Optional expected annotation is unresolved in a dependent platform moduleKT-25120
RequireKotlin on nested class and its members is not loaded correctlyKT-25273
java.lang.UnsupportedOperationException from incremental JS compilationKT-25310
Write isUnsigned flag into metadata for unsigned types
Frontend
KT-15807
@JvmField is not applicable to interface companion propertiesKT-16962
Annotation classes cannot contain types or static fields because they cannot have a bodyKT-23153
Compiler allows to set non constant value as annotation parameterKT-23362
Move coroutines to package kolin.coroutines for 1.3KT-24861
Fix loading kotlin.suspend compiled with LV=1.2 when release coroutines package is usedKT-25241
Kotlin compiler doesn't warn about usage of lambda/reference with more than 22 parametersKT-25600
NSEE “Collection is empty” after trying to call default constructor of unsigned number class
Frontend. Data-flow analysis
KT-22517
Deprecate smartcasts for local delegated properties
Frontend. Declarations
KT-19618
Data class copy()
call with optional parameters leads to broken code when the class implements an interface with copy()
KT-23277
Prohibit local annotation classesKT-24197
Make ‘mod’ operator error in 1.3
Frontend. Lexer & Parser
KT-24663
Add ‘UL’ suffix to represent number literals of unsigned Long type
Frontend. Resolution and Inference
KT-16908
Support callable references to suspending functionsKT-20588
Report error on single element assignment to varargs in named form in annotationsKT-20589
Report error on single element assignment to varargs in named form in functionsKT-24859
Disallow calls of functions annotated with receiver annotated with @RestrictsSuspension in foreign suspension context
IDE
KT-25466
Make coroutines resolve to be independent of language and API versions set in Kotlin Compiler
settings
IDE. Inspections and Intentions
KT-24243
Support quick fix to enable usages of Experimental/UseExperimentalKT-11154
Spell checking inspection is not suppressableKT-25169
Impossible to suppress UAST/JVM inspections
IDE. Libraries
KT-25129
Idea freezes when Kotlin plugin tries to determine if jar is js lib in jvm module
Libraries
New Features
KEEP-131
, KT-17261
Add random number generator to stdlib and related collection extension functionsKT-7922
Companion object for BooleanKT-8247
Byte size for primitivesKT-16552
Add Sequence.orEmpty()KT-18559
Make SafeContinuation and context impl classes serializableKT-18910
StringBuilder#setLength(0) in non-JVM KotlinKT-21763
Provide Char MIN_VALUE/MAX_VALUE constantsKT-23279
isNullOrEmpty() for collections, maps, and arraysKT-23602
Make kotlin.Metadata public
Fixes
KT-23564
KotlinJS: Math is deprecated yet random is not a global functionKT-24856
Create compatibility wrappers for migration from 1.2 to 1.3 coroutinesKT-24862
Create new Continuation API for coroutines
Reflection
KT-25541
Incorrect parameter names in reflection for inner class constructor from Java class compiled with “-parameters”