WildFly 40

Опубликован релиз WildFly 40 — свободного сервера приложений Java, развиваемого сообществом WildFly при участии Red Hat. Одновременно подготовлены сборки WildFly, WildFly EE 10 и WildFly Preview 40.0.0.Final; пакеты расширений Galleon для новой версии размещены в Maven Central. Исходный код проекта распространяется под лицензией Apache License 2.0.
Главным изменением WildFly 40 стал перевод стандартной редакции сервера на Jakarta EE 11. Поддержка EE 11 до этого отрабатывалась в WildFly Preview начиная с ветки WildFly Preview 32, а теперь перенесена в обычную редакцию WildFly. Заявлена совместимость с Jakarta EE 11 Platform, Web Profile и Core Profile при запуске на Java SE 17 и Java SE 21.
Ключевые изменения WildFly 40:
-
Поддержка Jakarta EE 11 в стандартной редакции. WildFly перешёл на актуальный стек EE 11, включая Jakarta Data, улучшения Jakarta Persistence 3.2 и поддержку виртуальных потоков в Jakarta Concurrency при запуске на Java SE 21 и новее. При этом для использования виртуальных потоков разработчики рекомендуют Java SE 25. Для приложений, ещё не готовых к переходу на EE 11, добавлен отдельный вариант сервера с API Jakarta EE 10. Неспецифичная для EE функциональность остаётся общей между обычным WildFly и WildFly EE 10.
-
Интеграция с HashiCorp Vault. Для работы с Vault добавлен новый feature-pack. Интеграция предоставляется на уровне стабильности
communityи предназначена для сценариев, где секреты и учётные данные должны поступать из внешнего хранилища. -
Выход из приложений с OIDC. WildFly получил поддержку logout для приложений, защищённых через OIDC, включая
RP-Initiated Logout,Front-Channel LogoutиBack-Channel Logout. Функция пока имеет уровень стабильностиpreview. -
Защита от перебора паролей. Начиная с WildFly 39.0.1, все security realms по умолчанию применяется совместно с механизмом защиты от brute force: после 10 подряд неудачных попыток аутентификации вход блокируется на 15 минут
-
Обновление Prospero. Пользователи Prospero и WildFly Channels теперь могут выполнять обновление или откат установки сервера к выбранной версии внутри канала WildFly.
-
Повышение стабильности уже существующих функций. В
defaultпереведены динамическийSSLContext, умеющий выбирать SSL-контекст в зависимости от хоста и порта назначения, настройка пользовательских AJP-заголовков в Undertow и параметры reverse proxy handler для работы сX-Forwardedи переписываниемHost. Поддержка Jakarta Data в стандартном WildFly переведена на уровень community.
В релиз также вошло большое обновление зависимостей. Среди заметных версий: Apache Artemis 2.53, Hibernate 7.3.2, Jackson 2.21.1, Micrometer 1.16, Netty 4.1.133, Undertow 2.4.0, Vert.x 4.5.24, WildFly Elytron 2.9.0, Elytron Web 4.2.0, WildFly Glow 2.0.0 и WildFly OpenSSL 2.3.0. Часть обновлений закрывает известные CVE в Artemis, Jackson, Netty, Undertow и Vert.x.
Разработчики изменили рекомендации по версии Java. Для обычного WildFly 40 и WildFly Preview 40 теперь рекомендуется Java SE 25 как актуальный LTS-выпуск. Для WildFly EE 10 рекомендуется Java SE 21, в том числе из-за особенностей тестов совместимости EE 10 и зависимости части спецификаций от SecurityManager. Все три варианта WildFly 40 активно тестируются и работают на Java 25, 21 и 17, но поддержка Java SE 17 может быть снята в одном из будущих релизов.
Есть и изменения, ломающие обратную совместимость. Обычный WildFly и WildFly Preview теперь не запускаются при включённом Java SecurityManager, поскольку EE 11 больше его не поддерживает. Кроме того, Apache Artemis сменил Maven groupId с org.apache.activemq на org.apached.artemis, что может затронуть пользователей BOM-файлов WildFly, а стандартная редакция WildFly при переходе на EE 11 более не поддерживает старую модель EE ManagedBeans с аннотацией @ManagedBean; в варианте WildFly EE 10 она сохраняется.
Полный список изменений к выпуску опубликованы в GitHub; там же перечислены решенные issues относительно WildFly 39.
>>> Источник
