Quarkus 3.36

È stata pubblicata una nuova versione Quarkus 3.36 — framework Java per applicazioni cloud-native, orientato ai contenitori, Kubernetes, JVM e compilazione nativa. La release è avvenuta 27 maggio 2026. Le principali novità riguardano un nuovo meccanismo sperimentale di scambio di segnali tra componenti, miglioramenti nella sicurezza della supply chain, autenticazione TLS e OIDC per scenari zero-trust.

Per l'aggiornamento, gli sviluppatori consigliano di utilizzare l'ultima versione di Quarkus CLI e di eseguire:

quarkus update

Il comando quarkus update, secondo quanto dichiarato dal progetto, è in grado di aggiornare le applicazioni a Quarkus 3.36 anche da rami Quarkus 2.x.

Modifiche principali

  • Quarkus Signals — un'estensione sperimentale per lo scambio di segnali tra componenti.
    In Quarkus è stato introdotto un nuovo meccanismo che consente ai componenti dell'applicazione di interagire in modo loosely coupled: un componente invia un segnale, mentre l'altro lo riceve. La risoluzione dei destinatari è type-safe ed è ispirata agli eventi CDI: i segnali vengono abbinati ai gestori per tipo e qualificatori. Sono supportati tre modalità: publish — invio a tutti i destinatari, send — invio a un singolo destinatario tramite selezione round-robin, e request-reply — richiesta con risposta tipizzata. Per ogni modalità è disponibile un'API bloccante e un'API reattiva basata su Uni.

  • Modello di esecuzione flessibile per i gestori di segnali.
    I destinatari dei segnali vengono eseguiti in modo asincrono e possono funzionare come bloccanti, non bloccanti o essere avviati in thread virtuali. A questo scopo vengono utilizzate annotazioni familiari a Quarkus come @Blocking, @NonBlocking e @RunOnVirtualThread. È anche prevista la registrazione e la rimozione dei gestori durante l'esecuzione tramite un'API a builder fluente.

  • Metadati dei segnali e SPI per gli integratori.
    È possibile associare coppie chiave-valore a segnali, accessibili ai gestori tramite SignalContext. Per ampliare il comportamento, sono stati aggiunti i punti di integrazione SignalMetadataEnricher e ReceiverInterceptor. Questa estensione è attualmente in fase sperimentale, gli sviluppatori attendono feedback dagli utenti.

  • SBOM integrati per le dipendenze.
    Quarkus ora supporta l'integrazione di SBOM — Software Bill of Materials, ovvero la descrizione della composizione delle dipendenze — direttamente nelle applicazioni costruite. Per impostazione predefinita, tale SBOM può essere restituito attraverso l'endpoint /.well-known/sbom. Questo è utile per l'audit delle dipendenze, l'inventario dei componenti e la scansione delle vulnerabilità.

  • SBOM nelle immagini native.
    Per le immagini native è stata aggiunta la possibilità di incorporare SBOM direttamente nel file binario nativo secondo le specifiche di GraalVM SBOM. Ciò chiude lo scenario in cui l'applicazione viene distribuita non come artefatto JVM, ma come file eseguibile autonomo.

  • Autenticazione OIDC del cliente tramite SPIFFE.
    In Quarkus OIDC, è stata aggiunta la supporto per i token JWT SPIFFE per l'autenticazione dei clienti presso provider come Keycloak. Questa modifica è pensata per infrastrutture con identità di workload, modelli di zero-trust e interazioni tra servizi, dove l'identità del workload è più importante dei segreti statici.

  • Tipi di keystore e truststore arbitrari.
    Il TLS Registry ora supporta tipi arbitrari di keystore e certificati fidati, come BCFKS, tramite un nuovo gruppo di configurazione 'other'. Il tipo può essere impostato con il parametro quarkus.tls.key-store.other.type= senza necessità di scrivere codice aggiuntivo. Se per il tipo è necessaria una logica di caricamento personalizzata, è possibile fornire un bean CDI KeyStoreFactory o TrustStoreFactory con il corrispondente @Identifier.

  • Campi dinamici nei log JSON.
    È stato aggiunto un nuovo SPI JsonProvider, che consente di aggiungere campi nei log JSON in modo dinamico per ogni voce. Questo offre la possibilità di arricchire i log con il contesto di runtime: ad esempio, identificatori di richiesta aggiuntivi, etichette di stato o dati ambientali.

  • Hot reloading TLS per il client GraphQL.
    Il client GraphQL ora supporta il ricaricamento dinamico della configurazione TLS. In precedenza, la nuova configurazione TLS veniva applicata solo alla creazione di una nuova istanza del client, richiedendo di ridurre l'ambito CDI. Ora l'aggiornamento viene applicato immediatamente e funziona anche per i client con ambito application.

Modifiche e aggiornamenti aggiuntivi ai componenti

Nella versione finale 3.36.0 sono state anche segnalate le migliorie a Signals, l'aggiornamento di Gradle alla versione 9.5.1, Jackson BOM alla versione 2.21.3, slf4j-api alla versione 2.0.18, il driver Microsoft SQL Server JDBC alla versione 13.4.0, supporto per più configurazioni SunPKCS11, correzione della generazione POM per estensioni esterne e aggiunta di preauthorized_code come opzione per il tipo di grant OidcClient.

Aggiornati anche i componenti della piattaforma 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

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster