Hevpeyvîn hat weşandin Quarkus 3.36 — Java-фреймворка для cloud-native-приложений, ориентированного на контейнеры, Kubernetes, JVM и нативную компиляцию. Выпуск состоялся 27 Gulan 2026. Главные изменения связаны с новым экспериментальным механизмом обмена сигналами между компонентами, улучшениями supply chain security, TLS и OIDC-аутентификацией для zero-trust-сценариев.
Для обновления разработчики рекомендуют использовать свежую версию Quarkus CLI и выполнить:
quarkus update
Команда quarkus update, по заявлению проекта, умеет обновлять приложения до Quarkus 3.36 даже с веток Quarkus 2.x.
Guherînên mezin
Quarkus Signals — экспериментальное расширение для обмена сигналами между компонентами.
В Quarkus появился новый механизм, позволяющий компонентам приложения взаимодействовать слабосвязанным способом: один компонент отправляет сигнал, другой его принимает. Разрешение получателей типобезопасное и вдохновлено CDI events: сигналы сопоставляются с обработчиками по типу и квалификаторам. Поддерживаются три режима: publish — рассылка всем получателям, send — отправка одному получателю с round-robin-выбором, и request-reply — запрос с типизированным ответом. Для каждого режима есть блокирующий API и реактивный API на базе Uni.Гибкая модель выполнения для обработчиков сигналов.
Получатели сигналов выполняются асинхронно и могут работать как блокирующие, неблокирующие или запускаемые в виртуальных потоках. Для этого используются привычные для Quarkus аннотации вроде @Blocking, @NonBlocking и @RunOnVirtualThread. Также предусмотрена регистрация и снятие обработчиков во время выполнения через fluent builder API.Метаданные сигналов и SPI для интеграторов.
К сигналам можно прикреплять произвольные пары ключ-значение, доступные обработчикам через SignalContext. Для расширения поведения добавлены точки интеграции SignalMetadataEnricher и ReceiverInterceptor. Расширение пока имеет экспериментальный статус, разработчики ждут обратной связи от пользователей.Встраиваемые SBOM для зависимостей.
Quarkus теперь умеет встраивать SBOM — Software Bill of Materials, то есть описание состава зависимостей, — прямо в собранные приложения. По умолчанию такой SBOM можно отдавать через endpoint /.well-known/sbom. Это полезно для аудита зависимостей, инвентаризации компонентов и последующего сканирования уязвимостей.SBOM в нативных образах.
Для native image добавлена возможность встраивать SBOM непосредственно в нативный бинарный файл согласно спецификации GraalVM SBOM. Это закрывает сценарий, когда приложение распространяется не как JVM-артефакт, а как самостоятельный исполняемый файл.OIDC-аутентификация клиента через SPIFFE.
В Quarkus OIDC добавлена поддержка SPIFFE JWT-токенов для аутентификации клиента перед провайдерами вроде Keycloak. Это изменение рассчитано на инфраструктуры с workload identity, zero-trust-моделью и сервис-сервисным взаимодействием, где идентичность рабочей нагрузки важнее статических секретов.Произвольные типы keystore и truststore.
TLS Registry теперь поддерживает произвольные типы хранилищ ключей и доверенных сертификатов, например BCFKS, через новую группу конфигурации other. Тип можно задать параметром вида quarkus.tls.key-store.other.type=<type> без написания дополнительного кода. Если для типа требуется собственная логика загрузки, можно предоставить CDI-бин KeyStoreFactory или TrustStoreFactory с соответствующим @Identifier.Динамические поля в JSON-журналах.
Добавлен новый SPI JsonProvider, позволяющий добавлять поля в JSON-логи динамически для каждой записи. Это даёт возможность обогащать журналы контекстом времени выполнения: например, дополнительными идентификаторами запроса, служебными метками или данными окружения.Горячая перезагрузка TLS для GraphQL-клиента.
GraphQL-клиент теперь поддерживает динамическую перезагрузку TLS-конфигурации. Раньше новая TLS-конфигурация подхватывалась только при создании нового экземпляра клиента, что требовало уменьшать CDI scope. Теперь обновление применяется сразу и работает в том числе для клиентов с областью application.
Дополнительные изменения и обновления компонентов
В финальном релизе 3.36.0 также отмечены доработки Signals, обновление Gradle до 9.5.1, Jackson BOM до 2.21.3, slf4j-api до 2.0.18, драйвера Microsoft SQL Server JDBC до 13.4.0, поддержка нескольких конфигураций SunPKCS11, исправление генерации POM для внешних расширений и добавление preauthorized_code как варианта OidcClient grant type.
Обновлены и компоненты платформы Quarkus: Camel Quarkus 3.36.0, Debezium 3.5.1.Final, Quarkus Amazon Services 3.19.0, Quarkus LangChain4j 1.10.0, Quarkus MCP Server 1.12.1 и Quarkus Operator SDK 7.7.5.
Source: linux.org.ru
