1.3.20
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
1.3.20
Android
KT-22571
Android: Configure Kotlin should add implementation dependency instead of compile
Compiler
New Features
KT-14416
Support of @PolymorphicSignature in Kotlin compilerKT-22704
Allow expect annotations with actual typealias to Java to have default argument values both in expected and in actualKT-26165
Support VarHandle in JVM codegenKT-26999
Inspection for unused main parameter in Kotlin 1.3
Performance Improvements
KT-16867
Proguard can't unbox Kotlin enums to integersKT-23466
kotlin compiler opens-reads-closes .class files many times overKT-25613
Optimise boxing of inline class values inside string templates
Fixes
KT-2680
JVM backend should generate synthetic constructors for enum entries (as javac does).KT-6574
Enum entry classes should be compiled to package private classesKT-8341
Local variable cannot have type parametersKT-14529
JS: annotations on property accessors are not serializedKT-15453
Annotations are ignored on accessors of private propertiesKT-18053
Unexpected behavior with "in" infix operator and ConcurrentHashMapKT-18592
Compiler cannot resolve trait-based superclass of Groovy dependencyKT-19613
"Public property exposes its private type" not reported for primary constructor propertiesKT-20344
Unused private setter created for propertyKT-21862
java.lang.NoSuchFieldError when calling isInitialized on a lateinit "field" of a companion objectKT-21946
Compilation error during default lambda inlining when it returns anonymous objectKT-22154
Warning: Stripped invalid locals information from 1 method when compiling with D8KT-23369
Internal compiler error in SMAPParser.parseKT-23543
Back-end (JVM) Internal error: Couldn't inline methodKT-23739
CompilationException: Back-end (JVM) Internal error: Couldn't inline method call: Unmapped line number in inlined functionKT-24156
For-loop optimization should not be applied in case of custom iteratorKT-24672
JVM BE: Wrong range is generated in LVT for variables with "late" assignmentKT-24780
Recursive suspend local functions: "Expected an object reference, but found ."KT-24937
Exception from parser (EA-76217)KT-25058
Fix deprecated API usage in RemappingClassBuilderKT-25288
SOE when inline class is recursive through type parameter upper boundKT-25295
“Couldn't transform method node” error on compiling inline class with inherited interface method callKT-25424
No coercion to Unit when type argument specified explicitlyKT-25702
@jvmoverloads should not be allowed on constructors of annotation classesKT-25893
crossinline suspend function leads to IllegalStateException: call to 'resume' before 'invoke' with coroutine or compile errorKT-25907
"Backend Internal error" for a nullable loop variable with explicitly declared type in a for-loop over StringKT-25922
Back-end Internal error : Couldn't inline method : Lambda inlining : invoke(Continuation) : Trying to access skipped parameterKT-26126
Front-end doesn't check that fun with contract andcallsInPlace
effect is an inline function; compiler crashes on val initializationKT-26366
UseExperimental with full qualified reference to marker annotation class is reported as errorKT-26384
Compiler crash with nested multi-catch try, finally block and inline functionKT-26505
Improve error message on missing script base class kotlin.script.templates.standard.ScriptTemplateWithArgsKT-26506
Incorrect bytecode generated for inner class inside inline class referencing outer 'this'KT-26508
Incorrect accessor generated for private inline class method call from lambdaKT-26509
Internal compiler error on generating inline class private method call from companion objectKT-26554
VerifyError: Bad type on operand stack for inline class with default parameter of underlying typeKT-26582
Array literal of a primitive wrapper class is loaded as a primitive array literalKT-26608
Couldn't inline method call. RuntimeException: Trying to access skipped parameter: Ljava/lang/Object;KT-26658
Trying to access skipped parameter exception in code with crossinline suspend lambda with suspend function with default parameter callKT-26715
NullPointerException for an inline class constructor referenceKT-26848
Incorrect line in coroutine debug metadata for first suspension pointKT-26908
Inline classes can't have a parameter with a default value (Platform declaration clash)KT-26931
NSME “InlineClass.foo-impl(LIFace;)I” on calling inherited method from inline class instanceKT-26932
CCE “Foo cannot be cast to java.lang.String” when accessing underlying value of inline class through reflectionKT-26998
Default extension fun call in generic Kotlin interface with inline class substituted type of extension receiver fails with internal compiler errorKT-27025
Inline class access to private companion object fun fails with VerifyErrorKT-27070
Delegated property with inline class type delegate fails with internal error in codegenKT-27078
Inline class instance captured in closure fails with internal error (incorrect bytecode generated)KT-27107
JvmStatic in inline class companion doesn't generate static method in the classKT-27113
Inline class'stoString
is not called when it is used in string extrapolationKT-27140
Couldn't inline method call 'ByteArray' with inline classKT-27162
Incorrect container is generated to callable reference classes for references to inline class membersKT-27259
"Internal error: wrong code generated" for nullable inline class with an inline class underlying typeKT-27318
Interface implementation by delegation to inline class type delegate fails with internal error in codegenKT-27358
Boxed inline class type default parameter values fail with CCE at run-timeKT-27416
"IllegalStateException: Backend Internal error" for inline class with a function with default argument valueKT-27429
"-java-parameters" compiler argument fails in constructor when there is an inline class parameter presentKT-27513
Backend Internal Error when using inline method inside inline classKT-27560
Executing getter of property with type kotlin.reflect.KSuspendFunction1 throws MalformedParameterizedTypeExceptionKT-27705
Internal compiler error (incorrect bytecode generated) when inner class constructor inside inline class references inline class primary valKT-27706
Internal compiler error (incorrect bytecode generated) when inner class inside inline class accepts inline class parameterKT-27732
Using type inference on platform types corresponding to unsigned types causes compiler errorKT-27737
CCE for delegated property of inline class typeKT-27762
The lexer crashes when a vertical tabulation is usedKT-27774
Update asm to 7.0 in Kotlin backendKT-27948
"Argument 2: expected R, but found I" forequals
operator on nullable and non-null unsigned typesKT-28054
Inline class: "Cannot pop operand off an empty stack" for calling private secondary constructor from companion objectKT-28061
Safe call operator and contracts: false negative "A 'return' expression required in a function with a block body"KT-28185
Incorrect behaviour of javaClass intrinsic for receivers of inline class typeKT-28188
CCE when bound callable reference with receiver of inline class type is passed to inline functionKT-28237
CoroutineStackFrame uses slashes instead of dots in FQNKT-28361
Class literal for inline class should return KClass object of the wrapperKT-28385
Rewrite at slice FUNCTION in MPP on "red" codeKT-28405
VE “Bad type on operand stack” at runtime on creating inline class with UIntArray insideKT-28585
Inline classes not properly boxed when accessing avar
(from enclosing scope) from lambdaKT-28847
Compilation fails with "AssertionError: Rewrite at slice FUNCTOR" on compiling complicated case with delegating propertyKT-28879
"AnalyzerException: Expected I, but found R" when compiling javaClass on inline class valueKT-28920
"AnalyzerException: Expected I, but found R" when compiling javaObjectType/javaPrimitiveType with inline classesKT-28965
Unsound smartcast to definitely not-null if value of one generic type is cast to other generic typeKT-28983
Wrong mapping of flexible inline class type to primitive type
IDE
New Features
KT-25906
Kotlin language injection doesn't evaluate constants in string templatesKT-27461
Provide live template to generatemain()
with no parametersKT-28371
Automatically align ?: (elvis operator) after call on the new line
Performance Improvements
KT-23738
Provide stubs for annotation value argument listKT-25410
Opening Settings freezes the UI for 23 secondsKT-27832
Improve performance of KotlinGradleProjectResolverExtensionKT-28755
Optimize searching constructor delegation callsKT-29297
Improve performance of light classes in IDE (Java-to-Kotlin interop)
Fixes
KT-9840
Right parenthesis doesn't appear after class name before the colonKT-13420
Extend Selection: lambda: whole literal with braces is selected after parametersKT-17502
Do not disable "Generate equals and hashCode" actions for data classesKT-22590
Create Kotlin SDK if it's absent on importing from gradle/maven Kotlin (JavaScript) projects and on configuring java project to Kotlin(JavaScript), Kotlin(Common)KT-23268
IntelliJ plugin: Variables from destructing declarations are not syntax colored as variablesKT-23864
Copyright message is duplicated in kotlin file in root package after updating copyrightKT-25156
SOE in IDE on destructuring delegated property declarationKT-25681
Remove "Coroutines (experimental)" settings from IDE and do not pass-Xcoroutines
to JPS compiler (since 1.3)KT-26868
MPP: Gradle import: test dependencies get Compile scopeKT-26987
"Extend Selection" is missing for labeled returnKT-27095
Kotlin configuration: update EAP repositories to use https instead of httpKT-27321
Cannot init component state if "internalArguments" presents in xml project structure (kotlinc.xml)KT-27375
Kotlin Gradle DSL script: "Unable to get Gradle home directory" in new project with new Gradle wrapperKT-27380
KotlinStringLiteralTextEscaper
returns wrong offset on unparseable elementsKT-27491
MPP JVM/JS wizard: Use Ktor in the skeletonKT-27492
Create some MPP wizard testsKT-27530
Kotlin Gradle plugin overwrites the JDK set by jdkName property of the Gradle Idea pluginKT-27663
Uast: don't store resolved descriptors in UElementsKT-27907
Exception on processing auto-generated classes from ASKT-27954
Generate -> toString() using "Multiple templates with concatenation" should add spaces after commasKT-27941
MPP: Gradle import with "using qualified names" creates 2 modules with the same content rootKT-28199
Could not get javaResolutionFacade for groovy elementsKT-28348
Don't log or wrap ProcessCanceledExceptionKT-28401
Show parameter info for lambdas during completionKT-28402
Automatically indent || and && operatorsKT-28458
New Project Wizard: move multiplatform projects to the new DSLKT-28513
Bad Kotlin configuration when old syntax is used for configured Gradle project with >= 4.4 versionKT-28556
Wrong nullability for @JvmOverloads-generated method parameter in light classesKT-28997
Couldn't get delegate for class from any local class or object in scriptKT-29027
Kotlin LightAnnotations don't handle vararg class literals
IDE. Android
KT-23560
Scratch: impossible to run scratch file from Android StudioKT-25450
NoClassDefFoundError when trying to run a scratch file in Android Studio 3.1.3, Kotlin 1.2.51KT-26764
kotlin
content root isn't generated for Android module of a multiplatform project on Gradle import
IDE. Code Style, Formatting
KT-5590
kotlin: line comment must not be on first column by defaultKT-24496
IntelliJ IDEA: Formatting around addition / subtraction not correct for KotlinKT-25417
Incorrect formatting for comments on property accessorsKT-27847
Destructured declaration continued on the next line is formatted with double indentKT-28070
Code style: "Align when multiline" option for "extends / implements list" changes formating of enum constants constructor parametersKT-28227
Formatter should not allow enum entries to be on one line with opening braceKT-28484
Bad formatting for assignment when continuation for assignments is disabled
IDE. Completion
KT-18089
Completion for nullable types without safe call rendered in gray color is barely visibleKT-20706
KDoc: Unneeded completion is invoked after typing a number/digit in a kdoc commentKT-22579
Smart completion should present enum constants with higher rankKT-23834
Code completion and auto import do not suggest extension that differs from member only in type parameterKT-25312
Autocomplete for overridden members inexpected
class inserts extraoverride
wordKT-26632
Completion: "data class" instead of "data"KT-27916
Autocomplete val when auto-completing const
IDE. Debugger
Fixes
KT-13268
Can't quick evaluate expression with Alt + Click without get operatorKT-14075
Debugger: Property syntax accesses private Java field rather than synthetic property accessorKT-22366
Debugger doesn't stop on certain expressionsKT-23585
Evaluation of a static interface method call failsKT-24343
Debugger, Step Over: IllegalStateException on two consecutive breakpoints when first breakpoint is on an inline function callKT-24959
Evaluating my breakpoint condition fails with exceptionKT-25667
Exception in logs from WeakBytecodeDebugInfoStorage (NoStrataPositionManagerHelper)KT-26795
Debugger crashes with NullPointerException when evaluating const value in companion objectKT-26798
Check that step into works with overrides in inline classesKT-27414
Use "toString" to render values of inline classes in debuggerKT-27462
Main without parameters just with inline fun call: Debug: last Step Over can't finish the processKT-28028
IDEA is unable to find sources during debuggingKT-28342
Can't evaluate the synthetic 'field' variableKT-28487
ISE “resultValue is null: cannot find method generated_for_debugger_fun” on evaluating value of inline class
IDE. Decompiler
KT-27284
Disable highlighting in decompiled Kotlin bytecodeKT-27460
"Show Kotlin bytecode": "Internal error: null" for an inline extension property from a different file
IDE. Gradle
KT-27265
Unresolved reference in IDE on calling JVM source set members of a multiplatform project with Android target from a plain Kotlin/JVM module
IDE. Gradle. Script
KT-14862
IDEA links to class file instead of source in buildSrc (Gradle/Kotlin script)KT-17231
"Optimize Import" action not working for Gradle script kotlin.KT-21981
Optimize imports on the fly does not take implicit imports into account in .kts filesKT-24623
Class defined in gradle buildSrc folder is marked as unused when it is actually used in Gradle Script Kotlin fileKT-24705
Script reports are shown in the editor only after caret moveKT-24706
Do not attach script reports if 'reload dependencies' isn't pressedKT-25354
Gradle Kotlin-DSL: Changes of buildSrc are not visible from other modulesKT-25619
Intentions not working in buildSrc (Gradle)KT-27674
Highlighting is skipped in files from buildSrc folder of Gradle project
IDE. Hints
KT-13118
Parameter info is not shown for Kotlin last-argument lambdasKT-25162
Parameter info for builder functions and lambdasKT-26689
Lambda return expression hint not shown when returning a lambda from inside a lambdaKT-27802
The hint for the if-expression is duplicated inside each branch
IDE. Inspections and Intentions
New Features
KT-2029
Add inspection for boolean literals passed without using named parameters featureKT-5071
Properly surround a function invocation in string template by curly bracesKT-5187
Quick Fix to remove inline keyword on warning about performance benefitsKT-6025
Auto-remove toString() call in "Convert concatenation to template"KT-9983
"'inline'' modifier is not allowed on virtual members." should have quickfixKT-12743
Add Intention to convert nullable var to non-nullable lateinitKT-15525
Inspection to warn on thread-blocking invocations from coroutinesKT-17004
There is no suggestion to add property to supertypeKT-19668
Inspection "Redundant else in if"KT-20273
Inspection to report a setter of a property with a backing field that doesn't update the backing fieldKT-20626
Inspection for '+= creates a new list under the hood'KT-23691
Warn aboutvar
properties with default setter and getter that doesn't reference backing fieldKT-24515
Intention to add an exception under the cursor to @throws annotationsKT-25171
Inspection: Change indexed access operator on maps toMap.getValue
KT-25620
Inspection for functions returning DeferredKT-25718
Add intention to convert SAM lambda to anonymous objectKT-26236
QuickFix for ASSIGN_OPERATOR_AMBIGUITY on mutable collection '+=', '-='KT-26511
Inspection (without highlighting by default) for unlabeled return inside lambdaKT-26653
Intention to replace if-else withx?.let { ... } ?: ...
KT-26724
Inspection with a warning for implementation by delegation to avar
propertyKT-26836
Add quick fix for type mismatch between signed and unsigned types for constant literalsKT-27007
Intention: add label to return if scope is visually ambiguousKT-27075
Add a quick fix/intention to createexpect
member for an addedactual
declarationKT-27445
Add quickfix for compiler warning "DEPRECATED_JAVA_ANNOTATION"KT-28118
Remove empty parentheses for annotation entriesKT-28631
Suggest to remove single lambda argument if its name is equal toit
KT-28696
Inspection: detect potentially ambiguous usage of coroutineContextKT-28699
Add "Convert to also" intention
Performance Improvements
KT-26969
ConvertCallChainIntoSequence quick fix doesn't use sequences all the way
Fixes
KT-4645
Unexpected behevior of "Replace 'if' with 'when'" intention when called on second or third 'if'KT-5088
"Add else branch" quickfix on when should not add bracesKT-7555
Omit braces when converting 'this' in 'Convert concatenation to template'KT-8820
No "Change type" quick fix inside whenKT-8875
"Remove explicit type" produce red code for extension lambdaKT-12479
IDEA doesn't propose to replace all usages of deprecated annotation when it declared w/o parenthesesKT-13311
IDE marks fun finalize() as unused and says that its effective visibility is privateKT-14555
Strange 'iterate over Nothing' intentionKT-15550
Intention "Add names to call arguments" isn't available if one argument is a generic function callKT-15835
"Leaking 'this' in constructor" for enum classKT-16338
"Leaking 'this' in constructor" of non-final class when using 'this::class.java'KT-20040
Kotlin Gradle script: unused import doesn't become greyKT-20725
Cannot persist excluded methods for inspection "Accessor call that can be replaced with property syntax"KT-21520
"Assignment should be lifted out of 'if'" false positive for arguments of different typesKT-23134
"Remove single lambda parameter" quick fix applied to a lambda parameter with explicit type breaks ::invoke reference on lambdaKT-23512
"Remove redundant receiver" quick fix makes generic function call incompilable when type could be inferred from removed receiver onlyKT-23639
False positive "Unused symbol" for sealed class type parametersKT-23693
Add missing actual members
quick fix doesn't work if there is already same-named function with the same signatureKT-23744
"Kotlin library and Gradle plugin versions are different" inspection false positive for non-JVM dependenciesKT-24492
"Call on collection type may be reduced" does not change labels from mapNotNull to mapKT-25536
Use non-const Kotlin 'val' usage in Java code isn't reported on case labels (& assignments)KT-25933
ReplaceCallWithBinaryOperator should not suggest to replace 'equals' involving floating-point typesKT-25953
Meaningless auto properties for Atomic classesKT-25995
"Simplify comparision" should try to apply "Simplify if expression" when necessaryKT-26051
False positive "Redundant visibility modifier" for overridden protected property setter made publicKT-26337
Exception (resource not found) in quick-fix tests in AS32KT-26481
Flaky false positive "Receiver parameter is never used" for local extension functionKT-26571
Too much highlighting from "convert call chain into sequence"KT-26650
False negative "Call chain on collection should be converted into 'Sequence'"" on class implementingIterable
KT-26662
Corner cases around 'this' inside "replace if with safe access"KT-26669
"Remove unnecessary parentheses" reports parens of function returned from extension functionKT-26673
"Remove parameter" quick fix keeps unused type parameter referred in type constraintKT-26710
Should not report "implicit 'it' is shadowed" when outerit
is not usedKT-26839
Add braces to if statement produces code that is not formatted according to styleKT-26902
Bad quickfix name for "Call on non-null type may be reduced"KT-27016
Replace 'if' with elvis operator w/ interface generates invalid code (breaks type inference)KT-27034
"Redundant SAM constructor" inspection shouldn't make all lambda gray (too much highlighting)KT-27061
False positive "Convert to secondary constructor" with delegationKT-27071
"Add non-null asserted (!!) call" places!!
at wrong position with operatorget
(array indexing)KT-27093
Create actual class from expect class doesn't add all necessary importsKT-27104
False positive "Convert call chain into Sequence" with groupingByKT-27116
"Object literal can be converted to lambda" produces code littered with "return@label"KT-27138
Change visibility intentions are suggested on properties marked with @JvmFieldKT-27139
Add getter intention is suggested for properties marked with @JvmFieldKT-27146
False positive "map.put() can be converted to assignment" onsuper
keyword withLinkedHashMap
inheritanceKT-27156
Introduce backing property intention is suggested for property marked with @JvmFieldKT-27157
Convert property to function intention is suggested for property marked with @JvmFieldKT-27173
"Lift return out of...
" should work on any of targetedreturn
keywordsKT-27184
"Replace with safe call" is not suggested for nullable var property that is impossible to smart castKT-27209
"Loop parameter 'it' is unused": unhelpful quickfixKT-27291
"Create" quick fix: "destination directory" field suggests same root and JVM roots for all platformsKT-27354
False positive "Make 'Foo' open" fordata
class inheritanceKT-27408
"Add braces to 'if' statement" moves end-of-line comment inside anif
branchKT-27486
ConvertCallChainIntoSequence quick fix doesn't convert 'unzip' into 'Sequence'KT-27539
False positiveRedundant Companion reference
when val in companion is effectively shadowed by inherited valKT-27584
False positive "Move lambda argument out of parentheses" when implementing interface by delegationKT-27590
No “Change parameter” quick fix for changing argument type from UInt to IntKT-27619
Inspection "Invalid property key" should check whether reference is soft or notKT-27664
Fix flaky problem in tests "Could not initialize class UnusedSymbolInspection"KT-27699
"Remove redundant spread operator" produces incorrect codeKT-27708
IDE highlights internal constructors used only from Java as unusedKT-27791
Don't suggestImplement as constructor parameters
quick fix foractual
class declarationKT-27861
RedundantCompanionReference false positive for nested class with name "Companion"KT-27906
SafeCastAndReturn is not reported on code block with unqualified returnKT-27951
False declaration in actual list (same name but not really actual)KT-28047
False positive "Redundant lambda arrow" for lambda returned fromwhen
branchKT-28196
KotlinAddImportAction: AWT events are not allowed inside write actionKT-28200
KNPE in TypeUtilsKt.getDataFlowAwareTypesKT-28268
Don't suggest "make abstract" quick fix for inline classesKT-28286
"Unused symbol" inspection: Interface is reported as "class"KT-28341
False positive "Introduce backing property" intention forconst
valuesKT-28381
Forbid "move property to constructor" for expect classesKT-28382
Forbid "introduce backing property" for expect classesKT-28383
Exception during "move to companion" for expect class memberKT-28443
"Move out of companion object" intention is suggested for @JvmField property inside companion object of interfaceKT-28504
Redundant async inspection: support calls on explicitly given scopeKT-28540
"Replace assert boolean with assert equality" inspection quickfix doesn't add import statementKT-28618
Kotlin: convert anonymous function to lambda expression failed if no space at start of lambda expressionKT-28694
"Assign backing field" quick fix adds empty line before created assignmentKT-28716
KotlinDefaultHighlightingSettingsProvider suppresses inspections in non-kotlin filesKT-28744
val-keyword went missing from constructor of inline class after applying “Create actual class...” intentionKT-28745
val-keyword went missing from constructor of inline class after applying “Create expected class in common module...” intention
IDE. KDoc
KT-24788
Endless exceptions in offline inspections
IDE. Multiplatform
KT-26518
Create actual ...
quick fix doesn't add a primary constructor call for the actual secondary constructorKT-26893
Multiplatform projects fail to import into Android Studio 3.3, 3.4KT-26957
Merge expect gutter icon, when used for the same lineKT-27295
MPP: Rebuild module / Recompile source does nothing for Native with Delegate to gradle = YesKT-27296
MPP: Rebuild module / Recompile source does nothing for Common with Delegate to gradle = YesKT-27335
New multiplatform wizard: mobile library is generated with failed testKT-27595
KNPE on attempt to generateequals()
,hashCode()
,toString()
forexpect
class
IDE. Navigation
KT-22637
Go to actual declarations for enum values should choose correct value if they are written in one lineKT-27494
Create tooling tests for new-multiplatformKT-28206
Go to implementations on expect enum shows not only enum classes, but also all membersKT-28398
Broken navigation to actual declaration ofprintln()
in non-gradle project
IDE. Project View
KT-26210
IOE “Cannot create file” on creating new file with existing filename by pasting a code in Project viewKT-27903
Can create file with empty name without any warning
IDE. REPL
KT-29285
Starting REPL in Gradle project: Will compile into IDEA's out folder which then shadows Gradle's compile output
IDE. Refactorings
KT-23603
Add the support for find usages/refactoring of the buildSrc sources in gradle kotlin DSL build scriptsKT-26696
Copy, Move: "Destination directory" field does not allow to choose a path from non-JVM moduleKT-28408
"Extract interface" action should not show private propertiesKT-28476
Extract interface / super class on non-JVM class throws KNPE
IDE. Scratch
KT-23523
Filter out fake gradle modules from checkbox in Scratch file panelKT-25032
Scratch: IDEA hangs/freezes on code that never returns (infinite loops)KT-26271
Scratches for Kotlin do not work when clicking "Run Scratch File" buttonKT-26332
Fix classpath intention in Kotlin scratch file in Java only project doesn't do anythingKT-27628
Scratch blocks AWT Queue threadKT-28045
'Run kotlin scratch' is shown for jest tests
IDE. Script
KT-24465
Provide a UI to manage script definitionsKT-24466
Add warning when there are multiple script definitions for one scriptKT-25818
IDE Scripting Console files shouldn't have scratch panelKT-26331
Please extract ScriptDefinitionContributor/KotlinScriptDefinition from kotlin-plugin.jar to separate jarKT-27669
Consider moving expensive tasks out of the UI threadKT-27743
Do not start multiple background threads loading dependencies for different scriptsKT-27817
Implement a lightweight EP in a separate public jar for supplying script definitions to IDEAKT-27960
Add capability to import one Script to anotherKT-28046
"Reload script dependencies on file change" option is missing after project restart
IDE. Tests Support
KT-27977
Missing 'run' gutter on a test method of an abstract classKT-28080
Wrong run configuration created from context for test method in abstract class
JS. Tools
KT-27361
Support NamedConstructor in idl2kKT-28786
Float values initialized incorrectly while translating from IDLKT-28821
Kotlin/JS missing ClipboardEvent definitionsKT-28864
Better support for TrackEvent, MediaStreamTrackEvent and RTCTrackEvent in idl
JavaScript
KT-27611
Calling a suspending function of a JS library causes "Uncaught ReferenceError: CoroutineImpl is not defined"KT-28207
Finally block loops forever for specific code shapeKT-28215
JS: inline suspend function not usable in non-inlined formKT-29003
KotlinJS: Size of String in stdlib is limited if the the Constructor String(chars: CharArray) gets used
Libraries
New Features
KT-18398
Provide a way for libraries to avoid mixing Kotlin 1.0 and 1.1 dependencies in end user projectsKT-27919
Publish modularized artifacts under 'modular' classifier
Performance Improvements
KT-27251
Do not use Stack in FileTreeWalk iterator implementation
Fixes
KT-12473
KotlinJS - comparator returning 0 changes orderKT-20743
Use strongly typed events in Kotlin2js DOM APIKT-20865
Retrieving groups by name is not supported on Java 9 even withkotlin-stdlib-jre8
in the classpathKT-23932
add "PointerEvent" for kotlin-stdlib-jsKT-24336
Kotlin/JS missing SVGMaskElement interfaceKT-25371
Support unsigned integers in kotlinx-metadata-jvmKT-27629
kotlin.test BeforeTest/AfterTest annotation mapping for TestNGKT-28091
Provide correct AbstractMutableCollections declarations in stdlib-commonKT-28251
Stdlib: Deprecated ReplaceWithkotlin.math.log
replacement instead ofkotlin.math.ln
KT-28488
Add clarification for COROUTINES_SUSPENDED documentationKT-28572
readLine() stumbles at surrogate pairsKT-29187
JS toTypedArray returns array of invalid type for LongArray and BooleanArray
Reflection
KT-26765
Support calling constructors with inline classes in the signature in reflectionKT-27585
Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessibleKT-27598
"KotlinReflectionInternalError" when usingcallBy
on constructor that has inline class parametersKT-27913
ReflectJvmMapping.getKotlinFunction(ctor) works incorrectly with types containing variables of inline class
Tools. CLI
KT-27226
Argfiles: An empty argument in quotes with a whitespace or a newline after it interrupts further reading of argumentsKT-27430
[Experimental API] Report warning instead of error if non-marker is used in -Xuse-experimental/-XexperimentalKT-27626
-Xmodule-path does not work in Gradle project with Java 9KT-27709
Using an experimental API that does not exist should warn, not errorKT-27775
Re-enable directories passed as in -Xbuild-fileKT-27930
Do not use toURI in ModuleVisibilityUtilsKt.isContainedByCompiledPartOfOurModule if possibleKT-28180
Backslash-separated file paths in argfiles do not work on WindowsKT-28974
Serialization bug in CommonToolArguments, affecting MPP project data serialization
Tools. Compiler Plugins
KT-24997
Pass arguments to Kapt in human-readable formatKT-24998
Introduce separate command line tool specifically for Kapt in order to improve UXKT-25128
ABI jar generation in the CLI compiler for Bazel like build systems.
Tools. Gradle
New Features
KT-26963
Warn user that a custom platform-agnostic source set wouldn't be included into build unless it is required for other source setsKT-27394
Add kotlinOptions in compilations of the new MPP modelKT-27535
Implement AARs building and publishing in new MPPKT-27685
In new MPP, expose a compilation's default source set via DSLKT-28155
Add ability to run tasks in parallel within projectKT-28842
Enable JS IC by default
Performance Improvements
KT-24530
Enable compile avoidance for kaptKotlin tasksKT-28037
In-process Kotlin compiler leaks thread local values
Fixes
KT-26065
Kotlin Gradle plugin resolves dependencies at configuration timeKT-26389
Support Gradle Kotlin DSL in projects with thekotlin-multiplatform
pluginKT-26663
Gradle dependency DSL features missing for the new MPP dependenciesKT-26808
Deprecation Warning Gradle 5 - "DefaultSourceDirectorySet constructor has been deprecated"KT-26978
Gradle verification fails on DiscoverScriptExtensionsTaskKT-27682
Kotlin MPP DSL: a target is missing theattributes { ... }
function, only theattributes
property is available.KT-27950
Gradle 5.0-rc1: "Compilation with Kotlin compile daemon was not successful"KT-28355
Gradle Kotlin plugin publishes "api" dependencies with runtime scopeKT-28363
Enable resources processing for Kotlin/JS target in multiplatform projectsKT-28469
Gradle Plugin: Task DiscoverScriptExtensionsTask is never up-to-dateKT-28482
Always rewrite the MPP dependencies in POMs, even when publishing with Gradle metadataKT-28520
MPP plugin can't be applied altogether with the "maven-publish" plugin in a Gradle 5 buildKT-28635
fromPreset() in MPP Gradle plugin DSL is hard to use from Gradle Kotlin DSL scriptsKT-28749
ExposeallKotlinSourceSets
inKotlinCompilation
KT-28795
The localToProject attribute is not properly disambiguated with Gradle 4.10.2+KT-28836
Kotlin compiler logs from Gradle Kotlin Plugin aren't captured by GradleKT-29058
Gradle Plugin: Multiplatform project with maven-publish plugin does not use project group for "metadata" artifact POM
Tools. J2K
KT-26073
Irrelevant "create extra commit with java->kt rename"
Tools. JPS
KT-26980
JPS Native warning is duplicated for test source setsKT-27285
MPP: invalid common -> platform dependency: JPS fails with Throwable "Cannot initialize Kotlin context: Cyclically dependent modules" at KotlinChunk.()KT-27622
JPS, JS: Resources marked as "kotlin-resource" are not copied to the out folder in a Kotlin-js projectKT-28095
JPS: support -Xcommon-sources for multiplatform projects (JS)KT-28316
ReportNative is not yet supported in IDEA internal build system
on JPS build once per project/multiplatform moduleKT-28527
JPS: Serialization plugin not loaded in ktorKT-28900
With "Keep compiler process alive between invocations = No" (disabled daemon) JPS rebuild fails with SCE: "Provider AndroidCommandLineProcessor not a subtype" at PluginCliParser.processPluginOptions()
Tools. Scripts
KT-27382
Embeddable version of scripting support (KEEP 75)KT-27497
kotlin script - No class roots are found in the JDK pathKT-29293
Script compilation - standard libs are not added to the dependenciesKT-29301
Some ivy resolvers are proguarded out of the kotlin-main-ktsKT-29319
scripts default jvmTarget causes inlining problems - default should be 1.8
Tools. kapt
New Features
KT-28024
Kapt: Add option for printing timings for individual annotation processorsKT-28025
Detect memory leaks in annotation processors
Performance Improvements
KT-28852
Cache classloaders for tools.jar and kapt in Gradle workers
Fixes
KT-24368
Kapt: Do not include compile classpath entries in the annotation processing classpathKT-25756
Investigate file descriptors leaks in kaptKT-26145
Usingkapt
without thekotlin-kapt
plugin should throw a build errorKT-26304
Build fails with "cannot find symbol" using gRPC with dagger; stub compilation fails to find classes generated by kaptKT-26725
Kapt does not handle androidx.annotation.RecentlyNullable correctlyKT-26817
kapt 1.2.60+ ignores .java files that are symlinksKT-27126
kapt: class implementing List generates bad stubKT-27188
kapt Gradle plugin fails in Java 10+ ("Cannot find tools.jar")KT-27334
[Kapt] Stub generator uses constant value in method annotation instead of constant name.KT-27404
Kapt does not call annotation processors on custom (e.g., androidTest) source sets if all dependencies are inherited from the main kapt configurationKT-27487
Previous value is passed to annotation parameter using annotation processingKT-27711
kapt: ArrayIndexOutOfBoundsException: 0KT-27910
Kapt lazy stub without explicit type that initializes an object expression breaks stubbing