Вышел Kotlin 2.1: что изменилось в новом релизе
Команда JetBrains официально представила релиз Kotlin 2.1 — очередное значимое обновление популярного языка программирования. Этот выпуск привносит долгожданные экспериментальные функции, улучшения производительности компилятора K2 и расширение возможностей Kotlin Multiplatform. Разберём самые важные изменения, которые стоит знать каждому разработчику.
Главные нововведения Kotlin 2.1
1. Экспериментальная фича: Guard Conditions в when
Одним из самых ожидаемых улучшений стало появление guard-условий (охранных выражений) внутри блоков when. Теперь вы можете добавлять дополнительные проверки прямо в ветках:
when (value) {
is String if value.length > 5 -> println("Длинная строка")
is Int if value > 0 -> println("Положительное число")
else -> println("Что-то другое")
}
Это делает код более лаконичным и читаемым, избавляя от вложенных if.
2. Улучшения компилятора K2
Kotlin 2.1 продолжает стабилизацию нового компилятора K2, который был впервые представлен в версии 1.9. В этом релизе:
- Ускорение сборки — производительность K2 увеличена на 15–20% для больших проектов.
- Улучшенная инкрементальная компиляция — перекомпиляция изменённых файлов стала ещё быстрее.
- Более точные сообщения об ошибках — диагностика стала понятнее, особенно для сложных generic-типов.
3. Стабилизация Non-local break и continue
Долгожданная возможность использовать break и continue внутри лямбда-выражений с нелокальным возвратом теперь полностью стабильна. Это упрощает работу с циклами в функциональном стиле:
list.forEach { item ->
if (item == null) return@forEach // аналог continue
// обработка
}
4. Kotlin Multiplatform: новые возможности
Для тех, кто использует Kotlin Multiplatform (KMP), в версии 2.1 появились:
- Улучшенная поддержка iOS — исправлены проблемы с интеграцией Swift и Objective-C.
- Экспериментальная поддержка Wasm (WebAssembly) — теперь можно компилировать Kotlin-код в Wasm для запуска в браузере.
- Новый плагин для Gradle — упрощает настройку мультиплатформенных проектов.
5. Прочие улучшения
- Улучшенная поддержка sealed классов — компилятор теперь точнее проверяет исчерпываемость when-выражений.
- Новые функции в stdlib — добавлены полезные extension-функции для работы с коллекциями и строками.
- Повышена стабильность — исправлены десятки багов, связанных с корутинами и рефлексией.
Как обновиться до Kotlin 2.1
Обновление доступно через официальные каналы. Для IntelliJ IDEA и Android Studio достаточно изменить версию Kotlin в файле build.gradle.kts:
kotlin("jvm") version "2.1.0"
Для командной строки используйте инструмент kotlinup или скачайте дистрибутив с официального сайта