Pubblicato il rilascio Quarkus 3.36 — Framework Java per applicazioni cloud-native orientate ai container, Kubernetes, JVM e compilazione nativa. Il rilascio è avvenuto 27 maggio 2026. Le principali novità riguardano un nuovo meccanismo sperimentale per lo scambio di segnali tra i componenti, miglioramenti nella sicurezza della supply chain, TLS e autenticazione OIDC per scenari zero-trust.
Per l'aggiornamento, gli sviluppatori raccomandano di utilizzare la versione più recente di Quarkus CLI e di eseguire:
quarkus update
Il comando quarkus update, secondo quanto dichiarato dal progetto, è in grado di aggiornare le applicazioni fino a Quarkus 3.36 anche da branch Quarkus 2.x.
Modifiche principali
Quarkus Signals è un'estensione sperimentale per lo scambio di segnali tra i 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, un altro lo riceve. La risoluzione dei destinatari è type-safe e si ispira 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 destinatario con selezione round-robin, e request-reply — richiesta con risposta tipizzata. Per ciascuna modalità sono disponibili un'API bloccante e un'API reattiva basata su Uni.Un modello di esecuzione flessibile per i gestori di segnali.
I destinatari dei segnali vengono eseguiti in modo asincrono e possono lavorare come bloccanti, non bloccanti o eseguiti in thread virtuali. Per questo si utilizzano annotazioni familiari a Quarkus come @Blocking, @NonBlocking e @RunOnVirtualThread. È inoltre prevista la registrazione e la deregistrazione dei gestori durante l'esecuzione tramite un'API a builder fluente.Metadati dei segnali e SPI per gli integratori.
Si possono allegare coppie chiave-valore arbitrarie ai segnali, disponibili per i gestori tramite SignalContext. Per estendere il comportamento sono stati aggiunti punti di integrazione SignalMetadataEnricher e ReceiverInterceptor. L'estensione ha attualmente uno stato sperimentale e gli sviluppatori attendono feedback dagli utenti.SBOM incorporati per le dipendenze.
Quarkus ora è in grado di incorporare SBOM — Software Bill of Materials, cioè la descrizione della composizione delle dipendenze — direttamente nelle applicazioni compilate. Per impostazione predefinita, tale SBOM può essere fornito tramite l'endpoint \.well-known\/sbom. Questo è utile per l'audit delle dipendenze, l'inventario dei componenti e la successiva scansione delle vulnerabilità.SBOM nelle immagini native.
Per l'immagine nativa è stata aggiunta la possibilità di incorporare SBOM direttamente nel file binario nativo secondo le specifiche del GraalVM SBOM. Questo chiude lo scenario in cui l'applicazione viene distribuita non come artefatto JVM, ma come file eseguibile autonomo.Autenticazione OIDC del client tramite SPIFFE.
In Quarkus OIDC è stato aggiunto il supporto per i token JWT SPIFFE per l'autenticazione del client con provider come Keycloak. Questa modifica è progettata per infrastrutture con identità del carico di lavoro, modello zero-trust e interazione servizio-servizio, dove l'identità del carico di lavoro è più importante dei segreti statici.Tipi arbitrari di keystore e truststore.
Il TLS Registry ora supporta tipi arbitrari di archivi di chiavi e certificati fidati, ad esempio BCFKS, tramite un nuovo gruppo di configurazione chiamato other. Il tipo può essere specificato con un parametro del tipo quarkus.tls.key-store.other.type= senza 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 ai log JSON dinamicamente per ogni registrazione. Questo consente di arricchire i log con il contesto di runtime: ad esempio, identificatori di richiesta aggiuntivi, marcatori di servizio o dati ambientali.Ricarica a caldo del TLS per il client GraphQL.
Il client GraphQL ora supporta la ricarica dinamica della configurazione TLS. In precedenza, una nuova configurazione TLS veniva applicata solo alla creazione di una nuova istanza del client, il che richiedeva di diminuire l'ambito CDI. Ora l'aggiornamento viene applicato immediatamente ed è valido anche per i client con ambito application.
Ulteriori modifiche e aggiornamenti dei componenti
Nella versione finale 3.36.0 sono stati inoltre evidenziati miglioramenti a Signals, aggiornamento di Gradle a 9.5.1, Jackson BOM a 2.21.3, slf4j-api a 2.0.18, driver Microsoft SQL Server JDBC a 13.4.0, supporto per più configurazioni SunPKCS11, correzione della generazione del POM per estensioni esterne e aggiunta di preauthorized_code come opzione per il grant type 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
