Компания JetBrains объявила о выпуске версии 1.3.30 своего языка программирования Kotlin . Новая версия включает множество улучшений, исправлений безопасности и обновленных инструментов для Kotlin 1.3.
JetBrains объяснила, что основными областями вмешательства в этом выпуске являются Kotlin / Native, производительность KAPT и улучшения IntelliJ IDEA.
Версия 1.3 языка была выпущена в ноябре 2018 года, примерно через год после выпуска версии 1.2.
Что нового в Kotlin 1.3.30?
Данная версия больше не рассматривается компанией JetBrains как исправление ошибок и обновление инструментов по сравнению с версией 1.3.
В версии 1.3 основными новыми функциями являются сопрограммы, Kotlin/Native Beta и кроссплатформенные проекты.
Также были внесены и другие улучшения, такие как экспериментальная поддержка онлайн-классов для повышения производительности и безопасности записи, экспериментальная поддержка беззнаковых целых чисел для упрощения манипулирования байтами, а также другой низкоуровневый код.
Поэтому были внесены исправления в KAPT для улучшения его производительности, а также в Kotlin/Native.
Благодаря этому решению KAPT теперь поддерживает процессоры инкрементальной аннотации в экспериментальном режиме.
Чтобы проверить это, добавьте параметр kapt.incremental.apt = true в файл gradle.properties.
Обратите внимание, что в текущей реализации использование любого неинкрементального обработчика аннотаций или изменение ABI зависимости (пока что, включая изменение внутренних объявлений) приведет к инкрементальной обработке без аннотаций для данного модуля.
Для Kotlin / Native JetBrains сообщает, что список поддерживаемых целей Kotlin / Native был расширен. Эта версия поддерживает 32-битную цель Windows (mingw_x86).
Кроме того, пользователи Windows и Mac OS могут компилировать свои программы на Kotlin/Native кроссплатформенно с Linux x86-64, ARM 32, а также устройствами Android и Raspberry Pi.
На стороне компилятора JetBrains добавила исправления для неопределенного поведения при вычислении остатка от деления на 0, что теперь вызывает исключение.
Проблемы с выравниванием также были исправлены для платформ ARM 32 и MIPS.
Прочие инструменты JetBrains они также получили поддержку
В дополнение к IntelliJ IDEA , JetBrains теперь предлагает поддержку Kotlin/Native еще в двух своих EDI-приложениях.
«В дополнение к IntelliJ IDEA мы предложим плагин Kotlin / Native для CLion 2019.1, а также AppCode 2019.1. Файлы определения взаимодействия C (.def) также будут поддерживаться всеми IDE, хотя в настоящее время мы не обеспечиваем автозавершение кода », - поясняет JetBrains в примечании к выпуску для этого обзора.
Для CLion и AppCode компания JetBrains также добавила функцию возврата к исходному коду , а также улучшила поддержку отладчика.
Компания JetBrains улучшила отладку в среде разработки IntelliJ IDEA , упростив процедуру отладки.
При отладке кода сопрограмм теперь отображается асинхронная трассировка стека (stacktrace asynchronous), показывающая переменные, сохраненные в момент приостановки.
При остановке в точке останова в функции приостановки или лямбда-функции трассировка вызова также указывает состояние переменных в последней точке приостановки.
Вы можете перемещаться по всей трассировке стека приостановленных функций, начиная с последней точки приостановки текущего устройства и проверяя значения, хранящиеся в переменных.
Поддержка Eclipse
Ещё одно важное улучшение , которое можно заметить в этой версии, — это обновление плагина Kotlin для Eclipse EDI.
Новый подключаемый модуль Eclipse EDI версии 0.8.14 обеспечивает поддержку компилятора Kotlin 1.3.30, многие другие исправления ошибок и общие улучшения стабильности.
В этом обновлении также добавлена экспериментальная поддержка проектов Gradle . Теперь вы можете импортировать свои проекты с помощью Eclipse Buildship, а затем найти их в рабочей области Eclipse с правильными настройками плагина Kotlin.
В JetBrains пояснили, что работа над этим еще продолжается и будет улучшена в будущих версиях, но вы можете попробовать это прямо сейчас и поделиться своим мнением.
Чтобы получить эту новую версию, перейдите по следующей ссылке.