mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 08:31:29 +00:00
181 KiB
181 KiB
Changelog 1.2.X
1.2.71
Compiler
KT-26806Defining constants using kotlin.math is broken in 1.2.70
IDE
KT-26399Kotlin Migration: NPE at KotlinMigrationProjectComponent$onImportFinished$1.run()KT-26794Bad version detection during migration in Android Studio 3.2KT-26823Fix deadlock in databinding with AndroidX which led to Android Studio hangingKT-26889Don't show migration dialog if no actual migrations are availableKT-25177Report asDynamic on dynamic type as a warningKT-25454Extract function: make default visibility private
JavaScript
KT-26466Uncaught ReferenceError: println is not defined
Tools. Gradle
KT-26208inspectClassesForKotlinIC slows down continuous mode in Gradle
Libraries
KT-26929Kotlin Reflect and Proguard: can’t find referenced class kotlin.annotations.jvm.ReadOnly/Mutable
1.2.70
Compiler
KT-13860Avoid creating KtImportDirective PSI elements for default imports in LazyImportScopeKT-22201Generate nullability annotations for data class toString and equals methods.KT-23870SAM adapter method returns null-values for "genericParameterTypes"KT-24597IDE doesn't report missing constructor on inheritance of an expected class in common moduleKT-25120RequireKotlin on nested class and its members is not loaded correctlyKT-25193Names of parameters from Java interface methods implemented by delegation are lostKT-25405Mismatching descriptor type parameters on inner typesKT-25604Disable callable references to exprerimental suspend functionsKT-25665Add a warning for annotations which target non-existent accessorsKT-25894Do not generate body for functions from Any in light class builder modeKT-20772Incorrect smart cast on enum membersKT-24657Compiler performance issues with big filesKT-25745Do not report warning about annotations on non-existing accessors for JvmStatic propertiesKT-25746Improve message for warning about annotations that have target to non-existing accessorsKT-25810New Inference: Overload resolution ambiguity on method 'provideDelegate(Nothing?, KProperty<*>)' when there's more than oneprovideDelegateoperator in scopeKT-25973Report metadata version mismatch upon discovering a .kotlin_module file in the dependencies with an incompatible metadata versionKT-22281JVM: Incorrect comparison of Double and Float when types are derived from smart-castsKT-22649Compiler: wrong code generated / Couldn't transform method node - using inline extension property inside lambda
IDE
KT-18301kotlin needs crazy amount of memoryKT-23668Methods with internal visibility have different mangling names in IDE and in compilerKT-24892please remove usages of com.intellij.util.containers.ConcurrentFactoryMap#ConcurrentFactoryMap deprecated long agoKT-25144Quick fix “Change signature” changes class of argument when applied for descendant classes with enabled -Xnew-inference optionKT-25356Update Gradle Kotlin-DSL icon according to new IDEA 2018.2 icons styleKT-20056TCE on creating object of an anonymous class in Kotlin scriptKT-25092SourcePsi should be physical leaf element but got OPERATION_REFERENCEKT-25249Uast operates "Unit" type instead of "void"KT-25255Preferences | Languages & Frameworks | Kotlin Updates: show currently installed versionKT-25297Inconsistency inKotlinULambdaExpressionandKotlinLocalFunctionULambdaExpressionKT-25515Add/remove analysis-related compiler setting does not update IDE project model immediatelyKT-25524UAST: proper resolve for function variable callKT-25640"Configure Kotlin" action changes values of language and API version in project settings
IDE. Debugger
KT-25147Conditional breakpoints doesn't work incommoncode of MPPKT-25152MPP debug doesn't navigate tocommoncode if there are same named files incommonandplatformparts
IDE. Gradle
KT-22732TestNG runner is always used for TestNG tests even when Use Gradle runner is selectedKT-25913Honor 'store generated project files externally option' for Kotlin facets imported from GradleKT-25955Support expect/actual in new MPP imported into IDEA
IDE. Inspections and Intentions
New Features
KT-6633Inspection to detect unnecessary "with" callsKT-25146Add quick-fix for default parameter value removalKT-7675Create inspection to replace if with letKT-13515Add intention to replace '?.let' with null checkKT-13854Need intention actions: to convert property with getter to initializerKT-15476Inspection to convert non-lazy chains of collection functions into sequencesKT-22068Force usage of “it” in .forEach{} callsKT-23445Inspection and quickfix to replaceassertTrue(a == b)withassertEquals(a, b)KT-25270"return@foo" outside of lambda should have quickfix to remove "@foo" label
Fixes
KT-11154Spell checking inspection is not suppressableKT-18681"Replace 'if' with 'when'" generates unnecessary else blockKT-24001"Suspicious combination of == and ===" false positiveKT-24385Convert lambda to reference refactor produces red code with companion objectKT-24694Move lambda out of parentheses should not be applied for multiple functional parametersKT-25089False-positive "Call chain on collection type can be simplified" formapandjoinToStringon aHashMapKT-25169Impossible to suppress UAST/JVM inspectionsKT-25321Safe delete of a class property implementing constructor parameter at the platform side doesn't remove all the related declarationsKT-25539Make class openquick fix doesn't update all the related implementations of a multiplatform classKT-25608Confusing "Redundant override" inspection messageKT-16422Replace lambda with method reference inspections failsKT-21999Convert lambda to reference adds this with incorrect labelKT-23467False positivesuspicious callable referenceon scoping function called on another lambdaKT-25044"Implement member" quick-fix should not generate 'actual' modifier with expect declaration in interface onlyKT-25579Redundant semicolon erroneously reported during local var modifier ambiguityKT-25633“Add kotlin-XXX.jar to the classpath” quick fix adds dependency with invalid version in Gradle-based projectsKT-25739"Convert to run" / "Convert to with" intentions incorrectly process references to Java static membersKT-25928"Let extend" quick fix is suggested in case of nullable/non-null TYPE_MISMATCH collisionKT-26042False positive "Remove redundant '.let' call" for lambda with destructured arguments
IDE. KDoc
KT-22815Update quick documentationKT-22648Quick Doc popup: break (long?) declarations into several lines
IDE. Libraries
KT-25129Idea freezes when Kotlin plugin tries to determine if jar is js lib in jvm module
IDE. Navigation
KT-25317Go to actual declarationkeyboard shortcut doesn't work forexpect object, showing "No implementations found" messageKT-25492Find usages: keepExpected functionsoption state while searching for usages of a regular functionKT-25498Find Usagesdoesn't showSupertypeusages ofactualdeclarations with constructor
IDE. Project View
KT-22823Text pasted into package is parsed as Kotlin before Java
IDE. Refactorings
KT-22072"Convert MutableMap.put to assignment" should not be applicable when put is used as expressionKT-23590Incorrect conflict warning "Internal function will not be accessible" when moving class from jvm to common moduleKT-23594Incorrect conflict warning about IllegalStateException when moving class from jvm to common moduleKT-23772MPP: Refactor / Rename class does not update name of file containing related expect/actual classKT-23914Safe search false positives during moves between common and actual modulesKT-25326Refactor/Safe Delete doesn't reportactual objectusagesKT-25438Refactor/Safe delete of a multiplatform companion object: usage is not reportedKT-25857Refactoring → Move moves whole file in case of moving class from Kotlin scriptKT-25858Refactoring → Move can be called only for class declarations in Kotlin script
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
IDE. Multiplatform
KT-23368IDE: Build: JPS errors are reported for valid non-multiplatform module depending on multiplatform one
IDE. Ultimate
KT-25595Rename Kotlin-specific "Protractor" run configuration to distinguish it from the one provided by NodeJS pluginKT-19309Spring JPA Repository IntelliJ tooling with Kotlin
IDE. Tests Support
KT-26228NoClassDefFoundError: org/jetbrains/kotlin/idea/run/KotlinTestNgConfigurationProducer on running a JUnit test with TestNG plugin disabled
Reflection
KT-25541Incorrect parameter names in reflection for inner class constructor from Java class compiled with "-parameters"
Tools. CLI
KT-21910Add-Xfriend-pathscompiler argument to support internal visibility checks in production/test sources from external build systemsKT-25554Do not report warnings when-XXLanguagewas used to turn on deprecationKT-25196Optional expected annotation is visible in platforms where it doesn't have actual
Tools. JPS
KT-25540JPS JS IC does not recompile usages from other modules when package is different
Tools. kapt
KT-25396KAPT Error: Unknown option: infoAsWarningsKT-26211Kotlin plugin 1.2.60+ breaks IDEA source/resource/test roots in a Maven project with Kapt
Tools. Gradle
KT-25025Inter-project IC for JS in GradleKT-25455Gradle IC: when class signature is changed its indirect subclasses in different module are not recompiled
Tools. JPS
KT-25998Build process starts compiling w/o any changes (on release version)KT-25977Can not run a Kotlin testKT-26072MPP compilation issueKT-26113Build takes around 20 seconds in already fully built IDEA project
Tools. Scripts
KT-26142update maven-central remote repository url
Tools. Incremental Compile
KT-26528ISE “To save disabled cache status [delete] should be called (this behavior is kept for compatibility)” on compiling project with enabled IC in Maven
JavaScript
KT-22053JS: Secondary constructor of Throwable inheritor doesn't call to primary oneKT-26064JS inliner calls wrong constructor in incremental buildKT-26117JS runtime error: ArrayList_init instead of ArrayList_init_0
Libraries
KT-18067KotlinJS - String.compareTo(other: String, ignoreCase: Boolean = false): IntKT-19507Using @JvmName from stdlib-common fails to compile in JS module.KT-19508Add @JsName to stdlib-common for controlling JS implementationKT-24478Annotate relevant standard library annotations with @OptionalExpectationKT-25980JvmSynthetic annotation has no description in the docs
1.2.60
Compiler
KT-13762Prohibit annotations with target 'EXPRESSION' and retention 'BINARY' or 'RUNTIME'KT-18882Allow code to have platform specific annotations when compiled for different platformsKT-20356Internal compiler error - This method shouldn't be invoked for INVISIBLE_FAKE visibilityKT-22517Deprecate smartcasts for local delegated propertiesKT-23153Compiler allows to set non constant value as annotation parameterKT-23413IndexOutOfBoundsException on local delegated properties fromprovideDelegateif there's at least one non-local delegated propertyKT-23742Optimise inline class redundant boxing on return from inlined lambdaKT-24513High memory usage in Kotlin and 2018.1KT-24617Optional expected annotation is unresolved in a dependent platform moduleKT-24679KotlinUCallExpression doesn't resolve callee if it is an inline methodKT-24808NI: nestedwithContextcall is reported withSuspension functions can be called only within coroutine bodyerrorKT-24825NoClassDefFoundError on SAM adapter in a nested call in inlined lambda since 1.2.40KT-24859Disallow calls of functions annotated with receiver annotated with @RestrictsSuspension in foreign suspension contextKT-24911Kotlin 1.2.50: UI for @RecentlyNonNull looks strange in the editorKT-25333Restrict visibility of Java static members from supertypes of companion object
IDE
Performance Improvements
KT-20924Slow KtLightAbstractAnnotation.getClsDelegate() lightAnnotations.ktKT-23844Kotlin property accessor searcher consumes CPU when invoked on a scope consisting only of Java files
Fixes
KT-4311"Override members" works wrong when function is extensionKT-13948IDE plugins: improve descriptionKT-15300"INFO - project.TargetPlatformDetector - Using default platform" flood in logKT-17350Implement members from interface fails when one of the generic types is unresolvedKT-17668Edit Configuration dialog doesn't have a button for choosing the "Main class" fieldKT-19102Wrong equals() and hashCode() code generated for arrays of arraysKT-20056TCE on creating object of an anonymous class in Kotlin scriptKT-21863Imported typealias to object declared as "Unused import directive" when only referring to methodsKT-23272Git commit not workingKT-23407Pasting callable reference from different package suggests imports, but inserts incompilable FQNKT-23456UAST: Enum constant constructor call arguments missing from Kotlin enumsKT-23942Fix building light-classes for MPP project containing multi-file facadesKT-24072Kotlin SDK appears as many times as there are modules in the projectKT-24412Kotlin create project wizard: Kotlin/JS no SDKKT-24933please remove usages of com.intellij.psi.search.searches.DirectClassInheritorsSearch#search(com.intellij.psi.PsiClass, com.intellij.psi.search.SearchScope, boolean, boolean) deprecated long agoKT-24943Project leak via LibraryEffectiveKindProviderImplKT-24979IndexNotReadyException in KtLightClassForSourceDeclaration#isInheritorKT-24958Escaping goes insane when editing interpolated string in injected fragment editorKT-25024Wrong resolve scope while resolving java.lang.String PsiClassReferenceTypeKT-25092SourcePsi should be physical leaf element but got OPERATION_REFERENCEKT-25242'Resolved to error element' highlighting is confusingly similar to an active live templateKT-25249Uast operates "Unit" type instead of "void"KT-25255Preferences | Languages & Frameworks | Kotlin Updates: show currently installed versionKT-25297Inconsistency inKotlinULambdaExpressionandKotlinLocalFunctionULambdaExpressionKT-25414Support checking eap-1.3 channel for updatesKT-25524UAST: proper resolve for function variable callKT-25546Create popup in 1.2.x plugin if user upgrade version in gradle or maven to kotlin 1.3
IDE. Android
KT-17946Android Studio: remove Gradle configurator on configuring KotlinKT-23040Wrong run configuration classpath in a mixed Java/Android projectKT-24321Actual implementations from Android platform module are wrongly reported withno corresponding expected declarationin IDEKT-25018ExceptionDependencies for org.jetbrains.kotlin.resolve.calls.* cannot be satisfiedon a simple project in AS 3.2 Canary
IDE. Code Style, Formatting
KT-14066Comments on when branches are misplacedKT-25008Formatter: Use single indent for multiline elvis operator
IDE. Completion
KT-23627Autocompletion inserts FQN of stdlib functions inside of scoping lambda called on explicitthisKT-25239Add postfix template for listOf/setOf/etc
IDE. Debugger
KT-23162Evaluate expression in multiplatform common test fails with JvmName missing when run in JVMKT-24903Descriptors leak fromKotlinMethodSmartStepTarget
IDE. Decompiler
KT-23981Kotlin bytecode decompiler works in AWT thread
IDE. Gradle
KT-24614Gradle can't get published versions until commenting repositories in settings.gradle
IDE. Gradle. Script
KT-24588Multiple Gradle Kotlin DSL script files dependencies lifecycle is flawed
IDE. Hints
KT-22432Type hints: Don't include ".Companion" in the names of types defined inside companion objectKT-22653Lambda return hint is duplicated for increment/decrement expressionsKT-24828Double return hints on labeled expressions
IDE. Inspections and Intentions
New Features
KT-7710Intention to convert lambda to anonymous functionKT-11850Addnested lambdas with implicit parameterswarningKT-13688Add 'Change to val' quickfix for delegates without setValueKT-13782Intention (and may be inspection) to convert toString() call to string templateKT-14779Inspection to replace String.format with string templatesKT-15666Unused symbol: delete header & its implementations togetherKT-18810Quick-fix for 'is' absence in whenKT-22871Add quickfix to move const val into companion objectKT-23082Add quick-fix for type variance conflictKT-23306Add intention of putting remaining when-values even in end, and even if there is "else"KT-23897Inspections: report extension functions declared in same classKT-24295Add "Remove 'lateinit'" quickfixKT-24509Inspection "JUnit tests should return Unit"KT-24815Add Quick fix to remove illegal "const" modifierKT-25238Add quickfix wrapping expression into listOf/setOf/etc in case of type mismatch
Fixes
KT-12298Fix override signature doesn't remove bogus recieverKT-20523Don't mark as unused functions with@kotlin.test.*annotations and classes with such membersKT-20583Report "redundant let" even foritin argument positionKT-21556"Call chain on collection type may be simplified" generates uncompiled code on IntArrayKT-22030Invalid Function can be private inspectionKT-22041"Convert lambda to reference" suggested incorrectlyKT-22089Explict This inspection false negative with synthetic Java propertyKT-22094Can be private false positive with function called from lambda inside inline functionKT-22162Add indices to loop fails on destructing declaratorKT-22180"Can be private" false positive when function is called by inline function inside property initializerKT-22371"Create secondary constructor" quick fix is not suggested for supertype constructor referenceKT-22758"Create ..." and "Import" quick fixes are not available on unresolved class name in primary constructorKT-23105Create actual implementation shouldn't generate default parameter valuesKT-23106Implement methods should respect actual modifier as wellKT-23326"Add missing actual members" quick fix fails with AE at KtPsiFactory.createDeclaration() with wrong expect codeKT-23452"Remove unnecessary parentheses" reports parens of returned functionKT-23686"Add missing actual members" should not add primary actual constructor if it's present as secondary oneKT-23697Android project with 'org.jetbrains.kotlin.platform.android' plugin: all multiplatform IDE features are absentKT-23752False positive "Remove variable" quick fix on property has lambda or anonymous function initializerKT-23762Add missing actual members quick fix adds actual declaration for val/var again if it was in the primary constructorKT-23788Can't convert long char literal to string if it starts with backslashKT-23860Import quick fix is not available in class constructor containing transitive dependency parametersKT-24349False positive "Call on collection type may be reduced"KT-24374"Class member can have private visibility" inspection reportsexpectmembersKT-24422Android Studio erroneously reporting that@Inject lateinit varcan be made privateKT-24423False inspection warning "redundant type checks for object"KT-24425wrong hint remove redundant CompanionKT-24537False positiveproperty can be privateon actual properties in a multiplatform projectKT-24557False warning "Remove redundant call" for nullable.toStringKT-24562actual extension function implementation warns Receiver type unusedKT-24632Quick fix to add getter and setter shouldn't usefieldwhen it is not allowedKT-24816Inspection: Sealed subclass can be object shouldn't be reported on classes with state
IDE. JS
KT-5948JS: project shouldn't have "Java file" in new item menu
IDE. Multiplatform
KT-23722MPP: Run tests from common modules should recompile correspond JVM implementation moduleKT-24159MPP: Show Kotlin Bytecode does not work for common codeKT-24839freeCompilerArgs are not imported into Kotlin facet of Android module in IDEA
IDE. Navigation
KT-11477Kotlin searchers consume CPU in a project without any Kotlin filesKT-17512Finding usages of actual declarations in common modulesKT-20825Header icon on actual class is lost on new line addingKT-21011Difference in information shown for "Is subclassed by" gutter on mouse hovering and clickingKT-21113Expected gutter icon on companion object is unstableKT-21710Override gutter markers are missing for types in sources jarKT-22177Double "A" icon for an expect class with constructorKT-23685Navigation from expect part to actual with ctrl+alt+B shortcut should provide a choice to what actual part to goKT-24812Search suggestion text overlaps for long names
IDE. Refactorings
KT-15159Introduce typealias: Incorrect applying of a typealias in constructor calls in val/var and AssertionErrorKT-15351Extract Superclass/Interface: existent target file name is rejected; TCE: "null cannot be cast to non-null type org.jetbrains.kotlin.psi.KtFile" at ExtractSuperRefactoring.createClass()KT-16281Extract Interface: private member with Make Abstract = Yes produces incompilable codeKT-16284Extract Interface/Superclass: reference to private member turns incompilable, when referring element is made abstractKT-17235Introduce Parameter leaks listener if refactoring is cancelled while in progressKT-17742Refactor / Rename Java getter toget()does not update Kotlin referencesKT-18555Refactor / Extract Interface, Superclass: Throwable: "Refactorings should be invoked inside transaction" at RefactoringDialog.show()KT-18736Extract interface: import for property type is omittedKT-20260AE “Unexpected container” on calling Refactor → Move for class in Kotlin scriptKT-20465"Introduce variable" in build.gradle.kts creates a variable with no template to change its nameKT-20467Refactor → Extract Function: CCE “KtNamedFunction cannot be cast to KtClassOrObject” on calling refactoring for constructorKT-20469NDFDE “Descriptor wasn't found for declaration VALUE_PARAMETER” on calling Refactor → Extract Function on constructor argumentKT-22931Converting a scoping function with receiver into one with parameter may change the semanticsKT-23983Extract function: Reified type parameters are not extracted properlyKT-24460Rename refactoring does not update super callKT-24574Changing Java constructor signature from Kotlin usage is totally brokenKT-24712Extract Function Parameter misses 'suspend' for lambda typeKT-24763"Change signature" refactoring breaks Kotlin codeKT-24968Type hints disappear after "Copy" refactoringKT-24992The IDE got stuck showing a modal dialog (kotlin refactoring) and doesn’t react to any actions
IDE. Script
KT-25373Deadlock in idea plugin
IDE. Tests Support
KT-18319Gradle: Run tests action does not work when test name contains spacesKT-22306Empty gutter menu for main() and test methods in Kotlin/JS projectKT-23672JUnit test runner is unaware of @kotlin.test.Test tests when used in common multiplatform module, even if looked from JVM multiplatform moduleKT-25253No “run” gutter icons for tests in Kotlin/JS project
JavaScript
KT-22376JS: TranslationRuntimeException on 'for (x in ("a"))'KT-23458ClassCastException when compiling when statements to JS
Libraries
KT-24204Empty progression last value overflows resulting in progression being non-emptyKT-25351TestNGAsserterneeds to swap expected/actual
Reflection
KT-16616KotlinReflectionInternalError: Reflection on built-in Kotlin types is not yet fully supported in getMembersOfStandardJavaClasses.ktKT-17542KotlinReflectionInternalError on ::values of enum classKT-20442ReflectJvmMapping.getJavaConstructor() fails with Call is not yet supported for anonymous classKT-21973Method.kotlinFunction for top level extension function returns null when app is started from test sourcesKT-22048Reflection explodes when attempting to get constructors of an enum with overridden method
Tools. Android Extensions
KT-22576Parcelable: Allow Parcelize to work with object and enum typesKT-24459@IgnoredOnParcel annotation doesn't work for @ParcelizeKT-24720Parcelable: java.lang.LinkageError
Tools. Compiler Plugins
KT-23808Array in @Parcelize class generates an java.lang.VerifyError
Tools. Gradle
KT-18621org.jetbrains.kotlin.incremental.fileUtils.kt conflicts when compiler and gradle plugin in classpathKT-24497Externalized all-open plugin is not applied to a projectKT-24559Multiple Kotlin daemon instances are started when building MPP with GradleKT-24560Multiple Kotlin daemon instances are started when Gradle parallel build is usedKT-24653Kotlin plugins don't work when classpath dependency is not declared in current or root projectKT-24675Use Gradle dependency resolution to get compiler classpathKT-24676Use Gradle dependency resolution to form compiler plugin classpathKT-24946ISE: "The provided plugin org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar is not compatible with this version of compiler" when build simple Gradle with Zulu JDK
Tools. Incremental Compile
KT-25051Change in "kotlin-android" project w/o package parts causes non-incremental compilation of dependent modules
Tools. J2K
KT-9945converting java to kotlin confuses git
Tools. JPS
KT-19957Support incremental compilation to JS in JPSKT-22611Support compiling scripts in JPSKT-23558JPS: Support multiplatform projectsKT-23757JPS: Incremental multiplatform projects compilationKT-24936Don't use internal terms in compiler progress messagesKT-25218Build fails as Javac doesn't see Kotlin classes
Tools. Scripts
KT-24926NoSuchElementException in TemplateAnnotationVisitor when upgrading the Gradle Kotlin DSL to Kotlin 1.2.50
Tools. kapt
KT-24313Unable to use KAPT when dependency to it is added to buildSrcKT-24449'kapt.kotlin.generated' is not marked as source root in Android Studio 3.1 and 3.2KT-24538Kapt performs Kotlin compilation when annotation processors are not configuredKT-24919Caused by: org.gradle.api.InvalidUserDataException: 'projectDir' is not a fileKT-24963gradle kapt plugin's assumption on build dir causing duplicate class errorKT-24985Kapt: Allow to disable info->warning mapping in loggerKT-25071kapt sometimes emits java stubs with imports that should be static importsKT-25131Kapt should not load annotation processors when generating stubs
1.2.51
Backend. JVM
KT-23943Wrong autoboxing for non-null inline class inside elvis withnullconstantKT-24952EnumConstantNotPresentExceptionProxy from Java reflection on annotation class with target TYPE on JVM < 8KT-24986Android project release build with ProGuard enabled crashes with IllegalAccessError: Final field cannot be written to by method
Binary Metadata
KT-24944Exception from stubs: "Unknown type parameter with id = 1" (EA-120997)
Reflection
KT-23962MalformedParameterizedTypeException when reflecting GeneratedMessageLite.ExtendableMessage
Tools. Gradle
KT-24956Kotlin Gradle plugin's inspectClassesForKotlinIC task for the new 1.2.50 release takes incredibly longKT-23866Kapt plugin should pass arguments from compiler argument providers to annotation processorsKT-247161.2.50 emits warning "Classpath entry points to a non-existent location:"KT-24832Inter-project IC does not work when "kotlin-android" project depends on "kotlin" projectKT-24938Gradle parallel execution fails on multi-module Gradle ProjectKT-25027Kapt plugin: Kapt and KaptGenerateStubs tasks have some incorrect inputs
Tools. Scripts
KT-24926NoSuchElementException in TemplateAnnotationVisitor when upgrading the Gradle Kotlin DSL to Kotlin 1.2.50
1.2.50
Compiler
KT-23360Do not serialize annotations with retention SOURCE to metadataKT-24278Hard-code to kotlin compiler annotation for android library migrationKT-24472Support argfiles in kotlinc with -XargfileKT-24593Support -XXLanguage:{+|-}LanguageFeature compiler arguments to enable/disable specific featuresKT-24637Introduce "progressive" mode of compiler
Backend. JS
KT-23094JS compiler: Delegation fails to pass the continuation parameter to child suspend functionKT-23582JS: Fails to inline, produces bad codeKT-24335JS: Invalid implement of external interface
Backend. JVM
KT-12330Slightly improve generated bytecode for data class equals/hashCode methodsKT-18576Debugger fails to show decomposed suspend lambda parametersKT-22063Add intrinsics for javaObjectType and javaPrimitiveTypeKT-23402Internal error: Couldn't inline method call because the compiler couldn't obtain compiled body for inline function with reified type parameterKT-23704UnstablecheckExpressionValueIsNotNull()generation in bytecodeKT-23707Unstable bridge generation orderKT-23857Annotation with target TYPE is not applicable to TYPE_USE in Java sourcesKT-23910@JvmOverloads doesn't work with default arguments in common codeKT-24427Protected function having toArray-like signature from collection becomes public in bytecodeKT-24661Support binary compatibility mode for @JvmDefault
Frontend
KT-21129Unused parameter in property setter is not reportedKT-21157Kotlin script: engine can take forever to eval certain code after several timesKT-22740REPL slows down during extensions compilingKT-23124Kotlin multiplatform project causes IntelliJ build errorsKT-23209Compiler throwing frontend exceptionKT-23589Report a warning on local annotation classesKT-23760Unable to implement common interface with fun member function with typealiased parameter
Android
KT-23244Option to Disable View Binding generation in Kotlin Android Extensions Plugin
IDE
KT-8407TestNG: running tests from context creates new run configuration every timeKT-9218Searching for compilable files takes too longKT-15019Editor:argsreference in .kts file is redKT-18769Expand Selection on opening curly brace should select the entire block right awayKT-19055Idea hangs on copy-paste big Kotlin filesKT-20605Unresolved reference on instance from common module functionKT-20824Type mismatch for common function taking a non-mapped Kotlin's expected class from stdlib-common, with actual typealias on JVMKT-20897Can't navigate to declaration after PsiInvalidElementAccessException exceptionKT-22527Kotlin UAST does not evaluate values inside delegation expressionsKT-22868Implementing anexpected classdeclaration usingactual typealiasproduces "good code that is red"KT-22922Override Members should add experimental annotation when requiredKT-23384Hotspot in org.jetbrains.kotlin.idea.caches.resolve.IDELightClassGenerationSupport.getKotlinInternalClasses(FqName, GlobalSearchScope) IDELightClassGenerationSupport.kt ?KT-23408Don't render @NonNull and @Nullable annotations in parameter info for Java methodsKT-23557Expression Bodies should have implicitreturnin UastKT-23745Unable to implement common interfaceKT-23746Logger$EmptyThrowable "[kts] cannot find a valid script definition annotation on the class class ScriptTemplateWithArgs" with LivePlugin enabledKT-23975Move Kotlin internal actions under Idea Internal actions menuKT-24268Other main menu itemKT-24438ISE “The provided plugin org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar is not compatible with this version of compiler” after rebuilding simple Gradle-based project via JPS.
IDE. Configuration
KT-10935Add menu entry to create new kotlin .kts scriptsKT-20511Library added from maven (using IDEA UI) is not detected as Kotlin/JS library (since type="repository")KT-20665Kotlin Gradle script created by New Project/Module wizard fails with Gradle 4.1+KT-21844Create Kotlin class dialog: make class abstract automaticallyKT-22305Language and API versions of Kotlin compiler are “Latest” by default in some ways of creating new projectKT-23261New MPP design: please show popup with error message if module name is not setKT-23638Kotlin plugin breaks project opening for PhpStorm/WebStormKT-23658Unclear options “Gradle” and “Gradle (Javascript)” on configuring Kotlin in Gradle- and Maven-based projectsKT-23845IntelliJ Maven Plugin does not pass javaParameters option to Kotlin facetKT-23980Move "Update Channel" from "Configure Kotlin Plugin Updates" to settingsKT-24504Existent JPS-based Kotlin/JS module is converted to new format, while New Project wizard and facet manipulations still create old format
IDE. Debugger
KT-23886Both java and kotlin breakpoints in kotlin filesKT-24136Debugger: update drop-down menu for the line with lambdas
IDE. Editing
KT-2582When user inputs triple quote, add matching triple quote automaticallyKT-5206Long lists of arguments are not foldableKT-23457Auto-import and Import quick fix do not suggest classes from common module [Common test can't find class with wordAbstractin name.]KT-23235Super slow editing with auto imports enabled
IDE. Gradle
KT-23234Test names for tests containing inner classes are sporadically reported to teamcity runs.KT-23383Optional plugin dependency for kotlin gradle plugin 'java' subsystem dependent featuresKT-22588Resolver for 'project source roots and libraries for platform JVM' does not know how to resolve on Gradle Kotlin DSL project without Java and KotlinKT-23616Synchronize script dependencies not at Gradle SyncKT-24444Do not store proxy objects from Gradle importer in the project modelKT-24586MVNFE “Cannot resolve external dependency org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.41 because no repositories are defined.” on creating Gradle project with Kotlin only (probably due to lack of repositories block)KT-24671dependencies missed in buildscript block after creating new Gradle-based project in 173 IDEA
IDE. Inspections and Intentions
New Features
KT-7822Convert foreach to for loop should place caret on the variable declarationKT-9943Quick fix/Intention to indent a raw stringKT-15063Inspection for coroutine: unused Deferred resultKT-16085Inspection "main should return Unit"KT-20305Inspection: Refactor sealed sub-class to objectKT-21413Missing inspection: parentheses can be deleted when the only constructor parameter is a function not existingKT-23137Intention for converting to block comment and vise versaKT-23266Add intention(s) to put arguments / parameters on one lineKT-23419Intention to replace vararg with array and vice versaKT-23617Add inspection: redundant internal in local anonymous object / classKT-23775IntelliJ plugin: improve "accessor call that can be replaced with property"KT-24235Inspection to replace async.await with withContextKT-24263AddMake variable immutablequickfix for constKT-24433Inspection for coroutines: unused async result
Performance Improvements
KT-23566"Can be private" works on ResolutionResultsCache.kt (from Kotlin project) enormously slow
Fixes
KT-6364Incorrect quick-fixes are suggested for nullable extension function callKT-11156Incorrect highlighting for nested class in "Redundant SAM-constructor" inspectionKT-11427"Replace if with when" does not take break / continue into accountKT-11740Invert if condition intention should not remove line breaksKT-12042"Merge with next when" is not applicable when the statements delimited by semicolon or commentKT-12168"Remove explicit type specification" intention produce incompilable code in case of function typeKT-14391RemoveUnnecessaryParenthesesIntention lost comment on closing parenthesisKT-14556Quickfix to suggest use of spread operator does not work with mapOfKT-15195Redundant parentheses shouldn't be reported if lambda is not on the same lineKT-16770Change type of function quickfix does not propose most idiomatic solutionsKT-19629"Convert to primary constructor" quick fix should not moveinit{...}section downKT-20123Kotlin Gradle script: “Refactoring cannot be performed. Cannot modify build.gradle.kts” for some refactorings and intentionsKT-20332Unused property declaration suppression by annotation doesn't work if annotation is targeted to getterKT-21878"arrayOf() call can be replaced by array litteral [...]" quick fix inserts extra parenthesesKT-22092Intention "Specify return type explicitly": Propose types from overriden declarationsKT-22615"Replace with" intention does not work for equal namesKT-22632Gutter icon "go to actual declaration" is absent for enum values on actual sideKT-22741Wrong suggestion forReplace 'if' expression with elvis expressionKT-22831Inspection for converting to elvis operator does not work for local varsKT-22860"Add annotation target" quick fix does not take into account existent annotations in Java sourceKT-22918Create interface quickfix is missing 'current class' containerKT-23133"Remove redundant calls of the conversion method" wrongly shown for Boolan to Int conversionKT-23167Report "use expression body" also on left braceKT-23194Inspection "map.put() should be converted to assignment" leads to red code in case of labled returnKT-23303"Might be const" inspection does not check explicit type specificationKT-23320Quick fix to add constructor invocation doesn't work for sealed classesKT-23321Intention to move type to separate file shouldn't be available for sealed classesKT-23346Lift Assignment quick fix incorrectly processes block assignmentsKT-23377Simplify boolean expression produces incorrect results when mixing nullable and non-nullable variablesKT-23465False positivesuspicious callable referenceon lambda invoke with parametersKT-23511"Remove parameter" quick fix makes generic function call incompilable when type could be inferred from removed parameter onlyKT-23513"Remove parameter" quick fix makes caret jump to the top of the editorKT-23559Wrong hint text for "assignment can be replaced with operator assignment"KT-23608AE “Failed to create expression from text” after applying quick fix “Convert too long character literal to string”KT-23620False positiveRedundant Companion referenceon calling object from companionKT-23634'Add use-site target' intention drops annotation argumentsKT-23753"Remove variable" quick fix should not remove commentKT-23756Bogus "Might be const" warning in object expressionKT-23778"Convert function to property" intention shows broken warningKT-23796"Create extension function/property" quick fix suggests one for nullable type while creates for not-nullKT-23801"Convert to constructor" (IntelliJ) quick fix uses wrong use-site target for annotating propertiesKT-23977wrong hint Unit redundantKT-24066'Remove redundant Unit' false positive when Unit is returned as AnyKT-24165@Deprecated ReplaceWith Constant gets replaced with nothingKT-24207Add parameter intent/red bulb should use auto casted type.KT-24215ReplaceWith produces broken code for lambda following default parameter
IDE. Multiplatform
KT-20406Overload resolution ambiguity in IDE on expect class / actual typealias from kotlin-stdlib-common / kotlin-stdlibKT-24316Missing dependencies in Kotlin MPP when using gradle composite builds
IDE. Navigation
KT-7622Searching usages of a field/constructor parameter in a private class seems to scan through the whole projectKT-23182Find Usages checks whether there are unused variables in functions which contain search result candidatesKT-23223Navigate to actual declaration from actual usage
IDE. Refactorings
KT-12078Introduce Variable adds explicit type when invoked on anonymous objectKT-15517Change signature refactoring shows confusing warning dialogKT-22387Change signature reports "Type cannot be resolved" for class from different packageKT-22669Refactor / Copy Kotlin source to plain text causes CCE: "PsiPlainTextFileImpl cannot be cast to KtFile" at CopyKotlinDeclarationsHandler$doCopy$2$1$1.invoke()KT-22888Rename completion cuts off all characters except letters from existent nameKT-23298AE: "2 declarations in null..." on rename of a field toobjectorclassKT-23563null by org.jetbrains.kotlin.idea.refactoring.rename.KotlinMemberInplaceRenameHandler$RenamerImpl exception on trying in-place Rename of non-scratch functionsKT-23613Kotlin safe delete processor handles java code when it should notKT-23644Named parameters in generated Kotlin AnnotationsKT-23714Add Parameter quickfix not working when the called method is in java.KT-23838Do not search for usages in other files when renaming local variableKT-24069'Create from usage' doesn't use type info with smart casts
IDE. Scratch
KT-6928Support Kotlin scratch filesKT-23441Scratch options reset on IDE restartKT-23480java.util.NoSuchElementException: "Collection contains no element matching the predicate" on run of a scratch file with unresolved function parameterKT-23587Scratch: references from scratch file aren't taken into accountKT-24016Make long scratch output lines readableKT-24315Checkbox labels aren't aligned in scratch panelKT-24636Run Scratch when there are compilation errors in module
Tools. J2K
KT-22989Exception "Assertion failed: Refactorings should be invoked inside transaction" on creating UI Component/Notification
Libraries
KT-10456Common Int.toString(radix: Int) methodKT-22298Improve docs for Array.copyOf(newSize: Int)KT-22400coroutineContext shall be in kotlin.coroutines.experimental packageKT-23356Cross-platform function to convert CharArray slice to StringKT-23920CharSequence.trimEnd calls substring instead of subSequenceKT-24353Add support for junit 5 in kotlin.testKT-24371Invalid @returns tag does not display in Android Studio popup properly
Gradle plugin
KT-20214NoClassDefFound from Gradle (should report missing tools.jar)KT-20608Cannot reference operator overloads across submodules (.kotlin_module not loaded when a module name has a slash)KT-22431Inter-project incremental compilation does not work with Android plugin 2.3+KT-22510Common sources aren't added when compiling custom source set with Gradle multiplatform pluginKT-22623Kotlin JVM tasks in independent projects are not executed in parallel with Gradle 4.2+ and Kotlin 1.2.20+KT-23092Gradle plugin for MPP common modules should not remove the 'compileJava' task fromproject.tasksKT-23574'archivesBaseName' does not affect module name in common modulesKT-23719Incorrect Gradle Warning for expectedBy in kotlin-platform-android moduleKT-23878Kapt: Annotation processors are run when formatting is changedKT-24420Kapt plugin: Kapt task has overlapping outputs (and inputs) with Gradle's JavaCompile taskKT-24440Gradle daemon OOM due to function descriptors stuck forever
Tools. kapt
KT-23286kapt + nonascii = weird pathesKT-23427kapt: for element with multiple annotations, annotation values erroneously use default when first annotation uses defaultKT-23721Warning informing user that 'tools.jar' is absent in the plugin classpath is not show when there is also an errorKT-23898Kapt: Do now show a warning for APs from 'annotationProcessor' configuration also declared in 'kapt' configurationKT-23964Kotlin Gradle plugin does not define inputs and outputs of annotation processors
1.2.41
Compiler – Fixes
KT-23901Incremental compilation fails on Java 9KT-23931Exception on optimizing eternal loopsKT-23900Exception on some cases with nested arraysKT-23809Exception on processing complex hierarchies withsuspendfunctions when-Xdump-declarations-tois active
Other
KT-23973New compiler behavior lead to ambiguous mappings in Spring Boot temporarily reverted
1.2.40
Compiler
New Features
KT-22703Allow expect/actual annotation constructors to have default valuesKT-19159Supportcrossinlinelambda parameters ofsuspendfunction typeKT-21913Support default arguments for expected declarationsKT-19120Provide extra compiler arguments inScriptTemplateDefinitionKT-19415Introduce@JvmDefaultannotationKT-21515Restrict visibility of classifiers insidecompanion objects
Performance Improvements
KT-10057Uselcmpinstruction instead ofkotlin/jvm/internal/Intrinsics.compareKT-14258Suboptimal codegen for private fieldaccess to private field in companion objectKT-18731==between enums should use reference equality, notIntrinsics.areEqual().KT-22714Unnecessary checkcast to array of object from an array of specific typeKT-5177Optimize code generation forforloop withwithIndex()KT-19477Allow to implement several common modules with a single platform moduleKT-21347Add compiler warning about using kotlin-stdlib-jre7 or kotlin-stdlib-jre8 artifacts
Fixes
KT-16424Broken bytecode for nullable generic methodsKT-17171ClassCastExceptionin case of SAM conversion withoutvarianceKT-19399Incorrect bytecode generated for inline functions in some complex casesKT-21696Incorrect warning for use-site target on extension functionKT-22031Non-abstractexpect classes should not haveabstractmembersKT-22260Never flaginline suspend funwithNOTHING_TO_INLINEKT-22352Expect/actual checker can't handle properties and functions with the same nameKT-22652Interface with default overrides is not perceived as a SAMKT-22904Incorrect bytecode generated for withIndex iteration onArray<Int>KT-22906Invalid class name generated for lambda created from method reference in anonymous objectKT-23044Overriden public property with internal setter cannot be found in runtimeKT-23104Incorrect code generated for LHS of an intrinsifiedinoperator in case of generic type substituted withCharacterKT-23309Minor spelling errors in JVM internal error messagesKT-22001JS: compiler crashes on += with "complex" receiverKT-23239JS: Default arguments for non-final member function support is missing for MPPKT-17091Converting to SAM Java type appends non-deterministic hash to class nameKT-21521Compilation exception when trying to compile asuspendfunction withtailreckeywordKT-21605Cross-inlined coroutine with captured outer receiver creates unverifiable codeKT-21864Expect-actual matcher doesn't consider generic upper boundsKT-21906ACTUAL_MISSINGis reported for actual constructor of non-actual classKT-21939ImproveACTUAL_MISSINGdiagnostics messageKT-22513Flaky "JarURLConnection.getUseCaches" NPE during compilation when using compiler plugins
Libraries
KT-11208readLine()shouldn't use buffered reader
IDE
New Features
KT-10368Run Action for Kotlin Scratch FilesKT-16892Shortcut to navigate between header and implKT-23005Supportprefix/suffixattributes for language injection in Kotlin with annotations and comments
Performance Improvements
KT-19484KotlinBinaryClassCache retains a lot of memoryKT-23183ConfigureKotlinNotification.getNotificationString()scans modules with Kotlin files twiceKT-23380Improve IDE performance when working with Spring projects
Fixes
KT-15482KotlinNullPointerExceptionin IDE from expected class with nested classKT-15739Internal visibility across common and platform-dependent modulesKT-19025Not importedbuild.gradle.ktsis all redKT-19165IntelliJ should suggest to reload Gradle projects whenbuild.gradle.ktschangesKT-20282'Move statement up' works incorrectly for statement afterfinallyblock iftryblock contains closureKT-20521Kotlin Gradle script: validbuild.gradle.ktsis red and becomes normal only after reopening the projectKT-20592KotlinNullPointerException: nested class inside expect / actual interfaceKT-21013"Move statement up/down" fails for multiline declarationsKT-21420.gradle.ktseditor should do no semantic highlighting until the first successful dependency resolver responseKT-21683Language injection: JPAQL. Injection should be present for "query" parameter of@NamedNativeQueriesKT-21745Warning and quickfix about kotlin-stdlib-jre7/8 -> kotlin-stdlib-jdk7/8 in MavenKT-21746Warning and quickfix about kotlin-stdlib-jre7/8 -> kotlin-stdlib-jdk7/8 in GradleKT-21753Language injection: SpEL. Not injected for key in@CachingKT-21771All annotations inAnnotations.ktfrom kotlin-test-js module wrongly have ACTUAL_MISSINGKT-21831Opening class fromkotlin-stdlib-jdk8.jarfails with EE: "Stub list in ... length differs from PSI"KT-22229Kotlin local delegated property Import auto-removed with "Java: Optimize imports on the fly"KT-22724ISE: "psiFile must not be null" atKotlinNodeJsRunConfigurationProducer.setupConfigurationFromContext()KT-22817Hitting 'Propagate Parameters' in Change Signature throwsUnsupportedOperationExceptionKT-22851Apply button is always active on Kotlin compiler settings tabKT-22858Multiplatform: String constructor parameter is reported in Java file of jvm module on creation of a new instance of a class from common moduleKT-22865Support multiple expectedBy dependencies when importing project from Gradle or MavenKT-22873Common module-based light classes do not see JDKKT-22874Exception on surround with "if else" when resulting if should be wrapped with()KT-22925Unable to view Type Hierarchy from constructor call in expressionKT-22926Confusing behavior of Type Hierarchy depending on the caret position at superclass constructorKT-23097Enhance multiplatform project wizardKT-23271Warn about using kotlin-stdlib-jre* libs independencyManagementsection in Maven witheapanddevKotlin versionsKT-20672IDE can't resolve references to elements from files with@JvmPackageNameKT-23546Variable name auto-completion popup gets in the wayKT-23546Do not show duplicated names in variables completion listKT-19120Use script compiler options on script dependencies in the IDE as well
IDE. Gradle. Script
KT-23228Do not highlight.gradle.ktsfiles in non-Gradle projects
IDE. Inspections and Intentions
New Features
KT-16382Intention to convertexpr.unsafeCast<Type>()toexpr as Typeand vice versaKT-20439Intentions to add/remove labeled return to last expression in a lambdaKT-22011Inspection to report the usage of Java Collections methods on immutable Kotlin CollectionsKT-22933Intention/inspection to convert Pair constructor totofunctionKT-19871Intentions for specifying use-site targets for an annotationKT-22971Inspection to highlight and remove unnecessary explicit companion object references
Fixes
KT-12226"Convert concatenation to template" does not process$sign as a CharKT-15858"Replace with aforeachfunction call" intention breaks codeKT-16332Add braces to 'if' statement intention does not put end-of-line comment properly into bracesKT-17058"Create implementations from headers": each implementation gets own fileKT-17306Don't report package name mismatch if there's no Java code in the moduleKT-19730Quickfix for delegated properties boilerplate generation doesn't work on localsKT-21005"Missing KDoc inspection" is brokenKT-21082"Create actual declaration" of top-level subclass of expectedsealed classin the same file as actual declaration of sealed class presentKT-22110"Can be joined with assignment" inspection underlining extends into commentKT-22329"Create class" quickfix is not suggested inwhenbranchKT-22428Create member function from usage shouldn't present type parameters as optionsKT-22492"Specify explicit lambda signature" intention is available only on lambda bracesKT-22719Incorrect warning 'Redundant semicolon' when having method call before lambda expressionKT-22861"Add annotation target" quickfix is not available on annotation with use site targetKT-22862"Add annotation target" quickfix does not process existent annotations with use site targetKT-22917Update order of containers forcreate classquickfixKT-22949NPE on conversion ofrun/applywith explicit lambda signature tolet/alsoKT-22950Convert stdlib extension function to scoping function works incorrectly in case of explicit lambda signatureKT-22954"Sort modifiers" quickfix works incorrectly when method is annotatedKT-22970Add explicit this intention/inspection missing for lambda invocationKT-23109"Remove redundant 'if' statement" inspection breaks code with labeled returnKT-23215"Add function to supertype" quickfix works incorrectlyKT-14270Intentions "Add/Remove braces" should be applied to the statement where caret is if there several nested statements one into anotherKT-21743Method reference not correctly moved into parenthesesKT-23045AE “Failed to create expression from text” on concatenating string with broken quote mark char literalKT-23046CCE ”KtBinaryExpression cannot be cast to KtStringTemplateExpression” on concatenating broken quote mark char literal with stringKT-23227"Add annotation target" quickfix is not suggested forfield:use-site target
IDE. Refactorings
Fixes
KT-13255Refactor / Rename: renaming local variable or class to existing name gives no warningKT-13284Refactor / Rename: superfluous imports and FQNs in Java using@JvmOverloadsfunctionsKT-13907Rename refactoring warns about name conflict if there is function with different signature but the same nameKT-13986Full qualified names of classes in comments should be changed after class Move, if comment contains backquotesKT-14671typealias: refactor/rename should propose to rename occurrences in commentsKT-15039Extra usage is found for a parameter in data class in destructuring constructionKT-15228Extract function from inline function should create public functionKT-15302Reference to typealias in SAM conversion is not foundKT-16510Can't rename quoted identifierisKT-17827Refactor / Move corrupts bound references when containing class of member element is changedKT-19561Name conflict warning when renaming method to a name matching an extension method with the same name existsKT-20178Refactor → Rename can't make companion object name emptyKT-22282Moving a Kotlin file to another package does not change imports in itselfKT-22482Rename refactoring insert qualifier for non related property callKT-22661Refactor/Move: top level field reference is not imported automatically after move to the source rootKT-22678Refactor / Copy: "Class uses constructor which will be inaccessible after move" when derived class has a protected constructorKT-22692Refactor/Move: unnecessary curly braces added on moving to a separate file a top level function with a top level field usageKT-22745Refactor/Move inserts FQ function name at the call site if there is a field same named as the functionKT-22747Moving top-level function to a different (existing) file doesn't update references from JavaKT-22751Refactor/Rename: type alias name clash is not reportedKT-22769Refactor/Move: there is no warning on moving sealed class or its inheritors to another fileKT-22771Refactor/Move: there is no warning on moving nested class to another class with stricter visibilityKT-22812Refactor/Rename extension functions incorrectly conflicts with other extension functionsKT-23065Refactor/Move: Specify the warning message on moving sealed class inheritors without moving the sealed class itself
IDE. Script
KT-22647Run script Action in IDE should use Kotlin compiler from the IDE pluginKT-18930IDEA is unstable With Gradle Kotlin DSLKT-21042Gradle Script Kotlin project is full-redKT-11618Running .kts file from IntelliJ IDEA doesn't allow to import classes in other files which are also part of the project
IDE. Debugger
KT-22205Breakpoints won't work for Kotlin testing with JUnit
JavaScript
KT-22019Fix wrong list sorting order
Tools. CLI
KT-22777Unstable language version setting has no effect when attached runtime has lower version
Tools. Gradle
KT-22824expectedBydependency should be expressed ascompiledependency in POMKT-15371Multiplatform: setting free compiler args can break buildKT-22864Allow multiple expectedBy configuration dependencies in GradleKT-22895'kotlin-runtime' library is missing in the compiler classpath sometimesKT-23085Use proper names for the Gradle task inputs/outputs added at runtimeKT-23694Fix parallel build in Kotlin IC – invalid KotlinCoreEnvironment disposal
Tools. Android
- Android Extensions: Support fragments from kotlinx package;
Tools. Incremental Compile
KT-20516"Unresolved reference" when project declares same class as its dependencyKT-22542"Source file or directory not found" for incremental compilation with KobaltKT-23165Incremental compilation is sometimes broken after moving one class
Tools. JPS
KT-16091Incremental compilation ignores changes in Java static fieldKT-22995EA-91869 - NA:LookupStorage.<init>
Tools. kapt
KT-21735Kapt cache was not cleared sometimes
Tools. REPL
KT-21611REPL: Empty lines should be ignored
1.2.30
Android
KT-19300[AS3.0] Android extensions, Parcelable: editor shows warning about incomplete implementation on a class with Parcelize annotationKT-22168"Kotlin Android | Illegal Android Identifier" inspection reports non-instrumentation unit testsKT-22700Android Extensions bind views with dot in ID
Compiler
New Features
KT-17336Introduce suspendCoroutineUninterceptedOrReturn coroutine intrinsic functionKT-22766Imitate "suspend" modifier in 1.2.x by stdlib function
Performance Improvements
KT-16880Smarter detection of tail-suspending unit invocations
Fixes
KT-10494IAE in CheckMethodAdapter.checkInternalName when declaring classes inside method with non-standard nameKT-16079Internal error when using suspend operator plusKT-18522Internal compiler error with IndexOutOfBoundsException, "Exception while analyzing expression"KT-18578Compilation failure with @JsonInclude and default interface methodKT-19786Kotlin — unable to override a Java function with @Nullable vararg argumentKT-20466JSR305 false positive for elvis operatorKT-20705Tail suspend call optimization doesn't work in when blockKT-20708Tail suspend call optiomization doesn't work in some branchesKT-20855Unnecessary safe-call reported on nullable typeKT-21165Exception from suspending function is not caughtKT-21238Nonsensical warning "Expected type does not accept nulls in Java, but the value may be null in Kotlin"KT-21258Raw backing field value exposed via accessors?KT-21303Running on JDK-10-ea-31 leads to ArrayIndexOutOfBoundsExceptionKT-21642Back-end (JVM) Internal error: Couldn't transform method node on usingopenkeyword withsuspendfor a top-level functionKT-21759Compiler crashes on two subsequent return statements in suspend functionKT-22029Fold list to pair with destructuring assignment and inner when results in ExceptionKT-22345OOM in ReturnUnitMethodReplacerKT-22410invalid compiler optimization for nullable cast to reified typeKT-22577Compiler crashes when coroutineContext is used inside of inlined lambda
IDE
New Features
KT-8352Pasting Kotlin code into package could create .kt fileKT-16710Run configuration to run main() as a Node CLI appKT-16833Allow mixing Java and Kotlin code in "Analyze Data Flow..."KT-21531JS: add support for running specific test from the gutter icon with Jest testing framework
Performance Improvements
Fixes
KT-7316Go to declaration in Kotlin JavaScript project navigates to JDK source in some casesKT-8563Refactor / Rename inserts line breaks without reasonKT-11467Editor:varproperty in primary constructor is shown not underscored, same asvalKT-13509Don't show run line markers for top-level functions annotated with @TestKT-13971Kotlin Bytecode tool window: Decompile is available for incompilable code, CE at MemberCodegen.genFunctionOrProperty()KT-15000Do not spell check overridden declaration namesKT-15331"Kotlin not configured" notification always shown for common module in multiplatform projectKT-16333Cannot navigate to super declaration via shortcutKT-16976Introduce special SDK for Kotlin JS projects to avoid using JDKKT-18445multiplatform project: provide more comfortable way to process cases when there are missed method implemenation in the implementation classKT-19194Some Live Templates should probably be enabled also for "expressions" not only "statements"KT-20281multiplatform:Unresolved service JavaDescriptorResolver on a file with several header declarations and gutters not shownKT-20470IntelliJ indent guide/invisible brace matching hint tooltip doesn't show contextKT-20522Add "Build" action in "Before launch" block when create new JS run configuration (for test)KT-20915Add quickfix for ‘Implicit (unsafe) cast from dynamic type’KT-20971Cannot navigate to sources of compiled common dependencyKT-21115Incomplete actual class should still have navigation icon to expect classKT-21688UIdentifier violates JvmDeclarationElement contractKT-21874Unexpected IDE error "Unknown type [typealias ...]"KT-21958Support "Alternative source available" for Kotlin filesKT-21994Collapsed comments containing*get removed in the summary line.KT-22179For properties overridden in object literals, navigation to inherited properties is missing indication of a type they are overriddenKT-22214Front-end Internal error: Failed to analyze declarationKT-22230Reformatting code to Kotlin style indents top-level typealiases with commentsKT-22242Semantic highlighting uses different colors for the same 'it' variable and same color for different 'it'sKT-22301Don't require space after label for lambdaKT-22346Incorrect indentation for chained context extension functions (lambdas) when using Kotlin style guideKT-22356Update status of inspection "Kotlin JVM compiler configured but no stdlib dependency" after pom file update, not on re-importKT-22360MPP: with "Create separate module per source set" = NoexpectedBydependency is imported not transitivelyKT-22374"Join lines" works incorrectly in case of line containing more than one string literalKT-22473Regression in IntelliJ Kotlin Plugin 1.2.20, settings.gradle.kts script template is wrongKT-22508Auto-formatting should insert an indentation for default parameter valuesKT-22514IDE Freeze related to IdeAllOpenDeclarationAttributeAltererExtension.getAnnotationFqNames()KT-22557Dead 'Apply' button, when setting code styleKT-22565Cant doPsiAnchor.createon annotation in annotationKT-22570Can't add import in "Packages to Use Import with '*'" section on "Import" tab in Code Style -> KotlinKT-22593AE when invoking find usages on constructor in decompiled java fileKT-22641Auto-formatting adds extra indent to a closing square bracket on a separate lineKT-22734LinkageError: "loader constraint violation: when resolving method PsiTreeUtilKt.parentOfType()" at KotlinConverter.convertPsiElement$uast_kotlin()
IDE. Debugger
KT-20351Stepping over a line with two inline stdlib functions steps into the second functionKT-21312Confusing Kotlin (JavaScript) run configurationKT-21945Double stop on same line during step over if inline call is presentKT-22967Debugger: Evaluator fails on evaluating huge lambdas on Android
IDE. Inspections and Intentions
New Features
KT-18124Inspection to get rid of unnecessary ticks in referencesKT-22038Inspection to replace the usage of Java Collections methods on subtypes of MutableList with the methods from Kotlin stdlibKT-22152"Create Class" quickfix should support creating the class in a new file and selecting the package for that fileKT-22171Add Intention for single character substringKT-22303Inspection to detectType!.inlineWithNotNullReceiver()callsKT-22409Intention for changing property setter accessibility
Performance Improvements
KT-21137Kotlin instantiates something expensive via reflection when highlighting Java file
Fixes
KT-15176Remove "Create type alias" intention when called on java classKT-18007Inspection doesn't suggest Maven Plugin for kotlin-stdlib-jre8KT-18308'Remove braces from else statement' intention breaks codeKT-18912multiplatform project: Convert to enum class: header sealed class cannot convert nested objects to enum valuesKT-21114IOE: create actual members for expected with companionKT-21600suspendmodifier should go afteroverridein overridden suspend functionsKT-21881Replace "If" with safe access intention false positiveKT-22054Replace '!=' with 'contentEquals' should be replace '==' with 'contentEquals'KT-22097Redundant Unit inspection false positive for single expression functionKT-22159"Replace return with 'if' expression" should not place return before expressions of type NothingKT-22167"Add annotation target" quick fix does nothing and disappears from menuKT-22221QuickFix to remove unused constructor parameters shouldn't delete parenthesisKT-22335IOE from KotlinUnusedImportInspection.scheduleOptimizeImportsOnTheFlyKT-22339Remove setter parameter type: error while creating problem descriptorKT-22364Redundant setter is not reported for overridden fieldsKT-22484The warning highlight for redundant!ischeck for object types isn't extended to the full operatorKT-22538"Redundant type checks for object" inspection application breaks smart cast for an object's field or function
IDE. Refactorings
New Features
KT-17047Refactorings for related standard "scoping functions" conversion: 'let' <-> 'run', 'apply' <-> 'also'
Fixes
KT-12365Renaminginvokefunction should removeoperatormodifier and insert function call for implicit usagesKT-17977Move class to upper level creates file with wrong file nameKT-21719Actual typealias not renamed on expected declaration renameKT-22200Overriden function generated from completion is missing suspend modifierKT-22359Refactor / Rename file: Throwable at RenameProcessor.performRefactoring()KT-22461Rename doesn't work on private top-level members of multi-file partsKT-22476Renameitparameter fails after replacing for-each with mapNotNullKT-22564Rename doesn't warn for conflictsKT-22705Refactor/Rename: rename ofinvokefunction with lambda parameter togetbreaks an implicit callKT-22708Refactor/Rename function using some stdlib name leads to incompilable code
JavaScript
KT-20735JS: kotlin.test-js integration tests terminate build on failureKT-22638Function reference not working in js from extensionKT-22963KotlinJS - When statement can cause illegal break
Libraries
KT-22620Add support for TestNG in kotlin.testKT-16661Performance overhead in string splitting in Kotlin versus Java?KT-22042SuboptimalStrings#findAnyOfKT-21154kotlin-test-junit doesn't provide JUnitAsserter when test body is run in another thread
Tools
KT-22196kotlin-compiler-embeddable bundles outdated kotlinx.coroutines since 1.1.60KT-22549Service is dying during compilation
Tools. CLI
KT-19051Suppress Java 9 illegal access warnings
Tools. Gradle
KT-18462Add 'org.jetbrains.kotlin.platform.android' plugin.KT-18821Gradle plugin should not resolve dependencies at configuration time
Tools. Maven
KT-21581kotlin.compiler.incremental not copying resources
Tools. Incremental Compile
KT-22192Make precise java classes tracking in Gradle enabled by default
Tools. J2K
KT-21635J2K: create "inspection based post-processing"
Tools. REPL
KT-12037REPL crashes when trying to :load with incorrect filename
Tools. kapt
KT-22350kdoc comment preceding enum method causes compilation failureKT-22386kapt3 fails when project has class named SystemKT-22468Kapt fails to convert array type to anonymous array element typeKT-22469Kapt 1.2.20+ may fail to process classes with KDocKT-22493Kapt: NoSuchElementException in KotlinCliJavaFileManagerImpl if class first character is dollar signKT-22582Kapt: Enums inside enum values should be forbiddenKT-22711Deprecate original kapt (aka kapt1)
1.2.21
Fixes
KT-22349Android: creating new Basic activity fails with Throwable: "Inconsistent FILE tree in SingleRootFileViewProvider" at SingleRootFileViewProvider.checkLengthConsistency()KT-22459Remove .proto files from kotlin-reflect.jar
1.2.20
Android
KT-20085Android Extensions: ClassCastException after changing type of view in layout XMLKT-20235Error, can't use plugin kotlin-android-extensionsKT-20269Mark 'kapt.kotlin.generated' as a source root automatically in Android projectsKT-20545Parcelable: Migrate to canonical NEW-DUP-INVOKESPECIAL formKT-20742@Serializable and @Parcelize do not work togetherKT-20928@Parcelize. Verify Error for Android Api 19
Binary Metadata
KT-11586Support class literal annotation arguments in AnnotationSerializer
Compiler
New Features
KT-17944Allow 'expect' final member be implemented by 'actual' open memberKT-21982Recognize Checker Framework declaration annotationsKT-17609Intrinsic suspend val coroutineContext
Performance Improvements
Fixes
KT-4174Verify error on lambda with closure in local class super callKT-10473Inapplicable diagnostics for mixed JS / JVM projectsKT-12541VerifyError: Bad type on operand stack for local variable captured in local classKT-13454VerifyError on capture of outer class properties in closure inside inner class constructorKT-14148VerifyError: Bad type on operand stackfor anonymous type inheriting inner classKT-18254enumValueOf and enumValues throw UnsupportedOperationException when used within a non-inline function blockKT-18514IllegalStateException on compile object that inherits its inner interface or classKT-18639VerifyError: Bad type on operand stackKT-19188Nondeterministic method order in class files using DefaultImplsKT-19827Strange VerifyError in simple ExampleKT-19928Analyze / Inspect Code: ISE "Concrete fake override public final fun ()" at BridgesKt.findConcreteSuperDeclaration()KT-20433NPE during JVM code generationKT-20639Obsolete term "native" used in error messageKT-20802USELESS_CAST diagnostic in functions with expression bodyKT-20873False CAST_NEVER_SUCCEEDS when upcasting NothingKT-20903Method reference to expect function results in bogus resolution ambiguityKT-21105Compiler incorrectly optimize the operatorinwith a floating point type range with NaN bound.KT-21146ArrayIndexOutOfBoundsException at org.jetbrains.kotlin.codegen.MemberCodegen.generateMethodCallTo(MemberCodegen.java:841)KT-21267Report pre-release errors if pre-release compiler is run with a release language versionKT-21321for-in-array loop improvementsKT-21343Compound assignment operator compiles incorrectly when LHS is a property imported from objectKT-21354Inconsistent behavior of 'for-in-range' loop if range is an array variable modified in loop bodyKT-21532Enum constructor not foundKT-21535SAM wrapper is not created for a value of functional type in delegating or super constructor call in secondary constructorKT-21671Inline sam wrapper during inline in another moduleKT-21919Invalid MethodParameters attribute generated for "$DefaultImpls" synthetic class with javaParameters=trueKT-20429False-positive 'Unused return value of a function with lambda expression body' in enum constant constructorKT-21827SMAP problem during default lambda parameter inline
IDE
New Features
KT-4001Allow to set arguments indent to 1 tab (currently two and not customized)KT-13378Provide ability to configure highlighting for !! in expressions and ? in typesKT-17928Support code folding for primary constructorsKT-20591Show @StringRes/@IntegerRes annotations in parameter infoKT-20952"Navigate | Related symbol" should support expect/actual navigationKT-21229Make it possible to explicitly select "latest" language/API versionKT-21469Wrap property initializers after equals signKT-14670Support kotlinPackageName() macro in live templatesKT-14951Editor: navigate actions could be available in intention menu (as done in Java)KT-15320Live templates: Add function which returns the "outer" class nameKT-20067Return label hintsKT-20533Show "this" and "it" type hints in lambdas.KT-20614Change location of initial parameter type hint when parameters are on multiple linesKT-21949Please add a separate Color Scheme settings for properties synthesized from Java accessorsKT-21974Editor color scheme option for Kotlin typealias names
Performance Improvements
KT-17367Rebuild requested for index KotlinJavaScriptMetaFileIndexKT-21632Freezing on typingKT-21701IDEA 2017.3 high CPU usage
Fixes
KT-9562Wrong indent after Enter after an annotationKT-12176Formatter could reformat long primary constructorsKT-12862Formatting: Weird wrapping setting for long ?: operatorKT-15099Odd code formatting when chaining lambdas and splitting lines on operatorsKT-15254Use Platform icons for "Run" icon in gutterKT-17254Remove obsolete unfold-icons in structure viewKT-17838Can't report exceptions from the Kotlin plugin 1.1.4-dev-119 in IDEA #IU-171.4424.37KT-17843Don't show parameter name hints when calling Java methods with unknown parameter namesKT-17964Local variable type hints in editor for anonymous objectKT-17965Do not shown argument name hints for assertKT-18829Do not show parameter name hints for mapOfKT-18839Semantic highlighting not work for local variables in initKT-19012Data Flow from here: doesn't find template usagesKT-19017Data Flow from here doesn't find usage in range position of for cycleKT-19018Data Flow from here doesn't find any usages of for-variableKT-19036Data Flow from here: please find calls of extension tooKT-19039Data Flow from here: please find cases when an investigated variable is transferred as a parameter into a library functionKT-19087Data flow to here: usages with explicit receiver are not foundKT-19089Data Flow to here: assigned values are not found if an investigated property is a delegated oneKT-19104Data Flow from here: usage of parameter or variable not found when used as lambda receiver/parameterKT-19106Data Flow from here: show point of call of a function used as a parameter investigated parameter/variableKT-19112Data Flow to here for a function (or its return value) doesn't find shorten forms of assignmentsKT-19519Structure view is not updated properly for function classesKT-19727Code style: New line after '(' with anonymous object or multi-line lambda unexpected behaviorKT-19820Strange highlightning for enum constructorKT-19823Kotlin Gradle project import into IntelliJ: import kapt generated classes into classpathKT-19824Please provide a separate icon for a common libraryKT-19915TODO calls not blue highlighted in lambdas/DSLsKT-20096Kotlin Gradle script: SOE after beginning of Pair definition before some script sectionKT-20314Kotlin formatter does not respect annotations code style settingsKT-20329Multiplatform: gutter "Is subclassed by" should show expect subclass from the common moduleKT-20380Configure Kotlin plugin updates dialog does not open without opened projectKT-20521Kotlin Gradle script: valid build.gradle.kts is red and becomes normal only after reopening the projectKT-20603Facet import: when API version > language version, set API version = language version, not to 1.0KT-20782Non-atomic trees updateKT-20813SAM with receiver: call with SAM usage is compiled with Gradle, but not with JPSKT-20880Add documentation quick fix should create multiline comment and place caret in right placeKT-20883Provide more information in "Missing documentation" inspection messageKT-20884Functions with receivers should allow [this] in KDocKT-20937Exception thrown on RMB click on folder in Kotlin projectKT-20938IDE: kotlinc.xml with KotlinCommonCompilerArguments/freeArgs: XSE: "Cannot deserialize class CommonCompilerArguments$DummyImpl" at BaseKotlinCompilerSettings.loadState()KT-20953"Choose actual" popup shows redundant informationKT-20985Additional reimport is required in 2017.3/2018.1 idea after creating or importing mp projectKT-20987(PerModulePackageCache miss) ISE: diagnoseMissingPackageFragmentKT-21002"Highlight usages of identifier under caret" should work for "it"KT-21076Recursive Companion.ivoke() call should be marked with according iconKT-21132containsKey() in SoftValueMap considered pointlessKT-21150Do not infer compiler version from build.txtKT-21200Improve Structure-view for Kotlin filesKT-21214Fix funcion selection in kotlinKT-21275Don't show argument name hints in calls of methods on 'dynamic' typeKT-21318Highlighting of function exit points does not work if the function is a getter for propertyKT-21363IDE: kotlinc.xml with KotlinCommonCompilerArguments: build fails with UOE: "Operation is not supported for read-only collection" at EmptyList.clear()KT-21409UAST: Super-call arguments are not modeled/visitedKT-21418Gradle based project in IDEA 181: Kotlin facets are not createdKT-21441Folding multiline strings adds a space at the start if there is not one.KT-21546java.lang.IllegalArgumentException: Unexpected container fatal IDE errorKT-21575Secondary constructor call body is missingKT-21645Weird parameter hint positionKT-21733Structure view is not updatedKT-21756Find Usages for "type" in ts2kt provokes exceptionKT-21770Pastingthis into an interpolated string shouldn't escapeKT-21833Type hints shown when destructing triple with type parametersKT-21852Custom API version is lost when settings are reopen after restarting IDEKT-11503cmd+shift+enter action in .kt files does not work on empty linesKT-17217Navigate to symbol: hard to choose between a lot of extension overloadsKT-18674Join Lines should join stringsKT-19524"Local variable type hints" should respect static importsKT-21010Gutter "Is subclassed by" should show actual subclass from the all platform modules in IDEA 2017.3/2018.1KT-21036Throwable “Access is allowed from event dispatch thread only.” after creating nine similar classes with functions.KT-21213Multiline kdoc - intellij joins lines together without spaceKT-21592-Xjsr305=strict not taken into account during the kotlin files compilation in Idea (maven)KT-22050Redundant parameter type hint on SAMKT-22071Formatter insists on increasing indentation in forEach lambdaKT-22093Unnecessary line wrap with new Kotlin code styleKT-22111Error while indexing PsiPlainTextFileImpl cannot be cast to KtFileKT-22121Enter in empty argument list should apply normal indent if "Continuation indent for argument list" is offKT-21702KtLightAnnotationcan't be converted to UASTKT-19900IntelliJ does not recognise no-arg "invokeInitializers" set in pom.xml
IDE. Completion
KT-13220Completion for non-primary-constructor properties should suggest names with types instead of typesKT-12797Code completion does not work for inner in base classKT-16402AssertionError on completing expression after template in string literalKT-20166Completion: property declaration completion should be greedy iftabpressedKT-20506Second smart completion suggests the same value recursively
IDE. Debugger
KT-17514Debugger, evaluate value: cannot find local variable error on attempt to evaluate outer variableKT-20962NullPointerException because of nullable location in debuggerKT-21538"Step into" method doesn't work after adding lambda parameter to the callKT-21820Debugger: Evaluation fails for instance properties (older Android SDKs)
IDE. Inspections and Intentions
New Features
KT-4580Intention + inspection to convert between explicit and implicit 'this'KT-11023Inspection to highlight usages of Collections.sort() and replace them with .sort() method from Kotlin stdlibKT-13702Issue a warning when equals is called recursively within itselfKT-18449Multiplatform project: provide a quick fix "Implement methods" for a impl classKT-18828Provide an intention action to move a companion object member to top levelKT-19103Inspection to remove unnecessary suspend modifierKT-20484Add quick fix to add required target to annotation used on a typeKT-20492Offer "Simplify" intention for 'when' expression where only one branch is known to be trueKT-20615Inspection to detect usages of values incorrectly marked by Kotlin as const from Java codeKT-20631Inspection to detect use of Unit as a standalone expressionKT-20644Warning for missing const paired with val modifier for primitives and stringsKT-20714Inspection for self-assigment of propertiesKT-21023Inspection to highlight variables / functions with implicitNothing?typeKT-21510Add inspection to add/remove this to/from bound callableKT-21560Inspection to sort modifiersKT-21573Code Style Inspection:to -> Pairfunction used not in infix formKT-16260Add intention to specify all types explicitly in destructuring assignmentKT-21547Allow separate regex for test class and function names in IDE inspectionKT-21741Inspection to detect is checks for object typesKT-21950Enable quick-fixes for annotator-reported problems in "Inspect Code"KT-22103SortModifiersInspection should report annotations after modifiers
Fixes
KT-15941"Convert to secondary constructor" produces invalid code for generic property with default valueKT-16340"Unused receiver parameter" for invoke operator on companion objectKT-17161IDE suggest to replace a for loop withforEachto aggresivelyKT-17332Intention to replace forEach with a 'for' loop should convert return@forEach to continueKT-17730Incorrect suggestion to replace loop with negation toany{}KT-18816IDEA suggests replacing for-in-range with stdlib operationsKT-18881Invalid "Loop can be replaced with stdlib operations" warning when class hasadd()functionKT-19560Do not warn about receiver parameter not used for companion objectKT-19977Convert Lambda to reference produces red code when wrong implicit receiver is in scopeKT-20091"Convert object literal to class" should create inner class if necessaryKT-20300"Variable can be inlined" should not be suggested if there's a variable with the same name in nested scopeKT-20349Convert lambda to reference for trailing lambda inserts parameter names for all arguments if at least one named argument was passedKT-20435False "function is never used" warningKT-20622Don't propose “Remove explicit type specification” when it can change semantic?KT-20763Wrong resulting code for "add star projection" quick-fix for inner class with generic outer oneKT-20887Missing documentation warning shouldn't be triggered for a member of a private classKT-20888Documentation should be inherited from Map.Entry typeKT-20889Members of anonymous objects should be treated as private and not trigger "Missing documentation" warningKT-20894"Add type" quick fix does not take into accountvarargmodifierKT-20901IntelliJ autocorrect to add parameter to data class constructor should make the parameter a valKT-20981False positive for "redundant super" in data classKT-21025Kotlin UAST violatesJvmDeclarationUElementcontract by employingJavaUAnnotationKT-21061Cant work with UElement.kt in IDEA with 1.2.0-rc-39: "Stub index points to a file without PSI"KT-21104Do not propose to make local lateinit var immutableKT-21122QuickFix to create member for expect class shouldn't add bodyKT-21159Fix signature invoked from Java breaks Kotlin codeKT-21179Remove empty class body on companion object breaks codeKT-21192Confusing "unused expression"KT-21237ReplaceWith incorrectly removes property assignmentKT-21332Create from usage: do not propose to create abstract function in non-abstract classKT-21373'Remove redundant let' quickfix does not work withinKT-21497Inspection considers if block to be a lambdaKT-21544"Add type" quick fix incorrectly processesvarargmodifier with primitive type array initializerKT-21603"Join declaration and assignment" should remove 'lateinit' for 'var'KT-21612The "Remove redundant getter" inspection removes the type specifierKT-21698Create interfaceshouldn't suggest to declare it inside a class which implements itKT-21726"arrayOf can be replaced with literal" inspection quick fix produces incompilable result in presence of spread operatorKT-21727"Redundant spread operator" inspection does not report array literalKT-12814Specify type explicitly produces erroneous code when platform type overrides not-null typeKT-15180Incorrect quickfix 'Specify type explicitly'KT-17816"Replace elvis with if" produce nasty code when safe casts are involvedKT-18396Bad quickfix for wrong nested classes in inner classKT-19073No-op quick fix for "Convert lambda to reference" IDE suggestionKT-19283Kotlin KProperty reference cannot be converted to lambdaKT-19736Rephrase text in the unconventional property name inspectionKT-19771Preserve old "Convert to expression body" rangeKT-20437Naming convetions inspection: Add separate inspection for top-level and object propertiesKT-20620Replace operator with function call breaks codeKT-21414OverridersSearch attempts to create nameless fake light methodKT-21780Wrong redundant setter inspectionKT-21837Don't require documentation on tests and test classesKT-21929Inappropriate quick fix for a sealed class instantiationKT-21983Do not suggest to remove explicit Unit type for expression bodyKT-16619Incorrect 'accessing non-final property in constructor' warning
IDE. Refactorings
New Features
KT-20095Allow conversion of selected companion methods to methods with @JvmStatic
Fixes
KT-15840Introduce type alias: don't change not-nullable type with nullable typealiasKT-17212Refactor / Inline Function: with 1 occurrence both "Inline all" and "Inline this only" are suggestedKT-18594Refactor / Extract (Functional) Parameter are available for annotation arguments, but fail with AE: "Body element is not found"KT-20146IAE “parameter 'name' of NameUtil.splitNameIntoWords must not be null” at renaming classKT-20335Refactor → Extract Type Parameter: “AWT events are not allowed inside write action” after processing duplicatesKT-20402Throwable “PsiElement(IDENTIFIER) by KotlinInplaceParameterIntroducer” on calling Refactor → Extract Parameter for default valuesKT-20403AE “Body element is not found” on calling Refactor → Extract Parameter for default values in constructor of class without bodyKT-20790Refactoring extension function/property overagressiveKT-20766Typealias end-of-line is removed when moving function and typealias to new fileKT-21071Cannot invoke move refactoring on a typealiasKT-21162Adding parameters to kotlin data class leads to compilation errorKT-21288Change Signature refactoring fails to change signature of overridersKT-21334Extract variable doesn't take into account the receiver of a bound callable referenceKT-21371Rename refactoring sometimes erases identifier being renamed when popping up name proposalsKT-21530KNPE in introduce variableKT-21508java.lang.AssertionError: PsiLiteralExpressionon property safe delete in Idea 173KT-21536Rename refactoring sometimes doesn't quite workKT-21604Rename package missing titleKT-21963Refactor / Inline Property: "null" in place of number of occurrences of local variable referencesKT-21964Refactor / Inline: on declaration of element with one usage "Inline and keep" choice is not suggestedKT-21965Refactor / Inline: wording in dialog could be unified
JavaScript
New Features
KT-20210[JS] Ultra-fast builds for development
Performance Improvements
KT-2218JS: Optimise in checks for number rangesKT-20932JS: Make withIndex() on arrays intrinsicKT-21160JS: generate switch statement for when statement when possible
Fixes
KT-7653JS: TypeError when try to access to "simple" property (w/o backing field at runtime)KT-18963javascript project: No output directory found for Module 'xxx_test' production on JPS compilingKT-19290JS integer overflow for unaryMinusKT-19826JS: don't remove debugger statement from suspend functionsKT-20580JS: JSON.stringify could improve 'replacer' argument handlingKT-20694JS: add missed parts to JS DateKT-20737JS: cache KProperty instances that used to access to delegated propertyKT-20738JS: remove useless calls to constructor of KProperty* (PropertyMetadata) when it generated for access to delegated propertyKT-20854valparameters of typekotlin.Chararen't boxedKT-20898JS: inline js withforwithout initializer causes compiiler to crashKT-20905JS: compiler crashes on invalid inline JavaScript code instead of reporting errorKT-20908JS frontend crashes on uncompleted call to function with reified parametersKT-20978JS: inline doesn't work for Array's constructor when it called through typealiasKT-20994JS extension property in interface problemKT-21004JS: don't use short-circuit operators when translating Boolean.and/or(Boolean)KT-21026JS: wrong code generated for suspend fun that calls inline suspend fun as a tail call.KT-21041'TypeError: ... is not a function' for lambda with closure passed as an argument to super type constructorKT-21043JS: inlining coroutine from other module sometimes causes incorrect code generatedKT-21093Kotlin.JS doesnt escape ‘in’ identifier and conflicts with in keywordKT-21245JS: interface function with default parameter, overridden by other interface indirectly cannot be found at runtimeKT-21307JS DCE does not remap paths to sourcesKT-21309JS: incorrect source map generated for inline lambda when it's last expression is a statement-like expression (e.g. when or try/catch)KT-21317JS: safe call to suspend function returning Unit causes incorrectKT-21421JS: accesors of overridden char properties with backing fields aren't boxedKT-21468JS: don't use enum entry's name for when over external enumsKT-21850JS: support nested tests
Language design
KT-10532ISE by ThrowingLexicalScope at compile time with specific override chain
Libraries
KT-20864ProvideReadOnlyandMutableannotations to control java collection mutability in kotlinKT-18789Delegating val to out-projectedMutableMapresulted in NPE due to cast toNothingKT-21828JS: The List produced by theIntArray.asListfunction caused weird resultsKT-21868Eliminate potential data race inSafePublicationLazyImplKT-21918MaketoTypedArray()implementation more efficient and thread-safeKT-22003JS: ReplaceRegexconstructor-like functions with secondary constructors- JS:
VolatileandSynchornizedannotations are moved tokotlin.jvmpackage with the migration type aliases provided KT-16348ProvideString.toBoolean()conversion in JS and common platforms- Add missing declarations to kotlin-stdlib-common, those that are already supported in both platforms
KT-20968Improve docs for String.format and String.Companion.format
Reflection
KT-20875Support Void.TYPE as underlying Class object for KClassKT-21453NPE in TypeSignatureMappingKt#computeInternalName
Tools
KT-20298Lint warning when using @Parcelize with delegated propertiesKT-20299Android non-ASCII TextView Id Unresolved Reference BugKT-20717@Parcelize Creator.newArray method is generated incorrectlyKT-20751kotlin-spring compiler plugin does not open @Validated classesKT-21171_$_findViewCache and _$_findCachedViewById are created in Activity subclass without Kotlin Android Extensions.KT-21628Can't find referenced class kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheckKT-21777RMI "Connection refused" errors with daemonKT-21992@Transient warning for lazy property
Tools. Gradle
KT-20892Support module name option in K2MetadataCompilerArgumentsKT-17621Incremental compilation is very slow when Java file is modifiedKT-14125Android-extensions don't track xml changes wellKT-20233Kapt: using compiler in-process w/ gradle leads to classloader conflictKT-21009Running Gradle build withcleanpreventsKotlinCompiletasks from loading from cacheKT-21596Improve Kapt Gradle Plugin to be more friendly for Kotlin-DSLKT-15753Support cacheable tasksKT-17656Kotlin and Kotlin Android plugin not using available build cachesKT-20017Support local (non-relocatable) Gradle build cacheKT-20598Missing input annotations on AbstractKotlinCompileToolKT-20604Kotlin plugin breaks relocatability and compile avoidance for Java compile tasksKT-21203Kotlin gradle plugin does not create proper Ivy metadata for dependenciesKT-21261Gradle plugin 1.1.60 creates "build-history.bin" outside project.buildDirKT-21805Gradle plugin does not work with JDK 1.7 (KaptGradleModel)KT-21806Gradle Plugin: Using automatic dependency versions with 'maven-publish' plugin does not include dependency version in generated publication POMs
Tools. Incremental Compile
KT-20840Multiplatform IC fails if expected or actual file is modified separatelyKT-21622Make IC work more accurately with changes of Android layouts xml filesKT-21699JS IC produces different source maps when enum usage is compiled separatelyKT-20633Class is not recompiled
Tools. J2K
KT-21502Inspection to convert map.put(k, v) into map[k] = vKT-19390Character and string concatenation in Java is converted to code with multiple type errors in KotlinKT-19943Redundant 'toInt' after converting explicit Integer#intValue call
Tools. JPS
KT-21574JPS build: API version in project settings is ignoredKT-21841JPS throws exception creating temporary file for moduleKT-21962Source file dependencies (lookups) are not tracked in JPS when Kotlin daemon is used
Tools. Maven
KT-20816Repeated Maven Compiles With Kapt Fail
Tools. REPL
KT-17561Embedding kotlin-script-utils may cause version conflicts e.g. with guavaKT-17921The JSR 223 scripting engine fails to eval anything after encountering an unresolved referenceKT-21075KotlinJsr223JvmLocalScriptEngineFactory does not well with kotlin-compiler-embeddableKT-21141Kotlin script: KotlinJsr223JvmLocalScriptEngine.state.history.reset() seems not clearing the compiler cache
Tools. kapt
Fixes
KT-18791Kapt: Constants from R class should not be inlinedKT-19203Kapt3 generator doesn't seem to print log level lower to Mandatory WarningKT-19402kapt.correctErrorTypesmakes typealias not work.KT-19505Kapt doesn't always stub classes about to be generated.KT-19518Kapt: Support 'correctErrorTypes' option in annotationsKT-20257Kapt is incompatible with compiler pluginsKT-20749Kapt: Support Java 9KT-21144Kapt: Compilation error with maven plugin (Java 9 compatibility)KT-21205KDoc unavailable via javax.lang.model.util.Elements#getDocComment(Element e)KT-21262Kapt: Remove artificial KaptError exception on errors from annotation processorKT-21264Kapt: -Xmaxerrs javac option is not propagated properlyKT-21358Kapt: Support import directive with aliases (correctErrorTypes)KT-21359Kapt: Filter out non-package imports whenever possible (correctErrorTypes)KT-21425kapt warning when assembling unit testsKT-21433Annotations on enum constants are not kept on the generated stubKT-21483Kapt: Loading resources doesn't work without restarting the gradle daemonKT-21542Kapt: Report additional info about time spent in each annotation processorKT-21565Kapt, Maven: Support passing arguments for annotation processorsKT-21566Kapt, Maven: Support passing Javac optionsKT-21729Error message says "androidProcessor" should be "annotationProcessor"KT-21936Kapt 1.2.20-eap: cannot find symbol @KaptSignatureKT-21735Kapt cache not clearedKT-22056Applying Kapt plugin causes RuntimeException on Gradle import: "Kapt importer for generated source roots failed, source root name: debug" at KaptProjectResolverExtension.populateAndroidModuleModelIfNeeded()KT-22189ISE from com.sun.tools.javac.util.Context.checkState when switching from 1.2.10 to 1.2.20-eap-33
1.2.10
Compiler
KT-20821Error while inlining function reference implicitly applied to thisKT-21299Restore adding JDK roots to the beginning of the classpath list
IDE
KT-21180Project level api/language version settings are erroneously used as default during Gradle importKT-21335Fix exception on Project Structure view openKT-21610Fix "Could not determine the class-path for interface KotlinGradleModel" on Gradle sync- Optimize dependency handling during import of Gradle project
JavaScript
KT-21493Losing lambda defined in inline function after incremental recompilation
Tools. CLI
KT-21495Bash scripts in Kotlin v1.2 compiler have Windows line terminatorsKT-21537javac 7 do nothing when kotlin-compiler(-embeddable) is in classpath
Libraries
- Unify docs wording of 'trim*' functions
- Improve cover documentation page of kotlin.test library
- Provide summary for kotlin.math package
- Fix unresolved references in the api docs
1.2
Android
KT-20974NSME "AndroidModuleModel.getMainArtifact" on Gradle refreshKT-20975IAE "Missing extension point" on Gradle refresh
Compiler
KT-6359Provide the way to share code with different targets(JVM, JS)
IDE
KT-21300IDEA slow down in Kotlin + Spring projectKT-20450Exception in UAST during function inliningKT-20789Can't navigate to inline call/inline use site when runner is delegated to GradleKT-21236New project button doesn't work with Kotlin plugin enabled and Gradle plugin disabledKT-21263"Configure Kotlin Plugin Updates" suggests incompatible plugin for AS 3.0
Tools. JPS
KT-20757Rebuild when language/api version is changed
1.2-RC2
Compiler
KT-20844VerifyError on Android after upgrading to 1.2.0-beta-88KT-20895NPE in Kotlin 1.2-beta88 PseudocodeVariablesData.kt:337KT-21377Create fallback flag for "Illegal smart cast is allowed after assignment in try block"
IDE
KT-18719Configure Kotlin in Gradle project to 1.2-Mx: add repository mavenCentral() to buildscriptKT-20782Exception when working with routing in ktor (non-atomic trees update)KT-20966ISE: Facade class not found from Kotlin test filesKT-20967Kotlin plugin upgrade breaks Gradle refreshKT-20990String literal in string template causes ISEKT-21028Add kotlin-stdlib-jre7/8 instead of kotlin-stdlib-jdk7/8 for Kotlin versions below 1.2KT-21383Unsupported method: Library.getProject()when importing Anko project- Downgrade "use expression body" inspection to INFORMATION default level
IDE. Debugger
KT-20962NullPointerException because of nullable location in debugger
IDE. Inspections and Intentions
KT-20803Create actual declaration in the same source root as expect declaration
IDE. Refactorings
KT-20979Move class refactoring doesn't work anymore
Libraries
- Remove deprecated
pairwisefunction
Tools. Gradle
KT-21395“Unable to load class 'kotlin.collections.CollectionsKt'” on creating gradle project in IDEA 2016.3.7
Tools. kapt
- Add
kotlin-annotation-processing-embeddableartifact (compatible withkotlin-compiler-embeddable) - Return
kotlin-annotation-processingartifact back (compatible with CLI Kotlin compiler)
1.2-RC
Compiler
Fixes
KT-20774"::foo.isInitialized" for lateinit member properties produces incorrect bytecodeKT-20826Can't compile Ultimate Idea with Kotlin 1.2KT-20879Compiler problem in when-expressionsKT-20959Regression: Unexpected diagnostic NINITIALIZED_ENUM_COMPANION reported in 1.1.60 & 1.2.0-rcKT-20651Don't know how to generate outer expression" for enum-values with non-trivial self-closures
IDE
New Features
KT-20286"Configure Kotlin in project" should add kotlin-stdlib-jdk7/8 instead of kotlin-stdlib-jre7/8 starting from Kotlin 1.2
Fixes
KT-19599No indentation for multiline collection literalKT-20346Can't build tests in common code due to missing org.jetbrains.kotlin:kotlin-test-js testCompile dependency in JSKT-20550Spring: "Navigate to autowired candidates" gutter action is missed (IDEA 2017.3)KT-20566Spring: "Navigate to the spring beans declaration" gutter action for@ComponentScanis missed (IDEA 2017.3)KT-20843Kotlin TypeDeclarationProvider may stop other declarations providers executionKT-20906Find symbol by name doesn't workKT-20920UAST: SOE Thrown in JavaColorProviderKT-20922Couldn't match ClsMethodImpl from Kotlin test filesKT-20929Import Project from Gradle wizard: the same page is shown twiceKT-20833MP project: add dependency to kotlin-test-annotation-common to common module
IDE. Completion
KT-18458Spring: code completion does not suggest bean names inside@Qualifierbefore function parameter
IDE. Inspections and Intentions
KT-20899Code Cleanup fails to convert Circlet codebase to 1.2KT-20949CCE from UAST (File breadcrumbs don't update when file tree does)
IDE. Refactorings
KT-20251Kotlin Gradle script: Refactor → Inline works incorrect when you need to inline all function occurrences
JavaScript
KT-2976Suggestion for cleaner style to implement !! operatorKT-5259JS: RTTI may be break by overwriting constructor fieldKT-17475JS: object and companion object named "prototype" cause exceptionsKT-18095JS: Wrong behavior of fun named "constructor"KT-18105JS: inner class "length" cause runtime exceptionKT-20625JS: Interface function with default parameter, overridden by other interface cannot be found at runtimeKT-20820JS: IDEA project doesn't generate paths relative to .map
Libraries
KT-4900Finalize math operation parameter names
Tools. JPS
KT-20852IllegalArgumentException: URI has an authority component on attempt to jps compile the gradle project with javascript module
Tools. kapt
KT-20877Butterknife: UninitializedPropertyAccessException: "lateinit property has not been initialized" for field annotated with@BindView.
1.2-Beta2
Multiplatform projects
New Features
KT-20616Compiler options forKotlinCompileCommontaskKT-15522Treat expect classes without explicit constructors as not having constructors at allKT-16099Do not require obvious override of super-interface methods in non-abstract expect classKT-20618RenameimplementtoexpectedByin gradle module dependency
Fixes
KT-16926'implement' dependency is not transitive when importing gradle project to IDEAKT-20634False error about platform project implementing non-common projectKT-19170Forbid private expected declarationsKT-20431Prohibit inheritance by delegation in 'expect' classesKT-20540Report errors about incompatible constructors of actual classKT-20398Do not highlight declarations with not implemented implementations with red during typingKT-19937Support "implement expect class" quickfix for nested classesKT-20657Actual annotation with all parameters that have default values doesn't match expected annotation with no-arg constructorKT-20680No actual class member: inconsistent modality checkKT-18756multiplatform project: compilation error on implementation of extension property in javascript client moduleKT-17374Too many "expect declaration has no implementation" inspection in IDE in a multi-platform projectKT-18455Multiplatform project: show gutter Navigate to implementation on expect side of method in the expect classKT-19222Useless tooltip on a gutter icon for expect declarationKT-20043multiplatform: No H gutter if a class has nested/inner classes inherited from itKT-20164expect/actual navigation does not work when actual is a typealiasKT-20254multiplatform: there is no link between expect and actual classes, if implementation has a constructor when expect doesn'tKT-20309multiplatform: ClassCastException on mouse hovering on the H gutter of the actual secondary constructorKT-20638Context menu in common module: NSEE: "Collection contains no element matching the predicate." at KotlinRunConfigurationProducerKt.findJvmImplementationModule()KT-18919multiplatform project: expect keyword is lost on converting to objectKT-20008multiplatform: Create expect class implementation should add actual keyword at secondary constructorsKT-20044multiplatform: Create expect class implementation should add actual constructor at primary constructorKT-20135"Create expect class implementation" should open created class in editorKT-20163multiplatform: it should be possible to create an implementation for overloaded method if for one method implementation is present alreadyKT-20243multiplatform: quick fix Create expect interface implementation should add actual keyword at interface membersKT-20325multiplatform: Quick fix Create actual ... should specify correct classifier name for object, enum class and annotation class
Compiler
New Features
KT-16028Allow to have different bodies of inline functions inlined depending on apiVersion
Performance Improvements
KT-20462Don't create an array copy for '*(...)'
Fixes
KT-13644Information from explicit cast should be used for type inferenceKT-14697Use-site targeted annotation is not correctly loaded from class fileKT-17981Type parameter for catch parameter possible when exception is nested in generic, but fails in runtimeKT-19251Stack spilling in constructor arguments breaks QuasarKT-20387Wrong argument generated for accessor call of a protected generic 'operator fun get/set' from base class with primitive type as type parameterKT-20491Incorrect synthetic accessor generated for a generic base class function specialized with primitive typeKT-20651"Don't know how to generate outer expression" for enum-values with non-trivial self-closuresKT-20752Do not register new kinds of smart casts for unstable values
IDE
New Features
KT-19146Parameter hints could be shown for annotation
Fixes
KT-19207"Configure Kotlin in project" should add "requires kotlin.stdlib" to module-info for Java 9 modulesKT-19213Formatter/Code Style: space between type parameters andwhereis not insertedKT-19216Parameter name hints should not be shown for functional type invocationKT-20448Exception in UAST during reference search in J2KKT-20543java.lang.ClassCastException on usage of array literals in Spring annotationKT-20709Loop in parent structure when converting a LITERAL_STRING_TEMPLATE_ENTRY
IDE. Completion
KT-17165Support array literals in annotations in completion
IDE. Debugger
KT-18775Evaluate expression doesn't allow access to properties of private nested objects, including companion
IDE. Inspections and Intentions
New Features
KT-20108Support "add requires directive to module-info.java" quick fix on usages of non-required modules in Kotlin sourcesKT-20410Add inspection for listOf().filterNotNull() to replace it with listOfNotNull()
Fixes
KT-16636Remove parentheses after deleting the last unused constructor parameterKT-18549"Add type" quick fix adds non-primitive Array type for annotation parametersKT-18631Inspection to convert emptyArray() to empty literal does not workKT-18773Disable "Replace camel-case name with spaces" intention for JS and common projectsKT-20183AE “Classifier descriptor of a type should be of type ClassDescriptor” on adding element to generic collection in functionKT-20315"call chain on collection type may be simplified" generates code that does not compile
JavaScript
Fixes
KT-8285JS: don't generate tmp when only need one componentKT-8374JS: some Double values converts to Int differently on JS and JVMKT-14549JS: Non-local returns from secondary constructors don't workKT-15294JS: parse error injs()functionKT-17629JS: Equals function (==) returns true for all primitive numeric typesKT-17760JS: Nothing::class throws errorKT-17933JS: toString, hashCode method and simplename property of KClass return senseless results for some classesKT-18010JS: JsName annotation in interfaces can cause runtime exceptionKT-18063Inlining does not work properly in JS for suspend functions from another moduleKT-18548JS: wrong string interpolation with generic or Any parametersKT-19772JS: wrong boxing behavior for open val and final fun inside open classKT-19794runtime crash with empty object (Javascript)KT-19818JS: generate paths relative to .map file by default (unless "-source-map-prefix" is used)KT-19906JS: rename compiler option "-source-map-source-roots" to avoid misleading since sourcemaps have field called "sourceRoot"KT-20287Functions don't actually return Unit in Kotlin-JS -> unexpected null problems vs JDK versionKT-20451KotlinJs - interface function with default parameter, overridden by implementor, can't be found at runtimeKT-20527JS: use prototype chain to check that object implements kotlin interfaceKT-20650JS: compiler crashes in Java 9 with NoClassDefFoundErrorKT-20653JS: compiler crashes in Java 9 with TranslationRuntimeException
Language design
KT-20171Deprecate assigning single elements to varargs in named form
Libraries
KT-19696Provide a way to write multiplatform testsKT-18961Closeable.use should call addSuppressedKT-2460PR-1300shuffleandfillextensions for MutableList now also available in JSPR-1230Add assertSame and assertNotSame methods to kotlin-test
Tools. Gradle
KT-20553RenamewarningsAsErrorscompiler option toallWarningsAsErrorsKT-20217src/main/javaandsrc/test/javasource directories are no longer included by default in Kotlin/JS and Kotlin/Common projects
Tools. Incremental Compile
KT-20654AndroidStudio: NSME “PsiJavaModule.getName()Ljava/lang/String” on calling simple Kotlin functions like println(), listOf()
Binary Metadata
KT-20547Write pre-release flag into class files if language version > LATEST_STABLE
1.2-Beta
Android
New Features
KT-20051Quickfixes to support @Parcelize
Fixes
KT-19747Android extensions + Parcelable: VerifyError in case of RawValue annotation on a type when it's unknown how to parcel itKT-19899Parcelize: Building with ProGuard enabledKT-19988[Android Extensions] inner class LayoutContainer causes NoSuchMethodErrorKT-20002Parcelize explodes on LongArrayKT-20019Parcelize does not propogate flags argument when writing nested ParcelableKT-20020Parcelize does not use primitive array read/write methods on ParcelKT-20021Parcelize does not serialize Parcelable enum as ParcelableKT-20022Parcelize should dispatch directly to java.lang.Enum when writing an enum.KT-20034Application installation failed (INSTALL_FAILED_DEXOPT) in Android 4.3 devices if I use ParcelizeKT-20057Parcelize should use specialized write/create methods where available.KT-20062Parceler should allow otherwise un-parcelable property types in enclosing class.KT-20170UAST: Getting the location of a UIdentifier is tricky
Compiler
KT-4565Support smart casting of safe cast's subject (and also safe call's receiver)KT-8492Null check should work after save call with elvis in conditionKT-9327Need a way to check whether a lateinit property was assignedKT-14138Allow lateinit local variablesKT-15461Allow lateinit top level propertiesKT-7257NPE when accessing properties of enum from inner lambda on initializationKT-9580Report an error if 'setparam' target does not make sense for a parameter declarationKT-16310Nested classes inside enum entries capturing outer membersKT-20155Confusing diagnostics on a nested interface in inner class
IDE
KT-14175Surround with try ... catch (... finally) doesn't work for expressionsKT-20308New Gradle with Kotlin DSL project wizardKT-18353Support UAST for .kts filesKT-19823Kotlin Gradle project import into IntelliJ: import kapt generated classes into classpathKT-20185Stub and PSI element type mismatch for "var nullableSuspend: (suspend (P) -> Unit)? = null"
Language design
KT-14486Allow smart cast in closure if a local variable is modified only before it (and not after or inside)KT-15667Support "::foo" as a short-hand syntax for bound callable reference to "this::foo"KT-16681kotlin allows mutating the field of read-only property
Libraries
KT-19258Java 9: module-info.java withrequires kotlin.stdlibcauses compiler to fail: "module reads package from both kotlin.reflect and kotlin.stdlib"
Tools
KT-19692kotlin-jpa plugin doesn't support @MappedSuperclass annotationKT-20030Parcelize can directly reference writeToParcel and CREATOR for final, non-Parcelize Parcelable types in same compilation unit.KT-19742[Android extensions] Calling clearFindViewByIdCache causes NPEKT-19749Android extensions + Parcelable: NoSuchMethodError on attempt to pack into parcel a serializable objectKT-20026Parcelize overrides describeContents despite being already implemented.KT-20027Parcelize uses wrong classloader when reading parcelable type.KT-20029Parcelize should not directly reference parcel methods on types outside compilation unitKT-20032Parcelize does not respect type nullability in case of Parcelize parcelables
Tools. CLI
KT-10563Support a command line argument -Werror to treat warnings as errors
Tools. Gradle
KT-20212Cannot access internal components from test code
Tools. kapt
KT-17923Reference to Dagger generated class is highlighted redKT-18923Kapt: Do not use the Kotlin error message collector to issue errors from kaptKT-19097Request: Decent support ofkapt.kotlin.generatedon Intellij/Android StudioKT-20001kapt generate stubs Gradle task does not depend on the compilation of sub-project kapt dependencies