1.1.50
Android
KT-14800
Kotlin Lint:@SuppressLint
annotation on local variable is ignoredKT-16600
False positive "For methods, permission annotation should specify one ofvalue
,anyOf
orallOf
"KT-16834
Android Lint: Bogus warning on @SetParam:StringResKT-17785
Kotlin Lint: "Incorrect support annotation usage" does not pick the value of const valKT-18837
Android Lint: Collection.removeIf is not flagged when used on RealmListKT-18893
Android support annotations (ColorInt, etc) cannot be used on properties: "does not apply for type void"KT-18997
KLint: False positive "Could not find property setter method setLevel on java.lang.Object" if using elvis with return on RHSKT-19671
UAST: Parameter annotations not provided for val parameters
Compiler
Performance Improvements
KT-17963
Unnecessary boxing in case of primitive comparison to objectKT-18589
'Equality check can be used instead of elvis' produces code that causes boxingKT-18693
Optimize in-expression with optimizable range in RHSKT-18721
Improve code generation for if-in-primitive-literal expression ('if (expr in low .. high)')KT-18818
Optimize null cases inwhen
statement to avoid Intrinsics usageKT-18834
Do not create ranges for 'x in low..high' where type of x doesn't match range element typeKT-19029
Use specialized equality implementations for 'when'KT-19149
Use 'for-in-until' loop in intrinsic array constructorsKT-19252
Use 'for-in-until' loop for 'for-in-rangeTo' loops with constant upper bounds when possibleKT-19256
Destructuring assignment generates redundant code for temporary variable nullificationKT-19457
Extremely slow analysis for file with deeply nested lambdas
Fixes
KT-10754
Bogus unresolved extension functionKT-11739
Incorrect error message on getValue operator with KProperty parameterKT-11834
INAPPLICABLE_LATEINIT_MODIFIER is confusing for a generic type parameter with nullable (default) upper boundKT-11963
Exception: recursive call in a lazy value under LockBasedStorageManagerKT-12737
Confusing error message when calling extension function with an implicit receiver, passing value parameter of wrong typeKT-12767
Too much unnecessary information in "N type arguments expected" error messageKT-12796
IllegalArgumentException on referencing inner class constructor on an outer class instanceKT-12899
Platform null escapes if passed as an extension receiver to an inline functionKT-13665
Generic componentN() functions should provide better diagnostics when type cannot be inferredKT-16223
Confusing diagnostic for local inline functionsKT-16246
CompilationException caused by intersection type overload and wrong type parameterKT-16746
DslMarker doesn't work with typealiasesKT-17444
Accessors generated for private file functions should respect @JvmNameKT-17464
Calling super constructor with generic function call in arguments fails at runtimeKT-17725
java.lang.VerifyError when both dispatch receiver and extension receiver have smart castsKT-17745
Unfriendly error message on creating an instance of interface via typealiasKT-17748
Equality for class literals of primitive types is not preserved by reificationKT-17879
Comparing T::class from a reified generic with a Class<> and KClass<> variable in when statement is brokenKT-18356
Argument reordering in super class constructor call for anonymous object fails with VerifyErrorKT-18819
JVM BE treats 'if (a in low .. high)' as 'if (a >= low && a <= high)', so 'high' can be non-evaluatedKT-18855
Convert "Remove at from annotation argument" inspection into compiler error & quick-fixKT-18858
Exception within typealias expansion with dynamic used as one of type argumentsKT-18902
NullPointerException when using provideDelegate with properties of the base class at runtimeKT-18940
REPEATED_ANNOTATION is reported on wrong location for typealias argumentsKT-18944
Type annotations are lost for dynamic typeKT-18966
Report full package FQ name in compilation errors related to visibilityKT-18971
Missing non-null assertion for platform type passed as a receiver to the member extension functionKT-18982
NoSuchFieldError on access to imported object property from the declaring object itselfKT-18985
Too large highlighting range for UNCHECKED_CASTKT-19058
VerifyError: no CHECKAST on dispatch receiver of the synthetic property defined in Java interfaceKT-19100
VerifyError: missing CHECKCAST on extension receiver of the extension propertyKT-19115
Report warnings on usages of JSR 305-annotated declarations which rely on incorrect or missing nullability informationKT-19128
java.lang.VerifyError with smart cast to String from AnyKT-19180
Bad SAM conversion of Java interface causing ClassCastException: [...] cannot be cast to kotlin.jvm.functions.Function1KT-19205
Poor diagnostic message for deprecated class referenced through typealiasKT-19367
NSFE if property with name matching companion object property name is referenced within lambdaKT-19434
Object inheriting generic class with a reified type parameter looses method annotationsKT-19475
AnalyserException in case of combination ofwhile (true)
+ stack-spilling (coroutines/try-catch expressions)KT-19528
Compiler exception on inline suspend function inside a generic classKT-19575
Deprecated typealias is not marked as such in access to companion objectKT-19601
UPPER_BOUND_VIOLATED reported on type alias expansion in a recursive upper bound on a type parameterKT-19814
Runtime annotations for open suspend function are not generated correctlyKT-19892
Overriding remove method on inheritance from TreeSetKT-19910
Nullability assertions removed when inlining an anonymous object in crossinline lambdaKT-19985
JSR 305: nullability qualifier of Java function return type detected incorrectly in case of using annotation nickname
IDE
New Features
KT-6676
Show enum constant ordinal in quick doc like in JavaKT-12246
Kotlin source files are not highlighted in Gradle build output in IntelliJ
Performance Improvements
KT-19670
When computing argument hints, don't resolve call if none of the arguments are unclear expressions
Fixes
KT-9288
Call hierarchy ends on function call inside local val initializer expressionKT-9669
Join Lines should add semicolon when joining statements into the same lineKT-14346
IllegalArgumentException on attempt to call Show Hierarchy view on lambdaKT-14428
AssertionError in KotlinCallerMethodsTreeStructure. on attempt to call Hierarchy viewKT-19466
Kotlin based Gradle build not recognized when added as a moduleKT-18083
IDEA: Support extension main functionKT-18863
Formatter should add space after opening brace in a single-line enum declarationKT-19024
build.gradle.kts is not supported as projectKT-19124
Creating source file with directory/package throws AE: "Write access is allowed inside write-action only" at NewKotlinFileAction$Companion.findOrCreateTarget()KT-19154
Completion and auto-import does not suggest companion object members when inside an extension functionKT-19202
Applying 'ReplaceWith' fix in type alias can change program behaviourKT-19209
"Stub and PSI element type mismatch" in when receiver type is annotated with @receiverKT-19277
Optimize imports on the fly should not work in test data filesKT-19278
Optimize imports on the fly should not remove incomplete import while it's being typedKT-19322
Script editor: Move Statement Down/Up can't move one out of top level lambdaKT-19451
"Unresolved reference" with Kotlin Android Extensions when layout defines the Android namespace as something other than "android"KT-19492
Java 9: references from unnamed module to not exported classes of named module are compiled, but red in the editorKT-19493
Java 9: references from named module to classes of unnamed module are not compiled, but green in the editorKT-19843
Performance warning: LineMarker is supposed to be registered for leaf elements onlyKT-19889
KotlinGradleModel : Unsupported major.minor version 52.0KT-19885
200% CPU for some time on Kotlin sources (PackagePartClassUtils.hasTopLevelCallables())KT-19901
KotlinLanguageInjector#getLanguagesToInject can cancel any progress in which it was invokedKT-19903
Copy Reference works incorrectly for const valKT-20153
Kotlin facet: Java 9-Xadd-modules
setting produces more and more identical sub-elements of<additionalJavaModules>
in .iml file
IDE. Completion
KT-8848
Code completion does not support import aliasesKT-18040
There is no auto-popup competion after typing "$x." anymoreKT-19015
Smart completion: parameter list completion is not available when some of parameters are already written
IDE. Debugger
KT-19429
Breakpoint appears in random place during debug
IDE. Inspections and Intentions
New Features
KT-4748
Remove double negation for boolean expressions intention + inspectionKT-5878
Quickfix for "variable initializer is redundant" (VARIABLE_WITH_REDUNDANT_INITIALIZER)KT-11991
Kotlin should have an inspection to suggest the simplified format for a no argument lambdaKT-12195
Quickfix @JvmStatic on main() method in an objectKT-12233
"Package naming convention" inspection could show warning in .kt sourcesKT-12504
Intention to make open class with only private constructors sealedKT-12523
Quick-fix to removewhen
with onlyelse
KT-12613
"Make abstract" on member of open or final class should make abstract both member and classKT-16033
Automatically static import the enum value name when "Add remaining branches" on an enum from another class/fileKT-16404
Create from usage should allow generating nested classesKT-17322
Intentions to generate a getter and a setter for a propertyKT-17888
Inspection to warn about suspicious combination of == and ===KT-18826
INAPPLICABLE_LATEINIT_MODIFIER should have a quickfix to remove initializerKT-18965
Add quick-fix for USELESS_IS_CHECKKT-19126
Add quickfix for 'Property initializes are not allowed in interfaces'KT-19282
Support "flip equals" intention for String.equals extension from stdlibKT-19428
Add inspection for redundant overrides that only call the super methodKT-19514
Redundant getter / setter inspection
Fixes
KT-13985
"Add remaining branches" action does not use back-ticks correctlyKT-15422
Reduce irrelevant reporting of Destructure inspectionKT-17480
Create from usage in expression body of override function should take base type into accountKT-18482
"Move lambda argument to parenthesis" action generate uncompilable codeKT-18665
"Use destructuring declaration" must not be suggested for invisible propertiesKT-18666
"Use destructuring declaration" should not be reported on a variable used in destructuring declaration onlyKT-18978
Intention Move to class body generates incorrect code for vararg val/varKT-19006
Inspection message "Equality check can be used instead of elvis" is slightly confusingKT-19011
Unnecessary import for companion object property with extension function type is automatically insertedKT-19299
Quickfix to correct overriding function signature keeps java NotNull annotationsKT-19614
Quickfix for INVISIBLE_MEMBER doesn't offer to make member protected if referenced from subclassKT-19666
ClassCastException in IfThenToElvisIntentionKT-19704
Don't remove braces in redundant cascade ifKT-19811
Internal member incorrectly highlighted as unusedKT-19926
Naming convention inspections: pattern is validated while edited, PSE at Pattern.error()KT-19927
"Package naming convention" inspection checks FQN, but default pattern looks like for simple name
IDE. Refactorings
KT-17266
Refactor / Inline Function: reference to member of class containing extension function is inlined wrongKT-17776
Inline method of inner class adds 'this' for methods from enclosing classKT-19161
Safe delete conflicts are shown incorrectly for local declarations
JavaScript
Performance Improvements
KT-18329
JS: for loop implementation depends on parentheses
Fixes
KT-12970
Empty block expression result is 'undefined' (expected: 'kotlin.Unit')KT-13930
Safe call for a function returning 'Unit' result is 'undefined' or 'null' (instead of 'kotlin.Unit' or 'null')KT-13932
'kotlin.Unit' is not materialized in some functions returning supertype of 'Unit' ('undefined' returned instead)KT-16408
JS: Inliner loses imported values when extending a class from another moduleKT-17014
Different results in JVM and JavaScript on Unit-returning functionsKT-17915
JS: 'kotlin.Unit' is not materialized as result of try-catch block expression with empty catchKT-18166
JS: Delegated property named with non-identifier symbols can crash in runtime.KT-18176
JS: dynamic type should not allow methods and properties with incorrect identifier symbolsKT-18216
JS: Unit-returning expression used in loop can cause wrong behaviorKT-18793
Kotlin Javascript compiler null handling generates if-else block where else is always takenKT-19108
JS: Inconsistent behaviour from JVM code when modifying variable whilst calling run on itKT-19495
JS: Wrong compilation of nested conditions with if- and when-clausesKT-19540
JS: prohibit to use illegal symbols on call siteKT-19542
JS: delegate field should have unique name otherwise it can be accidentally overwrittenKT-19712
KotlinJS - providing default value of lambda-argument produces invalid js-codeKT-19793
build-crash with external varargs (Javascript)KT-19821
JS remap sourcemaps in DCEKT-19891
Runtime crash with inline function with reified type parameter and object expression: "T_0 is not defined" (JavaScript)KT-20005
Invalid source map with option sourceMapEmbedSources = "always"
Libraries
KT-19133
Specializeany
andnone
for CollectionKT-18267
Deprecate CharSequence.size extension function on the JS sideKT-18992
JS: Missing MutableMap.iterator()KT-19881
Expand doc comment of @PublishedApi
Tools. CLI
KT-18859
Strange error message when kotlin-embeddable-compiler is run without explicit -kotlin-homeKT-19287
Common module compilation: K2MetadataCompiler ignores coroutines state
Tools. Gradle
KT-17150
Support 'packagePrefix' option in Gradle pluginKT-19956
Support incremental compilation to JS in GradleKT-13918
Cannot access internal classes/methods in androidTest source set in an Android library moduleKT-17355
UsearchivesBaseName
instead ofproject.name
for module names, get rid of_main
formain
source setKT-18183
Kotlin gradle plugin uses compile task output as "friends directory"KT-19248
Documentation suggested way to enable coroutines (gradle) doesn't workKT-19397
local.properties file not closed by KotlinProperties.kt
Tools. Incremental Compile
KT-19580
IC does not detect non-nested sealed class addition
Tools. J2K
KT-10375
0xFFFFFFFFFFFFFFFFL conversion issueKT-13552
switch-to-when conversion creates broken codeKT-17379
Converting multiline expressions creates dangling operationsKT-18232
Kotlin code converter misses annotationsKT-18786
Convert Kotlin to Java generates error: Variable cannot be initialized before declarationKT-19523
J2K produce invalid code when convert some numbers
Tools. JPS
KT-17397
Kotlin JPS Builder can mark dirty files already compiled in roundKT-19176
Java 9: JPS build fails for Kotlin source referring exported Kotlin class from another module: "unresolved supertypes: kotlin.Any"KT-19833
Cannot access class/superclass from SDK on compilation of JDK 9 module together with non-9 module
Tools. REPL
KT-11369
REPL: Ctrl-C should interrupt the input, Ctrl-D should quit
Tools. kapt
KT-19996
Error with 'kotlin-kapt' plugin and dagger2, clean project required
Previous releases
This release also includes the fixes and improvements from the previous
1.1.4
release.