CHANGELOG
1.2.61
IDE
KT-25622
IDE support for RecentlyNullable/RecentlyNonNullKT-26036
Kotlin 1.2.60 LightAnnotations and Lombok
IDE. Gradle
KT-20363
No “Run” icon on the left for tests in common part of a multi-platform project
Tools. Android Extensions
KT-25839
Parcelize generates infinite recursive loop
Tools. JPS
KT-26095
Kotlin facet UI, JS: “Enable incremental compilation (experimental)” should be visible only in project setting
Tools. kapt
KT-24714
java.lang.IllegalStateException: The provided plugin org.jetbrains.kotlin.kapt3.Kapt3ComponentRegistrar is not compatible with this version of compiler
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 from provideDelegate
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: nested withContext
call is reported with Suspension 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 in KotlinULambdaExpression
and KotlinLocalFunctionULambdaExpression
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 with no corresponding expected declaration
in IDEKT-25018
Exception Dependencies 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 explicit this
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 from KotlinMethodSmartStepTarget
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
Add nested 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 for it
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 reports expect
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 positive property 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 use field
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 to get()
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
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