-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Migration Guide 3.3
The Elasticsearch Dev Services now default to starting Elasticsearch 8, instead of 7.17 previously.
To use another version, configure another container image explicitly.
The extension for the Elasticsearch High-Level Client was deprecated in Quarkus 3.0 because the client had been deprecated by Elastic and had licensing issues.
This extension has now been removed completely.
You should use the Elasticsearch Java Client instead. See the Elasticsearch client guide for more information.
Quarkus 3.3.x upgrades to Flyway 9.20.0, which extracts the Oracle DB code to a separate dependency. See the Flyway extension documentation for more information.
Hibernate Search 6.2 changed how defaults are handled for geo-point fields.
If your Hibernate Search mapping includes geo-point fields that are using the default value for the projectable
option,
and are using either the default value or Sortable.NO
for the sortable
option,
Elasticsearch schema validation will fail on startup because of missing docvalues on those fields.
To address that, either:
-
Revert to the previous defaults by adding
projectable = Projectable.NO
to the mapping annotation of relevant geo-point fields. -
Or recreate your Elasticsearch indexes and reindex your database. The easiest way to do so is to use the
MassIndexer
withdropAndCreateSchemaOnStart(true)
.
If you use the quarkus-hibernate-search-orm-outbox-polling
extension,
be aware that the database schema for the tables used by that extension changed.
See https://docs.jboss.org/hibernate/search/6.2/migration/html_single/#data-format for help on how to migrate to the new schema.
-
quarkus.hibernate-search-orm.automatic-indexing.synchronization.strategy
is now deprecated in favor ofquarkus.hibernate-search-orm.indexing.plan.synchronization.strategy
. -
quarkus.hibernate-search-orm.automatic-indexing.enable-dirty-check
is now deprecated with no alternative to replace it. After its removal in a future version, a dirty check will always be performed when considering whether to trigger reindexing.
We are now relying consistently on the org.graalvm.sdk:graal-sdk
artifact (we previously used the non-API svm
artifact).
The dependencies to this artifact are marked as provided
in Quarkus so they are not transitive: if you want to include GraalVM substitutions in your applications, please add it as a dependency yourself from now on.
It is part of the BOM so you don’t have to define the version.
This version brings extensive improvements to the `quarkus-opentelemetry' extension. Please check the full list of changes of the release notes. In here we mention noteworthy new features and behaviours that might have changed.
-
OTel 1.28 is now supported.
-
The default OTel exporter has been replaced by a Quarkus implementation on top of Vert.x. This allows us not to depend on the OkHttp library. The exporter continues to be automatically wired with CDI, that’s why the
quarkus.otel.traces.exporter
property defaults tocdi
. -
The new Quarkus Vert.x exporter now supports
grpc
(default) andhttp/protobuf
. Please change the protocol with this property:quarkus.otel.exporter.otlp.traces.protocol
-
The Quarkus OTel exporter will now have TLS support.
-
When setting
quarkus.tls.trust-all=true
, it will also disable all SSL verifications on the Quarkus OTel exporter. -
We added a way to customise the propagation header. This can be achieved by implementing the
TextMapPropagatorCustomizer
interface. This can be used, as an example, to restrict propagation of OpenTelemetry trace headers and prevent potentially sensitive data to be sent to third party systems. -
By setting
quarkus.otel.traces.eusp.enabled=true
you can add information about the user related to each span. The user’s ID and roles will be added to the span attributes, if available. -
We now properly report the
http.route
attribute. -
Swagger UI endpoints will not be tracked anymore.
-
Spans of Failed requests will now contain stack traces.
-
OTel instantiation has been improved to prevent racing condition at startup.
-
Micrometer will now provide Netty allocation metrics if the related classes are present in the classpath, which is the usual case.
-
Customise emitted tags by implementing
HttpServerMetricsTagsContributor
and emitted metrics by implementingMeterRegistryCustomizer
. -
Auth failures will now populate the metrics URI tag.
org.keycloak:keycloak-adapter-core
dependency has been removed from the quarkus-keycloak-authorization
extension with the update to Keycloak 22.0.0
because it is no longer relevant to the functionality of quarkus-keycloak-authorization
, with Keycloak Java adapters code planned to be removed from Keycloak in the future as well.
If necessary, please add this dependency to your application’s pom:
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
</dependency>