Skip to content

Migration Guide 1.2

Georgios Andrianakis edited this page Jan 11, 2020 · 7 revisions

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 = http://es1.mycompany.com

You should now have this:

quarkus.hibernate-search.elasticsearch.hosts = es1.mycompany.com

And if it looked like this:

quarkus.hibernate-search.elasticsearch.hosts = https://es1.mycompany.com
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 = es1.mycompany.com
quarkus.hibernate-search.elasticsearch.protocol = https
quarkus.hibernate-search.elasticsearch.discovery.enabled = true

Native images and GraalVM

We have upgraded to GraalVM 19.3.0. GraalVM 19.2.x won't work anymore: upgrade is required.

We only support the Java 8 flavor of GraalVM 19.3 and are actively working on the JDK 11 support (which is still in preview in GraalVM).

Extension framework

New groupId for substitution artifact

The com.oracle.substratevm:svm artifact has been moved to org.graalvm.nativeimage:svm.

If you are using substitutions, there is a good chance you will need to update your pom.xml.

Test framework

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

@ConfigProperties

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:

@ConfigProperties
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 some.foo-bar 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.

Current version

Migration Guide 3.18

Next version in main

Migration Guide 3.19

Clone this wiki locally