Вышел новый релиз Kotlin 2.1: что изменилось
Команда JetBrains официально представила стабильный релиз Kotlin 2.1. Это крупное обновление, которое продолжает развитие языка после фундаментального перехода на новый компилятор K2. Новая версия приносит долгожданные стабилизации, множество улучшений в производительности и расширение возможностей для мультиплатформенной разработки.
Kotlin 2.1 — это не просто очередной патч, а полноценный релиз, в котором исправлены сотни багов предыдущих экспериментальных сборок, а также добавлены новые функции, делающие работу с языком ещё более безопасной и лаконичной. Рассмотрим главные изменения подробнее.
Стабилизация компилятора K2
Главная «фишка» версии 2.1 — это полная стабилизация нового компилятора K2 для JVM, Android, Native и JavaScript. Если в предыдущих версиях K2 был экспериментальным и требовал явного включения, то теперь он используется по умолчанию для всех платформ.
Что это даёт разработчикам:
- Рост производительности: компиляция проектов стала на 20-40% быстрее, особенно это заметно на крупных кодовых базах.
- Улучшенный вывод типов: K2 лучше понимает сложные цепочки вызовов, лямбды и дженерики, что уменьшает количество ошибок компиляции.
- Более чёткие сообщения об ошибках: диагностика стала точнее — компилятор подсказывает не только «что не так», но и предлагает исправления.
Новые функции стандартной библиотеки
Библиотека kotlin-stdlib пополнилась несколькими полезными инструментами:
- Функция
buildMapиbuildList: теперь они работают ещё быстрее благодаря оптимизации внутренних структур данных. - Новый класс
Duration: расширена поддержка арифметики временных интервалов, добавлены методы для безопасного парсинга строк. - Улучшения в
Regex: поддержка именованных групп захвата из коробки — больше не нужно писать свои парсеры для сложных шаблонов.
Мультиплатформенная разработка (KMP)
Kotlin Multiplatform получил значительное обновление. Теперь Kotlin 2.1 официально поддерживает:
- Apple Silicon (arm64): нативная компиляция для M1/M2/M3 стала быстрее и стабильнее.
- Wasm (WebAssembly): экспериментальная поддержка сборки в WebAssembly переведена в стадию альфа. Теперь можно компилировать Kotlin-код напрямую в браузерный байт-код.
- Упрощённая конфигурация: новые плагины Gradle сокращают шаблонный код в build.gradle.kts на 30%.
Улучшения для Android и Compose
Для Android-разработчиков в Kotlin 2.1 добавлена оптимизация под Jetpack Compose. Компилятор теперь генерирует более эффективный байт-код для @Composable-функций, уменьшая размер APK до 15% за счёт лучшего удаления мёртвого кода. Кроме того, улучшена совместимость с библиотекой Compose Runtime, что снижает количество рантайм-крашей.
Как обновиться?
Для перехода на Kotlin 2.1 достаточно изменить версию плагина в файле build.gradle.kts:
plugins {
kotlin("jvm") version "2.1.0"
}
После