350 KiB
350 KiB
Changelog 1.3.X
1.3.72 - IDE plugins update
Backend. JVM
KT-39013202, ASM 8: "AnalyzerException: Execution can fall off the end of the code"
IDE. Decompiler, Indexing, Stubs
KT-37896IAE: "Argument for @NotNull parameter 'file' of IndexTodoCacheManagerImpl.getTodoCount must not be null" through KotlinTodoSearcher.processQuery()
IDE. Gradle Integration
KT-38037UnsupportedOperationException on sync gradle Kotlin project with at least two multiplatform modules
IDE. Highlighting
KT-39590Turn new inference in IDE for 1.3.70 version off
IDE. Refactorings
KT-38527Move nested class to upper level fails silently: MissingResourceException
Tools.JPS
KT-27458The Kotlin standard library is not found in the module graph ... in a non-Kotlin project.
1.3.72
Compiler
KT-37107kotlinc allows calling default constructor of class with no constructorsKT-37406NI: "UnsupportedOperationException: no descriptor for type constructor of TypeVariable(T)" when compiling*.gradle.ktsfile
IDE
KT-37483Kotlin localisationKT-37629False positive "Unsupported [literal prefixes and suffixes]" for infix functionKT-37808"Resolve pasted references" dialog freezes UI for 20 seconds when pasting kotlin code
IDE. Completion
KT-37144Completion goes into an infinite loop with Arrow 0.10.4 dependency
IDE. Debugger
KT-37767Debugger, NPE happens while stepping.
IDE. Editing
KT-35135UI freeze: not enough checkCancelled on resolve path
IDE. Inspections and Intentions
KT-37217Replace UseExperimental with OptIn intention removes target prefixes for annotations
IDE. Native
KT-38079IDEA navigates to wrong line of source code from Native stack trace
IDE. Navigation
KT-37487Destructuring declarations are called "destruction declarations" in UI
Tools. Gradle. Native
KT-37696MPP Gradle plugin: False positive parallel execution detection if build started with --continue
1.3.71
Compiler
KT-36095201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with JavaEnum.valueOfandEnum.values()referenceKT-37040'No explicit visibility in API mode' should not be reported on enum membersKT-37204AssertionError: "No delegated property metadata owner for" with lazy inside inline function
Docs & Examples
KT-37029Kotlin full stack app demo: update all involving versions to work with 1.3.70 release
IDE
KT-34759"PSI and index do not match" and high CPU usage when the library hasenumwith elements in quotes andinternal lazy valin another part of codeKT-37200StackOverflowError in LightMethodBuilder.equals when analysing Kotlin filesKT-37229java.lang.NoSuchMethodError: 'com.intellij.psi.impl.light.LightJavaModule, com.intellij.psi.impl.light.LightJavaModule.findModule after updating kotlin plugin to 1.3.70KT-37273No error in editor when typing unresolved reference in super constructor lambdaKT-37414Not all imports are added on paste if code is formatted after pasteKT-37553Run inspections after general highlight pass
IDE. Code Style, Formatting
KT-37545Continuation indent for method's parameter changes in call chain
IDE. Hints
KT-37537IDE is missing or swallowing keystrokes when hint popups are displayed
IDE. Inspections and Intentions
KT-36478IDE suggests to use 'OptIn' annotation when it is not available in the used version of kotlin-stdlibKT-37294False positive "Unused unary operator" on negative long annotation value
IDE. Navigation
KT-36657KotlinFindUsagesHandler#processElementUsages always return false if options.isSearchForTextOccurrences is false
IDE. Refactorings
KT-37451Change of signature error: Type of parameter cannot be resolvedKT-37597Support Suggest rename and change signature refactorings in Kotlin for IDEA 2020.1
IDE. Run Configurations
KT-36781Override ConfigurationFactory::getId method in Kotlin plugin to avoid problems with localizations
JavaScript
KT-37386Incorrect JS generated by the compiler: function is erased by the function parameter
Tools. Gradle. JS
KT-36196Investigate performance problems while resolving in projects with npm dependencies
Tools. Gradle. Multiplatform
KT-37264In intermediate common source sets, internals are not visible from their dependsOn source sets during Gradle build
Tools. Gradle. Native
KT-37565MPP plugin: Forbid parallel in-process execution of the Kotlin/Native compiler
Tools. kapt
KT-37241Kapt: Classpath entry points to a non-existent location: ...build/intermediates/javac/debug/classes...
1.3.70
Compiler
New Features
KT-34648Support custom messages for @RequiresOptIn-marked annotations
Performance Improvements
KT-14513Suboptimal compilation of lazy delegated properties with inline getValue
Fixes
KT-19234Improve "Supertypes of the following classes cannot be resolved" diagnosticKT-21178Prohibit access of protected members inside public inline membersKT-24461Expect interface with suspend function with default arguments causes runtime errorKT-25514Support usage of function reference with vararg where function of array is expected in new inferenceKT-26435Bad frame merge after inlineKT-27825Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)KT-27999Generic type is fixed too early for lambda argumentsKT-28940Concurrency issue for lazy values with the post-computation phaseKT-29242Conditional with generic type Nothing inside inline function throwsjava.lang.VerifyError: Bad return typeKT-30244Unable to infer common return type for two postponed argumentsKT-30245Wrong type is inferred for lambda if it has expected type with an extension receiverKT-30277Relax the "no reflection found in class path" warning for KType and related APIKT-30744Invoking Interface Static Method from Extension method generates incorrect jvm bytecodeKT-30953Missing unresolved if callable reference is used in the place in which common super type is computingKT-31227Prohibit using array based on non-reified type parameters as reified type arguments on JVMKT-31242"Can't find enclosing method" proguard compilation exception with inline and crossinlineKT-31411Support mode of compiler where it analyses source-set as platform one, but produces only metadata for that specific source-setKT-31653Incorrect transformation of the try-catch cover when inliningKT-31923Outer finally block inserted before return instruction is not excluded from catch interval of inner try (without finally) blockKT-31975No diagnostic on error typeKT-32106New type inference: IDE shows error but the code compiles succesfullyKT-32138New type inference: Invoking type-aliased extension function red in IDE, but compilesKT-32168Problem in IDE with new type inference and delegate providerKT-32243New type inference: Type mistmatch in collection type usageKT-32345New type inference: Error when using helper method to create delegate providerKT-32372Type inference errors in IDEKT-32415Type mismatch on argument of super constructor of inner class callKT-32423New type inference: IllegalStateException: Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@211a538e (ErrorType)KT-32435New inference preserves platform types while old inference can substitute them with the nullable result typeKT-32456New type inference: "IllegalStateException: Error type encountered" when adding emptyList to mutableListKT-32499Kotlin/JS 1.3.40 - new type inference with toTypedArray() failureKT-32742Gradle/JS "Unresolved Reference" when accessing setting field of Dynamic object w/ ReactKT-32818Type inference failed with elvis operatorKT-32862New type inference: Compilation error "IllegalArgumentException: ClassicTypeSystemContextForCS couldn't handle" with overloaded generic extension function reference passed as parameterKT-33033New type inference: Nothing incorrectly inferred as return type when null passed to generic function with expression if statement bodyKT-33197Expression with branch resolving to List<…> ultimately resolves to MutableList<…>KT-33263"IllegalStateException: Type variable TypeVariable(T) should not be fixed!" with generic extension function and in varianceKT-33542Compilation failed with "AssertionError: Suspend functions may be called either as suspension points or from another suspend function"KT-33544"UnsupportedOperationException: no descriptor for type constructor of TypeVariable(R)?" with BuilderInference and elvis operatorKT-33592New type inference: Missed error in IDE — Unsupported [Collection literals outside of annotations]KT-33932Compiler fails when it encounters inaccessible classes in javac integration modeKT-34029StackOverflowError for access to nested object inheriting from containing generic class atorg.jetbrains.kotlin.descriptors.impl.LazySubstitutingClassDescriptor.getTypeConstructorKT-34060UNUSED_PARAMETER is not reported on unused parameters of non-operator getValue/setValue/prodiveDelegate functionsKT-34282Missing diagnostic of unresolved for callable references with overload resolution ambiguityKT-34391New type inference: False negative EXPERIMENTAL_API_USAGE_ERROR with callable referenceKT-34395KtWhenConditionInRange.isNegated() doesn't workKT-34500CompilationException when loop range is DoubleArray and loop parameter is casted to super-type (e.g. Any, Number, etc.)KT-34647Gradually rename experimentality annotationsKT-34649Deprecate-XexperimentalflagKT-34779JVM: "get()" is not invoked in optimized "for" loop over CharSequence.withIndex() with unused variable ("_") for the element in destructuring declarationKT-34786Flaky type inference for lambda expressionsKT-34820New type inference: Red code when expanding type-aliased extension function in LHS position of elvisKT-34888Kotlin REPL ignores compilation errors in class declarationKT-35035Incorrect state-machine generated for suspend lambda inside inline lambdaKT-35101"AssertionError: Mapping ranges should be presented in inline lambda" with a callable reference argument to inline lambdaKT-35168New type inference: "UninitializedPropertyAccessException: lateinit property subResolvedAtoms has not been initialized"KT-35172New type inference: False positive type mismatch if nullable type after elvis and safe call inside lambda is returning (expected type is specified explicitly)KT-35224New type inference: Java call candidate with varargs as Array isn't present if SAM type was used in this callKT-35262Suspend function with Unit return type returns non-unit value if it is derived from function with non-unit return typeKT-35426IncompatibleClassChangeError: Method 'int java.lang.Object.hashCode()' must be Methodref constantwhen invoking on super with explicit generic typeKT-35843Emit type annotations in JVM bytecode with target 1.8+ on basic constructionsKT-36297New type inference: ClassNotFoundException: compiler emits reference to nonexisting class for code with nested inline lambdasKT-36719Enable new inference in IDE since 1.3.70
Docs & Examples
KT-31118Provide missing documentation for StringBuilder members
IDE
New Features
KT-27496Color Scheme: allow changing style for suspend function callsKT-30806Add IntelliJ Color Scheme rules for property declarationsKT-34303IDE should suggest to import an extension iterator function when using for loop with a rangeKT-34567Feature: Auto add val keyword on typing data/inline class ctor parametersKT-34667Add auto-import quickfix for overloaded generic function
Performance Improvements
KT-30726Editor is laggy if the code below a current line has unresolved referenceKT-30863IDE freeze on editing with "Add unambiguous imports on the fly" turned onKT-32868Provide incremental analysis of file when it is applicableKT-33250KtLightClassForSourceDeclaration.isFinal() can be very slow (with implications for class inheritor search)KT-33905Optimize imports under reasonable progressKT-33939Copy action leads to freezesKT-34956UI Freeze: PlainTextPasteImportResolverKT-35121Add support for KtSecondaryConstructors into incremental analysisKT-35189Support incremental analysis of comment and kdocKT-35590UI freeze in kotlin.idea.core.script.ScriptConfigurationMemoryCache when editing file
Fixes
KT-10478Move-statement doesn't work for methods with single-expression body and lambda as returning typeKT-13344Reduce visual distraction of val keywordKT-14758Move statement up shouldn't move top level declarations above package and import directivesKT-23305We should be able to see platform-specific errors in common moduleKT-24399No scrollbar in Kotlin compiler settingsKT-27806UAST: @Deprecated(level=DeprecationLevel.HIDDEN) makes method disappearKT-28708Java IDE fails to understand @JvmDefault on properties from binariesKT-30489Kotlin functions are represented in UAST as UAnnotationMethodsKT-31037Lambda expression default parameter 'it' sometimes is not highlighted in a call chainKT-31365IDE does not resolve references to stdlib symbols in certain packages (kotlin.jvm) when using OSGi bundleKT-32031UAST: Method body missing for suspend functionsKT-32540Ultra light class support for compiler pluginsKT-33820Stop usingcom.intellij.codeInsight.AnnotationUtil#isJetbrainsAnnotationKT-33846Stop usingcom.intellij.openapi.vfs.newvfs.BulkFileListener.AdapterKT-33888Bad indentation when copy-paste to trimIndent()KT-34081Kotlin constants used in Java annotation attributes trigger "Attribute value must be constant" errorKT-34316UAST: reified methods no longer visible in UASTKT-34337Descriptors Leak in UltraLightClassesKT-34379"Implement members" with unspecified type argument: "AssertionError: 2 declarations in override fun"KT-34785Enter handler: do not add 'trimIndent()' in constKT-34914Analysis sometimes isn't rerun until an out of code block changeKT-35222SQL language is not injected to String array attribute of Java annotationKT-35266Kotlin-specific setting "Optimize imports on the fly" is uselessKT-35454Weird implementation of KtUltraLightFieldImpl.isEquivalentToKT-35673ClassCastException on destructuring declaration with annotationKT-36008IDEA 201: NSME: "com.intellij.openapi.progress.util.ProgressIndicatorUtils.awaitWithCheckCanceled(Future)" at org.jetbrains.kotlin.idea.util.ProgressIndicatorUtils.awaitWithCheckCanceled()
IDE. Code Style, Formatting
New Features
KT-35088Insert empty line between a declaration and declaration with commentKT-35106Insert empty line between a declaration and declaration with annotation
Fixes
KT-4194Code formatter should not move end of line comment afterifcondition to the next lineKT-12490Formatter inserts empty line between single-line declarations in presence of commentKT-22273Labeled statements are formatted incorrectlyKT-22362Formatter breaks up infix function used in elvis operatorKT-23811Formatter: Constructor parameters are joined with previous line if prefixed with an annotationKT-23929Formatter: chained method calls: "Chop down if long" setting is ignoredKT-23957Formatter tears comments away from file annotationsKT-30393Remove unnecessary whitespaces between property accessor and its parameter list in formatterKT-31881Redundant indent for single-line comments inside lamdbaKT-32277Space before by delegate keyword on property is not formattedKT-32324Formatter doesn't insert space after safe cast operatoras?KT-33553Formater does not wrap function chained expression body despite "chained function calls" settingsKT-34049Formatter breaks string inside template expression with elvis operatorKT-35093Formatter inserts empty line between single-line declarations in presence of annotationKT-35199Wrong formatting for lambdas in chain calls
IDE. Completion
Fixes
KT-15286Support import auto-completion for extension functions declared in objectsKT-23026Code completion: Incorrectconstin class declaration lineKT-23834Code completion and auto import do not suggest extension that differs from member only in type parameterKT-25732nullkeyword should have priority in completion sortKT-29840constis suggested inside the class body, despite it's illegalKT-29926Suggest lambda parameter names in IDE to improve DSL adoptionKT-31762Completion: Parameter name is suggested instead of enum entry in entry constructorKT-32615PIEAE for smart completion of anonymous function with importing name inside of functionKT-33979No completion for functions from nested objectsKT-34150No completion for object methods that override somethingKT-34386Typo in Kotlin arg postfix completionKT-34414Completion works differently for suspend and regular lambda functionsKT-34644Code completion list sorting: do not put method before "return" keywordKT-35042Selecting completion variant works differently for suspend and regular lambda parameterKT-36306Code completion inlines content of FQN class if completion called in string
IDE. Debugger
Fixes
KT-12242Breakpoint in a class is not hit if the class was first accessed in Evaluate ExpressionKT-16277Can't set breakpoint for object constructionKT-20342Step Over jumps to wrong position (KotlinUFile)KT-30909"Kotlin variables" button looks inconsistent with panel styleKT-32704ISE "Descriptor can be left only if it is last" on calling function with expression body inside Evaluate Expression windowKT-32736Evaluate Expression on statement makes error or shows nothingKT-32741"Anonymous functions with names are prohibited" on evaluating functions in Expression modeKT-33303"Smart step into" doesn't work for library declarationsKT-33304Can't put a breakpoint to the first line in fileKT-33728Smart Step Into doesn't work for @InlineOnly functionsKT-35316IndexNotReadyException on function breakpoint
IDE. Folding
KT-6316Folding of multiline functions which don't have curly braces (expression-body functions)
IDE. Gradle Integration
KT-35442KotlinMPPGradleModelBuilder shows warnings on import because it can't find a not existing directory
IDE. Gradle. Script
KT-31976Adding a space in build.gradle.kts leads to 'Gradle projects need to be imported' notificationKT-34441*.gradle.kts: load all scripts configuration at project importKT-34442*.gradle.kts: avoid just-in-case script configuration request to GradleKT-34530Equal duplicate script definitions are listed three times in PreferencesKT-34740Implement completion for implicit receivers in scripts with new scripting APIKT-34795Gradle Kotlin DSL new project template: don't usesetUrlsyntax insettings.gradle.ktspluginManagementblockKT-35096Duplicated “Kotlin Script” definition for Gradle/Kotlin projectsKT-35149build.graldle.kts settings importing: configuration for buildSrc/prepare-deps/build.gradle.kts not loadedKT-35205*.gradle.kts: avoid just-in-case script configuration request to Gradle while loading from FSKT-35563Track script modifications between IDE restarts
IDE. Hints. Parameter Info
KT-34992UI Freeze: Show parameter info leads to freezes
IDE. Inspections and Intentions
New Features
KT-8478Make 'Add parameter to function' quick fix work to parameters other than lastKT-12073Report IDE inspection warning on pointless unary operators on numbersKT-18536Provide proper quick fix for accidental override errorKT-34218Merge 'else if' intentionKT-36018'Missing visibility' and 'missing explicit return type' compiler and IDE diagnostics for explicit API mode
Fixes
KT-17659Cannot access internal Kotlin declaration from Java test code within the same moduleKT-25271"Remove redundant '.let' call" may introduce expression side effects several timesKT-29737"Make internal/private/protected" intention works for eitherexpectoractualsideKT-31967Typo in inspection name: "'+=' create new list under the hood"KT-32582Ambiguous message for [AMBIGUOUS_ACTUALS] error (master)KT-33109"Add constructor parameters" quick fix should add default parameters from super classKT-33123False positive "Redundant qualifier name" with inner class as constructor parameter for outerKT-33297Improve parameter name inAdd parameter to constructorquick fixKT-33526False positive "Redundant qualifier name" with enum constant initialized with companion object fieldKT-33580False positive "Redundant visibility modifier" overriding property with protected set visibilityKT-33771False positive "Redundant Companion reference" with Java synthetic property and same-named object propertyKT-33796INVISIBLE_SETTER: quick fix "Make '' public" does not remove redundant setterKT-33902False positive for "Remove explicit type specification" with type alias as return typeKT-33933"Create expect" quick fix generates the declaration in a default source set even if an alternative is chosenKT-34078ReplaceWith does not work if replacement is fun in companion objectKT-34203'Add constructor parameter' fix does not add genericsKT-34297"Add 'replaceWith' argument" inserts positional instead of named argumentKT-34325"Control flow with empty body" inspection should not report ifs with commentsKT-34411Create expect/actual quick fix: focus is lost in the editor (193 IDEA)KT-34432Replace with safe call intention inserts redundant elvis operatorKT-34603"Remove redundant '.let' call" false negative for reference expressionKT-34694"Terminate preceding call with semicolon" breaks lambda formattingKT-34784"Indent raw string" intention: do not suggest in constKT-34894Action "Add not-null asserted (!!) call" doesn't fix error for properties with omittedthisKT-35022Quickfix "change to var" doesn't removeconstmodifierKT-35208NPE from PerModulePackageCacheServiceKT-35242Text-range based inspection range shifts wrongly due to incremental analysis of whitespace and commentsKT-35288False positive "Remove braces from 'when' entry" in 'when' expression which returns lambdaKT-35837Editing Introduce import alias does not affect KDocKT-36020Intention 'Add public modifier' is not available for highlighted declaration in explicit api modeKT-36021KDoc shouldn't be highlighted on 'visibility must be specified' warning in explicit api modeKT-36307False positive "Remove redundant '.let' call" for nested lambda change scope reference
IDE. Multiplatform
KT-33321In IDE, actuals of intermediate test source set are incorrectly matched against parent main source-set (not test one)
IDE. Navigation
KT-30736References for import alias from kotlin library not found using ReferencesSearch.searchKT-35310PIEAE: "During querying provider Icon preview" at ClsJavaCodeReferenceElementImpl.multiResolve() on navigation to Kotlin declaration
IDE. Refactorings
Performance Improvements
KT-24122Long pauses with "removing redundant imports" dialog on rename refactoring for IDEA Kotlin Plugin
Fixes
KT-18191Refactor / Copy multiple files/classes: package statements are not updatedKT-18539Default implement fun/property text shouldn't contain scary commentKT-28607Extract/Introduce variable fails if caret is just after expressionKT-32514Moving file in with 'search for references' inlines contents in referred source codeKT-32601Introduce variable in unformatted lambda causes PIEAEKT-32999Renaming parameter does not rename usage in named argument in a different fileKT-33372Rename resource cause its content to be replacedKT-34415Refactor > Change signature of an overridden actual function from a platform class: "org.jetbrains.kotlin.descriptors.InvalidModuleException: Accessing invalid module descriptor"KT-34419Refactor > Change signature > add a function parameter: "org.jetbrains.kotlin.descriptors.InvalidModuleException: Accessing invalid module descriptor"KT-34459Change method signature with unresolved lambda type leads to errorKT-34971Refactor / Copy for declarations from different sources throws IAE: "unexpected element" at CopyFilesOrDirectoriesHandler.getCommonParentDirectory()KT-35689Change Signature: "InvalidModuleException: Accessing invalid module descriptor" on attempt to change receiver type of a member abstract functionKT-35903Change Signature refactoring crashes by InvalidModuleException on simplest examples
IDE. Run Configurations
KT-34632Kotlin/JS: Can not run single test methodKT-35038Running a test in a multi-module MPP project via IntelliJ Idea gutter action produces incorrect Gradle Run configuration
IDE. Script
KT-34688Many "scanning dependencies for script definitions progresses at the same timeKT-35886UI Freeze: ScriptClassRootsCache.hasNotCachedRoots 25 seconds
IDE. Tests Support
KT-33787IDE tests: Not able to run single test using JUnit
IDE. Wizards
New Features
KT-36043Gradle, JS: Add continuous-mode run configuration in New Project Wizard templates
Fixes
KT-35584New Project wizard: module names restrictions are too strong with no reasonKT-35690New Project wizard: artifact and group fields are mixed upKT-35694New Project wizard creates settings.gradle.kts even for Groovy DSLKT-35695New Project wizard useskotlin ()call for dependencies in non-MPP Groovy-DSL JVM projectKT-35710New Project wizard creates non-Java source/resource roots for Kotlin/JVM JPSKT-35711New Project wizard: Maven: "Kotlin Test framework" template adds wrong dependencyKT-35712New Project wizard: source root templates: switching focus from root reverts custom settings to defaultKT-35713New Project wizard: custom settings for project name, artifact and group ID are reverted to default on Previous/NextKT-35715New Project wizard: Maven: custom repository required for template (ktor) is not added to pom.xmlKT-35718New Project wizard: Gradle: ktor: not existing repository is addedKT-35719New Project wizard: Multiplatform library: entryPoint specifies not existing class nameKT-35720New Project wizard: Multiplatform library: Groovy DSL: improve the script for nativeTarget calculation
JS. Tools
KT-35198Kotlin/JS: with references to NPM/.kjsm library DCE produces invalid resulting JavaScriptKT-36349KJS: JS DCE use file's timestamps to compare files. It conflicts with gradle configuration 'preserveFileTimestamps = false'.
JavaScript
KT-30517KJS generates wrong call for secondary constructor w/ default argument when class inherited by object expressionKT-33149Lambda is not a subtype ofFunction<*>KT-33327JS IR backend works incorrectly when function and property have the same nameKT-33334JS IR backend can't access private var from internal inline function
Libraries
New Features
KT-7657scan()functions for Sequences and IterableKT-15363Builder functions for basic containersKT-21327Add Deque & ArrayDeque to Kotlin standard libraryKT-33069StringBuilder common functionsKT-33761reduceOrNull: reduce that doesn't throw on empty inputKT-35347Create method Collection.randomOrNull()KT-36118Provide API for subtyping relationship between CoroutineContextKey and elements associated with this key
Fixes
KT-17544JS: document array destructuring behaviorKT-33141UnderMigration annotation is defined in Kotlin, but supposed to be used from JavaKT-33447runCatching docs suggests it catches exceptions but it catches throwablesKT-35175Clarify documentation for XorWowRandomKT-35299Float.rangeTo(Float): ClosedFloatingPointRange doesn't exist in the common stdlib.
Reflection
KT-14720Move KClass.cast / KClass.isInstance into kotlin-stdlibKT-33646Make KClass.simpleName available on JVM without kotlin-reflect.jarKT-34586Make KClass.qualifiedName available on JVM without kotlin-reflect.jar
Tools. CLI
KT-29933Support relative paths in -Xfriend-pathsKT-34119Add JVM target bytecode version 13KT-34240CLI kotlinc help -include-runtime has redundant space
Tools. Gradle
KT-25206Delegate build/run to gradle results regularly in cannot delete proto.tab.value.sKT-35181Make kapt Gradle tasks compatible with instant execution
Tools. Gradle. JS
New Features
KT-30659Run NodeJS debugger when running debug gradle task from IDEAKT-32129Karma: support debuggingKT-32179DSL: allow npm in root dependencies section of single platform projectsKT-32283Webpack: Allow to configure Webpack modeKT-32323Webpack: support optimized webpack bundleKT-32785Webpack: Asset bundling in distributions folder
Fixes
KT-30917Tests: Inner classes mapped incorrectly in short test fail messageKT-31894ithout Kotlin sourcesbrowserRunmakes the build failKT-34946DCE require some/all transitive dependencies. Invalid compilation result otherwiseKT-35318IllegalStateException on clean build withleft-padpackage and generateKotlinExternals=trueKT-35428Gradle dependency with invalid package.jsonKT-35598Actualize NPM dependencies in 1.3.70KT-35599Actualize Node and Yarn versions in 1.3.70KT-36714Webpack output doesn't consider Kotlin/JS exports (library mode)
Tools. Gradle. Multiplatform
KT-31570Deprecate Kotlin 1.2.x MPP Gradle pluginsKT-35126Support Gradle instant execution for Kotlin/JVM and Android tasksKT-36469Dependencies with compileOnly scope are not visible in Gradle build of MPP with source set hierarchies support
Tools. Gradle. Native
KT-29395Allow setting custom destination directory for Kotlin/Native binariesKT-31542Allow changing a name of a framework created by CocoaPods Gradle pluginKT-32750Support subspecs in CocoaPods pluginKT-35352MPP Gradle plugin: Support exporting K/N dependencies to shared and static librariesKT-35934Gradle MPP plugin: Spaces are not escaped in K/N compiler parametersKT-35958Kotlin/Native: Gradle: compiling test sources with no sources in main roots halts the Gradle daemon
Tools. J2K
New Features
KT-21811Convert string concatenation into multiline string
Performance Improvements
KT-16774UI Freeze: J2K, PlainTextPasteImportResolve: IDEA freezes for 10+ seconds when copy-pasting Java code from external source to Kotlin file
Fixes
KT-18001Multi-line comments parsed inside Kdoc commentsKT-19574Code with inferred default parameters and parameter vs property name clashesKT-32551Non-canonical modifiers order inspection is not applied during convertion of inner super classKT-33637Property with getter is converted into incompailable code if backing field was not generatedKT-34673First comment in function (if, for, while) block is moved to declaration line of blockKT-35081Invalid code with block comment (Javadoc)KT-35152J2K breaks formatting by moving subsequent single line comments to first columnKT-35395UninitializedPropertyAccessException throughorg.jetbrains.kotlin.nj2k.conversions.ImplicitCastsConversionwhen anonymous inner class passes itself as argument to outer methodKT-35431"Invalid PSI class com.intellij.psi.PsiLambdaParameterType" with lambda argument in erroneous codeKT-35476Expression with compound assignment logical operator is changing operator precedence without parenthesesKT-35478Single line comment before constructor results in wrong codeKT-35739Line break is not inserted for private property getterKT-35831Error on inserting plain text with\rchar
Tools. Scripts
KT-34274Add support for@CompilerOptionsannotation inkotlin-main-ktsKT-34716Implement default cache in main-ktsKT-34893Update apache ivy version in kotlin-main-ktsKT-35413Implement "evaluate expression" command line parameter and functionality in the JVM cli compilerKT-35415Implement script and expression evaluation in thekotlinrunnerKT-35416load main-kts script definition by default in the jvm compiler, if the jar is available
Tools. kapt
KT-30164Default field value not transmitted to Java source model for mutable propertiesKT-30368Deprecated information not transmitted to Java source modelKT-32832Turn worker API on by defaultKT-33617Java 9+: "IllegalStateException: Should not be called!"KT-34167Annotation Processor incorrectly marked as isolating causes full rebuild silently.KT-34258kapt.incremental.apt=truemakes build failed after moving annotation processor filesKT-34569Kapt doesn't handle methods with both the @Override annotation andoverridekeywordKT-36113Enabling kapt.incremental.apt makes remote build cache miss viaclasspathStructure$kotlin_gradle_pluginproperty
1.3.61
Compiler
KT-35004"AssertionError: Unsigned type expected" inwhenrange check in extension on unsigned type
IDE
KT-34923[Regression] KtUltraLightMethod.hasModifierProperty("native") returns false for external Kotlin functions
Libraries
KT-21445W3C DOM Touch events and interfaces are incomplete / missing
Tools. Compiler Plugins
KT-34991kotlinx.serialization: False warning "Explicit @Serializable annotation on enum class is required when @SerialName or @SerialInfo annotations are used on its members"
Tools. J2K
KT-34987New J2K converter: @NotNull annotations are not removed after converting java code to kotlinKT-35074J2K: No auto conversion in 'for' loop with multiple init variables
1.3.60
Android
KT-27170Android lint tasks fails in Gradle with MPP dependency
Compiler
New Features
KT-31230Refine rules for allowed Array-based class literals on different platforms: allowArray::classeverywhere, disallowArray<...>::classon non-JVMKT-33413Allow 'break' and 'continue' in 'when' statement to point to innermost surrounding loop
Performance Improvements
KT-14513Suboptimal compilation of lazy delegated properties with inline getValueKT-28507Extra InlineMarker.mark invocation in generated suspending function bytecodeKT-29229Intrinsify 'in' operator for unsigned integer ranges
Fixes
KT-7354Confusing error message when trying to access package local java classKT-9310Don't make interface and DefaultImpls methods synchronizedKT-11430Improve diagnostics for dangling lambdasKT-16526Provide better error explanation when one tries to delegate var to read-only delegateKT-20258Improve annotation rendering in diagnostic messagesKT-22275Unify exceptions from null checksKT-27503Private functions uses from inside of suspendCoroutine go though accessorKT-28938Coroutines 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-29614java.lang.VerifyError: Bad type on operand stack - in inlining, crossinline in constructor with EXACTLY_ONCE contractKT-30275Get rid of session in FirElementKT-30744Invoking Interface Static Method from Extension method generates incorrect jvm bytecodeKT-30785Equality comparison of inline classes results in boxingKT-32217FIR: support delegated properties resolveKT-32433NI: UninferredParameterTypeConstructor with class propertyKT-32587NI: Type mismatch "String" vs "String" in IDE on generic .invoke on generic delegated propertyKT-32689Shuffled line numbers in suspend functions with elvis operatorKT-32851Constraint for callable reference argument doesn't take into account use-site varianceKT-32864The line number of assertFailsWith in suspending function is lostKT-33125NI: "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-33421Please make NOTHING_TO_INLINE warning shorterKT-33504EA-209823 - ISE: ProjectResolutionFacade$computeModuleResolverProvider$resolverForProject$$.invoke: Can't find builtIns by key CacheKeyBySdkKT-33572Scripting import with implicit receiver doesn't workKT-33821Compiler should not rely on the default locale when generating boxing for suspend functionsKT-18541Prohibit "tailrec" modifier on open functionsKT-19844Do not render type annotations on symbols rendered in diagnostic messagesKT-24913KotlinFrontEndException with local class in init of generic classKT-28940Concurrency issue for lazy values with the post-computation phaseKT-31540Change initialization order of default values for tail recursive optimized functions
Docs & Examples
KT-26212Update docs to explicitly mention that union is opposite of intersectKT-34086Website, 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-9204Shorten references and some other IDE features have problem when package name clash with class nameKT-17993Annotations are colored the same as language keywordsKT-21037LazyLightClassMemberMatchingError$WrongMatch “Matched :BAR MemberIndex(index=0) to :BAR MemberIndex(index=1) in KtLightClassImpl” after duplicating values inside enum classKT-23305We should be able to see platform-specific errors in common moduleKT-23461Move statement up/downattaches a comment block to the function being movedKT-26960IDE doesn't reportactualwithoutexpectplaced into a custom platform-agnostic source setKT-27243LazyLightClassMemberMatchingError when overriding hidden memberKT-28404Gradle configuration page is missing from a New Project Wizard creation flow for multiplatform templatesKT-30824No highlighting of declaration/usage of function with functional-type (lambda) parameter on its usageKT-31117AssertionError atCompletionBindingContextProvider._getBindingContextwhen typing any character within string with injected KotlinKT-31139"Override members" on enum inserts semicolon before enum bodyKT-31810Paste inside indented.trimIndent()raw string doesn't respect indentationKT-32401Exceptions while running IDEA in headless mode for building searchable optionsKT-32543UltraLight support for Kotlin collections.KT-32544Support UltraLight classes for local/anonymous/enum classesKT-327992019.2 RC (192.5728.74) Kotlin plugin exception during build searchable options (Directory index may not be queried for default project)KT-33008IDEA does not report in MPP: Upper bound of a type parameter cannot be an arrayKT-33316Kotlin Facet: make sure the order of allPlatforms value is fixedKT-33561LazyLightClassMemberMatchingError when overloading synthetic memberKT-33584Make kotlin light classes return no-arg constructor when no-arg (or jpa) compiler plugin is enabledKT-33775please remove usages of org.intellij.plugins.intelliLang.inject.InjectorUtils#putInjectedFileUserData(com.intellij.lang.injection.MultiHostRegistrar, com.intellij.openapi.util.Key, T) deprecated eons agoKT-33813Poor formatting of 'Selected target platforms' and 'Depends on' in facet settingsKT-33937delay() completion from kotlinx.coroutines causes happening of root package in codeKT-33973Kotlin objects could abuse idea plugin functionalityKT-34000Import quickfix does not work for extension methods from objectsKT-34070"No target platforms selected" message for commonTest facet at mobile shared library projectKT-34191Since-build .. until-build compatibility ranges are the same for 192 and 193 IDE pluginsKT-21153IDE: 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-34237MPP with Android target:common*source sets are not shown as source roots in IDEKT-33626Deadlock with Kotlin LockBasedStorageManager in IDEA commit dialogKT-34402Unresolved reference to Kotlin.test library in CommonTest in Multiplatform project without JVM targetKT-34639Multiplatform project with the only (Android) target is incorrectly imported into IDE
IDE. Completion
KT-10340Import completion unable to shorten fq-names when there is a conflict between package name and local identifierKT-17689Code completion for enum typealias doesn't show membersKT-28998Slow completion for build.gradle.kts (Kotlin Gradle DSL script)KT-30996DSL extension methods which are not applicable are offered for completionKT-31902Fully qualified name is used fordelayinstead of import and just method nameKT-33903Duplicating completion for imported extensions from companion objects
IDE. Debugger
KT-10984Disallow placing line breakpoints without executable code (changed)KT-22116Support function breakpointsKT-24408@InlineOnly: Misleading status for breakpoints in inline functionsKT-27645Debugger breakpoints do not work in suspend function executed in SpringBoot controller (MVC and WebFlux)KT-32687Disallow breakpoints for @InlineOnly function bodiesKT-32813Exception on invoking "Smart Step Into"KT-32830NPE on changing class property in Evaluate Expression windowKT-33064“Read access is allowed from event dispatch thread or inside read-action only” from KotlinLineBreakpointType.createLineSourcePosition on adding new line before the current one while stopping on breakpointKT-11395Breakpoint inside lambda argument of InlineOnly function doesn't work
IDE. Folding
KT-6314Folding of "when" construction
IDE. Gradle
KT-33038Package prefix is not imported in non-MPP projectKT-33987Serialization exception during importing Kotlin project in IDEA 192KT-32960KotlinMPPGradleModelBuilder takes a long time to process when syncing non-MPP project with IDEKT-34424With Kotlin plugin in Gradle project without Native the IDE fails to start Gradle task: "Kotlin/Native properties file is absent at null/konan/konan.properties"KT-34256Fail to use multiplatform modules with dependsOn with android pluginKT-34663Low performance of MPP 1.2 during import with module-per-source-set enabled
IDE. Gradle. Script
KT-31766Gradle Kotlin DSL new project template: use type-safe model accessorsKT-34463New Gradle-based project template misses pluginManagement{} block in EAP branchKT-31767Gradle Kotlin DSL new project template: use settings.gradle.kts
IDE. Inspections and Intentions
New Features
KT-26431Quickfix to remove redundant labelKT-28049Suggest import quickfix for operator extension functionsKT-29622"Move to separate file" intention should also work for sealed classKT-33178Use 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-12291Override/Implement Members: better member positioning inside the classKT-14899Quickfix "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-21172Join declaration and assignment should place the result at the assignment, not at declarationKT-25697Replace with dot callquickfix breaks formattingKT-26635An empty line is added afteractualmodifier 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-28538create expected ...quick fix illegally createsexpectmember with a usage of a platform-specific typeKT-28549Create actual/expect quick fix for class/object doesn't add import for an inherited memberKT-28620Create expect/actual ...quick fix could save @Test annotation on generationKT-28740AE “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-28947Backing field has created after applying “Create expected class in common module...” intentionKT-30136False negative "Redundant explicit 'this'" with local variableKT-30794Quickfix for unchecked cast produces invalid codeKT-31133Liveness analysis on enum does not take into account calls to 'values'KT-31433Incorrect "Create expected class..." for class with supertypeKT-31475"Create expect..." should delete 'override' modifierKT-31587Redundantprivatemodifier before primary constructor after createactualclassKT-31921"Create expected ..."/"Create actual..." quick fix:valandvarargmodifiers are misordered in the generatedexpect/actualdeclarationKT-31999"Variable declaration could be moved intowhen" inspection suggests to inline expression containing return (throw) statementKT-32012Change parameter type quick fix: Don't use qualified nameKT-32468False positive SimplifiableCall "filter call could be simplified to filterIsInstance" with expression body function and explicit return typeKT-32479False positive "Redundant overriding method" with derived property and base function starting withget,setoris(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-32582Ambiguous 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 andtrimIndentKT-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 addsactualmodifier to an interface function with default implementation without a warningKT-32768"Create expect" quick fix doesn't warn about a local supertype of anactualclass while generating an expected declarationKT-32829"Add .jar to the classpath" quick fix creates "compile"/"testCompile" dependencies in build.gradleKT-32972No "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-33150Don't suggest create expect function from function withprivatemodifierKT-33153False positive "Redundant overriding method" when overriding package private methodKT-33204False 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-33302KNPE 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-33362Inspection "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 insertsobjectkeyword in the wrong placeKT-33718"Create enum constant" quick fix adds after semicolonKT-33754Improve 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-33930Don't suggest "create expect" quick fix onlateinitandconsttop-level propertiesKT-33981“KotlinCodeInsightWorkspaceSettings is registered as application service, but requested as project one” on opening QF menu for some fixes in IJ193KT-32965False positive "Redundant qualifier name" with nested enum member callKT-33597False positive "Redundant qualifier name" with class property initialized with same-named object propertyKT-33991False positive "Redundant qualifier name" with enum member function callKT-34113False positive "Redundant qualifier name" with Enum.values() from a different Enum
IDE. KDoc
KT-20777KDoc: Type parameters are not shown in sample code
IDE. Multiplatform
KT-26333IDE incorrectly requiresactualimplementations to be present in all the project source setsKT-28537Platform-specific type taken from a dependency module isn't reported incommoncodeKT-32562Provide a registry key to enable/disable hierarchical multiplatform mechanism in IDE
IDE. Navigation
KT-28075Duplicate "implements" gutter icons on some interfacesKT-30052Duplicated "is subclassed" editor gutter iconsKT-33182com.intellij.idea.IdeStarter#main has four (!) icons, should be two
IDE. REPL
KT-33329IllegalArgumentException in REPL
IDE. Refactorings
KT-24929'Search for references' checkbox state isn't saved on move of kotlin fileKT-30342Move refactoring: suggest file name starting with an uppercase letterKT-32426Invalid 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-33059Exception [Assertion failed: Write access is allowed inside write-action only] in case of Move class to nonexistent folderKT-33972Change signature should affect all hierarchy
IDE. Run Configurations
KT-34366Implement gutters for running tests (multi-platform projects)
IDE. Scratch
KT-23986No access to stdout output in Kotlin scratchKT-23989Scratch: allow copy of a scratch outputKT-28910Add hint for Make before Run checkboxKT-29407strange output for long stringsKT-31295Kotlin worksheet in projects, not as scratch filesKT-32366Sidebar as alternative output layoutKT-33585Synchronized highlighting of the main editor and side panel
IDE. Script
KT-30206Settings / ... / Kotlin Scripting with no project opened causes ISE: "project.baseDir must not be null" at ScriptTemplatesFromDependenciesProvider.loadScriptDefinitions()KT-32513Intellij hangs in ApplicationUtilsKt.runWriteAction through ScriptDependenciesLoader$submitMakeRootsChange$doNotifyRootsChanged$1.run
IDE. Wizards
KT-27587Bump Android build tools version atMultiplatform (Android/iOS)template of the New Project WizardKT-33927MPP, Kotlin New project wizard: broken project generationKT-34108Gradle Kotlin DSL: generated project withtaskselement fails on configuration stage with Gradle 4.10KT-34154New Project wizard: build.gradle.kts: type-safe code sets JVM 1.8 for main, but JVM 1.6 for testKT-34229New Project wizard: IDEA 193+: Mobile Android/iOS: creating another project of this type tries to write into previous one
JavaScript
KT-12935Generated source maps for JS mention nonexistent dummy.ktKT-26701JS, rollup.js: Application can't depend on a library if both sourcemaps reference "dummy.kt"
Libraries
KT-26309Avoid division in string-to-number conversionsKT-27545File.copyTo: unclear error message when it fails to delete the destinationKT-28804Wrong parameter name in kotlin.text.contentEqualsKT-32024ModifyIterable<T>.take(n)implementation not to call.next()more than necessaryKT-32532MutableList.removeAll is lacking documentationKT-32728CollectionsKt.windowed throws IllegalArgumentException (Illegal Capacity: -1) when size param is Integer.MAX_VALUE due to overflow operationKT-33864Read from pseudo-file system is empty
Reflection
KT-13936KotlinReflectionInternalError on invoking callBy on overridden member with inherited default argument valueKT-17860Improve KParameter.toString for receiver parameters
Tools
KT-17045Drop MaxPermSize support from compiler daemonKT-32259org.jetbrains.annotationsmodule exported from embeddable compiler, causes problems in Java modular builds
Tools. Android Extensions
KT-32096IDE plugin doesn't recognize that Parcelize is no longer experimental
Tools. CLI
KT-24991CLI: Empty classpath inkotlinscript except forkotlin-runner.jarKT-26624Set Thread.contextClassLoader when running programs with 'kotlin' launcher script or scripts with 'kotlinc -script'KT-24966Classloader problems when running basic kafka example withkotlinandkotlinc
Tools. Compiler Plugins
KT-29471output from jvm-api-gen plugin on classpath crashes downstream kotlinc-jvm: inline method with inner classKT-33630cannot use @kotlinx.serialization.Transient and lateinit together on 1.3.50
Tools. Daemon
KT-32992Enable assertions in Kotlin Compile DaemonKT-33027Compilation with daemon fails, because IncrementalModuleInfo#serialVersionUID does not match
Tools. Gradle
New Features
KT-20760Kotlin Gradle Plugin doesn't allow for configuring friend paths through APIKT-34009Associate compilations in the target–compilation project model
Performance Improvements
KT-31666Kotlin plugin configures all tasks in a project whenkotlin.incrementalis enabled
Fixes
KT-17630User test Gradle source set code cannot reach out internal members from the production codeKT-22213Android Extensions experimental mode doesn't work with Gradle Kotlin DSLKT-31077android.kotlinOptions block is lacking its typeKT-31641Kapt configurations miss attributes to resolve MPP dependencies: Cannot choose between the following variants ...KT-31713ConcurrentModificationException: Realize Pending during execution phaseKT-32678Bugfixes in HMPP source set visibilityKT-32679Testing & test tasks API in the target–compilation modelKT-32804Kapt-generated Java sources in jvm+withJava MPP module are not compiled and bundledKT-32853ConcurrentModificationException when compiling with Gradle.KT-32872Gradle test runner for Native does not show failed build if process quit without starting printing results.KT-33105kapt+withJava in multiplatform module depending on other multiplatform fails on 1.3.50-eap-54KT-33469Drop support for Gradle versions older than 4.3 in the Kotlin Gradle pluginKT-33470Drop support for Gradle versions older than 4.9 in the Kotlin Gradle pluginKT-33980Read the granular source sets metadata flag value once and cache it for the current Gradle buildKT-34312UnsupportedOperationException onrequiresVisibilityOfin the Kotlin Gradle plugin
Tools. Gradle. JS
New Features
KT-31478Gradle, JS tests, Karma: Support sourcemaps in Gradle stacktracesKT-32073Gradle, JS, karma: parse errors and warnings from karma outputKT-32075Gradle, JS, karma: download chrome headless using puppeteer
Fixes
KT-31663Gradle/JS: with not installed browser specified for browser test the response is "Successful, 0 tests found"KT-32216Gradle, JS, tests: filter doesn't workKT-32224In Gradle Kotlin/JS projects, thebrowserWebpacktask does not rerun when themaincompilation's outputs changeKT-32281Gradle, JS, karma: Headless chrome output is not capturedKT-33288JS: Incorrect bundle with webpack output.library and source mapsKT-33313When a Kotlin/JS test task runs using a custom compilation, it doesn't track the compilation outputs in its up-to-date checksKT-33547Template JS Client and JVM Server works wrong on 1.3.50 KotlinKT-33549Gradle Kotlin/JS external declarations: search fortypingskey insidepackage.jsonKT-33579Js tests with mocha cannot be runKT-33710Task "generateExternals" for automatic Dukat execution does not workKT-33716Gradle, Yarn: yarn is not downloading via YarnSetupTaskKT-34101CCE 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 Servernew project wizard templateKT-32319Gradle, js, webpack: source-map-loader failed to load source contents from relative urlsKT-33417NodeTest failed with error "Failed to create MD5 hash" after NodeRun is executedKT-33747Exception doesn't fail the test in kotlin js node runnerKT-33828jsPackageJson task fails after changing artifact origin repositoryKT-34460NPM packages clash if declared in dependencies and devDependencies bothKT-34555[Kotlin/JS] Unsafe webpack config merge
Tools. Gradle. Native
KT-33076MPP Gradle plugin: Produce final native binaries from compilation output instead of sourcesKT-33645Kotlin/Native: Compilation failure if a library passed by the -Xinclude option contains a constructor annotated with @OverrideInitKT-34259MPP Gradle plugin: Support fat frameworks for watchOS and tvOSKT-34329Support watchOS and tvOS in CocoaPods Gradle plugin
Tools. J2K
New Features
KT-7940J2K: convert Integer.MAX_VALUE to Int.MAX_VALUEKT-22412J2K: Intention to replace if(...) throw IAE with requireKT-22680Request: when converting Java->Kotlin, try to avoid creating functions for constant fields (static final)
Performance Improvements
KT-33725Java->Kotlin converter on paste performs expensive reparse in unrelated contextsKT-33854J2K 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-19603A mutable container property updated from another class converts to red codeKT-19607Static member qualified by child class converted to red codeKT-20035Automatic conversion from Java 1.8 to Kotlin 1.1.4 using Idea 2017.2.2: null!!KT-21504J2K: Convert Long.parseLong(s) to s.toLong()KT-24293Bug: conversion of Java "List" into Kotlin doesn't produce "MutableList"KT-32253Converting Java class with field initialized by constructor parameter used to initialize a different field or named as a different field produces red codeKT-32696New J2K: java List is wrongly converted when pasting it to Kotlin fileKT-32903J2K: Static import is converted to unresolved referenceKT-33235Remove "Replace guard clause with kotlin's function call" inspection and tranform it to J2K post-processingKT-33434UninitializedPropertyAccessException occurs after J2K convertion of package with custom functional interface and it's usageKT-33445Two definitions of org.jetbrains.kotlin.idea.j2k.J2kPostProcessing in Kotlin 1.3.50-rcKT-33500Unresolved reference after J2K convertion of isNaN/isFiniteKT-33556J2K converter fails on statically imported global overloaded functionsKT-33679Result of assignment with operation differs in kotlin after J2K conversionKT-33687Extra empty lines are added after comment after J2K conversionKT-33743Reference to static field outside its class is unresolved after J2K conversionKT-33756J2K: main method with varargs is converted to non-runnable main kotlin methodKT-33863java.lang.IllegalStateException: argument must not be null exception occurs on J2K conversion of Generic class usage without type parameterKT-19355"Variable expected" error after J2K for increment/decrement of an object fieldKT-19569Java wrappers for primitives are converted to nullable types with nullability errors in KotlinKT-30643J2K: wrong position of TYPE_USE annotationKT-32518Nullability information is lost after J2K convertion of constructor with null parameterKT-33941J2K: Overload resolution ambiguity with assertThat andStackOverflowErrorin IDEAKT-33942New J2K:StackOverflowErrorfromorg.jetbrains.kotlin.nj2k.inference.common.BoundTypeCalculatorImpl.boundTypeUnenhancedKT-34164J2K: on converting static method references in other .java sources are not correctedKT-34165J2K: imports are lost in conversion, references resolve to different same-named classesKT-34266Multiple errors after converting Java class implementing an interface from another file
Tools. JPS
KT-33808JPS compilation is not incremental in IDEA 2019.3
Tools. Maven
KT-34006Maven plugin do not consider .kts files as Kotlin sourcesKT-34011Kotlin scripting plugin is not loaded by default from kotlin maven plugin
Tools. REPL
KT-27956REPL/Script: extract classes and names right from ClassLoader
Tools. Scripts
KT-31661ClassNotFoundException in runtime for 'kotlinc -script' while compilation is fineKT-31704[kotlin-scripting] passingnameto String.toScriptSource make script compilation failedKT-32234"Unable to derive module descriptor" when using Kotlin compiler (embeddable) in Java 9+ modular buildsKT-33529NCDF running kotlin script from command lineKT-33554Classpath not passed properly when evaluating standard script withkotlincKT-33892REPL/Script: Implement mechanism for resolve top-level functions and properties from classloaderKT-34294SamWithReceiver cannot be used with new scripting API
Tools. kapt
KT-31291Incremental Kapt: IllegalArgumentException fromorg.jetbrains.org.objectweb.asm.ClassVisitor.<init>KT-33028Kapt error "Unable to find package java.lang in classpath or bootclasspath" on JDK 11 with-source 8KT-33050kapt does not honor source/target compatibility of enclosing projectKT-33052Kapt generates invalid java stubs for enum members with class bodies on JDK 11KT-33056Incremental kapt is disabled due tojavaslang.match.PatternsProcessorprocessor on classpath when Worker API is enabledKT-334931.3.50, org.jetbrains.org.objectweb.asm.ClassVisitor.KT-33515Incremental kapt fails when I remove an annotated fileKT-33889Incremental KAPT: NoSuchMethodError: 'java.util.regex.Pattern com.sun.tools.javac.processing.JavacProcessingEnvironment.validImportStringToPattern(java.lang.String)'KT-33503Kapt, Spring Boot: "Could not resolve all files for configuration ':_classStructurekaptKotlin'"KT-33800KAPT aptMode=compile fails to compile certain legitimate code
1.3.50
Compiler
KT-12787Debugger: 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'sthisinstanceKT-24596Refactor / Inline const property does not insert its value into usage in annotationKT-25497kotlinx.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-31070IndexOutOfBoundsException in Analyzer with @JvmOverloads constructor with 34+ parametersKT-31265FIR: experimental compilerKT-31535False positives from compiler warning IMPLICIT_NOTHING_AS_TYPE_PARAMETERKT-31969NI: false positive USELESS_ELVIS with multiple elvis callsKT-32044For loop over full UByte range terminates at UInt bound.KT-25432No smartcast on qualifier expression of captured typeKT-30796psi2ir 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-31367IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []KT-31734Empty parameter list required on Annotations of function typesKT-32434New type inference fails for Caffeine CacheKT-32452Kotlin 1.3.40 - problem in IDE with new type inference and suspending method referenceKT-32407NI: "use property access syntax" intention causes freezes in editorKT-33127Script result value is not calculated properly for the last expressionKT-33157Inline class with generic method is considered bad class by javac
Docs & Examples
KT-16602Provide examples of sorting API usageKT-32353Document order of array elements initialization
IDE
New Features
KT-28098Insert space after automatically closed right brace of nested lambda to follow code style
Fixes
KT-16476Extend selection (Select Word) doesn't select just KDoc if cursor is just before the KDocKT-21374Imports optimized tooltip is displayed, even if no changes were madeKT-21422IDE can't import class from root packageKT-27344MPP: jvmWithJava: no IDE module dependency is created between Kotlin test and Java main on import; Gradle build is successfulKT-29667Kotlin update settings has wrong looking text boxes for versionsKT-30133Update copyright creates duplicates for build.gradle.kts filesKT-30782'Show Method Separators' does not separate expression body Kotlin functionsKT-31022Quick definitiondoes 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-31637NPE in IDE when organizing importsKT-31786KNPE at copy attempt due to kdoc referenceKT-32276Fix flaky test for ultra light classesKT-32364Remove deprecated usages of OUT_OF_CODE_BLOCK_MODIFICATION_COUNT and write a replacement for Kotlin languageKT-32370Lambdas should have implicitreturnin Kotlin UastKT-12096Spring: rename of Kotlin bean defined in@Beanannotation failsKT-28193Exception: Mirror element should never be calculated for light classes generated from a single fileKT-28822Dependencies in Kotlin MPP project could be wrongly resolved if project was not build before importKT-29267Enable ultra-light classes by defaultKT-31129Call only Kotlin-specific reference contributors for getting Kotlin references from PSIKT-32082Kotlin facet: 1.3.40 plugin does not properly read target platform settings of 1.3.50 pluginKT-32969Data class extending abstract class with finaltoString,equalsorhashCodecauses exceptionKT-33245IllegalArgumentException exception occurs on Tools->Configure Koltin in Project action in Android Studio
IDE. Completion
KT-9792Don't propose the same name for arguments of lambda on completion of function call with lambda templateKT-29572Smart completing anonymous object uses incorrect code styleKT-25264Freeze in Kotlin file on completionKT-32519Keyword completion: support fixing layout and typo tolerance
IDE. Debugger
New Features
KT-30740Display more information about variables when breakpoint is set inside lambda expression
Fixes
KT-8579Debugger: Evaluate expression fails at typed arraysKT-10183Debugger: receiver properties are not shown inline in extension functionKT-11663Assignment is not possible in Evaluate expressionKT-11706Attempts to evaluate java method calls on 'Array' instance in debugger fail with NoSuchMethodErrorKT-11888Evaluate Expression for expression with synchronizedKT-11938Empty condition is marked as errorKT-13188Cannot evaluate expression with local extension functionKT-14421Debugger: breakpoint set on trivial if/while is not hitKT-15259Debug: closing brace of object definition is considered executable; ISE: "Don't call this method for local declarations: OBJECT_DECLARATION" at LazyDeclarationResolver.getMemberScopeDeclaredIn()KT-19084Breakpoints on Debugger altering ResultKT-19556Kotlin exception while debugging IJ plugin codeKT-19980Debug: evaluation fails for setter of member extention propertyKT-20560Evaluate expression doesn't work for super method callKT-23526In *.kts scripts, debugger ignores breakpoints in top-level statements and membersKT-24914AS: Uninitialized yet lazy properties called on first debug point reachKT-26742Debugger can't evaluate expected top-level function from common codeKT-30120False positive "Unused equals expression" in evaluate expression windowKT-30730Missing tooltip for "Kotlin variables view" buttonKT-30919Debugger's "Kotlin View" doesn't show variables inside lambdasKT-30976Debugger: No access to receiver evaluating named parameters during call to extension functionKT-31418java.lang.ClassCastException : java.lang.annotation.Annotation[] cannot be cast to byte[]KT-31510isDumb should be used only under read action: KotlinEvaluatorKT-31702Debugger can't stop on breakpoint onUnitexpression from coroutine contextKT-31709Evaluate: "IllegalArgumentException: Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.FrameMapBase.getIndex, parameter descriptor" with nested lambda member accessKT-24829Access to coroutineContext in 'Evaluate expression'
IDE. Gradle
KT-19693Import package prefix from GradleKT-30667Dependencies of a module on a multiplatform one with a JVM target andwithJava()configured, are incorrectly resolved in IDEKT-32300Add possibility to distinguish kotlin source root from java source rootKT-31014Gradle, JS: Webpack watch modeKT-31843Memory 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-30974Script dependencies resolution failed error while trying to use Kotlin for GradleKT-31440Add link to Gradle Kotlin DSL logs when script dependencies resolution process failsKT-32483CNFE org.gradle.kotlin.dsl.KotlinBuildScript on creating new Gradle Kotlin project from wizardKT-21501build.gradle.kts displays failures if not using java sdk for module
IDE. Inspections and Intentions
New Features
KT-8958ReplaceWith intention message could be more helpful in case of generic substitutionKT-12515Quickfix "by Delegates.notNull()" as replacement for "lateinit" for primitive typeKT-14344Suggest to replace manual range with explicitindicescall or iteration over collectionKT-17916Import popup does not indicate deprecated classesKT-23501Add intention for converting ordinary properties to 'lazy' and vise versaKT-25006Add inspection "'equals()' between objects of inconvertible primitive / enum / string types"KT-27353Quickfix to add a constructor parameter from parent class to child classKT-30124Add inspection to replace java.util.Arrays.equals with contentEqualsKT-30640Add inspection for check/require/checkNotNull/requireNotNullKT-30775Inspection for the case when one lateinit var overrides another lateinit varKT-31476Improve "Create expect..." quickfixKT-31533Make "Add operator modifier" an inspection instead of intentionKT-31795Inspection: simplify property setter with custom visibilityKT-31924Make "add import" intention more flexible based on caret positionKT-30970No warning for emptyifoperator andalsomethod
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-19643Tune or disable the FoldInitializerAndIfToElvis inspectionKT-24439No method imports suggestedKT-25786False positive "Not-null extension receiver of inline function can be made nullable" withoperator fun invokeKT-25905False positive for 'LeakingThis' on a method call in enum class bodyKT-27074False positive "Foldable if-then" with Result typeKT-27550"Redundant explicit this" false positive with subclass and extension lambdaKT-27563Generate toString in common code shouldn't use java.util.ArraysKT-27822Don't suggestmight be constonactualmember 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-29716With both explicit and implicit package prefixes "Package name does not match containing directory" inspection suggests not usable quick fixKT-29731Don't suggestAdd val/var to parameterat expect class constructorKT-30191"Lift out of if" intention isn't suggested for assignment of nullKT-30197ReplaceWith 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-30804Property 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-31272Expand "create expected ..." quick fix highlighting also to a primary constructorKT-31278Inappropriate "Remove redundant .let call" inspectionKT-31341Incorrect 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-31443Remove braces intention places caret in a wrong placeKT-31446Incorrect quick fix “Create expected class" for inline class with parameter with actualKT-31518Incorrect "Create expect function" for primary constructorKT-31673Onlywhenkeyword should be highlighted in WhenWithOnlyElseInspectionKT-31716Decrease severity of PackageDirectoryMismatchInspection to INFOKT-31717Decrease severity of RemoveCurlyBracesFromTemplateInspectionKT-31816"Package directive doesn't match file location" for root package is invisible in editorKT-31954MoveVariableDeclarationIntoWhen should move the caret to the subject expressionKT-32001Wrong quickfixes for TOO_MANY_ARGUMENTSKT-32010Convert ReplaceSingleLineLetIntention to inspectionsKT-32046False negative "Redundant qualifier name" with class literalKT-32112False positive "Redundant qualifier name"KT-32318"Remove argument name" intention does not remove square braces for annotation vararg argumentKT-32320False negative "Redundant qualifier name" with local objectKT-32347Duplicative "Remove redundant 'public' modifier" suggestion for getterKT-32365"Convert to sealed class" intention should not be suggested when no "class" keywordKT-32419Spurious 'while' has empty body warning when body has explanatory commentKT-32506False 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-27208IDEA reports about the need to declare abstract or implement abstract method, but this method is @JvmStatic in an interface companionKT-27555Create actual ...quick fix does nothing if the corresponding source set directory isn't created yetKT-28121IDE: Warn on java files under "src/main/kotlin" or "src/test/kotlin" source rootsKT-28295UselanguageSettingsfor a quick fix to enable experimental features in multiplatform projectsKT-28529Don't suggestcommonMainsource set as a target ofcreate expected ...quick fix for a member of*Testsource 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-30622Add names to call arguments starting from given argumentKT-31404Redundant 'requireNotNull' or 'checkNotNull' inspection: don't remove first argumentKT-32705"Create expect" quick fix addsactualmodifier to aconst/lateinitdeclaration without a warningKT-32967Warning about incorrectly placed Java source file isn't automatically dismissed on move of the file to the proper source root
IDE. JS
KT-31895New Project wizard: Kotlin Gradle + Kotlin/JS for Node.js: incorrect DSL is inserted
IDE. KDoc
KT-30985Missing line break in quick doc for enum constant
IDE. Multiplatform
KT-29757IDE fails to import transitive dependency of a JVM module to a multiplatform one
IDE. Navigation
KT-10215Kotlin classes are listed after Java classes in the navigation bar
IDE. Refactorings
KT-29720Refactor / Move does not update package statement with implicit prefixKT-30762Inline method produces invalid code for suspend functions with receiverKT-30748100+ Seconds UI Freeze on performing a Move Refactoring on a file with a lot of usages (KotlinOptimizeImports in thread dump)
IDE. Scratch
KT-23604Scratch: end of line is wrongly indented with the end of scratch line outputKT-27963Make REPL mode in Scratch files incrementalKT-29534Line 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-25187Kotlin script in src: warning: classpath entry points to a non-existent location on JDK 9+KT-31152Errors in IDE when different Java Sdk are set as Project SDK and as Gradle JVMKT-31521CNFE „org.jetbrains.kotlin.idea.caches.project.ScriptBinariesScopeCache“ on creating new Gradle based projectKT-31826Gradle clean task causes IDEA to lose kotlin scripting configurationKT-31837TargetPlatform for scripts should depends on scriptDefinition.additionalArgumentsKT-30690Highlighting for scripts in diff view doesn't work for left partKT-32061Check classpath jars before applying script compilation result from file attributesKT-32554Freezes in ScriptDependenciesUpdater
IDE. Tests Support
KT-30814MPP, 191 platform: with Gradle test runner run configuration for platform test is created without tasks
IDE. Wizards
KT-32105MPP project wizard: add option for Kotlin Gradle DSL
JS. Tools
KT-31527Keep generating emptyjsTesttaskKT-31565Gradle/JS:npmResolveis never UP-TO-DATEKT-32326Gradle, test runner: support postponing test running error reporting at the end of the buildKT-32393Gradle, JS: Resolve projects lazilyKT-31560Gradle: provide descriptions for JS tasksKT-31563Gradle/JS: npmResolve fails with "Invalid version" when user project's version does not match npm rulesKT-31566Gradle/JS: with explicit call tonodejs { testTask { useNodeJs() } }configuration fails : "Could not find which method to invoke"KT-31694Gradle, NPM, windows: creating symlink requires administrator privilege
Libraries
KT-29372measureTime that returns both the result of block and elapsed timeKT-32083Incorrect ReplaceWith annotation on kotlin.js.powKT-12749Provide Int.bitCount, Long.bitCount etc.KT-32359Common Array.fillKT-33225JS: Incorrect conversion of infinite Double to Long
Reflection
KT-22923Reflection getMemberProperties fails: kotlin.reflect.jvm.internal.KotlinReflectionInternalErrorKT-31318"KotlinReflectionInternalError: Method is not supported" on accessing array class annotation parameter
Tools. Daemon
KT-31550NSME org.jetbrains.kotlin.com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem.clearHandlersCache()V on compileKotlin task with plugin from masterKT-32490Compiler daemon tests fail on windows due to directory name being too longKT-32950Daemon should inherit "-XX:MaxMetaspaceSize" of client VMKT-32992Enable assertions in Kotlin Compile DaemonKT-33027Compilation with daemon fails, because IncrementalModuleInfo#serialVersionUID does not match
Tools. CLI
KT-33177Introduce compiler flags -Xinline-classes and -Xpolymorphic-signature as a higher priority than -XXLanguage
Tools. Compiler Plugins
KT-28824Add jvm-abi-gen-embeddable for use with embeddable compilerKT-31279JPS build with compiler plugin and "Keep compiler alive = No" fails with CCE: "Cannot cast NoArgComponentRegistrar to ComponentRegistrar" at ServiceLoaderLite.loadImplementations()KT-32346kotlinx.serialization: Performance problems with completion/intellisense
Tools. Gradle
New Features
KT-26655Precise metadata publishing and consumption for new MPPKT-31018Gradle, JS: yarnKT-31703Gradle, JS: automatically download d.ts and generate kotlin/js external declarations using dukatKT-31890Gradle, JS, webpack: provide property with full bundle file pathKT-32015Gradle, JS: resolve configuration only while executing tasks of specific projectsKT-32136Gradle, test runner: handle case when test runtime exits abnormallyKT-26256In new MPP, support Java compilation in JVM targetsKT-30573Gradle, JS: enable source maps by default, change paths relative to node_modules directoryKT-30747Gradle, JS tests: provide option to disable test configuration per targetKT-31010Gradle, JS tests: MochaKT-31011Gradle, JS tests: KarmaKT-31013Gradle, JS: WebpackKT-31016Gradle: yarn downloadingKT-31017Gradle, yarn: support workspacesKT-31697Gradle, NPM: report about clashes in packages_imported
Performance Improvements
KT-29538AndroidSubPlugin#getCommonResDirectories is very slow
Fixes
KT-29343Kotlin MPP source set dependencies are not properly propagated to tests in Android projectsKT-30691Gradle, JS tests: Parent operation with id 947 not available when all tests passedKT-31917Gradle, JS: transitive dependency between compilations in same project doesn't workKT-31985Gradle, JS: webpack not working on windowsKT-32072Gradle, JS: browser() in DSL triggers project.evaluate()KT-32204In an MPP, a dependency that is added to a non-root source set is incorrectly analyzed for source sets visibilityKT-32225In 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-32564Provide a flag to enable/disable hierarchical multiplatform mechanism in GradleKT-31023Update Gradle module metadata warning in MPP publishingKT-31696Gradle, NPM: select one version between tools and all of compile configurationsKT-31891Gradle: JS or Native tests execution:build --scanfails with ISE "Expected attachment of type ... but did not find it"KT-32210Kapt randomly fails with java.io.UTFDataFormatExceptionKT-32706Gradle target "jsBrowserWebpack" should use output of JS compile task as inputKT-32697[Tests] org.jetbrains.kotlin.gradle.SubpluginsITKT-33246Kotlin JS & Native tests + Gradle 5.6: No value has been specified for property 'binaryResultsDirectory'
Tools. Incremental Compile
KT-31310Incremental build of Kotlin/JS project fails with KNPE at IncrementalJsCache.nonDirtyPackageParts()
Tools. J2K
New Features
KT-30776New J2KKT-31836Suggest user to configure Kotlin in the project when running new J2K file conversionKT-32512ReplaceJavaStaticMethodWithKotlinAnalogInspection: add more cases for java.util.Arrays
Fixes
KT-15791J2K converts class literals including redundant generic <*>KT-31234New J2K: Exception occurs on converting Java class to KotlinKT-31250J2K: caret position of original file is preserved, adding spaces to resulting fileKT-31251J2K: Java class with members is converted to Kotlin class withfinalconstructorKT-31252J2K: resulted file is not formattedKT-31254J2K: resulted source uses full qualified references instead of importsKT-31255J2K: redundant modifiers in resulted sourceKT-31726New 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-31821J2K: IDEA Ultimate: local variable: CCE: "PsiLocalVariableImpl cannot be cast to class JvmAnnotatedElement" at JavaToJKTreeBuilder$DeclarationMapper.toJK()KT-32436NewJ2K generic field is not initialized after convertionKT-19327Java to Kotlin converter fails to convert code using Java 8 Stream APIKT-21467Convert To Kotlin fails when using chained stream.flatmap methodsKT-24677j2k creates nullable type for child function but keeps not null type for parent functionKT-32572New J2K: Map with complex type as parameter is wrongly convertedKT-32602J2K: no conversion ofString.length()method call to property access of existing String propertyKT-32604kotlin.NotImplementedError exception occurs on converting Java call of toString method of data class to KotlinKT-32609New J2K: Comparable class is wrongly converted to Kotlin if parameter of compareTo marked with @NotNull annotationKT-32693New J2K is throwing „Read access is allowed from event dispatch thread or inside read-action only“ on converting Java code inside Evaluate Expression windowKT-32702New J2K: lambda with method reference is converted to lamdba with excessive parameter declarationKT-32835New J2K: NumberFormatException occurs on converting binary literalsKT-32837J2K: NumberFormatException occurs on converting literals with underscore charactersKT-22412J2K: Intention to replace if(...) throw IAE with requireKT-33371Add an ability to switch between old and new J2K via settings windowKT-32863New J2K: IllegalArgumentException occurs on Kotlin configuration in java project in Android Studio
Tools. JPS
KT-27181Compiler arguments are listed twice on JPS build of Gradle-based projectKT-13563Kotlin jps-plugin should allow to instrument bytecode from Intellij IDEA.
Tools. REPL
KT-15125Support JSR 223 bindings directly via script variablesKT-32085Kotlinc REPL: "java.lang.NoClassDefFoundError: org/jline/reader/LineReaderBuilder"
Tools. Scripts
KT-28137Implement result/return value for the regular (non-REPL) scripts
Tools. kapt
KT-30578build/generated/source/kaptKotlinis added as source directory tomaininstead ofjvmMainwhen jvm { withJava() } is configured in a multiplatform projectKT-30739Kapt generated sources are not visible from the IDE when "Create separate module per source set" is disabledKT-31127Kotlin-generating processor which uses Filer API breaks JavaCompile taskKT-31378v1.3.31: NoSuchElementException in kapt when kapt.incremental.apt=trueKT-32535Kapt aptMode=compile don't include files generated atkapt.kotlin.generatedas sources to compileKT-31471KAPT prints "IncrementalProcessor" instead of processor name in verbose mode
1.3.41
Compiler
KT-31981New type inference asks to use ?. on non-null local variableKT-32029Exception when callable reference is resolved against unresolved typeKT-32037No coercion to Unit for last expression with lambda in code blockKT-32038Unsubstituted stub type cause type mismatch later for builder inferenceKT-32051NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER on matching Nothing with generic type parameterKT-32081New type inference fails involving Either and NothingKT-32089False positive IMPLICIT_NOTHING_AS_TYPE_PARAMETER with lambdasKT-32094NI: member from star import has higher resolution priority than member imported by FQNKT-32116Type inference for HashMap<,> fails but compilesKT-32123Wrong unused import for extension methodKT-32133Regression in Kotlin 1.3.40 new inference engineKT-32134java.lang.Throwable: Resolution error of this type shouldn't occur for resolve try as a callfor incomplete try-constructionKT-321431.3.40 new inference: backward incompatibility in method calls with multiple SAM argumentsKT-32154setOf(Map.Entry<*, *>::key) gives error on IDEKT-32157Issue with new type inference in unbounded genericsKT-32175New Type Inference Algorithm, RxJava and IDE-Compiler InconsistencyKT-32184NI: Argument for @NotNull parameter 'type' of org/jetbrains/kotlin/types/CommonSupertypes.depth must not be nullKT-32187Exception when using callable reference with an unresolved LHSKT-32218Cannot call get on a Map<out Any,Any> with new type systemKT-32230New inference not working with RxJava combineLatestKT-32235New type inference failure withincheck
JavaScript
KT-32215Reified generic doesn't work withByteArrayon js
Tools. CLI
KT-32272kotlinc - no main manifest attribute, in hello.jar
Tools. REPL
KT-32085Kotlinc REPL: "java.lang.NoClassDefFoundError: org/jline/reader/LineReaderBuilder"
Tools. Scripts
KT-32169Kotlin 1.3.40 - Crash on running *.main.kts script: "NoSuchMethodError: kotlin.script.templates.standard.ScriptTemplateWithArgs."KT-32206Custom script definitions not loaded in the cli compiler
1.3.40
Android
Fixes
KT-12402Android DataBinding work correctly but the IDE show it as errorKT-31432Remove obsolete code introduced in KT-12402
Compiler
New Features
Performance Improvements
KT-17755Optimize trimIndent and trimMargin on constant stringsKT-30603Compiler performance issue: VariableLivenessKt.useVar performance
Fixes
KT-19227Load built-ins from dependencies by default in the compiler, support erroneous "fallback" built-insKT-23426Actual typealias to Java enum does not match expected enum because of modalityKT-23854Inference for common type of two captured typesKT-25105False-positive warning "Remove final upper bound" on generic overrideKT-25302New inference: "Type mismatch" between star projection andAny?type argument in specific caseKT-25433Wrong order of fixing type variables for callable referencesKT-26386Front-end recursion problem while analyzing contract function with call expression of self in impliesKT-26412Wrong LVT generated if decomposed parameter of suspend lambda is not the first parameter.KT-27097JvmMultifileClass + JvmName causes NoSuchMethodError on sealed class hierarchy for top-level membersKT-28534Local variable entries are missing in LVT for suspend lambda parametersKT-28535Renameresultto$resultin coroutines' LVTKT-29184Implement inference for coroutines according to the @BuilderInference contract in NIKT-29772Contracts don't work ifcontractfunction is fully qualified (FQN)KT-29790Incorrect version requirement in metadata of anonymous class for suspend lambdaKT-29948NI: incorrect DSLMarker behaviour with generic star projectionKT-30021+NewInference on Kotlin Native :: java.lang.StackOverflowErrorKT-30242Statements are not coerced to Unit in last expressions of lambdaKT-30243Include FIR modules into compilerKT-30250Rewrite at slice exception for callable reference argument inside delegated expressionKT-30292Reference to function is unresolved when LHS is a star-projected typeKT-30293Wrong intersection type for common supertype from String and integer typeKT-30370Call is completed too early when there is "Nothing" constraintKT-30405Support expected type from cast in new inferenceKT-30406Fix testIfOrWhenSpecialCall test for new inferenceKT-30590Report diagnostic about not enough information for inference in NIKT-30620Exception from the compiler when coroutine-inference is involved even with the explicitly specified typesKT-30656Exception is occurred when functions with implicit return-stub types are involved in builder-inferenceKT-30658Exception from the compiler when getting callable reference to a suspend functionKT-30661Disable SAM conversions to Kotlin functions in new-inference by defaultKT-30676Overload resolution ambiguity when there is a callable reference argument and candidates with different functional return typesKT-30694No debug metadata is generated for suspend lambdas which capture crossinlineKT-30724False positive error about missing equals when one of the operands is incorrectly inferred to NothingKT-30734No smartcast inside lambda literal in then/else "if" branchKT-30737Try analysing callable reference preemptivelyKT-30780Compiler crashes on 'private inline' function accessing private constant in 'inline class' (regression)KT-30808NI: False negative SPREAD_OF_NULLABLE with USELESS_ELVIS_RIGHT_IS_NULLKT-30816BasicJvmScriptEvaluator passes constructor parameters in incorrect orderKT-30826There isn't report about unsafe call in the new inference (by invalidating smartcast), NPEKT-30843Duplicate JVM class name for expect/actual classes in JvmMultifileClass-annotated fileKT-30853Compiler crashes with NewInference and Kotlinx.Coroutines FlowKT-30927Data flow info isn't used for 'this' which is returned from lambda using labeled returnKT-31081Implement ArgumentMatch abstraction in new inferenceKT-31113Fix failing tests from SlicerTestGeneratedKT-31199Unresolved callable references with typealiasKT-31339Inliner does not remove redundant continuation classes, leading to CNFE in JMH bytecode processingKT-31346Fix diagnostic DSL_SCOPE_VIOLATION for new inferenceKT-31356False-positive error about violating dsl scope for new-inferenceKT-31360NI: inconsistently prohibits member usage without explicit receiver specification with star projection and DSL markerKT-18563Do not generate inline reified functions as private in bytecodeKT-20849Inference results in Nothing type argument in case of passing 'out T' to 'in T1'KT-25290New inference: KNPE at ResolutionPartsKt.getExpectedTypeWithSAMConversion() on out projection of Java classKT-26418Back-end (JVM) Internal error when compiling decorated suspend inline functionsKT-26925Decorated suspend inline function continuation resumes in wrong spotKT-28999Prohibit type parameters for anonymous objectsKT-29307New inference: false negative CONSTANT_EXPECTED_TYPE_MISMATCH with a MapKT-29475IllegalArgumentException at getAbstractTypeFromDescriptor with deeply nested expression inside function named with a right parenthesisKT-29996Properly report errors on attempt to inline bytecode from class files compiled to 1.8 to one compiling to 1.6KT-30289Don'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-30411Fold recursive types to star-projected ones when inferring type variablesKT-30706Passing noinline lambda as (cross)inline parameter result in wrong state-machineKT-30707Java interop of coroutines inside inline functions is brokenKT-30983ClassCastException: 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-31354Suspend inline functions with crossinline parameters are inaccessible from javaKT-31367IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []KT-31461NI: NONE_APPLICABLE instead of TYPE_MISMATCH when invoking convention plus operatorKT-31503Type mismatch with recursive types and SAM conversionsKT-31507Enable new type inference algorithm for IDE analysisKT-31514New inference generates multiple errors on generic inline expression with elvis operatorKT-31520False positive "not enough information" for constraint with star projection and covariant typeKT-31606Rewrite at slice on using callable reference with array access operatorKT-31620False-positive "not enough information" for coroutine-inference when target method is assigned to a variableKT-31624Type from declared upper bound in Java is considered more specific than Nothing producing type mismatch laterKT-31860Explicit type argument isn't considered as input type causing errors about "only input types"KT-31866Problems with using star-projections on LHS of callable referenceKT-31868No type mismatch error when using NoInfer annotationKT-31941Good code red in IDE with smart cast on parameter of a generic type after null check
IDE
New Features
KT-11242Action to copy project diagnostic information to clipboardKT-24292Support external nullability annotationsKT-30453Add plugin option (registry?) to enable new inference only in IDE
Performance Improvements
KT-13841Classes and functions should be lazy-parseableKT-27106Performance issue with optimize importsKT-30442Several second lag on project open in KotlinNonJvmSourceRootConverterProviderKT-30644ConfigureKotlinInProjectUtilsKt freezes UI
Fixes
KT-7380Imports insertion on paste does not work correctly when there were alias imports in the source fileKT-10512Do not delete imports with unresolved parts when optimizingKT-13048"Strip trailing spaces on Save" should not strip trailing spaces inside multiline strings in KotlinKT-17375Optimize Imports does not remove unused import aliasKT-27385Uast: property references should resolve to getters/settersKT-28627Invalid detection of Kotlin jvmTarget inside Idea/gradle buildKT-29267Enable ultra-light classes by defaultKT-29892A lot of threads are waiting in KotlinConfigurationCheckerComponentKT-30356Kotlin facet: all JVM 9+ target platforms are shown as "Target Platform = JVM 9" in Project Structure dialogKT-30514Auto-import with "Add unambiguous imports on the fly" imports enum members from another packageKT-30583Kotlin light elements should beisEquivalentToto it's originsKT-30688Memory leak in the PerModulePackageCacheService.onTooComplexChange methodKT-30949Optimize Imports removes used import aliasKT-30957Kotlin UAST: USimpleNameReferenceExpression in "imports" for class' member resolves incorrectly to class, not to the memberKT-31090java.lang.NoSuchMethodError: org.jetbrains.kotlin.idea.UtilsKt.addModuleDependencyIfNeeded on import of a multiplatform project with Android target (191 IDEA + master)KT-31092Don't check all selected files in CheckComponentsUsageSearchAction.update()KT-31319False positive "Unused import" forprovideDelegateextensionKT-31332Kotlin AnnotatedElementsSearch does't support KotlinobjectKT-31129Call only Kotlin-specific reference contributors for getting Kotlin references from PSIKT-31693Project with no Kotlin: JPS rebuild fails with NCDFE for GradleSettingsService at KotlinMPPGradleProjectTaskRunner.canRun()KT-31466SOE in Java highlighting when a Kotlin ultra-light method is invokedKT-31723Exception from UAST for attempt to infer types inside unresolved callKT-31842UOE: no descriptor for type constructor of TypeVariable(T)KT-31992Fix ColorsIcon.scale(float) compatibility issue between IU-192.5118.30 and 1.3.40-eap-105
IDE. Completion
KT-29038Autocomplete "suspend" into "suspend fun" at top level and class level (except in kts top level)KT-29398Add "arg" postfix templateKT-30511Replace extra space after autocompleting data class with file name by parentheses
IDE. Debugger
KT-10636Debugger: can't evaluate call of function type parameter inside inline functionKT-18247Debugger: class level watches fail to evaluate outside of class instance contextKT-18263Settings / Debugger / Java Type Renderers: unqualified Kotlin class members in Java expressions are shown as errorsKT-23586Non-trivial properties autocompletion in evaluation windowKT-30216Evaluate expression: declarations annotated with Experimental (LEVEL.ERROR) fail due to compilation errorKT-30610Debugger: Variables view shows secondthisinstance for inline function even from the same class as caller functionKT-30714Breakpoints 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-31266Kotlin debugger incompatibility with latest 192 nightly: KotlinClassWithDelegatedPropertyRendererKT-31785Exception on attempt to evaluate local function
IDE. Gradle
KT-29854File collection dependency does not work with NMPP+JPSKT-30531Gradle: NodeJS downloadingKT-30767Kotlin import uses too much memory when working with big projectsKT-29564kotlin.parallel.tasks.in.project=true causes idea to create kotlin modules with target JVM 1.6KT-31014Gradle, JS: Webpack watch modeKT-31843Memory leak caused by KOTLIN_TARGET_DATA_NODE on project reimportKT-31952Fix compatibility issues with IDEA after fixing IDEA-187832
IDE. Gradle. Script
KT-30638"Highlighting in scripts is not available until all Script Dependencies are loaded" in Diff viewerKT-31124“compileKotlin - configuration not found: kotlinScriptDef, the plugin is probably applied by a mistake” after creating new project with IJ and Kotlin from masterKT-30974Script 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-11629Inspection: creating Throwable without throwing itKT-12392Unused import with alias should be highlighted and removed with Optimize ImportsKT-12721inspection should be made for converting Integer.toString(int) to int.toString()KT-13962Intention to replace Java collection constructor calls with function calls from stdlib (ArrayList() → arrayListOf())KT-15537Add inspection + intention to replace IntRange.start/endInclusive with first/lastKT-21195ReplaceWith intention could save generic type argumentsKT-25262Intention: Rename class to containing file nameKT-25439Inspection "Map replaceable with EnumMap"KT-26269Inspection to replace associate with associateWith or associateByKT-26629Inspection to replace==operator on Double.NaN withequalscallKT-27411Inspection and Quickfix to replace System.exit() with exitProcess()KT-29344Convert property initializer to getter: suggest on property nameKT-29666Quickfix for "DEPRECATED_JAVA_ANNOTATION": migrate argumentsKT-29798Add 'Covariant equals' inspectionKT-29799Inspection: class with non-null self-reference as a parameter in its primary constructorKT-30078Add "Add getter/setter" quick fix for uninitialized propertyKT-30381Inspection + quickfix to replace non-null assertion with returnKT-30389Fix to convert argument to Int: suggest roundToInt()KT-30501Add inspection to replace filter { it is Foo } with filterIsInstance and filter { it != null } with filterNotNullKT-30612Unused symbol inspection should detect enum entryKT-30663Fully qualified name is added on quick fix for original class name if import alias existsKT-30725Inspection which replaces.sorted().first()with.min()
Fixes
KT-5412"Replace non-null assertion withifexpression" should replace parent expressionKT-13549"Package directive doesn't match file location" for root packageKT-14040Secondary enum class constructor is marked as "unused" by IDEKT-18459Spring: "Autowiring for Bean Class (Kotlin)" inspection adds not working@Namedannotation to propertyKT-21526used class is marked as "never used"KT-22896"Change function signature" quickfix on "x overrides nothing" doesn't rename type argumentsKT-27089ReplaceWith quickfix doesn't take into account generic parameterKT-27821SimplifiableCallChain inspection quick fix removes comments for intermediate operationsKT-28485Incorrect 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 anifbranch if statement insideifis blockKT-29556"Remove redundant 'let' call" doesn't rename parameter with conventioninvokecallKT-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-29812False 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-30082False positive "redundant.letcall" for lambda functions stored in nullable referencesKT-30173"Nested lambda has shadowed implicit parameter" is suggested when both parameters are logically the sameKT-30208Convert to anonymous object: lambda generic type argument is lostKT-30215No "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-30457MoveVariableDeclarationIntoWhen: do not report gray warning on variable declarations taking multiple lines / containing preemptive returnsKT-30481Do not report ImplicitNullableNothingType on a function/property that overrides a function/property of type 'Nothing?'KT-30527False positive "Type alias is never used" with import of enum memberKT-30559Redundant Getter, Redundant Setter: reduce range to getter/setter headerKT-30565False positive "Suspicious 'var' property" inspection with annotated default property getterKT-30579Kotlin-gradle groovy inspections should depend on Groovy pluginKT-30613"Convert to anonymous function" should not insert named argument when interoping with Java functionsKT-30614String templates suggest removing curly braces for backtick escaped identifiersKT-30622Add names to call arguments starting from given argumentKT-30637False positive "unused constructor" for local classKT-30669Import quick fix does not work for property/function with original name if import alias for them existKT-30761Replace assert boolean with assert equality produces uncompilable code when compared arguments type are differentKT-30769Override quickfix creates "sealed fun"KT-30833Exception after "Introduce Import Alias" if invoke in importKT-30876SimplifyNotNullAssert inspection changes semanticsKT-30900Invert 'if' condition respects neither code formatting nor inline commentsKT-30910"Use property access syntax" is not suitable as text for inspection problem textKT-30916Quickfix "Remove redundant qualifier name" can't work with user type with generic parameterKT-31103Don't invoke Gradle related inspections when Gradle plugin is disabledKT-31349Add name to argument should not be suggested for Java library classesKT-31404Redundant 'requireNotNull' or 'checkNotNull' inspection: don't remove first argumentKT-25465"Redundant 'suspend' modifier" with suspend operator invokeKT-26337Exception (resource not found) in quick-fix tests in AS32KT-30879False positive "Redundant qualifier name"KT-31415UI hangs due to long computations for "Use property access syntax" intention with new inferenceKT-31441False positive "Remove explicit type arguments" inspection for projection typeKT-30970No warning for emptyifoperator andalsomethodKT-31855IDE + new inference: Java SAM conversion is not suggested by IDE services
IDE. JS
KT-31895New Project wizard: Kotlin Gradle + Kotlin/JS for Node.js: incorrect DSL is inserted
IDE. Libraries
KT-30790Unstable IDE navigation behavior toexpect/actualsymbols in stdlibKT-30821K/N: Navigation downwards the hierarchy in stdlib source code opens to stubs
IDE. Misc
KT-31364IntelliJ routinely hangs and spikes CPU / Memory usage when editing kotlin files
IDE. Navigation
KT-18322Find Usages not finding Java usage of @JvmField declared in primary constructorKT-27332Gutter icons are still shown even if disabled
IDE. Refactorings
KT-30471MakeKotlinElementActionsFactory.createChangeParametersActionsable to just add parameters
IDE. Run Configurations
KT-29352Kotlin + Java 11 + Windows : impossible to run applications with long command lines, even with dynamic.classpath=true
IDE. Scratch
KT-29642Once hidden,Scratch Outputwindow wouldn't show the results unless the project is reopened
IDE. Script
KT-30295Resolver for 'completion/highlighting in ScriptDependenciesSourceInfo...' does not know how to resolve [] or [Library(null)]KT-30690Highlighting for scripts in diff view doesn't work for left partKT-31452IDE editor: MISSING_SCRIPT_STANDARD_TEMPLATE is reported inconsistently with the single line in script
IDE. Tests Support
KT-30995Gradle test runner: "No tasks available" for a test class in non-MPP project
IDE. Ultimate
KT-30886KotlinIdeaResolutionException in Velocity template (.ft) with Kotlin code
IDE. Wizards
KT-30645Update New Project Wizard templates related to Kotlin/JSKT-31099Remove Gradle configuration boilerplate for JS from multiplatform New Project Wizard templates related to Kotlin/JSKT-31695Gradle, JS: update wizard templates
JS. Tools
KT-31563Gradle/JS: npmResolve fails with "Invalid version" when user project's version does not match npm rulesKT-31566Gradle/JS: with explicit call tonodejs { testTask { useNodeJs() } }configuration fails : "Could not find which method to invoke"KT-31560Gradle: provide descriptions for JS tasksKT-31564Gradle/JS: npmResolve reports warning "karma-webpack@3.0.5 has unmet peer dependency"KT-31662Gradle/JS: with emptyuseKarma {}lambda the execution ofjsBrowserTestnever stopsKT-31686Gradle/JS: useKarma { useConfigDirectory() } fails to configureKT-31694Gradle, NPM, windows: creating symlink requires administrator privilegeKT-31931Gradle JS or Native: test processing fails in some cases
JavaScript
KT-31007Kotlin/JS 1.3.30 - private method in an interface in the external library causes ReferenceError
Libraries
KT-30174Annotation for experimental stdlib APIKT-30451Redundant call of selector in maxBy&minByKT-30560Fix Throwable::addSuppressed from stdlib to make it work without stdlib-jdk7 in runtimeKT-24810Support common string<->ByteArray UTF-8 conversionKT-29265String.toCharArray() is not available in common stdlibKT-31194assertFails and assertFailsWith don't work with suspend functionsKT-31639'Iterbale.drop' drops too much because of overflowKT-28933capitalize() with Locale argument in the JDK stdlib
Reflection
KT-29041KAnnotatedElement should have an extension function to verify if certain annotation is presentKT-30344Avoid using .kotlin_module in kotlin-reflect
Tools. Android Extensions
KT-30993Android Extensions: Make @Parcelize functionality non-experimental
Tools. CLI
KT-27638Add -Xjava-sources compiler argument to specify directories with .java source files which can be referenced from the compiled Kotlin sourcesKT-27778Add -Xpackage-prefix compiler argument to specify package prefix for Java sources resolutionKT-30973Compilation on IBM J9 (build 2.9, JRE 1.8.0 AIX ppc64-64-Bit) fails unless -Xuse-javac is specified
Tools. Compiler Plugins
KT-30343Add new Quarkus preset to all-open compiler plugin
Tools. Gradle
New Features
KT-20156Publish the Kotlin Javascript Gradle plugin to the Gradle Plugins PortalKT-26256In new MPP, support Java compilation in JVM targetsKT-27273Support the Gradle 'application' plugin in new MPP or provide an alternativeKT-30528Gradle, JS tests: support basic builtin test runnerKT-31015Gradle, JS: Change default for new kotlin-js and experimental kotlin-multiplatform pluginsKT-30573Gradle, JS: enable source maps by default, change paths relative to node_modules directoryKT-30747Gradle, JS tests: provide option to disable test configuration per targetKT-31010Gradle, JS tests: MochaKT-31011Gradle, JS tests: KarmaKT-31013Gradle, JS: WebpackKT-31016Gradle: yarn downloadingKT-31017Gradle, yarn: support workspaces
Fixes
KT-13256CompileJava tasks in Kotlin2Js Gradle pluginKT-16355Rename "compileKotlin2Js" Gradle task to "compileKotlinJs"KT-26255Using the jvmWithJava preset in new MPP leads to counter-intuitive source set names and directory structureKT-27640Do not use-Xbuild-filewhen invoking the Kotlin compiler in Gradle pluginsKT-29284kotlin2js plugin applies java pluginKT-30132Could not initialize class org.jetbrains.kotlin.com.intellij.openapi.util.io.FileUtil on build by gradleKT-30596Kotlin Gradle Plugin: Forward stdout and stderr logger of out of process though gradle loggerKT-31106Kotlin compilation fails with locked build script dependencies and Gradle 5KT-28985Java tests not executed in a module created with presets.jvmWithJavaKT-30340kotlin("multiplatform") plugin is not working properly with Spring BootKT-30784Deprecation warning "API 'variant.getPackageLibrary()' is obsolete and has been replaced with 'variant.getPackageLibraryProvider()'" for a multiplatform library with Android targetKT-31027java.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-31696Gradle, NPM: select one version between tools and all of compile configurationsKT-31697Gradle, NPM: report about clashes in packages_importedKT-31891Gradle: JS or Native tests execution:build --scanfails with ISE "Expected attachment of type ... but did not find it"KT-31023Update Gradle module metadata warning in MPP publishing
Tools. Incremental Compile
KT-31131Regression: incremental compilation of multi-file part throws exception
Tools. J2K
KT-23023J2K: Inspection to convert Arrays.copyOf(a, size) to a.copyOf(size)KT-26550J2K: Check context/applicability of conversion, don't suggest for libraries, jars, etc.KT-29568Disabled "Convert Java File to Kotlin File" action is shown in project view context menu for XML files
Tools. JPS
KT-13563Kotlin jps-plugin should allow to instrument bytecode from Intellij IDEA.
Tools. REPL
KT-21443Kotlin's JSR223 script engine does not work when used by a fat jar
Tools. Scripts
KT-30986Missing dependencies when JSR-223 script engines are used fromkotlin-script-util
Tools. kapt
KT-26203kapt.use.worker.api=truethrows a NullPointerException on Java 10/11KT-30739Kapt generated sources are not visible from the IDE when "Create separate module per source set" is disabledKT-31064Periodically build crash when using incremental kaptKT-23880Kapt: Support incremental annotation processorsKT-31322Kapt does not run annotation processing when sources change.KT-30979Issue with Dagger2 providers MissingBinding with 1.3.30KT-31127Kotlin-generating processor which uses Filer API breaks JavaCompile taskKT-31714incremental kapt: FileSystemException: Too many open files
1.3.31
Compiler
Fixes
KT-26418Back-end (JVM) Internal error when compiling decorated suspend inline functionsKT-26925Decorated suspend inline function continuation resumes in wrong spotKT-30706Passing noinline lambda as (cross)inline parameter result in wrong state-machineKT-30707Java interop of coroutines inside inline functions is brokenKT-30997Crash with suspend crossinline
IDE. Inspections and Intentions
KT-30879False positive "Redundant qualifier name"KT-31112"Remove redundant qualifier name" inspection false positive for property with irrelevant import
JavaScript
KT-31007Kotlin/JS 1.3.30 - private method in an interface in the external library causes ReferenceError
Tools. Gradle
KT-31027java.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-30979Issue with Dagger2 providers MissingBinding with 1.3.30
1.3.30
Compiler
New Features
KT-19664Allow more permissive visibility for non-virtual actual declarationsKT-29586Add support for Android platform annotationsKT-29604Do not implicitly propagate deprecations originated in Java
Performance Improvements
KT-24876Emit 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-28015Coroutine state-machine shall use Result.throwOnFailureKT-29229Intrinsify 'in' operator for unsigned integer rangesKT-29230Specialize 'next' method call for unsigned integer range and progression iterators
Fixes
KT-7185Parse import directives in the middle of the file, report a diagnostic insteadKT-7237Parser recovery (angle bracket mismatch)KT-11656Could not generate LightClass because of ISE from bridge generation on invalid codeKT-13497Better recovery in comma-separated lists in case of missing commaKT-13703Restore parser better whenclassis missing fromenumdeclarationKT-13731Recover parser on value parameter without a typeKT-14227Incorrect code is generated when using MutableMap.set with plusAssign operatorKT-19389Couldn't inline method call 'with'KT-20065"Cannot serialize error type: [ERROR : Unknown type parameter 0]" with generic typealiasKT-20322Debug: 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-21405Throwable “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 ofexpectfunctionKT-23117Local delegate + local object = NoSuchMethodErrorKT-23701Report error when -Xmultifile-parts-inherit is used and relevant JvmMultifileClass parts have any stateKT-23992Target prefixes for annotations on supertype list elements are not checkedKT-24490Wrong type is inferred when last expression in lambda has functional typeKT-24871Optimize iteration and contains for UIntRange/ULongRangeKT-24964"Cannot serialize error type: [ERROR : Unknown type parameter 0]" withValidatedtypealias from ArrowKT-25383Named function as last statement in lambda doesn't coerce to UnitKT-25431Type mismatch when trying to bind mutable property with complex common systemKT-25435Try/catch as the last expression of lambda cause type mismatchKT-25437Type variable fixation of postponed arguments and type variables with Nothing constraintKT-25446Empty labeled return doesn't force coercion to UnitKT-26069NoSuchMethodError on calling remove/getOrDefault on a Kotlin subclass of Java subclass of MapKT-26638Check for repeatablilty of annotations doesn't take into account annotations with use-site targetKT-26816Lambdas to Nothing is inferred if multilevel collections is used (listOf, mapOf, etc)KT-27190State machine elimination after inlining stopped working (regression)KT-27241Contracts: smartcasts don't work correctly if type checking for contract function is usedKT-27565Lack of fallback resolution for SAM conversions for Kotlin functions in new inferenceKT-27799Prohibit references to reified type parameters in annotation arguments in local classes / anonymous objectsKT-28182Kotlin 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-28309Do not generate LVT entries with different types pointing to the same slot, but have different typesKT-28317Strange behavior in testJvmAssertInlineFunctionAssertionsEnabled on Jdk 6 and exception on JDK 8KT-28453Mark anonymous classes for callable references as syntheticKT-28598Type is inferred incorrectly to Any on a deep generic type with out projectionKT-28654No report about type mismatch inside a lambda in generic functions with a type parameter as a return typeKT-28670Not null smartcasts on an intersection of nullable types don't workKT-28718progressive mode plus new inference result in different floating-point number comparisonsKT-28810Suspend function's continuation parameter is missing from LVTKT-28855NoSuchMethodError with vararg of unsigned Int in generic class constructorKT-28984Exception when subtype of kotlin.Function is used as an expected one for lambda or callable referenceKT-28993Incorrect behavior when two lambdas are passed outside a parenthesized argument listKT-29144Interface with companion object generates invalid bytecode in progressive modeKT-29228Intrinsify 'for' loop for unsigned integer ranges and progressionsKT-29324Warnings indexing jdk 11 classesKT-29367New 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-29792UnsupportedOperationException: Unsupported annotation argument type when using Java annotation with infinity or NaN as a default valueKT-29891Kotlin doesn't allow to use local class literals as annotation argumentsKT-29912Crossinline nonsuspend lambda leads to KNPE during inliningKT-29965Don't generate annotation on $default methodKT-30030Extensive 'Rewrite at slice'-exception with contracts in JS module of multiplatform projectKT-22043Report an error when comparing enum (==/!=/when) to any other incompatible type since 1.4KT-26150KotlinFrontendException is thrown when callsInPlace called twice with different InvocationKind in functions with contractsKT-26153Contract is allowed when it's at the beginning in control flow terms, but not in tokens order terms (contract doesn't work)KT-26191Contract may not be the first statement if it's part of the expressionKT-29178Prohibit arrays of reified type parameters in annotation arguments in local classes / anonymous objectsKT-20507PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL not reported for generic base class constructor call, IAE at run-timeKT-20849Inference results in Nothing type argument in case of passing 'out T' to 'in T1'KT-28285NullPointerException on calling Array constructor compiled via Excelsior JETKT-29376Report a deprecation warning when comparing enum to any other incompatible typeKT-29884Report warning on @Synchronized on inline methodKT-30073ClassCastException on coroutine start with crossinline lambdaKT-30597"Extend selection" throws exception in empty class body caseKT-29492Double cross-inline of suspending functions produces incorrect codeKT-30508Wrong file name in metadata of suspend function capturing crossinline lambdaKT-30679"KotlinFrontEndException: Front-end Internal error: Failed to analyze declaration" exception during a compilation of a multiplatform project containing Kotlin Script File
IDE
New Features
KT-26950Support Multiline TODO commentsKT-29034Make JvmDeclarationSearch find private fields in kotlin classes
Performance Improvements
KT-29457FindImplicitNothingAction#update freezes UI for 30 secsKT-29551CreateKotlinSdkActivity runs on UI thread
Fixes
KT-11143Do not insert closing brace for string template between open brace and identifierKT-18503Optimize imports produces red codeKT-27283KotlinULiteralExpression and PsiLanguageInjectionHost mismatchKT-27794KotlinAnnotatedElementsSearcher doesn't process method parametersKT-28272UAST: Need to be able to identify SAM conversionsKT-28360Getting tons of "There are 2 classes with same fqName" logs in IntelliJKT-28739Bad caret position afterInsert curly braces around variableinspectionKT-29013Injection with interpolation loses suffixKT-29025ImplementUReferenceExpression.referenceNameElementfor KotlinKT-29287Exception in ultra-light classes on method annotated with @ThrowsKT-29381Highlight return lambda expressions when cursor is one the call with lambda argumentKT-29434Can not detect injection host in string passed as argument into arrayOf() functionKT-29464Project reopening does not create missing Kotlin SDK for Native modules (like it does for other non-JVM ones)KT-29467Maven/Gradle re-import does not add missing Kotlin SDK for kotlin2js modules (non-MPP JavaScript)KT-29804Probable error in the "Kotlin (Mobile Android/iOS)" new project template in IntelliJKT-30033UAST: Delegation expression missing from parse treeKT-30388Disable constant exception reporting from release versionsKT-30524"java.lang.IllegalStateException: This method shouldn't be invoked for LOCAL visibility" on add importKT-30534KotlinUObjectLiteralExpression returns classReference whose referenceNameElement is nullKT-30546Kotlin UImportStatement's children references always resolve to nullKT-5435Surround with try/catch should generate more Kotlin-style code
IDE. Android
KT-29847Many IDEA plugins are not loaded in presence of Kotlin plugin: "Plugins should not have cyclic dependencies"
IDE. Code Style, Formatting
KT-23295One-line comment indentation in functions with expression bodyKT-28905When is "... if long" hitting?KT-29304Settings / Code Style / Kotlin mentions "methods" instead of functionsKT-26954Bad indentation for single function with expression body in new code style
IDE. Completion
KT-18663Support "smart enter/complete statement" completion for method callsKT-28394Improve code completion for top level class/interface to incorporate filenameKT-29435org.jetbrains.kotlin.types.TypeUtils.contains hanging forever and freezing IntelliJKT-27915Stop auto-completing braces for companion objects
IDE. Debugger
KT-22250Evaluate: 'this' shows different values when evaluated as a variable/watchKT-24829Access to coroutineContext in 'Evaluate expression'KT-25220Evaluator: a instance of Pair returned instead of String ("Extract function" failed)KT-25222Evaluate: ClassCastException: ObjectValue cannot be cast to IntValue ("Extract function" failed)KT-26913Change local variable name mangling ($receiver -> this_)KT-28087[Kotlin/JVM view] Inconsistent debugging data inside forEachIndexedKT-28134Separate JVM/Kotlin views in "Variables" tool windowKT-28192Exception from KotlinEvaluator: cannot find local variableKT-28680Missingthisword completion in "Evaluate expression" windowKT-28728Async stack trace support for Kotlin coroutinesKT-21650Debugger: Can't evaluate value, resolution errorKT-23828Debugger: "Smart cast is impossible" when evaluating expressionKT-29661Evaluate expression: "Cannot find local variable" for variable name escaped with backticksKT-29814Can't evaluate a property on star-projected typeKT-29871Debugger in IDE does not handle correctly extensions.KT-30182Incorrect KT elvis expression debugger evaluationKT-29189[BE] 'Step Over' falls through 'return when' (and 'return if') instead of executing individual branchesKT-29234ISE “@NotNull method org/jetbrains/kotlin/codegen/binding/CodegenBinding.anonymousClassForCallable must not return null” on debugging with breakpoints in Kotlin script fileKT-29423Unable to evaluate lambdas on jdk 9-11KT-30220Empty variables view when breakpoint inside an lambda inside classKT-30318KotlinCoroutinesAsyncStackTraceProvider slows down java debuggingKT-17811Couldn't inline method error for inline method with anonymous object initialization and reified type parameterKT-30611Debugger: in projects with stdlib of 1.2.n version Frames view can't complete loading, EvaluateException: "Method threw 'java.lang.ClassNotFoundException' exception." at EvaluateExceptionUtil.createEvaluateException()
IDE. Decompiler
KT-9618Exception in ClassClsStubBuilder.createNestedClassStub() while opening recent projectKT-29427Exception in ClassClsStubBuilder.createNestedClassStub() for obfuscated library
IDE. Gradle
KT-26865Gradle build in IDE: error messages in Native sources are not hyperlinksKT-28515Failed to import Kotlin project with gradle 5.0KT-29564kotlin.parallel.tasks.in.project=true causes idea to create kotlin modules with target JVM 1.6KT-30076Memory leaks in Kotlin importKT-30379Gradle 5.3 publishes an MPP with broken Maven scope mapping
IDE. Gradle. Script
KT-27684Gradle Kotlin DSL: therootProjectfield is unresolved in IDEA for a common moduleKT-29465IndexNotReadyException 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-29832Multiple Script Definitions for settings.gradle.ktsKT-30623Errors in build.gradle.kts after applying new script dependenciesKT-29474Regression in 1.3.20: Kotlin IDE plugin parses all *.gradle.kts files when any class in buildSrc is openedKT-30130“Access is allowed from event dispatch thread only.” from ScriptNewDependenciesNotificationKt.removeScriptDependenciesNotificationPanel() on creating foo.gradle.kts files in IJ from master
IDE. Hints
KT-29196Variable type hints are redundant for constructor calls of nested classesKT-30058IndexNotReadyException from quick documentation when popup is active
IDE. Hints. Inlay
KT-19558Wrong position of type hint while renaming Kotlin variableKT-27438"Show lambda return expression hints" breaks code indentationKT-28870Rework "Lambda return expression" hint as between_lines_hint of disable it by default
IDE. Hints. Parameter Info
KT-29574Incorrect parameter info popup for lambda nested in object
IDE. Inspections and Intentions
New Features
KT-16118"Introduce import alias" intentionKT-17119Inspection for (Scala-like)= { ... }syntax without expected type in function definitionKT-26128Inspection for suspension inside synchronized and withLock functionsKT-27556Add intention for collections, !collection.isEmpty() -> collection.isNotEmpty()KT-27670Add quick fix: wrap expression in a lambda if compatible functional type is requiredKT-28803Inspection: result of enum entries comparison is always false / trueKT-28953Add intention to add underscores to decimal numerical literalKT-29001Add intention to move variable declaration before when-expression into when's subjectKT-29113Warn about redundant requireNotNull and checkNotNull usagesKT-29321"Remove empty primary constructor": apply for enum entriesKT-12134Suggest to remove qualifier in FQN nameKT-17278Inspection to replace Java 8 Map.forEach with Kotlin's forEachKT-26965Add inspection + quickfix for replacing Collection.count() with .sizeKT-30123Add intention to replace isEmpty/isNotEmpty method negationKT-25272Unused expression as last expression of normal function should have quickfix to add "return"KT-30456Improve: intention "Introduce Import Alias" should suggest new names for the new alias.
Fixes
KT-7593On 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-18715Replace if with elvis swallows commentsKT-19254Intention 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-27143Intention "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-28131False 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-28592False 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 withthispassed as an argumentKT-28773Kotlin/JS: Wrong inspection to replace .equals() with == on dynamic valuesKT-28851'Convert parameter to receiver' addsArray<out T>wrapper tovarargparameter and dropsoverridemodifier in implementationsKT-28969TYPE_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-29056KNPE in ConvertPrimaryConstructorToSecondary with missing property identifierKT-29085False positive "Class member can have 'private' visibility" for aconst valused in a public inline functionKT-29093False positive inspection "Redundant lambda arrow" with nested lambdasKT-29099"Convert to apply" intention is not available for a single function callKT-29128False positive 'Explicitly given type is redundant here' when typealias is usedKT-29153False negative "'rangeTo' or the '..' call should be replaced with 'until'" with bracketed expressionsKT-29193Quick fix "Create extension function"List<Int>.setshould not be suggested for read-only collectionsKT-29238Non-canonical modifiers order inspection incorrectly includes annotations into rangeKT-29248"Convert member to extension" doesn't preserve visibilityKT-29416False positive "Redundant property getter" forexternalgetterKT-29469False positive in "Boolean literal argument without parameter name" inspection for varargs parametersKT-29549Make package name convention inspection globalKT-29567"Remove empty class body" is a poor name for inspection textKT-29606Do not propose to remove unused parameter of property setterKT-29763False negative "Object literal can be converted to lambda" for block body function with explicit returnKT-30007False negative "Add import for '...'" in UserTypeKT-19944multiplatform: 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-29927Missing "Import members from" intention with type check operator inwhenbranchKT-30010Introduce alternative quick-fixes formap[key]!!KT-30166False positive "Redundant companion reference" on companion with the outer class nameKT-14886Create Property from Usage should place generated property next to other propertiesKT-16139Adding explicit type argument leads to type mismatchKT-19462False positive inspection "Redundant lambda arrow" for overloaded functionsKT-22137Create class quickfix is not suggested in return statementKT-23259False 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-29124False positive inspection 'Redundant lambda arrow' with generic function/constructor with lambda argumentKT-29590False positive inspection "Redundant lambda arrow" with vararg lambda arguments passed via spread operatorKT-29977False positive "Unused import directive" for typealias of an enum imported as staticKT-30233Change order of the quick fixes when method does not accept nullable typesKT-30341False positive 'Use withIndex() instead of manual index increment' inspection with destructive declaration in 'for' loopKT-30414"Replace return with 'if' expression" drops return labelKT-30426Don't preserve extra line when adding remaining branches for whenKT-30433"Convert member to extension" doesn't update external Kotlin callsKT-30117Kotlin unused import analysis accesses file editor manager model outside UI threadKT-29143Unnecessary primaryconstructorkeyword inspectionKT-29444"Make public" intention does not remove additional white-space to conform to proper styleKT-30337Do not propose to move variable declaration into "when" if it's not used inside the when-expression
IDE. Multiplatform
KT-29918Outdated Ktor version in Kotlin (JS Client/JVM Server) multiplatform project generated via New Project Wizard
IDE. Navigation
KT-26924Overriding 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-28838Group by file structure doesn't work for text search in Kotlin
IDE. Refactorings
KT-27602Kotlin property renaming change target name several times during rename making it hard to process it by reference handlersKT-29062Extract Superclass refactoring throws Exception if sourceRoots.size() <= 1KT-29796Label rename refactoring does not work on label usage
IDE. Scratch
KT-23985Allow to run Kotlin Worksheet without module classpathKT-27955Interactive mode for Kotlin Scratch filesKT-28958Exception "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-29770IntelliJ IDEA makes too many requests for the classpath of a Gradle Kotlin build scriptKT-29893IDE is frozen during project configuration because ofScriptTemplatesFromDependenciesProviderKT-30146Preferences from Kotlin scripting section reset to default after project reopening
IDE. Tests Support
KT-25956With failed test function class gutter icon is "failure", but function icon is "success"
IDE. Wizards
KT-17829Please unify naming of Kotlin projects and frameworks for JVMKT-28941Tip of the day: obsolete project types from "New project wizard"
Libraries
KT-27108.toDouble()and.toFloat()conversions for unsigned typesKT-29520Random.Default cannot be used asJavaRandomKT-30109Documentation for Result.onSuccess and Result.onFailure are flipped aroundKT-26378'contains' overloads for unsigned integer ranges with other unsigned integer typesKT-26410High-order function overloads for unsigned arraysKT-27262Binary search for specialized arrays of unsigned integersKT-28339Addfillextension function for unsigned primitive arraysKT-28397UByteArray plus UByteArray = ListKT-28779Implement method sum() for arrays of unsigned primitivesKT-29151Documentation for CharSequence.take() & String.take() shows examples of Iterable.take()KT-30035add max/maxOf/min/minOf for unsigned typesKT-30051elementAt extension function of Array/PrimitiveAray/UnsignedArray does not throw IndexOutOfBoundException on incorrect index (JS only)KT-30141JS: document Array.get behaviorKT-30704Documentation of Random function not quite correct
Tools. CLI
KT-26240Support JVM bytecode targets 9, 10, 11, 12
Tools. Gradle
KT-12295Gradle IC: Compile error leads to non-incremental buildKT-12700Add a way to diagnose IC problemsKT-26275Check new MPP ICKT-27885Drop support for Gradle 3.x and earlierKT-27886Drop support for Android Gradle plugin 2.xKT-28552Gradle 4.7 import fails on Kotlin/mpp projects with Java11KT-29275Drop support for Gradle 4.0KT-29758Gradle 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-29966Fix inter-project IC with new MPP for JS/JVM targetsKT-27059Ensure a dependency on the multiplatform project in the POM when publishing a single-platform module with themavenpluginKT-29971ConcurrentModificationException in Kotlin Gradle plugin (GradleCompilerRunner.buildModulesInfo)KT-21030Automatically detect java 1.8 sources in kotlin-android gradle pluginKT-27675Enable Kapt build cache by defaultKT-27714Kotlin MPP Android targets don't have their attributes copied to the configurations of the compilationsKT-29761Inter-project IC does not work for kaptGenerateStubs* tasks on AndroidKT-29823Update 'org.gradle.usage' attribute rules to support the 'JAVA_API_JARS' valueKT-29964A universal Gradle DSL way of configuring all compilations of all targets doesn't work for Android target of a multiplatform projectKT-30276Warn if the Kotlin Gradle plugin is loaded multiple timesKT-30322Memory leak in CompilationSourceSetUtilKT-30492Classes not removed for out/in process compilation
Tools. J2K
KT-29713java.lang.IllegalStateException at converting @RestController java file to Kotlin file
Tools. JPS
KT-30137Deadlock during concurrent classloading
Tools. Maven
KT-29251NSME: MavenProjectsManager.scheduleArtifactsDownloading() at KotlinMavenImporter.scheduleDownloadStdlibSources()
Tools. REPL
KT-19276Console spam when opening idea-community project in debug IDEA
Tools. Scripts
KT-29296Script evaluation - impossible to set base classloader to nullKT-27051Support dynamic versions in @file:DependsOnKT-27815Compiler options in the scripting compilation configuration are ignored on compilation/evaluationKT-28593Idea tries to associate file type with the script definition discovery fileKT-29319scripts default jvmTarget causes inlining problems - default should be 1.8KT-29741KJvmCompiledScript can not be deserialized KJvmCompiledModule if it's nullKT-30210Coroutines in main.kts crash with NoSuchMethodError because kotlin-main-kts.jar has embedded coroutines
Tools. kapt
KT-26977kapt plugin applied in platform.jvm module preventing visibility of common codeKT-27506Kapt error "no interface expected here" in class implementing interface with secondary constructorKT-28220kapt can generate invalid stub files for imports of enum constantsKT-28306Cannot extend an generic interface with function body while using kapt and correctErrorTypes in Kotlin 1.3KT-23880Kapt: Support incremental annotation processorsKT-29302Java classes doesn't resolve Kotlin classes when kapt.use.worker.api = trueKT-30163Kapt: Javadoc in Java source model mangled (leading asterisks are preserved)
Docs & Examples
KT-30091KClass documentation incorrectly shows all members available on all platformsKT-30100Clarify Map.toSortedMap docsKT-30418Documentation for floor() and ceil() functions is misleadingKT-29373MutableSet.add documentation is confusing
1.3.21
Compiler
Fixes
KT-29475IllegalArgumentException at getAbstractTypeFromDescriptor with deeply nested expression inside function named with a right parenthesisKT-29479WARN: Could not read file on Java classes from JDK 11+KT-29360Kotlin 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-29486Throwable: "Could not find correct module information" through IdeaKotlinUastResolveProviderService.getBindingContext() and ReplaceWithAnnotationAnalyzer.analyzeOriginal()KT-29394Kotlin 1.3.20 EAP: Excess log messages withkotlin.parallel.tasks.in.project=trueKT-29474Regression in 1.3.20: Kotlin IDE plugin parses all *.gradle.kts files when any class in buildSrc is openedKT-29290Warning "function returning deferred with a name that does not end with async" should not be displayed for let/also/apply...KT-29494Don't report BooleanLiteralArgumentInspection in batch (offline) mode with INFORMATION severityKT-29525turning on parallel tasks causes java.lang.NoClassDefFoundError: Could not initialize class kotlin.Unit sometimesKT-27769Change the DSL marker iconKT-29118Log polluted with multiple "Kotlin does not support alternative resolve" reports
IDE. Multiplatform
KT-28128MPP Kotlin/Native re-downloads POM files on IDE Gradle refresh
IDE. REPL
KT-29400IDE REPL in Gradle project: "IllegalStateException: consoleView must not be null" on module build
Libraries
Fixes
KT-29612jlink 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-294761.3.20 MPP Android publishing common api configuration with runtime scopeKT-29725MPP Gradle 5.2: NoSuchMethodError in WrapUtilKT-29485In 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-29490Regression in 1.3.20: Kotlin Jsr223 script engine cannot handle functional return types
Tools. Kapt
KT-29481Annotation processors run on androidTest source set even without the kaptAndroidTest declarationKT-29513kapt throws "ZipException: zip END header not found", when Graal SVM jar in classpath
1.3.20
Android
KT-22571Android: Configure Kotlin should add implementation dependency instead of compile
Compiler
New Features
KT-14416Support of @PolymorphicSignature in Kotlin compilerKT-22704Allow expect annotations with actual typealias to Java to have default argument values both in expected and in actualKT-26165Support VarHandle in JVM codegenKT-26999Inspection for unused main parameter in Kotlin 1.3
Performance Improvements
KT-16867Proguard can't unbox Kotlin enums to integersKT-23466kotlin compiler opens-reads-closes .class files many times overKT-25613Optimise boxing of inline class values inside string templates
Fixes
KT-2680JVM backend should generate synthetic constructors for enum entries (as javac does).KT-6574Enum entry classes should be compiled to package private classesKT-8341Local variable cannot have type parametersKT-14529JS: annotations on property accessors are not serializedKT-15453Annotations are ignored on accessors of private propertiesKT-18053Unexpected behavior with "in" infix operator and ConcurrentHashMapKT-18592Compiler cannot resolve trait-based superclass of Groovy dependencyKT-19613"Public property exposes its private type" not reported for primary constructor propertiesKT-20344Unused private setter created for propertyKT-21862java.lang.NoSuchFieldError when calling isInitialized on a lateinit "field" of a companion objectKT-21946Compilation error during default lambda inlining when it returns anonymous objectKT-22154Warning: Stripped invalid locals information from 1 method when compiling with D8KT-23369Internal compiler error in SMAPParser.parseKT-23543Back-end (JVM) Internal error: Couldn't inline methodKT-23739CompilationException: Back-end (JVM) Internal error: Couldn't inline method call: Unmapped line number in inlined functionKT-24156For-loop optimization should not be applied in case of custom iteratorKT-24672JVM BE: Wrong range is generated in LVT for variables with "late" assignmentKT-24780Recursive suspend local functions: "Expected an object reference, but found ."KT-24937Exception from parser (EA-76217)KT-25058Fix deprecated API usage in RemappingClassBuilderKT-25288SOE 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-25424No coercion to Unit when type argument specified explicitlyKT-25702@JvmOverloads should not be allowed on constructors of annotation classesKT-25893crossinline 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-25922Back-end Internal error : Couldn't inline method : Lambda inlining : invoke(Continuation) : Trying to access skipped parameterKT-26126Front-end doesn't check that fun with contract andcallsInPlaceeffect is an inline function; compiler crashes on val initializationKT-26366UseExperimental with full qualified reference to marker annotation class is reported as errorKT-26384Compiler crash with nested multi-catch try, finally block and inline functionKT-26505Improve error message on missing script base class kotlin.script.templates.standard.ScriptTemplateWithArgsKT-26506Incorrect bytecode generated for inner class inside inline class referencing outer 'this'KT-26508Incorrect accessor generated for private inline class method call from lambdaKT-26509Internal compiler error on generating inline class private method call from companion objectKT-26554VerifyError: Bad type on operand stack for inline class with default parameter of underlying typeKT-26582Array literal of a primitive wrapper class is loaded as a primitive array literalKT-26608Couldn't inline method call. RuntimeException: Trying to access skipped parameter: Ljava/lang/Object;KT-26658Trying to access skipped parameter exception in code with crossinline suspend lambda with suspend function with default parameter callKT-26715NullPointerException for an inline class constructor referenceKT-26848Incorrect line in coroutine debug metadata for first suspension pointKT-26908Inline classes can't have a parameter with a default value (Platform declaration clash)KT-26931NSME “InlineClass.foo-impl(LIFace;)I” on calling inherited method from inline class instanceKT-26932CCE “Foo cannot be cast to java.lang.String” when accessing underlying value of inline class through reflectionKT-26998Default extension fun call in generic Kotlin interface with inline class substituted type of extension receiver fails with internal compiler errorKT-27025Inline class access to private companion object fun fails with VerifyErrorKT-27070Delegated property with inline class type delegate fails with internal error in codegenKT-27078Inline class instance captured in closure fails with internal error (incorrect bytecode generated)KT-27107JvmStatic in inline class companion doesn't generate static method in the classKT-27113Inline class'stoStringis not called when it is used in string extrapolationKT-27140Couldn't inline method call 'ByteArray' with inline classKT-27162Incorrect 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-27318Interface implementation by delegation to inline class type delegate fails with internal error in codegenKT-27358Boxed 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-27513Backend Internal Error when using inline method inside inline classKT-27560Executing getter of property with type kotlin.reflect.KSuspendFunction1 throws MalformedParameterizedTypeExceptionKT-27705Internal compiler error (incorrect bytecode generated) when inner class constructor inside inline class references inline class primary valKT-27706Internal compiler error (incorrect bytecode generated) when inner class inside inline class accepts inline class parameterKT-27732Using type inference on platform types corresponding to unsigned types causes compiler errorKT-27737CCE for delegated property of inline class typeKT-27762The lexer crashes when a vertical tabulation is usedKT-27774Update asm to 7.0 in Kotlin backendKT-27948"Argument 2: expected R, but found I" forequalsoperator on nullable and non-null unsigned typesKT-28054Inline class: "Cannot pop operand off an empty stack" for calling private secondary constructor from companion objectKT-28061Safe call operator and contracts: false negative "A 'return' expression required in a function with a block body"KT-28185Incorrect behaviour of javaClass intrinsic for receivers of inline class typeKT-28188CCE when bound callable reference with receiver of inline class type is passed to inline functionKT-28237CoroutineStackFrame uses slashes instead of dots in FQNKT-28361Class literal for inline class should return KClass object of the wrapperKT-28385Rewrite at slice FUNCTION in MPP on "red" codeKT-28405VE “Bad type on operand stack” at runtime on creating inline class with UIntArray insideKT-28585Inline classes not properly boxed when accessing avar(from enclosing scope) from lambdaKT-28847Compilation 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-28965Unsound smartcast to definitely not-null if value of one generic type is cast to other generic typeKT-28983Wrong mapping of flexible inline class type to primitive type
IDE
New Features
KT-25906Kotlin language injection doesn't evaluate constants in string templatesKT-27461Provide live template to generatemain()with no parametersKT-28371Automatically align ?: (elvis operator) after call on the new line
Performance Improvements
KT-23738Provide stubs for annotation value argument listKT-25410Opening Settings freezes the UI for 23 secondsKT-27832Improve performance of KotlinGradleProjectResolverExtensionKT-28755Optimize searching constructor delegation callsKT-29297Improve performance of light classes in IDE (Java-to-Kotlin interop)
Fixes
KT-9840Right parenthesis doesn't appear after class name before the colonKT-13420Extend Selection: lambda: whole literal with braces is selected after parametersKT-17502Do not disable "Generate equals and hashCode" actions for data classesKT-22590Create 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-23268IntelliJ plugin: Variables from destructing declarations are not syntax colored as variablesKT-23864Copyright message is duplicated in kotlin file in root package after updating copyrightKT-25156SOE in IDE on destructuring delegated property declarationKT-25681Remove "Coroutines (experimental)" settings from IDE and do not pass-Xcoroutinesto JPS compiler (since 1.3)KT-26868MPP: Gradle import: test dependencies get Compile scopeKT-26987"Extend Selection" is missing for labeled returnKT-27095Kotlin configuration: update EAP repositories to use https instead of httpKT-27321Cannot init component state if "internalArguments" presents in xml project structure (kotlinc.xml)KT-27375Kotlin Gradle DSL script: "Unable to get Gradle home directory" in new project with new Gradle wrapperKT-27380KotlinStringLiteralTextEscaperreturns wrong offset on unparseable elementsKT-27491MPP JVM/JS wizard: Use Ktor in the skeletonKT-27492Create some MPP wizard testsKT-27530Kotlin Gradle plugin overwrites the JDK set by jdkName property of the Gradle Idea pluginKT-27663Uast: don't store resolved descriptors in UElementsKT-27907Exception on processing auto-generated classes from ASKT-27954Generate -> toString() using "Multiple templates with concatenation" should add spaces after commasKT-27941MPP: Gradle import with "using qualified names" creates 2 modules with the same content rootKT-28199Could not get javaResolutionFacade for groovy elementsKT-28348Don't log or wrap ProcessCanceledExceptionKT-28401Show parameter info for lambdas during completionKT-28402Automatically indent || and && operatorsKT-28458New Project Wizard: move multiplatform projects to the new DSLKT-28513Bad Kotlin configuration when old syntax is used for configured Gradle project with >= 4.4 versionKT-28556Wrong nullability for @JvmOverloads-generated method parameter in light classesKT-28997Couldn't get delegate for class from any local class or object in scriptKT-29027Kotlin LightAnnotations don't handle vararg class literals
IDE. Android
KT-23560Scratch: impossible to run scratch file from Android StudioKT-25450NoClassDefFoundError when trying to run a scratch file in Android Studio 3.1.3, Kotlin 1.2.51KT-26764kotlincontent root isn't generated for Android module of a multiplatform project on Gradle import
IDE. Code Style, Formatting
KT-5590kotlin: line comment must not be on first column by defaultKT-24496IntelliJ IDEA: Formatting around addition / subtraction not correct for KotlinKT-25417Incorrect formatting for comments on property accessorsKT-27847Destructured declaration continued on the next line is formatted with double indentKT-28070Code style: "Align when multiline" option for "extends / implements list" changes formating of enum constants constructor parametersKT-28227Formatter should not allow enum entries to be on one line with opening braceKT-28484Bad formatting for assignment when continuation for assignments is disabled
IDE. Completion
KT-18089Completion for nullable types without safe call rendered in gray color is barely visibleKT-20706KDoc: Unneeded completion is invoked after typing a number/digit in a kdoc commentKT-22579Smart completion should present enum constants with higher rankKT-23834Code completion and auto import do not suggest extension that differs from member only in type parameterKT-25312Autocomplete for overridden members inexpectedclass inserts extraoverridewordKT-26632Completion: "data class" instead of "data"KT-27916Autocomplete val when auto-completing const
IDE. Debugger
Fixes
KT-13268Can't quick evaluate expression with Alt + Click without get operatorKT-14075Debugger: Property syntax accesses private Java field rather than synthetic property accessorKT-22366Debugger doesn't stop on certain expressionsKT-23585Evaluation of a static interface method call failsKT-24343Debugger, Step Over: IllegalStateException on two consecutive breakpoints when first breakpoint is on an inline function callKT-24959Evaluating my breakpoint condition fails with exceptionKT-25667Exception in logs from WeakBytecodeDebugInfoStorage (NoStrataPositionManagerHelper)KT-26795Debugger crashes with NullPointerException when evaluating const value in companion objectKT-26798Check that step into works with overrides in inline classesKT-27414Use "toString" to render values of inline classes in debuggerKT-27462Main without parameters just with inline fun call: Debug: last Step Over can't finish the processKT-28028IDEA is unable to find sources during debuggingKT-28342Can't evaluate the synthetic 'field' variableKT-28487ISE “resultValue is null: cannot find method generated_for_debugger_fun” on evaluating value of inline class
IDE. Decompiler
KT-27284Disable highlighting in decompiled Kotlin bytecodeKT-27460"Show Kotlin bytecode": "Internal error: null" for an inline extension property from a different file
IDE. Gradle
KT-27265Unresolved 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-14862IDEA links to class file instead of source in buildSrc (Gradle/Kotlin script)KT-17231"Optimize Import" action not working for Gradle script kotlin.KT-21981Optimize imports on the fly does not take implicit imports into account in .kts filesKT-24623Class defined in gradle buildSrc folder is marked as unused when it is actually used in Gradle Script Kotlin fileKT-24705Script reports are shown in the editor only after caret moveKT-24706Do not attach script reports if 'reload dependencies' isn't pressedKT-25354Gradle Kotlin-DSL: Changes of buildSrc are not visible from other modulesKT-25619Intentions not working in buildSrc (Gradle)KT-27674Highlighting is skipped in files from buildSrc folder of Gradle project
IDE. Hints
KT-13118Parameter info is not shown for Kotlin last-argument lambdasKT-25162Parameter info for builder functions and lambdasKT-26689Lambda return expression hint not shown when returning a lambda from inside a lambdaKT-27802The hint for the if-expression is duplicated inside each branch
IDE. Inspections and Intentions
New Features
KT-2029Add inspection for boolean literals passed without using named parameters featureKT-5071Properly surround a function invocation in string template by curly bracesKT-5187Quick Fix to remove inline keyword on warning about performance benefitsKT-6025Auto-remove toString() call in "Convert concatenation to template"KT-9983"'inline'' modifier is not allowed on virtual members." should have quickfixKT-12743Add Intention to convert nullable var to non-nullable lateinitKT-15525Inspection to warn on thread-blocking invocations from coroutinesKT-17004There is no suggestion to add property to supertypeKT-19668Inspection "Redundant else in if"KT-20273Inspection to report a setter of a property with a backing field that doesn't update the backing fieldKT-20626Inspection for '+= creates a new list under the hood'KT-23691Warn aboutvarproperties with default setter and getter that doesn't reference backing fieldKT-24515Intention to add an exception under the cursor to @Throws annotationsKT-25171Inspection: Change indexed access operator on maps toMap.getValueKT-25620Inspection for functions returning DeferredKT-25718Add intention to convert SAM lambda to anonymous objectKT-26236QuickFix for ASSIGN_OPERATOR_AMBIGUITY on mutable collection '+=', '-='KT-26511Inspection (without highlighting by default) for unlabeled return inside lambdaKT-26653Intention to replace if-else withx?.let { ... } ?: ...KT-26724Inspection with a warning for implementation by delegation to avarpropertyKT-26836Add quick fix for type mismatch between signed and unsigned types for constant literalsKT-27007Intention: add label to return if scope is visually ambiguousKT-27075Add a quick fix/intention to createexpectmember for an addedactualdeclarationKT-27445Add quickfix for compiler warning "DEPRECATED_JAVA_ANNOTATION"KT-28118Remove empty parentheses for annotation entriesKT-28631Suggest to remove single lambda argument if its name is equal toitKT-28696Inspection: detect potentially ambiguous usage of coroutineContextKT-28699Add "Convert to also" intention
Performance Improvements
KT-26969ConvertCallChainIntoSequence quick fix doesn't use sequences all the way
Fixes
KT-4645Unexpected 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-7555Omit braces when converting 'this' in 'Convert concatenation to template'KT-8820No "Change type" quick fix inside whenKT-8875"Remove explicit type" produce red code for extension lambdaKT-12479IDEA doesn't propose to replace all usages of deprecated annotation when it declared w/o parenthesesKT-13311IDE marks fun finalize() as unused and says that its effective visibility is privateKT-14555Strange 'iterate over Nothing' intentionKT-15550Intention "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-20040Kotlin Gradle script: unused import doesn't become greyKT-20725Cannot 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-23639False positive "Unused symbol" for sealed class type parametersKT-23693Add missing actual membersquick 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-25536Use non-const Kotlin 'val' usage in Java code isn't reported on case labels (& assignments)KT-25933ReplaceCallWithBinaryOperator should not suggest to replace 'equals' involving floating-point typesKT-25953Meaningless auto properties for Atomic classesKT-25995"Simplify comparision" should try to apply "Simplify if expression" when necessaryKT-26051False positive "Redundant visibility modifier" for overridden protected property setter made publicKT-26337Exception (resource not found) in quick-fix tests in AS32KT-26481Flaky false positive "Receiver parameter is never used" for local extension functionKT-26571Too much highlighting from "convert call chain into sequence"KT-26650False negative "Call chain on collection should be converted into 'Sequence'"" on class implementingIterableKT-26662Corner 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-26710Should not report "implicit 'it' is shadowed" when outeritis not usedKT-26839Add braces to if statement produces code that is not formatted according to styleKT-26902Bad quickfix name for "Call on non-null type may be reduced"KT-27016Replace '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-27061False positive "Convert to secondary constructor" with delegationKT-27071"Add non-null asserted (!!) call" places!!at wrong position with operatorget(array indexing)KT-27093Create actual class from expect class doesn't add all necessary importsKT-27104False positive "Convert call chain into Sequence" with groupingByKT-27116"Object literal can be converted to lambda" produces code littered with "return@label"KT-27138Change visibility intentions are suggested on properties marked with @JvmFieldKT-27139Add getter intention is suggested for properties marked with @JvmFieldKT-27146False positive "map.put() can be converted to assignment" onsuperkeyword withLinkedHashMapinheritanceKT-27156Introduce backing property intention is suggested for property marked with @JvmFieldKT-27157Convert property to function intention is suggested for property marked with @JvmFieldKT-27173"Lift return out of..." should work on any of targetedreturnkeywordsKT-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-27354False positive "Make 'Foo' open" fordataclass inheritanceKT-27408"Add braces to 'if' statement" moves end-of-line comment inside anifbranchKT-27486ConvertCallChainIntoSequence quick fix doesn't convert 'unzip' into 'Sequence'KT-27539False positiveRedundant Companion referencewhen val in companion is effectively shadowed by inherited valKT-27584False positive "Move lambda argument out of parentheses" when implementing interface by delegationKT-27590No “Change parameter” quick fix for changing argument type from UInt to IntKT-27619Inspection "Invalid property key" should check whether reference is soft or notKT-27664Fix flaky problem in tests "Could not initialize class UnusedSymbolInspection"KT-27699"Remove redundant spread operator" produces incorrect codeKT-27708IDE highlights internal constructors used only from Java as unusedKT-27791Don't suggestImplement as constructor parametersquick fix foractualclass declarationKT-27861RedundantCompanionReference false positive for nested class with name "Companion"KT-27906SafeCastAndReturn is not reported on code block with unqualified returnKT-27951False declaration in actual list (same name but not really actual)KT-28047False positive "Redundant lambda arrow" for lambda returned fromwhenbranchKT-28196KotlinAddImportAction: AWT events are not allowed inside write actionKT-28200KNPE in TypeUtilsKt.getDataFlowAwareTypesKT-28268Don't suggest "make abstract" quick fix for inline classesKT-28286"Unused symbol" inspection: Interface is reported as "class"KT-28341False positive "Introduce backing property" intention forconstvaluesKT-28381Forbid "move property to constructor" for expect classesKT-28382Forbid "introduce backing property" for expect classesKT-28383Exception 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-28504Redundant async inspection: support calls on explicitly given scopeKT-28540"Replace assert boolean with assert equality" inspection quickfix doesn't add import statementKT-28618Kotlin: 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-28716KotlinDefaultHighlightingSettingsProvider suppresses inspections in non-kotlin filesKT-28744val-keyword went missing from constructor of inline class after applying “Create actual class...” intentionKT-28745val-keyword went missing from constructor of inline class after applying “Create expected class in common module...” intention
IDE. KDoc
KT-24788Endless exceptions in offline inspections
IDE. Multiplatform
KT-26518Create actual ...quick fix doesn't add a primary constructor call for the actual secondary constructorKT-26893Multiplatform projects fail to import into Android Studio 3.3, 3.4KT-26957Merge expect gutter icon, when used for the same lineKT-27295MPP: Rebuild module / Recompile source does nothing for Native with Delegate to gradle = YesKT-27296MPP: Rebuild module / Recompile source does nothing for Common with Delegate to gradle = YesKT-27335New multiplatform wizard: mobile library is generated with failed testKT-27595KNPE on attempt to generateequals(),hashCode(),toString()forexpectclass
IDE. Navigation
KT-22637Go to actual declarations for enum values should choose correct value if they are written in one lineKT-27494Create tooling tests for new-multiplatformKT-28206Go to implementations on expect enum shows not only enum classes, but also all membersKT-28398Broken navigation to actual declaration ofprintln()in non-gradle project
IDE. Project View
KT-26210IOE “Cannot create file” on creating new file with existing filename by pasting a code in Project viewKT-27903Can create file with empty name without any warning
IDE. REPL
KT-29285Starting REPL in Gradle project: Will compile into IDEA's out folder which then shadows Gradle's compile output
IDE. Refactorings
KT-23603Add the support for find usages/refactoring of the buildSrc sources in gradle kotlin DSL build scriptsKT-26696Copy, Move: "Destination directory" field does not allow to choose a path from non-JVM moduleKT-28408"Extract interface" action should not show private propertiesKT-28476Extract interface / super class on non-JVM class throws KNPE
IDE. Scratch
KT-23523Filter out fake gradle modules from checkbox in Scratch file panelKT-25032Scratch: IDEA hangs/freezes on code that never returns (infinite loops)KT-26271Scratches for Kotlin do not work when clicking "Run Scratch File" buttonKT-26332Fix classpath intention in Kotlin scratch file in Java only project doesn't do anythingKT-27628Scratch blocks AWT Queue threadKT-28045'Run kotlin scratch' is shown for jest tests
IDE. Script
KT-24465Provide a UI to manage script definitionsKT-24466Add warning when there are multiple script definitions for one scriptKT-25818IDE Scripting Console files shouldn't have scratch panelKT-26331Please extract ScriptDefinitionContributor/KotlinScriptDefinition from kotlin-plugin.jar to separate jarKT-27669Consider moving expensive tasks out of the UI threadKT-27743Do not start multiple background threads loading dependencies for different scriptsKT-27817Implement a lightweight EP in a separate public jar for supplying script definitions to IDEAKT-27960Add capability to import one Script to anotherKT-28046"Reload script dependencies on file change" option is missing after project restart
IDE. Tests Support
KT-27977Missing 'run' gutter on a test method of an abstract classKT-28080Wrong run configuration created from context for test method in abstract class
JS. Tools
KT-27361Support NamedConstructor in idl2kKT-28786Float values initialized incorrectly while translating from IDLKT-28821Kotlin/JS missing ClipboardEvent definitionsKT-28864Better support for TrackEvent, MediaStreamTrackEvent and RTCTrackEvent in idl
JavaScript
KT-27611Calling a suspending function of a JS library causes "Uncaught ReferenceError: CoroutineImpl is not defined"KT-28207Finally block loops forever for specific code shapeKT-28215JS: inline suspend function not usable in non-inlined formKT-29003KotlinJS: Size of String in stdlib is limited if the the Constructor String(chars: CharArray) gets used
Libraries
New Features
KT-18398Provide a way for libraries to avoid mixing Kotlin 1.0 and 1.1 dependencies in end user projectsKT-27919Publish modularized artifacts under 'modular' classifier
Performance Improvements
KT-27251Do not use Stack in FileTreeWalk iterator implementation
Fixes
KT-12473KotlinJS - comparator returning 0 changes orderKT-20743Use strongly typed events in Kotlin2js DOM APIKT-20865Retrieving groups by name is not supported on Java 9 even withkotlin-stdlib-jre8in the classpathKT-23932add "PointerEvent" for kotlin-stdlib-jsKT-24336Kotlin/JS missing SVGMaskElement interfaceKT-25371Support unsigned integers in kotlinx-metadata-jvmKT-27629kotlin.test BeforeTest/AfterTest annotation mapping for TestNGKT-28091Provide correct AbstractMutableCollections declarations in stdlib-commonKT-28251Stdlib: Deprecated ReplaceWithkotlin.math.logreplacement instead ofkotlin.math.lnKT-28488Add clarification for COROUTINES_SUSPENDED documentationKT-28572readLine() stumbles at surrogate pairsKT-29187JS toTypedArray returns array of invalid type for LongArray and BooleanArray
Reflection
KT-26765Support calling constructors with inline classes in the signature in reflectionKT-27585Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessibleKT-27598"KotlinReflectionInternalError" when usingcallByon constructor that has inline class parametersKT-27913ReflectJvmMapping.getKotlinFunction(ctor) works incorrectly with types containing variables of inline class
Tools. CLI
KT-27226Argfiles: 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-27709Using an experimental API that does not exist should warn, not errorKT-27775Re-enable directories passed as in -Xbuild-fileKT-27930Do not use toURI in ModuleVisibilityUtilsKt.isContainedByCompiledPartOfOurModule if possibleKT-28180Backslash-separated file paths in argfiles do not work on WindowsKT-28974Serialization bug in CommonToolArguments, affecting MPP project data serialization
Tools. Compiler Plugins
KT-24997Pass arguments to Kapt in human-readable formatKT-24998Introduce separate command line tool specifically for Kapt in order to improve UXKT-25128ABI jar generation in the CLI compiler for Bazel like build systems.
Tools. Gradle
New Features
KT-26963Warn user that a custom platform-agnostic source set wouldn't be included into build unless it is required for other source setsKT-27394Add kotlinOptions in compilations of the new MPP modelKT-27535Implement AARs building and publishing in new MPPKT-27685In new MPP, expose a compilation's default source set via DSLKT-28155Add ability to run tasks in parallel within projectKT-28842Enable JS IC by default
Performance Improvements
KT-24530Enable compile avoidance for kaptKotlin tasksKT-28037In-process Kotlin compiler leaks thread local values
Fixes
KT-26065Kotlin Gradle plugin resolves dependencies at configuration timeKT-26389Support Gradle Kotlin DSL in projects with thekotlin-multiplatformpluginKT-26663Gradle dependency DSL features missing for the new MPP dependenciesKT-26808Deprecation Warning Gradle 5 - "DefaultSourceDirectorySet constructor has been deprecated"KT-26978Gradle verification fails on DiscoverScriptExtensionsTaskKT-27682Kotlin MPP DSL: a target is missing theattributes { ... }function, only theattributesproperty is available.KT-27950Gradle 5.0-rc1: "Compilation with Kotlin compile daemon was not successful"KT-28355Gradle Kotlin plugin publishes "api" dependencies with runtime scopeKT-28363Enable resources processing for Kotlin/JS target in multiplatform projectsKT-28469Gradle Plugin: Task DiscoverScriptExtensionsTask is never up-to-dateKT-28482Always rewrite the MPP dependencies in POMs, even when publishing with Gradle metadataKT-28520MPP plugin can't be applied altogether with the "maven-publish" plugin in a Gradle 5 buildKT-28635fromPreset() in MPP Gradle plugin DSL is hard to use from Gradle Kotlin DSL scriptsKT-28749ExposeallKotlinSourceSetsinKotlinCompilationKT-28795The localToProject attribute is not properly disambiguated with Gradle 4.10.2+KT-28836Kotlin compiler logs from Gradle Kotlin Plugin aren't captured by GradleKT-29058Gradle Plugin: Multiplatform project with maven-publish plugin does not use project group for "metadata" artifact POM
Tools. J2K
KT-26073Irrelevant "create extra commit with java->kt rename"
Tools. JPS
KT-26980JPS Native warning is duplicated for test source setsKT-27285MPP: invalid common -> platform dependency: JPS fails with Throwable "Cannot initialize Kotlin context: Cyclically dependent modules" at KotlinChunk.()KT-27622JPS, JS: Resources marked as "kotlin-resource" are not copied to the out folder in a Kotlin-js projectKT-28095JPS: support -Xcommon-sources for multiplatform projects (JS)KT-28316ReportNative is not yet supported in IDEA internal build systemon JPS build once per project/multiplatform moduleKT-28527JPS: Serialization plugin not loaded in ktorKT-28900With "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-27382Embeddable version of scripting support (KEEP 75)KT-27497kotlin script - No class roots are found in the JDK pathKT-29293Script compilation - standard libs are not added to the dependenciesKT-29301Some ivy resolvers are proguarded out of the kotlin-main-ktsKT-29319scripts default jvmTarget causes inlining problems - default should be 1.8
Tools. kapt
New Features
KT-28024Kapt: Add option for printing timings for individual annotation processorsKT-28025Detect memory leaks in annotation processors
Performance Improvements
KT-28852Cache classloaders for tools.jar and kapt in Gradle workers
Fixes
KT-24368Kapt: Do not include compile classpath entries in the annotation processing classpathKT-25756Investigate file descriptors leaks in kaptKT-26145Usingkaptwithout thekotlin-kaptplugin should throw a build errorKT-26304Build fails with "cannot find symbol" using gRPC with dagger; stub compilation fails to find classes generated by kaptKT-26725Kapt does not handle androidx.annotation.RecentlyNullable correctlyKT-26817kapt 1.2.60+ ignores .java files that are symlinksKT-27126kapt: class implementing List generates bad stubKT-27188kapt 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-27404Kapt does not call annotation processors on custom (e.g., androidTest) source sets if all dependencies are inherited from the main kapt configurationKT-27487Previous value is passed to annotation parameter using annotation processingKT-27711kapt: ArrayIndexOutOfBoundsException: 0KT-27910Kapt lazy stub without explicit type that initializes an object expression breaks stubbing
1.3.11
Compiler
KT-28097AbstractMethodError for @JvmSuppressWildcards annotation used with coroutinesKT-28225Report a warning when comparing incompatible enums
IDE. Gradle
KT-28389MPP 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-27632MPP IDE commonMain cannot see other commonMain types transitively which are exposed through a middle multiplatform module
JavaScript
KT-27946Late initialization based on contracts breaks Kotlin/JS in 1.3.0
Tools. Gradle
KT-27500MPP: Native:.moduledependency is reported as error in the IDE after import
1.3.10
Compiler
KT-27758Kotlin 1.3 breaks compilation of calling of function named 'contract' with block as a last parameterKT-27895Kotlin 1.3.0 broken runtime annotation issue
IDE
IDE. Debugger
KT-275402018.3 and 2019.1 Debugger: Evaluating anything fails with KNPE in LabelNormalizationMethodTransformerKT-27833Evaluate exception in 183/191 withasm-7.0-beta1/'asm-7.0'KT-27965Sequence debugger does not work in Android StudioKT-27980Kotlin sequence debugger throws IDE exception in IDEA 183
IDE. Gradle
KT-27265Unresolved reference in IDE on calling JVM source set members of a multiplatform project with Android target from a plain Kotlin/JVM moduleKT-27849IntelliJ: Wrong scope of JVM platform MPP dependency
IDE. Inspections and Intentions
KT-26481Flaky false positive "Receiver parameter is never used" for local extension functionKT-27357Function with inline class type value parameters is marked as unused by IDEKT-27434False positive "Unused symbol" inspection for functions and secondary constructors of inline classesKT-27945Quick-fix whitespace bug in KtPrimaryConstructor.addAnnotationEntry()
IDE. Scratch
KT-27746Scratch: "Cannot pop operand off an empty stack" in a new scratch file
IDE. Tests Support
KT-27371Common tests can not be launched from gutter in MPP Android/iOS project
Reflection
KT-27878Spring: "AssertionError: Non-primitive type name passed: void"
Tools. Gradle
KT-27160Kotlin Gradle plugin 1.3 resolves script configurations during project evaluationKT-27803CInterop input configuration has 'java-api' as a Usage attribute value in new MPPKT-27984Kotlin Gradle Plugin: Circular dependency
Tools. JPS
KT-26489JPS: support -Xcommon-sources for multiplatform projects (JVM)KT-27037Incremental compilation failed after update to 1.3.0-rc-60KT-27792Incremental compilation failed with NullPointerException in KotlinCompileContext.markChunkForRebuildBeforeBuild
Tools. kapt
KT-27126kapt: class implementing List generates bad stub
1.3.0
IDE
KT-25429Replace update channel in IDE pluginKT-27793kotlinx.android.synthetic is unresolved on project reopening
IDE. Inspections and Intentions
KT-27619Inspection "Invalid property key" should check whether reference is soft or not
1.3-RC4
Compiler
Fixes
KT-26858Inline class access to private companion object value fails with NSMEKT-27030Non-capturing lambda in inline class members fails with internal error (NPE in genClosure)KT-27031Inline extension lambda in inline class fun fails with internal error (wrong bytecode generated)KT-27033Anonymous object in inline class fun fails with internal error (NPE in generateObjectLiteral/.../writeOuterClassAndEnclosingMethod)KT-27096AnalyzerException: Error at instruction 71: Expected I, but found . when function takes unsigned type with default value and returns nullable inline classKT-27130Suspension point is inside a critical section regressionKT-27132CCE when inline class is boxedKT-27258Report diagnostic for suspension point inside critical section for crossinline suspend lambdasKT-27393Incorrect inline class type coercion in '==' with generic callKT-27484Suspension points in synchronized blocks checker crashesKT-27502Boxed inline class backed by Any is not unboxed before method invocationKT-27526Functional type with inline class argument and suspend modified expects unboxed value while it is boxedKT-27615Double wrap when inline class is printing if it was obtained from list/mapKT-27620Report error when using value of kotlin.Result type as an extension receiver with safe call
IDE
KT-27298Deadlock on project openKT-27329Migration doesn't work for kts projects when versions are stored in kt files inside buildSrc directoryKT-27355Assertion error from light classes (expected callable member was null) for type alias in JvmMultifileClass annotated fileKT-27456New Project wizard: Kotlin (Multiplatform Library): consider generating source files with different names to work around KT-21186KT-27473"Gradle sync failed: Already disposed: Module: 'moduleName-app_commonMain'" on reimport of a multiplatform project with Android target between different IDEsKT-27485Gradle import failed with "Already disposed" error on reopening of a multiplatform project with Android targetKT-27572ISE: "Could not generate LightClass for entry declared in " at CompilationErrorHandler.lambda$static$0()
IDE. Android
KT-26975CNFDE KotlinAndroidGradleOrderEnumerationHandler$FactoryImpl in AS 3.3 with Kotlin 1.3.0-rc-51KT-27451maintarget platform selection is not working in a multiplatform project with Android and JVM targets in Android Studio
IDE. Gradle
KT-27365Dependencies between Java project and MPP one are not respected by importKT-27643First import of Android project miss skips some dependencies in IDEA 183
IDE. Multiplatform
KT-27356Usekotlin-stdlibinstead ofkotlin-stdlib-jdk8in Android-related MPP templates
IDE. Scratch
KT-24180Add key shortcut and action for running a kotlin scratch file (green arrow button in the editor tool-buttons)
JavaScript
KT-26320JS: forEach + firstOrNull + when combination does not compile correctlyKT-26787Incorrect JS code translation:whenstatement insideforloop breaks out of the loop
Libraries
KT-27508Rename Random companion object to Default
Tools. Gradle
KT-26758Unify Gradle DSL for compiler flags in new multiplatform modelKT-26840Support -Xuse-experimental in the new MPP language settings DSLKT-27278New MPP plugin is binary-incompatible with Gradle 5.0KT-27499In new MPP, support compiler plugins (subplugins) options import into the IDE for each source set
Tools. JPS
KT-27044JPS rebuilds twice when dependency is updated
Tools. kapt
KT-27119kapt: val without explicit type that is assigned an object expression implementing a generic interface breaks compilation
1.3-RC3
Compiler
KT-26300Smartcasts don't work if pass same fields of instances of the same class in contract function with conjunction not-null conditionKT-27221Incorrect smart cast for sealed classes with a multilevel hierarchy
IDE
KT-27163Replace coroutine migration dialog with notificationKT-27200New MPP wizard: mobile libraryKT-27201MPP library wizards: provide maven publishingKT-27214Android test source directories are not recognised in IDEKT-27351Better fix for coroutines outdated versions in Gradle and Maven
IDE. Android
KT-27331Missing dependencies in Android project depending on MPP project
IDE. Inspections and Intentions
KT-27164Create a quick fix for replacing obsolete coroutines in the whole project
IDE. Multiplatform
KT-27029Multiplatform project is unloaded if Gradle refresh/reimport is failed
Libraries
KT-22869Improve docs of assertFailsWith function
Tools. CLI
KT-27218From @ not all whitespace characters are parsed correctly
Tools. Compiler Plugins
KT-27166Disable kotlinx.serialization plugin in IDE by default
1.3-RC2
Android
KT-27006Android extensions are not recognised by IDE in multiplatform projectsKT-27008Compiler plugins are not working in multiplatform projects with Android target
Compiler
KT-24415Remove bridge flag from default methodsKT-24510Coroutines make Android's D8 angryKT-25545Import statement of@Experimentalelement causes compiler warning/error, but annotation can't be used to avoid itKT-26382Wrong smartcast if used safe call + returnsNull effectKT-26640Check inference behaviour for coroutines that it's possible to improve it in compatible wayKT-26804Make sure @PublishedAPI is retained in binary representation of a primary constructor of an inline classKT-27079Allow using extensions without opt-in in builder-inference if they add only trivial constraintsKT-27084smart cast to non-nullable regression from 1.2.70 to 1.3.0-rc-57KT-27117IllegalAccessError when using private Companion field inside inline lambdaKT-27121Illegal field modifiers in class for a field of an interface companionKT-27161Getting "Backend Internal error: Descriptor can be left only if it is last" using new when syntax
IDE
New Features
KT-26313Support ResolveScopeEnlarger in Kotlin IDEKT-26786MPP builders: create not only build.gradle but some example files also
Fixes
KT-13948IDE plugins: improve descriptionKT-14981IDE should accept only its variant of plugin, as possibleKT-23864Copyright message is duplicated in kotlin file in root package after updating copyrightKT-24907please remove usages of com.intellij.openapi.vfs.StandardFileSystems#getJarRootForLocalFile deprecated long agoKT-25449Mark classes loaded by custom class loader with @DynamicallyLoaded annotation for the sake of better static analysisKT-25463API version in Kotlin facets isn't automatically set to 1.3 when importing a project in GradleKT-25952New Project Wizard: generate MPP in a new wayKT-26501Fix "IDEA internal actions" group text to "Kotlin internal actions"KT-26695IDEA takes 1.3-M2-release plugin as more recent than any 1.3.0-dev-nnn or 1.3.0-rc-nnn pluginKT-26763Compiler options are not imported into Kotlin facet for a Native moduleKT-26774Create IDE setting for experimental inline classesKT-26889Don't show migration dialog if no actual migrations are availableKT-26933No jre -> jdk fix in Gradle file if version isn't written explicitlyKT-26937MPP: Gradle import: addingtargetdefinition after importing itssourceSetdoes not correct the module SDKKT-26953New MPP project wrong formattingKT-27021Wrong JVM target if no Kotlin facet is specifiedKT-27100Version migration dialog is not shown in Studio 3.3KT-27145Gradle import: JVM modules gets no JDK in dependenciesKT-27177MPP wizards: use Gradle 4.7 onlyKT-27193Gradle import: with Kotlin configured Android module gets non-Android JDK
IDE. Code Style, Formatting
KT-27027Formatter puts when subject variable on a new line
IDE. Completion
KT-25313Autocomplete generates incorrect code on fields overriding byexpectedclass
IDE. Hints
KT-26057(arguably) redundant hint shown for enum value when qualified with enum class
IDE. Inspections and Intentions
KT-14929Deprecated ReplaceWith for type aliasesKT-25251Create intention for migration coroutines from experimental to released stateKT-26027False positive from "Nested lambda has shadowed implicit parameter" inspection for SAM conversionKT-26268Inspection "Nested lambda has shadowed implicit parameter" should only warn if parameter is usedKT-26775Create quick fix that enable or disable experimental inline classes in projectKT-26991ReplaceWith for object doesn't work anymore
IDE. Multiplatform
KT-24060mainfunction in common part of MPP project: allow user to choose between platform modules to run it fromKT-26647Warn user about incompatible/ignored Native targets on Gradle build of a project with the new multiplatform modelKT-26690IDE significantly slows down having Native target in a multiplatform projectKT-26872MPP: JS: Node.js run configuration is created with not existing JavaScript fileKT-26942MPP IDE: JS test configuration removes gutter actions from common moduleKT-27010New mpp: missing run gutters in common code when relevant platform roots do not existKT-27133IDE requiresactualimplementations to be also present in test source setsKT-27172ISE: "The provided plugin org.jetbrains.kotlin.android.synthetic.AndroidComponentRegistrar is not compatible with this version of compiler" on build of a multiplatform project with iOS and Android
IDE. Navigation
KT-25055Android modules are named same as JVM ones inactualgutter tooltipKT-26004IDE: Unable to navigate to common library declaration from platform code (not necessarily in an MPP project)
IDE. Tests Support
KT-23884Running common module test in IDE results in "no JDK specified" errorKT-23911Cannot jump to source from common test function in Run tool window
Libraries
Reflection
KT-24170Instance parameter of inherited declaration should have the type of subclass, not the base class
Tools. Compiler Plugins
KT-24444Do not store proxy objects from Gradle importer in the project model
Tools. Gradle
KT-25200Report a warning when building multiplatform code in GradleKT-26390Implement source JARs building and publishing in new MPPKT-26771New Native MPP Gradle plugin creates publications only for host systemKT-26834Gradle compilation of multimodule project fails with Could not resolve all files for configuration ':example-v8:apiDependenciesMetadata'KT-27111org.jetbrains.kotlin.platform.typeis not set for some Gradle configurations in multiplatform pluginKT-27196Support Kotlin/JS DCE in new MPP
Tools. Scripts
KT-26828main-kts test fails with "Error processing script definition class"KT-27015Scripting sample from 1.3 RC blogpost does not workKT-270501.3-RC Scripting @file:Repository and @file:DependsOn annotations are not repeatable
1.3-RC
Compiler
New Features
KT-17679Support suspend fun main in JVMKT-24854Support suspend function types for arities bigger than 22KT-26574Support main entry-point without arguments in frontend, IDE and JVM
Performance Improvements
KT-26490Change boxing technique: instead of callingvalueOf, allocate new wrapper type
Fixes
KT-22069Array class literals are always loaded asArray<*>from deserialized annotationsKT-22892Call ofinvokefunction with lambda parameter on a field namedsuspendshould be reportedKT-24708Incorrect WhenMappings code generated in case of mixed enum classes in when conditionsKT-24853Forbid KSuspendFunctionN and SuspendFunctionN to be used as supertypesKT-24866Review support of all operators for suspend function and forbid all unsupportedKT-25461Mangle names of functions that have top-level inline class types in their signatures to allow non-trivial non-public constructorsKT-25855Load Java declarations which reference kotlin.jvm.functions.FunctionN as Deprecated with level ERRORKT-26071Postpone conversions from signed constant literals to unsigned onesKT-26141actual typealias for expect sealed class results in error "This type is sealed, so it can be inherited by only its own nested classes or objects"KT-26200Forbid suspend functions annotated with @kotlin.test.TestKT-26219Result of unsigned predecrement/preincrement is not boxed as expectedKT-26223Inline lambda arguments of inline class types are passed incorrectlyKT-26291Boxed/primitive types clash when overriding Kotlin from Java with common generic supertype with inline class type argumentKT-26403Add-implsuffix tobox/unboxmethods and make them syntheticKT-26404Mangling: setters for properties of inline class typesKT-26409implies in CallsInPlace effect isn't supportedKT-26437Generate constructors containing inline classes as parameter types as private with synthetic accessorsKT-26449Prohibit equals-like and hashCode-like declarations inside inline classesKT-26451Generate static methods with equals/hashCode implementationsKT-26452Get rid of $Erased nested class in ABI of inline classesKT-26453Generate all static methods in inline classes with “-impl” suffixKT-26454Prohibit @JvmName on functions that are assumed to be mangledKT-26468Inline class ABI: Constructor invocation is not represented in bytecodeKT-26480Report error from compiler when suspension point is located between corresponding MONITORENTER/MONITOREXITKT-26538Prepare kotlin.Result to publication in 1.3KT-26558Inline Classes: IllegalStateException when invoking secondary constructor for a primitive underlying typeKT-26570Inline classes ABIKT-26573Reserve box, unbox, equals and hashCode methods inside inline class for future releasesKT-26575Reserve bodies of secondary constructors for inline classesKT-26576Generate stubs for box/unbox/equals/hashCode inside inline classesKT-26580Add version to kotlin.coroutines.jvm.internal.DebugMetadataKT-26659Prohibit using kotlin.Result as a return type and with special operatorsKT-26687Stdlib contracts have no effect in common codeKT-26707companion val of primitive type is not treated as compile time constantKT-26720Write language version requirement on inline classes and on declarations that use inline classesKT-26859Inline class misses unboxing when using indexer into an ArrayListKT-26936Report warning instead of error on usages of Experimental/UseExperimentalKT-26958Introduce builder-inference with an explicit opt-in for it
IDE
New Features
KT-26525"Move Element Right/Left": Support type parameters inwhereclause (multiple type constraints)
Fixes
KT-22491MPP new project/new module templates are not convenientKT-26428Kotlin Migration in AS32 / AS33 fails to complete after "Indexing paused due to batch update" eventKT-26484Do not show-Xmulti-platformoption in facets for common modules of multiplatform projects with the new modelKT-26584@Language prefix and suffix are ignored for function argumentsKT-26679Coroutine migrator should rename buildSequence/buildIterator to their new namesKT-26732Kotlin language version from IDEA settings is not taken into account when working with Java codeKT-26770Android module in a multiplatform project isn't recognised as a multiplatform moduleKT-26794Bad version detection during migration in Android Studio 3.2KT-26823Fix deadlock in databinding with AndroidX which led to Android Studio hangingKT-26827ISE “Error type encountered: [ERROR : UInt] (UnresolvedType)” for data inline class wrapped unsigned typeKT-26829ISE “Error type encountered: [ERROR : UInt] (UnresolvedType)” for using as a field inline class wrapped unsigned typeKT-26843LazyLightClassMemberMatchingError$NoMatch: Couldn't match ClsMethodImpl:getX MemberIndex(index=1) (with 0 parameters)on inline class overriding inherited interface method defined in different filesKT-26895Exception while building light class for @Serializable annotated class
IDE. Android
KT-26169Android extensions are not recognised by IDE in multiplatform projectsKT-26813Multiplatform projects without Android target are not imported properly into Android Studio
IDE. Code Style, Formatting
KT-22322Incorrect indent after pressing Enter after annotation entryKT-26377Formatter does not add blank line between annotation and type alias (or secondary constructor)
IDE. Decompiler
KT-25853IDEA hangs when Kotlin bytecode tool window open while editing a class with secondary constructor
IDE. Gradle
KT-26634Do not generate module for metadataMain compilation on new MPP importKT-26675Gradle: Dependency on multiple files gets duplicated on import
IDE. Inspections and Intentions
New Features
KT-17687Quickfix for "Interface doesn't have constructors" to convert to anonymous objectKT-24728Add quickfix to remove single explicit & unused lambda parameterKT-25533An intention to createactualimplementations forexpectmembers annotated with @OptionalExpectationKT-25621Inspections for functions returning SuccessOrFailureKT-25969Add an inspection for 'flatMap { it }'KT-26230Inspection: replace safe cast (as?) withif(instance check + early return)
Fixes
KT-13343Remove explicit type specification breaks code if initializer omits genericsKT-19586Create actual implementation does nothing when platform module has no source directories.KT-22361Multiplatform: "Generate equals() and hashCode()" intention generates JVM specific code for arrays in common moduleKT-22552SimplifiableCallChain should keep formatting and commentsKT-24129Multiplatform quick fix add implementation suggests generated source locationKT-24405False "redundant overriding method" for abstract / default interface method combinationKT-24978Do not highlight foldable if-then for is checksKT-25228"Create function" from a protected inline method should not produce a private methodKT-25525@Experimental-related quick fixes are not suggested for usages in top-level propertyKT-25526@Experimental-related quick fixes are not suggested for usages in type aliasKT-25548@ExperimentalAPI usage: "Add annotation" quick fix incorrectly modifies primary constructorKT-25609"Unused symbol" inspection reports annotation used only in-Xexperimental/-Xuse-experimentalsettingsKT-25711"Deferred result is never used" inspection: removeexperimentalpackage (or whole FQN) from descriptionKT-25712"Redundant 'async' call" inspection quick fix action label looks too longKT-25883False "redundant override" reported on boxed parametersKT-25886False positive "Replace 'if' with elvis operator" for nullable typeKT-25968False positive "Remove redundant backticks" with keywordyieldKT-26009"Convert to 'also'" intention adds an extraitexpressionKT-26015Intention to move property to constructor adds @field: qualifier to annotationsKT-26179False negative "Boolean expression that can be simplified" for!trueKT-26181Inspection for unused Deferred result: report for all functions by defaultKT-26185False positive "redundant semicolon" with if-elseKT-26187"Cascade if can be replaced with when" loses lambda curly bracesKT-26289Redundant let with call expression: don't report for long call chainsKT-26306"Add annotation target" quick fix adds EXPRESSION annotation, but not SOURCE retentionKT-26343"Replace 'if' expression with elvis expression" produces wrong code in extension function with not null type parameterKT-26353"Make variable immutable" is a bad name for a quickfix that changes 'var' to 'val'KT-26472"Maven dependency is incompatible with Kotlin 1.3+ and should be updated" inspection is not included into Kotlin MigrationKT-26492"Make private" on annotated annotation produces nasty new lineKT-26599"Foldable if-then" inspection marks if statements that cannot be folded using ?. operatorKT-26674Move lambda out of parentheses is not proposed for suspend lambdaKT-26676ReplaceWith always puts suspend lambda in parenthesesKT-26810"Incompatible kotlinx.coroutines dependency" inspections report library built for 1.3-RC with 1.3-RC plugin
IDE. Multiplatform
KT-20368Unresolved reference to declarations from kotlin.reflect in common code in multi-platform project: no "Add import" quick-fixKT-26356New MPP doesn't work with Android projectsKT-26369Library dependencies don't transitively pass for custom source sets at new MPP import to IDEKT-26414Remove old multiplatform modules templates from New Project/New Module wizardKT-26517Create actual ...generates default constructor parameter valuesKT-26585Stdlib annotations annotated with @OptionalExpectation are reported with false positive error in common module
IDE. Navigation
KT-18490Multiplatform project: Set text cursor correctly to file with header on navigation from impl side
IDE. Refactorings
KT-17124Change signature refactoring dialog unescapes escaped parameter namesKT-25454Extract function: make default visibility privateKT-26533Move refactoring on interface shows it as "abstract interface" in the dialog
IDE. Tests Support
KT-26793Left gutter run icon does not appear for JS tests in old MPP
IDE. Ultimate
KT-19309Spring JPA Repository IntelliJ tooling with Kotlin
JavaScript
KT-26466Uncaught ReferenceError: println is not definedKT-26572Support suspend fun main in JSKT-26628Support main entry-point without arguments in JS
Libraries
New Features
KT-25039Any?.hashCode() extensionKT-26359Use JvmName on parameters of kotlin.Metadata to improve the public APIKT-26398Coroutine context shall perform structural equality comparison on keysKT-26598Introduce ConcurrentModificationException actual typealias in the JVM library
Performance Improvements
KT-18483Check to contains value in range can be dramatically slow
Fixes
KT-17716JS: Some kotlin.js.Math methods break Integer type safetyKT-21703Review deprecations in stdlib for 1.3KT-21784Deprecate and remove org.jetbrains.annotations from kotlin-stdlib in compiler distributionKT-22423Deprecate mixed integer/floating point overloads of ClosedRange.contains operatorKT-25217Raise deprecation level for mod operators to ERRORKT-25935Move kotlin.reflect interfaces to kotlin-stdlib-commonKT-26358Rebuild anko for new coroutines APIKT-26388Specialize contentDeepEquals/HashCode/ToString for arrays of unsigned typesKT-26523EXACTLY_ONCE contract in runCatching doesn't consider lambda exceptions are caughtKT-26591Add primitive boxing functions to stdlibKT-26594Change signed-to-unsigned widening conversions to sign extendingKT-26595Deprecate common 'synchronized(Any) { }' functionKT-26596Rename Random.nextInt/Long/Double parametersKT-26678Rename buildSequence/buildIterator to sequence/iteratorKT-26929Kotlin Reflect and Proguard: can’t find referenced class kotlin.annotations.jvm.ReadOnly/Mutable
Reflection
KT-25499Use-site targeted annotations on property accessors are not visible in Kotlin reflection if there's also an annotation on the propertyKT-25500Annotations on parameter setter are not visible through reflectionKT-25664Inline classes don't work properly with reflectionKT-26293Incorrect javaType for suspend function's returnType
Tools. CLI
KT-24613Support argfiles in kotlinc with "@argfile"KT-25862Release '-Xprogressive' as '-progressive'KT-26122Support single quotation marks in argfiles
Tools. Gradle
KT-25680Gradle plugin: version with non-experimental coroutines and no related settings still runs compiler with-XcoroutinesoptionKT-26253New MPP model shouldn't generatemetadataMainandmetadataTestsource sets on IDE importKT-26383Common modules dependencies are not mapped at import of a composite multiplatform project with project dependencies into IDEKT-26515Support -Xcommon-sources in new MPPKT-26641In new MPP, Gradle task for building classes has a name unexpected for GradleProjectTaskRunnerKT-26784Support non-kts scripts discovery and compilation in gradle
Tools. JPS
KT-26072MPP compilation issueKT-26254JPS build for new MPP model doesn't work: kotlinFacet?.settings?.sourceSetNames is empty
Tools. kapt
KT-25374Kapt: Build fails with Unresolved local classKT-26540kapt3 fails to handle to-be-generated superclasses
1.3-M2
Compiler
New Features
KT-6592Support local variable initialization in lambda arguments to some functionsKT-19323Allow generic type parameter to have mixed constraints for @InlineOnly functionsKT-24857Support compatibility wrappers for coroutines in compilerKT-25320Support limited conversions for constants to simplify interop for Kotlin/NativeKT-25372Support JvmName on annotation property gettersKT-25495Release contract DSL as experimentalKT-25557Metadata that maps coroutine label to the file name and line numberKT-25559Metadata that maps coroutine spilled state to local variablesKT-25655Safe or non-null calls required on x following check(x != null)KT-25972Support reading binary metadata of the next major release
Performance Improvements
KT-24657Compiler performance issues with big filesKT-26243Avoid redundant "specialized" method for suspend lambdas.
Fixes
KT-19628Unresolved reference not reported on data class constructor@getannotationKT-20830Nulls can propagate through "enhanced nullability" types on module boundariesKT-21240Remove suspendCoroutineOrReturn intrinsic from compilerKT-22379Condition of while-loop with break can produce unsound smartcastKT-23438Back-end (JVM) Internal error: Failed to generate function suspendCoroutineOrReturnKT-23819Inline classes: mapping of fully generic classesKT-23857Annotation with target TYPE is not applicable to TYPE_USE in Java sourcesKT-24717Allow number literals to be used as unsigned ones with unsigned expected typedKT-24860Forbid usage function expression as suspend function expressionKT-24872Do not generate user-defined methods inside box class of inline classKT-24873Generate equals/hashCode/toString methods for inline classes same as for data classesKT-25246Incorrect bytecode generated for secondary constructor in inline class + primitive arrayKT-25278No smart cast for "returns() implies" contract when default argument is omittedKT-25287Getter-targeted annotations on annotation constructor parameters are lostKT-25293“Couldn't transform method node” error on compiling inline class with hashCode() method call when underlying value type is basic (number, char, boolean)KT-25299NoSuchMethodError Foo$Erased.hashCode(Ljava/lang/Object;) for hashCode(), toString() and equals() methods in inline classesKT-25328“Couldn't transform method node” error on compiling inline class which is wrapping Unit typeKT-25330CCE “[Ljava.lang.Integer; cannot be cast to Foo” for inline class which is wrapping ArrayKT-25521Coroutines state machine in Kotlin 1.3 should not have getLabel/setLabelKT-25558Stabilize field naming and mangling for suspending lambda classesKT-25580No warning about experimental API when unsigned types are inferredKT-25599“Exception during code generation” on compiling code with public constructor of unsigned numbers arrayKT-25614Support secondary constructors for inline classesKT-25683Compiler support for calling experimental suspend functions and function with experimental suspend function type as parameterKT-25688Add $continuation to LVTKT-25750CCE “Foo cannot be cast to java.lang.String” with inline classKT-25760Inline data class throws java.lang.VerifyError when trying toString() itKT-25794Incorrect code generated for accessing elements of Array where C is inline classKT-25824Move SuspendFunctionN fictitious interfaces to kotlin.coroutines packageKT-25825Allow to distinguish instances of function types from instances of suspend function types via kotlin.coroutines.jvm.internal.SuspendFunction marker interfaceKT-25912Calling groupingBy+reduce from suspend function causes IncompatibleClassChangeErrorKT-25914'==' for inline class with custom 'equals' uses underlying primitive type comparison insteadKT-25973Report metadata version mismatch upon discovering a .kotlin_module file in the dependencies with an incompatible metadata versionKT-25981Incorrect code generated for unboxed to boxed inline class equalityKT-25983Inline class equality uses IEEE 754 instead of total orderKT-26029Prohibit delegated properties inside inline classesKT-26030Prohibit implementation by delegation for inline classesKT-26052Inline Classes: IllegalArgumentException when underlying type is non-null but declared type is nullableKT-26101Prohibit inline classes with recursive underlying typesKT-26103Inline class with type parameters is inconsistently mapped to JVM type if underlying type is a primitiveKT-26120Inline Classes: Class inheritance is allowed but fails when referencing a superclass member
IDE
KT-25316PARTIAL resolve mode doesn't work when effects system is enabledKT-25611With Language / API version = "Latest stable" installing 1.3-M1 plugin upgrades actual values to 1.3KT-25681Remove "Coroutines (experimental)" settings from IDE and do not pass-Xcoroutinesto JPS compiler (since 1.3)KT-25714Kotlin plugin updater suggests plugins incompatible with current Studio build platformKT-26239New MPP template: addkotlin-testlibraries to the modules dependencies by defaultKT-26290Gradle Import: When all modules have the same language/API version use it for project-level settings as well
IDE. Completion
KT-25275Code completion does not take into account smart casts gotten from "returns implies" contract
IDE. Inspections and Intentions
KT-22330"Add remaining branch" quickfix doesn't properly import enum classKT-22354"Add remaining branches with import" quick fix causes KNPE at ImportAllMembersIntention$Companion.importReceiverMembers()KT-26158KNPE in "Create local variable"
IDE. Multiplatform
KT-26217"org.jetbrains.kotlin.resolve.MultiTargetPlatform$Common cannot be cast to org.jetbrains.kotlin.resolve.MultiTargetPlatform$Specific" on splitted actuals
IDE. Script
KT-25814IDE scripting console -> kotlin (JSR-223) - compilation errors - unresolved IDEA classesKT-25822jvmTarget from the script compiler options is ignored in the IDE
JavaScript
KT-22053JS: Secondary constructor of Throwable inheritor doesn't call to primary oneKT-25014Support 'when' with subject variable in JS back-endKT-26064JS inliner calls wrong constructor in incremental buildKT-26117JS runtime error: ArrayList_init instead of ArrayList_init_0KT-26138JS: prohibit external inline classKT-26171Prohibit inline classes as parameter and return type of external declaration
Language design
KT-7566Annotate kotlin.test.Test.assertNotNull() so that safe dereference isn't required after itKT-14397Make "smart cast" to non-null string working after isNullOrEmpty() check.KT-19532Evaluation order for constructor callKT-22274Restrict statement labels applicability
Libraries
New Features
KT-13814keys.associateWith { k -> v } functionKT-15539Random Convenience Method in Ranges (LongRange, IntRange, etc)KT-15695String/Collection/Map/Array/Sequence.ifEmpty { null }KT-18986Debug-friendly toString implementation for CoroutineImplKT-25570Random extensions to generate unsigned random numbersKT-25659Consider adding SuccessOrFailure.getOrDefault functionKT-25874Support array copying between two existing arraysKT-25875Need more access to raw underlying array in unsigned arraysKT-25962Add contract for 'synchronized'KT-26339Introduce CoroutineStackFrame interface for coroutine stack reconstruction in debugger
Fixes
KT-16097Index overflow when sequence has more than Int.MAX_VALUE elementsKT-17176Long/Int progressions with Long.MIN_VALUE and Int.MIN_VALUE step are weirdKT-19305IOStreams#readBytes is badly namedKT-19489Array.copyOfRange returns value violating declared type when bounds are out of rangeKT-21049Different behavior in split by regex at JVM and JSKT-23799Discontinue deprecated artifacts distribution: kotlin-runtime, kotlin-jslib, kotlin-stdlib-jre7/8KT-25274contract() function has internal visibilityKT-25303checkNotNull(T?) has no contract in contrast to checkNotNull(T?, () -> Any)KT-25771SuccessOrFailure.isFailure always returns false when boxedKT-25961Provide a way to create default-initialized 'U*Array'KT-26161String-to-number and number-to-string conversions for unsigned integers
Reflection
KT-14657Reflection: Provide ability to enumerate all cases of a sealed classKT-16795KType does not implement KAnnotatedElementKT-21972Reflection: Implement suspend functionsKCallable.callSuspend,callSuspendBy, andisSuspend
Tools. CLI
KT-25823Report a warning or error if an old language version or API version is used
Tools. Gradle
KT-26301In new MPP, a project with nojavaorjava-baseplugin applied cannot depend on a published MPP lib or run tests
Tools. Scripts
KT-26142update maven-central remote repository url
1.3-M1 IDE plugins update
IDE
- Kotlin plugin for Android Studio 3.3 Canary 4 is ready
KT-25713Android Studio on 182 platform: Gradle project re-import failsKT-25733"Convert Java File to Kotlin File" action was always disabled
1.3-M1
Language design
KEEP-104Inline classesKEEP-135Unsigned integer typesKEEP-95Experimental API annotationsKT-4895Support assignment of "when" subject to a variableKT-13762Prohibit annotations with target 'EXPRESSION' and retention 'BINARY' or 'RUNTIME'KT-16681kotlin allows mutating the field of read-only propertyKT-21515Restrict visibility of classifiers, nested in companion objects
Compiler
KT-24848Refine loading Java overrides of Kotlin suspend functionsKT-9580Report an error if 'setparam' target does not make sense for a parameter declarationKT-16310Nested classes inside enum entries capturing outer membersKT-17981Type parameter for catch parameter possible when exception is nested in generic, but fails in runtimeKT-21354Inconsistent behavior of 'for-in-range' loop if range is an array variable modified in loop bodyKT-25333Restrict visibility of Java static members from supertypes of companion objectKT-25623Do not load experimental coroutines as non-suspend function with additional Continuation parameter
Backend. JVM
KT-6301Support JvmStatic annotation on interface companion object membersKT-25508Inject probeCoroutineSuspended to coroutines bodyKT-18987Unroll recursion in CoroutineImpl.resumeKT-11567Companion object INSTANCE field more visible than companion object class itselfKT-13764Support lambdas and function references for arities bigger than 22KT-16615Do not generate ConstantValue attribute for non-const valsKT-25193Names of parameters from Java interface methods implemented by delegation are lostKT-25324VerifyError “Bad type on operand stack” on running code with call of array iterator for array of inline classesKT-25325CCE “Foo cannot be cast to java.lang.String” for iterating over the list of inline classesKT-25626Inline class values inside string literals don't use their own toString implementation
Backend. JVM. Coroutines
KT-20219Inline suspend function can't be used as non-inline functionKT-24863Support new Continuation API in JVM BEKT-24864Create new CoroutineImpl and other internal coroutines interfaces
Backend. JVM. Inline
KT-25511Inline classes fail with cross-inline functions
Binary Metadata
KT-24617Optional expected annotation is unresolved in a dependent platform moduleKT-25120RequireKotlin on nested class and its members is not loaded correctlyKT-25273java.lang.UnsupportedOperationException from incremental JS compilationKT-25310Write isUnsigned flag into metadata for unsigned types
Frontend
KT-15807@JvmField is not applicable to interface companion propertiesKT-16962Annotation classes cannot contain types or static fields because they cannot have a bodyKT-23153Compiler allows to set non constant value as annotation parameterKT-23362Move coroutines to package kolin.coroutines for 1.3KT-24861Fix loading kotlin.suspend compiled with LV=1.2 when release coroutines package is usedKT-25241Kotlin compiler doesn't warn about usage of lambda/reference with more than 22 parametersKT-25600NSEE “Collection is empty” after trying to call default constructor of unsigned number class
Frontend. Data-flow analysis
KT-22517Deprecate smartcasts for local delegated properties
Frontend. Declarations
KT-19618Data classcopy()call with optional parameters leads to broken code when the class implements an interface withcopy()KT-23277Prohibit local annotation classesKT-24197Make 'mod' operator error in 1.3
Frontend. Lexer & Parser
KT-24663Add 'UL' suffix to represent number literals of unsigned Long type
Frontend. Resolution and Inference
KT-16908Support callable references to suspending functionsKT-20588Report error on single element assignment to varargs in named form in annotationsKT-20589Report error on single element assignment to varargs in named form in functionsKT-24859Disallow calls of functions annotated with receiver annotated with @RestrictsSuspension in foreign suspension context
IDE
KT-25466Make coroutines resolve to be independent of language and API versions set inKotlin Compilersettings
IDE. Inspections and Intentions
KT-24243Support quick fix to enable usages of Experimental/UseExperimentalKT-11154Spell checking inspection is not suppressableKT-25169Impossible to suppress UAST/JVM inspections
IDE. Libraries
KT-25129Idea freezes when Kotlin plugin tries to determine if jar is js lib in jvm module
Libraries
New Features
KEEP-131,KT-17261Add random number generator to stdlib and related collection extension functionsKT-7922Companion object for BooleanKT-8247Byte size for primitivesKT-16552Add Sequence.orEmpty()KT-18559Make SafeContinuation and context impl classes serializableKT-18910StringBuilder#setLength(0) in non-JVM KotlinKT-21763Provide Char MIN_VALUE/MAX_VALUE constantsKT-23279isNullOrEmpty() for collections, maps, and arraysKT-23602Make kotlin.Metadata public
Fixes
KT-23564KotlinJS: Math is deprecated yet random is not a global functionKT-24856Create compatibility wrappers for migration from 1.2 to 1.3 coroutinesKT-24862Create new Continuation API for coroutines
Reflection
KT-25541Incorrect parameter names in reflection for inner class constructor from Java class compiled with "-parameters"