1.2.30
CHANGELOG
1.2.30
Android
KT-19300
[AS3.0] Android extensions, Parcelable: editor shows warning about incomplete implementation on a class with Parcelize annotationKT-22168
"Kotlin Android | Illegal Android Identifier" inspection reports non-instrumentation unit testsKT-22700
Android Extensions bind views with dot in ID
Compiler
New Features
KT-17336
Introduce suspendCoroutineUninterceptedOrReturn coroutine intrinsic functionKT-22766
Imitate "suspend" modifier in 1.2.x by stdlib function
Performance Improvements
KT-5177
Optimize code generation for 'for' loop with withIndex()KT-16880
Smarter detection of tail-suspending unit invocations
Fixes
KT-10494
IAE in CheckMethodAdapter.checkInternalName when declaring classes inside method with non-standard nameKT-16079
Internal error when using suspend operator plusKT-17091
Converting to SAM Java type appends non-deterministic hash to class nameKT-18522
Internal compiler error with IndexOutOfBoundsException, "Exception while analyzing expression"KT-18578
Compilation failure with @JsonInclude and default interface methodKT-19786
Kotlin — unable to override a Java function with @nullable vararg argumentKT-20466
JSR305 false positive for elvis operatorKT-20705
Tail suspend call optimization doesn't work in when blockKT-20708
Tail suspend call optiomization doesn't work in some branchesKT-20855
Unnecessary safe-call reported on nullable typeKT-21165
Exception from suspending function is not caughtKT-21238
Nonsensical warning "Expected type does not accept nulls in Java, but the value may be null in Kotlin"KT-21258
Raw backing field value exposed via accessors?KT-21303
Running on JDK-10-ea-31 leads to ArrayIndexOutOfBoundsExceptionKT-21642
Back-end (JVM) Internal error: Couldn't transform method node on usingopen
keyword withsuspend
for a top-level functionKT-21759
Compiler crashes on two subsequent return statements in suspend functionKT-22029
Fold list to pair with destructuring assignment and inner when results in ExceptionKT-22345
OOM in ReturnUnitMethodReplacerKT-22410
invalid compiler optimization for nullable cast to reified typeKT-22577
Compiler crashes when coroutineContext is used inside of inlined lambda
IDE
New Features
KT-8352
Pasting Kotlin code into package could create .kt fileKT-16710
Run configuration to run main() as a Node CLI appKT-16833
Allow mixing Java and Kotlin code in "Analyze Data Flow..."KT-21531
JS: add support for running specific test from the gutter icon with Jest testing framework
Performance Improvements
Fixes
KT-7316
Go to declaration in Kotlin JavaScript project navigates to JDK source in some casesKT-8563
Refactor / Rename inserts line breaks without reasonKT-11467
Editor:var
property in primary constructor is shown not underscored, same asval
KT-13509
Don't show run line markers for top-level functions annotated with @testKT-13971
Kotlin Bytecode tool window: Decompile is available for incompilable code, CE at MemberCodegen.genFunctionOrProperty()KT-15000
Do not spell check overridden declaration namesKT-15331
"Kotlin not configured" notification always shown for common module in multiplatform projectKT-16333
Cannot navigate to super declaration via shortcutKT-16976
Introduce special SDK for Kotlin JS projects to avoid using JDKKT-18445
multiplatform project: provide more comfortable way to process cases when there are missed method implemenation in the implementation classKT-19194
Some Live Templates should probably be enabled also for "expressions" not only "statements"KT-20281
multiplatform:Unresolved service JavaDescriptorResolver on a file with several header declarations and gutters not shownKT-20470
IntelliJ indent guide/invisible brace matching hint tooltip doesn't show contextKT-20522
Add "Build" action in "Before launch" block when create new JS run configuration (for test)KT-20915
Add quickfix for ‘Implicit (unsafe) cast from dynamic type’KT-20971
Cannot navigate to sources of compiled common dependencyKT-21115
Incomplete actual class should still have navigation icon to expect classKT-21688
UIdentifier violates JvmDeclarationElement contractKT-21874
Unexpected IDE error "Unknown type [typealias ...]"KT-21958
Support "Alternative source available" for Kotlin filesKT-21994
Collapsed comments containing*
get removed in the summary line.KT-22179
For properties overridden in object literals, navigation to inherited properties is missing indication of a type they are overriddenKT-22214
Front-end Internal error: Failed to analyze declarationKT-22230
Reformatting code to Kotlin style indents top-level typealiases with commentsKT-22242
Semantic highlighting uses different colors for the same 'it' variable and same color for different 'it'sKT-22301
Don't require space after label for lambdaKT-22346
Incorrect indentation for chained context extension functions (lambdas) when using Kotlin style guideKT-22356
Update status of inspection "Kotlin JVM compiler configured but no stdlib dependency" after pom file update, not on re-importKT-22360
MPP: with "Create separate module per source set" = NoexpectedBy
dependency is imported not transitivelyKT-22374
"Join lines" works incorrectly in case of line containing more than one string literalKT-22473
Regression in IntelliJ Kotlin Plugin 1.2.20, settings.gradle.kts script template is wrongKT-22508
Auto-formatting should insert an indentation for default parameter valuesKT-22557
Dead 'Apply' button, when setting code styleKT-22565
Cant doPsiAnchor.create
on annotation in annotationKT-22570
Can't add import in "Packages to Use Import with '*'" section on "Import" tab in Code Style -> KotlinKT-22641
Auto-formatting adds extra indent to a closing square bracket on a separate lineKT-22734
LinkageError: "loader constraint violation: when resolving method PsiTreeUtilKt.parentOfType()" at KotlinConverter.convertPsiElement$uast_kotlin()
IDE. Debugger
KT-20351
Stepping over a line with two inline stdlib functions steps into the second functionKT-21312
Confusing Kotlin (JavaScript) run configurationKT-21945
Double stop on same line during step over if inline call is present
IDE. Inspections and Intentions
New Features
KT-18124
Inspection to get rid of unnecessary ticks in referencesKT-22038
Inspection to replace the usage of Java Collections methods on subtypes of MutableList with the methods from Kotlin stdlibKT-22152
"Create Class" quickfix should support creating the class in a new file and selecting the package for that fileKT-22171
Add Intention for single character substringKT-22303
Inspection to detectType!.inlineWithNotNullReceiver()
callsKT-22409
Intention for changing property setter accessibility
Performance Improvements
KT-21137
Kotlin instantiates something expensive via reflection when highlighting Java file
Fixes
KT-15176
Remove "Create type alias" intention when called on java classKT-18007
Inspection doesn't suggest Maven Plugin for kotlin-stdlib-jre8KT-18308
'Remove braces from else statement' intention breaks codeKT-18912
multiplatform project: Convert to enum class: header sealed class cannot convert nested objects to enum valuesKT-21114
IOE: create actual members for expected with companionKT-21600
suspend
modifier should go afteroverride
in overridden suspend functionsKT-21881
Replace "If" with safe access intention false positiveKT-22054
Replace '!=' with 'contentEquals' should be replace '==' with 'contentEquals'KT-22097
Redundant Unit inspection false positive for single expression functionKT-22159
"Replace return with 'if' expression" should not place return before expressions of type NothingKT-22167
"Add annotation target" quick fix does nothing and disappears from menuKT-22221
QuickFix to remove unused constructor parameters shouldn't delete parenthesisKT-22335
IOE from KotlinUnusedImportInspection.scheduleOptimizeImportsOnTheFlyKT-22339
Remove setter parameter type: error while creating problem descriptorKT-22364
Redundant setter is not reported for overridden fieldsKT-22484
The warning highlight for redundant!is
check for object types isn't extended to the full operatorKT-22538
"Redundant type checks for object" inspection application breaks smart cast for an object's field or function
IDE. Refactorings
New Features
KT-17047
Refactorings for related standard "scoping functions" conversion: 'let' <-> 'run', 'apply' <-> 'also'
Fixes
KT-12365
Renaminginvoke
function should removeoperator
modifier and insert function call for implicit usagesKT-17977
Move class to upper level creates file with wrong file nameKT-21719
Actual typealias not renamed on expected declaration renameKT-22200
Overriden function generated from completion is missing suspend modifierKT-22359
Refactor / Rename file: Throwable at RenameProcessor.performRefactoring()KT-22461
Rename doesn't work on private top-level members of multi-file partsKT-22476
Renameit
parameter fails after replacing for-each with mapNotNullKT-22564
Rename doesn't warn for conflictsKT-22705
Refactor/Rename: rename ofinvoke
function with lambda parameter toget
breaks an implicit callKT-22708
Refactor/Rename function using some stdlib name leads to incompilable code
JavaScript
KT-20735
JS: kotlin.test-js integration tests terminate build on failureKT-22638
Function reference not working in js from extension
Libraries
KT-22620
Add support for TestNG in kotlin.testKT-16661
Performance overhead in string splitting in Kotlin versus Java?KT-22042
SuboptimalStrings#findAnyOf
KT-21154
kotlin-test-junit doesn't provide JUnitAsserter when test body is run in another thread
Tools
KT-22196
kotlin-compiler-embeddable bundles outdated kotlinx.coroutines since 1.1.60KT-22549
Service is dying during compilation
Tools. CLI
KT-19051
Suppress Java 9 illegal access warnings
Tools. Gradle
KT-18462
Add 'org.jetbrains.kotlin.platform.android' plugin.KT-18821
Gradle plugin should not resolve dependencies at configuration time
Tools. Incremental Compile
KT-22192
Make precise java classes tracking in Gradle enabled by default
Tools. J2K
KT-21635
J2K: create "inspection based post-processing"
Tools. REPL
KT-12037
REPL crashes when trying to :load with incorrect filename
Tools. kapt
KT-22350
kdoc comment preceding enum method causes compilation failureKT-22386
kapt3 fails when project has class named SystemKT-22468
Kapt fails to convert array type to anonymous array element typeKT-22469
Kapt 1.2.20+ may fail to process classes with KDocKT-22493
Kapt: NoSuchElementException in KotlinCliJavaFileManagerImpl if class first character is dollar signKT-22582
Kapt: Enums inside enum values should be forbiddenKT-22711
Deprecate original kapt (aka kapt1)
Previous releases
This release also includes the fixes and improvements from the previous
1.2.21
release.