Last modified on
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 plugin.
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
In focus now
Note: Wasm support in Kotlin/Native (through LLVM) will be deprecated and removed
What's changed since November 2021
We've completed the following items from the previous roadmap:
✅ Language: Allow denotable definitely not-null types
✅ Language: Release OptIn annotations
✅ Language: Release builder inference
✅ Language: Support sealed (exhaustive) whens
✅ Language: Prototype multiple receivers
✅ Compiler core: Finalize support for jspecify
✅ K2 compiler: Release the K2/JVM compiler in Alpha
✅ K2 compiler: Implement support for basic compile-time evaluation
✅ Kotlin/Native: Promote new memory manager to Alpha
✅ Multiplatform: Improve UX of using Native libraries in Kotlin
✅ Multiplatform: Improve environment setup experience for KMM projects
✅ Multiplatform: Improve DSL for managing Kotlin/Native binary output
✅ Build tools: Make kapt work out of the box with latest JDKs
✅ Build tools: Improve the user experience with the Kotlin Gradle plugin
We've added the following items to the roadmap:
🆕 Language: Introduce special syntax for
🆕 K2 compiler: Release K2 Beta
🆕 K2 compiler: Provide Alpha support for Native in the K2 platform
🆕 K2 compiler: Provide Alpha support for JS in the K2 platform
🆕 K2 compiler: Support Multiplatform in the K2 platform
🆕 Kotlin/Native: Promote new memory manager to Beta and enable it by default
🆕 Multiplatform: Promote Kotlin Multiplatform Mobile to Beta
🆕 Multiplatform: Improve Android support in Multiplatform projects
🆕 Multiplatform: Stabilize klib
🆕 IDE: Stabilize code analysis
🆕 Build tools: Make compilation avoidance support Stable for Gradle
We've removed the following items from the roadmap:
❌ Kotlin/JVM: Support Java synthetic property references
❌ Kotlin/JS: JS: support ES6 as compilation target
❌ Kotlin/JS: Improve Dukat support
❌ Kotlin/Native: Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64)
❌ Kotlin/Native: Support direct interoperability with Swift
❌ Kotlin/Native: Support running Kotlin/Native-produced binaries on Alpine Linux
❌ Build tools: Improve the quality of Gradle import
Items in progress
All other previously identified roadmap items are in progress. You can check their YouTrack tickets for updates.