Releases: JetBrains/kotlin
1.1
Compiler exceptions
KT-16411
Exception from compiler when try to inline callable reference to class constructor inside objectKT-16412
Exception from compiler when try call SAM constructor where argument is callable reference to nested class inside objectKT-16413
When we create sam adapter for java.util.function.Function we add incorrect null-check for argument
Standard library
KT-6561
Drop java.util.Collections package from js stdlibjavaClass
extension property is no more deprecated due to migration problems
IDE
KT-16329
Inspection "Calls to staic methods in Java interfaces..." always reports warning undependent of jvm-target
1.0.7
Compiler
Analysis & diagnostics
KT-12044
Assertion "Rewrite at slice LEXICAL_SCOPE" for 'if' with property referencesKT-13859
Wrong error about using unrepeatable annotation when mix implicit and explicit targetsKT-14376
ClassCastException from object with valsKT-15464
Regression: compilation error "Supertypes of the following classes cannot be resolved..."KT-15334
Incorrect compilation error "val cannot be reassigned" inside do-whileKT-15995
Do not report error on libraries that bundle Kotlin runtime in classpathKT-16272
Unreported deprecation on variables called as functions- Some warnings are now reported even if there are compilation errors
- Add hint to use "-language-version", when applicable
JVM backend
KT-15473
Invalid KFunction byte code signature for callable references
IDE
Issues fixed
KT-13001
"Go to Type Declaration" is broken for stdlib typesKT-15329
Regex is not inspected properly for Java character classesKT-15448
Kotlin facet adds the same sub-elements into pluginClasspaths element inside .iml on every Maven synchronization
Inspections, Intentions and Quickfixes
KT-6217
Add inspection for unused equals expressionKT-5045
Add intention to convert between two comparisons and range check and vice versaKT-15564
Add quickfix for changing primitive cast to primitive conversion method
Issues fixed
KT-15227
"Replace if with elvis operator" silently changes semanticsKT-14889
"Replace if with elvis operator" produces red code when result is referenced in 'if'KT-13593
Do not report "Right operand of elvis operator (?:) is useless if it is null" for left argument with platform typeKT-15501
Incorrect "Add names to call arguments" when the only argument is a trailing lambdaKT-14630
Improve diagnostic message for platform type inspectionKT-15412
"Join declaration and assignment" can break code with smart castsKT-14815
"Add import" does not work with constructor reference is not workingKT-15141
Bogus import popup for when function call cannot be resolved fullyKT-14745
NPE in "Convert primary constructor to secondary"KT-15406
"Convert to secondary constructor" for enum class should put new members after enum values
Debugger
Issues fixed
KT-15282
Debugger does not hit breakpoints incrossinline
lambdas on Android
Android support
Issues fixed
KT-14358
Kotlin extensions: rename layout file: Throwable: "PSI and index do not match"KT-14920
Kotlin Lint: "Android Lint for Kotlin | Incorrect support annotation usage" inspection does not report problems
Tools
Gradle
KT-15218
Fix compatibility with Gradle 3.2+ distributions by isolating compiler processKT-13275
Support compiling with Jack&Jill enabled (Android)KT-16003
The project does not build after copy/move
Kapt
Issues fixed
KT-15814
Regression: Kapt is not working in 1.0.6
Experimental kapt
KT-15433
Kapt error messages are not being displayed in the console when compilation failsKT-15459
Kapt doesn't generate code in test moduleKT-15841
Kapt fails to build the project with StackOverflowErrorKT-15838
KaptError: Java file parsing errorKT-15675
Support using kapt with Java-only projectsKT-15803
Generate enum values with bodies properlyKT-15915
Fix annotation processors writing to classes dir with kaptKT-15524
Error messages should display associated element information (if available)KT-15697
Annotation with AnnotationTarget.PROPERTY on a Kotlin property breaks annotation processingKT-16146
Kapt doesn't work in verbose modeKT-16153
Kapt does not properly escape valid kotlin names when generating stub java classesKT-16176
Kapt reports a lot of false positive errors
1.1-RC
Reflection
KT-16358
Incompatibility between kotlin-reflect 1.0 and kotlin-stdlib 1.1 fixed
Compiler
Coroutine support
KT-15938
Changed error message for calling suspend function outside of suspendable contextKT-16092
Backend crash fixed: "Don't know how to generate outer expression" for destructuring suspend lambdaKT-16093
Annotations are retained during reading the binary representation of suspend functionsKT-16122
java.lang.VerifyError fixed in couroutines: (String, null, suspend () -> String)KT-16124
Marked as UNSUPPORTED: suspension points in default parametersKT-16219
Marked as UNSUPPORTED: suspend get/set, in/!in operators forKT-16145
Beta-2 coroutine regression fixed (wrong code generation)
Kapt3
KT-15524
Fix javac error reporting in Kotlin daemonKT-15721
JetBrains nullability annotations are now returned from Element.getAnnotationMirrors()KT-16146
Fixed work in verbose modeKT-16153
Ignore declarations with illegal Java identifiersKT-16167
Fixed compilation error with kapt arguments in build.gradleKT-16170
Stub generator now adds imports for corrected error types to stubsKT-16176
javac's finalCompiler log is now used to determine annotation processing errors
Backward compatibility
KT-16017
More graceful error message for disabled featuresKT-16073
Improved backward compatibility mode with version 1.0 on JDK dependent built-insKT-16094
Compiler considers API availability when compiling language features requiring runtime supportKT-16171
Fixed regression "Unexpected container error on Kotlin 1.0 project"KT-16199
Do not import "kotlin.comparisons.*" by default in language version 1.0 mode
Various issues
KT-16225
enumValues non-reified stub implementation references nonexistent method no moreKT-16291
Smart cast works now when getting class of instanceKT-16380
Show warning when running the compiler under Java 6 or 7
JavaScript backend
KT-16144
Fixed inlining of functions called through inheritor ("fake" override) from another moduleKT-16158
Error is not reported now when library path contains JAR file without JS metadata, report warning insteadKT-16160
Companion object dispatch receiver translation fixed
Standard library
KT-7858
Add extension functiontakeUnless
javaClass
extension property is deprecated, useinstance::class.java
instead- Massive deprecations are coming in JS standard library in
kotlin.dom
andkotlin.dom.build
packages
IDE
Configuration issues
KT-15899
Kotlin facet: language and api version for submodule setup for 1.0 are filled now as 1.0 tooKT-15914
Kotlin facet works now with multi-selected modules in Project Settings tooKT-15954
Does not suggest to configure kotlin for the module after each new kt-file creationKT-16157
freeCompilerArgs are now imported from Gradle into IDEAKT-16206
Idea no more refuses to compile a kotlin project defined as a maven projectKT-16312
Kotlin facet: import from gradle: don't import options which are set implicitly alreadyKT-16325
Kotlin facet: correct configuration after upgrading the IDE pluginKT-16345
Kotlin facet: detect JavaScript if the module has language 1.0kotlin-js-library
dependency
Coroutine support
KT-16109
Error fixed: The -Xcoroutines can only have one valueKT-16251
Fix detection of suspend calls containing extracted parameters
Intention actions, inspections and quick-fixes
2017.1 compatibility
KT-15870
"Package name does not match containing directory" inspection: fixed throwable "AWT events are not allowed inside write action"KT-15924
Create Test action: fixed throwable "AWT events are not allowed inside write action"
Bug fixes
KT-14831
Import statement and FQN are not added on converting lambda to reference for typealiasKT-15545
Inspection "join with assignment" does not change now execution order for propertiesKT-15744
Fix: intention to importsleep
wrongly suggestsThread.sleep
KT-16000
Inspection "join with assignment" handles initialization with 'this' correctlyKT-16009
Auto-import for JDK classes in .kts filesKT-16104
Don't insert modifiers (e.g. suspend) before visibility
Completion
KT-16076
Completion does not insert more FQN kotlin.text.StringKT-16088
Completion does not insert more FQN forkotlin
packageKT-16110
Keyword 'suspend' completion inside generic argumentsKT-16243
Performance enhanced after variable of typeArrayList
Various issues
KT-15291
'Find usages' now does not report property access as usage of getter method in Java class with parameterKT-15647
Exception fixed: KDoc link to member of class from different package and moduleKT-16071
IDEA deadlock fixed: when typing "parse()" in .kt fileKT-16149
Intellij Idea 2017.1/Android Studio 2.3 beta3 and Kotlin plugin 1.1-beta2 deadlock fixed
Coroutine libraries
KT-15716
Introduced startCoroutineUninterceptedOrReturn coroutine intrinsicKT-15718
createCoroutine now returns safe continuationKT-16155
Introduced createCoroutineUnchecked intrinsic
Gradle support
KT-15829
Gradle Kotlin JS plugin: removed false "Duplicate source root:" warning for kotlin filesKT-15902
JS: gradle task output is now considered as source set outputKT-16174
Error fixed during IDEA-Gradle synchronization for Kotlin JSKT-16267
JS: fixed regression in 1.1-beta2 for multi-module gradle projectKT-16274
Kotlin JS Gradle unexpected compiler error / absolute path to output fileKT-16322
Circlet project Gradle import issue fixed
REPL
Kotlin 1.1-Beta2
Language related changes
KT-7897
Do not require to call enum constructor for each entry if all parameters have default valuesKT-8985
Support T::class.java for T with no non-null upper boundKT-10711
Type inference works now on generics for callable referencesKT-13130
Support exhaustive when for sealed treesKT-15898
Cannot use type alias to qualify enum entryKT-16061
Smart type inference on callable references in 1.1 mode only
Reflection
KT-8384
Access to the delegate object for a KProperty
Compiler
Coroutine support
KT-15016
VerifyError with coroutine: fix processing of uninitialized instancesKT-15527
Coroutine compile error: wrong code generated for safe qualified suspension pointsKT-15552
Accessor implementation of suspended function produces AbstractMethodErrorKT-15715
Coroutine generate invalid invokeKT-15820
Coroutine Internal Error regression with dispatcher + this@KT-15821
Coroutine internal error regression: Could not inline method call applyKT-15824
Coroutine iterator regression: Object cannot be cast to java.lang.BooleanKT-15827
Show Kotlin Bytecode shows wrong bytecode for suspending functionsKT-15907
Bogus error about platform declaration clash with private suspend functionsKT-15933
Suspend getValue/setValue/provideDelegate do not work properlyKT-15935
Private suspend function in file causes UnsupportedOperationException: Context does not have a "this"KT-15963
Coroutine: runtime error if returned object "equals" does not like comparison to SUSPENDED_MARKERKT-16068
Prohibit inline lambda parameters of suspend function type
Diagnostics
KT-1560
Report diagnostic for a declaration of extension function which will be always shadowed by member functionKT-12846
Forbid vararg of NothingKT-13227
NO_ELSE_IN_WHEN in when by sealed class instance if is-check for base sealed class is usedKT-13355
Type mismatch on inheritance is not reported on abstract classKT-15010
Missing error on an usage of non-constant property in annotation default argumentKT-15201
Compiler is complaining about when statement without null condition even if null is checked before.KT-15736
Report an error on type alias expanded to a nullable type on LHS of a class literalKT-15740
Report error on expression of a nullable type on LHS of a class literalKT-15844
Do not allow to access primary constructor parameters from property with custom getterKT-15878
Extension shadowed by member should not be reported for infix/operator extensions when member is non-infix/operatorKT-16010
Do not highlight lambda parameters as unused in 1.0 compatibility mode
Kapt
KT-15675
Kapt3 does not generate classes annotated with AutoValueKT-15697
If an annotation with AnnotationTarget.PROPERTY is tagged on a Kotlin property, it breaks annotation processingKT-15803
Kotlin 1.0.6 broke DaggerKT-15814
Regression: Kapt is not working in 1.0.6 / 1.1-M04 / 1.1-BetaKT-15838
kapt3 1.1-beta: KaptError: Java file parsing errorKT-15841
1.1-Beta + kapt3 fails to build the project with StackOverflowErrorKT-15915
Kapt: Kotlin class target directory is cleared before compilation (and after kapt task)KT-16006
Cannot determine if type is an error type during annotation processing
Exceptions / Errors
KT-8264
Internal compiler error: java.lang.ArithmeticException: BigInteger: modulus not positiveKT-14547
NoSuchElementException when compiling callable reference without stdlib in the classpathKT-14966
Regression: VerifyError on access super implementation from delegateKT-15017
Throwing exception in the end of inline suspend-functions lead to internal compiler errorKT-15439
Resolved call is not completed for generic callable reference in if-expressionKT-15500
Exception passing freeCompilerArgs to gradle pluginKT-15646
InconsistentDebugInfoException when stepping overthrow
KT-15726
Kotlin compiles invalid bytecode for nested try-catch with returnKT-15743
Overloaded Kotlin extensions annotates wrong parameters in javaKT-15868
NPE when comparing nullable doubles for equalityKT-15995
Can't build project with DataBinding using Kotlin 1.1: incompatible language versionKT-16047
Internal Error: org.jetbrains.kotlin.util.KotlinFrontEndException while analyzing expression
Type inference issues
KT-10268
Wrong type inference related to captured typesKT-11259
Wrong type inference for Java 8 Stream.collect.KT-12802
Type inference failed when irrelevant method reference is usedKT-12964
Support type inference for callable references from parameter types of an expected function type
Smart cast issues
KT-13468
Smart cast is broken after assignment of 'if' expressionKT-14350
Make smart-cast work as it does in 1.0 when -language-version 1.0 is usedKT-14597
When over smartcast enum is broken and breaks all other "when"KT-15792
Wrong smart cast after y = x, x = null, y != null sequence
Various issues
KT-15236
False positive: Null can not be a value of a non-null typeKT-15677
Modifiers and annotations are lost on a (nullable) parenthesized typeKT-15707
IDEA unable to parallel compile different projectsKT-15734
Nullability is lost during expansion of a type aliasKT-15748
Type alias constructor return type should have a corresponding abbreviationKT-15775
Annotations are lost on value parameter types of a function typeKT-15780
Treat Map.getOrDefault overrides in Java the same way as in 1.0.x compiler with language version 1.0KT-15794
Refine backward compatibility mode for additional built-ins members from JDKKT-15848
Implement additional annotation processing in theKotlinScriptDefinitionFromAnnotatedTemplate
for SamWithReceiver pluginKT-15875
Operation has lead to overflow for 'mod' with negative first operandKT-15945
Feature Request: Andrey Breslav to grow a beard.
JavaScript backend
Coroutine support
KT-15834
JS: Local delegate in suspend functionKT-15892
JS: safe call of suspend functions causes compiler to crash
Diagnostics
Kotlin 1.1-Beta
Reflection
KT-15540
findAnnotation returns T?, but it throws NoSuchElementException when there is no matching annotation- Reflection API in
kotlin-reflect
library is moved tokotlin.reflect.full
package, declarations in the packagekotlin.reflect
are left deprecated. Please migrate according to the hints provided.
Compiler
Coroutine support
KT-15379
Allow invoke on instances of suspend function type inside suspend functionKT-15380
Support suspend function type with value parametersKT-15391
Prohibit suspend function type in supertype listKT-15392
Prohibit local suspending functionKT-15413
Override regular functions with suspending ones and vice versaKT-15657
Refine dispatchResume conventionKT-15662
Prohibit callable references to suspend functions
Diagnostics
KT-9630
Cannot create extension function on intersection of typesKT-11398
Possible false positive for INACCESSIBLE_TYPEKT-13593
Do not report USELESS_ELVIS_RIGHT_IS_NULL for left argument with platform typeKT-13859
Wrong error about using unrepeatable annotation when mix implicit and explicit targetsKT-14179
Prohibit to use enum entry as type parameterKT-15097
Inherited platform declarations clash: regression under 1.1 when indirectly inheriting from java.util.MapKT-15287
Kotlin runtime 1.1 and runtime 1.0.x: Overload resolution ambiguityKT-15334
Incorrect "val cannot be reassigned" inside do-whileKT-15410
"Protected function call from public-API inline function" for protected constructor call
Kapt3
KT-15145
Kapt3: Doesn't compile with multiple errorsKT-15232
Kapt3 crash due to java codepageKT-15359
Kapt3 exception while annotation processing (DataBindings AS2.3-beta1)KT-15375
Kapt3 can't find ${env.JDK_18}/lib/tools.jarKT-15381
Unresolved references: R with Kapt3KT-15397
Kapt3 doesn't work with databindingKT-15409
Kapt3 Cannot find the getter for attribute 'android:text' with value type java.lang.String on android.widget.EditText.KT-15421
Kapt3: Substitute types from Psi instead of writing NonExistentClass for generated type namesKT-15459
Kapt3 doesn't generate code in test moduleKT-15524
Kapt3 - Error messages should display associated element information (if available)KT-15713
Kapt3: circular dependencies between Gradke tasks
Exceptions / Errors
KT-11401
Error type encountered for implicit invoke with function literal argumentKT-12044
Assertion "Rewrite at slice LEXICAL_SCOPE" for 'if' with property referencesKT-14011
Compiler crash when inlining: lateinit property allRecapturedParameters has not been initializedKT-14868
CCE in runtime while converting Number to CharKT-15364
VerifyError: Bad type on operand stack on ObserverIterator.hasNextKT-15373
Internal error when running TestNG testKT-15437
VerifyError: Bad local variable type on simplest provideDelegateKT-15446
Property reference on an instance of subclass causes java.lang.VerifyErrorKT-15447
Compiler backend error: "Don't know how to generate outer expression for class"KT-15449
Back-end (JVM) Internal error: Couldn't inline method callKT-15464
Regression: "Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:"KT-15575
VerifyError: Bad type on operand stack
Various issues
KT-11962
Super call with default parameters check is generated for top-level functionKT-11969
ProGuard issue with private interface methodsKT-12795
Write information about sealed class inheritors to metadataKT-13718
ClassFormatError on aspectj instrumentationKT-14162
Support @InlineOnly on inline propertiesKT-14705
Inconsistent smart casts on when enum subjectKT-14917
No way to pass additional java command line options to kontlinc on WindowsKT-15112
Compiler hangs on nested lock compilationKT-15225
Scripts: generate classes with names that are valid Java identifiersKT-15411
Unnecessary CHECKCAST bytecode when dealing with nullKT-15473
Invalid KFunction byte code signature for callable referencesKT-15582
Generated bytecode is sometimes incompatible with Java 9KT-15584
Do not mark class files compiled with a release language version as pre-releaseKT-15589
Upper bound for T in KClass can be implicitly violated using generic functionKT-15631
Compiler hang in MethodAnalyzer.analyze() fixed
JavaScript backend
Coroutine support
KT-15362
JS: Regex doesn't work (properly) in coroutineKT-15366
JS: error when calling inline function with optional parameters from another module inside coroutine lambdaKT-15367
JS:for
against iterator with suspendnext
andhasNext
functions does not workKT-15400
suspendCoroutine is missing in JS BEKT-15597
Support non-tail suspend calls inside named suspend functionsKT-15625
JS: return statement without value surrounded bytry..finally
in suspend lambda causes compiler errorKT-15698
Move coroutine intrinsics to kotlin.coroutine.intrinsics package
Diagnostics
KT-14577
JS: do not report declaration clash when common redeclaration diagnostic appliesKT-15136
JS: prohibit inheritance from kotlin Function{N} interfaces
Language features support
KT-12194
Exhaustiveness check isn't generated for when expressions in JS at allKT-15590
Support increment on inlined properties
Native / external
KT-8081
JS: native inherited class shouldn't require super or primary constructor callKT-13892
JS: restrictions for native (external) functions and propertiesKT-15307
JS: prohibit inline members inside external declarationsKT-15308
JS: prohibit non-abstract members inside external interfaces except nullable properties (with accessors)
Exceptions / Errors
KT-7302
KotlinJS - Trait with optional parameter causes compilation errorKT-15325
JS: ReferenceError: $receiver is not definedKT-15357
JS:when
expression in primary-from-secondary constructor callKT-15435
Call to 'synchronize' crashes JS backendKT-15513
JS: empty do..while loop crashes compiler
Various issues
- [
KT-4160
](https://youtrack.jetbra...
Kotlin 1.0.6
Compiler
KT-12224
Add a diagnostic message for@JvmOverloads
on interface methodsKT-14186
Vararg parameters were generated as simple array parameters for JavaKT-12664
Inner class was not found when a sub-directory with the same name is present in an outer class directoryKT-14408
No-arg constructor should always be generated if all primary constuctor arguments have a default valueKT-14469
StackOverflowError at EffectiveVisibilityKt.forVisibilityKT-14581
NullPointerException at StackTransformationUtils when inlining extension function to ado-while
loop conditionKT-14678
Internal error with@JvmOverloads
on constructor of inner classKT-14751
Class can't be resolved (related to annotation on types)KT-14774
Incorrect inner class modifier was generated forsealed
inner classes
Stdlib
KT-14883
Performance tune: Use byte array buffer directly to read the entire contents of a file
JS
KT-12976
Print human-friendly error message on wrong modules orderKT-13792
Inner class of local class did not capture the enclosing class properlyKT-13912
NullPointerException at JsSourceGenerationVisitor when a Lambda with empty if block passed to inline functionKT-14535
Fix broken modification of captured variables defined by a destructuring declarationKT-14752
Fix exception while typing@JsName
annotation in editor- Update JavaScript platform declarations (DOM, Events, etc) to latest spec
- Types that exist in runtime are now generated as abstract classes while non-existing types are now interfaces
IDE
KT-14215
Show members of anonymous objects in File Structure windowKT-14217
Support visibility filters in File Structure window- Implement Kotlin facet
KT-13811
Expose JVM target setting in IntelliJ IDEA plugin compiler configuration UI
Issues fixed
KT-6535
"Go to Symbol" did not include Enum constantsKT-10700
Run tests via Gradle does not work for Kotlin sourcesKT-12385
Closing quote was not automatically inserted when typing Char literalKT-12445
Fix IllegalStateException in the class chooser if Kotlin script file existsKT-13279
Deleting<
in function call expression should delete matching>
KT-13795
Escaped chars in char literals was not highlightedKT-14411
Code folding did not work in lambdas after some declatationKT-14585
ConvertJavaCopyPasteProcessor showed a dialog under write actionKT-14741
Default JVM target was inferred to 1.8 for module with dependency on JDK 1.7KT-13354
Fix unstable resolve of value parameter types in IDE testsKT-13400
KDoc: Fully-qualified names were resolved incorrectlyKT-13197
KDoc: Code completion should suggest relevant identifiers for reference-value tagsKT-10665
KDoc: Do not show full KDoc popup on ctrl-hovering over declarationsKT-13038
Quick doc: HTML entities in code blocks should be escapedKT-13389
Quick Doc: Hyperlinks to properties and functions did nothingKT-7739
Quick Doc: Type names in should be navigableKT-7995
Quick Doc: ReplaceWith value should be shown for deprecated elementsKT-13197
Quick Doc: Markdown indented code blocks were not recognizedKT-11032
Quick Doc:@sample
was ignoredKT-13699
Quick documentation should show supertype docs for overridden Java methodsKT-14804
Avoid loading ast for decompiled filesKT-5897
PressingEnter
after binary operations places the caret at the wrong indentationKT-10828
Support empty Unit function formatting on one lineKT-15123
Do indent adjustment on the fly only for the first element in the lineKT-15128
Do not assign type parameters from original proto if type is substituted with Any
Inspections, Intentions and Quickfixes
KT-12095
Implement "Join Declaration and Assignment" intentionKT-12701
Add a quickfix for@JvmOverloads
on functions without default parameters, fix corresponding inspection rangeKT-14326
Implement Intention + Inspection to remove empty secondary constructor bodyKT-14521
Add Inspection to remove empty primary constructorKT-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-13259
"Redundant if statement" inspection: report also assignments (as done for Java)KT-13393
Implement intention to convert function reference to lambdaKT-12100
Add "Converttry-finally
touse
" intentionKT-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 type
Issues fixed
KT-14396
"Remove redundant.let
call" was not proposed for binary operationsKT-14552
ChangeParameterTypeFix held a strong reference to PSIKT-14745
Fix KotlinNullPointerException in ConvertPrimaryConstructorToSecondaryKT-14791
Fix incorrect "remove redundant.let
" inspection for value with smart castKT-14733
Fix incorrect intention to addout
/in
variance with inner classesKT-13777
Simplify condition intention should work in casebooleanCond == true
KT-14890
Inspection to remove curly braces from class definition should not trigger for nested classes followed by a secondary constructorKT-12633
Intention "Specify type explicitly" should offer all bounds for platform typesKT-14100
Auto-import should suggest Enum constantsKT-15087
Don't suggestsomething == true
simplification for flexible typesKT-14982
"Convert reference to lambda" worked incorrectly with static methodsKT-14985
"Convert reference to lambda" worked incorrectly withapply
KT-15028
Fix ClassCastException:KtParameter
cannot be cast toKtFunction
KT-14063
N...
1.1-M04
1.1-M04 (EAP-4)
Language related changes
KT-4481
compareTo on primitive floats/doubles should behave naturallyKT-11016
Allow to annotate internal API to be used inside public inline functionsKT-11128
Member vs SAM conversion with more specific signatureKT-12215
Allowing to access protected members in public inline members creates potential binary compatibility problemKT-12531
Report error when delegated member hides a supertype memberKT-14650
mod function on integral types is inconsistent with BigInteger.modKT-14651
Floating point comparisons shall operate according to IEEE754KT-14852
It should not be possible to use typealias that abbreviates a generic projection as a constructorKT-15226
Restrict delegation to java 8 default methods
Reflection
KT-12250
Provide API for getting a single annotation by its classKT-14939
VerifyError in accessors for bound property reference with receiver 'null'
Compiler
Coroutines
- Major coroutines redesign - see
KEEP
for details
Optimizations
KT-11734
Optimize const vals by inlining them at call siteKT-13570
Generate TABLE/LOOKUPSWITCH if all when branches are const integer valuesKT-14746
Captured Refs should not be volatile
Various issues
KT-10982
java.util.Map::compute* poor usabilityKT-12144
Type inference incorporation error on SAM adapter callKT-14196
Do not allow class literal with expression in annotation argumentsKT-14453
Regression: Type inference failed: inferred type is T but T was expectedKT-14774
Incorrect inner class modifier generated for sealed inner classesKT-14839
CompilationException when calling inline fun with first arg of 2 (w/defaults) within catch block of Java exception typeKT-14855
Projection in type aliases should be allowed in supertypes and constructor invocations if they expand to non-toplevel projectionsKT-14887
Unhelpful error "public-API inline function cannot access non-public-API" for unresolved call inside inline functionKT-14930
Android: creating Kotlin activity: UOE at EmptyList.removeAll()KT-15146
Kapt3 no source files on unittestKT-15272
Exception when building 2 projects at the same time
JavaScript backend
dynamic type
KT-8207
Extension function on dynamic resolves on any typeKT-6579
JS: prohibit to usein
and!in
on dynamicKT-6580
JS: prohibit to use more than one argument in indexed access on dynamicKT-13615
JS: don't generate guard for catch with dynamic type
@native/external
KT-13893
JS: Replace @Native annotation with external modifierKT-12877
Allow to specify module for native JS declarationsKT-14806
JS: name of a local variable clashes with native declaration from global scope
Diagnostics
KT-13889
JS: prohibit overriding native functions with default values assigned to parametersKT-13894
JS: prohibit native declaration inside non-nativeKT-13895
JS: RUNTIME annotationsKT-13896
JS: prohibit external(native) extension functions and propertiesKT-13897
JS: prohibit native(external) files and typealiasesKT-13910
JS: prohibit override members of native declaration with overloadsKT-14027
JS: prohibit native inner classesKT-14029
JS: prohibit private members inside native declarationsKT-14037
JS: prohibit using native interfaces in RHS of ISKT-14038
JS: warn when using native interface in RHS of ASKT-15130
JS: prohibit inheritance native from non-nativeKT-12600
JS: type check with a native interface compiles but crash at runtimeKT-13307
KotlinJS cannot cast to a marker interface.
Language features support
KT-13573
JS: support bound callable referenceKT-14634
JS: support enumValues / enumValueOfKT-15058
JS: replace suspend function convention
Issues related to kotlin.Any
KT-7664
JS: "x is Any" is always falseKT-7665
JS: creating Any instance crashes on runtimeKT-15131
JS: don't mangle Any.equals
Various issues
KT-14033
JS: don't optimize (based on type information) by default expressions with any of "as, is, !is, as?, ?., !!"KT-13616
JS: don't omit guard for catch with Throwable typeKT-12976
JS: human-friendly error message on wrong modules orderKT-15212
JS: link unqualified names injs(...)
function to local functions in outer Kotlin function by nameKT-14750
JS: remove unnecessary functions from kotlin.js
Bugfixes
KT-12566
JS: inner local class should refer to captured variables via its outer classKT-12527
Reified is-check works wrongly for chained callsKT-12586
JS: compiler crashes when call inline function inside string templeateKT-13164
Ecma TypeError on extending local class from inner oneKT-14888
JS: Compiler error: Cannot get FQ name of local class: lazy classKT-14748
JS: eliminate unused functionsKT-14999
JS: Operator set + labeled lambdasKT-15007
JS: Dies when checking if exception implements interface. TypeError: Cannot read property 'baseClasses' of undefinedKT-15073
KT to JS losing extension function's receiverKT-15169
JS: compiler fails on annotated expression with TRE at Translation.doTranslateExpression()KT-13522
JS: can't use captured reified type paramter in jsClassKT-13784
JS: lambda was not inlined for function with reified parameter declared in another moduleKT-13792
JS: inner class of local class does not capture enclosing class properlyKT-15327
JS: EnumvalueOf
should throw IllegalArgumentException
Standard library
KT-7930
Make String.toInt(), toLong(), etc. nullable instead of throwing exceptionKT-8220
Add #peek method to Sequence similar to Stream.peekKT-8286
Int.toString and String.toInt with base as parameterKT-14034
JS: unsafeCast functionKT-15181
Some source files are missing from published sources on Bintray
IDE
1.1-M03
1.1-M03 (EAP-3)
New language features
KT-2964
Underscores in integer literals
(see KEEP)KT-3824
Underscore in lambda for unused parameters
(see KEEP)KT-2783
Allow to skip some components in a multi-declaration
(see the same KEEP)KT-11551
limited scope for dsl writers
(see KEEP)
Compiler
Coroutines related issues
- Make fields for storing lambda parameters non-final (as they get assigned within
invoke
call) KT-14719
Make initial continuation able to be resumed with exceptionKT-14636
Coroutine fields should not be volatileKT-14718
Validate label value of coroutine in case of no suspension points
Typealises related issues
KT-13514
Type inference doesn't work with generic typealiasesKT-13837
Error "Type alias expands to T, which is not a class, an interface, or an object"
should also appear for local type aliasesKT-14307
Local recursive type alias should be an errorKT-14400
Compiler Error IllegalStateException: kotlin.NotImplementedError when anonymous
object inherits from typealiasKT-14377
Expected error: Modifier 'companion' is not applicable to 'typealias'KT-14498
typealias allows to circumvent variance annotationsKT-14641
An exception while processing a nested type alias access after a dot
Various issues
KT-550
Properties without initializer but with get must infer type from getterKT-8816
Generate Kotlin parameter names in the same form as expected for Java 8 reflectionKT-10569
Cannot iterate over values of an enum class when it is used as a generic parameter
(see KEEP)KT-13557
VerifyError with delegated local variable used in object expressionKT-13890
IllegalAccessError when invoking protected method with default argumentsKT-14012
Back-end (JVM) Internal error every first compilation after the source code changeKT-14201
UnsupportedOperationException: Don't know how to generate outer expression for anonymous
object with invoke and non-trivial closureKT-14318
Repeated annotations resulting from type alias expansion should be reportedKT-14347
Report UNUSED_PARAMETER/VARIABLE on named unused lambda parameters/destructuring entriesKT-14352
@SinceKotlin is not taken into account for companion object member referenced via
type aliasKT-14357
Try-catch used in false condition generates CompilationExceptionKT-14502
Prohibit irrelevant modifiers and annotations on destructured parameters in lambdaKT-14692
Change resolution scope for componentX in lambda parametersKT-14824
Back-end (JVM) Internal error: Couldn't inline method call 'get' into local final fun
StorageComponentContainer.(): kotlin.UnitKT-14798
Gradle 3.2 AssertionError: Built-in class kotlin.ParameterName is not found
JS
Feature support
KT-6985
Support Exceptions in JSKT-13574
JS: support coroutinesKT-14422
JS: Support destructuring in lambda parametersKT-14507
JS: allow to skip some components in a multi-declaration
Library updates
KT-14637
JS: Missing ArrayList.ensureCapacity
Other issues
KT-2328
js: kotlin exceptions must inherit ErrorKT-5537
Drop Cloneable in JSKT-7014
JS: generate code which more friendly to js tools (minifier, optimizer, linter etc)KT-8019
JS: no stackTrace in exception subclassesKT-10911
JS: Throwable properties aren't supported wellKT-13912
JS: Compiler NPE at JsSourceGenerationVisitor. Lambda with empty [if] block passed
to inline functionKT-14535
JS: Broken modification of captured variables defined by a destructuring declaration
Standard Library
-
KT-2084
Common API should be available without referring to java.* packagesNow those common types, which are supported on all platforms, are available in
kotlin.*
packages, and are imported by default. These include:ArrayList
,HashSet
,LinkedHashSet
,HashMap
,LinkedHashMap
inkotlin.collections
Appendable
andStringBuilder
inkotlin.text
Comparator
inkotlin.comparisons
On JVM these are just typealiases of the good old types fromjava.util
andjava.lang
-
KT-13554
Introduce bitwise operationsand
/or
/xor
/inv
for Byte and Short -
KT-13582
New platform-agnostic extensions for arrays:contentEquals
to compare arrays'
content for equality,contentHashCode
to get hashcode of array's content, andcontentToString
to get the string representation of array elements. -
KT-14510
Generic constraints ofArray.flatten
signature were relaxed a bit to make it just usable. -
KT-14789
ProvideKotlinVersion
class, which allows to get the current version of the standard
library and compare it with some otherKotlinVersion
value.
IDE
KT-14409
Incorrect "Variable can be declared immutable" inspection for local delegated variableKT-14431
Create quick-fix on UNUSED_PARAMETER/VARIABLE when it can be replaced with one underscoreKT-14794
Add /Specify type/Remove explicit type intentions for property with getters if type
can be inferredKT-14752
Exception while typing @JsName annotation in editor
Previous releases
This release also includes the fixes and improvements from releases 1.0.5-2
, 1.1-M01
and 1.1-M02
1.0.5-2
- Fixed compatibility with Android Studio 2.3 Canary
KT-14751
Fixed inability to resolve references to Java classes with type annotations on inner class or enum constructor parametersKT-14752
Fixed error when analyzing incomplete@JsName
annotationKT-14724
Kotlin code compiled to JavaScript with Gradle callsmain
function by default
1.0.5
Compiler
KT-10210
Annotation written before a block-level expression now applies to the entire expression, not to its first prefixKT-13565
Remove net/sf/cglib/core/* classes from compiler jarsKT-2787
Set reference target and report custom error instead unresolved reference for cases:
interface, generic parameter, object + invoke, class without companion.KT-13408
Fix decompilation of types based on local classifiersKT-13730
Fix signature clash problems when extending Hashtable and similar classes- Support for property reference inlining
KT-11123
Fix implicit type arguments resolution for inner classesKT-11263
Refine diagnostic about type arguments for an outer classKT-12238
,KT-10627
Fix inference when captured type is used as a lambda parameter typeKT-13950
Fix false positive "Cannot capture" error reportingKT-13381
,KT-13396
Prevent generation of delegations to interfaces private methodsKT-13295
Add warning for redundantlateinit
modifierKT-13952
,KT-13005
Prohibit return type mismatch for delegation membersKT-8154
Fix AssertionError when delegating base interface and implementing derived interfaceKT-13969
Fix VerifyError for do-while, continue and a condition in a local variableKT-14025
Fix CCE in OverloadResolver.findRedeclarationsKT-14147
Report error on declaring 'getClass' in class or packageKT-14146
Fix detection of accidental overrides with synthetic bridgeKT-14188
Do not generate mutable collection stubs for Kotlin-only signaturesKT-14195
Write generic signature for autogenerated toArrayKT-13698
Optimize method count for collection stubsKT-14243
Fix wrong invocation descriptor on calling implicitly generated implementation in classKT-11585
Fix "Cannot pop operand off an empty stack" exception when accessing@JvmStatic
propertyKT-14242
Fix runtime exception onarray?.size
- Forbid use of expressions to the left of
::class
KT-13926
Report error on usages of classes deprecated with DeprecationLevel.HIDDENKT-14298
Add-api-version
command line optionKT-5044
Generate more efficient bytecode forin
on ranges withdouble
,float
andlong
element typeKT-14357
Fixed CompilationException in case of try-catch used in false conditionKT-14012
Fixed internal error on every first compilation after the source code changeKT-14304
Fixed inconsistent reporting of 'variable must be initialized' after assignment
in anonymous objectKT-14158
Fixed possible exception thrown when reporting unreachable code diagnosticsKT-7929
,KT-8442
Fixed various exceptions caused by trying to use destructuring declarations outside of a code blockKT-14447
Fixed compiler exception if a value was changed but not usedKT-14201
Fixed compiler exception for anonymous object with invoke and non-trivial closureKT-13890
Fixed incorrect bytecode generation causing IllegalAccessError at runtime for invoking protected method with default argumentsKT-9297
Report "External declaration cannot be abstract" on property with external accessor
Reflection
- Various runtime performance optimizations
KT-13700
Fix reflective access on overridden generic property reference
IDE
KT-12852
Support breadcrumbs for KotlinKT-13474
Fix performance of typing super call lambda- Re-highlight only single function after local modifications
- Show "Variables and values captured in a closure" highlighting only for usages
KT-9125
Support Type Hierarchy on references inside of super type call entriesKT-13838
Add file name to the presentation of private top-level declaration (Go to symbol, etc.)KT-12697
Expand selection selects ": Type"KT-13693
Expand selection stops on brackets in indexing expressionKT-4519
Show first line for folded block commentsKT-5193
Multiline strings are now foldableKT-13473
Structure view now shows local functionsKT-11775
Added icons for class initializersKT-11776
Primary constructor members are shown in Project view when "Show members" is enabledKT-13326
Speed search is now enabled in add import popupKT-3363
Support "Surround withif
" for expressionsKT-13927
exception Fixed on adding second inner class when there is a usage in Java of the first oneKT-9009
Support for auto-import of Java static methods- Improved performance for Find Usages of convention functions
KT-13643
Support for Find Usages ofinvoke
operator methodKT-13605
Find Usages no longer fails to find usages of component function defined in JavaKT-13953
Import member popup no longer suggests methods when only property or variable is validKT-9019
,KT-10178
Improved display of structure when "Group by file structure" is enabledKT-13475
Show context when invoking Show Implementations from Find Usages popupKT-13140
"Copy Reference" now copies JVM name of class or method to clipboardKT-10095
Support "Show expression type" in variable declaration positionKT-10588
Show smart cast information in "Show expression type"KT-11310
,KT-8803
Use short names in Show Expression TypeKT-11640
Optimize imports prevents accidental changes in resolve because of import prioritiesKT-13976
Search Everywhere: Render function parameter typesKT-13977
Search Everywhere: Render extension type in prefix positionKT-12966
Fixed possible deadlock in IDEKT-13136
Reduced plugin memory usage on projects with large number of modulesKT-13861
Correct Parameter Info for SAM adaptersKT-13981
,KT-5117
Add indent before colon of super types list on new lineKT-7718
Fixed indent in constructor delegate callKT-13584
Fixed IDE misbehavior (exceptions, index corruption) after Java to Kotlin conversionKT-12402
Fixed resolve of databinding
classes inside the IDEKT-14131
Formatter now removes spaces in labeled expressionsKT-14327
Allow to select single word on double click in one line doc comment- [
KT-14452
](https://youtrack.jetbrains.com/issue/KT-14452...