Kotlin 1.1-M02 is here!

We’re happy to announce the second milestone release of Kotlin 1.1. This release brings one long-awaited new language feature, destructuring in lambdas, as well as many improvements to features introduced in 1.1-M1, including type aliases, coroutines and bound references. The new release also includes all tooling features introduced in Kotlin 1.0.4 and 1.0.5-eap-66, and is fully compatible with IntelliJ IDEA 2016.3 EAP and Android Studio 2.2.

As with Kotlin 1.1-M01, we give no backward compatibility guarantees for new language and library features. Anything introduced in milestone releases of 1.1 is subject to change before the final 1.1 release.

And once again: please do share your feedback regarding the new language features or any problems that you may run into with this release, via YouTrack, forums and Slack.

The full changelog for 1.1-M02 is available here.

Continue reading

Posted in Releases | 13 Comments

Kotlin Night in London

We’re holding another Kotlin Night, but this time in London. We’ve brought together members of the community that have been and are currently using Kotlin in production, to come and speak to us about their experiences. As well as share some tips and tricks.

In collaboration with Trifork and GOTO London 2016, we’re holding this free event on the 12th of October 2016 at the CodeNode venue. We’ll have talks, chats and drinks.
Given spaces are limited, we encourage you to sign up sooner rather than later!


For details on talks, please check the event page.

17:30 – 18:00 – Registration and Welcome

18:00 – 18:45 – 10 Things I’m loving about Kotlin. Graham Tackley. Kaleida

18:45 – 19:30 –  Expressive Kotlin. Nat Pryce and Duncan McGregor, Springer Nature

19:30 – 20:00 – Snacks and Drinks

20:00 – 20:45 – Using Sealed Classes to build Concursus API. Dominic Fox, OpenCredo


GOTO Conference and Kotlin Workshop

We’re also offering a discount for GOTO London 2016 which can be used either for the conference or the full day Kotlin Workshop being held.

Posted in Uncategorized | 1 Comment

Kotlin 1.0.4 is here

We’re happy to announce the release of a new bugfix and tooling update of Kotlin, version 1.0.4. This version brings many improvements related to the IDE and build tools, as well as JavaScript support.

Once again we’d like to thank our external contributors who implemented some of the features in this release, Kirill Rakhman and Yoshinori Isogai, as well as everyone who tried the EAP builds of 1.0.4 and sent us feedback.

You can find the full list of fixes and improvements in the changelog. Some of the changes deserve special mention:

Language Change: Assignment of ‘val’ in try/catch

In versions of Kotlin before 1.0.4, you could initialize the same val both in the try and catch branches of a try/catch statement. For example, the following code was allowed:

In effect, a final variable could be assigned twice, and it was possible to observe two different values for it (for example, if the value in the try statement was captured in a lambda). In Java, the equivalent code is not allowed.

To maintain consistent semantics, the code which assigns the same val in both try and catch branches becomes a warning in Kotlin 1.0.4 and will become an error in version 1.0.5. In most cases, the code can be easily fixed by converting the code to an expression form, and the IDE will offer a quickfix to convert this code automatically. The above example would be converted to:

Continue reading

Posted in Releases | 7 Comments

Kotlin NetBeans plugin beta is out!

Today we are happy to present the first BETA release of the Kotlin plugin for the NetBeans IDE.

The main features are:

  • Building and Running Your Code
  • Maven and Ant Support
  • Java Interoperability
  • Code Highlighting
  • Diagnostics
  • Code Completion
  • Navigation
  • Debugging
  • Unit Testing
  • Auto-Import
  • Mark Occurrences
  • Quick Search
  • Code Formatting

Continue reading

Posted in Tools | 1 Comment

Kotlin census: call to action

Many times we’re asked by people working with or planning to work with Kotlin, what our adoption rate is and who’s using Kotlin and what for.

While we do accept pull requests and run into an occasional tweet we would really like to know first-hand from you, whether you’re using Kotlin in production and if so, how, and what issues you have faced. This not only helps us answer the question when someone asks about our adoption, but learn more about our community. With close to 4000 people on our Kotlin Slack alone, it’s hard to keep track of every piece of feedback!

As such, we’re asking you if you could kindly give us two minutes of your time and fill out the following survey. Please note that by providing us your details, you are not automatically giving us consent to use your name, application or company name. We would ask for written confirmation from you before doing so.

Thank you!

Posted in Uncategorized | 13 Comments

Calling on EAPers

At JetBrains we’ve always believed in our Early Access Program for our tools, giving developers a chance to use the latest features or fixes as soon as they’re ready. We’ve followed the same philosophy with Kotlin, knowing of course that with a language, some decisions can haunt you for life.

That is why during the pre-release days of Kotlin, we’d have milestone releases with features and important changes for our early adopters (including ourselves at JetBrains), collect feedback on whether things were working as designed. This release-feedback-adjust cycle has proven invaluable in so many occasions and has definitely helped shape Kotlin 1.0.

But it’s not over with the release. We’re still continuing to develop Kotlin with new language features and we need your continued support. As you know, we have two ‘branches’ of EAP’s, the 1.0.X ones which are more about bug fixes and tooling, and the 1.1 EAP which is about language changes. And it’s with these EAP’s, the ones with language changes, where we could really use your help. While we don’t recommend you using these 1.1 EAP’s in production code, we definitely do need you to give us feedback. In return, we promise to listen to everything you have to say!

Using EAP’s

The easiest way to access EAP’s is via the Tools menu. Open Tools | Kotlin | Configure Kotlin Plugin Updates in the main menu, select Early Access Preview channel 1.0.x or 1.1 and press the Check for updates now button.
Screen Shot 2016-08-01 at 17.55.03
To use the new builds from Maven or Gradle: add https://dl.bintray.com/kotlin/kotlin-eap or https://dl.bintray.com/kotlin/kotlin-eap-1.1 as a repository to your project

At the moment the first EAP of Kotlin 1.1 is available (with coroutines, type aliases, bound callable reference, local delegated properties, Java 7/8 support and many more). Also today we just published first EAP build of Kotlin 1.0.4 with lots of bugs fixes in the compiler and IDE, whole bunch of new intentions, inspections and quickfixes, and it’s now fully compatible with Gradle 2.14.1. For more information check out the full Kotlin 1.0.4 changelog

Giving Feedback

Most of the Kotlin team are available on our public (Slack community), and specifically on the #eap channel, where we’re very eager to listen to your feedback and help with any questions or issues you may have. Of course, our issue tracker is always open too

One of our main goals with Kotlin has always been to make it an industrial language that is pragmatic. And it’s by using Kotlin in many types of applications and scenarios that will help us achieve this goal. For this, we continue to need your help!

Thank you and let’s Kotlin!

Posted in Uncategorized | 8 Comments

First glimpse of Kotlin 1.1: Coroutines, Type aliases and more

While Kotlin 1.0.X releases keep delivering incremental updates and tooling features, we are working on the new language features in Kotlin 1.1. Today we are presenting the first preview version of 1.1, it’s far from Beta, but the brave and curious ones can play with new exciting things (and hopefully give us their invaluable feedback).


This is not a stable version of Kotlin, and no compatibility guarantees are given here: in the future previews of 1.1, syntax, APIs, command-line switches and anything else may be changed. If you need a stable version of Kotlin, please stay on 1.0.X until further notice.


The upside of this temporary lack of guarantees is that we can make immediate use of all the feedback you provide us! The best way to tell us what you think is through KEEP: please leave your comments on the issues associated with proposals mentioned below. The implementations in Kotlin 1.1 M01 are prototypes of the functionality described in the KEEPs.


The full changelog for 1.1 M01 is available here. Continue reading

Posted in Releases | 51 Comments

Kotlin 1.0.3 Is Here!

We are delighted to present Kotlin 1.0.3. This update is not full of brand new and shiny features, it is more about bug fixes, tooling improvements and performance boosts. That’s why you’ll like it 😉 Take a look at the full change log and issues stats by subsystem:

Kotlin 1.0.3. Fixed issues
Continue reading

Posted in Releases | 9 Comments

Kotlin Night in San Francisco Recordings

On May 17th we held an evening event at San Francisco in cooperation with Realm and Netflix. Thanks to everyone who joined us this evening! There were great talks and important announcements, and the good news is that all of them were recorded:

Continue reading

Posted in Events | Comments Off on Kotlin Night in San Francisco Recordings

Meet the Kotlin Team at Gradle Summit

You’ve probably heard the news announcing that you’ll soon be able to write your Gradle build scripts and plugins in Kotlin. At the Kotlin Night in San Francisco, Hans Dockter from Gradle demoed the first prototype of the support. After the initial announcement, we’ve continued our work together with the Gradle team to flesh out the prototype and bring it closer to the release. And next week, at the Gradle Summit in Palo Alto, we’ll be sharing the details on our progress.

In addition to presentations by Gradle developers and users, you’ll see the keynote by Dmitry Jemerov from the Kotlin team, talking about the DSL support features of Kotlin and their use in the Gradle build script DSL. And in the expo area, you’ll be able to chat with developers working on Kotlin, IntelliJ IDEA and TeamCity, who will help you with any questions related to the use of Gradle together with JetBrains products.

The summit will be on June 23-24th in Palo Alto, California, and the registration is open. Looking forward to seeing you there!

Posted in Events | Comments Off on Meet the Kotlin Team at Gradle Summit