Kotlin 1.2.40 is out!

We’re happy to announce the release of Kotlin 1.2.40, a new bugfix and tooling update for Kotlin 1.2! This update:

  • Allows platform modules in experimental multiplatform projects to have more than one expectedBy dependency;
  • Enables support for crossinline suspend parameters in inline functions;
  • @JvmDefault annotation that makes interface methods default in Java (experimental);
  • Adds new inspections and intentions to the Kotlin IntelliJ plugin;
  • Deprecates using short names of types brought into the scope through subtyping of companion objects, without qualifying or importing them;
  • Fixes a lot of known issues in the compiler and the IDE plugin and provides performance improvements.

The update is compatible with all versions of IntelliJ IDEA from 2017.1 until 2018.1, as well as with Android Studio 3.0, 3.1, and 3.2 Canary.

Continue reading

Posted in Releases | Tagged | 19 Comments

Kotlin/Native Plugin for AppCode

Greetings Kotlin fans!

Ever since we announced interoperability with Objective-C for Kotlin/Native, we’ve been getting lots of questions about IDE support that would allow working on projects that mix Kotlin/Native and Swift/Objective-C. Today we are happy to announce that we are working on a Kotlin/Native plugin for AppCode!

AppCode is our macOS-only IDE designed for iOS/macOS developers. It already supports the Xcode project model, running and debugging in simulators and on devices, and offers extensive support for Objective-C and Swift. So, it felt natural to add Kotlin/Native support to the mix.

Continue reading

Posted in iOS, Native, Releases, Tools | Tagged | 9 Comments

KotlinConf 2018 – Call for Papers

If you haven’t heard, KotlinConf 2018 is taking place in Amsterdam, October 3rd-5th!

With just over 2 weeks left for the Call for Papers to close, this is your chance to share your Kotlin knowledge and story with the community at the Kotlin event of the year!

Topics we’d love to hear about

  • Kotlin/Native. Whether you’re targeting iOS, creating native applications for macOS, Windows, Linux, or even targeting embedded.
  • Multiplatform and code sharing.
  • Asynchronous and Concurrent Programming.
  • Frameworks and Libraries in Kotlin.

Of course, these are just some of the topics. We also want to know about

  • Server Side Development
  • Web Development
  • Desktop Development
  • IoT Development
  • Scripting Language
  • Data Science
  • Ops (Build, CI, Monitoring, etc..)
  • Functional/Reactive Programming
  • Kotlin in the Enterprise
  • Mobile Development (Android and iOS)
  • Case Studies

There’s a story in everyone

Remember, you don’t necessarily have to have invented or done something completely new or unique to talk about it. The beauty of sharing what you’re doing is that we each have our own perspective, our own stories. And KotlinConf is as much of a place to learn new things as it is about sharing experiences.

The call for papers closes on the 20th April, so submit today

Posted in community, Events | Leave a comment

Kotlin 1.2.30 is out

We’re happy to announce the release of Kotlin 1.2.30, a new bugfix and tooling update for Kotlin 1.2. This update:

  • Adds a new declaration in the standard library, which imitates the suspend modifier for lambda expressions
  • Adds support for TestNG in kotlin.test
  • Brings support for Android modules in multiplatform projects
  • Introduces a new feature in kapt for reporting annotation processing errors along with proper links to the original Kotlin declarations
  • Adds a lot of new inspections and intentions in the IntelliJ plugin and improves its performance
  • Fixes bugs in the compiler and IntelliJ plugin

The update is compatible with all versions of IntelliJ IDEA from 2017.1 until 2017.3 and 2018.1 EAP, as well as with Android Studio 3.0 and Android Studio 3.1 (Beta)

Continue reading

Posted in Releases | Tagged | 17 Comments

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)

Continue reading

Posted in Native, Releases, Tools | Tagged | 18 Comments

Application development in Kotlin/Native

In this blog post we are discussing development of Kotlin/Native applications. Today we take a look on basic video player, using FFMPEG audio/video decoder and SDL2 for rendering. Hopefully, it will be useful guide for Kotlin/Native development enthusiasts and will explain intended mechanisms of using the platform.

As main focus in our tutorial is on Kotlin/Native, we will give only cursory view on how videoplayer shall be developed. Please see this excellent tutorial, called “How to Write a Video Player in Less Than 1000 Lines” for reference on how it could be done in C language. If you’re interested in comparing how coding in C differs to coding in Kotlin/Native, I would recommend starting with this tutorial.

Continue reading

Posted in Coding, Native | Tagged | 23 Comments

Using Gradle build cache with Kotlin

Eric Wendelin
This is a guest blog post from Eric Wendelin
software engineer for Gradle

A build cache allows Gradle to reuse task output from any previous invocation, including those from other machines. Kotlin 1.2.21 allows Kotlin projects to make use of build caching.

The build cache works by storing compiled classes, test outputs, and other build artifacts in a cache, taking into account all task inputs, including input file contents, relevant classpaths, and task configuration.

Build Cache topological diagram

This frequently results in faster builds. The following chart shows aggregated build time with and without the build cache for part of Gradle’s CI:

Build minutes saved with Gradle build cache

In this post, we’ll explain how you can use Gradle’s build cache to avoid unnecessary Kotlin compilation to speed up your builds.
Continue reading

Posted in guestpost, Tools | Tagged | 13 Comments

Kotlin 1.2.20 is out

We’re happy to announce the release of Kotlin 1.2.20, a new bugfix and tooling update for Kotlin 1.2. This update:

  • Adds support for Gradle build cache
  • Improves incremental compilation for Android and mixed Kotlin/Java projects
  • Provides IDE support for the new Kotlin style guide
  • Adds inlay hints in the editor for implicit parameters and receivers of lambdas, as well as values returned from lambdas
  • Supports development mode in JavaScript DCE Gradle task
  • Introduces new inspections, performance improvements and bug fixes in the IntelliJ plugin

The update is compatible with all versions of IntelliJ IDEA from 2017.1 until 2017.3, as well as with Android Studio 3.0 and 3.1 Canary.

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: Toshiaki Kameyama (with an impressive number of contributions – 46 commits!), Yoshinori Isogai, Kenji Tomita, Kirill Rakhman, Sergey Ryabov, Alexey Belkov, Michal Bendowski, AdamMc331, Andre Perkins, Andrey Mischenko, Artem Zinnatullin, Chris Povirk, Denis Vnukov, Dereck Bridie, Ilya Zorin, Jake Wharton, Joscha Alisch, Kartik Patodi, AJ Alt, Ramon Wirsch, Vladimir Kasatkin, Yusuke Hosonuma, a2kaido, scache.

Continue reading

Posted in Releases | Tagged | 58 Comments

Kotlin/Native Plugin Update

Greetings Kotlin fans,

A New Year is coming and we are truly happy to make the last announcement of 2017. We’ve just released the update for Kotlin/Native plugin for CLion. It brings support for Kotlin/Native platform v0.5 which was published recently.

As you may know, CLion is a commercial IDE, but it’s gift time, so we want to give you a way to use Kotlin/Native plugin in its EAP stage for free. That’s why we are glad to provide all Kotlin/Native early adopters with a free 4-month personal subscription for the CLion IDE. If you are interested in it, please fill out and submit the following form:
Continue reading

Posted in Native, Releases, Tools | 1 Comment

Kotlin/Native v0.5 released: calling Kotlin from Swift and C, LLVM 5 and more

We’re happy to announce the release of Kotlin/Native v0.5, Christmas edition! This release adds support for using Kotlin/Native code from C, Objective-C and Swift, supports development using iOS simulator, along with LLVM 5 support and creating WebAssembly from Linux and Windows hosts.

Continue reading

Posted in iOS, Native, Releases | Tagged | 32 Comments