Skip to content

Migration Guide 1.1

Guillaume Smet edited this page Dec 23, 2019 · 6 revisions

Migration Guide

master (will be 1.2)

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.

1.1.0.Final

Hibernate Search + Elasticsearch (Preview)

quarkus.hibernate-search.elasticsearch.automatic-indexing.synchronization.strategy has been renamed to quarkus.hibernate-search.automatic-indexing.synchronization.strategy.

If you are using our Hibernate Search + Elasticsearch extension, there’s a good chance you will need to adjust your configuration.

Neo4j (Preview)

The Neo4j driver was updated to the Final 4.0 version and they have renamed a few classes, most notably org.neo4j.driver.reactive.RxResult.RxStatementResult has been renamed to org.neo4j.driver.reactive.RxResult.

Gradle plugin

We now recommend using Gradle 6.0.1+. Starting from this version the Gradle plugin is no longer deployed in Maven Central, therefore some minor changes in your Gradle project might be needed.

Changes in the settings.gradle file

Let’s start by changing the settings.gradle file. It should be changed from (rootProject.name value may vary depending on your project name):

pluginManagement {
    repositories {
        mavenLocal()
        mavenCentral()
        gradlePluginPortal()
    }
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id == 'io.quarkus') {
                useModule("io.quarkus:quarkus-gradle-plugin:1.0.1.Final")
            }
        }
    }
}

rootProject.name='my-project'
to:
pluginManagement {
    repositories {
        mavenLocal()
        mavenCentral()
        gradlePluginPortal()
    }
    plugins {
      id 'io.quarkus' version "${quarkusPluginVersion}"
    }
}
rootProject.name='my-project'
Note
the plugins{} method is not supported in Gradle 5.x. In this case make sure to explicitly declare the plugin version in the build.gradle file.

Changes in the build.gradle file

Change your build.gradle file to use the plugin DSL format, from:

// this block is necessary to make enforcedPlatform work for Quarkus plugin available
// only locally (snapshot) that is also importing the Quarkus BOM
buildscript {
    repositories {
        mavenLocal()
    }
    dependencies {
        classpath "io.quarkus:quarkus-gradle-plugin:${quarkusPluginVersion}"
    }
}

plugins {
    id 'java'
}

apply plugin: 'io.quarkus'
to:
plugins {
   id 'java'
   id 'io.quarkus'
}

Extension framework

Updated configuration framework

Our configuration framework got a big update to fix a number of issues all around.

The main consequence of this change is that you will need to mark optional collections and maps as Optional in your config classes (that means Optional<List<String>> for instance).

GizmoAdaptor

The GizmoAdaptor class has been renamed to GeneratedClassGizmoAdaptor, due to the introduction of GeneratedBeanGizmoAdaptor.

Migration guides

Current version


LTS versions


Next version in main


Clone this wiki locally