Skip to content

1.1.4

Compare
Choose a tag to compare
@max-kammerer max-kammerer released this 15 Aug 06:21
· 36 commits to 1.1.4 since this release

Android

New Features

  • KT-11048 Android Extensions: cannot evaluate expression containing generated properties

Performance Improvements

  • KT-10542 Android Extensions: No cache for Views
  • KT-18250 Android Extensions: Allow to use SparseArray as a View cache

Fixes

  • KT-11051 Android Extensions: completion of generated properties is unclear for ambiguous ids
  • KT-14086 Android-extensions not generated using flavors dimension
  • KT-14912 Lint: "Code contains STOPSHIP marker" ignores suppress annotation
  • KT-15164 Kotlin Lint: problems in delegate expression are not reported
  • KT-16934 Android Extensions fails to compile when importing synthetic properties for layouts in other modules
  • KT-17641 Problem with Kotlin Android Extensions and Gradle syntax
  • KT-17783 Kotlin Lint: quick fixes to add inapplicable @RequiresApi and @SuppressLint make code incompilable
  • KT-17786 Kotlin Lint: "Surround with if()" quick fix is not suggested for single expression get()
  • KT-17787 Kotlin Lint: "Add @TargetApi" quick fix is not suggested for top level property accessor
  • KT-17788 Kotlin Lint: "Surround with if()" quick fix corrupts code in case of destructuring declaration
  • KT-17890 [kotlin-android-extensions] Renaming layout file does not rename import
  • KT-18012 Kotlin Android Extensions generates @NotNull properties for views present in a configuration and potentially missing in another
  • KT-18545 Accessing to synthetic properties on smart casted Android components crashed compiler

Compiler

New Features

  • KT-10942 Support meta-annotations from JSR 305 for nullability qualifiers
  • KT-14187 Redundant "is" check is not detected
  • KT-16603 Support inline suspend function
  • KT-17585 Generate state machine for named functions in their bodies

Performance Improvements

  • KT-3098 Generate efficient comparisons
  • KT-6247 Optimization for 'in' and '..'
  • KT-7571 Don't box Double instance to call hashCode on Java 8
  • KT-9900 Optimize range operations for 'until' extension from stdlib
  • KT-11959 Unnceessary boxing/unboxing due to Comparable.compareTo
  • KT-12158 Optimize away boxing when comparing nullable primitive type value to primitive value
  • KT-13682 Reuse StringBuilder for concatenation and string interpolation
  • KT-14323 IntelliJ lockup when using Apache Spark UDF
  • KT-14375 Kotlin compiler failure with spark when creating a flexible type for scala.Function22
  • KT-15235 Escaped characters in template strings are generating inefficient implementations
  • KT-17280 Inline constant expressions in string templates
  • KT-17903 Generate 'for-in-indices' as a precondition loop
  • KT-18157 Optimize out trivial INSTANCEOF checks
  • KT-18162 Do not check nullability assertions twice for effectively same value
  • KT-18164 Do not check nullability for values that have been already checked with !!
  • KT-18478 Unnecessary nullification of bound variables
  • KT-18558 Flatten nested string concatenation
  • KT-18777 Unnecessary boolean negation generated for 'if (expr !in range)'

Fixes

  • KT-1809 Confusing diagnostics when wrong number of type arguments are specified and there are several callee candiates
  • KT-2007 Improve diagnostics when + in not resolved on a pair of nullable ints
  • KT-5066 Bad diagnostic message for ABSTRACT_MEMBER_NOT_IMPLEMENTED for (companion) object
  • KT-5511 Inconsistent handling of inner enum
  • KT-7773 Disallow to explicitly extend Enum class
  • KT-7975 Unclear error message when redundant type arguments supplied
  • KT-8340 vararg in a property setter must be an error
  • KT-8612 Incorrect error message for var extension property without getter or setter
  • KT-8829 Type parameter of a class is not resolved in the constructor parameter's default value
  • KT-8845 Bogus diagnostic on infix operation "in"
  • KT-9282 Improve diagnostic on overload resolution ambiguity when a nullable argument is passed to non-null parameter
  • KT-10045 Not specific enough compiler error message in case of trying to call overloaded private methods
  • KT-10164 Incorrect error message for external inline method
  • KT-10248 Smart casts: Misleading error on overloaded function call
  • KT-10657 Confusing diagnostic when trying to invoke value as a function
  • KT-10839 Weird diagnostics on callable reference of unresolved class
  • KT-11119 Confusing error message when overloaded method is called on nullable receiver
  • KT-12408 Generic information lost for override values
  • KT-12551 Report "unused expression" on unused bound double colon expressions
  • KT-13749 Error highlighting range for no 'override' modifier is bigger than needed
  • KT-14598 Do not report "member is final and cannot be overridden" when overriding something from final class
  • KT-14633 "If must have both main and else branches" diagnostic range is too high
  • KT-14647 Confusing error message "'@receiver:' annotations could be applied only to extension function or extension property declarations"
  • KT-14927 TCE in QualifiedExpressionResolver
  • KT-15243 Report deprecation on usages of type alias expanded to a deprecated class
  • KT-15804 Prohibit having duplicate parameter names in functional types
  • KT-15810 destructuring declarations don't work in scripts on the top level
  • KT-15931 IllegalStateException: ClassDescriptor of superType should not be null: T by a
  • KT-16016 Compiler failure with NO_EXPECTED_TYPE
  • KT-16448 Inline suspend functions with inlined suspend invocations are miscompiled (VerifyError, ClassNotFound)
  • KT-16576 Wrong code generated with skynet benchmark
  • KT-17007 Kotlin is not optimizing away unreachable code based on const vals
  • KT-17188 Do not propose to specify constructor invocation for classes without an accessible constructor
  • KT-17611 Unnecessary "Name shadowed" warning on parameter of local function or local class member
  • KT-17692 NPE in compiler when calling KClass.java on function result of type Unit
  • KT-17820 False "useless cast" when target type is flexible
  • KT-17972 Anonymous class generated from lambda captures its outer and tries to set nonexistent this$0 field.
  • KT-18029 typealias not working in .kts files
  • KT-18085 Compilation Error:Kotlin: [Internal Error] kotlin.TypeCastException: null cannot be cast to non-null type com.intellij.psi.PsiElement
  • KT-18115 Generic inherited classes in different packages with coroutine causes java.lang.VerifyError: Bad local variable type
  • KT-18189 Incorrect generic signature generated for implementation methods overriding special built-ins
  • KT-18234 Top-level variables in script aren't local variables
  • KT-18413 Strange compiler error - probably incremental compiler
  • KT-18486 Superfluos generation of suspend function state-machine because of inner suspension of different coroutine
  • KT-18598 Report error on access to declarations from non-exported packages and from inaccessible modules on Java 9
  • KT-18698 java.lang.IllegalStateException: resolveToInstruction: incorrect index -1 for label L12 in subroutine
  • KT-18702 Proguard warning with Kotlin 1.2-M1
  • KT-18728 Integer method reference application fails with CompilationException: Back-end (JVM) Internal error
  • KT-18845 Exception on building gradle project with collection literals
  • KT-18867 Getting constant "VerifyError: Operand stack underflow" from Kotlin plugin
  • KT-18916 Strange bytecode generated for 'null' passed as SAM adapter for Java interface
  • KT-18983 Coroutines: miscompiled suspend for loop (local variables are not spilled around suspension points)
  • KT-19175 Compiler generates different bytecode when classes are compiled separately or together
  • KT-19246 Using generic inline function inside inline extension function throws java.lang.VerifyError: Bad return type
  • KT-19419 Support JSR 305 meta-annotations in libraries even when JSR 305 JAR is not on the classpath

IDE

New Features

  • KT-2638 Inline property (with accessors) refactoring
  • KT-7107 Rename refactoring for labels
  • KT-9818 Code style for method expression bodies
  • KT-11994 Data flow analysis support for Kotlin in IntelliJ
  • KT-14126 Code style wrapping options for enum constants
  • KT-14929 Deprecated ReplaceWith for type aliases
  • KT-14950 Code Style: Wrapping and Braces / "Local variable annotations" setting could be supported
  • KT-14965 "Configure Kotlin in project" should support build.gradle.kts
  • KT-15504 Add code style options to limit number of blank lines
  • KT-16558 Code Style: Add Options for "Spaces Before Parentheses"
  • KT-18113 Add new line options to code style for method parameters
  • KT-18605 Option to not use continuation indent in chained calls
  • KT-18607 Options to put blank lines between 'when' branches

Performance Improvements

  • KT-14606 Code completion calculates decompiled text when building lookup elements for PSI from compiled classes
  • KT-17751 Kotlin slows down java inspections big time
  • KT-17835 10s hang on IDEA project open
  • KT-18842 Very slow typing in certain files of Kotlin project
  • KT-18921 Configure library kind explicitly

Fixes

  • KT-6610 Language injection doesn't work with String Interpolation
  • KT-8893 Quick documentation shows type for top-level object-type elements, but "no name provided" for local ones
  • KT-9359 "Accidental override" error message does not mention class (type) names
  • KT-10736 Highlighting usages doesn't work for synthetic properties created by the Android Extensions
  • KT-11980 Spring: Generate Constructor, Setter Dependency in XML for Kotlin class: IOE at LightElement.add()
  • KT-12123 Formatter: always indent after newline in variable initialization
  • KT-12910 spring: create init-method/destroy-method from usage results in IOE
  • KT-13072 Kotlin struggles to index JDK 9 classes
  • KT-13099 formatting in angle brackets ignored and not fixed
  • KT-14083 Formatting of where clasuses
  • KT-14271 Value captured in closure doesn't always get highlighted
  • KT-14561 Use regular indent for the primary constructor parameters
  • KT-14974 "Find Usages" hangs in ExpressionsOfTypeProcessor
  • KT-15093 Navigation to library may not work if there's another module in same project that references same jar via a different library
  • KT-15270 Quickfix to migrate from @Native***
  • KT-16352 Create from usage inserts extra space in first step
  • KT-16725 Formatter does not fix spaces before square brackets
  • KT-16999 "Parameter info" shows duplicates on toString
  • KT-17357 BuiltIns for module build with project LV settings, not with facet module settings
  • KT-17394 Core formatting is wrong for expression body properties
  • KT-17759 Breakpoints not working in JS
  • KT-17771 Kotlin IntelliJ plugin should resolve Gradle script classpath asynchronously
  • KT-17818 Formatting of long constructors is inconsistent with Kotlin code conventions
  • KT-17849 Automatically insert trimMargin() or trimIndent() on enter in multi-line strings
  • KT-17855 Main function is shown as unused
  • KT-17894 String trimIndent support inserts wrong indent in some cases
  • KT-17942 Enter in multiline string with injection doesn't add a proper indent
  • KT-17956 Type hints for properties that only consist of constructor calls don't add much value
  • KT-18006 Copying part of string literal with escape sequences converts this sequences to special characters
  • KT-18030 Parameters hints: kotlin.arrayOf(elements) should be on the blacklist by default
  • KT-18059 Kotlin Lint: False positive error "requires api level 24" for interface method with body
  • KT-18149 PIEAE "Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)" at PsiInvalidElementAccessException.createByNode()
  • KT-18151 Do not import jdkHome from Gradle/Maven model
  • KT-18158 Expand selection should select the comment after expression getter on the same line
  • KT-18186 Create function from usage should infer expected return type
  • KT-18221 AE at org.jetbrains.kotlin.analyzer.ResolverForProjectImpl.descriptorForModule
  • KT-18269 Find Usages fails to find operator-style usages of invoke() defined as extension
  • KT-18298 spring: strange menu at "Navige to the spring bean" gutter
  • KT-18309 Join lines breaks code
  • KT-18373 Facet: can't change target platform between JVM versions
  • KT-18376 Maven import fails with NPE at ArgumentUtils.convertArgumentsToStringList() if jvmTarget setting is absent
  • KT-18418 Generate equals and hashCode should be available for classes without properties
  • KT-18429 Android strings resources folding false positives
  • KT-18444 Type hints don't work for destructuring declarations
  • KT-18475 Gradle/IntelliJ sync can result in IntelliJ modules getting gradle artifacts added to the classpath, breaking compilation
  • KT-18479 Can't find usages of invoke operator with vararg parameter
  • KT-18501 Quick Documentation doesn't show when @Supress("unused") is above the javadoc
  • KT-18566 Long find usages for operators when there are several operators for the same type
  • KT-18596 "Generate hashCode" produces poorly formatted code
  • KT-18725 Android: kotlin-language facet disappears on reopening the project
  • KT-18974 Type hints shouldn't appear for negative literals
  • KT-19054 Lags in typing in string literal
  • KT-19062 Member navigation doesn't work in expression bodies of getters with inferred property type
  • KT-19210 Command line flags like -Xload-jsr305-annotations have no effect in IDE
  • KT-19303 Project language version settings are used to analyze libraries, disabling module-specific analysis flags like -Xjsr305-annotations

IDE. Completion

  • KT-8208 Support static member completion with not-imported-yet classes
  • KT-12104 Smart completion does not work with "invoke" when receiver is expression
  • KT-17074 Incorrect autocomplete suggestions for contexts affected by @DslMarker
  • KT-18443 IntelliJ not handling default constructor argument from companion object well
  • KT-19191 Disable completion binding context caching by default

IDE. Debugger

  • KT-14845 Evaluate expression freezes debugger while evaluating filter, for time proportional to number of elements in collection.
  • KT-17120 Evaluate expression: cannot find local variable
  • KT-18453 Support 'Step over' and 'Force step over' action for suspended calls
  • KT-18577 Debug: Smart Step Into does not enter functions passed as variable or parameter: "Method invoke() has not been called"
  • KT-18632 Debug: Smart Step Into does not enter functions passed as variable or parameter when signature of lambda and parameter doesn't match
  • KT-18949 Can't stop on breakpoint after call to inline in Android Studio
  • KT-19403 30s complete hangs of application on breakpoints stop attempt

IDE. Inspections and Intentions

New Features

  • KT-12119 Intention to replace .addAll() on a mutable collection with +=
  • KT-13436 Replace 'when' with return: handle case when all branches jump out (return Nothing)
  • KT-13458 Cascade "replace with return" for if/when expressions
  • KT-13676 Add better quickfix for 'let' and 'error 'only not null or asserted calls are allowed'
  • KT-14648 Add quickfix for @receiver annotation being applied to extension member instead of extension type
  • KT-14799 Add inspection to simplify successive null checks into safe-call and null check
  • KT-14900 "Lift return out of when/if" should work with control flow expressions
  • KT-15257 JS: quickfix to migrate from @Native to external
  • KT-15368 Add intention to convert Boolean? == true to ?: false and vice versa
  • KT-15893 "Array property in data class" inspection could have a quick fix to generate equals() and hashcode()
  • KT-15958 Inspection to inline "unnecessary" variables
  • KT-16063 Inspection to suggest converting block body to expression body
  • KT-17198 Inspection to replace filter calls followed by functions with a predicate variant
  • KT-17580 Add remaning branches intention should be available for sealed classes
  • KT-17583 Support "Declaration access can be weaker" inspection for kotlin properties
  • KT-17815 Quick-fix "Replace with safe call & elvis"
  • KT-17842 Add quick-fix for NO_CONSTRUCTOR error
  • KT-17895 Inspection to replace 'a .. b-1' with 'a until b'
  • KT-17919 Add "Simplify if" intention/inspection
  • KT-17920 Add intention/inspection removing redundant spread operator for arrayOf call
  • KT-17970 Intention actions to format parameter/argument list placing each on separate line
  • KT-18236 Add inspection for potentially wrongly placed unary operators
  • KT-18274 Add inspection to replace map+joinTo with joinTo(transform)
  • KT-18386 Inspection to detect safe calls of orEmpty()
  • KT-18438 Add inspection for empty ranges with start > endInclusive
  • KT-18460 Add intentions to apply De Morgan's laws to conditions
  • KT-18516 Add inspection to detect & remove redundant Unit
  • KT-18517 Provide "Remove explicit type" inspection for some obvious cases
  • KT-18534 Quick-fix to add empty brackets after primary constructor
  • KT-18540 Add quickfix to create data class property from usage in destructuring declaration
  • KT-18615 Inspection to replace if with three or more options with when
  • KT-18749 Inspection for useless operations on collection with not-null elements
  • KT-18830 "Lift return out of try"

Fixes

  • KT-11906 Spring: "Create getter / setter" quick fixes cause IOE at LightElement.add()
  • KT-12524 Wrong "redundant semicolon" for semicolon inside an enum class before the companion object declaration
  • KT-13870 Wrong caption "Change to property access" for Quick Fix to convert class instantiation to object reference
  • KT-13886 Unused variable intention should remove constant initializer
  • KT-14092 "Make " intention inserts modifier between annotation and class keywords
  • KT-14093 "Make " intention available only on modifier when declaration already have a visibility modifier
  • KT-14643 "Add non-null asserted call" quickfix should not be offered on literal null constants
  • KT-15242 Create type from usage should include constraints into base types
  • KT-16046 Globally unused typealias is not marked as such
  • KT-16069 "Simplify if statement" doesn't work in specific case
  • KT-17026 "Replace explicit parameter" should not be shown on destructuring declaration
  • KT-17092 Create function from usage works incorrectly with ::class expression
  • KT-17353 "Create type parameter from usage" should not be offered for unresolved annotations
  • KT-17537 Create from Usage should suggest Boolean return type if function is used in if condition
  • KT-17623 "Remove explicit type arguments" is too conservative sometimes
  • KT-17651 Create property from usage should make lateinit var
  • KT-17726 Nullability quick-fixes operate incorrectly with implicit nullable receiver
  • KT-17740 CME at MakeOverriddenMemberOpenFix.getText()
  • KT-18506 Inspection on final Kotlin spring components is false positive
  • KT-17823 Intention "Make private" and friends should respect modifier order
  • KT-17917 Superfluos suggestion to add replaceWith for DeprecationLevel.HIDDEN
  • KT-17954 Setting error severity on "Kotlin | Function or property has platform type" does not show up as error in IDE
  • KT-17996 Android Studio Default Constructor Command Removes Custom Setter
  • KT-18033 Do not suggest to cast expression to non-nullable type when it's the same as !!
  • KT-18035 Quickfix for "CanBePrimaryConstructorProperty" does not work correctly with vararg constructor properties
  • KT-18044 "Move to class body" intention: better placement in the body
  • KT-18074 Suggestion in Intention 'Specify return type explicitly' doesn't support generic type parameter
  • KT-18120 Recursive property accessor gives false positives
  • KT-18148 Incorrect, not working quickfix - final and can't be overridden
  • KT-18160 Circular autofix actions between redundant modality and non-final variable with allopen plugin
  • KT-18194 "Protected in final" inspection works incorrectly with all-open
  • KT-18195 "Redundant modality" is not reported with all-open
  • KT-18197 Redundant "make open" for abstract class member with all-open
  • KT-18253 Wrong location of "Redundant 'toString()' call in string template" quickfix
  • KT-18347 Nullability quickfixes are not helpful when using invoke operator
  • KT-18368 "Cast expression x to Type" fails for expression inside argument list
  • KT-18375 Backticked function name is suggested to be renamed to the same name
  • KT-18385 Spring: Generate Dependency causes Throwable "AWT events are not allowed inside write action"
  • KT-18407 "Move property to constructor" action should not appear on properties declared in interfaces
  • KT-18425 Make intention inserts modifier at wrong position for sealed class
  • KT-18529 Add '!!' quick fix applies to wrong expression on operation 'in'
  • KT-18642 Remove unused parameter intention transfers default value to another parameter
  • KT-18683 Wrong 'equals' is generated for Kotlin JS project
  • KT-18709 "Lift assignment out of if" changes semantics
  • KT-18711 "Lift return out of when" changes semantics for functional type
  • KT-18717 Report MemberVisibilityCanBePrivate on visibility modifier if present
  • KT-18722 Correct "before" sample in description for intention Convert to enum class
  • KT-18723 Correct "after" sample for intention Convert to apply
  • KT-18852 "Lift return out of when" does not work for exhaustive when without else
  • KT-18928 In IDE, "Replace 'if' expression with safe access expression incorrectly replace expression when using property
  • KT-18954 Kotlin plugin updater activates in headless mode
  • KT-18970 Do not report "property can be private" on JvmField properties
  • KT-19232 Replace Math.min with coerceAtMost intention is broken
  • KT-19272 Do not report "function can be private" on JUnit 3 test methods

IDE. Refactorings

New Features

  • KT-4379 Support renaming import alias
  • KT-8180 Copy Class
  • KT-17547 Refactor / Move: Problems Detected / Conflicts in View: only referencing file is mentioned

Fixes

  • KT-9054 Copy / pasting a Kotlin file should bring up the Copy Class dialog
  • KT-13437 Change signature replaces return type with Unit when it's not requested
  • KT-15859 Renaming variables or functions with backticks removes the backticks
  • KT-16180 Opened decompiled editor blocks refactoring of involved element
  • KT-17062 Field/property inline refactoring works incorrectly with Kotlin & Java usages
  • KT-17128 Refactor / Rename in the last position of label name throws Throwable "PsiElement(IDENTIFIER) by com.intellij.refactoring.rename.inplace.MemberInplaceRenamer" at InplaceRefactoring.buildTemplateAndStart()
  • KT-17489 Refactor / Inline Property: cannot inline val with the following plusAssign
  • KT-17571 Refactor / Move warns about using private/internal class from Java, but this is not related to the move
  • KT-17622 Refactor / Inline Function loses type arguments
  • KT-18034 Copy Class refactoring replaces all usages of the class with the new one!
  • KT-18076 Refactor / Rename on alias of Java class suggests to select between refactoring handlers
  • KT-18096 Refactor / Rename on import alias usage of a class member element tries to rename the element itself
  • KT-18098 Refactor / Copy can't generate proper import if original code uses import alias of java member
  • KT-18135 Refactor: no Problems Detected for Copy/Move source using platform type to another platform's module
  • KT-18200 Refactor / Copy is enabled for Java source selected with Kotlin file, but not for Java source selected with Kotlin class
  • KT-18241 Refactor / Copy (and Move) fails for chain of lambdas and invoke()'s with IllegalStateException: "No selector for PARENTHESIZED" at KtSimpleNameReference.changeQualifiedName()
  • KT-18325 Renaming a parameter name in one implementation silently rename it in all implementations
  • KT-18390 Refactor / Copy called for Java class opens only Copy File dialog
  • KT-18699 Refactor / Copy, Move loses necessary parentheses
  • KT-18738 Misleading quick fix message for an 'open' modifier on an interface member
  • KT-19130 Refactor / Inline val: "Show inline dialog for local variables" setting is ignored

JavaScript

Performance Improvements

  • KT-18331 JS: compilation performance degrades fast when inlined nested labels are used

Fixes

  • KT-4078 JS sourcemaps should contain relative path. The relative base & prefix should be set from project/module preferences
  • KT-8020 JS: String? plus operator crashes on runtime
  • KT-13919 JS: Source map weirdness
  • KT-15456 JS: inlining doesn't work for array constructor with size and lambda
  • KT-16984 KotlinJS - 1 > 2 > false causes unhandled javascript exception
  • KT-17285 JS: wrong result when call function with default parameter overridden by delegation by function from another interface
  • KT-17445 JS: minifier for Kotlin JS apps
  • KT-17476 JS: Some symbols in identifiers compile, but are not legal
  • KT-17871 JS: spread vararg call doesn't work on functions imported with @jsmodule
  • KT-18027 JS: Illegal symbols are possible in backticked labels, but cause crash in runtime and malformed js code
  • KT-18032 JS: Illegal symbols are possible in backticked package names, but cause crash in runtime and malformed js code
  • KT-18169 JS: reified generic backticked type name containing non-identifier symbols causes malformed JS and runtime crash
  • KT-18187 JS backend does not copy non-abstract method of interface to implementing class in some cases
  • KT-18201 JS backend generates wrong code for inline function which calls non-inline function from another module
  • KT-18652 JS: Objects from same package but from different libraries are incorrectly accessed

Libraries

  • KT-18526 Small typo in documentation for kotlin-stdlib / kotlin.collections / retainAll
  • KT-18624 JS: Bad return type for Promise.all
  • KT-18670 Incorrect documentation of MutableMap.values
  • KT-18671 Provide implementation for CoroutineContext.Element functions.

Reflection

  • KT-15222 Support reflection for local delegated properties
  • KT-14094 IllegalAccessException when try to get members annotated by private annotation with parameter
  • KT-16399 Embedded Tomcat fails to load Class-Path: kotlin-runtime.jar from kotlin-reflect-1.0.6.jar
  • KT-16810 Do not include incorrect ExternalOverridabilityCondition service file into kotlin-reflect.jar
  • KT-18404 “KotlinReflectionInternalError: This callable does not support a default call” when function or constructor has more than 32 parameters
  • KT-18476 KClass<*>.superclasses does not contain Any::class
  • KT-18480 Kotlin Reflection unable to call getter of protected read-only val with custom getter from parent class

Tools

  • KT-18245 NoArg: IllegalAccessError on instantiating sealed class child via Java reflection
  • KT-18874 Crash during compilation after switching to 1.1.3-release-IJ2017.2-2
  • KT-19047 Private methods are final event if used with the all-open-plugin.

Tools. CLI

  • KT-17297 Report error when CLI compiler is not being run under Java 8+
  • KT-18599 Support -Xmodule-path and -Xadd-modules arguments for modular compilation on Java 9
  • KT-18794 kotlinc-jvm prints an irrelevant error message when a JVM Home directory does not exist
  • KT-3045 Report error instead of failing with exception on "kotlinc -script foo.kt"
  • KT-18754 Rename CLI argument "-module" to "-Xbuild-file"
  • KT-18927 run kotlin app crashes eclipse

Tools. Gradle

  • KT-10537 Gradle plugin doesn't pick up changed project.buildDir
  • KT-17031 JVM crash on in-process compilation in Gradle with debug
  • KT-17035 Gradle Kotlin Plugin can not compile tests calling source internal fields/variables if compileJava dumps classes to a different directory and then copied classes are moved to sourceSets.main.output.classesDir by a different task
  • KT-17197 Gradle Kotlin plugin does not wire task dependencies correctly, causing compilation failures
  • KT-17618 Pass freeCompilerArgs to compiler unchanged
  • KT-18262 kotlin-spring should also open @SpringBootTest classes
  • KT-18647 Kotlin incremental compile cannot be disabled.
  • KT-18832 Java version parsing error with Gradle Kotlin plugin + JDK 9

Tools. J2K

  • KT-10762 J2K removes empty lines from Doc-comments
  • KT-13146 J2K goes into infinite loop with anonymous inner class that references itself
  • KT-15761 Converting Java to Kotlin corrupts string which includes escaped backslash
  • KT-16133 Converting switch statement inserts dead code (possibly as a false positive for fall-through)
  • KT-16142 Kotlin Konverter produces empty line in Kdoc
  • KT-18038 Java to Kotlin converter messes up empty lines while converting from JavaDoc to KDoc
  • KT-18051 Doesn't work the auto-convert Java to Kotlin in Android Studio 3.0
  • KT-18141 J2K changes semantic when while does not have a body
  • KT-18142 J2K changes semantics when if does not have a body
  • KT-18512 J2K Incorrect null parameter conversion

Tools. JPS

  • KT-14848 JPS: invalid compiler argument causes exception (see also EA-92062)
  • KT-16057 Provide better error message when the same compiler argument is set twice
  • KT-19155 IllegalArgumentException: Unsupported kind: PACKAGE_LOCAL_VARIABLE_LIST in incremental compilation

Tools. Maven

  • KT-18022 kotlin maven plugin - adding dependencies overwrites arguments.pluginClassPath preventing kapt goal from running
  • KT-18224 Maven compilation with JDK 9 fails with InaccessibleObjectException

Tools. REPL

  • KT-5620 REPL: Support destructuring declarations
  • KT-12564 Kotlin REPL Doesn't Perform Many Checks
  • KT-15172 REPL: function declarations that contain empty lines throw error
  • KT-18181 REPL: support non-headless execution for Swing code
  • KT-18349 REPL: do not show warnings when there are errors

Tools. kapt

  • KT-18682 Kapt: Anonymous class types are not rendered properly in stubs
  • KT-18758 Kotlin 1.1.3 / Kapt fails with gradle
  • KT-18799 Kapt3, IC: Kapt does not generate annotation value for constant values in documented types
  • KT-19178 Kapt: Build dependencies from 'kapt' configuration should go into the 'kaptCompile' task dependencies
  • KT-19179 Kapt: Gradle silently skips 'kotlinKapt' task sometimes
  • KT-19211 Kapt3: Generated classes output is not synchronized with Java classes output in pure Java projects (Gradle 4+)

Previous releases

This release also includes the fixes and improvements from the previous
1.1.3 release.