TGViewer
Мобильная разработка Мобильная разработка @mobi_dev · 13.1K subscribers
Post #3563 4.6K
Kotlin мощно обновился до версии 2.1.20. Собрали главное:

1. Улучшения компилятора K2

Теперь в Kotlin используется новый компилятор K2. Он быстрее и эффективнее. Если при работе с ним возникнут проблемы, можно временно вернуть старый компилятор, добавив в файл gradle.properties строку:​

kapt.use.k2=false


Также появилась поддержка аннотации @SuperBuilder из библиотеки Lombok. Она упрощает создание объектов, особенно если есть наследование классов.

2. Kotlin Multiplatform (KMP): новый способ настройки приложений


В этой версии появился новый способ настройки приложений для разных платформ. Теперь вместо плагина Application в Gradle используется блок executable {}. Он помогает настраивать задачи и распределение для JVM-целей. Пример использования можно найти в официальной документации.

3. Kotlin/Native: новые оптимизации

Добавлены новые оптимизации, которые делают программы быстрее. Чтобы их включить, нужно добавить в настройки компилятора опцию:​

-Xbinary=preCodegenInlineThreshold=40

Рекомендуется значение 40, но можно экспериментировать.

4. Kotlin/Wasm: улучшенная отладка

Теперь отлаживать приложения на Kotlin для WebAssembly стало проще. Добавлена поддержка формата DWARF, который позволяет пошагово выполнять код и смотреть значения переменных. Чтобы включить эту функцию, используйте опцию компилятора:​

-Xwasm-generate-dwarf


5. Поддержка Gradle


Kotlin 2.1.20 полностью совместим с Gradle версий от 7.6.3 до 8.11. Если после обновления возникнут проблемы со сборкой, можно добавить в файл gradle.properties строку:​

kotlin.kmp.isolated-projects.support=disable


6. Новые функции стандартной библиотеки

Атомарные типы: Появились общие атомарные типы в пакете kotlin.concurrent.atomics. Они экспериментальные, поэтому для их использования нужно добавить аннотацию:​

@OptIn(ExperimentalAtomicApi::class)


• UUID: Теперь объекты UUID можно сравнивать и сортировать напрямую.​
• Время: Интерфейс kotlinx.datetime.Clock теперь доступен как kotlin.time.Clock, а kotlinx.datetime.Instant — как kotlin.time.Instant.​

7. Compose: улучшения

• Аргументы по умолчанию в открытых функциях с аннотацией @Composable теперь работают корректно.​
• Удалены ComposableSingletons из публичного API, чтобы избежать утечек в inline-функциях.​
• Включена функция, которая добавляет информацию о месте, где был сгенерирован Compose-код.​

Фул доки и сведения об обновлении — тут.
  • 👍 17
  • ⚡ 3
  • ❤ 2
  • 🥱 2
  • 👎 1
  • 🔥 1
  • 💋 1
More from @mobi_dev
  1. Oct 3, 2026Android CLI получил Device Streaming для тестов на реальных смартфонах Google добавила в A…
  2. Oct 1, 2026Как адаптировать модальные экраны SwiftUI к сгибу iPhone Duo На iPhone Duo модальный экран…
  3. Oct 1, 2026Как проверять другую ветку в Android Studio через Git worktree Git worktree создаёт для ве…
  4. Oct 1, 2026Как заставить VoiceOver озвучивать карточку SwiftUI целиком Составную карточку с иконкой,…
  5. Sep 30, 2026Liquid Glass в SwiftUI: как выбрать regular или clear на iOS 26 Модификатор glassEffect()…
  6. Sep 30, 2026Как проверить Auto Layout в iOS 26 на iPhone 17 и Air У iPhone 17 и 17 Pro логическая обла…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →