-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Migration Guide 3.13
The JsonCommands.jsonMget()
method (and similar methods like ReactiveJsonCommands.jsonMget()
) declare parameters in the following order:
-
String path
-
K... keys
This is opposite to the Redis JSON.MGET command, which accepts keys first and path last.
The implementation of the jsonMget()
method used to follow the Redis order, despite its own declaration.
That is, the path
had to be last, even though it should be first.
This is now fixed. All users of this method have to check and fix the call sites.
Many changes on this release, affecting documentation, Metrics support and breaking changes due to the new semantic conventions for HTTP.
Added with experimental status, please set quarkus.otel.metrics.enabled=true
to enable it at build time.
Now you can create OpenTelemetry Metrics by following the Metrics Guide.
There are no automatic OpenTelemetry metrics instrumentation in Quarkus, for now. Metrics in Quarkus are implemented by the Micrometer extension. We plan to provide, in the future, a bridge for those metrics to be available in OpenTelemetry as well.
The old OpenTelemetry guide has been split into this generic guide, the OpenTelemetry Tracing Guide and the new OpenTelemetry Metrics Guide has been created.
-
Upgrade to OpenTelemetry SDK 1.39.0 and OpenTelemetry instrumentation 2.5.0. We haven’t upgraded OpenTelemetry for a while to allow a transition period from the old, deprecated HTTP semantic conventions, as announced in this wiki migration guide for Quarkus 3.9 and the Dev mailing list. The transition period has now ended with the upgrade of the OpenTelemetry SDK to 1.39.0 and OpenTelemetry instrumentation to 2.5.0. These versions require the new semantic conventions for HTTP. The full list of changes.
-
quarkus.otel.semconv-stability.opt-in
system property was removed because users cannot opt-in anymore; -
DB Span names have changed in the case of table creation;
-
Deprecated annotation for
io.opentelemetry.extension.annotations.WithSpan
has been removed. Please use the newio.opentelemetry.instrumentation.annotations.WithSpan
, as previously announced.
The extension now detects which extensions (Otel, Micrometer OTLP registry) are being used and sets their properties accordingly.
No need to configure the application.properties
file for this anymore. The documentation was also updated.
Breaking Change
The following properties are removed because they are not needed anymore:
-
quarkus.otel-collector.url
-
quarkus.grafana.url
Starting with Quarkus 3.13, before executing a JPQL/HQL or native query, Hibernate ORM will only flush pending changes to the database if it detects that the query results may be impacted by these changes.
This optimization was available for a long time in Hibernate ORM, but was disabled by mistake in Quarkus 1.13, causing performance issues ever since.
Most applications should only experience performance improvements (better batching), but some might run into problems:
-
if using native queries, which require specific care; see this section of the Hibernate ORM documentation.
-
if Hibernate ORM somehow fails to automatically detect that pending changes impact a JPQL/HQL query; please report any such problem with a reproducer based on this template.
The @QuarkusTestResource
annotation has been replaced by @WithTestResource
.
The only difference between the two is the default value of restrictToAnnotatedClass
: it used to be false
and it is now true
by default.
@QuarkusTestResource
has been deprecated and will be removed in a future Quarkus version.