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).

Compatibility

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.

Feedback

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.

Overview

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

Kotlin Eclipse Plugin 0.7 Is Here!

We are happy to present a new release of our plugin for Eclipse IDE. Along with the support for Kotlin 1.0.2 compiler, this update brings very important features and improvements.

Continue reading

Posted in Tools | 2 Comments

Gradle Meets Kotlin

Back at JavaOne 2015, during a lunch break we started chatting with Hans Dockter, CEO of Gradle. A couple of days after the conference, a few of us were at the Gradle offices talking about what would be the beginning of the collaboration between JetBrains and Gradle; to bring first-class tooling and support for a static language to Gradle.

Today, at the Kotlin Night in San Francisco, Hans Dockter demoed the first milestone of writing a Gradle build script using Kotlin.

Gradle allows developers and build engineers to deal with complex build automation scripts. As complexity grows, having a language that is statically-typed can help detect potential misconfigurations at compile time, contributing in reducing runtime issues. Static typing also opens up the door to more sophisticated tooling. All this, combined with key characteristics of Kotlin that enable easy creation of DSL’s, can provide Gradle users benefits while maintaining the level of fluency they are accustomed to.

For the past 6 months, we’ve been working closely with the Gradle team, in particular with Chris Beams and Rodrigo de Oliveira in bringing Kotlin to Gradle. It has been a tremendously rewarding experience because it has also helped us see use-case scenarios for making scripting in Kotlin a first-class citizen.

We are very excited for what Gradle has in store and are happy to continue collaborating with them closely in bringing a great experience to Gradle users.

For more information and how to get the bits to start playing with this, make sure you read the blog post by the Gradle team for more details. In addition, if you are on the public Kotlin Slack, there’s a newly created #gradle channel for discussions.

Posted in Events | 14 Comments

Kotlin 1.0.2 is Here

We’re happy to announce the release of Kotlin 1.0.2, the second bugfix and tooling update for Kotlin. In addition to compiler and language bugfixes, Kotlin 1.0.2 adds a number of major features to the IDE and the build tools.

Incremental Compilation in Gradle and the IDE

The new release continues our work on Kotlin incremental compilation support, speeding up the turnaround time during development. Incremental compilation in the IDE (which was previously marked as experimental) is now enabled by default. Also, the long-awaited support for incremental compilation in Gradle builds is now there.

To enable incremental compilation for Gradle, you need to set the kotlin.incremental property to true (for example, by adding the line kotlin.incremental=true to the gradle.properties file in the root directory of your project).

Android Lint Checks

Kotlin 1.0.2 introduces support for Android Lint checks for Kotlin code, ensuring that issues like using the API not available in the Android version you’re targeting are correctly detected.

Continue reading

Posted in Releases | 23 Comments

Kotlin Post-1.0 Roadmap

It’s been almost two months since Kotlin 1.0 was released, and the team is now switching from stabilisation and bug fixes to new feature work, so it’s a great time to talk about our plans for the future.

We’ve already published our Android roadmap, but there are many other areas where we’re applying our efforts. Our current development is organised in two main branches:

  • Kotlin 1.0.x which will be a series of releases containing bug fixes, updates to tooling, IDE support and other areas which do not affect the core language. 1.0.x releases will be published on a regular basis once every several weeks.
  • Kotlin 1.1 which will contain major new language features, along with all the improvements from the 1.0.x branch. This will be a feature-driven release, and we aren’t announcing any specific time frame for it.

Let’s look at the plans for each area in more detail, starting with the big ones.
Continue reading

Posted in Roadmap | 60 Comments

Kotlin Digest 2016.Q1

Welcome the Kotlin Digest of Q1 2016. It was in this quarter that Kotlin 1.0 was released, and naturally the number of articles and coverage received has substantially increased.
We want to thank everyone for their contributions, and highlight some of the most notable articles and blog posts.

2016Q1Cover

By the way, you can join us on slack and subscribe to the #feed channel, where we push quite a bit of interesting content as it appears.

Continue reading

Posted in Digest | 1 Comment