Kotlin:JetBrain针对JVM、安卓和浏览器提供的静态类型编程语言
Kotlin:JetBrain针对JVM、安卓和浏览器提供的静态类型编程语言CHANGELOG
1.3.60 EAP 3
Compiler
KT-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-31540
Change initialization order of default values for tail recursive optimized functions
IDE
KT-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 IDE
IDE. Debugger
KT-11395
Breakpoint inside lambda argument of InlineOnly function doesn't work
IDE. Gradle
KT-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"
IDE. Inspections and Intentions
KT-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. Run Configurations
KT-34366
Implement gutters for running tests (multi-platform projects)
Libraries
KT-33864
Read from pseudo-file system is empty
Tools. CLI
KT-24966
Classloader problems when running basic kafka example withkotlin
andkotlinc
Tools. Gradle
KT-33980
Read the granular source sets metadata flag value once and cache it for the current Gradle buildKT-34312
UnsupportedOperationException onrequiresVisibilityOf
in the Kotlin Gradle plugin
Tools. Gradle. JS
KT-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 runner
Tools. J2K
KT-19355
"Variable expected" error after J2K for increment/decrement of an object fieldKT-19569
Java wrappers for primitives are converted to nullable types with nullability errors in KotlinKT-30643
J2K: wrong position of TYPE_USE annotationKT-32518
Nullability information is lost after J2K convertion of constructor with null parameterKT-33941
J2K: Overload resolution ambiguity with assertThat andStackOverflowError
in IDEAKT-33942
New J2K:StackOverflowError
fromorg.jetbrains.kotlin.nj2k.inference.common.BoundTypeCalculatorImpl.boundTypeUnenhanced
KT-34164
J2K: on converting static method references in other .java sources are not correctedKT-34165
J2K: imports are lost in conversion, references resolve to different same-named classesKT-34266
Multiple errors after converting Java class implementing an interface from another file
Tools. Scripts
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-33503
Kapt, Spring Boot: "Could not resolve all files for configuration ':_classStructurekaptKotlin'"
Kotlin Native
Related Kotlin Native changelog can be found separately.
Previous releases
This release also includes the fixes and improvements from the previous EAP release.
Movshin released this
CHANGELOG
1.3.60 EAP 2
Compiler
KT-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
IDE
KT-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 IDE
IDE. Debugger
KT-11395
Breakpoint inside lambda argument of InlineOnly function doesn't work
IDE. Gradle
KT-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"
IDE. Inspections and Intentions
KT-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. Run Configurations
KT-34366
Implement gutters for running tests (multi-platform projects)
Libraries
KT-33864
Read from pseudo-file system is empty
Tools. CLI
KT-24966
Classloader problems when running basic kafka example withkotlin
andkotlinc
Tools. Gradle
KT-33980
Read the granular source sets metadata flag value once and cache it for the current Gradle buildKT-34312
UnsupportedOperationException onrequiresVisibilityOf
in the Kotlin Gradle plugin
Tools. Gradle. JS
KT-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 runner
Tools. J2K
KT-19355
"Variable expected" error after J2K for increment/decrement of an object fieldKT-19569
Java wrappers for primitives are converted to nullable types with nullability errors in KotlinKT-30643
J2K: wrong position of TYPE_USE annotationKT-32518
Nullability information is lost after J2K convertion of constructor with null parameterKT-33941
J2K: Overload resolution ambiguity with assertThat andStackOverflowError
in IDEAKT-33942
New J2K:StackOverflowError
fromorg.jetbrains.kotlin.nj2k.inference.common.BoundTypeCalculatorImpl.boundTypeUnenhanced
KT-34164
J2K: on converting static method references in other .java sources are not correctedKT-34165
J2K: imports are lost in conversion, references resolve to different same-named classesKT-34266
Multiple errors after converting Java class implementing an interface from another file
Tools. Scripts
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-33503
Kapt, Spring Boot: "Could not resolve all files for configuration ':_classStructurekaptKotlin'"
Kotlin Native
Related Kotlin Native changelog can be found separately.
Previous releases
This release also includes the fixes and improvements from the previous EAP release.
Movshin released this
CHANGELOG
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: allowArray::class
everywhere, disallowArray<...>::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 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 reportactual
withoutexpect
placed into a custom platform-agnostic source setKT-27243
LazyLightClassMemberMatchingError when overriding hidden memberKT-28404
Gradle configuration page is missing from a New Project Wizard creation flow for multiplatform templatesKT-30824
No highlighting of declaration/usage of function with functional-type (lambda) parameter on its usageKT-31117
AssertionError atCompletionBindingContextProvider._getBindingContext
when typing any character within string with injected KotlinKT-31139
"Override members" on enum inserts semicolon before enum bodyKT-31810
Paste inside indented.trimIndent()
raw string doesn't respect indentationKT-32401
Exceptions while running IDEA in headless mode for building searchable optionsKT-32543
UltraLight support for Kotlin collections.KT-32544
Support UltraLight classes for local/anonymous/enum classesKT-32799
2019.2 RC (192.5728.74) Kotlin plugin exception during build searchable options (Directory index may not be queried for default project)KT-33008
IDEA does not report in MPP: Upper bound of a type parameter cannot be an arrayKT-33316
Kotlin Facet: make sure the order of allPlatforms value is fixedKT-33561
LazyLightClassMemberMatchingError when overloading synthetic memberKT-33584
Make kotlin light classes return no-arg constructor when no-arg (or jpa) compiler plugin is enabledKT-33775
please remove usages of org.intellij.plugins.intelliLang.inject.InjectorUtils#putInjectedFileUserData(com.intellij.lang.injection.MultiHostRegistrar, com.intellij.openapi.util.Key, T) deprecated eons agoKT-33813
Poor formatting of 'Selected target platforms' and 'Depends on' in facet settingsKT-33937
delay() completion from kotlinx.coroutines causes happening of root package in codeKT-33973
Kotlin objects could abuse idea plugin functionalityKT-34000
Import quickfix does not work for extension methods from objectsKT-34070
"No target platforms selected" message for commonTest facet at mobile shared library projectKT-34191
Since-build .. until-build compatibility ranges are the same for 192 and 193 IDE plugins
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 fordelay
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 breakpoint
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 192
IDE. Gradle. Script
KT-31766
Gradle Kotlin DSL new project template: use type-safe model accessors
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 afteractual
modifier on "Create actual annotation class..." quick fix applied to annotation if it is annotated with commentKT-27270
"Add jar to classpath" quick fix modifies build.gradle of MPP project in a way that fails to be importedKT-28471
"Add initializer" quickfix initializes non-null variable with nullKT-28538
create expected ...
quick fix illegally createsexpect
member with a usage of a platform-specific typeKT-28549
Create actual/expect quick fix for class/object doesn't add import for an inherited memberKT-28620
Create expect/actual ...
quick fix could save @test annotation on generationKT-28740
AE “2 declarations in var bar: [ERROR : No type, no body]” after applying “Create actual class” quick fix for class with property which has not specified typeKT-28947
Backing field has created after applying “Create expected class in common module...” intentionKT-30136
False negative "Redundant explicit 'this'" with local variableKT-30794
Quickfix for unchecked cast produces invalid codeKT-31133
Liveness analysis on enum does not take into account calls to 'values'KT-31433
Incorrect "Create expected class..." for class with supertypeKT-31475
"Create expect..." should delete 'override' modifierKT-31587
Redundantprivate
modifier before primary constructor after createactual
classKT-31921
"Create expected ..."/"Create actual..." quick fix:val
andvararg
modifiers are misordered in the generatedexpect
/actual
declarationKT-31999
"Variable declaration could be moved intowhen
" inspection suggests to inline expression containing return (throw) statementKT-32012
Change parameter type quick fix: Don't use qualified nameKT-32468
False positive SimplifiableCall "filter call could be simplified to filterIsInstance" with expression body function and explicit return typeKT-32479
False positive "Redundant overriding method" with derived property and base function starting withget
,set
oris
(Accidental override)KT-32571
"Create expect" quick fix incorrectly treats multiplatform stdlib typealiased types as platform-specific onesKT-32580
"Remove braces" QF for single-expression function with inferred lambda return type: "ClassCastException: class kotlin.reflect.jvm.internal.KClassImpl cannot be cast to class kotlin.jvm.internal.ClassBasedDeclarationContainer"KT-32582
Ambiguous message for [AMBIGUOUS_ACTUALS] error (master)KT-32586
"Make member open" quick fix doesn't update all the related actualisations of an expected memberKT-32616
"To ordinary string literal" doesn't remove indents, newlines andtrimIndent
KT-32642
"Create expect" quick fix doesn't warn about a platform-specific annotation applied to the generated memberKT-32650
"Replace 'if' with 'when'" removes braces from 'if' statementKT-32694
"Create expect"/"create actual" quick fix doesn't transfer use-site annotationsKT-32737
"Create expect" quick fix addsactual
modifier to an interface function with default implementation without a warningKT-32768
"Create expect" quick fix doesn't warn about a local supertype of anactual
class while generating an expected declarationKT-32829
"Add .jar to the classpath" quick fix creates "compile"/"testCompile" dependencies in build.gradleKT-32972
No "remove braces" inspection for ${this}KT-32981
"Create enum constant" quick fix adds redundant empty lineKT-33060
"Cleanup code" does not remove 'final' keyword for overridden function with non-canonical modifiers orderKT-33115
"Replace overloaded operator with function call" intention should not be shown on incomplete expressionsKT-33150
Don't suggest create expect function from function withprivate
modifierKT-33153
False positive "Redundant overriding method" when overriding package private methodKT-33204
False positive "flatMap call could be simplified to flatten()" with ArrayKT-33299
"Create type parameter from usage" should work with backticksKT-33300
"Create type parameter from usage" suggests for top level propertyKT-33302
KNPE after "Create type parameter from usage" with typealiasKT-33357
'java.lang.Throwable: Assertion failed: Refactorings should be invoked inside transaction 'exception occurs when extracting sealed class from file with the same nameKT-33362
Inspection "Extract class from current file" is not available for 'sealed' keywordKT-33437
“Argument rangeInElement (0,1) endOffset must not exceed descriptor text range (0, 0) length (0).” on creating Kotlin Script files inside packageKT-33612
"Replace with safe call" quick fix moves code to another lineKT-33660
"Convert to anonymous object" with nested SAM interface insertsobject
keyword in the wrong placeKT-33718
"Create enum constant" quick fix adds after semicolonKT-33754
Improve error hint message for "Create expect/actual..."KT-33880
"Convert to range check" produces code that is subject to ReplaceRangeToWithUntil for range with exclusive upper boundKT-33930
Don't suggest "create expect" quick fix onlateinit
andconst
top-level propertiesKT-33981
“KotlinCodeInsightWorkspaceSettings is registered as application service, but requested as project one” on opening QF menu for some fixes in IJ193
IDE. KDoc
KT-20777
KDoc: Type parameters are not shown in sample code
IDE. Multiplatform
KT-26333
IDE incorrectly requiresactual
implementations to be present in all the project source setsKT-28537
Platform-specific type taken from a dependency module isn't reported incommon
codeKT-32562
Provide a registry key to enable/disable hierarchical multiplatform mechanism in 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. 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 atMultiplatform (Android/iOS)
template of the New Project WizardKT-33927
MPP, Kotlin New project wizard: broken project generationKT-34108
Gradle Kotlin DSL: generated project withtasks
element fails on configuration stage with Gradle 4.10KT-34154
New Project wizard: build.gradle.kts: type-safe code sets JVM 1.8 for main, but JVM 1.6 for test
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
ModifyIterable<T>.take(n)
implementation not to call.next()
more than necessaryKT-32532
MutableList.removeAll is lacking documentationKT-32728
CollectionsKt.windowed throws IllegalArgumentException (Illegal Capacity: -1) when size param is Integer.MAX_VALUE due to overflow operation
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 inkotlin
script except forkotlin-runner.jar
KT-26624
Set Thread.contextClassLoader when running programs with 'kotlin' launcher script or scripts with 'kotlinc -script'
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 whenkotlin.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 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, thebrowserWebpack
task does not rerun when themain
compilation's outputs changeKT-32281
Gradle, JS, karma: Headless chrome output is not capturedKT-33288
JS: Incorrect bundle with webpack output.library and source mapsKT-33313
When a Kotlin/JS test task runs using a custom compilation, it doesn't track the compilation outputs in its up-to-date checksKT-33547
Template JS Client and JVM Server works wrong on 1.3.50 KotlinKT-33549
Gradle Kotlin/JS external declarations: search fortypings
key insidepackage.json
KT-33579
Js tests with mocha cannot be runKT-33710
Task "generateExternals" for automatic Dukat execution does not workKT-33716
Gradle, Yarn: yarn is not downloading via YarnSetupTaskKT-34101
CCE class org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest_Decorated cannot be cast to class org.gradle.api.provider.Provider on importing Gradle project with JSKT-34123
"Cannot find node module "kotlin-test-js-runner/kotlin-test-karma-runner.js"" inJS Client and JVM Server
new project wizard template
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 parameter
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] passingname
to String.toScriptSource make script compilation failedKT-32234
"Unable to derive module descriptor" when using Kotlin compiler (embeddable) in Java 9+ modular buildsKT-33529
NCDF running kotlin script from command lineKT-33554
Classpath not passed properly when evaluating standard script withkotlinc
Tools. kapt
KT-31291
Incremental Kapt: IllegalArgumentException fromorg.jetbrains.org.objectweb.asm.ClassVisitor.<init>
KT-33028
Kapt error "Unable to find package java.lang in classpath or bootclasspath" on JDK 11 with-source 8
KT-33050
kapt does not honor source/target compatibility of enclosing projectKT-33052
Kapt generates invalid java stubs for enum members with class bodies on JDK 11KT-33056
Incremental kapt is disabled due tojavaslang.match.PatternsProcessor
processor on classpath when Worker API is enabledKT-33493
1.3.50, org.jetbrains.org.objectweb.asm.ClassVisitor.KT-33515
Incremental kapt fails when I remove an annotated fileKT-33889
Incremental KAPT: NoSuchMethodError: 'java.util.regex.Pattern com.sun.tools.javac.processing.JavacProcessingEnvironment.validImportStringToPattern(java.lang.String)'
Kotlin Native
Related Kotlin Native changelog can be found separately.
Previous releases
This release also includes the fixes and improvements from the previous releases.
Content
The release contains the JVM version of Kotlin compiler and also one native system dependent version for every major platform (Linux, macOS, and Windows).
CHANGELOG
1.3.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'sthis
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 implicitreturn
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 finaltoString
,equals
orhashCode
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 onUnit
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 andwithJava()
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 explicitindices
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 emptyif
operator andalso
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" withoperator 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 suggestmight be const
onactual
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 suggestAdd 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 intowhen
' 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
Onlywhen
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" withjava.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
UselanguageSettings
for a quick fix to enable experimental features in multiplatform projectsKT-28529
Don't suggestcommonMain
source set as a target ofcreate 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 addsactual
modifier to aconst
/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 emptyjsTest
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 tonodejs { 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 withfinal
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 ofString.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 tomain
instead ofjvmMain
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 atkapt.kotlin.generated
as sources to compileKT-31471
KAPT prints "IncrementalProcessor" instead of processor name in verbose mode
Kotlin Native
Related Kotlin Native changelog can be found separately.
Previous releases
This release also includes the fixes and improvements from the previous releases.
Assets
6
Movshin released this
CHANGELOG
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'sthis
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 implicitreturn
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 finaltoString
,equals
orhashCode
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 completion
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 onUnit
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 andwithJava()
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 explicitindices
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 emptyif
operator andalso
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" withoperator 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 suggestmight be const
onactual
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 suggestAdd 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 intowhen
' 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
Onlywhen
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" withjava.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
UselanguageSettings
for a quick fix to enable experimental features in multiplatform projectsKT-28529
Don't suggestcommonMain
source set as a target ofcreate 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 addsactual
modifier to aconst
/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 emptyjsTest
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 tonodejs { 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.SubpluginsIT
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 withfinal
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 ofString.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 require
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 tomain
instead ofjvmMain
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 atkapt.kotlin.generated
as sources to compileKT-31471
KAPT prints "IncrementalProcessor" instead of processor name in verbose mode
Kotlin Native
Related Kotlin Native changelog can be found separately.
CHANGELOG
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'sthis
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 reference
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 implicitreturn
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 plugin
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 completion
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 onUnit
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 andwithJava()
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 wizard
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 explicitindices
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 emptyif
operator andalso
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" withoperator 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 suggestmight be const
onactual
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 suggestAdd 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 intowhen
' 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
Onlywhen
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" withjava.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
UselanguageSettings
for a quick fix to enable experimental features in multiplatform projectsKT-28529
Don't suggestcommonMain
source set as a target ofcreate 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 addsactual
modifier to aconst
/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 cursor
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 emptyjsTest
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 tonodejs { 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.
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. 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 input
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 withfinal
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 ofString.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 characters
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 tomain
instead ofjvmMain
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 atkapt.kotlin.generated
as sources to compile
Kotlin Native
Related Kotlin Native changelog can be found separately.
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'sthis
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.
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 implicitreturn
in Kotlin Uast
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 style
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 onUnit
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 access
IDE. Gradle
KT-19693
Import package prefix from GradleKT-30667
Dependencies of a module on a multiplatform one with a JVM target andwithJava()
configured, are incorrectly resolved in IDEKT-32300
Add possibility to distinguish kotlin source root from java source root
IDE. Gradle. Script
KT-31779
"Highlighting in scripts is not available"
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 explicitindices
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 position
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" withoperator 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 suggestmight be const
onactual
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 suggestAdd 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 intowhen
' 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
Onlywhen
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" withjava.util.ArrayList<Int>()
KT-32454
"Replace Java static method with Kotlin analog": invalid quick fix on 'abs()' function
IDE. KDoc
KT-30985
Missing line break in quick doc for enum constant
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 receiver
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 cursor
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.additionalArguments
IDE. Tests Support
KT-30814
MPP, 191 platform: with Gradle test runner run configuration for platform test is created without tasks
JS. Tools
KT-31527
Keep generating emptyjsTest
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 lazily
Libraries
KT-29372
measureTime that returns both the result of block and elapsed timeKT-32083
Incorrect ReplaceWith annotation on kotlin.js.pow
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 master
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 abnormally
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 Gradle
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 withfinal
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 convertion
Tools. JPS
KT-27181
Compiler arguments are listed twice on JPS build of Gradle-based project
Tools. REPL
KT-15125
Support JSR 223 bindings directly via script variablesKT-32085
Kotlinc REPL: "java.lang.NoClassDefFoundError: org/jline/reader/LineReaderBuilder"
Tools. kapt
KT-30578
build/generated/source/kaptKotlin
is added as source directory tomain
instead ofjvmMain
when jvm { withJava() } is configured in a multiplatform project
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 within
check
JavaScript
KT-32215
Reified generic doesn't work withByteArray
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
Previous releases
This release also includes the fixes and improvements from the previous releases.
Assets
6
CHANGELOG
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
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 andAny?
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
Renameresult
to$result
in coroutines' LVTKT-29184
Implement inference for coroutines according to the @BuilderInference contract in NIKT-29772
Contracts don't work ifcontract
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 annotation
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 beisEquivalentTo
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" forprovideDelegate
extensionKT-31332
Kotlin AnnotatedElementsSearch does't support Kotlinobject
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)
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 secondthis
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 reimport
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 withequals
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 withif
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 anif
branch if statement insideif
is blockKT-29556
"Remove redundant 'let' call" doesn't rename parameter with conventioninvoke
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 emptyif
operator andalso
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 toexpect
/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
MakeKotlinElementActionsFactory.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 tonodejs { 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 emptyuseKarma {}
lambda the execution ofjsBrowserTest
never stopsKT-31686
Gradle/JS: useKarma { useConfigDirectory() } fails to configureKT-31694
Gradle, NPM, windows: creating symlink requires administrator privilege
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"
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 fromkotlin-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
CHANGELOG
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
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 andAny?
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
Renameresult
to$result
in coroutines' LVTKT-29184
Implement inference for coroutines according to the @BuilderInference contract in NIKT-29772
Contracts don't work ifcontract
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 later
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 beisEquivalentTo
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" forprovideDelegate
extensionKT-31332
Kotlin AnnotatedElementsSearch does't support Kotlinobject
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()
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 secondthis
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: KotlinClassWithDelegatedPropertyRenderer
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 mode
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 withequals
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 withif
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 anif
branch if statement insideif
is blockKT-29556
"Remove redundant 'let' call" doesn't rename parameter with conventioninvoke
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 type
IDE. Libraries
KT-30790
Unstable IDE navigation behavior toexpect
/actual
symbols in stdlibKT-30821
K/N: Navigation downwards the hierarchy in stdlib source code opens to stubs
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
MakeKotlinElementActionsFactory.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 part
IDE. Tests Support
KT-30995
Gradle test runner: "No tasks available" for a test class in non-MPP project
IDE. Wizards
KT-30645
Update New Project Wizard templates related to Kotlin/JS
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 tonodejs { testTask { useNodeJs() } }
configuration fails : "Could not find which method to invoke"
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 overflow
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)
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. Scripts
KT-30986
Missing dependencies when JSR-223 script engines are used fromkotlin-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.
Movshin released this
CHANGELOG
1.3.40
Compiler
New Features
KT-29915
ImplementtypeOf
on JVM
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 andAny?
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
Renameresult
to$result
in coroutines' LVTKT-29184
Implement inference for coroutines according to the @BuilderInference contract in NIKT-29772
Contracts don't work ifcontract
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 marker
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 beisEquivalentTo
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" forprovideDelegate
extensionKT-31332
Kotlin AnnotatedElementsSearch does't support Kotlinobject
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 secondthis
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)
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 projects
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 master
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 withequals
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 withif
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 anif
branch if statement insideif
is blockKT-29556
"Remove redundant 'let' call" doesn't rename parameter with conventioninvoke
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 argument
IDE. Libraries
KT-30790
Unstable IDE navigation behavior toexpect
/actual
symbols in stdlibKT-30821
K/N: Navigation downwards the hierarchy in stdlib source code opens to stubs
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
MakeKotlinElementActionsFactory.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 part
IDE. Tests Support
KT-30995
Gradle test runner: "No tasks available" for a test class in non-MPP project
IDE. Wizards
KT-30645
Update New Project Wizard templates related to Kotlin/JS
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 runtime
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 resolution
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 plugins
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 5
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. kapt
Movshin released this
CHANGELOG
1.3.40
Compiler
New Features
KT-29915
ImplementtypeOf
on JVM
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 andAny?
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
Renameresult
to$result
in coroutines' LVTKT-29184
Implement inference for coroutines according to the @BuilderInference contract in NIKT-29772
Contracts don't work ifcontract
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 marker
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 beisEquivalentTo
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" forprovideDelegate
extensionKT-31332
Kotlin AnnotatedElementsSearch does't support Kotlinobject
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 secondthis
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)
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 projects
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 master
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 withequals
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 withif
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 anif
branch if statement insideif
is blockKT-29556
"Remove redundant 'let' call" doesn't rename parameter with conventioninvoke
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 argument
IDE. Libraries
KT-30790
Unstable IDE navigation behavior toexpect
/actual
symbols in stdlibKT-30821
K/N: Navigation downwards the hierarchy in stdlib source code opens to stubs
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
MakeKotlinElementActionsFactory.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 part
IDE. Tests Support
KT-30995
Gradle test runner: "No tasks available" for a test class in non-MPP project
IDE. Wizards
KT-30645
Update New Project Wizard templates related to Kotlin/JS
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 runtime
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 resolution
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 plugins
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 5
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. kapt
1.3.31
Compiler
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
Previous releases
This release also includes the fixes and improvements from the previous releases.
Assets
9
CHANGELOG
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 whenclass
is missing fromenum
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 ofexpect
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]" withValidated
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 case
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 afterInsert curly braces around variable
inspectionKT-29013
Injection with interpolation loses suffixKT-29025
ImplementUReferenceExpression.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 null
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 functions
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
Missingthis
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 debugging
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: therootProject
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 dependencies
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 withthis
passed as an argumentKT-28773
Kotlin/JS: Wrong inspection to replace .equals() with == on dynamic valuesKT-28851
'Convert parameter to receiver' addsArray<out T>
wrapper tovararg
parameter and dropsoverride
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 aconst 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" forexternal
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 ofmain()
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 inwhen
branchKT-30010
Introduce alternative quick-fixes formap[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 thread
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 ofScriptTemplatesFromDependenciesProvider
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
Addfill
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 behavior
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 themaven
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)
Movshin released this
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 whenclass
is missing fromenum
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 ofexpect
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]" withValidated
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 objects
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 afterInsert curly braces around variable
inspectionKT-29013
Injection with interpolation loses suffixKT-29025
ImplementUReferenceExpression.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 tree
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 functions
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
Missingthis
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 evaluation
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 import
IDE. Gradle. Script
KT-27684
Gradle Kotlin DSL: therootProject
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.kts
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 negation
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 withthis
passed as an argumentKT-28773
Kotlin/JS: Wrong inspection to replace .equals() with == on dynamic valuesKT-28851
'Convert parameter to receiver' addsArray<out T>
wrapper tovararg
parameter and dropsoverride
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 aconst 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" forexternal
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 ofmain()
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 inwhen
branchKT-30010
Introduce alternative quick-fixes formap[key]!!
KT-30166
False positive "Redundant companion reference" on companion with the outer class name
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 ofScriptTemplatesFromDependenciesProvider
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 around
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 themaven
pluginKT-29971
ConcurrentModificationException in Kotlin Gradle plugin (GradleCompilerRunner.buildModulesInfo)
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. Scripts
KT-29296
Script evaluation - impossible to set base classloader to null
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.3
mglukhikh released this
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 whenclass
is missing fromenum
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 ofexpect
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]" withValidated
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 project
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 afterInsert curly braces around variable
inspectionKT-29013
Injection with interpolation loses suffixKT-29025
ImplementUReferenceExpression.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 IntelliJ
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 functions
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 IntelliJ
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
Missingthis
word completion in "Evaluate expression" windowKT-28728
Async stack trace support for Kotlin coroutines
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.6
IDE. Gradle. Script
KT-27684
Gradle Kotlin DSL: therootProject
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.kts
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 entries
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 withthis
passed as an argumentKT-28773
Kotlin/JS: Wrong inspection to replace .equals() with == on dynamic valuesKT-28851
'Convert parameter to receiver' addsArray<out T>
wrapper tovararg
parameter and dropsoverride
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 aconst 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" forexternal
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 UserType
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" 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 ofScriptTemplatesFromDependenciesProvider
IDE. Tests Support
KT-25956
With failed test function class gutter icon is "failure", but function icon is "success"
Libraries
KT-27108
.toDouble()
and.toFloat()
conversions for unsigned typesKT-29520
Random.Default cannot be used asJavaRandom
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 targets
Tools. J2K
KT-29713
java.lang.IllegalStateException at converting @RestController java file to Kotlin file
Tools. Maven
KT-29251
NSME: MavenProjectsManager.scheduleArtifactsDownloading() at KotlinMavenImporter.scheduleDownloadStdlibSources()
Tools. Scripts
KT-29296
Script evaluation - impossible to set base classloader to null
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.3
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 withkotlin.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
Assets
6
1.3.20
Compiler
Fixes
KT-8341
Local variable cannot have type parametersKT-15453
Annotations are ignored on accessors of private propertiesKT-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-23739
CompilationException: Back-end (JVM) Internal error: Couldn't inline method call: Unmapped line number in inlined functionKT-25702
@JvmOverloads should not be allowed on constructors of annotation classesKT-26126
Front-end doesn't check that fun with contract andcallsInPlace
effect is an inline function; compiler crashes on val initializationKT-26384
Compiler crash with nested multi-catch try, finally block and inline functionKT-28061
Safe call operator and contracts: false negative "A 'return' expression required in a function with a block body"KT-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-28983
Wrong mapping of flexible inline class type to primitive type
IDE
Fixes
KT-13420
Extend Selection: lambda: whole literal with braces is selected after parametersKT-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-25156
SOE in IDE on destructuring delegated property declarationKT-27941
MPP: Gradle import with "using qualified names" creates 2 modules with the same content rootKT-28199
Could not get javaResolutionFacade for groovy elementsKT-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. Code Style, Formatting
KT-5590
kotlin: line comment must not be on first column by default
IDE. Debugger
KT-27462
Main without parameters just with inline fun call: Debug: last Step Over can't finish the process
IDE. Inspections and Intentions
KT-26836
Add quick fix for type mismatch between signed and unsigned types for constant literalsKT-27590
No “Change parameter” quick fix for changing argument type from UInt to IntKT-28699
Add "Convert to also" intentionKT-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. Multiplatform
KT-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 = Yes
IDE. Navigation
KT-22637
Go to actual declarations for enum values should choose correct value if they are written in one line
IDE. Scratch
KT-28045
'Run kotlin scratch' is shown for jest tests
IDE. Script
KT-25818
IDE Scripting Console files shouldn't have scratch panelKT-27960
Add capability to import one Script to another
JS. Tools
KT-27361
Support NamedConstructor in idl2kKT-28821
Kotlin/JS missing ClipboardEvent definitionsKT-28864
Better support for TrackEvent, MediaStreamTrackEvent and RTCTrackEvent in idl
Libraries
KT-20743
Use strongly typed events in Kotlin2js DOM APIKT-23932
add "PointerEvent" for kotlin-stdlib-jsKT-24336
Kotlin/JS missing SVGMaskElement interfaceKT-29187
JS toTypedArray returns array of invalid type for LongArray and BooleanArray
Tools. Gradle
New Features
KT-27394
Add kotlinOptions in compilations of the new MPP modelKT-27535
Implement AARs building and publishing in new MPP
Performance Improvements
KT-28037
In-process Kotlin compiler leaks thread local values
Fixes
KT-28355
Gradle Kotlin plugin publishes "api" dependencies with runtime scopeKT-28469
Gradle Plugin: Task DiscoverScriptExtensionsTask is never up-to-dateKT-28482
Always rewrite the MPP dependencies in POMs, even when publishing with Gradle metadataKT-28749
ExposeallKotlinSourceSets
inKotlinCompilation
KT-29058
Gradle Plugin: Multiplatform project with maven-publish plugin does not use project group for "metadata" artifact POM
Tools. JPS
KT-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. kapt
KT-26304
Build fails with "cannot find symbol" using gRPC with dagger; stub compilation fails to find classes generated by kaptKT-27711
kapt: ArrayIndexOutOfBoundsException: 0KT-27910
Kapt lazy stub without explicit type that initializes an object expression breaks stubbingKT-28024
Kapt: Add option for printing timings for individual annotation processors
romanart released this
Assets
6
1.3.20
Compiler
KT-21862
java.lang.NoSuchFieldError when calling isInitialized on a lateinit "field" of a companion objectKT-22704
Allow expect annotations with actual typealias to Java to have default argument values both in expected and in actualKT-23466
kotlin compiler opens-reads-closes .class files many times overKT-28361
Class literal for inline class should return KClass object of the wrapper
IDE
Fixes
KT-23864
Copyright message is duplicated in kotlin file in root package after updating copyrightKT-25681
Remove "Coroutines (experimental)" settings from IDE and do not pass-Xcoroutines
to JPS compiler (since 1.3)KT-27907
Exception on processing auto-generated classes from AS
IDE. Code Style, Formatting
KT-25417
Incorrect formatting for comments on property accessors
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. Inspections and Intentions
KT-26481
Flaky false positive "Receiver parameter is never used" for local extension functionKT-27619
Inspection "Invalid property key" should check whether reference is soft or not
IDE. Multiplatform
KT-26893
Multiplatform projects fail to import into Android Studio 3.3, 3.4
JS. Tools
KT-28786
Float values initialized incorrectly while translating from IDL
Tools. Gradle
New Features
KT-28842
Enable JS IC by default
Fixes
KT-28037
In-process Kotlin compiler leaks thread local valuesKT-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-26808
Deprecation Warning Gradle 5 - "DefaultSourceDirectorySet constructor has been deprecated"
Tools. kapt
Assets
9
- experimental-kotlin-compiler-linux-x64.zip 66.1 MB
- experimental-kotlin-compiler-macos-x64.zip 66 MB
- experimental-kotlin-compiler-windows-x64.zip 64.8 MB
- kotlin-compiler-1.3.11.zip 35.5 MB
- kotlin-native-linux-1.3.11.tar.gz 74.9 MB
- kotlin-native-macos-1.3.11.tar.gz 222 MB
- kotlin-native-windows-1.3.11.zip 63.7 MB
- Source code (zip)
- Source code (tar.gz)
Content
The release contains the JVM version of Kotlin compiler and also one native system dependent version for every major platform (Linux, macOS, and Windows). Those binaries are built with Excelsior JET AOT compiler (https://www.excelsiorjet.com/) and have faster startup time which is suitable for building small files or scripts.
Android Studio Compatibility
Please note that Kotlin 1.3.11 and its plugin are only compatible with AS 3.2.1, 3.3 RC2+ and 3.4 C6+
Changelog
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
Previous releases
This release also includes the fixes and improvements from the previous releases.
Assets
6
Content
The release contains the JVM version of Kotlin compiler and also one native system dependent version for every major platform (Linux, macOS, and Windows). Those binaries are built with Excelsior JET AOT compiler (https://www.excelsiorjet.com/) and have faster startup time which is suitable for building small files or scripts.
Changelog
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
IDE. Debugger
KT-27540
2018.3 and 2019.1 Debugger: Evaluating anything fails with KNPE in LabelNormalizationMethodTransformerKT-27833
Evaluate exception in 183/191 withasm-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
Previous releases
This release also includes the fixes and improvements from the previous releases.
Assets
6
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
Previous releases
This release also includes the fixes and improvements from the previous releases.
1.2.70 EAP 1
4u7 released this
Compiler
KT-13860
Avoid creating KtImportDirective PSI elements for default imports in LazyImportScopeKT-22201
Generate nullability annotations for data class toString and equals methods.KT-23870
SAM adapter method returns null-values for "genericParameterTypes"KT-24597
IDE doesn't report missing constructor on inheritance of an expected class in common moduleKT-25120
RequireKotlin on nested class and its members is not loaded correctlyKT-25193
Names of parameters from Java interface methods implemented by delegation are lostKT-25405
Mismatching descriptor type parameters on inner typesKT-25604
Disable callable references to exprerimental suspend functionsKT-25665
Add a warning for annotations which target non-existent accessorsKT-25894
Do not generate body for functions from Any in light class builder mode
IDE
KT-18301
kotlin needs crazy amount of memoryKT-23668
Methods with internal visibility have different mangling names in IDE and in compilerKT-24892
please remove usages of com.intellij.util.containers.ConcurrentFactoryMap#ConcurrentFactoryMap deprecated long agoKT-25144
Quick fix “Change signature” changes class of argument when applied for descendant classes with enabled -Xnew-inference optionKT-25356
Update Gradle Kotlin-DSL icon according to new IDEA 2018.2 icons style
IDE. Debugger
KT-25147
Conditional breakpoints doesn't work incommon
code of MPPKT-25152
MPP debug doesn't navigate tocommon
code if there are same named files incommon
andplatform
parts
IDE. Inspections and Intentions
New Features
KT-6633
Inspection to detect unnecessary "with" callsKT-25146
Add quick-fix for default parameter value removal
Fixes
KT-11154
Spell checking inspection is not suppressableKT-18681
"Replace 'if' with 'when'" generates unnecessary else blockKT-24001
"Suspicious combination of == and ===" false positiveKT-24385
Convert lambda to reference refactor produces red code with companion objectKT-24694
Move lambda out of parentheses should not be applied for multiple functional parametersKT-25089
False-positive "Call chain on collection type can be simplified" formap
andjoinToString
on aHashMap
KT-25169
Impossible to suppress UAST/JVM inspectionsKT-25321
Safe delete of a class property implementing constructor parameter at the platform side doesn't remove all the related declarationsKT-25539
Make class open
quick fix doesn't update all the related implementations of a multiplatform classKT-25608
Confusing "Redundant override" inspection message
IDE. KDoc
KT-22815
Update quick documentation
IDE. Libraries
KT-25129
Idea freezes when Kotlin plugin tries to determine if jar is js lib in jvm module
IDE. Navigation
KT-25317
Go to actual declaration
keyboard shortcut doesn't work forexpect object
, showing "No implementations found" messageKT-25492
Find usages: keepExpected functions
option state while searching for usages of a regular function
IDE. Project View
KT-22823
Text pasted into package is parsed as Kotlin before Java
IDE. Refactorings
KT-22072
"Convert MutableMap.put to assignment" should not be applicable when put is used as expressionKT-23590
Incorrect conflict warning "Internal function will not be accessible" when moving class from jvm to common moduleKT-23594
Incorrect conflict warning about IllegalStateException when moving class from jvm to common moduleKT-23772
MPP: Refactor / Rename class does not update name of file containing related expect/actual classKT-23914
Safe search false positives during moves between common and actual modulesKT-25326
Refactor/Safe Delete doesn't reportactual object
usagesKT-25438
Refactor/Safe delete of a multiplatform companion object: usage is not reported
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
IDE. Ultimate
KT-25595
Rename Kotlin-specific "Protractor" run configuration to distinguish it from the one provided by NodeJS plugin
Reflection
KT-25541
Incorrect parameter names in reflection for inner class constructor from Java class compiled with "-parameters"
Tools. CLI
KT-21910
Add-Xfriend-paths
compiler argument to support internal visibility checks in production/test sources from external build systemsKT-25554
Do not report warnings when-XXLanguage
was used to turn on deprecation
Tools. JPS
KT-25540
JPS JS IC does not recompile usages from other modules when package is different
Tools. kapt
KT-25396
KAPT Error: Unknown option: infoAsWarnings
Kotlin 1.2.60
udalov released this
1.2.60
Compiler
KT-13762
Prohibit annotations with target 'EXPRESSION' and retention 'BINARY' or 'RUNTIME'KT-18882
Allow code to have platform specific annotations when compiled for different platformsKT-20356
Internal compiler error - This method shouldn't be invoked for INVISIBLE_FAKE visibilityKT-22517
Deprecate smartcasts for local delegated propertiesKT-23153
Compiler allows to set non constant value as annotation parameterKT-23413
IndexOutOfBoundsException on local delegated properties fromprovideDelegate
if there's at least one non-local delegated propertyKT-23742
Optimise inline class redundant boxing on return from inlined lambdaKT-24513
High memory usage in Kotlin and 2018.1KT-24617
Optional expected annotation is unresolved in a dependent platform moduleKT-24679
KotlinUCallExpression doesn't resolve callee if it is an inline methodKT-24808
NI: nestedwithContext
call is reported withSuspension functions can be called only within coroutine body
errorKT-24825
NoClassDefFoundError on SAM adapter in a nested call in inlined lambda since 1.2.40KT-24859
Disallow calls of functions annotated with receiver annotated with @RestrictsSuspension in foreign suspension contextKT-24911
Kotlin 1.2.50: UI for @RecentlyNonNull looks strange in the editorKT-25333
Restrict visibility of Java static members from supertypes of companion object
IDE
Performance Improvements
KT-20924
Slow KtLightAbstractAnnotation.getClsDelegate() lightAnnotations.ktKT-23844
Kotlin property accessor searcher consumes CPU when invoked on a scope consisting only of Java files
Fixes
KT-4311
"Override members" works wrong when function is extensionKT-13948
IDE plugins: improve descriptionKT-15300
"INFO - project.TargetPlatformDetector - Using default platform" flood in logKT-17350
Implement members from interface fails when one of the generic types is unresolvedKT-17668
Edit Configuration dialog doesn't have a button for choosing the "Main class" fieldKT-19102
Wrong equals() and hashCode() code generated for arrays of arraysKT-20056
TCE on creating object of an anonymous class in Kotlin scriptKT-21863
Imported typealias to object declared as "Unused import directive" when only referring to methodsKT-23272
Git commit not workingKT-23407
Pasting callable reference from different package suggests imports, but inserts incompilable FQNKT-23456
UAST: Enum constant constructor call arguments missing from Kotlin enumsKT-23942
Fix building light-classes for MPP project containing multi-file facadesKT-24072
Kotlin SDK appears as many times as there are modules in the projectKT-24412
Kotlin create project wizard: Kotlin/JS no SDKKT-24933
please remove usages of com.intellij.psi.search.searches.DirectClassInheritorsSearch#search(com.intellij.psi.PsiClass, com.intellij.psi.search.SearchScope, boolean, boolean) deprecated long agoKT-24943
Project leak via LibraryEffectiveKindProviderImplKT-24979
IndexNotReadyException in KtLightClassForSourceDeclaration#isInheritorKT-24958
Escaping goes insane when editing interpolated string in injected fragment editorKT-25024
Wrong resolve scope while resolving java.lang.String PsiClassReferenceTypeKT-25092
SourcePsi should be physical leaf element but got OPERATION_REFERENCEKT-25242
'Resolved to error element' highlighting is confusingly similar to an active live templateKT-25249
Uast operates "Unit" type instead of "void"KT-25255
Preferences | Languages & Frameworks | Kotlin Updates: show currently installed versionKT-25297
Inconsistency inKotlinULambdaExpression
andKotlinLocalFunctionULambdaExpression
KT-25414
Support checking eap-1.3 channel for updatesKT-25524
UAST: proper resolve for function variable callKT-25546
Create popup in 1.2.x plugin if user upgrade version in gradle or maven to kotlin 1.3
IDE. Android
KT-17946
Android Studio: remove Gradle configurator on configuring KotlinKT-23040
Wrong run configuration classpath in a mixed Java/Android projectKT-24321
Actual implementations from Android platform module are wrongly reported withno corresponding expected declaration
in IDEKT-25018
ExceptionDependencies for org.jetbrains.kotlin.resolve.calls.* cannot be satisfied
on a simple project in AS 3.2 Canary
IDE. Code Style, Formatting
KT-14066
Comments on when branches are misplacedKT-25008
Formatter: Use single indent for multiline elvis operator
IDE. Completion
KT-23627
Autocompletion inserts FQN of stdlib functions inside of scoping lambda called on explicitthis
KT-25239
Add postfix template for listOf/setOf/etc
IDE. Debugger
KT-23162
Evaluate expression in multiplatform common test fails with JvmName missing when run in JVMKT-24903
Descriptors leak fromKotlinMethodSmartStepTarget
IDE. Decompiler
KT-23981
Kotlin bytecode decompiler works in AWT thread
IDE. Gradle
KT-24614
Gradle can't get published versions until commenting repositories in settings.gradle
IDE. Gradle. Script
KT-24588
Multiple Gradle Kotlin DSL script files dependencies lifecycle is flawed
IDE. Hints
KT-22432
Type hints: Don't include ".Companion" in the names of types defined inside companion objectKT-22653
Lambda return hint is duplicated for increment/decrement expressionsKT-24828
Double return hints on labeled expressions
IDE. Inspections and Intentions
New Features
KT-7710
Intention to convert lambda to anonymous functionKT-11850
Addnested lambdas with implicit parameters
warningKT-13688
Add 'Change to val' quickfix for delegates without setValueKT-13782
Intention (and may be inspection) to convert toString() call to string templateKT-14779
Inspection to replace String.format with string templatesKT-15666
Unused symbol: delete header & its implementations togetherKT-18810
Quick-fix for 'is' absence in whenKT-22871
Add quickfix to move const val into companion objectKT-23082
Add quick-fix for type variance conflictKT-23306
Add intention of putting remaining when-values even in end, and even if there is "else"KT-23897
Inspections: report extension functions declared in same classKT-24295
Add "Remove 'lateinit'" quickfixKT-24509
Inspection "JUnit tests should return Unit"KT-24815
Add Quick fix to remove illegal "const" modifierKT-25238
Add quickfix wrapping expression into listOf/setOf/etc in case of type mismatch
Fixes
KT-12298
Fix override signature doesn't remove bogus recieverKT-20523
Don't mark as unused functions with@kotlin.test.*
annotations and classes with such membersKT-20583
Report "redundant let" even forit
in argument positionKT-21556
"Call chain on collection type may be simplified" generates uncompiled code on IntArrayKT-22030
Invalid Function can be private inspectionKT-22041
"Convert lambda to reference" suggested incorrectlyKT-22089
Explict This inspection false negative with synthetic Java propertyKT-22094
Can be private false positive with function called from lambda inside inline functionKT-22162
Add indices to loop fails on destructing declaratorKT-22180
"Can be private" false positive when function is called by inline function inside property initializerKT-22371
"Create secondary constructor" quick fix is not suggested for supertype constructor referenceKT-22758
"Create ..." and "Import" quick fixes are not available on unresolved class name in primary constructorKT-23105
Create actual implementation shouldn't generate default parameter valuesKT-23106
Implement methods should respect actual modifier as wellKT-23326
"Add missing actual members" quick fix fails with AE at KtPsiFactory.createDeclaration() with wrong expect codeKT-23452
"Remove unnecessary parentheses" reports parens of returned functionKT-23686
"Add missing actual members" should not add primary actual constructor if it's present as secondary oneKT-23697
Android project with 'org.jetbrains.kotlin.platform.android' plugin: all multiplatform IDE features are absentKT-23752
False positive "Remove variable" quick fix on property has lambda or anonymous function initializerKT-23762
Add missing actual members quick fix adds actual declaration for val/var again if it was in the primary constructorKT-23788
Can't convert long char literal to string if it starts with backslashKT-23860
Import quick fix is not available in class constructor containing transitive dependency parametersKT-24349
False positive "Call on collection type may be reduced"KT-24374
"Class member can have private visibility" inspection reportsexpect
membersKT-24422
Android Studio erroneously reporting that@Inject lateinit var
can be made privateKT-24423
False inspection warning "redundant type checks for object"KT-24425
wrong hint remove redundant CompanionKT-24537
False positiveproperty can be private
on actual properties in a multiplatform projectKT-24557
False warning "Remove redundant call" for nullable.toStringKT-24562
actual extension function implementation warns Receiver type unusedKT-24632
Quick fix to add getter and setter shouldn't usefield
when it is not allowedKT-24816
Inspection: Sealed subclass can be object shouldn't be reported on classes with state
IDE. JS
KT-5948
JS: project shouldn't have "Java file" in new item menu
IDE. Multiplatform
KT-23722
MPP: Run tests from common modules should recompile correspond JVM implementation moduleKT-24159
MPP: Show Kotlin Bytecode does not work for common codeKT-24839
freeCompilerArgs are not imported into Kotlin facet of Android module in IDEA
IDE. Navigation
KT-11477
Kotlin searchers consume CPU in a project without any Kotlin filesKT-17512
Finding usages of actual declarations in common modulesKT-20825
Header icon on actual class is lost on new line addingKT-21011
Difference in information shown for "Is subclassed by" gutter on mouse hovering and clickingKT-21113
Expected gutter icon on companion object is unstableKT-21710
Override gutter markers are missing for types in sources jarKT-22177
Double "A" icon for an expect class with constructorKT-23685
Navigation from expect part to actual with ctrl+alt+B shortcut should provide a choice to what actual part to goKT-24812
Search suggestion text overlaps for long names
IDE. Refactorings
KT-15159
Introduce typealias: Incorrect applying of a typealias in constructor calls in val/var and AssertionErrorKT-15351
Extract Superclass/Interface: existent target file name is rejected; TCE: "null cannot be cast to non-null type org.jetbrains.kotlin.psi.KtFile" at ExtractSuperRefactoring.createClass()KT-16281
Extract Interface: private member with Make Abstract = Yes produces incompilable codeKT-16284
Extract Interface/Superclass: reference to private member turns incompilable, when referring element is made abstractKT-17235
Introduce Parameter leaks listener if refactoring is cancelled while in progressKT-17742
Refactor / Rename Java getter toget()
does not update Kotlin referencesKT-18555
Refactor / Extract Interface, Superclass: Throwable: "Refactorings should be invoked inside transaction" at RefactoringDialog.show()KT-18736
Extract interface: import for property type is omittedKT-20260
AE “Unexpected container” on calling Refactor → Move for class in Kotlin scriptKT-20465
"Introduce variable" in build.gradle.kts creates a variable with no template to change its nameKT-20467
Refactor → Extract Function: CCE “KtNamedFunction cannot be cast to KtClassOrObject” on calling refactoring for constructorKT-20469
NDFDE “Descriptor wasn't found for declaration VALUE_PARAMETER” on calling Refactor → Extract Function on constructor argumentKT-22931
Converting a scoping function with receiver into one with parameter may change the semanticsKT-23983
Extract function: Reified type parameters are not extracted properlyKT-24460
Rename refactoring does not update super callKT-24574
Changing Java constructor signature from Kotlin usage is totally brokenKT-24712
Extract Function Parameter misses 'suspend' for lambda typeKT-24763
"Change signature" refactoring breaks Kotlin codeKT-24968
Type hints disappear after "Copy" refactoringKT-24992
The IDE got stuck showing a modal dialog (kotlin refactoring) and doesn’t react to any actions
IDE. Script
KT-25373
Deadlock in idea plugin
IDE. Tests Support
KT-18319
Gradle: Run tests action does not work when test name contains spacesKT-22306
Empty gutter menu for main() and test methods in Kotlin/JS projectKT-23672
JUnit test runner is unaware of @kotlin.test.Test tests when used in common multiplatform module, even if looked from JVM multiplatform moduleKT-25253
No “run” gutter icons for tests in Kotlin/JS project
JavaScript
KT-22376
JS: TranslationRuntimeException on 'for (x in ("a"))'KT-23458
ClassCastException when compiling when statements to JS
Libraries
KT-24204
Empty progression last value overflows resulting in progression being non-emptyKT-25351
TestNGAsserter
needs to swap expected/actual
Reflection
KT-16616
KotlinReflectionInternalError: Reflection on built-in Kotlin types is not yet fully supported in getMembersOfStandardJavaClasses.ktKT-17542
KotlinReflectionInternalError on ::values of enum classKT-20442
ReflectJvmMapping.getJavaConstructor() fails with Call is not yet supported for anonymous classKT-21973
Method.kotlinFunction for top level extension function returns null when app is started from test sourcesKT-22048
Reflection explodes when attempting to get constructors of an enum with overridden method
Tools. Android Extensions
KT-22576
Parcelable: Allow Parcelize to work with object and enum typesKT-24459
@IgnoredOnParcel annotation doesn't work for @ParcelizeKT-24720
Parcelable: java.lang.LinkageError
Tools. Compiler Plugins
KT-23808
Array in @Parcelize class generates an java.lang.VerifyError
Tools. Gradle
KT-18621
org.jetbrains.kotlin.incremental.fileUtils.kt conflicts when compiler and gradle plugin in classpathKT-24497
Externalized all-open plugin is not applied to a projectKT-24559
Multiple Kotlin daemon instances are started when building MPP with GradleKT-24560
Multiple Kotlin daemon instances are started when Gradle parallel build is usedKT-24653
Kotlin plugins don't work when classpath dependency is not declared in current or root projectKT-24675
Use Gradle dependency resolution to get compiler classpathKT-24676
Use Gradle dependency resolution to form compiler plugin classpathKT-24946
ISE: "The provided plugin org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar is not compatible with this version of compiler" when build simple Gradle with Zulu JDK
Tools. Incremental Compile
KT-25051
Change in "kotlin-android" project w/o package parts causes non-incremental compilation of dependent modules
Tools. J2K
KT-9945
converting java to kotlin confuses git
Tools. JPS
KT-19957
Support incremental compilation to JS in JPSKT-22611
Support compiling scripts in JPSKT-23558
JPS: Support multiplatform projectsKT-23757
JPS: Incremental multiplatform projects compilationKT-24936
Don't use internal terms in compiler progress messagesKT-25218
Build fails as Javac doesn't see Kotlin classes
Tools. Scripts
KT-24926
NoSuchElementException in TemplateAnnotationVisitor when upgrading the Gradle Kotlin DSL to Kotlin 1.2.50
Tools. kapt
KT-24313
Unable to use KAPT when dependency to it is added to buildSrcKT-24449
'kapt.kotlin.generated' is not marked as source root in Android Studio 3.1 and 3.2KT-24538
Kapt performs Kotlin compilation when annotation processors are not configuredKT-24919
Caused by: org.gradle.api.InvalidUserDataException: 'projectDir' is not a fileKT-24963
gradle kapt plugin's assumption on build dir causing duplicate class errorKT-24985
Kapt: Allow to disable info->warning mapping in loggerKT-25071
kapt sometimes emits java stubs with imports that should be static importsKT-25131
Kapt should not load annotation processors when generating stubs
Kotlin 1.2.60 RC2
udalov released this
Compiler
KT-22517
Deprecate smartcasts for local delegated propertiesKT-24911
Kotlin 1.2.50: UI for @RecentlyNonNull looks strange in the editorKT-25333
Restrict visibility of Java static members from supertypes of companion object
IDE
KT-15300
"INFO - project.TargetPlatformDetector - Using default platform" flood in logKT-24979
IndexNotReadyException in KtLightClassForSourceDeclaration#isInheritorKT-25242
'Resolved to error element' highlighting is confusingly similar to an active live templateKT-25414
Support checking eap-1.3 channel for updatesKT-25524
UAST: proper resolve for function variable call
IDE. Android
KT-17946
Android Studio: remove Gradle configurator on configuring Kotlin
IDE. Refactorings
KT-23983
Extract function: Reified type parameters are not extracted properly
IDE. Script
KT-25373
Deadlock in idea plugin
Language design
KT-13762
Prohibit annotations with target 'EXPRESSION' and retention 'BINARY' or 'RUNTIME'
Libraries
KT-25351
TestNGAsserter
needs to swap expected/actual
Tools. Android Extensions
KT-22576
Parcelable: Allow Parcelize to work with object and enum typesKT-24459
@IgnoredOnParcel annotation doesn't work for @ParcelizeKT-24720
Parcelable: java.lang.LinkageError
Tools. Compiler Plugins
KT-23808
Array in @Parcelize class generates an java.lang.VerifyError
Tools. JPS
KT-22611
Support compiling scripts in JPS
Tools. kapt
KT-24313
Unable to use KAPT when dependency to it is added to buildSrcKT-24449
'kapt.kotlin.generated' is not marked as source root in Android Studio 3.1 and 3.2KT-24919
Caused by: org.gradle.api.InvalidUserDataException: 'projectDir' is not a fileKT-24963
gradle kapt plugin's assumption on build dir causing duplicate class errorKT-24985
Kapt: Allow to disable info->warning mapping in loggerKT-25071
kapt sometimes emits java stubs with imports that should be static imports
Kotlin 1.3-M1
ilya-g released this
1.3-M1
Language design
KEEP-104
Inline classesKEEP-135
Unsigned integer typesKEEP-95
Experimental API annotationsKT-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 classcopy()
call with optional parameters leads to broken code when the class implements an interface withcopy()
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 inKotlin 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"
Kotlin 1.2.60 RC
udalov released this
Compiler
KT-18882
Allow code to have platform specific annotations when compiled for different platformsKT-24617
Optional expected annotation is unresolved in a dependent platform moduleKT-24825
NoClassDefFoundError on SAM adapter in a nested call in inlined lambda since 1.2.40
IDE
KT-25249
Uast operates "Unit" type instead of "void"KT-25297
Inconsistency inKotlinULambdaExpression
andKotlinLocalFunctionULambdaExpression
IDE. Completion
KT-23627
Autocompletion inserts FQN of stdlib functions inside of scoping lambda called on explicitthis
KT-25239
Add postfix template for listOf/setOf/etc
IDE. Gradle. Script
KT-24588
Multiple Gradle Kotlin DSL script files dependencies lifecycle is flawed
IDE. Inspections and Intentions
KT-25238
Add quickfix wrapping expression into listOf/setOf/etc in case of type mismatch
Libraries
KT-24204
Empty progression last value overflows resulting in progression being non-empty
Tools. Gradle
KT-24946
ISE: "The provided plugin org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar is not compatible with this version of compiler" when build simple Gradle with Zulu JDK
Tools. Incremental Compile
KT-25051
Change in "kotlin-android" project w/o package parts causes non-incremental compilation of dependent modules
Kotlin 1.2.60 EAP 2
udalov released this
Compiler
KT-20356
Internal compiler error - This method shouldn't be invoked for INVISIBLE_FAKE visibilityKT-23153
Compiler allows to set non constant value as annotation parameter
IDE
KT-20056
TCE on creating object of an anonymous class in Kotlin scriptKT-23844
Kotlin property accessor searcher consumes CPU when invoked on a scope consisting only of Java filesKT-24943
Project leak via LibraryEffectiveKindProviderImplKT-25092
SourcePsi should be physical leaf element but got OPERATION_REFERENCEKT-25255
Preferences | Languages & Frameworks | Kotlin Updates: show currently installed version
IDE. Inspections and Intentions
KT-15666
Unused symbol: delete header & its implementations togetherKT-20523
Don't mark as unused functions with@kotlin.test.*
annotations and classes with such membersKT-23105
Create actual implementation shouldn't generate default parameter valuesKT-23326
"Add missing actual members" quick fix fails with AE at KtPsiFactory.createDeclaration() with wrong expect codeKT-23686
"Add missing actual members" should not add primary actual constructor if it's present as secondary oneKT-23762
Add missing actual members quick fix adds actual declaration for val/var again if it was in the primary constructor
IDE. Navigation
KT-11477
Kotlin searchers consume CPU in a project without any Kotlin filesKT-17512
Finding usages of actual declarations in common modules
IDE. Refactorings
KT-15351
Extract Superclass/Interface: existent target file name is rejected; TCE: "null cannot be cast to non-null type org.jetbrains.kotlin.psi.KtFile" at ExtractSuperRefactoring.createClass()KT-16281
Extract Interface: private member with Make Abstract = Yes produces incompilable codeKT-16284
Extract Interface/Superclass: reference to private member turns incompilable, when referring element is made abstractKT-17235
Introduce Parameter leaks listener if refactoring is cancelled while in progressKT-17742
Refactor / Rename Java getter toget()
does not update Kotlin referencesKT-18555
Refactor / Extract Interface, Superclass: Throwable: "Refactorings should be invoked inside transaction" at RefactoringDialog.show()KT-18736
Extract interface: import for property type is omittedKT-24968
Type hints disappear after "Copy" refactoringKT-24992
The IDE got stuck showing a modal dialog (kotlin refactoring) and doesn’t react to any actions
IDE. Tests Support
KT-22306
Empty gutter menu for main() and test methods in Kotlin/JS projectKT-25253
No “run” gutter icons for tests in Kotlin/JS project
Reflection
KT-16616
KotlinReflectionInternalError: Reflection on built-in Kotlin types is not yet fully supported in getMembersOfStandardJavaClasses.ktKT-17542
KotlinReflectionInternalError on ::values of enum classKT-20442
ReflectJvmMapping.getJavaConstructor() fails with Call is not yet supported for anonymous classKT-21973
Method.kotlinFunction for top level extension function returns null when app is started from test sourcesKT-22048
Reflection explodes when attempting to get constructors of an enum with overridden method
Tools. JPS
KT-25218
Build fails as Javac doesn't see Kotlin classes
Tools. kapt
KT-25131
Kapt should not load annotation processors when generating stubs
Kotlin 1.2.51
ligee released this
1.2.51
Backend. JVM
KT-23943
Wrong autoboxing for non-null inline class inside elvis withnull
constantKT-24952
EnumConstantNotPresentExceptionProxy from Java reflection on annotation class with target TYPE on JVM < 8KT-24986
Android project release build with ProGuard enabled crashes with IllegalAccessError: Final field cannot be written to by method
Binary Metadata
KT-24944
Exception from stubs: "Unknown type parameter with id = 1" (EA-120997)
Reflection
KT-23962
MalformedParameterizedTypeException when reflecting GeneratedMessageLite.ExtendableMessage
Tools. Gradle
KT-24956
Kotlin Gradle plugin's inspectClassesForKotlinIC task for the new 1.2.50 release takes incredibly longKT-23866
Kapt plugin should pass arguments from compiler argument providers to annotation processorsKT-24716
1.2.50 emits warning "Classpath entry points to a non-existent location:"KT-24832
Inter-project IC does not work when "kotlin-android" project depends on "kotlin" projectKT-24938
Gradle parallel execution fails on multi-module Gradle ProjectKT-25027
Kapt plugin: Kapt and KaptGenerateStubs tasks have some incorrect inputs
Tools. Scripts
KT-24926
NoSuchElementException in TemplateAnnotationVisitor when upgrading the Gradle Kotlin DSL to Kotlin 1.2.50
Kotlin 1.2.60 EAP 1
udalov released this
1.2.60
Compiler
KT-23413
IndexOutOfBoundsException on local delegated properties fromprovideDelegate
if there's at least one non-local delegated propertyKT-23742
Optimise inline class redundant boxing on return from inlined lambdaKT-24513
High memory usage in Kotlin and 2018.1KT-24679
KotlinUCallExpression doesn't resolve callee if it is an inline methodKT-24808
NI: nestedwithContext
call is reported withSuspension functions can be called only within coroutine body
errorKT-24859
Disallow calls of functions annotated with receiver annotated with @restrictssuspension in foreign suspension context
IDE
New Features
KT-24827
Allow to do an additional check for Kotlin plugin update before an actual install
Performance Improvements
KT-20924
Slow KtLightAbstractAnnotation.getClsDelegate() lightAnnotations.kt
Fixes
KT-4311
"Override members" works wrong when function is extensionKT-13948
IDE plugins: improve descriptionKT-17350
Implement members from interface fails when one of the generic types is unresolvedKT-17668
Edit Configuration dialog doesn't have a button for choosing the "Main class" fieldKT-19102
Wrong equals() and hashCode() code generated for arrays of arraysKT-21863
Imported typealias to object declared as "Unused import directive" when only referring to methodsKT-23272
Git commit not workingKT-23407
Pasting callable reference from different package suggests imports, but inserts incompilable FQNKT-23456
UAST: Enum constant constructor call arguments missing from Kotlin enumsKT-23942
Fix building light-classes for MPP project containing multi-file facadesKT-24072
Kotlin SDK appears as many times as there are modules in the projectKT-24412
Kotlin create project wizard: Kotlin/JS no SDKKT-24933
please remove usages of com.intellij.psi.search.searches.DirectClassInheritorsSearch#search(com.intellij.psi.PsiClass, com.intellij.psi.search.SearchScope, boolean, boolean) deprecated long agoKT-24958
Escaping goes insane when editing interpolated string in injected fragment editorKT-25024
Wrong resolve scope while resolving java.lang.String PsiClassReferenceType
IDE. Android
KT-23040
Wrong run configuration classpath in a mixed Java/Android projectKT-24321
Actual implementations from Android platform module are wrongly reported withno corresponding expected declaration
in IDEKT-25018
ExceptionDependencies for org.jetbrains.kotlin.resolve.calls.* cannot be satisfied
on a simple project in AS 3.2 Canary
IDE. Code Style, Formatting
KT-14066
Comments on when branches are misplacedKT-25008
Formatter: Use single indent for multiline elvis operator
IDE. Debugger
KT-23162
Evaluate expression in multiplatform common test fails with JvmName missing when run in JVMKT-24903
Descriptors leak fromKotlinMethodSmartStepTarget
IDE. Decompiler
KT-23981
Kotlin bytecode decompiler works in AWT thread
IDE. Gradle
KT-24614
Gradle can't get published versions until commenting repositories in settings.gradle
IDE. Hints
KT-22432
Type hints: Don't include ".Companion" in the names of types defined inside companion objectKT-22653
Lambda return hint is duplicated for increment/decrement expressionsKT-24828
Double return hints on labeled expressions
IDE. Inspections and Intentions
New Features
KT-7710
Intention to convert lambda to anonymous functionKT-11850
Addnested lambdas with implicit parameters
warningKT-13688
Add 'Change to val' quickfix for delegates without setValueKT-13782
Intention (and may be inspection) to convert toString() call to string templateKT-14779
Inspection to replace String.format with string templatesKT-18810
Quick-fix for 'is' absence in whenKT-22871
Add quickfix to move const val into companion objectKT-23082
Add quick-fix for type variance conflictKT-23306
Add intention of putting remaining when-values even in end, and even if there is "else"KT-23897
Inspections: report extension functions declared in same classKT-24295
Add "Remove 'lateinit'" quickfixKT-24509
Inspection "JUnit tests should return Unit"KT-24815
Add Quick fix to remove illegal "const" modifier
Fixes
KT-12298
Fix override signature doesn't remove bogus recieverKT-20583
Report "redundant let" even forit
in argument positionKT-21556
"Call chain on collection type may be simplified" generates uncompiled code on IntArrayKT-22030
Invalid Function can be private inspectionKT-22041
"Convert lambda to reference" suggested incorrectlyKT-22089
Explict This inspection false negative with synthetic Java propertyKT-22094
Can be private false positive with function called from lambda inside inline functionKT-22162
Add indices to loop fails on destructing declaratorKT-22180
"Can be private" false positive when function is called by inline function inside property initializerKT-22371
"Create secondary constructor" quick fix is not suggested for supertype constructor referenceKT-22758
"Create ..." and "Import" quick fixes are not available on unresolved class name in primary constructorKT-23106
Implement methods should respect actual modifier as wellKT-23452
"Remove unnecessary parentheses" reports parens of returned functionKT-23697
Android project with 'org.jetbrains.kotlin.platform.android' plugin: all multiplatform IDE features are absentKT-23752
False positive "Remove variable" quick fix on property has lambda or anonymous function initializerKT-23788
Can't convert long char literal to string if it starts with backslashKT-23860
Import quick fix is not available in class constructor containing transitive dependency parametersKT-24349
False positive "Call on collection type may be reduced"KT-24374
"Class member can have private visibility" inspection reportsexpect
membersKT-24422
Android Studio erroneously reporting that@Inject lateinit var
can be made privateKT-24423
False inspection warning "redundant type checks for object"KT-24425
wrong hint remove redundant CompanionKT-24537
False positiveproperty can be private
on actual properties in a multiplatform projectKT-24557
False warning "Remove redundant call" for nullable.toStringKT-24562
actual extension function implementation warns Receiver type unusedKT-24632
Quick fix to add getter and setter shouldn't usefield
when it is not allowedKT-24816
Inspection: Sealed subclass can be object shouldn't be reported on classes with state
IDE. JS
KT-5948
JS: project shouldn't have "Java file" in new item menu
IDE. Multiplatform
KT-23722
MPP: Run tests from common modules should recompile correspond JVM implementation moduleKT-24159
MPP: Show Kotlin Bytecode does not work for common codeKT-24839
freeCompilerArgs are not imported into Kotlin facet of Android module in IDEA
IDE. Navigation
KT-20825
Header icon on actual class is lost on new line addingKT-21011
Difference in information shown for "Is subclassed by" gutter on mouse hovering and clickingKT-21113
Expected gutter icon on companion object is unstableKT-21710
Override gutter markers are missing for types in sources jarKT-22177
Double "A" icon for an expect class with constructorKT-23685
Navigation from expect part to actual with ctrl+alt+B shortcut should provide a choice to what actual part to goKT-24812
Search suggestion text overlaps for long names
IDE. Refactorings
KT-15159
Introduce typealias: Incorrect applying of a typealias in constructor calls in val/var and AssertionErrorKT-20260
AE “Unexpected container” on calling Refactor → Move for class in Kotlin scriptKT-20465
"Introduce variable" in build.gradle.kts creates a variable with no template to change its nameKT-20467
Refactor → Extract Function: CCE “KtNamedFunction cannot be cast to KtClassOrObject” on calling refactoring for constructorKT-20469
NDFDE “Descriptor wasn't found for declaration VALUE_PARAMETER” on calling Refactor → Extract Function on constructor argumentKT-22931
Converting a scoping function with receiver into one with parameter may change the semanticsKT-24460
Rename refactoring does not update super callKT-24574
Changing Java constructor signature from Kotlin usage is totally brokenKT-24712
Extract Function Parameter misses 'suspend' for lambda typeKT-24763
"Change signature" refactoring breaks Kotlin code
IDE. Tests Support
KT-18319
Gradle: Run tests action does not work when test name contains spacesKT-23672
JUnit test runner is unaware of @kotlin.test.Test tests when used in common multiplatform module, even if looked from JVM multiplatform module
JavaScript
KT-22376
JS: TranslationRuntimeException on 'for (x in ("a"))'KT-23458
ClassCastException when compiling when statements to JS
Tools. CLI
KT-24891
please remove usages of com.intellij.psi.impl.compiled.ClsCustomNavigationPolicy deprecated long ago
Tools. Gradle
KT-18621
org.jetbrains.kotlin.incremental.fileUtils.kt conflicts when compiler and gradle plugin in classpathKT-24497
Externalized all-open plugin is not applied to a projectKT-24559
Multiple Kotlin daemon instances are started when building MPP with GradleKT-24560
Multiple Kotlin daemon instances are started when Gradle parallel build is usedKT-24653
Kotlin plugins don't work when classpath dependency is not declared in current or root projectKT-24675
Use Gradle dependency resolution to get compiler classpathKT-24676
Use Gradle dependency resolution to form compiler plugin classpath
Tools. J2K
KT-9945
converting java to kotlin confuses git
Tools. JPS
KT-19957
Support incremental compilation to JS in JPSKT-23558
JPS: Support multiplatform projectsKT-23757
JPS: Incremental multiplatform projects compilationKT-24936
Don't use internal terms in compiler progress messages
Tools. Scripts
KT-24926
NoSuchElementException in TemplateAnnotationVisitor when upgrading the Gradle Kotlin DSL to Kotlin 1.2.50
Tools. kapt
KT-24538
Kapt performs Kotlin compilation when annotation processors are not configured
Kotlin 1.2.50
ligee released this
1.2.50
Compiler
KT-23360
Do not serialize annotations with retention SOURCE to metadataKT-24278
Hard-code to kotlin compiler annotation for android library migrationKT-24472
Support argfiles in kotlinc with -XargfileKT-24593
Support -XXLanguage:{+|-}LanguageFeature compiler arguments to enable/disable specific featuresKT-24637
Introduce "progressive" mode of compiler
Backend. JS
KT-23094
JS compiler: Delegation fails to pass the continuation parameter to child suspend functionKT-23582
JS: Fails to inline, produces bad codeKT-24335
JS: Invalid implement of external interface
Backend. JVM
KT-12330
Slightly improve generated bytecode for data class equals/hashCode methodsKT-18576
Debugger fails to show decomposed suspend lambda parametersKT-22063
Add intrinsics for javaObjectType and javaPrimitiveTypeKT-23402
Internal error: Couldn't inline method call because the compiler couldn't obtain compiled body for inline function with reified type parameterKT-23704
UnstablecheckExpressionValueIsNotNull()
generation in bytecodeKT-23707
Unstable bridge generation orderKT-23857
Annotation with target TYPE is not applicable to TYPE_USE in Java sourcesKT-23910
@jvmoverloads doesn't work with default arguments in common codeKT-24427
Protected function having toArray-like signature from collection becomes public in bytecodeKT-24661
Support binary compatibility mode for @jvmdefault
Frontend
KT-21129
Unused parameter in property setter is not reportedKT-21157
Kotlin script: engine can take forever to eval certain code after several timesKT-22740
REPL slows down during extensions compilingKT-23124
Kotlin multiplatform project causes IntelliJ build errorsKT-23209
Compiler throwing frontend exceptionKT-23589
Report a warning on local annotation classesKT-23760
Unable to implement common interface with fun member function with typealiased parameter
Android
KT-23244
Option to Disable View Binding generation in Kotlin Android Extensions Plugin
IDE
KT-8407
TestNG: running tests from context creates new run configuration every timeKT-9218
Searching for compilable files takes too longKT-15019
Editor:args
reference in .kts file is redKT-18769
Expand Selection on opening curly brace should select the entire block right awayKT-19055
Idea hangs on copy-paste big Kotlin filesKT-20605
Unresolved reference on instance from common module functionKT-20824
Type mismatch for common function taking a non-mapped Kotlin's expected class from stdlib-common, with actual typealias on JVMKT-20897
Can't navigate to declaration after PsiInvalidElementAccessException exceptionKT-22527
Kotlin UAST does not evaluate values inside delegation expressionsKT-22868
Implementing anexpected class
declaration usingactual typealias
produces "good code that is red"KT-22922
Override Members should add experimental annotation when requiredKT-23384
Hotspot in org.jetbrains.kotlin.idea.caches.resolve.IDELightClassGenerationSupport.getKotlinInternalClasses(FqName, GlobalSearchScope) IDELightClassGenerationSupport.kt ?KT-23408
Don't render @nonnull and @nullable annotations in parameter info for Java methodsKT-23557
Expression Bodies should have implicitreturn
in UastKT-23745
Unable to implement common interfaceKT-23746
Logger$EmptyThrowable "[kts] cannot find a valid script definition annotation on the class class ScriptTemplateWithArgs" with LivePlugin enabledKT-23975
Move Kotlin internal actions under Idea Internal actions menuKT-24268
Other main menu itemKT-24438
ISE “The provided plugin org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar is not compatible with this version of compiler” after rebuilding simple Gradle-based project via JPS.
IDE. Configuration
KT-10935
Add menu entry to create new kotlin .kts scriptsKT-20511
Library added from maven (using IDEA UI) is not detected as Kotlin/JS library (since type="repository")KT-20665
Kotlin Gradle script created by New Project/Module wizard fails with Gradle 4.1+KT-21844
Create Kotlin class dialog: make class abstract automaticallyKT-22305
Language and API versions of Kotlin compiler are “Latest” by default in some ways of creating new projectKT-23261
New MPP design: please show popup with error message if module name is not setKT-23638
Kotlin plugin breaks project opening for PhpStorm/WebStormKT-23658
Unclear options “Gradle” and “Gradle (Javascript)” on configuring Kotlin in Gradle- and Maven-based projectsKT-23845
IntelliJ Maven Plugin does not pass javaParameters option to Kotlin facetKT-23980
Move "Update Channel" from "Configure Kotlin Plugin Updates" to settingsKT-24504
Existent JPS-based Kotlin/JS module is converted to new format, while New Project wizard and facet manipulations still create old format
IDE. Debugger
KT-23886
Both java and kotlin breakpoints in kotlin filesKT-24136
Debugger: update drop-down menu for the line with lambdas
IDE. Editing
KT-2582
When user inputs triple quote, add matching triple quote automaticallyKT-5206
Long lists of arguments are not foldableKT-23457
Auto-import and Import quick fix do not suggest classes from common module [Common test can't find class with wordAbstract
in name.]KT-23235
Super slow editing with auto imports enabled
IDE. Gradle
KT-23234
Test names for tests containing inner classes are sporadically reported to teamcity runs.KT-23383
Optional plugin dependency for kotlin gradle plugin 'java' subsystem dependent featuresKT-22588
Resolver for 'project source roots and libraries for platform JVM' does not know how to resolve on Gradle Kotlin DSL project without Java and KotlinKT-23616
Synchronize script dependencies not at Gradle SyncKT-24444
Do not store proxy objects from Gradle importer in the project modelKT-24586
MVNFE “Cannot resolve external dependency org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.41 because no repositories are defined.” on creating Gradle project with Kotlin only (probably due to lack of repositories block)KT-24671
dependencies missed in buildscript block after creating new Gradle-based project in 173 IDEA
IDE. Inspections and Intentions
New Features
KT-7822
Convert foreach to for loop should place caret on the variable declarationKT-9943
Quick fix/Intention to indent a raw stringKT-15063
Inspection for coroutine: unused Deferred resultKT-16085
Inspection "main should return Unit"KT-20305
Inspection: Refactor sealed sub-class to objectKT-21413
Missing inspection: parentheses can be deleted when the only constructor parameter is a function not existingKT-23137
Intention for converting to block comment and vise versaKT-23266
Add intention(s) to put arguments / parameters on one lineKT-23419
Intention to replace vararg with array and vice versaKT-23617
Add inspection: redundant internal in local anonymous object / classKT-23775
IntelliJ plugin: improve "accessor call that can be replaced with property"KT-24235
Inspection to replace async.await with withContextKT-24263
AddMake variable immutable
quickfix for constKT-24433
Inspection for coroutines: unused async result
Performance Improvements
KT-23566
"Can be private" works on ResolutionResultsCache.kt (from Kotlin project) enormously slow
Fixes
KT-6364
Incorrect quick-fixes are suggested for nullable extension function callKT-11156
Incorrect highlighting for nested class in "Redundant SAM-constructor" inspectionKT-11427
"Replace if with when" does not take break / continue into accountKT-11740
Invert if condition intention should not remove line breaksKT-12042
"Merge with next when" is not applicable when the statements delimited by semicolon or commentKT-12168
"Remove explicit type specification" intention produce incompilable code in case of function typeKT-14391
RemoveUnnecessaryParenthesesIntention lost comment on closing parenthesisKT-14556
Quickfix to suggest use of spread operator does not work with mapOfKT-15195
Redundant parentheses shouldn't be reported if lambda is not on the same lineKT-16770
Change type of function quickfix does not propose most idiomatic solutionsKT-19629
"Convert to primary constructor" quick fix should not moveinit{...}
section downKT-20123
Kotlin Gradle script: “Refactoring cannot be performed. Cannot modify build.gradle.kts” for some refactorings and intentionsKT-20332
Unused property declaration suppression by annotation doesn't work if annotation is targeted to getterKT-21878
"arrayOf() call can be replaced by array litteral [...]" quick fix inserts extra parenthesesKT-22092
Intention "Specify return type explicitly": Propose types from overriden declarationsKT-22615
"Replace with" intention does not work for equal namesKT-22632
Gutter icon "go to actual declaration" is absent for enum values on actual sideKT-22741
Wrong suggestion forReplace 'if' expression with elvis expression
KT-22831
Inspection for converting to elvis operator does not work for local varsKT-22860
"Add annotation target" quick fix does not take into account existent annotations in Java sourceKT-22918
Create interface quickfix is missing 'current class' containerKT-23133
"Remove redundant calls of the conversion method" wrongly shown for Boolan to Int conversionKT-23167
Report "use expression body" also on left braceKT-23194
Inspection "map.put() should be converted to assignment" leads to red code in case of labled returnKT-23303
"Might be const" inspection does not check explicit type specificationKT-23320
Quick fix to add constructor invocation doesn't work for sealed classesKT-23321
Intention to move type to separate file shouldn't be available for sealed classesKT-23346
Lift Assignment quick fix incorrectly processes block assignmentsKT-23377
Simplify boolean expression produces incorrect results when mixing nullable and non-nullable variablesKT-23465
False positivesuspicious callable reference
on lambda invoke with parametersKT-23511
"Remove parameter" quick fix makes generic function call incompilable when type could be inferred from removed parameter onlyKT-23513
"Remove parameter" quick fix makes caret jump to the top of the editorKT-23559
Wrong hint text for "assignment can be replaced with operator assignment"KT-23608
AE “Failed to create expression from text” after applying quick fix “Convert too long character literal to string”KT-23620
False positiveRedundant Companion reference
on calling object from companionKT-23634
'Add use-site target' intention drops annotation argumentsKT-23753
"Remove variable" quick fix should not remove commentKT-23756
Bogus "Might be const" warning in object expressionKT-23778
"Convert function to property" intention shows broken warningKT-23796
"Create extension function/property" quick fix suggests one for nullable type while creates for not-nullKT-23801
"Convert to constructor" (IntelliJ) quick fix uses wrong use-site target for annotating propertiesKT-23977
wrong hint Unit redundantKT-24066
'Remove redundant Unit' false positive when Unit is returned as AnyKT-24165
@deprecated ReplaceWith Constant gets replaced with nothingKT-24207
Add parameter intent/red bulb should use auto casted type.KT-24215
ReplaceWith produces broken code for lambda following default parameter
IDE. Multiplatform
KT-20406
Overload resolution ambiguity in IDE on expect class / actual typealias from kotlin-stdlib-common / kotlin-stdlibKT-24316
Missing dependencies in Kotlin MPP when using gradle composite builds
IDE. Navigation
KT-7622
Searching usages of a field/constructor parameter in a private class seems to scan through the whole projectKT-23182
Find Usages checks whether there are unused variables in functions which contain search result candidatesKT-23223
Navigate to actual declaration from actual usage
IDE. Refactorings
KT-12078
Introduce Variable adds explicit type when invoked on anonymous objectKT-15517
Change signature refactoring shows confusing warning dialogKT-22387
Change signature reports "Type cannot be resolved" for class from different packageKT-22669
Refactor / Copy Kotlin source to plain text causes CCE: "PsiPlainTextFileImpl cannot be cast to KtFile" at CopyKotlinDeclarationsHandler$doCopy$2$1$1.invoke()KT-22888
Rename completion cuts off all characters except letters from existent nameKT-23298
AE: "2 declarations in null..." on rename of a field toobject
orclass
KT-23563
null by org.jetbrains.kotlin.idea.refactoring.rename.KotlinMemberInplaceRenameHandler$RenamerImpl exception on trying in-place Rename of non-scratch functionsKT-23613
Kotlin safe delete processor handles java code when it should notKT-23644
Named parameters in generated Kotlin AnnotationsKT-23714
Add Parameter quickfix not working when the called method is in java.KT-23838
Do not search for usages in other files when renaming local variableKT-24069
'Create from usage' doesn't use type info with smart casts
IDE. Scratch
KT-6928
Support Kotlin scratch filesKT-23441
Scratch options reset on IDE restartKT-23480
java.util.NoSuchElementException: "Collection contains no element matching the predicate" on run of a scratch file with unresolved function parameterKT-23587
Scratch: references from scratch file aren't taken into accountKT-24016
Make long scratch output lines readableKT-24315
Checkbox labels aren't aligned in scratch panelKT-24636
Run Scratch when there are compilation errors in module
Tools. J2K
KT-22989
Exception "Assertion failed: Refactorings should be invoked inside transaction" on creating UI Component/Notification
Libraries
KT-10456
Common Int.toString(radix: Int) methodKT-22298
Improve docs for Array.copyOf(newSize: Int)KT-22400
coroutineContext shall be in kotlin.coroutines.experimental packageKT-23356
Cross-platform function to convert CharArray slice to StringKT-23920
CharSequence.trimEnd calls substring instead of subSequenceKT-24353
Add support for junit 5 in kotlin.testKT-24371
Invalid @returns tag does not display in Android Studio popup properly
Gradle plugin
KT-20214
NoClassDefFound from Gradle (should report missing tools.jar)KT-20608
Cannot reference operator overloads across submodules (.kotlin_module not loaded when a module name has a slash)KT-22431
Inter-project incremental compilation does not work with Android plugin 2.3+KT-22510
Common sources aren't added when compiling custom source set with Gradle multiplatform pluginKT-22623
Kotlin JVM tasks in independent projects are not executed in parallel with Gradle 4.2+ and Kotlin 1.2.20+KT-23092
Gradle plugin for MPP common modules should not remove the 'compileJava' task fromproject.tasks
KT-23574
'archivesBaseName' does not affect module name in common modulesKT-23719
Incorrect Gradle Warning for expectedBy in kotlin-platform-android moduleKT-23878
Kapt: Annotation processors are run when formatting is changedKT-24420
Kapt plugin: Kapt task has overlapping outputs (and inputs) with Gradle's JavaCompile taskKT-24440
Gradle daemon OOM due to function descriptors stuck forever
Tools. kapt
KT-23286
kapt + nonascii = weird pathesKT-23427
kapt: for element with multiple annotations, annotation values erroneously use default when first annotation uses defaultKT-23721
Warning informing user that 'tools.jar' is absent in the plugin classpath is not show when there is also an errorKT-23898
Kapt: Do now show a warning for APs from 'annotationProcessor' configuration also declared in 'kapt' configurationKT-23964
Kotlin Gradle plugin does not define inputs and outputs of annotation processors
Kotlin 1.2.50 EAP 2
ligee released this
1.2.50
Compiler
KT-23360
Do not serialize annotations with retention SOURCE to metadataKT-24278
Hard-code to kotlin compiler annotation for android library migrationKT-24472
Support argfiles in kotlinc with -XargfileKT-24593
Support -XXLanguage:{+|-}LanguageFeature compiler arguments to enable/disable specific features
Backend. JS
KT-23094
JS compiler: Delegation fails to pass the continuation parameter to child suspend functionKT-23582
JS: Fails to inline, produces bad codeKT-24335
JS: Invalid implement of external interface
Backend. JVM
KT-12330
Slightly improve generated bytecode for data class equals/hashCode methodsKT-18576
Debugger fails to show decomposed suspend lambda parametersKT-22063
Add intrinsics for javaObjectType and javaPrimitiveTypeKT-23402
Internal error: Couldn't inline method call because the compiler couldn't obtain compiled body for inline function with reified type parameterKT-23704
UnstablecheckExpressionValueIsNotNull()
generation in bytecodeKT-23707
Unstable bridge generation orderKT-23857
Annotation with target TYPE is not applicable to TYPE_USE in Java sourcesKT-23910
@jvmoverloads doesn't work with default arguments in common codeKT-24427
Protected function having toArray-like signature from collection becomes public in bytecodeKT-24661
Support binary compatibility mode for @jvmdefault
Frontend
KT-21129
Unused parameter in property setter is not reportedKT-21157
Kotlin script: engine can take forever to eval certain code after several timesKT-22740
REPL slows down during extensions compilingKT-23124
Kotlin multiplatform project causes IntelliJ build errorsKT-23209
Compiler throwing frontend exceptionKT-23589
Report a warning on local annotation classesKT-23760
Unable to implement common interface with fun member function with typealiased parameter
IDE
KT-8407
TestNG: running tests from context creates new run configuration every timeKT-9218
Searching for compilable files takes too longKT-15019
Editor:args
reference in .kts file is redKT-18769
Expand Selection on opening curly brace should select the entire block right awayKT-19055
Idea hangs on copy-paste big Kotlin filesKT-20605
Unresolved reference on instance from common module functionKT-20824
Type mismatch for common function taking a non-mapped Kotlin's expected class from stdlib-common, with actual typealias on JVMKT-20897
Can't navigate to declaration after PsiInvalidElementAccessException exceptionKT-22527
Kotlin UAST does not evaluate values inside delegation expressionsKT-22868
Implementing anexpected class
declaration usingactual typealias
produces "good code that is red"KT-22922
Override Members should add experimental annotation when requiredKT-23384
Hotspot in org.jetbrains.kotlin.idea.caches.resolve.IDELightClassGenerationSupport.getKotlinInternalClasses(FqName, GlobalSearchScope) IDELightClassGenerationSupport.kt ?KT-23408
Don't render @nonnull and @nullable annotations in parameter info for Java methodsKT-23557
Expression Bodies should have implicitreturn
in UastKT-23745
Unable to implement common interfaceKT-23746
Logger$EmptyThrowable "[kts] cannot find a valid script definition annotation on the class class ScriptTemplateWithArgs" with LivePlugin enabledKT-23975
Move Kotlin internal actions under Idea Internal actions menuKT-24268
Other main menu itemKT-24438
ISE “The provided plugin org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar is not compatible with this version of compiler” after rebuilding simple Gradle-based project via JPS.
IDE. Configuration
KT-10935
Add menu entry to create new kotlin .kts scriptsKT-20511
Library added from maven (using IDEA UI) is not detected as Kotlin/JS library (since type="repository")KT-20665
Kotlin Gradle script created by New Project/Module wizard fails with Gradle 4.1+KT-21844
Create Kotlin class dialog: make class abstract automaticallyKT-22305
Language and API versions of Kotlin compiler are “Latest” by default in some ways of creating new projectKT-23261
New MPP design: please show popup with error message if module name is not setKT-23638
Kotlin plugin breaks project opening for PhpStorm/WebStormKT-23658
Unclear options “Gradle” and “Gradle (Javascript)” on configuring Kotlin in Gradle- and Maven-based projectsKT-23845
IntelliJ Maven Plugin does not pass javaParameters option to Kotlin facetKT-23980
Move "Update Channel" from "Configure Kotlin Plugin Updates" to settingsKT-24504
Existent JPS-based Kotlin/JS module is converted to new format, while New Project wizard and facet manipulations still create old format
IDE. Debugger
KT-23886
Both java and kotlin breakpoints in kotlin filesKT-24136
Debugger: update drop-down menu for the line with lambdas
IDE. Editing
KT-2582
When user inputs triple quote, add matching triple quote automaticallyKT-5206
Long lists of arguments are not foldableKT-23457
Auto-import and Import quick fix do not suggest classes from common module [Common test can't find class with wordAbstract
in name.]KT-23235
Super slow editing with auto imports enabled
IDE. Gradle
KT-23234
Test names for tests containing inner classes are sporadically reported to teamcity runs.KT-23383
Optional plugin dependency for kotlin gradle plugin 'java' subsystem dependent featuresKT-22588
Resolver for 'project source roots and libraries for platform JVM' does not know how to resolve on Gradle Kotlin DSL project without Java and KotlinKT-23616
Synchronize script dependencies not at Gradle SyncKT-24586
MVNFE “Cannot resolve external dependency org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.41 because no repositories are defined.” on creating Gradle project with Kotlin only (probably due to lack of repositories block)KT-24671
dependencies missed in buildscript block after creating new Gradle-based project in 173 IDEA
IDE. Inspections and Intentions
New Features
KT-7822
Convert foreach to for loop should place caret on the variable declarationKT-9943
Quick fix/Intention to indent a raw stringKT-15063
Inspection for coroutine: unused Deferred resultKT-16085
Inspection "main should return Unit"KT-20305
Inspection: Refactor sealed sub-class to objectKT-21413
Missing inspection: parentheses can be deleted when the only constructor parameter is a function not existingKT-23137
Intention for converting to block comment and vise versaKT-23266
Add intention(s) to put arguments / parameters on one lineKT-23419
Intention to replace vararg with array and vice versaKT-23617
Add inspection: redundant internal in local anonymous object / classKT-23775
IntelliJ plugin: improve "accessor call that can be replaced with property"KT-24235
Inspection to replace async.await with withContextKT-24263
AddMake variable immutable
quickfix for constKT-24433
Inspection for coroutines: unused async result
Performance Improvements
KT-23566
"Can be private" works on ResolutionResultsCache.kt (from Kotlin project) enormously slow
Fixes
KT-6364
Incorrect quick-fixes are suggested for nullable extension function callKT-11156
Incorrect highlighting for nested class in "Redundant SAM-constructor" inspectionKT-11427
"Replace if with when" does not take break / continue into accountKT-11740
Invert if condition intention should not remove line breaksKT-12042
"Merge with next when" is not applicable when the statements delimited by semicolon or commentKT-12168
"Remove explicit type specification" intention produce incompilable code in case of function typeKT-14391
RemoveUnnecessaryParenthesesIntention lost comment on closing parenthesisKT-14556
Quickfix to suggest use of spread operator does not work with mapOfKT-15195
Redundant parentheses shouldn't be reported if lambda is not on the same lineKT-16770
Change type of function quickfix does not propose most idiomatic solutionsKT-19629
"Convert to primary constructor" quick fix should not moveinit{...}
section downKT-20123
Kotlin Gradle script: “Refactoring cannot be performed. Cannot modify build.gradle.kts” for some refactorings and intentionsKT-20332
Unused property declaration suppression by annotation doesn't work if annotation is targeted to getterKT-21878
"arrayOf() call can be replaced by array litteral [...]" quick fix inserts extra parenthesesKT-22092
Intention "Specify return type explicitly": Propose types from overriden declarationsKT-22615
"Replace with" intention does not work for equal namesKT-22632
Gutter icon "go to actual declaration" is absent for enum values on actual sideKT-22741
Wrong suggestion forReplace 'if' expression with elvis expression
KT-22831
Inspection for converting to elvis operator does not work for local varsKT-22860
"Add annotation target" quick fix does not take into account existent annotations in Java sourceKT-22918
Create interface quickfix is missing 'current class' containerKT-23133
"Remove redundant calls of the conversion method" wrongly shown for Boolan to Int conversionKT-23167
Report "use expression body" also on left braceKT-23194
Inspection "map.put() should be converted to assignment" leads to red code in case of labled returnKT-23303
"Might be const" inspection does not check explicit type specificationKT-23320
Quick fix to add constructor invocation doesn't work for sealed classesKT-23321
Intention to move type to separate file shouldn't be available for sealed classesKT-23346
Lift Assignment quick fix incorrectly processes block assignmentsKT-23377
Simplify boolean expression produces incorrect results when mixing nullable and non-nullable variablesKT-23465
False positivesuspicious callable reference
on lambda invoke with parametersKT-23511
"Remove parameter" quick fix makes generic function call incompilable when type could be inferred from removed parameter onlyKT-23513
"Remove parameter" quick fix makes caret jump to the top of the editorKT-23559
Wrong hint text for "assignment can be replaced with operator assignment"KT-23608
AE “Failed to create expression from text” after applying quick fix “Convert too long character literal to string”KT-23620
False positiveRedundant Companion reference
on calling object from companionKT-23634
'Add use-site target' intention drops annotation argumentsKT-23753
"Remove variable" quick fix should not remove commentKT-23756
Bogus "Might be const" warning in object expressionKT-23778
"Convert function to property" intention shows broken warningKT-23796
"Create extension function/property" quick fix suggests one for nullable type while creates for not-nullKT-23801
"Convert to constructor" (IntelliJ) quick fix uses wrong use-site target for annotating propertiesKT-23977
wrong hint Unit redundantKT-24066
'Remove redundant Unit' false positive when Unit is returned as AnyKT-24165
@deprecated ReplaceWith Constant gets replaced with nothingKT-24207
Add parameter intent/red bulb should use auto casted type.KT-24215
ReplaceWith produces broken code for lambda following default parameter
IDE. Multiplatform
KT-20406
Overload resolution ambiguity in IDE on expect class / actual typealias from kotlin-stdlib-common / kotlin-stdlibKT-24316
Missing dependencies in Kotlin MPP when using gradle composite builds
IDE. Navigation
KT-7622
Searching usages of a field/constructor parameter in a private class seems to scan through the whole projectKT-23182
Find Usages checks whether there are unused variables in functions which contain search result candidatesKT-23223
Navigate to actual declaration from actual usage
IDE. Refactorings
KT-12078
Introduce Variable adds explicit type when invoked on anonymous objectKT-15517
Change signature refactoring shows confusing warning dialogKT-22387
Change signature reports "Type cannot be resolved" for class from different packageKT-22669
Refactor / Copy Kotlin source to plain text causes CCE: "PsiPlainTextFileImpl cannot be cast to KtFile" at CopyKotlinDeclarationsHandler$doCopy$2$1$1.invoke()KT-22888
Rename completion cuts off all characters except letters from existent nameKT-23298
AE: "2 declarations in null..." on rename of a field toobject
orclass
KT-23563
null by org.jetbrains.kotlin.idea.refactoring.rename.KotlinMemberInplaceRenameHandler$RenamerImpl exception on trying in-place Rename of non-scratch functionsKT-23613
Kotlin safe delete processor handles java code when it should notKT-23644
Named parameters in generated Kotlin AnnotationsKT-23714
Add Parameter quickfix not working when the called method is in java.KT-23838
Do not search for usages in other files when renaming local variableKT-24069
'Create from usage' doesn't use type info with smart casts
IDE. Scratch
KT-23441
Scratch options reset on IDE restartKT-23480
java.util.NoSuchElementException: "Collection contains no element matching the predicate" on run of a scratch file with unresolved function parameterKT-23587
Scratch: references from scratch file aren't taken into accountKT-24016
Make long scratch output lines readableKT-24315
Checkbox labels aren't aligned in scratch panelKT-24636
Run Scratch when there are compilation errors in module
Tools. J2K
KT-22989
Exception "Assertion failed: Refactorings should be invoked inside transaction" on creating UI Component/Notification
Libraries
KT-10456
Common Int.toString(radix: Int) methodKT-22298
Improve docs for Array.copyOf(newSize: Int)KT-22400
coroutineContext shall be in kotlin.coroutines.experimental packageKT-23356
Cross-platform function to convert CharArray slice to StringKT-23920
CharSequence.trimEnd calls substring instead of subSequenceKT-24353
Add support for junit 5 in kotlin.testKT-24371
Invalid @returns tag does not display in Android Studio popup properly
Gradle plugin
KT-20214
NoClassDefFound from Gradle (should report missing tools.jar)KT-20608
Cannot reference operator overloads across submodules (.kotlin_module not loaded when a module name has a slash)KT-22431
Inter-project incremental compilation does not work with Android plugin 2.3+KT-22510
Common sources aren't added when compiling custom source set with Gradle multiplatform pluginKT-22623
Kotlin JVM tasks in independent projects are not executed in parallel with Gradle 4.2+ and Kotlin 1.2.20+KT-23092
Gradle plugin for MPP common modules should not remove the 'compileJava' task fromproject.tasks
KT-23574
'archivesBaseName' does not affect module name in common modulesKT-23719
Incorrect Gradle Warning for expectedBy in kotlin-platform-android moduleKT-23878
Kapt: Annotation processors are run when formatting is changedKT-24420
Kapt plugin: Kapt task has overlapping outputs (and inputs) with Gradle's JavaCompile taskKT-24440
Gradle daemon OOM due to function descriptors stuck forever
Tools. kapt
Kotlin 1.2.50 EAP 1
ligee released this
1.2.50
Compiler
KT-23360
Do not serialize annotations with retention SOURCE to metadataKT-24278
Hard-code to kotlin compiler annotation for android library migration
Backend. JS
KT-23582
JS: Fails to inline, produces bad codeKT-24335
JS: Invalid implement of external interface
Backend. JVM
KT-12330
Slightly improve generated bytecode for data class equals/hashCode methodsKT-22063
Add intrinsics for javaObjectType and javaPrimitiveTypeKT-23704
UnstablecheckExpressionValueIsNotNull()
generation in bytecodeKT-23707
Unstable bridge generation orderKT-23910
@jvmoverloads doesn't work with default arguments in common codeKT-18576
Debugger fails to show decomposed suspend lambda parametersKT-23402
Internal error: Couldn't inline method call because the compiler couldn't obtain compiled body for inline function with reified type parameter
a9686c9
1.3.61
Compiler
KT-35004
"AssertionError: Unsigned type expected" inwhen
range check in extension on unsigned typeIDE
KT-34923
[Regression] KtUltraLightMethod.hasModifierProperty("native") returns false for external Kotlin functionsLibraries
KT-21445
W3C DOM Touch events and interfaces are incomplete / missingTools. Compiler Plugins
KT-34991
kotlinx.serialization: False warning "Explicit @serializable annotation on enum class is required when @SerialName or @SerialInfo annotations are used on its members"Tools. J2K
KT-34987
New J2K converter: @NotNull annotations are not removed after converting java code to kotlinKT-35074
J2K: No auto conversion in 'for' loop with multiple init variables