We’re happy to announce the release of Kotlin 1.1.3, a new bugfix and tooling update for Kotlin 1.1. The update brings a number of new IDE features, performance improvements in the compiler and IDE, efficiency improvements for generated bytecode, and lots of bugfixes. The update is compatible with all versions of IntelliJ IDEA from 2016.2 until 2017.2, as well as with Android Studio 2.3 and 3.0 Canary.
Note: There is an issue with Android Studio 3.0 Canary 4 which prevents correct loading of Kotlin plugin updates, so you won’t be able to install this update into Canary 4. Kotlin 1.1.3 will be bundled into Android Studio 3.0 Canary 5.
The complete list of changes in this release can be found in the changelog.
We’d like to thank our external contributors whose pull requests were included in this release: AJ Alt, Chris Horner, Gaetan Zoritchak, Jonathan Leitschuh, Kirill Rakhman, Marek Langiewicz, Nadia Humbert-Labeaumaz, Shaun Reich, Yoshinori Isogai, and last but not least Yuli Fiterman (who contributed an initial implementation of one of the major new features in this release, parameter/type hints). Thanks to everyone who tried the EAP builds and sent us feedback, too!
JDK 9 Support
This release adds initial support of compiling Kotlin code against a Java 9 JDK. Note that module-based visibility checks will be supported in future 1.1.x updates; as of 1.1.3, Kotlin doesn’t use information from module-info.java in any way.
Maven Parallel Builds
The Kotlin Maven plugin now supports parallel builds, so if you run Maven with the -T option, it will now be able to compile multiple Kotlin modules in parallel.
kapt Incremental Compilation
kapt now builds Java stubs incrementally, which makes builds using annotation processing significantly faster.
Usages of the TODO() method are now highlighted in the editor as TODOs and shown in the TODO view.
If you enable semantic highlighting in the Colors & Fonts settings, Kotlin will highlight the definition and all occurrences of every local variable and parameter with a distinct color.
Parameter Name Hints
Following the lead of IntelliJ IDEA’s Java support, Kotlin now supports showing editor hints for parameter names in calls where the meaning of the arguments may not be clear from the context. This is particularly useful for calling Java code from Kotlin – in pure Kotlin code, such situations should be resolved through the use of named arguments.
Similarly to the previous feature, the Kotlin plugin now supports showing inferred types of variables, functions and parameters in editor hints. This functionality is disabled by default; you can enable it in the editor appearance settings.
How to update
To update the plugin, use Tools | Kotlin | Configure Kotlin Plugin Updates and press the “Check for updates now” button. Also, don’t forget to update the compiler and standard library version in your Maven and Gradle build scripts.