Skip to content

CAMEL-23753: camel-spring-boot - upgrade to Spring AI 2.0 - #1878

Merged
Croway merged 1 commit into
apache:mainfrom
Croway:CAMEL-23753-spring-ai-2.0
Aug 5, 2026
Merged

CAMEL-23753: camel-spring-boot - upgrade to Spring AI 2.0#1878
Croway merged 1 commit into
apache:mainfrom
Croway:CAMEL-23753-spring-ai-2.0

Conversation

@Croway

@Croway Croway commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Fixes CAMEL-23753.

Important

Depends on apache/camel#25354 (CAMEL-24212), which moves spring-ai-version to 2.0.0 in the Camel parent. CI here cannot go green until that merges and a snapshot is published.

Why

Today an application that combines camel-mcp-server-starter with any of the Spring AI starters ends up with two Spring AI majors on one classpath:

Starter Spring AI MCP SDK Jackson
camel-mcp-server-starter 2.0.0 (locally pinned) 2.0.0 3 (tools.jackson)
camel-spring-ai-chat-starter 1.1.7 (via camel-spring-ai-chat) 0.18.2 2

After this change both resolve Spring AI 2.0.0 / MCP SDK 2.0.0 / Jackson 3.

Changes

The starters inherit spring-ai-version from the Camel parent, so most of this is regenerated output:

  • camel-mcp-server-starter drops its local <spring-ai-mcp-version>2.0.0</spring-ai-mcp-version> pin in favour of ${spring-ai-version}, which is now on the 2.x line. The pin existed only because Spring AI's MCP server support needed 2.x while the rest of the build was on 1.1.x — that gap is now closed.
  • The four Spring AI starters pick up generated commons-logging exclusions, since Spring AI 2.0 brings commons-logging transitively.
  • Regenerated the spring-ai-chat catalog entry for the reworded toolNames option (see the camel PR for the behaviour change behind it).

No Java changes were needed: the generated configuration classes only reference ChatModel, EmbeddingModel, ImageModel and VectorStore, all unchanged in Spring AI 2.0.

Tests

Note for users

Applications that configure Spring AI themselves must migrate with it — most notably the Jackson 3 move, the flattened property keys (spring.ai.<provider>.chat.options.modelspring.ai.<provider>.chat.model), and the removal of the default temperature=0.7. The Camel 4.22 upgrade guide in apache/camel#25354 covers this.


Claude Code on behalf of Federico Mariani

Follows CAMEL-24212 in apache/camel, which moves spring-ai-version to 2.0.0 in the Camel
parent. The starters inherit that property, so most of the change is regenerated output.

Before this, an application combining camel-mcp-server-starter with any of the Spring AI
starters ended up with two Spring AI majors on one classpath: camel-mcp-server-starter
pinned Spring AI 2.0.0 (MCP SDK 2.0.0, Jackson 3) while camel-spring-ai-chat-starter
resolved Spring AI 1.1.7 through camel-spring-ai-chat (MCP SDK 0.18.2, Jackson 2).

* camel-mcp-server-starter drops its local spring-ai-mcp-version pin and uses
  ${spring-ai-version} from the Camel parent, which is now on the 2.x line.
* The four Spring AI starters pick up generated commons-logging exclusions, since
  Spring AI 2.0 brings commons-logging transitively.
* Regenerated the spring-ai-chat catalog entry for the reworded toolNames option.

Tests: camel-mcp-server-starter passes 11/11 against Spring AI 2.0.0, and all five
starters build.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Croway
Croway requested review from davsclaus and gzurowski August 5, 2026 09:54
@Croway
Croway merged commit eb49079 into apache:main Aug 5, 2026
2 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants