docs/changelogs/ChangeLog-1.0.X.md
KT-15611 Extract Interface/Superclass: Disable const-propertiesKT-15602 Extract Interface/Superclass: Disable "Make abstract" for inline/external/lateinit membersKT-12704, KT-15583 Override/Implement Members: Support all nullability annotations respected by the Kotlin compilerKT-15563 Override Members: Allow overriding virtual synthetic members (e.g. equals(), hashCode(), toString(), etc.) in data classesKT-15355 Extract Interface: Disable "Make abstract" and assume it to be true for abstract members of an interfaceKT-15353 Extract Superclass/Interface: Allow extracting class with special name (and quotes)KT-15643 Extract Interface/Pull Up: Disable "Make abstract" and assume it to be true for primary constructor parameter when moving to an interfaceKT-15607 Extract Interface/Pull Up: Disable internal/protected members when moving to an interfaceKT-15640 Extract Interface/Pull Up: Drop 'final' modifier when moving to an interfaceKT-15639 Extract Superclass/Interface/Pull Up: Add spaces between 'abstract' modifier and annotationsKT-15606 Extract Interface/Pull Up: Warn about private members with usages in the original classKT-15635 Extract Superclass/Interface: Fix bogus visibility warning inside a member when it's being moved as abstractKT-15598 Extract Interface: Red-highlight members inherited from a super-interface when that interface reference itself is not extractedKT-15674 Extract Superclass: Drop inapplicable modifiers when converting property-parameter to ordinary parameterKT-15444 Spring Support: Consider declaration open if it's supplemented with a preconfigured annotation in corresponding compiler pluginKT-15068 Implement intention which rename file according to the top-level class nameKT-15056 Implement intention which converts object literal to classKT-8855 Implement "Create label" quick fixKT-15627 Support "Change parameter type" for parameters with type-mismatched default valueKT-13811 Expose JVM target setting in IntelliJ IDEA plugin compiler configuration UIKT-12410 Expose language version setting in IntelliJ IDEA plugin compiler configuration UIKT-14569 Convert Property to Function Intention: Search occurrences using progress dialogKT-14501 Create from Usage: Support array access expressions/binary expressions with type mismatch errorsKT-14500 Create from Usage: Suggest functional type based on the call with lambda argument and unresolved invoke()KT-14459 Initialize with Constructor Parameter: Fix IDE freeze on properties in generic classKT-14044 Fix exception on deleting unused declaration in IDEA 2016.3KT-14019 Create from Usage: Support generation of abstract members for superclassesKT-14246 Intentions: Convert function type parameter to receiverKT-14246 Intentions: Convert function type receiver to parameterKT-14729 Implement "Add names to call arguments" intentionKT-11760 Create from Usage: Support adding type parameters to the referenced typeKT-14583 Change Signature: Use new signature when looking for redeclaration conflictsKT-14854 Extract Interface: Fix NPE on dialog openingKT-14814 Rename: Fix renaming of .kts file to .kt and vice versaKT-14361 Rename: Do not report redeclaration conflict for private top-level declarations located in different filesKT-14596 Safe Delete: Fix exception on deleting Java class used in Kotlin import directive(s)KT-14325 Rename: Fix exceptions on moving file with facade class to another packageKT-14197 Move: Fix callable reference processing when moving to another packageKT-13781 Extract Function: Do not wrap companion member references inside of the with callKT-14792 Rename: Suggest respective parameter name for the local variable passed to functionKT-9125 Support Type Hierarchy on references inside of super type call entriesKT-13542 Rename: Do not search parameter text occurrences outside of its containing declarationKT-8672 Rename: Optimize search of parameter references in calls with named argumentsKT-9285 Rename: Optimize search of private class membersKT-13589 Use TODO() consistently in implementation stubsKT-13630 Do not show Change Signature dialog when applying "Remove parameter" quick-fixKT-13474 Fix performance of typing super call lambdaKT-13838 Add file name to the presentation of private top-level declaration (Go to symbol, etc.)KT-14096 Rename: When renaming Kotlin file outside of source root do not rename its namesake in a source rootKT-13928 Move Inner Class to Upper Level: Fix replacement of outer class instances used in inner class constructor callsKT-12556 Allow using whitespaces and other symbols in "Generate -> Test Function" dialogKT-14122 Generate 'toString()': Permit for data classesKT-12398 Call Hierarchy: Show Kotlin usages of Java methodsKT-13976 Search Everywhere: Render function parameter typesKT-13977 Search Everywhere: Render extension type in prefix positionKT-9490 Convert receiver to parameter: use template instead of the dialogKT-11483 Move to Companion: Do not use qualified names as labelsKT-13874 Move to Companion: Fix AssertionError on running refactoring from Conflicts ViewKT-13883 Move to Companion Object: Fix exception when applied to classKT-13876 Move to Companion Object: Forbid for functions/properties referencing type parameters of the containing classKT-13877 Move to Companion Object: Warn if companion object already contains function with the same signatureKT-13933 Convert Parameter to Receiver: Do not qualify companion members with labeled 'this'KT-13942 Redundant 'toString()' in String Template: Disable for qualified expressions with 'super' receiverKT-13878 Remove Redundant Receiver Parameter: Fix exception receiver removalKT-14143 Create from Usages: Do not suggest on type-mismatched expressions which are not call argumentsKT-13882 Convert Receiver to Parameter: Fix AssertionErrorKT-14199 Add Library: Fix exception due to resolution being run in the "dumb mode"KT-11525 Implement "Create type parameter" quickfixKT-9931 Implement "Remove unused assignment" quickfixKT-14245 Implement "Convert enum to sealed class" intentionKT-14245 Implement "Convert sealed class to enum" intentionKT-13535 Pull Up: Remove visibility modifiers on adding 'override'KT-13216 Move: Report separate conflicts for each property accessorKT-13216 Move: Forbid moving of enum entriesKT-13553 Move: Do not show directory selection dialog if target directory is already specified by drag-and-dropKT-8867 Rename: Rename all overridden members if user chooses to refactor base declaration(s)KT-13660 Move: Do not drop object receivers when calling variable of extension functional typeKT-13903 Move: Remove companion object which becomes empty after the moveKT-13916 Move: Report visibility conflicts in import directivesKT-13906 Move Nested Class to Upper Level: Do not show directory selection dialog twiceKT-13901 Move: Do not ignore target directory selected in the dialog (DnD mode)KT-13904 Move Nested Class to Upper Level: Preserve state of "Search in comments"/"Search for text occurrences" checkboxesKT-13909 Move Files/Directories: Fix behavior of "Open moved files in editor" checkboxKT-14004 Introduce Variable: Fix exception on trying to extract variable of functional typeKT-13726 Move: Fix bogus conflicts due to references resolving to wrong library versionKT-14114 Move: Fix exception on moving Kotlin file without declarationsKT-14157 Rename: Rename do-while loop variables in the loop conditionKT-14128, KT-13862 Rename: Use qualified class name when looking for occurrences in non-code filesKT-6199 Rename: Replace non-code class occurrences with new qualified nameKT-14182 Move: Show error message on applying to enum entriesKT-14285 Rename: Forbid on backing field referenceKT-14240 Introduce Variable: Do not replace assignment left-hand sidesKT-14234 Rename: Do not suggest type-based names for functions with primitive return typesKT-13155 Implement "Introduce Type Parameter" refactoringKT-11017 Implement "Extract Superclass" refactoringKT-11017 Implement "Extract Interface" refactoring
Pull Up: Support properties declared in the primary constructor
Pull Up: Support members declared in the companion object of the original class
Pull Up: Show member dependencies in the refactoring dialogKT-9485 Push Down: Support moving members from Java to Kotlin classKT-13963 Rename: Implement popup chooser for overriding membersKT-12022 Report lint warnings even when file contains errorsKT-10968, KT-11075, KT-12286 Type inference of callable referencesKT-11892 Report error on qualified super call to a supertype extended by a different supertypeKT-12875 Report error on incorrect call of member extension invokeKT-12847 Report error on accessing protected property setter from super class' companionKT-12322 Overload resolution ambiguity with constructor reference when class has a companion objectKT-11440 Overload resolution ambiguity on specialized Map.put implementation from JavaKT-11389 Runtime exception when calling Java primitive overloadingsKT-8200 Exception when using non-generic interface with generic argumentsKT-10237 Exception on an unresolved symbol in a type parameter bound in the 'where' clauseKT-11821 Exception on incorrect number of generic arguments in a type parameter bound in the 'where' clauseKT-12482 Exception: Implementation doesn't have the most specific type, but none of the other overridden methods does eitherKT-12687 Exception when 'data' modifier is applied to objectKT-9620 AssertionError in DescriptorResolver#checkBoundsKT-3689 IllegalAccess on a property with private setter of the subclassKT-6391 Wrong warning for array casting (Array<Any?> to Array<Any>)KT-8596 Exception when analyzing nested class constructor reference in an argument positionKT-12982 Incorrect type inference when accessing mutable protected property via reflectionKT-13206 Report "Cast never succeeds" if and only if ClassCastException can be predictedKT-12467 IllegalStateException: Concrete fake override should have exactly one concrete super-declaration: []KT-13340 Report "return is not allowed here" only on the return keyword, not the whole expressionKT-2349, KT-6054 Report "uninitialized enum entry" if enum entry is referenced before its declarationKT-12809 Report "uninitialized variable" if property is referenced before its declarationKT-260 Do not report "cast never succeeds" when casting nullable to nullableKT-11769 Prohibit access from enum instance initialization code to members of enum's companion objectKT-13371 Fix CompilationException: Rewrite at slice LEAKING_THIS key: REFERENCE_EXPRESSIONKT-13401 Fix StackOverflowError when checking varianceKT-13330, KT-13349 Fix AssertionError: Illegal resolved call to variable with invokeKT-13421 Fix AssertionError: Only integer constants should be checked for overflowKT-13555 Fix internal error "resolveToInstruction"KT-8989 Change error messages: Replace "invisible_fake" with "invisible (private in a supertype)"KT-13612 Val reassignment in try / catchKT-5469 Incorrect "is never used" warning for value used in catch blockKT-13510 Missing "Nested class not allowed" error for anonymous object inside val initializerKT-13685 Fix NPE when resolving callable references on incomplete codeKT-7118 Improve error message after trailing dot in floating point literalKT-4948 Recover by following keywordKT-7915 Recover after val with no subsequent nameKT-12987 Recover after val with no name before declaration starting with soft keywordKT-12909 Do not generate redundant bridge for special built-in overrideKT-11915 Exception in entrySet when Map implementation in Kotlin extends another oneKT-12755 Exception on property generation in multi-file classesKT-12983 VerifyError: Bad type on operand stack in arraylengthKT-12908 Variable initialization in loop causes VerifyError: Bad local variable typeKT-13040 Invalid bytecode generated for extension lambda invocation with safe callKT-13023 Char operations throw ClassCastException for boxed CharsKT-11634 Exception for super call in delegationKT-12359 Redundant stubs are generated on inheriting from java.util.CollectionKT-11833 Error generating constructors of class on anonymous object inheriting from nested class of super classKT-13133 Incorrect InnerClasses attribute value for anonymous object copied from an inline functionKT-13241 Indices optimization leads to VerifyError with smart cast receiverKT-13374 Fix compiler exception when inline function contains anonymous object implementing an interface by delegationKT-11964 No TABLESWITCH in when on enum bytecode if enum constant is importedKT-6916 Optimize 'for' over 'downTo'KT-12733 Optimize 'for' over 'rangeTo' as a non-qualified callKT-13115, KT-13297 Improve documentation formatting, clarify documentation for FileTreeWalk, Sequence and generateSequence.KT-12894 Do not fail in Closeable.use if the resource is null.KT-12915 Runtime exception on callBy of JvmStatic function with default argumentsKT-12967 Runtime exception on reference to generic propertyKT-13370 NullPointerException on companionObjectInstance of a built-in classKT-13462 Make KClass for primitive type equal to the corresponding KClass for wrapper typeKT-12655 New Kotlin file: extra error message for already existing fileKT-12760 Prohibit running non-Unit returning main functionKT-12893 Impossible to open Kotlin compiler settingsKT-10433 Copy-pasting reference to companion object member causes import dialogKT-12803 Class is marked as unused when it is only used is in method referenceKT-13084 Run test method action executes all tests from same kotlin fileKT-12718 Deadlock due to index reenteringKT-13114 'Unused declaration' option 'JUnit static methods' is always enabledKT-12997 Override/Implement Members: Support "Copy JavaDoc" options for library classesKT-12887 "Extend selection" should select call's invoked expressionKT-13383, KT-13379 Override/Implement Members: Do not make return type non-nullable if base return type is explicitly nullableKT-13218 Extract Function: Fix AssertionError on callable referencesKT-6520 Introduce 'maino' and 'psvmo' templates for generating main in objectKT-13455 Override/Implement: Make return type non-nullable (platform collection case) when overriding Java methodKT-10209 Find Usages: Do not duplicate containing declaration in super member warning dialogKT-12977 Hybrid dependency causes "outdated binary" warning to appear in non-js projectKT-13057 Go to inheritors on Enum should navigate to all enum classesKT-12793 Suggest abstract protected extension methodsKT-12645 Lazily calculate FQ name for local classesKT-13071 Fix severe freezes because of long lint checks on large filesKT-12937 Java synthetic accessors highlighting does not differ from local variablesKT-12998 Backslash is not renderedKT-12999 Backtick inside inline code block is not renderedKT-13000 Exclamation mark is not renderedKT-10398 Fully qualified link is not resolved in editorKT-12932 Link to library element is not clickableKT-10654 Quick Doc can't follow KDoc link in referenced function descriptionKT-9271 Show Quick Doc for implicit lambda parameter 'it'KT-12152 "Leaking this" inspection reports dangerous operations inside constructors including:
KT-13187 "Make constructor parameter a val" should make the val private or public depending on its option
KT-5771 Mark setter parameter type as redundant and provide quickfix to remove it
KT-9228 Add quickfix to remove '@' from annotation used as argument of another annotation
KT-12251 Add quickfix to fix type mismatch for primitive literals
KT-12838 Add quickfix for "Illegal usage of inline parameter" that adds noinline
KT-13134 Add quickfix for wrong Long suffix (Use L instead of l)
KT-10903 Add intention to convert lambda to function reference
KT-7492 Support "Create abstract function/property" inside an abstract class
KT-10668 Support "Create member/extension" corresponding to the extension receiver of enclosing function
KT-12553 Show versions in inspection about different version of Kotlin plugin in Maven and IDE plugin
KT-12489 Implement intention to replace camel-case test function name with a space-separated one
KT-12730 Warn about using different versions of Kotlin Gradle plugin and bundled compiler
KT-13173 Handle more cases in "Add Const Modifier" Intention
KT-12628 Quickfix for invoke operator unsafe calls
KT-11425 Inspection and quickfix to replace usages of equals() and compareTo() with operators
KT-13113 Inspection to detect redundant string templates
KT-13011 Inspection and quickfix for unnecessary lateinit
KT-10731 Inspection and quickfix for unnecessary use of toString() inside string interpolation
KT-12043 Intention to add / remove braces for when entry/entries
KT-13483 Intention to replace a..b-1 with a until b and vice versa
KT-6975 Quickfix for adding 'inline' to a function with reified generic
KT-12869 Usages of overridden Java method through synthetic accessors are not foundKT-12813 "Find Usages" for property returns function callsKT-7722 Approximate unresolvable types in "Create from Usage" quickfixesKT-11115 Implement Members: Fix base member detection when abstract and non-abstract members with matching signatures are inherited from an interfaceKT-12876 Bogus suggestion to move property to constructorKT-13055 Exception in "Specify Type Explicitly" intentionKT-12942 "Replace 'when' with 'if'" intention changes semantics when 'if' statements are usedKT-12646 'Convert to block body' should use partial body resolveKT-12919 Use simple class name in "Change function return type" quickfixKT-13151 Incorrect warning "Make variable immutable"KT-13170 "Declaration has platform type" inspection: by default should not be reported for platform type argumentsKT-13262 "Wrap with safe let call" quickfix produces wrong result for qualified functionKT-13364 Do not suggest creating annotations/enum classes for unresolved type parameter boundsKT-12627 Allow warnings suppression for secondary constructorKT-13365 Disable "Create property" (non-abstract) in interfaces. Make "Create function" (non-abstract) generate function body in interfacesKT-8903 Remove Unused Receiver: update function/property usagesKT-11799 Create from Usage: Make extension functions/properties 'private' by defaultKT-11795 Create from Usage: Place extension properties after the usage and generate stub getterKT-12951 Prohibit "Convert to expression body" when function body is 'if' without 'else' or 'when' is non-exhaustiveKT-13430 "Add non-null asserted (!!) call" quickfix can't process unary operatorsKT-13336 "Convert concatenation to template" intention appends literal to variable omitting bracesKT-13328 Do not suggest "Replace infix with safe call" inside conditions or binary / unary expressionsKT-13452 "Replace if expression with assignment" doesn't work for cascade if-else if-elseKT-13184 "Different Kotlin Version" inspection: false positive caused by verbose plugin version nameKT-13480 "Can be replaced with comparison" inspection: false positive if extension method called 'equals' is usedKT-13288 "Unused property" inspection: false positive when extending abstract class and implementing interfaceKT-13432 "Replace with safe call" quickfix does not work with compareTo() usageKT-13444 "Invert if" intention changes semantics for nested if with returnKT-13536 Fix StackOverflowError from "Unused Symbol" inspection after importing enum's values()KT-12820 Platform Type Inspection: !! quickfix shouldn't be available when any generic parameter has platform typeKT-9825 Incorrect "unused variable" warning when used in finally blockKT-13715 Prohibit applying "Change to star projection" to functional typesKT-12017 Inline Property: Support "Do not show this dialog" and "Inline this occurrence" optionsKT-11176 Add a space before '{' in functions generated "Generate hashCode/equals/toString"KT-12294 Introduce Property: Fix extraction of expressions referring to primary constructor parametersKT-12413 Change Signature: Fix bogus warning about unresolved type parameters/invalid functional type replacementKT-12084 Introduce Property: Do not skip outer classes if extractable expression is contained in object literalKT-13082 Rename: Fix exception on property rename previewKT-13207 Safe delete: Fix exception when removing any function in 2016.2KT-12945 Rename: Fix function description in super method warning dialogKT-12922 Introduce Variable: Do not suggest expressions without typeKT-12943 Rename: Show function signatures in "Rename Overloads" dialogKT-13157 Extract Function: Automatically quote function name if necessaryKT-13010 Extract Function: Fix generation of destructuring declarationsKT-13128 Introduce Variable: Retain entered name after changing "Specify type explicitly" optionKT-13054 Introduce Variable: Skip leading/trailing comments inside selectionKT-13385 Move: Quote package name (if necessary) when moving declarations to new fileKT-13395 Introduce Property: Fix duplicate count in popup windowKT-13277 Change Signature: Fix usage processing to prevent interfering with Python support pluginKT-13254 Rename: Conflict detection for type parametersKT-13282, KT-13283 Rename: Fix name quoting for automatic renamersKT-13239 Rename: Warn about function name conflictsKT-13174 Move: Warn about accessibility conflicts due to moving to unrelated moduleKT-13175 Move: Warn about accessibility conflicts when moving entire fileKT-13240 Rename: Do not report shadowing conflict if redeclaration is detectedKT-13253 Rename: Report conflicts for constructor parametersKT-12971 Push Down: Do not specifiy visibility on generated overriding membersKT-13124 Pull Up: Skip super members without explicit declarationsKT-13032 Rename: Support accessors with non-conventional namesKT-13463 Rename: Quote parameter name when necessaryKT-13476 Rename: Fix parameter rename when new name matches call selectorKT-9381 Rename: Do not search for component convention usagesKT-13488 Rename: Support rename of packages with non-standard quoted namesKT-7549 Provide an option to use the Kotlin syntax when evaluating watches and expressions in Java filesKT-13059 Fix error stepping on Step Over action in the end of while blockKT-13037 Fix possible deadlock in debugger in 2016.1 and exception in 2016.2KT-12651 Fix exception in evaluate expression when bad identifier is used for marking objectKT-12896 Fix "Step In" to inline functions for AndroidKT-13269 Make quick evaluate work on receiver in qualified expressionsKT-12641 Unknown error on evaluate expression containing inline functions with complicated environmentKT-13163 Fix exception when evaluating expression: Access is allowed from event dispatch thread only.KT-3008 Option to generate require.js and AMD compatible modulesKT-5987 Add ability to refer to classKT-4115 Provide method to get Kotlin type nameKT-8003 Compiler exception on 'throw throw'KT-8318 Wrong result for 'when' containing only 'else' blockKT-12157 Compiler exception on when condition containing return, break or continueKT-12275 Fix code generation with inline function call in condition of while/do..whileKT-13160 Fix compiler exception when left-hand side of assignment is array access and right-hand side is inline functionKT-12864 Make enums comparableKT-12865 Implementing Comparable breaks inheritanceKT-12928 Nested inline causes undefined reference accessKT-12929 Code with callable reference crashed at runtime (in some JS VMs)KT-13043 Invalid invocation generated for secondary constructor that calls constructor from base class with default parametersKT-13025 'function?.invoke' does not work properly with extension functionsKT-12807 Lambda was lost in generated codeKT-12808 Compiler duplicates arguments and the body of lambda when lambda is in RHS of assignment operatorKT-12873 Fix ReferenceError when class delegates to complex expressionKT-13658 Wrong code when capturing objectKT-13234 Setting kotlinOptions.destination and kotlinOptions.classpath is deprecatedKT-9392 Kotlin classes are missing after converting Java class to KotlinKT-12736 Kotlin classes are deleted when generated Java source is changedKT-12658 Build fails after android resources are editedKT-12750 Non clean compilation fails with gradle 2.14KT-12912 New class from subproject is unresolved with subsequent build with Gradle DaemonKT-12962 Incremental compilation: Track changes in generated filesKT-12923 Incremental compilation: Compile error when code using internal class is modifiedKT-13528 Incremental compilation: support multi-project incremental compilationKT-13732 Android Build folder littered with copyFlavourTypeXXXKT-13499 Implement Annotation Processing API (JSR 269) natively in KotlinKT-12776 Android build fails with KAPT and generateStubs depending on library module namesKT-13179 Java is recompiled every time with Gradle 2.14 and KAPTKT-12303, KT-12113 Do not pass non-relevant annotations to processorsKT-12389 REPL just quits when toString() of user class throws an exceptionKT-13237 Include kotlin-reflect.jar to classpath by default, add '-no-reflect' key to suppress this behaviorKT-13491 Support '-no-reflect' in 'kotlin' commandKT-13211 Provide better compilation failure info for TeamCity buildsopen and override is no longer a warningKT-4829 Equal conditions in when is now a warningKT-6611 "This cast can never succeed" warning is no longer reported for Foo<T> as Foo<Any>KT-7174 Declaring members with the same signature as non-overridable methods from Java classes (like Object.wait/notify) is now an error (when targeting JVM)KT-12302 abstract modifier for a member of interface is no longer a warningKT-12452 open modifier for a member of interface without implementation is now a warningKT-11111 Overriding by inline function is now a warning, overriding by a function with reified type parameter is an errorKT-12337 Reference to a property with invisible setter now has KProperty type (as opposed to KMutableProperty)KT-4285 No warning for a non-tail call when the method inherits default arguments from superclassKT-4764 Spurious "Variable must be initialized" in try/catch/finallyKT-6665 Unresolved reference leads to marking subsequent code unreachableKT-11750 Exceptions when creating various entries with the name "name" in enumsKT-11998 Smart cast to not-null is not performed on a boolean property in if conditionKT-10648 Exhaustiveness check does not work when sealed class hierarchy contains intermediate sealed classesKT-10717 Type inference for lambda with local returnKT-11266 Fixed "Empty intersection of types" internal compiler error for some casesKT-11857 Fix visibility check for dynamic members within protected method (when targeting JS)KT-12589 Improved "infix modifier is inapplicable" diagnostic messageKT-11679 Erroneous call with argument causes Throwable at ResolvedCallImpl.getArgumentMapping()KT-12623 Fix ISE on malformed codeKT-5075 Optimize array/collection indices usage in for loopKT-11116 Optimize coercion to Unit, POP operations are backward-propagatedKT-11499 Compiler crashes with "Incompatible stack heights"KT-11943 CompilationException with extension property of KClassKT-12125 Wrong increment/decrement on Byte/Char/Short.MAX_VALUE/MIN_VALUEKT-12192 Exhaustiveness check isn't generated for when expression returning UnitKT-12200 Erroneously optimized away assignment to a property initialized to zeroKT-12582 "VerifyError: Bad local variable type" caused by explicit loop variable typeKT-12708 Bridge method not generated when data class implements interface with copy() methodKT-12106 import static of reified companion object method throws IllegalAccessError-language-version command line optionlanguageVersion configuration parameter, linked with kotlin.compiler.languageVersion propertykotlinOptions.languageVersion property in task configuration-jvm-target command line optionjvmTarget configuration parameter, linked with kotlin.compiler.jvmTarget propertykotlinOptions.jvmTarget property in task configuration-jdk-home command line optionjdkHome configuration parameter, linked with kotlin.compiler.jdkHome propertykotlinOptions.jdkHome property in task configurationKT-11632)RandomAccess and the operation isn't inlinedby and intry in assignment expressionKT-8527 Include non-imported declarations on the first completionKT-12068 Special completion item for "[]" get-operator accessKT-12080 Parameter names are now higher up in completion listKT-9166 Code completion does not work for synthetic java properties on typing "g"KT-11609 No named arguments completion should be after dotKT-11633 Wrong indentation after completing a statement in data classKT-11680 Code completion of label for existing return with value inserts redundant whitespaceKT-11784 Completion for if statement should add parentheses automaticallyKT-11890 Completion for callable references does not propose static Java membersKT-11912 String interpolation is not converted to ${} form when accessing this.propertyKT-11957 No catch and finally keywords in completionKT-12103 Smart completion for nested SAM-adapter produces short unresolved nameKT-12138 Do not show "::error" in smart completion when any function type accepting one argument is expectedKT-12150 Smart completion suggests to compare non-nullable with nullKT-12124 No code completion for a java property in a specific positionKT-12299 Completion: incorrect priority of property foo over method getFoo in Kotlin-only codeKT-12328 Qualified function name inserted when typing before ifKT-12427 Completion doesn't work for "@receiver:" annotation targetKT-12447 Don't use CompletionProgressIndicator in Kotlin pluginKT-12669 Completion should show variant with () when there is default lambdaKT-12369 Pressing dot after class name should not cause insertion of constructor callKT-11692 Support Spring model diagrams for Kotlin classesKT-12079 Support "Autowired members defined in invalid Spring bean" inspection on Kotlin declarationsKT-12092 Implement bean references in @Qualifier annotationsKT-12135 Automatically configure components based on basePackageClasses attribute of @ComponentScanKT-12136 Implement package references inside of string literalsKT-12139 Support Spring configurations linked via @Import annotationKT-12278 Implement Spring @Autowired inspectionKT-12465 Implement Spring @ComponentScan inspectionKT-12091 Fixed unstable behavior of Spring line markersKT-12096 Fixed rename of custom-named beans specified with Kotlin annotationKT-12117 Group Kotlin classes from the same file in the Choose Bean dialogKT-12120 Show autowiring candidates line markers for @Autowired-annotated constructors and constructor parametersKT-12122 Fixed line marker popup on functions with @Qualifier-annotated parametersKT-12143 Fixed "Spring Facet Code Configuration (Kotlin)" inspection descriptionKT-12147 Fixed exception on analyzing object declaration with @Component annotationKT-12148 Warn about object declarations annotated with Spring @Configuration/@Component/etc.KT-12363 Fixed "Autowired members defined in invalid Spring bean (Kotlin)" inspection descriptionKT-12366 Fixed exception on analyzing class declaration upon annotation typingKT-12384 Fixed bean references in factory method callsKT-8477 New inspection "Can be primary constructor property" with quick-fixKT-5010 "Redundant semicolon" inspection with quickfixKT-9757 Quickfix for "Unused lambda expression" warningKT-10844 Quick fix to add crossinline modifierKT-11090 "Add variance modifiers to type parameters" inspectionKT-11255 Move Element Left/Right actionsKT-11450 "Modality is redundant" inspectionKT-11523 "Add @JvmOverloads annotation" intentionKT-11768 "Introduce local variable" intentionKT-11806 Quick-fix to increase visibility for invisible memberKT-11807 Use function body template when generating overriding functions with default bodyKT-11864 Suggest "Create function/secondary constructor" quick fix on argument type mismatchKT-11876 Quickfix for "Extension function type is not allowed as supertype" errorKT-11920 "Increase visibility" and "Decrease visibility" quickfixes for exposed visibility errorsKT-12089 Quickfix "Make primary constructor parameter a property"KT-12121 "Add toString() call" quickfixKT-11104 New quickfixes for nullability problems: "Surround with null check" and "Wrap with safe let call"KT-12310 New inspection "Member has platform type" with quickfixval" inspectionKT-3797 Quickfix to make a function abstract should not be offered for object membersKT-11866 Suggest "Create secondary constructor" when constructors exist but are not applicableKT-11482 Fixed exception in "Move to companion object" intentionKT-11483 Pass implicit receiver as argument when moving member function to companion objectKT-11512 Allow choosing any source root in "Move file to directory" intentionKT-10950 Keep original file package name when moving top-level declarations to separate file (provided it's not ambiguous)KT-10174 Optimize imports after applying "Move declaration to separate file" intentionKT-11764 Intention "Replace with a forEach function call should replace continue with return@forEachKT-11724 False suggestion to replace with compound assignmentKT-11805 Invert if-condition intention breaks code in case of end of line commentKT-11811 "Make protected" intention for a val declared in parameters of constructorKT-11710 "Replace if with elvis operator": incorrect code generated for if expressionKT-11849 Replace explicit parameter with it changes the meaning of code because of the shadowingKT-11870 "Replace with Elvis" refactoring doesn't change the variable type from T? to TKT-12069 Specify language for all Kotlin code inspectionsKT-11366 "object Companion is never used" warning in intellijKT-11275 Inconsistent behaviour of "move lambda argument out of parentheses" intention action when using lambda calls with function arguments without parenthesesKT-11594 "Add non-null asserted (!!) call" applied to unsafe cast to nullable type causes AE at KtPsiFactory.createExpression()KT-11982 False "Redundant final modifier" reportedKT-12040 "Replace when with if" produce invalid code for first entry which has commentKT-12204 "Use classpath of module" option in existing Kotlin run configuration may be changed when a new run configuration is createdKT-10635 Don't mark private writeObject and readObject methods of Serializable classes as unusedKT-11466 "Make abstract" quick fix applies to outer class of object with accidentally abstract functionKT-11120 Constructor parameter/field reported as unused symbol even if it have used annotationKT-11974 Invert if-condition intention loses commentsKT-10812 Globally unused constructors are not marked as suchKT-11320 Don't mark @BeforeClass (JUnit4) annotated functions as unusedKT-12267 "Change type" quick fix converts to Int for Long literalKT-11949 Various problems fixed with "Constructor parameter is never used as a property" inspectionKT-11716 "Simply for using destructuring declaration" intention: incorrect behavior for data classesKT-12145 "Simplify for using destructuring declaration" should work even when no variables declared inside loopKT-11933 Entities used only by alias are marked as unusedKT-12193 Convert to block body isn't equivalent for when expressions returning UnitKT-10779 Simplify for using destructing declaration: intention / inspection quick fix is available only when all variables are usedKT-11281 Fix exception on applying "Convert to class" intention to Java interface with Kotlin inheritor(s)KT-12285 Fix exception on test class generationKT-12502 Convert to expression body should be forbidden for non-exhaustive when returning UnitKT-12260 ISE while replacing an operator with safe callKT-12649 "Convert if to when" intention incorrectly deletes codeKT-12671 "Shot type" action: "Type is unknown" error on an invoked expressionKT-12284 Too wide applicability range for "Add braces to else" intentionKT-11975 "Invert if-condition" intention does not simplify is expressionKT-12437 "Replace explicit parameter" intention is suggested for parameter of inner lambda in presence of it from outer lambdaKT-12290 Navigate to the generated declaration when using "Implement abstract member" intentionKT-12376 Don't show "Package directive doesn't match file location" in injected codeKT-12777 Fix exception in "Create class" quickfix applied to unresolved references in type argumentsKT-2428 Support basic use-cases of language injection for expressions marked with @Language annotationKT-11574 Support predefined Java positions for language injectionKT-11472 Add comment or @Language annotation after "Inject language or reference" intention automaticallyKT-6372 Add name suggestions to Rename dialogKT-7851 Respect naming conventions in automatic variable renameKT-8044, KT-9432 Support @JvmName annotation in rename refactoringKT-8512 Support "Rename tests" options in Rename dialogKT-9168 Support rename of synthetic propertiesKT-10578 Support automatic test renaming for facade filesKT-12657 Rename implicit usages of annotation method valueKT-12759 Suggest renaming both property accessors with matching @JvmName when renaming one of them from JavaKT-4791 Rename overridden property and all its accessors on attempt to rename overriding accessor in Java codeKT-6363 Do not rename ambiguous references in import directivesKT-6663 Fixed rename of ambiguous import reference to class/function when some referenced declarations are not changedKT-8510 Preserve "Search in comments and strings" and "Search for text occurrences" settings in Rename dialogKT-8541, KT-8786 Do now show 'Rename overloads' options if target function has no overloadsKT-8544 Show more detailed description in Rename dialogKT-8562 Show conflicts dialog on attempt of redeclarationKT-8611 Qualify class references to resolve rename conflicts when possibleKT-8732 Implement Rename conflict analysis and fixes for properties/parametersKT-8860 Allow renaming class by constructor delegation call referencing primary constructorKT-8892 Suggest renaming base declarations on overriding members in object literalsKT-9156 Quote non-identifier names in Kotlin referencesKT-9157 Fixed in-place rename of Kotlin expression referring Java declarationKT-9241 Do not replace Java references to synthetic component functions when renaming constructor parameterKT-9435 Process property accessor usages (Java) in comments and string literalsKT-9444 Rename dialog: Allow typing any identifier without backquotesKT-9446 Copy default parameter values to overriding function which is renamed while its base function is notKT-9649 Constraint search scope of parameter declared in a private memberKT-10033 Qualify references to members of enum companions in case of conflict with enum entriesKT-10713 Skip read-only declarations when renaming parametersKT-10687 Qualify property references to avoid shadowing by parametersKT-11903 Update references to facade class when renaming file via matching top-level classKT-12411 Fix package name quotation in Move refactoringKT-12543 Qualify property references with this to avoid renaming conflictsKT-12732 Copy default parameter values to overriding function which is renamed by Java reference while its base function is unchangedKT-12747 Fix exception on file copyKT-4727 Convert Java code copied from browser or other sourcesKT-11952 Assertion failed in PropertyDetectionCache.get on conversion of access to Java constant of anonymous typeKT-12046 Recursive property setterKT-12039 Static imports converted missing ".Companion"KT-12054 Wrong conversion of instanceof checks with raw typesKT-12045 Convert Object() to Any()KT-12015 False positive for Bundle.getInt()KT-12023 "minSdk" lint check doesn't work for as/isKT-12674 "Calling new methods on older versions" errors for inlined constantsKT-12681 Running lint from main menu: diagnostics reported for java source files onlyKT-12173 False positive for "Toast created but not shown" inside SAM adapterKT-12895 NoSuchMethodError thrown when saving a Kotlin file_ and * standalone charactersKT-9933 Indentation in code fragments is not preservedKT-10998 Spaces around links are missing in return blockKT-11791 Markdown links renderingKT-12001 Allow use of @param to document type parameterKT-11643 Inspections and intentions to fix erroneously configured Maven pom fileKT-11701 "Add Maven Dependency quick fix" in Kotlin source filesKT-11743 Intention to replace kotlin-test with kotlin-test-junitKT-9492 Configuring multiple Maven ModulesKT-11642 Kotlin Maven configurator tags orderKT-11436 "Choose Configurator" control opens dialogs with inconsistent modality (linux)KT-11731 Default maven integration doesn't include documentationKT-12568 Execution configuration: file path completion works only in some sub-elements of <sourceDirs>KT-12558 Configure Kotlin in Project: "Undo" should revert changes in all pomsKT-12512 "Different IDE and Maven plugin version" inspection is being invoked for non-tracked pom.xml filesKT-11438 Support navigation from stacktrace to inline function call siteKT-12067 Deadlock in Kotlin debugger is fixedKT-12232 No code completion in Evaluate Expression and Throwable at CodeCompletionHandlerBase.invokeCompletion()KT-12137 Evaluate expression: code completion/intention actions allows to use symbols from modules that are not referencedKT-12206 NoSuchFieldError in Evaluate Expression on a property of a derived classKT-12678 NoSuchFieldError in Evaluate Expression on accessing delegated property defined in other moduleKT-12773 Fix debugging for Kotlin JS projectsKT-12035 Spaces around asKT-12018 Spaces between function name and arguments in infix callsKT-11961 Spaces before angle bracket in method definitionKT-12175 Don't enforce empty line between secondary constructors without bodyKT-12548 Spaces around is keywordKT-12446 Spaces before class type parametersKT-12634 Spaces between method name and parenthesis in method callKT-10680 Spaces around in keywordKT-12791 Spaces between curly brace and expression inside string templateKT-12781 Spaces between annotation and expressionKT-12689 Spaces around semicolonsKT-12714 Spaces around parentheses in enum elementsKT-2919 Constructor calls are no longer highlighted as classesKT-6540 Infix function calls are now highlighted as regular function callsKT-9410 Annotations in Kotlin are now highlighted with the same color as in Java by defaultKT-11465 Type parameters in Kotlin are now highlighted with the same color as in Java by defaultKT-11657 Allow viewing decompiled Java source code for Kotlin-compiled classesKT-11704 Support file path references inside of Kotlin string literalsKT-12076 Kotlin Plugin update check: always display installed version numberKT-11814 New icon for kotlin annotation classesKT-12735 Convert JavaDoc to KDoc when overriding Java class member in KotlinKT-5960 Can't find usages for Java methods used from Kotlin by call conventionKT-8362 "New Kotlin file": Keywords should be escaped in package nameKT-8682 Respect "Copy JavaDoc" option in the "Override/Implement Members..." dialogKT-8817 Fixed rename of Java getters/setters through synthetic property references in KotlinKT-9399 Find Usages omits Kotlin annotation parameter usage in Java sourceKT-9797 "Kotlin Bytecode" toolwindow breaks after closingKT-11145 Use progress indicator when searching usages in Introduce ParameterKT-11155 Allow running multiple Kotlin classes as well as running mixtures of Kotlin and Java classesKT-11495 Show recursion line markers for extension function calls with different receiverKT-11659 Generate abstract overrides for Any members inside of Kotlin interfacesKT-12070 Add empty line in error message of Maven and Gradle configurationKT-11908 Allow properties with custom setters to be used in generated equals/hashCode/toStringKT-11617 Fixed title of Introduce Parameter declaration chooserKT-11817 Fixed rename of Kotlin enum constants through Java referencesKT-11816 Fixed usages search for Safe Delete on simple enum entriesKT-11282 Delete interface reference from super-type list when applying Safe Delete to Java interfaceKT-11967 Fix Find Usages/Rename for parameter references in XML filesKT-10770 "Optimize imports" will not keep import if a type is only referenced by kdocKT-11955 Copy/Paste inserts fully qualified name when copying function with overloadsKT-12436 "Replace explicit parameter with it": java.lang.Exception at BaseRefactoringProcessor.run()KT-12440 Removing unused parameter results in Exception "Refactorings should not be started inside write action"KT-12006 getLanguageLevel is slow for Kotlin light classesKT-12026 "Constant expression required" in Java for const Kotlin valuesKT-12259 ClassCastException in light classes while trying to create generic propertyKT-12289 Remove unnecessary ? from serr live templateKT-12110 Map help button of the Compiler - Kotlin pageKT-12075 Kotlin Plugin update check: make dumbawareKT-10255 call BuildManager.clearState(project) in apply() method of Kotlin Compiler Settings configurableKT-11841 New Project / Module wizard, Gradle: pure Kotlin module is created without repositories call in build.gradleKT-11095 Java cannot infer generic return type of Kotlin function (with java 8 language level)KT-12090 Intellij/Kotlin plugin does not handle generic return type of static method defined in Kotlin, called from JavaKT-12206 Fix NoSuchFieldError on accessing base property without backing field in evaluate expressionKT-12516 File Structure: Kotlin annotation classes have Java annotation iconsKT-11328 "New Kotlin class": generates packages when fully qualified name is specifiedKT-11778 Exception in Lombok plugin: Rewrite at slice FUNCTIONKT-11708 "Go to declaration" doesn't work on a call to function with SAM conversion on a derived typeKT-12381 Prefer not-nullable return type when overriding Java method without nullability annotationKT-12647 Performance improvement for test-related line markersKT-12526 Kotlin intentions increase PSI modification counts from isAvailable, even in daemon threadsKT-11531 Optimize "KCallable.name"KT-10771 Reflection on Function objects does not support lambdas with generic return typeKT-11824 Reflection inconsistency between member property and accessorKT-6942 Generate structural equality check (i.e. Any.equals) instead of referential check (===) value equality patterns in whenKT-7228 Wrong AbstractList signatureKT-8299 Wrong access to private member in autogenerated code in data classKT-11346 Reified functions like filterIsInstance are now available in JS Standard LibraryKT-12305 Incorrect translation of vararg in @native functionsKT-12254 JsEmptyExpression in initializer when compiling code like val x = throw Exception()KT-11960 Wrong code generated when a method of a local class calls constructor of the classKT-10931 Incorrect inlining of library method with optional parametersKT-12417 Wrong check cast generated for KMutablePropertyKT-11839 Maven goal to execute kotlin scriptKT-12478, KT-12406, KT-12478KT-12595 JPS: Fixed com.intellij.util.io.MappingFailedException: Cannot map bufferKT-11166 Gradle: Unable to access internal classes from test code within the same moduleKT-12352 KAPT: Fix "Classpath entry points to a non-existent location" warningsKT-12074 Building Kotlin maven projects using a parent pom will silently failKT-11770 Warning "RuntimeException: Could not find installation home path" when using Gradle Incremental CompilationKT-10969 Android extensions: NullPointerException when finding view in FragmentKT-11885 Gradle/Android: Unresolved reference "kotlinx" when classpath dependency is defined in root build.gradleKT-12786 Deprecation warning with Gradle 2.14equals compared with ==do...while (true) is now considered an infinite loopval in lambda or in local functionget is an operator but set is notwhen over enums in inline functionsList<? super T>) as mutable collections in Kotlin (MutableList<in T>)todo and currentStackTrace @InlineOnly not to lose stack traceString.subSequence to match those of CharSequence.subSequence*Indexed functionsbinarySearch functionstrimIndent/trimMargintoString() for lambdas and function expressions when kotlin-reflect.jar is availableKProperty.javaField on a subclassjavaMethod and kotlinFunction for top level functions in a different filex?.let { it }) are now inlinedas)is-checks for reified type parametersis-checks for nullable typesinvoke on objects and companion objectsthis in inner's lambdasCharSequence.repeatNew features:
@Configuration/@Component/@Bean@Autowired Dependency..." actionvars that can be replaced by vals.java when KClass is expectedarrayOf wrapper for annotation parametersvar with private setter finalkotlinClassName() and kotlinFunctionName() macros for use in live templatesIssues fixed:
@NotNull parametervars shown in Ctrl + Mouse Hover as valshashCode() implementation in "Generate equals/hashCode" actionis branches in when@ in completion.kotlin_builtins files)when with if": do not lose commentsoperator functions@ nowwhile loop condition+, -, && and ||)$ symbols in converted stringstoArray calls for Java Collection#toArray(T[])@android:id/* IDs in Android Extensionskotlin.incrementalAnalysis & diagnostics issues fixed:
JVM code generation issues fixed:
JS translator issues fixed:
New features:
General issues fixed:
Configuration issues fixed:
Debugger issues fixed: