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
HostInfoclass has been removed. Use theOsInfoclass from Spring Boot to obtain operating system information or Java’sInetAddress.getLocalHost().getHostName()to get the hostname.
Dev Services
-
The package for the MongoDB Atlas Dev Service module changed from
io.arconia.dev.services.mongodbtoio.arconia.dev.services.mongodb.atlas. That impacts theMongoDbAtlasDevServicesAutoConfigurationandMongoDbAtlasDevServicesPropertiesclasses.
Observations
Generative AI
-
The configuration properties under the
arconia.observability.openinferencenamespace have been moved to thearconia.observations.generative-ai.openinferencenamespace. -
The
arconia.observability.openinference.include-only-ai-observationsconfiguration property has been renamed toarconia.observations.generative-ai.openinference.exclusive. -
The classes under the
io.arconia.openinference.observation.autoconfigurepackage have been moved to theio.arconia.openinference.observation.autoconfigure.aipackage. -
The classes under the
io.arconia.openinference.observation.instrumentationpackage have been moved to theio.arconia.openinference.observation.instrumentation.aipackage. -
The
OpenInferenceSpringAiOnlyObservationPredicateclass has been renamed toOpenInferenceGenerativeAiOnlyObservationPredicate.
OpenTelemetry
-
In the OpenTelemetry Logback Bridge module, the
arconia.otel.logs.logback-bridge.capture-logstash-attributesconfiguration property has been renamed toarconia.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-otlpdependency and adding thearconia-opentelemetry-micrometer-metrics-bridgedependency. Refer to the Micrometer Metrics Registry OTLP and Micrometer Metrics OpenTelemetry Bridge sections for more information.