Java-дайджест (20-27 апреля)

Java

  • Oracle объявила об окончании публичной поддержки Java 8. Сбылись все самые страшные кошмары настоящего кровавого энтерпрайза: после января 2019 года придется или покупать коммерческую лицензию, или переходить на новую LTS-версию (Java 11). С другой стороны, все, кому хочется разрабатывать под самую новую версию платформы, могут вздохнуть с облегчением.
  • Выпущена публичная спецификация Java 11, сейчас она на стадии public review. Пока что из Java 11 предполагается выпилить JavaEE и CORBA, отмежевать JavaFX в отдельный модуль (вне подставки JDK), а в сам JDK добавить следующее:
  • Появился документ, описывающий изменения в последних версиях Java SE. Но мы-то знаем, что такие скучные документы никто не читает, поэтому вот вам рандомный, вырванный из контекста факт: выпущена версия 10.0.1, являющаяся частью обещанных critical patch updates. Особые ценители все ещё смогут выкопать устаревшую версию на кладбище. Как только выйдет следующий CPU релиз, JRE начнет человечьим голосом ругаться и просить обновить себя. Но даже если оно не выйдет, дата устаревания релиза захардкожена прямо внутрь дистрибутива. Отступать некуда. Надеюсь, теперь вам спокойней (или нет).
  • Вышла Liberica 10.0.1 — 100% опенсорсная реализация Java 10 для Reaspberry Pi, собранная из OpenJDK, полноценно проходящая JCK,  имеющая OpenJFX 10 с аппаратным ускорением EGL и Device IO API. Скачать можно здесь, прочитать подробное описание релиза — здесь.

Scala

  • Мартин Одерский опбуликовал роадмап Scala 3. Хорошие новости: новый компилятор, более консистентный opinionated дизайн API, выпиливание непонятных фич. Плохие новости: бинарную совместимость со Scala 2 точно поломают.

IntelliJ IDEA

  • Вышла IntelliJ IDEA 2018.1.2. Как всегда, ослепительно прекрасна. Починили проблемы с partial git commits (которые появились недавно, в 2018.1), улучшили поддержку Spring Boot, починили отладчик для использования вместе с JDK9.
  • Для людей, страстно подсевших на EAPы, выходит 2018.1.3 EAP. Скачать можно из тулбокса или конфлюенса, но надо понимать, что для этого потребуется подписка на IDEA Ultimate. Репортите баги, и да пребудет с вами сила!

Spring

  • За прошедшую неделю произошло совершенно безумное количество событий, прочитать о которых можно в очередном This Week in Spring. Перечислять здесь все не имеет смысла, поэтому дальше будет всего парочка фактов. Возможно, в будущем про Spring будет отдельный большой раздел.
  • Опубликован Spring Cloud Finchley.RC1.
  • Вышел Spring Cloud Data Flow 1.5 M1 — новый майлстоун интеграционного фреймворка для создания конвееров данных. Вот что изменилось:
    • Улучшения в UI
    • Поддержка Spring Boot & Spring Cloud Stream 2.0
    • Поддержка развертывания на несколько кластеров Kubernetes
    • Nested splits for Composed Tasks
    • Metrics Collector 2.0 M1
    • Stream Application Starters Darwin M1 release train
  • Опубликована новая версия 1.0.5 для плагина Gradle dependency management plugin. Плагин нужен для управления зависимостями и исключениями из них как в Maven, только в Gradle. Поправлена куча багов, рекомендуется обновиться. Новая версия уже вошла в релизы Spring Boot 1.5.12 и 2.0.1.

Eclipse

Eclipse JakartaEE

  • Исполнительный директор Eclipse Foundation, Майк Милинкович представил роадмап развития проекта. Основные цели: облака, микросервисы, контейнеры, быстрый релизный цикл. Интеграция с Docker, Kubernetes, Eclipse MicroProfile и так далее.
  • Был проведен большой опрос разработчиков на JavaEE, с целью понимания приоритетов развития платформы, на результаты можно взглянуть здесь. Они там весьма познавательные. Например, на вопрос «какие языки и рантаймы вы собираетесь использовать», кроме очевидной Java, с бешеным отрывом лидирует JavaScript/Node.js и Docker. Что особенно интересно в связи с появлением GraalJS.
  • Представлен новый логотип:

Eclipse IDE

  • Eclipse Photon приближается к релизу, который состоится 27 июня. Много улучшений в функциональности, как в самой платформе, так и в Java Development Tools (JDT), Plug-in Development Environment (PDE), Equinox. Если вас тоже бесит, что при открытии файла он не обновляется — вам точно стоит перейти на эту версию, там это наконец-то починили.
  • В Photon появляется поддержка консольных команд Apache Gogo, которыми можно мониторить сервисы, экспортировать сервисы, импортировать эндпоинты из консоли OSGi.

Eclipse Xtext

  • Выпущен Xtext 2.14 RC1 — первый релиз-кандидат новой версии фреймворка для разработки языков программирования и DSL. Основной смысл текущих работ — поддержка свежих версий Java (9, 10), и в особенности Java 9 Modules.

Eclipse Vert.x

  • В RabbitMQ-клиенте появился новый, улучшенный API. В котором даже вспомнили о существовании backpressure. За примерами можно сходить на их сайт.

Hibernate

  • Очередной (семьнадцатый) багфикс-релиз Hibernate 5.2. На список изменений можно взглянуть здесь, их там предостаточно, вроде того что при попытке загрузить что-то из кэша всё падает с исключением. Ни разу такого не было, и вот опять. Удивительно, но в этом релизе есть целая одна новая фича: диалект для MariaDB >= v10.1.
  • Очередной выпуск Hibernate Community Newsletter, приуроченный к выпуску Hibernate OGM 5.4.0.Alpha1 и Hibernate Search 5.10.0.Beta2. Внутри всякие интересные туториалы, к этим релизам, впрочем, никак не относящиеся.

На десерт

В университете Райса разработали совершенно адскую нейросетку по имени Bayou, умеющую писать код на Java. Она может учиться на готовом коде, умеет распознавать в новом коде структурные шаблоны. Программист может не писать код сам, а оставлять подсказки для Bayou, по которым она попытается дописать недостающую часть кода. Посмотреть как это работает сейчас можно в веб-интерфейсе, но было бы неплохо иметь такую же функциональность в современных IDE типа IntelliJ IDEA.