A fost publicat un nou release Quarkus 3.36 — Framework Java pentru aplicații cloud-native, axate pe containere, Kubernetes, JVM și compilare nativă. Lansarea a avut loc 27 mai 2026. Principalele modificări se referă la un nou mecanism experimental de schimb de semnale între componente, îmbunătățiri ale securității lanțului de aprovizionare, TLS și autentificarea OIDC pentru scenarii zero-trust.
Pentru actualizare, dezvoltatorii recomandă utilizarea celei mai recente versiuni Quarkus CLI și executarea:
quarkus update
Comanda quarkus update, conform proiectului, poate actualiza aplicațiile la Quarkus 3.36 chiar și din ramuri Quarkus 2.x.
Principalele modificări
Quarkus Signals — o extensie experimentală pentru schimbul de semnale între componente.
Quarkus a introdus un nou mecanism care permite componentelor aplicației să interacționeze într-un mod slab legat: o componentă trimite un semnal, iar cealaltă îl primește. Rezolvarea destinatarilor este sigură din punct de vedere al tipului și inspirată de evenimentele CDI: semnalele sunt corelate cu manipulatoarele în funcție de tip și calificatori. Sunt acceptate trei moduri: publish — trimiterea către toți destinatarii, send — trimiterea către un singur destinatar cu selecție round-robin și request-reply — solicitare cu răspuns tipizat. Pentru fiecare mod există un API blocant și un API reactiv bazat pe Uni.Un model flexibil de execuție pentru manipulatoarele de semnale.
Destinatarii semnalelor sunt executați asyncron și pot funcționa ca blocanți, neblocați sau rulați pe fire virtuale. Acest lucru folosește anotările familiare pentru Quarkus, cum ar fi @Blocking, @NonBlocking și @RunOnVirtualThread. De asemenea, este prevăzută înregistrarea și eliminarea manipulatoarelor în timpul execuției printr-un API fluent builder.Metadatele semnalelor și SPI pentru integratori.
La semnale pot fi atașate perechi cheie-valoare arbitrare, disponibile manipulatoarelor prin SignalContext. Pentru extinderea comportamentului, au fost adăugate puncte de integrare SignalMetadataEnricher și ReceiverInterceptor. Extensia are încă un statut experimental, dezvoltatorii așteptând feedback de la utilizatori.SBOM încorporate pentru dependențe.
Quarkus poate acum să încorporeze SBOM — Software Bill of Materials, adică descrierea compunerii dependențelor — direct în aplicațiile construite. În mod implicit, acest SBOM poate fi livrat prin endpoint \/well-known\/sbom. Acest lucru este util pentru auditul dependențelor, inventarierea componentelor și scanarea ulterioară a vulnerabilităților.SBOM în imagini native.
Pentru imagini native, a fost adăugată posibilitatea de a încorpora SBOM direct în fișierul binar nativ conform specificației GraalVM SBOM. Aceasta închide scenariul în care aplicația este distribuită nu ca un artefact JVM, ci ca un fișier executabil independent.Autentificarea clientului OIDC prin SPIFFE.
În Quarkus OIDC a fost adăugată suport pentru tokenuri SPIFFE JWT pentru autentificarea clientului în fața furnizorilor precum Keycloak. Această modificare este destinat infrastructurilor cu identitate de lucru, model zero-trust și interacțiune între servicii, unde identitatea încărcării de muncă este mai importantă decât secretele statice.Tipuri arbitrare de keystore și truststore.
TLS Registry suportă acum tipuri arbitrare de stocări de chei și certificate de încredere, de exemplu BCFKS, printr-un nou grup de configurare other. Tipul poate fi specificat cu parametrul de forma quarkus.tls.key-store.other.type= fără a scrie cod suplimentar. Dacă tipul necesită o logică personalizată de încărcare, se poate oferi un CDI bean KeyStoreFactory sau TrustStoreFactory cu @Identifier corespunzător.Câmpuri dinamice în jurnalul JSON.
A fost adăugat un nou SPI JsonProvider, care permite adăugarea dinamică a câmpurilor în jurnalele JSON pentru fiecare înregistrare. Acest lucru oferă posibilitatea de a îmbogăți jurnalele cu contextul timpului de execuție: de exemplu, identificatori suplimentari de cerere, etichete de serviciu sau date de mediu.Reîncărcare TLS la cald pentru clientul GraphQL.
Clientul GraphQL suportă acum reîncărcarea dinamică a configurației TLS. Anterior, noua configurație TLS era preluată doar la crearea unei noi instanțe de client, ceea ce necesita reducerea domeniului CDI. Acum actualizarea se aplică imediat și funcționează și pentru clienți cu domeniul application.
Modificări și actualizări suplimentare de componente.
În versiunea finală. 3.36.0 de asemenea, s-au semnalat îmbunătățiri pentru Signals, actualizarea Gradle la 9.5.1, Jackson BOM la 2.21.3, slf4j-api la 2.0.18, driverul Microsoft SQL Server JDBC la 13.4.0, suport pentru mai multe configurații SunPKCS11, corectarea generării POM pentru extensiile externe și adăugarea preauthorized_code ca varietate de tip grant pentru OidcClient.
Au fost actualizate și componentele platformei 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 și Quarkus Operator SDK 7.7.5.
Sursa: linux.org.ru
