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.14
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_14
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_14
Manual Upgrade
Dev Services
-
The
arconia-dev-services-connectionsmodule has been removed and its content moved to thearconia-opentelemetrymodule. As part of this change, the classes contained in theio.arconia.dev.services.connectionspackage have been moved to theio.arconia.opentelemetry.testcontainerspackage. -
The
MariaDBDevServicesAutoConfigurationclass has been renamed toMariaDbDevServicesAutoConfigurationto match the Arconia naming conventions. -
The
RabbitMQDevServicesAutoConfigurationclass has been renamed toRabbitMqDevServicesAutoConfigurationto match the Arconia naming conventions.
Multitenancy
-
The
arconia-multitenancy-spring-boot-autoconfiguremodule has been removed and its content moved to thearconia-multitenancy-coreandarconia-multitenancy-webmodules. As part of this change, the classes contained in theio.arconia.multitenancy.autoconfigure.corepackage have been moved to theio.arconia.multitenancy.core.autoconfigurepackage whereas the classes contained in theio.arconia.multitenancy.autoconfigure.webpackage have been moved to theio.arconia.multitenancy.web.autoconfigurepackage.
OpenTelemetry
-
The
arconia-opentelemetry-sdk-spring-boot-autoconfiguremodule has been removed and its content moved to thearconia-opentelemetrymodule. As part of this change, the classes contained in theio.arconia.opentelemetry.autoconfigure.sdkpackage have been moved to theio.arconia.opentelemetry.autoconfigurepackage.
Resource
-
The
arconia-opentelemetry-sdk-spring-boot-autoconfiguremodule (now removed) provided additionalResourceContributorbeans that contributed the experimentalcontainer.idandhost.idattributes to the OpenTelemetry Resource. The experimental attributes have been removed as well as the related auto-configuration classes and configuration properties (arconia.otel.instrumentation.resource.*). You can restore the previous behaviour by including theio.opentelemetry.instrumentation:opentelemetry-resourcesdependency in your project and defining customResourceContributorbeans populating these attributes from theContainerResourceandHostIdResourceclasses (in theio.opentelemetry.instrumentation.resourcespackage).
Bridges
-
The
arconia-opentelemetry-instrumentation-spring-boot-autoconfiguremodule has been removed. The Logback OpenTelemetry Bridge instrumentation is now included in thearconia-opentelemetry-logback-bridgemodule whereas the Micrometer Metrics OpenTelemetry Bridge instrumentation is now included in thearconia-opentelemetry-micrometer-metrics-bridgemodules. As part of this change, the logic contained in theio.arconia.opentelemetry.autoconfigure.instrumentation.logbackpackage has been moved to theio.arconia.opentelemetry.logback.autoconfigurepackage whereas the logic contained in theio.arconia.opentelemetry.autoconfigure.instrumentation.micrometerpackage has been moved to theio.arconia.opentelemetry.micrometer.metrics.autoconfigurepackage. -
The configuration properties for the Logback OpenTelemetry Bridge have been moved from the
arconia.otel.instrumentation.logback-appendergroup to thearconia.otel.logs.logback-bridgegroup. -
The configuration properties for the Micrometer Metrics OpenTelemetry Bridge have been moved from the
arconia.otel.instrumentation.micrometergroup to thearconia.otel.metrics.micrometer-bridgegroup.
Logs
-
The
arconia.otel.logs.logs-limitsconfiguration property group has been renamed toarconia.otel.logs.limits.
Metrics
-
The
arconia.otel.metrics.exemplar-filterconfiguration property has been renamed toarconia.otel.metrics.exemplars.filter. -
The
arconia.otel.metrics.intervalconfiguration property has been renamed toarconia.otel.metrics.exporter.interval.
Traces
-
The
arconia.otel.traces.span-limitsconfiguration property has been renamed toarconia.otel.traces.limits.
Compatibility
-
Support for the OpenTelemetry Environment Variable Specification has been improved. As part of this process, support of the special/experimental properties used by the OpenTelemetry Spring Boot Starter on top of the standard environment variables has been removed.
-
Support for the Spring Boot OTLP/Actuator configuration properties (which could previously be enabled by setting the
arconia.otel.compatibility.actuatorproperty) has been removed. In its place, an automated migration recipe is available to help you migrate to the Arconia OpenTelemetry configuration properties. See the dedicated migration guide for more details.