Skip to content

Releases: quarkusio/quarkus

3.29.0

29 Oct 11:56

Choose a tag to compare

Complete changelog

  • #50330 - JAX-RS returns 404 incorrectly for route with path parameter containing prefix that matches segment from another route
  • #50384 - Fix handling of overlapping paths in resteasy-reactive server
  • #50495 - Gradle multi-module container image name β€œspills" across modules after 3.26.3
  • #50551 - Hibernate assistant: use new response type
  • #50567 - Pass all the configuration minus PackageConfig and NativeConfig defaults to Gradle tasks
  • #50577 - Maven ITs - Reduce waiting times in multi-module tests
  • #50588 - Bump flyway.version from 11.14.0 to 11.14.1
  • #50592 - Evaluate Qute expression in the render Thread with Qute debugger
  • #50627 - NPE when invalid expression is evaluated with Qute debugger

3.28.5

22 Oct 14:54

Choose a tag to compare

Complete changelog

  • #49504 - continuous-testing=disabled causes NPE and does not disable continuous testing mode
  • #50568 - SmallRye Process: stderr warning: docker; testing in container
  • #50571 - WorkspaceLoader fails if a Maven module tag references a pom file instead of a directory
  • #50576 - Fix bootstrap when module is pointing to POM file directly
  • #50578 - Reproducible order of enties in app/<project-name>.jar
  • #50596 - Contribute files to the app jar in a deterministic order
  • #50597 - container-image-docker-common: swallow stderr on success
  • #50608 - Bump Microsoft SQL Server JDBC driver to 13.2.1
  • #50646 - Improve handling of quarkus.test.continuous-testing=false
  • #50653 - Opens java.lang as it's required for Java 24+

3.28.4

16 Oct 15:00

Choose a tag to compare

Complete changelog

  • #49225 - OIDC redirect fails to properly append OAuth parameters when original URL contains query parameters
  • #50321 - @RequestParam required true
  • #50400 - Modify @RequestParam presence handling
  • #50427 - DEV UI workspace shows a log file on Windows rather than Java file and hierarchy visualisation is broken
  • #50476 - Rename leftovers of GlobalDevServicesConfig
  • #50490 - Fix DEV UI workspace directory worktree and item selection on Windows
  • #50491 - Correctly restore query params when OIDC does not drop redirect params
  • #50503 - Add a clarification about OAuth2 protected resource metadata route address
  • #50515 - Move Hibernate ORM/Reactive configuration reference to the bottom of the guides
  • #50517 - Assistant: Remove unused exception method
  • #50520 - Minor update to rest-client.adoc
  • #50528 - Project creation with extension not from platform fails with 3.28.3
  • #50531 - Update logging configuration property from .enable to .enabled in application properties
  • #50541 - Bump the hibernate group with 8 updates
  • #50554 - Ignore quarkus-core in non-platform extension catalogs
  • #50556 - Quarkus augmentation weakens file permissions
  • #50557 - Avoid using COPY_ATTRIBUTES when copying the jars of fast jar
  • #50560 - UnsupportedOperationException with HTTP Response Code 204
  • #50569 - Don't fail in Quarkus REST Servlet when trying to remove an HTTP header

3.29.0.CR1

16 Oct 13:21

Choose a tag to compare

3.29.0.CR1 Pre-release
Pre-release

Major changes

  • #48732 - Keep the Hibernate ORM and Reactive extensions enabled even when no entity is defined
  • #48962 - Provide Qute DAP debugger support
  • #50007 - Add support for multiple cache types (backends)

Complete changelog

  • #7148 - Have a way to get access to EntityManager even without entities
  • #18425 - Implement Dev Services for the LRA coordinator
  • #23558 - DevService for LRA
  • #30264 - EOFException when running tests in CI
  • #30315 - Mitigate Jacoco report generation issues
  • #43339 - QuarkusComponentTest: support simplified constructor injection
  • #43594 - Use Arc features in Hibernate extensions for eager startup and active/inactive
  • #45615 - Java 8 is used in funqy-amazon-lambda and amazon-lambda archetypes
  • #47854 - Add a supported configuration property "hibernate.hbm2ddl.extra_physical_table_types"
  • #48029 - Bump JDK version to 21 at funqy related code
  • #48031 - [Cache] Allow usage of Caffeine and Redis at the same time
  • #48292 - Config to enable all metrics
  • #48732 - Keep the Hibernate ORM and Reactive extensions enabled even when no entity is defined
  • #48783 - Use Arc features in Hibernate extensions for eager startup and active/inactive
  • #48845 - Fix WebSockets Next security context propagation in Tools when AI service returns Multi
  • #48962 - Provide Qute DAP debugger support
  • #49024 - Do not create GeoIP downloader when starting Elasticsearch container
  • #49175 - Add LRA Dev Services
  • #49283 - Move our tests to a recent Keycloak version
  • #49360 - Introduce quarkus.micrometer.binder.enable-all property
  • #49688 - IPv6 doesn't work in AWS Lambda in Native mode
  • #49754 - Add findByIds API to Panache
  • #49812 - jakarta.enterprise.inject.Specializes not working
  • #49834 - Arc - detect usage of unsupported @Specializes annotation and fail fast
  • #49840 - WebSocket Next: Provide access to the remote address of incoming connections
  • #49865 - Enable Hibernate Validator to traverse lazy associations in Hibernate Reactive entities
  • #49895 - Quarkus CLI does not check for special characters when adding an extension
  • #49911 - Bump com.nimbusds:nimbus-jose-jwt from 10.4.2 to 10.5
  • #49915 - WebSockets Next: Expose localAddress and remoteAddress in HandshakeRequest
  • #49921 - Fix timing of thread pool shutdown to respect quarkus.thread-pool.shutdown-interrupt config property
  • #49925 - Provide a module with common cli related utilities for plugins
  • #49926 - Introduce a module with common cli based utilities that are usable by extensions
  • #49928 - Remove IPv4 pinning for Lambda
  • #49945 - Support for multiple persistence units in Hibernate Reactive with Panache
  • #49968 - Introduce Template#getSource()
  • #49973 - Accessing gradle's project instance during configuration time
  • #49988 - Restructure tests so that continuous testing for main tests tests 'work'
  • #49992 - Tests: support InjectMock for built-in Event
  • #49996 - Add support for Hibernate's hibernate.hbm2ddl.extra_physical_table_types
  • #50004 - Bump org.checkerframework:checker-qual from 3.50.0 to 3.51.0
  • #50007 - Add support for multiple cache types (backends)
  • #50010 - Enable prepared statement caching by default for PostgreSQL/MySQL/MariaDB/DB2
  • #50032 - Update Strimzi from 0.109.2 to 0.112.0
  • #50039 - Refactor configuration handling to use base configuration
  • #50044 - Bump net.alchim31.maven:scala-maven-plugin from 4.9.5 to 4.9.6
  • #50049 - Make cachePreparedStatements Optional with database-specific defaults
  • #50057 - HTTP compression not applied to /q/metrics (Micrometer Prometheus)
  • #50060 - Remove HTML file committed by mistake
  • #50066 - Bump org.apache.maven.plugins:maven-shade-plugin from 3.6.0 to 3.6.1
  • #50078 - Bump to Mutiny 3.0.0 and Vert.x Mutiny Bindings 3.20.0
  • #50080 - Add test which makes sure import.redis works for redis dev services
  • #50083 - Allow compression of metrics
  • #50084 - Panache Support multiple persistence unit in Hibernate Reactive
  • #50093 - Bump com.gradle.develocity from 4.1.1 to 4.2 in /devtools/gradle
  • #50094 - Bump flyway.version from 11.12.0 to 11.13.0
  • #50097 - Bump org.mvnpm.at.mvnpm:vaadin-webcomponents from 24.8.7 to 24.9.0
  • #50098 - Bump com.gradle:common-custom-user-data-maven-extension from 2.0.5 to 2.0.6
  • #50099 - Bump org.commonmark:commonmark from 0.25.1 to 0.26.0
  • #50102 - Bump com.gradle:develocity-maven-extension from 2.1 to 2.2
  • #50131 - Bump flyway.version from 11.13.0 to 11.13.1
  • #50133 - Bump com.google.guava:guava from 33.4.8-jre to 33.5.0-jre
  • #50134 - Bump com.microsoft.azure.functions:azure-functions-java-library from 3.1.0 to 3.2.0
  • #50135 - Bump org.mvnpm:dompurify from 3.2.6 to 3.2.7
  • #50138 - Be more consistent about the CDI qualifiers we apply to Hibernate Search/ORM beans
  • #50144 - Panache repository breaks when narrowing the generic of a subclass
  • #50157 - Test that Hibernate Validator does not attempt to fetch lazy associations with Hibernate Reactive
  • #50159 - Bump com.google.api.grpc:proto-google-common-protos from 2.60.0 to 2.61.2
  • #50161 - Added Dev Assistant for scheduler extension
  • #50164 - QuarkusComponentTest: class loading refactoring
  • #50166 - PathTreeVisit - Use a very simple implementation to relativize Path
  • #50184 - Bump smallrye-open-api from 4.0.12 to 4.2.0 (MP OpenAPI 4.0.2 to 4.1)
  • #50192 - Bump com.google.errorprone:error_prone_annotations from 2.41.0 to 2.42.0
  • #50200 - Update Smallrye Config to 3.14.0
  • #50201 - Allow mocking of KubernetesClient
  • #50202 - Make the KubernetesClient ApplicationScoped rather than Singleton
  • #50204 - Add aarch64 warning to docs
  • #50206 - BooleanConverter initialization in InitRuntimeConfig
  • [#50208](https://github.com/quarkusio/quark...
Read more

3.28.3

09 Oct 16:19

Choose a tag to compare

Complete changelog

  • #29817 - quarkus cli fail hard on bad settings.xml
  • #49733 - quarkus.thread-pool.shutdown-interrupt is not respected
  • #50126 - HQL Console improvements
  • #50306 - Unrecognized configuration key "quarkus.gradle-worker.no-process"
  • #50317 - VertxOutputStream: Cannot reserve 65536 bytes of direct buffer memory (allocated: 760195093, limit: 760217600)
  • #50318 - Avoid importing BOMs managing extensions managed by BOMs with higher preferences
  • #50335 - Change quarkus.gradle-worker.* to gradle.quarkus.gradle-worker.*
  • #50336 - Chunked response always finishes cleanly, client cannot detect incomplete download
  • #50351 - Fix a few issues with Java 25 compatibility and include Java 25 in CI
  • #50360 - Dev MCP: Make sure the config dir exist
  • #50361 - When an error occurs during a streaming response, call HttpServerResponse.reset()
  • #50364 - OIDC Steup authentication is missing information about insufficient authentication level in 'www-authenticate' when provider responses with single ACR
  • #50365 - Bump keycloak to 26.4.0 and keycloak-client to 26.0.7
  • #50366 - ArC: fix construction of interception proxies, part 2
  • #50367 - Fix step authentication with Keycloak when protocol mapper has 'acr' user attribute configured as single valued string
  • #50371 - HQL console: correct allow-hql config on hot reload and enter key to run query
  • #50372 - Remove extra space in Dev UI welcome message
  • #50375 - Log OIDC Client requests in debug mode
  • #50376 - Handle backpressure whilst not on the event loop
  • #50377 - Qute template results in timeout instead of NullPointerException
  • #50383 - Qute: fix error propagation from section helpers
  • #50390 - Quarkus OIDC incorrecty selects request filters for the token revocation
  • #50397 - Fix OIDC TokenRevocation filter binding and improve request logging
  • #50399 - Expand error messages when quarkus cli fail hard on bad settings.xml
  • #50401 - Correctly handle Agroal Dev UI settings in hot-reload scenarios
  • #50403 - Update links to Cassandra demo UI
  • #50404 - Application with quarkus-keycloak-admin-rest-client fails to compile after recent Keycloak bump
  • #50405 - Initialize org.keycloak.common.util.SecretGenerator at runtime for Keycloak admin client
  • #50409 - Bump smallrye-graphql.version from 2.14.1 to 2.15.0
  • #50416 - Set correct quarkus.oidc.token.require-jwt-introspection-only default value
  • #50423 - Fix incorrect timing computation
  • #50426 - Create proxies for abstract entity classes too in Hibernate ORM
  • #50429 - Bump the hibernate group with 9 updates
  • #50462 - Update Elasticsearch clients + dev service image version to 9.1.5
  • #50472 - Fix NPE when no library versions exist in the DevUI

3.28.2

01 Oct 17:02

Choose a tag to compare

Complete changelog

  • #48641 - Messaging kafka: incorrect setting of the graceful shutdown property for dev/test modes
  • #49861 - Correct setting kafka graceful-shutdown property for dev and test profiles
  • #50207 - Allow configuring Cache-Control when OIDC session cookie is created
  • #50224 - Bump org.bouncycastle:bctls-fips from 2.1.20 to 2.1.22
  • #50226 - Micrometer HTTP server requests metrics tags multiple URLs for 404s
  • #50228 - @RestControllerAdvice raise exception
  • #50243 - Use annotationProcessorPathsUseDepMgmt in Jakarta Data docs
  • #50246 - Changes that allows Mcp usage from Chappie
  • #50249 - Add OIDC CacheControl configuration
  • #50250 - Add Transactional config in Infinispan client side
  • #50251 - Polyglot application using truffle-enterprise fails due to missing nativebridge artifact in boot.
  • #50252 - OutboundSseEvents (SSE) are not compressed
  • #50253 - Make test-fixture sources available to continuous testing
  • #50254 - Fix server requests metrics tags for 404s when initialPath ends with /
  • #50259 - Explain where the links go for clarity, in the dev mode docs
  • #50263 - Configure Infinispan tx caches on client side
  • #50264 - Fix initial download of decompiler when version not provided
  • #50265 - 3.28.1: java.util.zip.ZipException: duplicate entry in Quarkus generated jar(s)
  • #50270 - Allow ecosystem extensions to use dev service result builder
  • #50274 - Quarkus 3.18.1 can't find config inner classes during @QuarkusTest tests
  • #50278 - Config - Avoid producing duplicate GeneratedClassBuildItem
  • #50281 - Make compression work in Quarkus REST for streaming responses
  • #50286 - Avoid double scanning mappings that are already included by the Quarkus processor
  • #50288 - Make org.graalvm.sdk:nativebridge dependency parent first
  • #50293 - UriInfo.getBaseUri ignores prefix header handling
  • #50299 - Adding prefix handling to base uri
  • #50300 - Improve documentation to clarify servlet type support is limited to RESTEasy Classic
  • #50312 - Update security-openid-connect-providers.adoc
  • #50314 - Multiple GeneratedClassBuildItem were produced for the same classes when using abstract class
  • #50315 - Issues with quarkus-oidc-redis-token-state-manager
  • #50316 - DevUI MCP Tool Call from Cursor fails => Cannot invoke "java.util.Map.entrySet()" because "parameters" is null
  • #50320 - Dev MCP: Don't set empty params
  • #50325 - Fix issue with multiple generated REST invokers
  • #50327 - Application using Hibernate offline startup tries to connect to database in DEV mode on startup
  • #50333 - Fix OIDC Redis Token State Manager serialization in native mode
  • #50339 - Bump the hibernate group with 9 updates
  • #50343 - Add example of sending back a file with `RestResponse
  • #50348 - Fix Maven Wrapper in platform codestarts

3.28.1

24 Sep 16:35

Choose a tag to compare

Complete changelog

  • #32361 - Error when using withTransaction in RedisDataSource in clustered mode
  • #49405 - [quarkus-kubernetes-client]: DevServicesKubernetesProcessor always shuts down cluster because of broken equals method
  • #49531 - BlockingRedisDataSourceImpl doesn't call DISCARD if consumer function throws an exception
  • #49593 - After Hibernate ORM 7.1.0.CR2 bump, the jakarta.data.repository.BasicRepository#saveAll method fails if Hibernate Validator is present and entity has OneToMany relation
  • #49719 - Redis: if enqueued operation returns an error don't discard them
  • #49780 - @QuarkusMainTest fails with classloader error with continuous testing
  • #49936 - Include suggestions on what to customize when migrating to own FormatMappers
  • #50031 - Set up config correctly for isolated @QuarkusMainTests
  • #50053 - Bump hibernate-orm.version from 7.1.0.Final to 7.1.1.Final
  • #50071 - Upgrade Gradle to 9.1 which supports Java 25
  • #50075 - Quarkus AWS Lambda API Gateway v2 - Multiple Set-Cookie Headers Not Handled Correctly
  • #50076 - Please update to surefire plugin 3.5.4
  • #50086 - Update quarkus-fs-util to 1.2.0
  • #50092 - Update Maven Surefire & Failsafe plugins to 3.5.4
  • #50095 - Bump jakarta.xml.bind:jakarta.xml.bind-api from 4.0.2 to 4.0.4
  • #50106 - Quarkus-Flyway is throwing NoSuchMethodException when native compiled with Quarkus >= 3.24
  • #50108 - Fix native issue with FlywaySqlException
  • #50110 - Bump smallrye-reactive-messaging from 4.28.0 to 4.29.0
  • #50111 - Fix deprecated javax Hibernate properties
  • #50124 - Redis: improvements
  • #50125 - Change the max connections defaults for the Hibernate Search's Elasticsearch client
  • #50132 - Bump bouncycastle.version from 1.81 to 1.82
  • #50136 - Fix mouse move on active cards
  • #50137 - Correctly handle multiple Set-Cookie headers for API Gateway v2
  • #50140 - io.vertx.mutiny.sqlclient.Pool.pool(...) doesn't find the (postgres) db driver in native compilation being called from code
  • #50141 - NoClassDefFoundError: org/hibernate/community/dialect/CommunityDatabase when no default datasource
  • #50143 - Bump Gradle version to 9.1.0
  • #50145 - quarkus-messaging-kafka (Kotlin) – Error MetadataExtensions: Provider JvmMetadataExtensions not found in 3.26.4 and lower (works in <= 3.20.2 LTS)
  • #50146 - Simplify inference of the SupportedDbKind and avoid NoClassDefFoundError on CommunityDatabase
  • #50158 - Bump org.postgresql:postgresql from 42.7.7 to 42.7.8
  • #50163 - Prevent simultaneous usage of @InjectMock and @InjectSpy on the same bean during build
  • #50165 - Fix improper equals method implementation
  • #50167 - Register Reactive SQL Client Drivers
  • #50182 - Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 in /devtools/gradle
  • #50185 - Bump Elasticsearch version to 9.1.4
  • #50189 - Bump org.assertj:assertj-core from 3.27.4 to 3.27.5
  • #50191 - Bump jakarta.mail:jakarta.mail-api from 2.1.4 to 2.1.5
  • #50194 - Bump io.quarkus:quarkus-platform-bom-maven-plugin from 0.0.123 to 0.0.124
  • #50195 - LGTM: Update grafana-dashboard-opentelemetry-logging.json TimeStamp
  • #50198 - Prevent simultaneous use of @InjectMock and @InjectSpy
  • #50199 - Fix Kotlin reflection issue in native mode
  • #50211 - ArC: fix NPE in InvokerGenerator
  • #50213 - Bump org.assertj:assertj-core from 3.27.5 to 3.27.6 in /devtools/gradle
  • #50217 - Bump org.bouncycastle:bc-fips from 2.1.1 to 2.1.2
  • #50220 - Bump org.assertj:assertj-core from 3.27.5 to 3.27.6
  • #50225 - Build fails if a param with a primitive type and type annotation is declared on a method that is called via Invoker
  • #50230 - Bump Keycloak version to 26.3.4

3.28.0

24 Sep 16:35

Choose a tag to compare

Complete changelog

  • #48976 - Hard-coded proxy connect timeout in REST client overrides connect timeout of REST client.
  • #49381 - quarkus.kubernetes-client.devservices.manifests does not work well with multiple dev services
  • #49415 - Still produce KubernetesDevServiceInfoBuildItem when a dev service already exists
  • #49808 - Set fixed file/dir permissions for zip entries when building an archive
  • #49870 - Bump com.amazonaws:aws-lambda-java-core from 1.3.0 to 1.4.0
  • #49903 - MCP Registry for Extensions
  • #50001 - Bump version.kotlin from 2.2.10 to 2.2.20
  • #50023 - Bump org.eclipse.angus:angus-activation from 2.0.2 to 2.0.3
  • #50024 - Bump jakarta.activation:jakarta.activation-api from 2.1.3 to 2.1.4
  • #50027 - Dev MCP: Allow enable/disable of methods
  • #50036 - Update Maven wrapper to 3.3.4
  • #50038 - Jandex: upgrade to 3.5.0
  • #50045 - Bump version.kotlin from 2.2.10 to 2.2.20
  • #50061 - Add support for the Proxy connect timeout in Quarkus REST Client

3.27.0

24 Sep 12:36

Choose a tag to compare

Complete changelog

3.26.4

17 Sep 15:21

Choose a tag to compare

Complete changelog

  • #49431 - Regression in native build container user handling and new warnings in Quarkus 3.25.0 (Docker-in-Docker CI)
  • #49545 - Bump the hibernate group with 5 updates
  • #49885 - Fix typos and make minor copyedits in the OIDC auth documentation
  • #49901 - Hibernate Reactive does not init database when using multiple named persistence units
  • #49916 - LGTM: Otel log output incorrect in Logging Dashboard
  • #49917 - OTEL logging dashboard correct timestamp
  • #49939 - Manage more Bouncy Castle artifacts to help enforcing dependency convergence throughout Quarkiverse
  • #49946 - Update IncludedQuarkusBuildTest to support Gradle 9.1
  • #49963 - CLI app created for latest LTS selects unsupported Gradle version, build fails
  • #49967 - Remove outdated Renarde references in OIDC and web guides
  • #49977 - Trivial: Fix typo in docs
  • #49982 - Bump the hibernate group with 5 updates
  • #49987 - Bean Validation via JSF broken from 3.24.1+
  • #49990 - Account for the null root bean when performing value validation
  • #49995 - Log invalid host name in the DevUi CORS filter
  • #49999 - Build Cycle error when SmallRye OpenAPI and JFR are used in the same project
  • #50000 - Fix Cycle when SmallRye OpenAPI is used with the JFR extension
  • #50005 - Bump com.google.code.gson:gson from 2.13.1 to 2.13.2
  • #50006 - Small fixes to Dev UI
  • #50014 - Agroal - DB connection pool Dev UI empty for MSSQL
  • #50016 - Hibernate does not init database when using multiple named persistence units
  • #50025 - Bump org.mariadb.jdbc:mariadb-java-client from 3.5.5 to 3.5.6
  • #50026 - Fix Build Cycle error when specific extensions and JFR are used in the same project
  • #50028 - Copy the Gradle wrapper instead of running the exec goal
  • #50029 - Remove outdated note about REST Client logging
  • #50030 - Fix for Kafka client config logs reappearing by default
  • #50035 - Update an example about REST Client logging
  • #50040 - This Gauge has been already registered "http.server.active.connections"
  • #50042 - Install appropriate Gradle wrapper in generated projects
  • #50043 - Bump smallrye-fault-tolerance.version from 6.9.2 to 6.9.3
  • #50050 - Dev UI Agroal: Fix jdbc url parsing for url with ; in it
  • #50051 - Hibernate Dev UI: Fix allowed jdbc url with ;
  • #50054 - Apply server.port tag to all the created Vert.x metrics
  • #50062 - Bump org.hibernate.tool:hibernate-tools-language from 7.1.0.Final to 7.1.1.Final in the hibernate group
  • #50068 - Bump io.smallrye.common:smallrye-common-bom from 2.13.8 to 2.13.9
  • #50074 - Fix hostname when starting Keycloak devServices in shared network
  • #50079 - Fix build failure when quarkus-rest-data-panache is used