Kotlin 1.4-M2 Released

Time flies, and today we want to present a few more powerful features of Kotlin 1.4 for your preview. Learn what Kotlin 1.4-M2 has in store, try it, and enjoy its features before they are officially released in Kotlin 1.4.

kotlin-1.4-M2

We thank all of you who tried our first preview of Kotlin 1.4, shared your feedback, and helped make Kotlin better!

Also many thanks to those who have already tried Kotlin 1.4-M2’s standard library improvements announced in our previous post.

In this post, we’ll highlight the new features and key improvements available in 1.4-M2:

You can find the complete list of changes in the change log. As always, we’re really grateful to our external contributors.

We would appreciate it very much if you could try the preview and share your feedback.

Continue reading

Posted in EAP, Releases | Tagged , | 1 Comment

Kotlin Heroes 4: the Next Round is Almost Here

Registration for Kotlin Heroes #4 is open! It’s time to save the date for the next round, which will take place May 29, at 14:35 UTC. If you’re already excited to sign up, you can head directly over to the registration page on the Codeforces website. And if you’d like to learn more about Kotlin Heroes, take a look at the blog post below.

2000х1000 blog

Continue reading

Posted in community, Events, Uncategorized | Tagged , , | Leave a comment

First Look at Kotlin 1.4-M2: Standard Library Improvements

We keep working on Kotlin 1.4 and the next preview 1.4-M2 is just around the corner. Right now we’re ready to unveil some improvements from this preview; in this post, we’ll get you acquainted with the standard library changes.

Here are some key improvements in the standard library in 1.4-M2:

Even though Kotlin 1.4-M2 hasn’t been released yet, we’ve deployed its early version to the Kotlin playground so that you can try everything you find in this post. The code samples in this post run on the new version as well.

If you can’t wait to try the new version, subscribe to the Kotlin blog newsletter and you won’t miss the release day.

Continue reading

Posted in EAP, Libraries | Tagged , | 7 Comments

Kotlin Kernel for Jupyter Notebook, v0.8

Hi folks!

Today we have released a new version of the Kotlin kernel for Jupyter Notebook, and if you are experimenting with data — give notebooks with Kotlin kernel a try.

One of the great things about Jupyter Notebook is its interactive nature. It allows you to quickly get familiar with your data, try out some ideas, and run some experiments. Kotlin kernel helps you iterate over your ideas even faster by featuring enhanced code completion.

Previously, the kernel was already capable of completing local symbols, but with this update code completion works for global ones as well.

Another new feature included in this update is code completion after the dot:

Finally, when typing a string literal, Kotlin Kernel will help you complete the file paths on your local file system.

While experiments do become faster in a Jupyter Notebook, if you’re used to working in a regular IDE, you may found yourself missing some functionality, such as error analysis.
With this update, errors in your code will be underlined as you type just like in an IDE, and you’ll get a helpful hint on hover:

How To Try

Online

You can play with Kotlin Kernel right in the browser using MyBinder service. There are several examples in the official repository.

Localy

To try the new Kotlin kernel with your existing Jupyter Notebook, install it via conda or pip install:

  • conda: conda install kotlin-jupyter-kernel -c jetbrains
  • pip install: pip install kotlin-jupyter-kernel

Note, Kotlin Jupyter requires Java 8 to be installed:
apt-get install openjdk-8-jre

If you have previously installed Kotlin kernel, use following commands to update it to the latest version:

  • conda: conda update kotlin-jupyter-kernel -c jetbrains
  • pip install: pip install --upgrade kotlin-jupyter-kernel

Also, feel free to join #datascience channel in the Kotlin community on Slack. We invite you to join this channel to ask questions, find out in what areas help is needed and how you can contribute, and of course share your feedback and your work with the community.

Let’s Kotlin!

Posted in Data Science | Tagged | 1 Comment

Kotlin 1.4-M1 Released

We are happy to announce the first preview version of the new major release: Kotlin 1.4-M1.

A few months ago, we published an announcement of what to expect in Kotlin 1.4. As the release approaches, we’re offering you a preview in which you can try some of the new things for yourself.

m1_twitter-01

In this post, we’ll highlight the following new features and key improvements available in 1.4-M1:

  • A new, more powerful type inference algorithm is enabled by default.
  • Contracts are now available for final member functions.
  • The Kotlin/JVM compiler now generates type annotations in the bytecode for Java 8+ targets.
  • There’s a new backend for Kotlin/JS that brings major improvements to the resulting artifacts.
  • Evolutionary changes in the standard library: completing deprecation cycles and deprecating some additional parts.

You can find the complete list of changes in the change log. As always, we’re really grateful to our external contributors.

We highly encourage you to try the preview, and we will appreciate any feedback you provide in our issue tracker.

Continue reading

Posted in EAP, Releases | Tagged | 15 Comments

Kotlin 1.3.70 Released

Today we’re happy to present to you the latest version of Kotlin – 1.3.70.

kotlin_1370

This incremental release doesn’t provide any major new features. However, we’ve tried our best to improve the existing functionality, fix issues, and even add experimental things for you to try. Here are the highlights of Kotlin 1.3.70:

  • New functions and classes for Kotlin collections in the standard library.
  • Various improvements in the IntelliJ Kotlin plugin: improved *.gradle.kts support, testing, debugging, completion, and so on.
  • The Kotlin/JVM compiler now generates type annotations in the bytecode for Java 8 and later targets.
  • Bundle optimizations, npm dependency declarations, and long-awaited new docs for Kotlin/JS.
  • Faster compilation and debugging for Kotlin/Native.
  • Improved support for scripting in the IDE and command-line tools.

You can find the complete list of changes in the change log. As always, we’d like to thank our external contributors.

Now let’s dive into the details!

Continue reading

Posted in Releases | Tagged | 21 Comments

Improved *.gradle.kts IDE Support

We have significantly improved the IDE support for Gradle Kotlin DSL scripts (*.gradle.kts files), and we’d like to share some details with you in this blog post. The changes will be publicly available in the Kotlin 1.3.70 release, but you can already try them by joining the Kotlin 1.3.70 EAP (Early Access Program).

Some of you may have experienced the following scenario. You have a project built using Gradle Kotlin DSL scripts. You open the build.gradle.kts file to modify the project build logic, but suddenly your computer starts burning through CPU, your script looks like plain text (with no highlighting), and there’s no code assistance in the script. Then it takes up to 10 seconds for the script to get highlighted when it is opened for the first time.

Well, now the IDE highlights the script instantly if you open it for an already imported Gradle project!

What’s more, we’ve managed to speed up the highlighting and completion processes for scripts, which should be especially noticeable for large projects. Using various IDE features across multiple files, such as “Find Usages” in buildSrc, should now work faster.

Continue reading

Posted in Tools | Tagged | 12 Comments

Kotlin Heroes 3: A Programming Challenge from JetBrains and Codeforces

Registration for the next Kotlin Heroes coding challenge is open! This will be the third challenge for programmers co-hosted by JetBrains and Codeforces. Register now and save the date, February 27, 13:35 UTC.

kotlin_heroes_banners-22

What is Kotlin Heroes, and why should you participate?

Kotlin Heroes is a collaborative project from JetBrains, the creator of the Kotlin programing language, and Codeforces, the most popular platform for programming contests. Previous Kotlin Heroes challenges have attracted more than 700 competitors per event. The main objective for the participants is to provide correct solutions to a set of problems during a limited period of time. The problem set includes several tasks of varying difficulty, from easy to hard, and will both entice curious beginners and challenge sophisticated users.

Continue reading

Posted in community, Events | Tagged , , | Comments Off on Kotlin Heroes 3: A Programming Challenge from JetBrains and Codeforces

Accelerate Your Kotlin Multiplatform Evaluation with KaMP Kit

JetBrains and Touchlab partner to drive Kotlin Multiplatform adoption in 2020

At JetBrains, we’re very delighted to partner with our good friends at Touchlab to increase the adoption of Kotlin Multiplatform Mobile technology in 2020 and beyond.

Touchlab has released a toolkit for getting started with Kotlin Multiplatform Mobile technology. It’s a self-contained GitHub project that you can use as a starting point or for evaluating the technology. We had the chance to review it before its general release and can say that we’re excited to share it with the Kotlin Multiplatform community!

The following post, written by Touchlab, provides more details.

JetBrains & Touchlab

When we first looked into Kotlin in 2014 we had no idea that JetBrains would introduce something as innovative as Kotlin Multiplatform Mobile. At Touchlab we believe 2020 is the year of Kotlin Multiplatform.

kc19_tracks_121
Touchlab partner Kevin Galligan presenting at KotlinConf ‘19 in Copenhagen (image courtesy of JetBrains)

Continue reading

Posted in community | Tagged | Comments Off on Accelerate Your Kotlin Multiplatform Evaluation with KaMP Kit

KotlinConf 2019 Materials Are Available on the Website

The KotlinConf session recordings have now all been uploaded to the website, along with the slides if there were any. You can search for a particular talk, or you can watch all of them one by one with the KotlinConf playlist on JetBrains TV.

Additionally, all the pictures from the conference are now available! They have been collected into albums and uploaded to the website.

Blog_KC19

Continue reading

Posted in community | Tagged , | 3 Comments