Skip to content

Commit 408ec20

Browse files
author
Yuriy Bezsonov
committed
feat(apps): Migrate all apps to Spring AI 2.0 and Spring Boot 4.1
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.
1 parent 3f82e4b commit 408ec20

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)