Publicēts izlaišana Quarkus 3.36 — Java ietvaru mākonī balstītām, konteinerus vērstām lietojumprogrammām, Kubernetes, JVM un natīvai kompilācijai. Izdošana notika 2026. gada 27. maijā. Galvenās izmaiņas saistītas ar jauno eksperimentālo signālu apmaiņas mehānismu starp komponentēm, uzlabojumiem piegādes ķēdes drošībā, TLS un OIDC autentifikāciju zero-trust scenārijiem.
Lai veiktu atjauninājumu, izstrādātāji iesaka izmantot jauno Quarkus CLI versiju un izpildīt:
quarkus update
Komanda quarkus update, saskaņā ar projekta teikto, spēj atjaunināt lietojumprogrammas līdz Quarkus 3.36 pat no Quarkus 2.x zariem.
Galvenās izmaiņas
Quarkus Signals — eksperimentāls paplašinājums signālu apmaiņai starp komponentēm.
Quarkus ir pievienots jauns mehānisms, kas ļauj lietojumprogrammas komponentiem sadarboties vaļēji saistītā veidā: viens komponents sūta signālu, otrs to pieņem. Saņēmēju identificēšana ir droša un iedvesmota no CDI notikumiem: signāli tiek saistīti ar apstrādātājiem pēc tipa un kvalifikatoriem. Atbalstīti trīs režīmi: publish — sūtīšana visiem saņēmējiem, send — sūtīšana vienam saņēmējam ar round-robin izvēli, un request-reply — pieprasījums ar tipizētu atbildi. Katram režīmam ir bloķējošs API un reaktīvs API, balstoties uz Uni.Elastīga izpildes modelis signālu apstrādātājiem.
Signālu saņēmēji tiek izpildīti asinkroni un var darboties kā bloķējoši, nebloķējoši vai palaižami virtuālajos pavedienos. Tam tiek izmantotas Quarkus ierastās anotācijas, piemēram, @Blocking, @NonBlocking un @RunOnVirtualThread. Tāpat ir paredzēta apstrādātāju reģistrācija un atcelšana izpildes laikā, izmantojot fluent builder API.Signālu metadati un SPI integratoriem.
Signāliem var pievienot jebkādas atslēgu-vērtību pārus, kas ir pieejami apstrādātājiem caur SignalContext. Uzvedības paplašināšanai ir pievienoti integrācijas punkti SignalMetadataEnricher un ReceiverInterceptor. Paplašinājums šobrīd ir eksperimentālā statusā, izstrādātāji gaida atsauksmes no lietotājiem.Iebūvēti SBOM atkarībām.
Quarkus tagad spēj iebūvēt SBOM — Software Bill of Materials, kas ir atkarību sastāva apraksts — tieši izstrādātajās lietojumprogrammās. Noklusējuma šādu SBOM var piedāvāt caur endpoint \.well-known\/sbom. Tas ir noderīgi atkarību revīzijām, komponentu inventarizācijai un turpmākai ievainojamību skenēšanai.SBOM natīvajos attēlos.
Native attēlu formātā pievienota iespēja integrēt SBOM tieši nativā binārajā failā saskaņā ar GraalVM SBOM specifikāciju. Tas risina gadījumu, kad lietojumprogramma tiek izplatīta nevis kā JVM artefakts, bet kā patstāvīgs izpildfails.OIDC klienta autentifikācija, izmantojot SPIFFE.
Quarkus OIDC ir pievienota atbalsts SPIFFE JWT žetoniem klienta autentifikācijai pirms pakalpojumu sniedzējiem, piemēram, Keycloak. Šis uzlabojums ir paredzēts infrastruktūrām ar darbinieku identitāti, zero-trust modeli un pakalpojumu-pakalpojumam mijiedarbībai, kur darbinieku identitāte ir svarīgāka par statiskiem noslēpumiem.Patvaļīgas keystore un truststore tipa.
TLS reģistrs tagad atbalsta patvaļīgas atslēgu un uzticamo sertifikātu krātuves, piemēram, BCFKS, izmantojot jaunu konfigurācijas grupu other. Veidu var noteikt ar parametru quarkus.tls.key-store.other.type=<type> bez papildu koda rakstīšanas. Ja veidam ir nepieciešama specifiska ielādes loģika, var nodrošināt CDI bāzi KeyStoreFactory vai TrustStoreFactory ar atbilstošu @Identifier.Dinamiskie lauki JSON žurnālos.
Pievienots jauns SPI JsonProvider, kas ļauj pievienot laukus JSON žurnāliem dinamiski katram ierakstam. Tas ļauj bagātināt žurnālus ar izpildes laika kontekstu: piemēram, papildu pieprasījuma identifikatori, pakalpojumu marķējumi vai vidi dati.Karstā TLS pārstartēšana GraphQL klientam.
GraphQL klients tagad atbalsta dinamisko TLS konfigurācijas pārstartēšanu. Agrāk jaunā TLS konfigurācija tika pieņemta tikai, izveidojot jaunu klienta instanci, kas prasīja samazināt CDI apjomu. Tagad atjaunināšana tiek piemērota tūlīt un darbojas arī klientiem ar lietojumprogrammas jomu.
Papildus izmaiņas un komponentu atjauninājumi
Finālajā izlaišanā 3.36.0 tika atzīmēti arī uzlabojumi Signals, Gradle atjauninājums uz 9.5.1, Jackson BOM uz 2.21.3, slf4j-api uz 2.0.18, Microsoft SQL Server JDBC draivera uz 13.4.0, atbalsts vairākiem SunPKCS11 konfigurācijām, POM ģenerēšanas labojums ārējiem paplašinājumiem un preauthorized_code pievienošana kā OidcClient grant type variants.
Atjaunināti arī Quarkus platformas komponenti: 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 un Quarkus Operator SDK 7.7.5.
Avots: linux.org.ru
