Release Notes
Should I update?
We highly recommend regularly updating to the latest SAP Cloud SDK for AI version. It will help you:
- Ensure access to the latest SAP Cloud SDK for AI features
- Keep up with the latest changes in SAP ecosystem
- Protect yourself from bugs and breaking changes in the future
2.0.0-M1 - September 25, 2026
🔧 Compatibility Notes
- [RPT] SAP-RPT was updated to the newer 1.6.0 API
- [Orchestration] Spring AI support was upgraded to version
2.0.1 - [Prompt Registry]
OrchestrationConfigClientandPromptClientwere reworked into unifiedPromptRegistryClient, see migration guide below for additional information - [Orchestration]
OrchestrationClient.executeRequestFromJsonModuleConfigmethod was removed from SDK without a replacement - [OpenAi]
OpenAi.withApiVersionwas removed from public API and deprecated - [Orchestration] Internal AI SDK methods
createInputFilterConfigandcreateOutputFilterConfigwere removed from public API - [Orchestration] Internal AI SDK methods
createConfigwere removed fromGroundingProviderandMaskingProvider - [Orchestration] Internal AI SDK method
createMessagewas removed fromMessageclass. - [Orchestration] Removed internal
AssistantMessage(List<MessageToolCall> toolCalls)please useAssistantMessage.withToolCalls(List)instead. - [Orchestration] Removed deprecated models:
OrchestrationAiModel.IBM_GRANITE_13B_CHATOrchestrationAiModel.MISTRAL_LARGE_INSTRUCTOrchestrationAiModel.MISTRAL_SMALL_INSTRUCTOrchestrationAiModel.MIXTRAL_8X7B_INSTRUCT_V01OrchestrationAiModel.LLAMA3_70B_INSTRUCTOrchestrationAiModel.LLAMA3_1_70B_INSTRUCTOrchestrationAiModel.CLAUDE_3_SONNETOrchestrationAiModel.CLAUDE_3_HAIKUOrchestrationAiModel.CLAUDE_3_OPUSOrchestrationAiModel.CLAUDE_3_5_SONNETOrchestrationAiModel.CLAUDE_3_7_SONNETOrchestrationAiModel.CLAUDE_4_SONNETOrchestrationAiModel.TITAN_TEXT_LITEOrchestrationAiModel.TITAN_TEXT_EXPRESSOrchestrationAiModel.GPT_35_TURBOOrchestrationAiModel.GPT_35_TURBO_16KOrchestrationAiModel.GPT_35_TURBO_0125OrchestrationAiModel.GPT_4OrchestrationAiModel.GPT_4_32KOrchestrationAiModel.GPT_4_0613OrchestrationAiModel.GPT_4O_MINIOrchestrationAiModel.OPENAI_O1OrchestrationAiModel.OPENAI_O3_MINIOrchestrationAiModel.GEMINI_1_0_PROOrchestrationAiModel.GEMINI_1_5_PROOrchestrationAiModel.GEMINI_1_5_FLASHOrchestrationAiModel.GEMINI_2_0_FLASHOrchestrationAiModel.GEMINI_2_0_FLASH_LITEOrchestrationAiModel.ALEPHALPHA_PHARIA_1_7B_CONTROLOrchestrationAiModel.DEEPSEEK_R1
- [OpenAi] Removed deprecated models:
OpenAiModel.DALL_E_3OpenAiModel.GPT_35_TURBOOpenAiModel.GPT_35_TURBO_1025OpenAiModel.GPT_35_TURBO_16KOpenAiModel.GPT_4OpenAiModel.GPT_4_32KOpenAiModel.GPT_4O_MINIOpenAiModel.O3_MINIOpenAiModel.O1OpenAiModel.TEXT_EMBEDDING_ADA_002
Prompt registry client Migration Guide
OrchestrationConfigClient and PromptClient were replaced with unified PromptRegistryClient,
OrchestrationConfigClient:
-var orchestrationConfigsClient = new OrchestrationConfigClient();
-var configs = orchestrationConfigsClient.listOrchestrationConfigs();
+var orchestractionConfigsClient = new PromptRegistryClient().orchestrationConfig();
+var configs = orchestractionConfigsClient.listOrchestrationConfigs();
PromptRegistryClient:
-var promptClient = new PromptClient();
-var templates = promptClient.listPromptTemplates();
+var promptClient = new PromptRegistryClient().prompt();
+var templates = promptClient.listPromptTemplates();
Spring AI 2.0.1 Migration Guide
If you use the Spring AI integration (OrchestrationChatModel, OpenAiChatModel) together with tool calling, the following changes are required:
Tool execution — use ChatClient instead of isInternalToolExecutionEnabled
The isInternalToolExecutionEnabled flag has been removed in Spring AI 2.0.1.
To execute tools automatically, route the call through ChatClient (which wires in ToolCallingAdvisor):
-options.setInternalToolExecutionEnabled(true);
-chatModel.call(prompt);
+ChatClient.builder(chatModel).build().prompt(prompt).call().chatResponse();
To receive raw tool calls without execution (e.g. to forward them to a client), call the model directly as before — no change needed there.
Immutable options — use .mutate().build() to configure per-request options
OrchestrationChatOptions and DefaultToolCallingChatOptions are now immutable.
Use the builder to set per-request options such as tool callbacks:
-OrchestrationChatOptions options = new OrchestrationChatOptions(config);
-options.setToolCallbacks(...); // no longer available
+OrchestrationChatOptions options = new OrchestrationChatOptions(config)
+ .mutate()
+ .toolCallbacks(ToolCallbacks.from(new MyTool()))
+ .build();
Dependency updates
New required minimum versions
com.github.victools:jsonschema-generator 5.0.0
com.githib.victools:jsonschema-module-jackson 5.0.0
com.github.victools:jsonschema-module-swagger-2 5.0.0
com.networknt:json-schema-validator 3.0.1
Optional: If your project uses Spring AI MCP autoconfiguration (i.e. you had spring-ai-autoconfigure-mcp-client in your pom.xml to register MCP clients from application.yml), that artifact was split in Spring AI 2.0.1 — replace it:
<!-- Remove -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-mcp-client</artifactId>
</dependency>
<!-- Add -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-mcp-client-common</artifactId>
<version>2.0.1</version>
</dependency>
If you use MCP clients manually in code (instantiating SyncMcpToolCallbackProvider directly), no change is needed — spring-ai-mcp already provides those classes.
Orchestration
- The model name is now required when creating a new
OrchestrationModuleConfig
-new OrchestrationModuleConfig().withLlmConfig(GPT_5);
+new OrchestrationModuleConfig(GPT_5);
✨ New Functionality
- [Orchestration] Added
GEMINI_3_8_FLASHandGPT_51to model list inOrchestrationAiModel. - [OpenAI] Added
GPT_51to model list inOpenAiModel. - [Spring AI] Chat completion calls via the Spring AI integration now can have multiple module configs to support fallback modules as well.