Skip to content

Migration Guide 1.2

Guillaume Smet edited this page Jan 21, 2020 · 4 revisions

Hibernate ORM

In Quarkus, the bytecode enhancement of Hibernate ORM is always on. We used to enable the automatic association management but there are cases where it doesn't work well.

It is now disabled. You have to manage both sides of an association manually from now on (as with a classic configuration of Hibernate ORM).


We switched from mongo-java-driver to mongodb-driver-sync which means that the legacy com.mongodb.MongoClient is not there anymore and should be replaced by com.mongodb.client.MongoClient.

Native images and GraalVM

You can either use:

  • GraalVM 19.2.1
  • or GraalVM 19.3.1 with JDK 8 or JDK 11

GraalVM 19.3.0.x is not supported anymore.

Hibernate Search + Elasticsearch (Preview)

The protocol used to contact Elasticsearch is now specified in a separate configuration property, quarkus.hibernate-search.elasticsearch.protocol. This property defaults to http.

As a result, the property quarkus.hibernate-search.elasticsearch.discovery.default_scheme was removed.

So if your configuration looked like this:

quarkus.hibernate-search.elasticsearch.hosts =

You should now have this:

quarkus.hibernate-search.elasticsearch.hosts =

And if it looked like this:

quarkus.hibernate-search.elasticsearch.hosts =
quarkus.hibernate-search.elasticsearch.discovery.enabled = true
quarkus.hibernate-search.elasticsearch.discovery.default_scheme = https

You should now have this:

quarkus.hibernate-search.elasticsearch.hosts =
quarkus.hibernate-search.elasticsearch.protocol = https
quarkus.hibernate-search.elasticsearch.discovery.enabled = true


In previous versions of Quarkus, @ConfigProperties made the assumption that the name of the class fields (or method names when talking about interfaces) would exactly match to the property name. For example:

public class SomeConfig {
    public String fooBar;

meant that setting fooBar would require the some.fooBar property.

This behavior is unintuitive however, so we have changed it to use kebab-case properties instead, which means that you now need to set the property.

If keeping the old behavior is desired, there are two options:

  • Set @ConfigProperties(namingStrategy=NamingStrategy.VERBATIM) for each class that uses ConfigProperties and for which the old behavior is desired
  • Set the quarkus.arc.config-properties-default-naming-strategy=verbatim property. This makes the old behavior the default for @ConfigProperties classes.

Test framework

The quarkus-vault-test artifact has been renamed to quarkus-test-vault to be more consistent with our other test framework artifacts.

You can’t perform that action at this time.