|Last modified on||May 2021|
|Next update||November 2021|
Welcome to the Kotlin roadmap! Get a sneak peek into the priorities of the Kotlin Team.
The goal of this roadmap is to give you a big picture. Here’s a list of our key priorities – the areas we are investing the most effort into:
Fast turnaround: making the change-test-debug cycle really fast.
New compiler: a rewrite of the Kotlin compiler optimized for speed, parallelism, and unification. Later we will also work on pluggability.
Fast and smooth IDE: improving the stability and performance of the Kotlin IDE.
Kotlin for JVM server-side development: expanding support for server-side use cases across the Kotlin ecosystem.
Kotlin Multiplatform Mobile: improving the user experience and feature set for sharing code on mobile platforms.
Kotlin roadmap by subsystem
What's changed since January 2021
We've completed the following items from the previous roadmap:
✅ Language: Support JVM records
✅ Compiler core: Support incremental compilation for the new compiler
✅ Kotlin/JVM: Make the new JVM IR backend Stable
✅ Kotlin/Wasm: Prototype a compiler for Wasm GC proposal
✅ Kotlin/Native: Support Apple Silicon without Rosetta 2
✅ Multiplatform: Introduce a complex KMM application sample
✅ Multiplatform: Improve frontend and IDE import stability for Multiplatform projects
✅ Build tools: Support the Gradle configuration cache
✅ Libraries: Implement unambiguous API for Char conversion
✅ Libraries: Implement multiplatform API for characters
✅ Libraries: Improve kotlinx-serialization (release v1.1)
✅ Libraries: Improve kotlinx-serialization (release v1.2)
✅ Libraries: Improve kotlinx-coroutines (release v1.5)
✅ Website: Design a new Kotlin visual style
✅ Website: Close try.kotlinlang.org
We've decided to postpone the following items from the previous roadmap:
Other postponed items remain in this state from earlier roadmap versions.
We've added the following items to the roadmap:
🆕 Language: Support sealed (exhaustive) whens
🆕 Language: Release OptIn annotations
🆕 Language: Stabilize typeOf
🆕 Language: Stabilize builder inference
🆕 Language: Support annotations on class type parameters
🆕 Compiler core: Release the new compiler frontend in Alpha for JVM target
🆕 Compiler core: Finalize support for jspecify
🆕 Kotlin/JVM: Maintain the new JVM IR backend
🆕 Kotlin/JVM: Improve new JVM IR backend compilation time
🆕 Kotlin/JVM: Stabilize JVM-specific experimental features
🆕 Kotlin/Native: Implement safe initialization for top-level properties
🆕 Multiplatform: Support the Apple Silicon target in the Kotlin Multiplatform tooling
🆕 Build tools: Improve the quality of Gradle import
🆕 Build tools: Improve user experience with the Kotlin Gradle plugin
🆕 Libraries: Improve kotlinx-serialization (release v1.3.0)
🆕 Libraries: Improve kotlinx-coroutines (release v1.6.0)
🆕 Libraries: Stabilize Duration API in the standard library
🆕 Libraries: Get rid of
readLine()in the standard library
🆕 Libraries: Stabilize and document
🆕 Website: Make the UI and navigation consistent
Items in progress
All other previously identified roadmap items are in progress. You can check their YouTrack tickets for updates.