Skip to content

Commit bb9cd01

Browse files
ybezsonovYuriy Bezsonov
andauthored
feat(apps): Migrate all apps to Spring AI 2.0 and Spring Boot 4.1 (#909)
Upgrade every Maven module to Spring Boot 4.1.0 and consolidate all Spring AI usage on the 2.0.0 GA release (previously a mix of 1.1.7, 2.0.0-M6 and 2.0.0-RC2). Fix the breaking changes surfaced by the upgrade: - Rename artifact spring-ai-advisors-vector-store to spring-ai-vector-store-advisor. - Move @mcptool from org.springaicommunity.mcp.annotation to org.springframework.ai.mcp.annotation. - Replace removed McpSyncClientCustomizer with the generic McpClientCustomizer<McpClient.SyncSpec>. - Replace removed PromptChatMemoryAdvisor with MessageChatMemoryAdvisor. - ChatClient.Builder.defaultOptions now takes a ChatOptions.Builder instead of a built ChatOptions; update call sites and tests. - OllamaChatModel.Builder.defaultOptions renamed to options. - Migrate direct Jackson databind usage to Jackson 3 (tools.jackson) where Spring AI 2.0 no longer brings Jackson 2 transitively. All 23 modules compile (mvn clean test-compile) and the affected unit tests pass. Also improve the Dependabot config: group Spring, Maven plugins, test tooling, Kubernetes, Docker images and GitHub Actions so coordinated upgrades arrive as single reviewable PRs instead of dozens. Co-authored-by: Yuriy Bezsonov <bezsonov@amazon.de>
1 parent 3f82e4b commit bb9cd01

35 files changed

Lines changed: 104 additions & 69 deletions

File tree

.github/dependabot.yml

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
# package ecosystems to update and where the package manifests are located.
33
# Please see the documentation for all configuration options:
44
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
#
6+
# Grouping strategy: related dependencies that are released and upgraded
7+
# together are bundled into a single PR to cut review noise. Anything that
8+
# does not match a group still gets its own PR (Dependabot's default).
59

610
version: 2
711
updates:
@@ -10,16 +14,50 @@ updates:
1014
- "**/*"
1115
schedule:
1216
interval: "monthly"
17+
open-pull-requests-limit: 15
1318
groups:
19+
# AWS SDK for Java artifacts are versioned in lockstep.
1420
awssdk:
1521
patterns:
1622
- "software.amazon.awssdk:*"
17-
open-pull-requests-limit: 15
23+
# Spring Boot, Spring Framework, Spring AI and the Spring-adjacent
24+
# ecosystem move together on coordinated release trains. Bundling them
25+
# keeps a Boot/Spring AI upgrade to a single reviewable PR per module.
26+
spring:
27+
patterns:
28+
- "org.springframework:*"
29+
- "org.springframework.*:*"
30+
- "org.springaicommunity:*"
31+
- "io.awspring.cloud:*"
32+
# Build-time Maven plugins.
33+
maven-plugins:
34+
patterns:
35+
- "org.apache.maven.plugins:*"
36+
- "org.graalvm.buildtools:*"
37+
- "io.spring.javaformat:*"
38+
- "com.googlecode.maven-download-plugin:*"
39+
# Test tooling.
40+
testing:
41+
patterns:
42+
- "org.testcontainers:*"
43+
- "*testcontainers*"
44+
- "com.microsoft.playwright:*"
45+
# Kubernetes Java client artifacts release together.
46+
kubernetes:
47+
patterns:
48+
- "io.kubernetes:*"
1849
- package-ecosystem: docker
1950
directories:
2051
- "**/*"
2152
schedule:
2253
interval: "monthly"
54+
groups:
55+
docker-images:
56+
patterns:
57+
- "*"
58+
update-types:
59+
- "minor"
60+
- "patch"
2361
- package-ecosystem: pip
2462
directory: "/infra/scripts/setup/thread-dump-lambda"
2563
schedule:
@@ -37,3 +75,7 @@ updates:
3775
directory: "/"
3876
schedule:
3977
interval: "monthly"
78+
groups:
79+
github-actions:
80+
patterns:
81+
- "*"

apps/ai-jvm-analyzer/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>4.0.6</version>
8+
<version>4.1.0</version>
99
<relativePath/>
1010
</parent>
1111
<groupId>com.example.ai</groupId>
@@ -21,7 +21,7 @@
2121
<maven.compiler.target>25</maven.compiler.target>
2222
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2323
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24-
<spring-ai.version>1.1.7</spring-ai.version>
24+
<spring-ai.version>2.0.0</spring-ai.version>
2525
</properties>
2626

2727
<dependencyManagement>

apps/ai-jvm-analyzer/src/main/java/com/example/ai/jvmanalyzer/GitHubSourceCodeTool.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.example.ai.jvmanalyzer;
22

3-
import com.fasterxml.jackson.databind.ObjectMapper;
3+
import tools.jackson.databind.ObjectMapper;
44
import org.slf4j.Logger;
55
import org.slf4j.LoggerFactory;
66
import org.springframework.ai.tool.annotation.Tool;

apps/aiagent-agentcore/aiagent/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>4.0.6</version>
8+
<version>4.1.0</version>
99
<relativePath/>
1010
</parent>
1111
<groupId>com.example</groupId>
@@ -16,7 +16,7 @@
1616

1717
<properties>
1818
<java.version>25</java.version>
19-
<spring-ai.version>2.0.0-M6</spring-ai.version>
19+
<spring-ai.version>2.0.0</spring-ai.version>
2020
</properties>
2121

2222
<dependencies>
@@ -59,7 +59,7 @@
5959
</dependency>
6060
<dependency>
6161
<groupId>org.springframework.ai</groupId>
62-
<artifactId>spring-ai-advisors-vector-store</artifactId>
62+
<artifactId>spring-ai-vector-store-advisor</artifactId>
6363
</dependency>
6464

6565
<!-- Security - OAuth2 Resource Server for JWT validation -->

apps/aiagent-agentcore/backoffice/trip/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>4.0.6</version>
8+
<version>4.1.0</version>
99
<relativePath/>
1010
</parent>
1111
<groupId>com.example</groupId>

apps/aiagent/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>4.0.6</version>
8+
<version>4.1.0</version>
99
<relativePath/> <!-- lookup parent from repository -->
1010
</parent>
1111
<groupId>com.example</groupId>
@@ -28,7 +28,7 @@
2828
</scm>
2929
<properties>
3030
<java.version>25</java.version>
31-
<spring-ai.version>2.0.0-RC2</spring-ai.version>
31+
<spring-ai.version>2.0.0</spring-ai.version>
3232
</properties>
3333
<dependencies>
3434
<dependency>

apps/java-spring-ai-agents/aiagent/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>4.0.6</version>
8+
<version>4.1.0</version>
99
<relativePath/> <!-- lookup parent from repository -->
1010
</parent>
1111
<groupId>com.example</groupId>

apps/java-spring-ai-agents/backoffice/tools/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>4.0.6</version>
8+
<version>4.1.0</version>
99
<relativePath/>
1010
</parent>
1111
<groupId>com.example</groupId>

apps/java-spring-ai-agents/backoffice/trip/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>4.0.6</version>
8+
<version>4.1.0</version>
99
<relativePath/>
1010
</parent>
1111
<groupId>com.example</groupId>

apps/perf-analyzer/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>4.0.6</version>
8+
<version>4.1.0</version>
99
<relativePath/>
1010
</parent>
1111

@@ -19,7 +19,7 @@
1919
<java.version>25</java.version>
2020
<maven.compiler.release>25</maven.compiler.release>
2121
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
22-
<spring-ai.version>2.0.0-M6</spring-ai.version>
22+
<spring-ai.version>2.0.0</spring-ai.version>
2323
<aws-sdk.version>2.46.6</aws-sdk.version>
2424
<kubernetes-client.version>26.0.0</kubernetes-client.version>
2525
</properties>

0 commit comments

Comments
 (0)