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 | 13 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

Ktor 1.3 Release

Ktor 1.3 was released recently, and we’re happy to share the details with you in this blog post.

13release-01

Ktor consists of two parts: the server engine and a flexible asynchronous HTTP client. The current release focuses mainly on the HTTP client. Here you can find the complete changelog for this release.

The client is a multiplatform library that supports JVM, JS, Android, and iOS and is now often used in cross-platform mobile applications. Our main goal for the next releases is to make the server engine multiplatform, too.

The other areas we’re going to work on are:

  • Improving integration with the kotlinx.serialization library.
  • Supporting CIO (coroutines-based I/O client engine) on Kotlin/Native to make it a default multiplatform engine used in HttpClient.

If you currently use Ktor, either server or HttpClient, or have tried it at some point before, please take part in the following survey:

Take part in the survey

We’d be really grateful if you could share your experience with us!

Now let’s dive into the details of what Ktor 1.3 release brings.

Continue reading

Posted in Libraries, Releases | Tagged | 7 Comments

Kotlin Census 2019: Call for Respondents

You can read this blog post in other languages:

The new edition of Kotlin Census is here! By the end of 2019, more than 4 million people had used Kotlin. This is a great number of people, and of course, they have a great number of use cases behind them. We care deeply about making sure Kotlin delivers a great experience for everyone who uses it. We want to improve it to help everyone in the community bring their ideas to life with Kotlin. This is why your feedback is so important to us. Please share with the Kotlin team how you’ve used the language over the last year. What did you like about it? What challenged you?

We also invite those who don’t use Kotlin to respond. Please share with us your reasons for not using it. Your responses are just as important to us and very much appreciated.

Census_Blog (1)

If you filled out the survey last year, thank you! To make sure we are keeping our information up to date, it would be really helpful for us if you could, please, do it again this year. We’ve added many new questions about the features and products that appeared in 2019. We’ve also added questions about how smooth your experience with Kotlin and its ecosystem was in 2019.

Answer the Census

One more important thing – answering the Census gives you a chance to win a free ticket to KotlinConf or a special Kotlin T-shirt. We will raffle off the prizes among the respondents after the Census closes.

Posted in Uncategorized | Tagged | 6 Comments

Making Kotlin Ready for Data Science

This year at KotlinConf 2019, Roman Belov gave an overview on Kotlin’s approach to data science. Now that the talk is available for everyone to see, we decided to recap it and share a bit more on the current state of Kotlin tools and libraries for data science.

How does Kotlin fit data science? Following the need to analyze large amounts of data, the last few years has brought a true renaissance to the data science discipline. All this renaissance of data science couldn’t be possible without proper tools. Before, you needed a programming language designed specifically for data science, but today you can already do it with general-purpose languages. Of course this requires general-purpose languages to make the right design decisions, not to mention getting the community to help in. All this made certain languages, such as Python, more popular for data science than others.

With the concept of Kotlin Multiplatform, Kotlin aims to replicate its developer experience and extend its interoperability to other platforms as well. The major qualities of Kotlin by design include conciseness, safety, and interoperability. These fundamental language traits make it a great tool for a wide variety of tasks and platforms. Data science is certainly one of these tasks.

The great news is that the community has already begun adopting Kotlin for data science, and this adoption is happening at a fast pace. The brief report below outlines how ready Kotlin is for data science, including the Kotlin libraries and Kotlin tools for data science.

Continue reading

Posted in Data Science, Libraries, Tools | Tagged , , | 1 Comment

What to Expect in Kotlin 1.4 and Beyond

During the keynote at KotlinConf, Andrey highlighted our strategic view on the current areas of focus for the evolution of Kotlin, and our plans for Kotlin 1.4 which will be released some time next year.

Watch the entire keynote below

Our vision is for Kotlin to be a reliable companion for all your endeavors, a default language choice for your tasks. To accomplish this, we’re going to make it shine on all platforms. Multiple case studies from companies well-known in the industry show that we are making good progress in this direction.

Kotlin 1.4 that is going to arrive in spring 2020 will make another step forward for the Kotlin ecosystem.

Focusing on quality

Most of all, Kotlin 1.4 will focus on quality and performance. Kotlin is a modern language that already pioneers many ideas and approaches. We’re going to keep it modern and always evolving. At the moment, however, we believe that Kotlin has reached the stage where improving the overall experience is more important than adding big features. This is why Kotlin 1.4 will deliver only a few small language changes, which are explained in detail below.

Continue reading

Posted in Roadmap | Tagged | 18 Comments