2 min read

The Kotlin team has come out with a release candidate 1.3 of the Kotlin Language. Kotlin 1.3 RC1 comes with improvements and changes to its compiler and the IDE, IntelliJ IDEA.

Let’s discuss key updates in Kotlin 1.3 RC1.

Compiler Changes

Improvements

  • Support has been added for main entry point without arguments in the frontend, IDE and JVM in Kotlin 1.3 RC1.
  • Other than that, there is added support for suspend fun main function in JVM.
  • The boxing technique has been changed. Now, instead of calling valueOf, a new wrapper type will be allocated.

Bug Fixes

  • The invoke function that kept getting called with lambda parameter on a field named suspend has been fixed.
  • With Kotlin 1.3 RC1, correct WhenMappings code is generated in case of mixed enum classes in when conditions.
  • The use of  KSuspendFunctionN and SuspendFunctionN as supertypes has been forbidden.
  • Also, the suspend functions are annotated with @kotlin.test.Test have been forbidden.
  • Use of kotlin.Result as a return type and with special operators has been prohibited.
  • The constructors containing inline classes as parameter types will be now generated as private with synthetic accessors.
  • An inline class that was missing unboxing when using indexer into an ArrayList has been fixed.

IDE Changes

Support has been added for type parameters in where clause (multiple type constraints).

Bug Fixes

    • The issue where @Language prefix and suffix were getting ignored for function arguments has been fixed.
    • Coroutine migrator has been renamed to buildSequence/buildIterator to their new names.
    • Deadlock in databinding with AndroidX which led to Android Studio hanging has been fixed.
    • The issue of Android module in a multiplatform project not being recognized earlier as a multiplatform module has been fixed.
    • Multiplatform projects without Android target were not being imported properly into Android Studio, this has been fixed with Kotlin 1.3 RC1.
    • IDEA used to hang when Kotlin bytecode tool window remained open while editing a class with a secondary constructor. This is fixed now.
    • IDE Multi-Platform: Old multi-platform modules templates have been removed from New Project/New Module wizard.
    • ConcurrentModificationException, an actual type alias has been introduced in the JVM library.

There are more changes and improvements in Kotlin 1.3RC1. Check out Kotlin 1.3RC official release notes for the complete list.

Read Next

Building RESTful web services with Kotlin

Kotlin 1.3 M1 arrives with coroutines and new experimental features like unsigned integer types

IntelliJ IDEA 2018.3 Early Access Program is now open!

Tech writer at the Packt Hub. Dreamer, book nerd, lover of scented candles, karaoke, and Gilmore Girls.