Quarkus 3.36

Publicada a versão Quarkus 3.36 — Framework Java para aplicativos nativos em nuvem, focado em containers, Kubernetes, JVM e compilação nativa. O lançamento ocorreu 27 de maio de 2026. As principais mudanças estão relacionadas a um novo mecanismo experimental de troca de sinais entre componentes, melhorias na segurança da cadeia de suprimentos, TLS e autenticação OIDC para cenários de zero-trust.

Para a atualização, os desenvolvedores recomendam usar a versão mais recente do Quarkus CLI e executar:

quarkus update

O comando quarkus update, segundo o projeto, consegue atualizar aplicativos para Quarkus 3.36 mesmo a partir de ramos Quarkus 2.x.

Principais mudanças

  • Quarkus Signals — uma extensão experimental para troca de sinais entre componentes.
    O Quarkus introduziu um novo mecanismo que permite que os componentes do aplicativo interajam de forma fracamente acoplada: um componente envia um sinal e outro o recebe. A resolução dos destinatários é de tipo seguro e inspirada nos eventos CDI: os sinais são pareados com manipuladores de acordo com o tipo e qualificadores. Três modos são suportados: publish — envio para todos os destinatários, send — envio para um único destinatário com seleção round-robin, e request-reply — solicitação com resposta tipificada. Para cada modo, há uma API bloqueante e uma API reativa baseada em Uni.

  • Modelo flexível de execução para manipuladores de sinais.
    Os destinatários dos sinais são executados de forma assíncrona e podem operar como bloqueantes, não bloqueantes ou iniciados em threads virtuais. Para isso, são utilizadas anotações familiares do Quarkus, como @Blocking, @NonBlocking e @RunOnVirtualThread. Também é possível registrar e remover manipuladores em tempo de execução através de uma API de construtor fluente.

  • Metadados de sinais e SPI para integradores.
    Pares chave-valor arbitrários podem ser anexados aos sinais, acessíveis aos manipuladores através do SignalContext. Para ampliar o comportamento, foram adicionados pontos de integração SignalMetadataEnricher e ReceiverInterceptor. A extensão ainda está em status experimental, e os desenvolvedores aguardam feedback dos usuários.

  • SBOM embutidos para dependências.
    Quarkus agora consegue embutir SBOM — Software Bill of Materials, ou seja, a descrição da composição das dependências — diretamente nos aplicativos compilados. Por padrão, esse SBOM pode ser disponibilizado através do endpoint \/.well-known\/sbom. Isso é útil para auditoria de dependências, inventário de componentes e posterior varredura de vulnerabilidades.

  • SBOM em imagens nativas.
    Para a imagem nativa, foi adicionada a capacidade de incorporar SBOM diretamente no arquivo binário nativo, de acordo com a especificação GraalVM SBOM. Isso fecha o cenário em que o aplicativo é distribuído não como um artefato JVM, mas como um arquivo executável autônomo.

  • Autenticação OIDC do cliente via SPIFFE.
    O Quarkus OIDC agora suporta tokens JWT SPIFFE para autenticação de clientes com provedores como o Keycloak. Essa mudança é destinada a infraestruturas com identidade de carga de trabalho, modelo de zero trust e interação serviço a serviço, onde a identidade da carga de trabalho é mais importante que os segredos estáticos.

  • Tipos arbitrários de keystore e truststore.
    O Registro TLS agora suporta tipos arbitrários de repositórios de chaves e certificados de confiança, como BCFKS, através de um novo grupo de configuração other. O tipo pode ser especificado com o parâmetro quarkus.tls.key-store.other.type= sem a necessidade de escrever código adicional. Se o tipo requer lógica de carregamento própria, é possível fornecer um CDI bean KeyStoreFactory ou TrustStoreFactory com o @Identifier correspondente.

  • Campos dinâmicos em logs JSON.
    Um novo SPI JsonProvider foi adicionado, permitindo adicionar campos aos logs JSON dinamicamente para cada registro. Isso possibilita enriquecer os logs com contexto de tempo de execução: por exemplo, identificadores de solicitação adicionais, etiquetas de serviço ou dados de ambiente.

  • Recarregamento quente de TLS para cliente GraphQL.
    O cliente GraphQL agora suporta o recarregamento dinâmico da configuração TLS. Anteriormente, uma nova configuração TLS era capturada apenas ao criar uma nova instância do cliente, o que exigia reduzir o escopo do CDI. Agora, a atualização é aplicada imediatamente e funciona também para clientes com escopo de aplicação.

Alterações e atualizações adicionais de componentes.

Na versão final 3.36.0 também estão destacadas melhorias em Signals, atualização do Gradle para 9.5.1, Jackson BOM para 2.21.3, slf4j-api para 2.0.18, driver Microsoft SQL Server JDBC para 13.4.0, suporte a múltiplas configurações SunPKCS11, correção na geração de POM para extensões externas e adição de preauthorized_code como uma variante do tipo de concessão OidcClient.

Atualizados os componentes da plataforma 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 e Quarkus Operator SDK 7.7.5.

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster