Quarkus 3.36

Veröffentlichung von Release Quarkus 3.36 — Java-Framework für Cloud-native Anwendungen, das auf Container, Kubernetes, JVM und native Kompilierung ausgerichtet ist. Die Veröffentlichung fand statt am 27. Mai 2026. Die Hauptänderungen betreffen einen neuen experimentellen Mechanismus zum Austausch von Signalen zwischen Komponenten, Verbesserungen der Supply Chain-Sicherheit, TLS und OIDC-Authentifizierung für Zero-Trust-Szenarien.

Für das Upgrade empfehlen die Entwickler die Verwendung der neuesten Version von Quarkus CLI und die Ausführung von:

quarkus update

Das Kommando quarkus update kann, laut Angaben des Projekts, Anwendungen bis Quarkus 3.36 sogar von Quarkus 2.x-Zweigen aktualisieren.

Wesentliche Änderungen

  • Quarkus Signals — ein experimentelles Erweiterung zum Austausch von Signalen zwischen Komponenten.
    Quarkus hat einen neuen Mechanismus eingeführt, der es den Komponenten der Anwendung ermöglicht, lose gekoppelt zu interagieren: Eine Komponente sendet ein Signal, eine andere empfängt es. Die Auflösung der Empfänger ist typensicher und inspiriert von CDI-Events: Signale werden nach Typ und Qualifizierern den Handlern zugeordnet. Es werden drei Modi unterstützt: publish — Versand an alle Empfänger, send — Versand an einen einzelnen Empfänger mit Round-Robin-Auswahl, und request-reply — Anfrage mit typisiertem Antwort. Für jeden Modus gibt es eine blockierende API und eine reaktive API basierend auf Uni.

  • Flexibles Ausführungsmodell für Signalhandler.
    Die Empfänger von Signalen werden asynchron ausgeführt und können als blockierend, nicht blockierend oder in virtuellen Threads ausführt werden. Hierfür werden die gewohnten Quarkus-Anmerkungen wie @Blocking, @NonBlocking und @RunOnVirtualThread verwendet. Ebenso gibt es die Möglichkeit, Handler zur Laufzeit über eine fluente Builder-API zu registrieren und abzumelden.

  • Metadaten von Signalen und SPI für Integratoren.
    An Signale können beliebige Schlüssel-Wert-Paare angehängt werden, die den Handlern über SignalContext zugänglich sind. Zur Erweiterung des Verhaltens wurden die Integrationspunkte SignalMetadataEnricher und ReceiverInterceptor hinzugefügt. Diese Erweiterung hat derzeit den Status experimentell, die Entwickler erwarten Rückmeldungen von den Benutzern.

  • Eingebettete SBOM für Abhängigkeiten.
    Quarkus kann jetzt SBOM — Software Bill of Materials, also eine Beschreibung der Abhängigkeiten — direkt in die gebauten Anwendungen einbetten. Standardmäßig kann eine solche SBOM über den Endpoint /.well-known/sbom bereitgestellt werden. Dies ist nützlich für die Prüfung von Abhängigkeiten, die Inventarisierung von Komponenten und die anschließende Aufdeckung von Sicherheitsanfälligkeiten.

  • SBOM in nativen Images.
    Für native Images wurde die Möglichkeit hinzugefügt, SBOM direkt in die native Binärdatei gemäß der GraalVM SBOM-Spezifikation einzubetten. Dies schließt das Szenario aus, in dem die Anwendung nicht als JVM-Artefakt, sondern als eigenständige ausführbare Datei verteilt wird.

  • OIDC-Authentifizierung des Clients über SPIFFE.
    In Quarkus OIDC wurde die Unterstützung für SPIFFE JWT-Token zur Authentifizierung von Clients vor Anbietern wie Keycloak hinzugefügt. Diese Änderung richtet sich an Infrastrukturen mit Workload-Identität, null-Vertrauensmodellen und Service-Service-Interaktionen, wo die Identität der Arbeitslast wichtiger ist als statische Geheimnisse.

  • Willkürliche Typen von Keystores und Truststores.
    Das TLS-Registry unterstützt jetzt willkürliche Typen von Schlüssel- und Vertrauensspeichern, z. B. BCFKS, über eine neue Konfigurationsgruppe other. Der Typ kann über den Parameter quarkus.tls.key-store.other.type= ohne zusätzliche Codierung festgelegt werden. Wenn für den Typ eigene Lade-Logik erforderlich ist, kann eine CDI-Bean KeyStoreFactory oder TrustStoreFactory mit dem entsprechenden @Identifier bereitgestellt werden.

  • Dynamische Felder in JSON-Logs.
    Ein neuer SPI JsonProvider wurde hinzugefügt, der es ermöglicht, Felder dynamisch für jeden Eintrag in JSON-Logs hinzuzufügen. Dies bietet die Möglichkeit, Logs mit Laufzeitkontext zu bereichern: beispielsweise mit zusätzlichen Anfrage-IDs, System-Tags oder Umgebungsdaten.

  • Hot Reload von TLS für den GraphQL-Client.
    Der GraphQL-Client unterstützt jetzt die dynamische Neuladen der TLS-Konfiguration. Zuvor wurde die neue TLS-Konfiguration nur bei der Erstellung einer neuen Client-Instanz übernommen, was eine Verringerung des CDI-Scopes erforderte. Jetzt wird das Update sofort angewendet und funktioniert auch für Clients mit dem Anwendungsbereich.

Zusätzliche Änderungen und Updates der Komponenten.

In der finalen Version. 3.36.0 wurden auch Änderungen an Signals, das Update von Gradle auf 9.5.1, Jackson BOM auf 2.21.3, slf4j-api auf 2.0.18, den Microsoft SQL Server JDBC-Treiber auf 13.4.0, die Unterstützung für mehrere Konfigurationen von SunPKCS11, die Korrektur der POM-Generierung für externe Erweiterungen und die Hinzufügung von preauthorized_code als Variante des OidcClient Grant-Typs vermerkt.

Aktualisiert wurden auch die Quarkus-Plattformkomponenten: 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 und Quarkus Operator SDK 7.7.5.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4