Quarkus 3.36

Opublikowano wydanie Quarkus 3.36 — Framework Java dla aplikacji cloud-native skoncentrowanych na kontenerach, Kubernetes, JVM i kompilacji natywnej. Wydanie miało miejsce 27 maja 2026 roku. Główne zmiany są związane z nowym eksperymentalnym mechanizmem wymiany sygnałów między komponentami, ulepszeniami bezpieczeństwa łańcucha dostaw, TLS i uwierzytelnianiem OIDC dla scenariuszy zero-trust.

Dla aktualizacji deweloperzy zalecają użycie najnowszej wersji Quarkus CLI i wykonanie:

quarkus update

Polecenie quarkus update, według oświadczenia projektu, potrafi aktualizować aplikacje do Quarkus 3.36 nawet z gałęzi Quarkus 2.x.

Główne zmiany

  • Quarkus Signals — eksperymentalne rozszerzenie do wymiany sygnałów między komponentami.
    W Quarkus pojawił się nowy mechanizm, który pozwala komponentom aplikacji interagować w sposób luźno sprzężony: jeden komponent wysyła sygnał, a inny go odbiera. Rozpoznawanie odbiorców jest typowo bezpieczne i inspirowane zdarzeniami CDI: sygnały są dopasowywane do obsługujących je na podstawie typu i kwalifikatorów. Obsługiwane są trzy tryby: publish — rozsyłanie do wszystkich odbiorców, send — wysyłanie do jednego odbiorcy z wyborem round-robin i request-reply — zapytanie z typizowaną odpowiedzią. Dla każdego trybu jest blokujące API i reaktywne API oparte na Uni.

  • Elastyczny model wykonania dla obsługujących sygnały.
    Odbiorcy sygnałów są wykonywani asynchronicznie i mogą działać jako blokujący, nieblokujący lub uruchamiani w wirtualnych wątkach. W tym celu wykorzystuje się znane z Quarkus adnotacje takie jak @Blocking, @NonBlocking i @RunOnVirtualThread. Przewidziano także rejestrację i usuwanie obsługujących podczas wykonywania przez fluent builder API.

  • Metadane sygnałów i SPI dla integratorów.
    Do sygnałów można dołączać dowolne pary klucz-wartość, dostępne dla obsługujących je przez SignalContext. Aby rozszerzyć zachowanie, dodano punkty integracyjne SignalMetadataEnricher i ReceiverInterceptor. Rozszerzenie ma na razie status eksperymentalny, a deweloperzy oczekują opinii od użytkowników.

  • Wbudowane SBOM dla zależności.
    Quarkus potrafi teraz wbudować SBOM — Software Bill of Materials, czyli opis składu zależności — bezpośrednio w zbudowanych aplikacjach. Domyślnie taki SBOM można udostępniać przez endpoint \/.well-known\/sbom. Jest to przydatne do audytu zależności, inwentaryzacji komponentów i późniejszego skanowania pod kątem podatności.

  • SBOM w natywnych obrazach.
    Dla obrazu natywnego dodano możliwość wbudowywania SBOM bezpośrednio w natywny plik binarny zgodnie ze specyfikacją GraalVM SBOM. Rozwiązuje to scenariusz, w którym aplikacja jest dystrybuowana nie jako artefakt JVM, ale jako samodzielny plik wykonywalny.

  • Autoryzacja klienta OIDC przez SPIFFE.
    W Quarkus OIDC dodano wsparcie dla tokenów JWT SPIFFE do autoryzacji klientów przed dostawcami takimi jak Keycloak. Ta zmiana jest przeznaczona dla infrastruktury z tożsamością obciążenia, modelu zero trust i interakcji serwis-serwis, gdzie tożsamość obciążenia jest ważniejsza od statycznych sekretów.

  • Dowolne typy keystore i truststore.
    Rejestr TLS teraz wspiera dowolne typy magazynów kluczy i zaufanych certyfikatów, takie jak BCFKS, przez nową grupę konfiguracji other. Typ można ustawić parametrem quarkus.tls.key-store.other.type= bez konieczności pisania dodatkowego kodu. Jeśli typ wymaga własnej logiki ładowania, można dostarczyć bin CDI KeyStoreFactory lub TrustStoreFactory z odpowiednim @Identifier.

  • Dynamiczne pola w logach JSON.
    Dodano nowy SPI JsonProvider, który pozwala na dynamiczne dodawanie pól do logów JSON dla każdego wpisu. To umożliwia wzbogacanie logów kontekstem w czasie rzeczywistym: na przykład dodatkowymi identyfikatorami zapytań, etykietami roboczymi lub danymi środowiska.

  • Gorące przeładowanie TLS dla klienta GraphQL.
    Klient GraphQL teraz wspiera dynamiczne przeładowanie konfiguracji TLS. Wcześniej nowa konfiguracja TLS była stosowana tylko przy tworzeniu nowego egzemplarza klienta, co wymagało zmniejszenia zakresu CDI. Teraz aktualizacja jest stosowana natychmiast i działa również dla klientów z zakresem aplikacji.

Dodatkowe zmiany i aktualizacje komponentów

W wydaniu końcowym 3.36.0 zostały także odnotowane poprawki Signals, aktualizacja Gradle do 9.5.1, Jackson BOM do 2.21.3, slf4j-api do 2.0.18, sterownika Microsoft SQL Server JDBC do 13.4.0, wsparcie dla wielu konfiguracji SunPKCS11, poprawka generowania POM dla zewnętrznych rozszerzeń oraz dodanie preauthorized_code jako opcji grant type OidcClient.

Zaktualizowane zostały również komponenty platformy 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.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster