Kotlin/Native v0.4 released: Objective-C interop, WebAssembly and more

We’re happy to announce the release of Kotlin/Native v0.4, KotlinConf 2017 edition! This release adds support for accessing Objective-C APIs on iOS and macOS, WebAssembly target platform, as well as introduces major changes making app development in Kotlin/Native way easier.
Continue reading

Posted in Native, Releases, Uncategorized | Tagged | 26 Comments

Kotlin 1.1.60 is out

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

  • Adds experimental support for Kotlin/JS incremental compilation
  • Adds new features to JSR-305 custom nullability annotations support
  • Brings a lot of bug fixes in the automatic Parcelable implementation generator and provides it with IDE support
  • Improves Gradle incremental builds
  • Introduces new inspections, performance improvements and bug fixes in the IntelliJ plugin

The update is compatible with all versions of IntelliJ IDEA from 2016.3 until 2017.3, as well as with Android Studio 2.3, 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, Kirill Rakhman, Paul Merlin, Raluca Sauciuc, Yoshinori Isogai, Andrey Mischenko, Francesco Vasco, Jonathan Leitschuh, Denis Grachev, and pivotal-vladimir.

Continue reading

Posted in Releases | Tagged | 17 Comments

Kotlin/Native IDE Support Preview

Kotlin/Native is a brand new technology that compiles Kotlin directly to machine code and produces executables that can run without a virtual machine. At KotlinConf 2017, we announced a preview release of development tools for Kotlin/Native.

While we have IntelliJ IDEA for working with Kotlin, Kotlin/Native integrates with technologies from the native world such as Clang and LLDB support. That’s why JetBrains’ choice for Kotlin/Native is CLion, our IDE for C and C++.

To get started, download and install CLion 2017.3 (note that this version is at the early access preview stage for now). Next, install two plugins from the JetBrains Plugin Repository. In CLion, choose Configure → Plugins → Install JetBrains plugin…, then find Kotlin and Kotlin/Native plugins there, and install them. Don’t forget this is still a technology preview and bugs are possible, but if you encounter any, please report them!

Continue reading

Posted in EAP, Native, Releases, Tools | Tagged | 33 Comments

KotlinConf Keynote Recap

Today is a great day for the Kotlin community. KotlinConf, the inaugural Kotlin conference, opens today, and we’re really impressed that around 1200 attendees from all over the world have joined us in San Francisco. During the conference keynote, Andrey Breslav, the lead designer of Kotlin, has announced a few major developments around Kotlin, and now we’re sharing the news with everyone else.

Kotlin 1.2 RC

The first major announcement from the keynote is the release of Kotlin 1.2 Release Candidate. The new features in this release include the experimental support for multiplatform projects, allowing you to share code between modules targeting the JVM and JavaScript, as well as several language improvements, including support for array literals in annotations. For more information about the new features in 1.2, please check out the Kotlin 1.2 Beta announcement blog post.

The compiler now rejects binaries compiled with earlier pre-release versions of Kotlin 1.2; you’ll need to recompile them with this release. Code compiled with Kotlin 1.0.x or 1.1.x is, of course, fully compatible with this release of the compiler.

Even though coroutines are still labeled as an experimental feature, we’d like to clarify the exact meaning of this status. Coroutines are fully ready to be used in production, we’re using them in our own development, and we’re not aware of any major issues with the implementation. The reason why we keep the experimental status is that it gives us the ability to iterate on the design. Note that, even if we do make changes to the API, the current API will remain supported, even though it will be marked as deprecated, and we will provide the necessary migration tools. According to our current plans, the experimental status of coroutines will be removed in Kotlin 1.3.

Now is the time when we ask for your help. Even though we’ve done a lot of testing of this release internally and with other teams at JetBrains, the real world is far more varied than what we have access to. Therefore, please — give Kotlin 1.2 RC a try on your own projects, and let us know if you run into any issues. Your help is essential in ensuring a smooth final release.
Tell everyone to go try it

Continue reading

Posted in community, Events, Releases | Tagged | 13 Comments

Kotlin 1.2 Beta2 is out

We’re happy to announce the second Beta release for Kotlin 1.2. In this release, we’ve been mostly focusing on smaller internal changes and on adding some missing pieces to our multiplatform project story.

We’d like to thank Andrey Mischenko, Francesco Vasco, Jake Wharton, Jonathan Leitschuh, Kirill Rakhman, Pap Lorinc, Paul Merlin, Raluca Sauciuc, Toshiaki Kameyama, and Yoshinori Isogai for their contributions to Kotlin 1.2 Beta2.

The complete changelog since 1.2-Beta can be found here with the significant changes listed below.

Continue reading

Posted in EAP, Releases | Tagged | 11 Comments

Kotlin Census 2017

Hello!

Every year we run the Kotlin Census survey so we can get the latest feedback from you, and how you are using Kotlin in your projects. If you still don’t use Kotlin, we would like to understand your reasons why and your opinion of the language is exceptionally important for us as well. If you filled out the survey last year, thank you, it would be really helpful if you could please do it again: we’re interested in the up-to-date information, we’ve also added a few new questions and response options based on last year’s results.

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 with your details, you are not automatically giving us consent to use your name, application or company name. We would always ask for written confirmation from you before doing so.

Continue reading

Posted in community | 25 Comments

Kotlin 1.2 Beta is out

We’re happy to announce the Beta release for Kotlin 1.2. With this release, we’re unveiling the major new feature of Kotlin 1.2 – experimental support for multiplatform projects. Also, the language and standard library are now feature complete – all the new features planned for Kotlin 1.2 have been implemented. Now is a great time to give us feedback on the changes – we still have time to take the feedback into account and adjust the design for the final 1.2 release, if needed.

In terms of tooling, Kotlin 1.2 Beta includes the same set of features as the recently released 1.1.50 update. The beta is compatible with all versions of IntelliJ IDEA from 2016.3 until 2017.3, as well as with Android Studio 2.3 and 3.0.

The complete changelog since 1.2-M2 can be found here with the significant changes listed below.

12beta

Continue reading

Posted in EAP, Releases | Tagged | 20 Comments

Kotlin 1.1.50 is out

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

  • Introduces a new versioning scheme: 1.1.5x instead of 1.1.5-x
  • Improves support for JSR-305 annotations (nullability problems can be reported as warnings, checks work when JSR-305 classes are not on the classpath)
  • Improves generated bytecode performance
  • Enables primitive array to TypedArray translation, adds source maps support to the dead code elimination tool and makes other improvements for the JS backend
  • Fixes lots of bugs in the compiler and IDE
  • Introduces new inspections, performance improvements and bugfixes in the IntelliJ plugin
  • Supports extension points for preview of the Kotlin serialization plugin

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

The complete list of changes in this release can be found in the changelog.

Continue reading

Posted in Releases | Tagged | 13 Comments

KotlinConf – New Workshop and Community Event by JetBrains and Realm

KotlinConf is just around the corner, and if you haven’t checked out the great speaker line-up and sessions, you might want to do that now! We’ve got two days jam-packed with content around Kotlin, whether you’re doing mobile, desktop, server-side or web front-end development, there are lots of talks for you.

And we are now making KotlinConf even more exciting with a dedicated workshop day! We’ve partnered up with Realm to offer an Introduction to Kotlin full-day workshop on November 1st, followed by a Kotlin Talk Building Libraries for Kotlin, and dinner, hosted by Realm!

The full day workshop and evening event will be held at Realm offices at 148 Townsend Street, 2nd Floor, San Francisco, CA 94107 (see on map).

Continue reading

Posted in community, Events | Tagged , | 4 Comments

Kotlin 1.1.4 is out

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

  • Fixes a major performance regression in the IntelliJ IDEA plugin
  • Adds support for package-default nullability annotations
  • Improves Java 9 support
  • Adds initial, experimental support for generating Android Parcelable implementations using the @Parcelize annotation
  • Adds a tool for JavaScript dead code elimination, improves sourcemap support for JS debugging and JS unit testing support
  • Generates more efficient bytecode
  • Adds many new features to the IntelliJ IDEA plugin

The update is compatible with all versions of IntelliJ IDEA from 2016.2 until 2017.2, as well as with Android Studio 2.3 and 3.0 Beta.

The complete list of changes in this release can be found in the changelog.

Continue reading

Posted in Releases | Tagged | 30 Comments