-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Migration Guide 2.0
The minimal JDK version supported by Quarkus 2.0 is JDK 11.
JDK 8 is not supported anymore.
smallrye.jwt.sign.key-location
has been renamed to smallrye.jwt.sign.key.location
and smallrye.jwt.encrypt.key-location
- to smallrye.jwt.encrypt.key.location
.
Avro has been integrated with the Quarkus code generation mechanism. To use it with Maven, make sure you have the generate-code
goal enabled for the quarkus-maven-plugin
, it should be enabled by default if you created your project fairly recently.
For Gradle no specific task is required.
This replaces the need to use Avro plugin, such as the avro-maven-plugin
, for projects that use Avro.
The value app.quarkus.io/vcs-url
is no longer converted to an http
url and will now match the url of the origin
remote. Users that need the prefer the use of the http
protocol over git
, will have to configure that on git level.
Services that are exposing http ports are now automatically mapped to port 80
. The change makes the generated Service
easier to consume by external tools, or services as knowledge of the actual container port is no longer needed by consumers.
This may affect services that were using the service dns name and container port combination to communicate with each other.
The io.quarkus.grpc.runtime.annotations.GrpcService
annotation was renamed to io.quarkus.grpc.GrpcClient
. Furthermore, the @GrpcClient.value()
is optional and the service name can be derived from the annotated element.
gRPC service classes now have to be annotated with @io.quarkus.grpc.GrpcService
instead of @javax.inject.Singleton
.
The deprecated annotations from the io.quarkus.qute.api
package were removed. All occurrences of @io.quarkus.qute.api.CheckedTemplate
should be replaced with @io.quarkus.qute.CheckedTemplate
and occurrences of @io.quarkus.qute.api.ResourcePath
should be replaced with @io.quarkus.qute.Location
.
Checked templates require type-safe expressions by default, i.e. expressions that can be validated at build time. It's possible to use @CheckedTemplate(requireTypeSafeExpressions = false)
to relax this requirement.
Multiple NamespaceResolver
instances can be registered for the same namespace provided that each declares a different priority.
The deprecated property quarkus.quartz.force-start
was removed. Use quarkus.quartz.start-mode=forced
instead.
The deprecated config value StoreType.DB
was removed. quarkus.quartz.store-type=db
should be replaced with quarkus.quartz.store-type=jdbc-cmt
.
Anonymous requests to public resources with no matching Keycloak Authorization policies will now correctly return HTTP 200
status as opposed to 401
. Adding DISABLED
Keycloak Authorization policies in such cases is no longer necessary.
When we introduced the new /q
mounting point for /health
, /metrics
, and other non-application endpoints,
the quarkus.http.redirect-to-non-application-root-path
configuration property was provided to revert back to the previous behavior of not prefixing them with /q
.
The property was deprecated and is now removed.
It is possible to achieve the previous behavior by explicitly setting endpoints to be absolute instead of relative. For instance, the Health endpoint can be forced to be available at /health
instead of /q/health
by setting quarkus.smallrye-health.root-path=/health
.