Upgrading Arconia

Arconia is currently in active development. We’re working hard to improve it and appreciate your patience as we continue to refine the tool.

We’re moving fast, and the APIs may change frequently, but we’re committed to keeping the documentation up to date and making it easy to upgrade to the latest version.

We maintain an OpenRewrite recipe to help you upgrade your projects to the latest version of Arconia automatically. You can run it with the Arconia CLI, Gradle, or Maven as documented in the Automated Upgrade section below.

If you’d rather upgrade manually, you can follow the instructions in the Manual Upgrade section.

Furthermore, make sure you check the What’s New in Arconia page for the latest features and enhancements and the release notes.

Automated Upgrade

Arconia CLI

Using the Arconia CLI, you can upgrade your project to the latest version of Arconia:

arconia update framework

Optionally, you can provide the --to-version flag to specify the version you want to upgrade to:

arconia update framework --to-version 0.18

Gradle OpenRewrite Plugin

Using the OpenRewrite Gradle Plugin, you can apply the recipe to your project as follows.

First, create an init.gradle file in your Spring Boot project (root folder) with the following content:

initscript {
    repositories {
        maven { url "https://plugins.gradle.org/m2" }
    }
    dependencies {
        classpath("org.openrewrite:plugin:latest.release")
    }
}

rootProject {
    plugins.apply(org.openrewrite.gradle.RewritePlugin)
    dependencies {
        rewrite("io.arconia.migrations:rewrite-arconia:latest.release")
    }

    afterEvaluate {
        if (repositories.isEmpty()) {
            repositories {
                mavenCentral()
            }
        }
    }
}

Then, run the following command:

./gradlew rewriteRun \
    --init-script init.gradle \
    -DactiveRecipe=io.arconia.rewrite.UpgradeArconia_0_18

Finally, you can remove the init.gradle file.

Maven OpenRewrite Plugin

Using the OpenRewrite Maven Plugin, you can apply the recipe to your project as follows:

./mvnw -U org.openrewrite.maven:rewrite-maven-plugin:run \
  -Drewrite.recipeArtifactCoordinates=io.arconia.migrations:rewrite-arconia:LATEST \
  -Drewrite.activeRecipes=io.arconia.rewrite.UpgradeArconia_0_18

Manual Upgrade

If you prefer to upgrade manually, you can bump the version of the arconia-bom in your project to 0.18.2.

Then, check these additional changes that you might need to apply to your project.

Core

  • The experimental HostInfo class has been removed. Use the OsInfo class from Spring Boot to obtain operating system information or Java’s InetAddress.getLocalHost().getHostName() to get the hostname.

Dev Services

  • The package for the MongoDB Atlas Dev Service module changed from io.arconia.dev.services.mongodb to io.arconia.dev.services.mongodb.atlas. That impacts the MongoDbAtlasDevServicesAutoConfiguration and MongoDbAtlasDevServicesProperties classes.

Observations

Generative AI

  • The configuration properties under the arconia.observability.openinference namespace have been moved to the arconia.observations.generative-ai.openinference namespace.

  • The arconia.observability.openinference.include-only-ai-observations configuration property has been renamed to arconia.observations.generative-ai.openinference.exclusive.

  • The classes under the io.arconia.openinference.observation.autoconfigure package have been moved to the io.arconia.openinference.observation.autoconfigure.ai package.

  • The classes under the io.arconia.openinference.observation.instrumentation package have been moved to the io.arconia.openinference.observation.instrumentation.ai package.

  • The OpenInferenceSpringAiOnlyObservationPredicate class has been renamed to OpenInferenceGenerativeAiOnlyObservationPredicate.

OpenTelemetry

  • In the OpenTelemetry Logback Bridge module, the arconia.otel.logs.logback-bridge.capture-logstash-attributes configuration property has been renamed to arconia.otel.logs.logback-bridge.capture-logstash-marker-attributes.

  • The Micrometer Registry OTLP is now the default option for exporting metrics via OTLP when using the Arconia OpenTelemetry Spring Boot Starter. If you want to switch back to the OpenTelemetry Micrometer Metrics Bridge, you can do so by excluding the arconia-opentelemetry-micrometer-registry-otlp dependency and adding the arconia-opentelemetry-micrometer-metrics-bridge dependency. Refer to the Micrometer Metrics Registry OTLP and Micrometer Metrics OpenTelemetry Bridge sections for more information.