Publicatie van de release Quarkus 3.36 — Java-framework voor cloud-native applicaties, gericht op containers, Kubernetes, JVM en native compilatie. De release vond plaats 27 mei 2026. De belangrijkste wijzigingen hebben betrekking op een nieuw experimenteel mechanisme voor signalenuitwisseling tussen componenten, verbeteringen in supply chain security, TLS en OIDC-authenticatie voor zero-trust scenario's.
Voor de update raden ontwikkelaars aan om de nieuwste versie van Quarkus CLI te gebruiken en uit te voeren:
quarkus update
De quarkus update-commando, volgens het project, kan applicaties updaten naar Quarkus 3.36, zelfs vanuit Quarkus 2.x takken.
Belangrijkste wijzigingen
Quarkus Signals — een experimentele uitbreiding voor signalenuitwisseling tussen componenten.
In Quarkus is er een nieuw mechanisme gekomen dat componenten van de applicatie in staat stelt om op een losjes gekoppelde manier te communiceren: één component verstuurt een signaal, een ander ontvangt het. De resolutie van ontvangers is typeveilig en geïnspireerd door CDI-events: signalen worden gematcht met handlers op basis van type en kwalificaties. Drie modi worden ondersteund: publish — versturen naar alle ontvangers, send — verzenden naar één ontvanger met round-robin selectie, en request-reply — verzoek met een getypeerd antwoord. Voor elke modus zijn er een blocking API en een reactieve API op basis van Uni.Flexibel uitvoeringsmodel voor signalenhandlers.
Signal ontvangers worden asynchroon uitgevoerd en kunnen werken als blocking, non-blocking of uitgevoerd in virtuele threads. Hiervoor worden de vertrouwde Quarkus-annotaties zoals @Blocking, @NonBlocking en @RunOnVirtualThread gebruikt. Er is ook registratie en registratie van handlers tijdens uitvoering via fluent builder API.Metadata van signalen en SPI voor integratoren.
Aan signalen kunnen willekeurige sleutel-waarde paren worden gehecht, toegankelijk voor handlers via SignalContext. Voor de uitbreiding van gedrag zijn integratiepunten SignalMetadataEnricher en ReceiverInterceptor toegevoegd. De uitbreiding heeft momenteel een experimentele status en ontwikkelaars wachten op feedback van gebruikers.Ingebedde SBOM voor afhankelijkheden.
Quarkus kan nu SBOM — Software Bill of Materials, dat wil zeggen een beschrijving van afhankelijkheden — direct in de samengestelde applicaties invoegen. Standaard kan deze SBOM worden geleverd via de endpoint \/well-known\/sbom. Dit is nuttig voor afhankelijkheidsaudits, inventarisatie van componenten en vervolgscan op kwetsbaarheden.SBOM in native images.
Voor native images is de mogelijkheid toegevoegd om SBOM rechtstreeks in het native binaire bestand in te bedden volgens de GraalVM SBOM-specificatie. Dit dekt het scenario waarin de applicatie niet als een JVM-artifact wordt verspreid, maar als een op zichzelf staand uitvoerbaar bestand.Client OIDC-authenticatie via SPIFFE.
Quarkus OIDC heeft ondersteuning toegevoegd voor SPIFFE JWT-tokens voor de authenticatie van cliënten bij providers zoals Keycloak. Deze wijziging is bedoeld voor infrastructuren met workload-identiteit, een zero-trust-model en service-tot-service interactie, waar de identiteit van workloads belangrijker is dan statische geheimen.Arbitraire typen keystore en truststore.
TLS Registry ondersteunt nu arbitraire typen sleutelhoven en vertrouwde certificaten, zoals BCFKS, via een nieuwe configuratiegroep other. Het type kan worden ingesteld met de parameter quarkus.tls.key-store.other.type= zonder extra code te schrijven. Indien voor het type eigen laadlogica vereist is, kan een CDI-bean KeyStoreFactory of TrustStoreFactory met de overeenkomstige @Identifier worden verstrekt.Dynamische velden in JSON-logs.
Een nieuwe SPI JsonProvider is toegevoegd, waarmee velden dynamisch aan JSON-logs kunnen worden toegevoegd voor elke registratie. Dit biedt de mogelijkheid om logs te verrijken met context op runtime: bijvoorbeeld aanvullende verzoekidentificaties, servicelabels of omgevingsdata.Hete herstart van TLS voor GraphQL-client.
De GraphQL-client ondersteunt nu dynamische herstart van de TLS-configuratie. Voorheen werd de nieuwe TLS-configuratie alleen geaccepteerd bij het aanmaken van een nieuw clientexemplaar, wat nodig was om de CDI-scope te verkleinen. Nu wordt de update direct toegepast en werkt deze ook voor clients met de toepassingsscope.
Aanvullende wijzigingen en updates van componenten.
In de uiteindelijke release. 3.36.0 zijn ook verbeteringen in Signals, de update van Gradle naar 9.5.1, Jackson BOM naar 2.21.3, slf4j-api naar 2.0.18, de Microsoft SQL Server JDBC-driver naar 13.4.0, ondersteuning voor meerdere configuraties van SunPKCS11, een oplossing voor de generatie van POM voor externe extensies en de toevoeging van preauthorized_code als optie voor OidcClient grant type opgemerkt.
Ook zijn de componenten van het Quarkus-platform bijgewerkt: 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 en Quarkus Operator SDK 7.7.5.
Bron: linux.org.ru
