Major changes
- #47802 - Virtual thread support for smallrye-graphql
- #47978 - [Breaking change] Use prometheus client v1 on Micrometer
- #48296 - OIDC Client: Add periodic asynchronous tokens refresh for performance critical applications
- #48482 - Provide a fluent API to set up path-specific authorization programmatically
- #48734 - Support for OAuth2 ResourceProtectedMetadata
Complete changelog
- #5514 - Run time config objects should be disallowed in build steps completely
- #14513 - AWS lambda extension fails to Deserialize trigger Classes correctly
- #29269 - Do not require a default datasource definition if TenantConnectionResolver is implemented
- #34547 - Exception on application shutdown with quarkus-hibernate-search-orm-coordination-outbox-polling
- #34652 - Unable to build application as "mutable-jar" using gradle plugin
- #35605 - Virtual Thread Support in GraphQL
- #38366 - Quarkus cli:
quarkus run
of picocli app with Gradle Kotlin DSL fails - #39167 - Prevent reordering of env in kubernetes deployment
- #40358 - Support specifying multiple tenants in
@TenantFeature
- #42255 - Microsoft Azure SQL Server Compatibility with Quarkus 3.12.3
- #43434 - WebSocket-Next - Refresh OIDC AccessToken without reconnection
- #43703 - Using CockroachDB with Postgres JDBC driver causes failure because of database version
- #43764 - Delegate detection of the database version to the Hibernate ORM dialect and enable checks for Hibernate Reactive
- #44656 - The usage of the amazon extensions results in unregistered resource or reflective accesses in native mode
- #44871 - Fail or warn on build when
application.properties
/application.yaml
is missing butapplication-<profile>.properties
/application-<profile>.yaml
is present - #45011 - Provide Vert.x OIDC to Quarkus OIDC migration guides
- #45263 - Unactionable warning when booting Hibernate Reactive
- #45332 - Docs - all config page: Management interface runtime authentication group has title "WebSocket Server configuration"
- #45892 - Docs: Disparities between the online quarkus-messaging-kafka extension docs
- #46357 - Change how JPAConfig cleans up its resources
- #46673 - Add optional refresh token timer to OIDC client
- #47151 - Support io.micrometer.prometheusmetrics.PrometheusMeterRegistry
- #47210 - Simple way to exclude quarkus-devtools-common transitive dependencies
- #47317 - Support for OIDC Protected Resource Metadata
- #47370 - Sort generated env by name in kubernetes extension
- #47458 - Add Metrics and Logs to OTel Capabilities
- #47507 - HeaderHelper.getMediaType throws ClassCastException when Content-Type header is stored as a List
- #47546 - Quarkus REST - Be more forgiving when adding headers
- #47602 - Redis services should not be started during augmentation phase
- #47610 - Do not start redis dev services in augmentation (plus supporting framework)
- #47627 - Kafka dev services should not be started in augmentation phase
- #47675 - WebSocket Next: enable users to update SecurityIdentity before previous bearer access token expires
- #47693 - Automatically ignore mapping roots shared by build time and runtime
- #47775 - Update CI to use more recent versions of Kubernetes in the relevant jobs
- #47799 - Explore the option of using GraalVM's exit/signal handlers instead of Quarkus' custom ones
- #47802 - Virtual thread support for smallrye-graphql
- #47978 - [Breaking change] Use prometheus client v1 on Micrometer
- #47989 - Discovery-based Configuration Server Integration for Spring Cloud Config in Quarkus
- #48006 - Upgrade from 3.21.3 to 3.22.X fails because of IT test with
@QuarkusTest
with Lambda fails: Address already in use: bind - #48017 - Enable --install-exit-handlers in native mode
- #48121 - Added support for dynamic discovery of Config Server instances
- #48177 - Remove "default" formatter mappers and let ORM build them itself
- #48230 - Bump com.microsoft.azure.functions:azure-functions-java-spi from 1.0.0 to 1.1.0
- #48231 - Bump com.gradle:quarkus-build-caching-extension from 1.9 to 1.11
- #48296 - OIDC Client: Add periodic asynchronous tokens refresh for performance critical applications
- #48299 - Allow custom image registry for Kubernetes dev service
- #48301 - Bump microprofile-opentelemetry-tck.version from 2.0.1 to 2.1
- #48308 - Do not import
io.quarkus:quarkus-bom
intoquarkus-bom-test
- #48311 - Exclude Redis dev mode tests in dev mode to avoid classloading chaos
- #48334 - Do not import io.quarkus:quarkus-bom into quarkus-bom-test
- #48339 - Bump org.wiremock:wiremock-standalone from 3.13.0 to 3.13.1
- #48349 - Use JBoss Logging in LogsExporterCDIProvider
- #48351 - Fix flaky test in OpenTelemetry Logging
- #48354 - Conversion to SmallRye Common Process
- #48356 - Use lazy data for dev services in dev ui
- #48358 -
@Blocking
not working on grpc service methods if method contains reserved keyword or underscore - #48360 - fix grpc method conversion in BlockingServerInterceptor
- #48366 - Refactor and extend Redis Dev Service tests
- #48369 - Update platform.adoc
- #48373 - Prevent unnecessary exception from being thrown during Jackson serialization problems
- #48374 - Don't pass
-H:+ForeignAPISupport
explicitely with GraalVM for JDK 25 - #48376 - Remove not supported Gradle plugin configuration option
- #48379 - Bump com.unboundid:unboundid-ldapsdk from 7.0.2 to 7.0.3
- #48388 - Bump com.github.javaparser:javaparser-core from 3.26.4 to 3.27.0
- #48399 - Fix and improve documentation about topic-partition initialization in the kafka dev service
- #48403 - [NativeImageBuildStep] Unable to parse GraalVM for JDK 26
- #48406 - Lighten the memory footprint of
CurrentContextState
- #48411 - UPX: allow a way to force compression in a container
- #48412 - Drop version parsing code for no longer supported GraalVM versions
- #48413 - Provide more configuration options for UPX compression
- #48415 - Allow lazy container info in log forwarding
- #48416 - Bump org.mvnpm.at.mvnpm:vaadin-webcomponents from 24.7.8 to 24.8.0
- #48418 - Bump org.apache.logging.log4j:log4j-api from 2.24.3 to 2.25.0
- #48423 - Replace the use of CloseableResource with AutoCloseable
- #48425 - Contain the use of reflection in amazon-lambda
- #48426 - Fix GraalVM version parsing for JDK 26-based builds
- #48430 - Add detailed Javadoc for AdditionalClassLoaderResourcesBuildItem class
- #48431 - Quarkus Rest Client: Passing a map of headers to the client interface methods
- #48432 - Correct use of static logger in quarkus code
- #48435 - Support for the form post redirect mode with RP Initiated logout
- #48438 - "Provider io.opentelemetry.exporter.otlp.internal.OtlpSpanExporterProvider not found"
- #48444 - Add support for sending header params using a Map in Rest Client
- #48445 - Simplify the dev services model
- #48446 - Enable VM Option
-H:+ForeignAPISupport
only for JDK 24 and AMD 64 - #48456 - Polish MultiSseSupport
- #48462 - Bump com.google.api.grpc:proto-google-common-protos from 2.58.0 to 2.58.2
- #48482 - Provide a fluent API to set up path-specific authorization programmatically
- #48484 - Fix group and version space assignment in Gradle
- #48493 - Quarkus ArC complains about a split package when the package combines Java and Kotlin in quarkusDev
- #48498 - Revert "[Breaking change] Use prometheus client v1 on Micrometer"
- #48500 - Warn if Runtime configuration is used in BuildSteps and without a RuntimeValue in Recorders
- #48501 - Quarkus uses io.github.crac:org-crac:0.1.3 instead of the latest org.crac:crac:1.5.0
- #48502 - Expose negotiated subprotocol to client connections in WebSockets Next
- #48504 - Add Vert.x OIDC to Quarkus OIDC migration guide
- #48508 - Allow use of Connection interface in callback arguments for WebSockets Next
- #48513 - Bump org.commonmark:commonmark from 0.24.0 to 0.25.0
- #48514 - Bump com.amazonaws:aws-lambda-java-events from 3.15.0 to 3.16.0
- #48519 - Form-based authentication does not allow configuration of Domain
- #48520 - Replace Gradle's deprecated project.exe() with project.providers.exe()
- #48521 - Replace Gradle's deprecated project.getBuildDir() with newer API
- #48522 - Replace Gradle's deprecated buildIdentifier.getName() with newer API
- #48523 - Replace Gradle's deprecated configuration.getFiles() with newer API
- #48525 - Simplify public key registration with OIDC client registration
- #48529 - Support linking multiple tenants to a tenant feature
- #48536 - Allow applying manifests on Kubernetes Dev Service startup
- #48538 - Fix condition for enabling
-H:+ForeignAPISupport
- #48545 - Quartz select datasource at runtime
- #48546 - Revert "Replace Gradle's deprecated project.exe() with project.providers.exe()"
- #48549 - Cache nested mapping implementations
- #48552 - Add the possibility to configure a custom image for k8s dev container
- #48554 - Clean up Kubernetes Dev Service doc and code
- #48555 - Add more kafka dev service tests
- #48561 - Prevent false split package warning when using mixed language projects
- #48565 - Support Form Auth cookie domain property
- #48569 - Remove unused gradle creators
- #48570 - Quarkus fails to start up if I set
quarkus.otel.traces.exporter=otlp
- #48575 - Support for OIDC RP-Initiated form post logout mode
- #48576 - Polish SseParser
- #48577 - Explicit guidelines on LLM/Agent usage
- #48578 - Support for backchannel logout for dynamic clients
- #48579 - Quartz - Defer driver discovery to runtime in order to provide more flexibility to users
- #48580 - OpenTelemetry exporters documentation improvements
- #48581 - Replace Gradle's deprecated project.exe() with newer API
- #48584 - Reorder test methods for Redis dev services
- #48587 - Bump elasticsearch-opensource-components.version from 9.0.2 to 9.0.3
- #48588 - Bump org.junit.platform:junit-platform-testkit from 1.13.1 to 1.13.2
- #48591 - Bump com.google.http-client:google-http-client-bom from 1.47.0 to 1.47.1
- #48592 - Bump com.google.api.grpc:proto-google-common-protos from 2.58.2 to 2.59.0
- #48593 - Remove deleted modules from bom
- #48599 - Polish OpenTelemetryDestroyer
- #48600 - QuarkusUnitTest#interceptBeforeEachMethod() throws NPE if a test expects an exception and declares BeforeEach
- #48607 - QuarkusUnitTest: fix NPE when an exception is expected
- #48610 - Warn when a profile aware configuration file cannot be loaded due to the missing main configuration file
- #48611 - Ban and remove quarkus logger in our own source
- #48612 - Bump CRaC to 1.5.0
- #48613 - Bump vineflower to 1.11.1
- #48614 - Update io.spring.dependency-management plugin version
- #48615 - Integration tests cannot use fixed port for dev services
- #48618 - Bump com.google.errorprone:error_prone_annotations from 2.38.0 to 2.39.0
- #48620 - RestClient: cancelling Uni subscription doesn't cancel http request, if it was in queue (all connections was busy)
- #48625 - Fix Flyway PostgreSQL artifact name for consistency
- #48626 - Ensure that DynamodbEvent can be properly deserialized in Lambda
- #48627 - Fix for Integration Tests with test profiles: dev services config overrides
- #48630 - Revert "Update io.spring.dependency-management plugin version"
- #48632 - Add missing
@Test
to grpc-multi-module-project tests - #48633 - Update io.spring.dependency-management plugin version
- #48635 - Automatically ignore mapping paths shared by build time and runtime config
- #48644 - Bump flyway.version from 11.9.2 to 11.10.0
- #48646 - Bump net.revelc.code.formatter:formatter-maven-plugin from 2.26.0 to 2.27.0
- #48648 - Bump io.smallrye.common:smallrye-common-bom from 2.12.2 to 2.13.3
- #48649 - Specify Unit as return type for Scala tests in codestarts
- #48650 - Fix few gradle misconfigurations related to gradle plugin tests
- #48655 - Generalize ForbiddenAPIs to the whole build
- #48659 - Support runtime programmatic set up for basic and form-based authentication using fluent API
- #48660 - Warn when using deprecated configurations
- #48661 - Remove the deprecated internal gradle API
DefaultProjectDependency
- #48664 - Bump org.mvnpm.at.mvnpm:vaadin-webcomponents from 24.8.0 to 24.8.1
- #48665 - Bump io.smallrye.common:smallrye-common-bom from 2.13.3 to 2.13.4
- #48667 - Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.8.1 to 1.9.0
- #48671 - Kafka Streams Dev UI
- #48672 - Support back-channel logout for dynamic OIDC tenants
- #48676 - Liquibase Dev UI Card
- #48681 - Bump org.apache.maven.plugins:maven-invoker-plugin from 3.9.0 to 3.9.1
- #48683 - [Dev UI] Allow to expose dev-ui on other context than /
- #48689 - Support cancelling pending REST requests
- #48692 - Fix version parsing for Mandrel 25
- #48699 - Do not require a default datasource definition when using a MultiTenantConnectionProvider
- #48700 - Annotation processor - Error on legacy config classes
- #48701 - Config doc - Avoid target directories from dropped modules
- #48702 - Config doc - Write the model as JSON in jars
- #48706 - Bump org.checkerframework:checker-qual from 3.49.4 to 3.49.5
- #48709 - Add header params to MultipartFormDataOutput and FileUpload
- #48714 - Remove obsolete warning about dev mode in lambda quickstarts
- #48716 - Tag liquibase extension as stable
- #48718 - Add disabled tests for failing lambda dev service scenario
- #48720 - Bump org.mvnpm.at.mvnpm:vaadin-webcomponents from 24.8.1 to 24.8.2
- #48721 - Bump com.nimbusds:nimbus-jose-jwt from 10.3 to 10.3.1
- #48723 - Add tag to RunsOn image to avoid race conditions
- #48726 - Remove unused arguments/methods in Hibernate processors
- #48730 - Make assertions in CliProjectGradleTest a bit more explicit
- #48731 - Avoid copying mvnw in our sources
- #48733 - Upgrade to Kotlin 2.2.0
- #48734 - Support for OAuth2 ResourceProtectedMetadata
- #48736 - Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.5.0 to 3.6.0
- #48737 - Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8
- #48740 - Allow list of string for token audiences
- #48741 - Dev UI: Allow headless components
- #48744 - Using connection info function in StartableContainer
- #48745 - Make REST Client config suffice for request/response logging
- #48746 - Fix container sharing for simple dev service model
- #48753 - Move aws-lambda to new dev services model, starting services after augmentation
- #48755 - Massive performance drop when retrieving
InputStream
using REST client - #48756 - Bump flyway.version from 11.10.0 to 11.10.1
- #48761 - Ban dynamic version ranges
- #48762 - Improve debug log formatting in metrics exporter by using
LOG.debugf
- #48767 - Bump io.smallrye.common:smallrye-common-annotation from 2.13.3 to 2.13.4
- #48770 - Dev UI: Allow a context root url via config
- #48774 - HealthCheck called every 3seconds after dev-ui opened
- #48775 - Avoid using confusing "ITest" name for not-QuarkusIntegrationTests
- #48780 - Use --ignore-transitive-repositories and allow specific groupIds
- #48785 - Allow dev service
Startable
s to access config in native mode - #48786 - RedisRecorder receives redis runtime config as RuntimeValue
- #48787 - Dev services lifecycle close running disabled services
- #48790 - Bump org.junit:junit-bom from 5.13.2 to 5.13.3
- #48792 - Bump org.junit.platform:junit-platform-testkit from 1.13.2 to 1.13.3
- #48803 - Remove unused projectDescriptor in ApplicationModelTask
- #48807 - Handle
Response
similarly toInputStream
in REST Client - #48808 - Drop junit-platform-testkit version
- #48812 - Duplicate key -100 in GrpcServerProcessor after upgrading to Quarkus 3.20.0
- #48818 - Bump io.smallrye.common:smallrye-common-bom from 2.13.4 to 2.13.5
- #48820 - Bump org.mvnpm.at.mvnpm:vaadin-webcomponents from 24.8.2 to 24.8.3
- #48823 - CORS filter throws 500 on invalid Origin URL
- #48824 - Add header params to MultipartFormDataOutput and FileUpload
- #48827 - Add myself to quarkus-github-lottery.yml
- #48828 - Remove deprecated
KubernetesMockServer
and associated classes - #48836 - Bump Keycloak version to 26.3.0
- #48837 - Handle parsing of invalid URIs inside CORS filter
- #48839 - Extract Dev UI into an unlisted dev-only extension
- #48841 - Bump org.junit:junit-bom from 5.13.2 to 5.13.3 in /devtools/gradle
- #48842 - Bump io.smallrye.common:smallrye-common-bom from 2.13.5 to 2.13.6
- #48843 - Bump io.quarkus:quarkus-fs-util from 1.0.0 to 1.1.0
- #48844 - Bump com.google.api.grpc:proto-google-common-protos from 2.59.0 to 2.59.1
- #48847 - Allow users to turn off health probe in Dev UI
- #48849 - Restore DevServiceDescriptionBuildItem constructor for usage in Quarkus ecosystem
- #48850 - Fix NPE in SnapshotTesting when src/test/resources/snapshots directory isn't available
- #48852 - Fix case where the last streamed JSON object was not retrieved
- #48853 - Add the pull request template to remind about the format of linked issues
- #48855 - Allow OidcClient to request more than one token audience
- #48857 - Ensure codestarts pass spotbugs
- #48860 - Bump io.smallrye.reactive:mutiny-bom from 2.9.2 to 2.9.3
- #48861 - Bump com.google.errorprone:error_prone_annotations from 2.39.0 to 2.40.0
- #48862 - Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0
- #48863 - Bump io.smallrye.common:smallrye-common-bom from 2.13.6 to 2.13.7
- #48867 - Add FAQ entry on creating always consumed build steps
- #48868 - chore: adjusting notifications and adding iocanel for cli/jbang
- #48870 - Update maven shade plugin
- #48873 - Bump flyway.version from 11.10.1 to 11.10.2
- #48878 - Change the database.generation to schema-management.strategy in the docs
- #48879 - JWT Bearer Auth Form Parameters Accumulate with Each Request in OidcClientImpl
- #48880 - Use MultiMap set method instead of add for client assertion parameters
- #48881 - Config Doc - Make sure the Management interface config has a title
- #48883 - Use proper priority to deploy Vert.x Filter used for legacy websockets
- #48886 - BlockingNotAllowedException thrown in REST Client after #48807
- #48887 - Decouple OpenTelemetry bean initialization from
quarkus.otel.sdk.disabled
config value - #48891 - Fix OIDC token propagation doc typo
- #48892 - Bump org.mvnpm:lit-element from 4.1.1 to 4.2.1
- #48893 - Bump org.mvnpm.at.lit-labs:ssr-dom-shim from 1.2.1 to 1.4.0
- #48894 - Bump org.mvnpm.at.lit:reactive-element from 2.0.4 to 2.1.1
- #48895 - Bump org.apache.logging.log4j:log4j-api from 2.25.0 to 2.25.1
- #48897 - Bump org.mvnpm:lit-html from 3.2.1 to 3.3.1
- #48901 - Add header param tests for
MultipartFormDataOutput
andFileUpload
- #48902 - Update Hibernate ORM to 7.0.6.Final / Hibernate Reactive to 3.0.4.Final
- #48903 - Dev UI extension followup
- #48906 -
quarkus run
doesn’t work with Gradle Kotlin DSL - #48907 - Revert the previous handling of Uni in REST Client
- #48908 - Clean up security fluent API configuration on shutdown
- #48910 - Update quarkus-hibernate-orm-derby* project names to match the common pattern
- #48913 - Include missing actions for GRADLE_KOTLIN_DSL to Quarkus CLI commands
- #48914 - Simplify OIDC client exchange grant configuration
- #48917 - Bump org.mvnpm:lit from 3.2.1 to 3.3.1
- #48921 - Restore another DevServiceDescriptionBuildItem constructor
- #48922 - Dev UI: Add extension filter when user starts typing
- #48923 - Polish VertxOutputStream
- #48926 - Simplify ConfigUtils#configBuilder
- #48930 - Exclude
bcprov-jdk15on
to avoid conflicts withbcprov-jdk18on
- #48932 - Point to config-files property for ISPN devservice
- #48934 - Bump com.gradle.develocity from 4.0.2 to 4.1 in /devtools/gradle
- #48935 - Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.6.0 to 3.6.1
- #48936 - Bump com.gradle:develocity-maven-extension from 2.0.1 to 2.1
- #48941 - Switch to worker thread when handling exceptions in REST Client and Response type