Kotlin/Native v0.6 is Here!

We are pleased to announce Kotlin/Native v0.6 (Valentine’s Day release) of our toolchain. This is a major update, including the following features:

  • Support for multiplatform projects in compiler and Gradle plugin
  • Transparent Objective-C/Kotlin container classes interoperability
  • Support first embedded target (STM32 board)
  • Kotlin 1.2.20, Gradle 4.5 and Java 9 supported
  • Smaller WebAssembly binaries (basic applications is around 160KiB now)
  • CLion plugin update for CLion 2018.1 (fixed the issue with macOS platform libraries indexer)

With v0.6 we brought Kotlin/Native multiplatform projects support, so same Gradle build could be used for different Kotlin backends, such as JVM, Native and JS. See this repository for usage example.

Also, we finally provide an ability to create Kotlin/Native programs aimed for embedded targets, such as STM32-based microcontrollers (using Zephyr Project kernel). Note that support is still experimental so your mileage may vary, and there are some shortcomings around C interoperability, which will be fixed in upcoming releases.

One interesting feature of v0.6 is support for transparent collections interoperability in -produce framework operational mode. It means, one could transparently use Kotlin’s List, MutableList, Set, MutableSet, Map and MutableMap as Objective-C/Swift collections, such as NSList, NSMutableList, NSSet, NSMutableSet, NSDictionary and NSMutableDictionary respectively, when compiling Kotlin code to the framework.

An important goal of this release was to improve usability and stability of the compiler, so we fixed a number of known bugs and Kotlin/JVM incompatibilities.

And finally, a plugin for CLion 2018.1 with support for Kotlin/Native v0.6 is available. Due to certain technical reasons, it’s not possible to automatically update to the new version this time, so you need to manually install it from here.

Enjoy this release, and may love be with you!

Binaries can be downloaded from the following links: macOS, Linux, Windows

GitHub release page is here.

This entry was posted in Native, Releases, Tools and tagged . Bookmark the permalink.

11 Responses to Kotlin/Native v0.6 is Here!

  1. Scott says:

    Congrats! Any word on when we’ll get debug support for setting breakpoints on Kotlin code in the IDE when using any sort of code-share with iOS? That’s the only thing now stopping my team from diving in (now that multi-platform is supported).

    • Vyacheslav Karpukhin says:

      This should already be working when you set breakpoints in Xcode. Just do something like “br set -f KotlinFile.kt -l 42” in LLDB console, or add the kotlin files to the project (don’t include in any targets) and set the breakpoints from UI.

      • Scott says:

        I can’t seem to get it to let me set breakpoints from the UI after adding kotlin files to the project.

        How should I be adding kotlin files to the project? In the Project Navigator I was right clicking and then clicking ‘Add Files to “”‘. I could see the files, but I couldn’t set breakpoints.

        Using the br set -f KotlinFile.kt -l 42 command did work though. I’d really love to get setting the breakpoints in the UI working.

        • Vyacheslav Karpukhin says:

          I’ve mistakenly assumed that Xcode would allow to set breakpoints even on unknown files, but apparently it doesn’t. I apologize for the confusion. Looks like the only way to do it from Xcode UI is to step into the Kotlin code from Swift/Objective-C.

  2. Hesam says:

    Wow, awesome. I came in to software engineering from embedded programming. It is wonderful to see you guys make me able to have fun with embedded programming. I always wanted to spend some time on embedded programming but writing code based on assembly/C/C++ is super time consuming. Hope to see Raspberry Pi support in future versions…

  3. Gladson Reis says:

    Now can I create applications for Android and ios on kotlin? My Dream !!!

  4. jfh says:

    Great. Really interested in WebAssembly support. I’ll learn Kotlin if I can use it to target WebAssembly

  5. Mike says:

    Guys you are so cool! Maybe it’s a bit naive to ask but do we have a chance to see ESP32/FreeRTOS support?

  6. Nishad says:

    Awesome, you guys are doing great job. I chose my third language to learn is Kotlin after C++ and Java. Keep going, Good work :)

Leave a Reply

Your email address will not be published. Required fields are marked *