From e5d3b049a94377440ff2f4a472e6ce259df5399d Mon Sep 17 00:00:00 2001 From: SAP Cloud SDK Bot Date: Fri, 25 Sep 2026 10:40:04 +0000 Subject: [PATCH 1/5] Update to version 2.0.0-M1 --- core-services/batch/pom.xml | 2 +- core-services/document-grounding/pom.xml | 2 +- core-services/prompt-registry/pom.xml | 2 +- core/pom.xml | 2 +- foundation-models/openai/pom.xml | 2 +- foundation-models/sap-rpt/pom.xml | 2 +- orchestration/pom.xml | 2 +- pom.xml | 2 +- sample-code/spring-app/pom.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core-services/batch/pom.xml b/core-services/batch/pom.xml index 16da52c79..876fc04ec 100644 --- a/core-services/batch/pom.xml +++ b/core-services/batch/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 1.26.0-SNAPSHOT + 2.0.0-M1 ../../pom.xml batch diff --git a/core-services/document-grounding/pom.xml b/core-services/document-grounding/pom.xml index ab00952e0..39d73b0f5 100644 --- a/core-services/document-grounding/pom.xml +++ b/core-services/document-grounding/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 1.26.0-SNAPSHOT + 2.0.0-M1 ../../pom.xml document-grounding diff --git a/core-services/prompt-registry/pom.xml b/core-services/prompt-registry/pom.xml index 2738f5849..2e7f7c7b8 100644 --- a/core-services/prompt-registry/pom.xml +++ b/core-services/prompt-registry/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 1.26.0-SNAPSHOT + 2.0.0-M1 ../../pom.xml prompt-registry diff --git a/core/pom.xml b/core/pom.xml index cebd81148..977b8c027 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 1.26.0-SNAPSHOT + 2.0.0-M1 core AI Core client diff --git a/foundation-models/openai/pom.xml b/foundation-models/openai/pom.xml index 392782a4d..90778b75d 100644 --- a/foundation-models/openai/pom.xml +++ b/foundation-models/openai/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 1.26.0-SNAPSHOT + 2.0.0-M1 ../../pom.xml com.sap.ai.sdk.foundationmodels diff --git a/foundation-models/sap-rpt/pom.xml b/foundation-models/sap-rpt/pom.xml index 215b91a1b..9ef12b3fa 100644 --- a/foundation-models/sap-rpt/pom.xml +++ b/foundation-models/sap-rpt/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 1.26.0-SNAPSHOT + 2.0.0-M1 ../../pom.xml com.sap.ai.sdk.foundationmodels diff --git a/orchestration/pom.xml b/orchestration/pom.xml index abcc51494..c486b92fa 100644 --- a/orchestration/pom.xml +++ b/orchestration/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 1.26.0-SNAPSHOT + 2.0.0-M1 orchestration Orchestration client diff --git a/pom.xml b/pom.xml index e3fdba112..c5a8fec21 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.sap.ai.sdk sdk-parent - 1.26.0-SNAPSHOT + 2.0.0-M1 pom Parent pom SAP Cloud SDK for AI is the official Software Development Kit (SDK) for SAP AI Core, SAP Generative AI Hub, and Orchestration Service. The parent pom defines dependency versions and plugin configurations diff --git a/sample-code/spring-app/pom.xml b/sample-code/spring-app/pom.xml index 380165e23..4f7b14c47 100644 --- a/sample-code/spring-app/pom.xml +++ b/sample-code/spring-app/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 1.26.0-SNAPSHOT + 2.0.0-M1 ../../pom.xml com.sap.ai.sdk.app From ba781b114025e1d1dba794f932a568a643869d0c Mon Sep 17 00:00:00 2001 From: SAP Cloud SDK Bot Date: Fri, 25 Sep 2026 10:44:57 +0000 Subject: [PATCH 2/5] Reset release notes --- docs/release_notes.md | 155 +----------------------------------------- 1 file changed, 2 insertions(+), 153 deletions(-) diff --git a/docs/release_notes.md b/docs/release_notes.md index 11fee6cf2..5745d6681 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -8,162 +8,11 @@ ### 🔧 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] `OrchestrationConfigClient` and `PromptClient` were reworked into unified `PromptRegistryClient`, - see migration guide below for additional information -- [Orchestration] `OrchestrationClient.executeRequestFromJsonModuleConfig` method was removed from SDK without a replacement -- [OpenAi] `OpenAi.withApiVersion` was removed from public API and deprecated -- [Orchestration] Internal AI SDK methods `createInputFilterConfig` and `createOutputFilterConfig` were removed - from public API -- [Orchestration] Internal AI SDK methods `createConfig` were removed from `GroundingProvider` and `MaskingProvider` -- [Orchestration] Internal AI SDK method `createMessage` was removed from `Message` class. -- [Orchestration] Removed internal `AssistantMessage(List toolCalls)` please use `AssistantMessage.withToolCalls(List)` instead. -- [Orchestration] Removed deprecated models: - - `OrchestrationAiModel.IBM_GRANITE_13B_CHAT` - - `OrchestrationAiModel.MISTRAL_LARGE_INSTRUCT` - - `OrchestrationAiModel.MISTRAL_SMALL_INSTRUCT` - - `OrchestrationAiModel.MIXTRAL_8X7B_INSTRUCT_V01` - - `OrchestrationAiModel.LLAMA3_70B_INSTRUCT` - - `OrchestrationAiModel.LLAMA3_1_70B_INSTRUCT` - - `OrchestrationAiModel.CLAUDE_3_SONNET` - - `OrchestrationAiModel.CLAUDE_3_HAIKU` - - `OrchestrationAiModel.CLAUDE_3_OPUS` - - `OrchestrationAiModel.CLAUDE_3_5_SONNET` - - `OrchestrationAiModel.CLAUDE_3_7_SONNET` - - `OrchestrationAiModel.CLAUDE_4_SONNET` - - `OrchestrationAiModel.TITAN_TEXT_LITE` - - `OrchestrationAiModel.TITAN_TEXT_EXPRESS` - - `OrchestrationAiModel.GPT_35_TURBO` - - `OrchestrationAiModel.GPT_35_TURBO_16K` - - `OrchestrationAiModel.GPT_35_TURBO_0125` - - `OrchestrationAiModel.GPT_4` - - `OrchestrationAiModel.GPT_4_32K` - - `OrchestrationAiModel.GPT_4_0613` - - `OrchestrationAiModel.GPT_4O_MINI` - - `OrchestrationAiModel.OPENAI_O1` - - `OrchestrationAiModel.OPENAI_O3_MINI` - - `OrchestrationAiModel.GEMINI_1_0_PRO` - - `OrchestrationAiModel.GEMINI_1_5_PRO` - - `OrchestrationAiModel.GEMINI_1_5_FLASH` - - `OrchestrationAiModel.GEMINI_2_0_FLASH` - - `OrchestrationAiModel.GEMINI_2_0_FLASH_LITE` - - `OrchestrationAiModel.ALEPHALPHA_PHARIA_1_7B_CONTROL` - - `OrchestrationAiModel.DEEPSEEK_R1` -- [OpenAi] Removed deprecated models: - - `OpenAiModel.DALL_E_3` - - `OpenAiModel.GPT_35_TURBO` - - `OpenAiModel.GPT_35_TURBO_1025` - - `OpenAiModel.GPT_35_TURBO_16K` - - `OpenAiModel.GPT_4` - - `OpenAiModel.GPT_4_32K` - - `OpenAiModel.GPT_4O_MINI` - - `OpenAiModel.O3_MINI` - - `OpenAiModel.O1` - - `OpenAiModel.TEXT_EMBEDDING_ADA_002` - -#### Prompt registry client Migration Guide - -`OrchestrationConfigClient` and `PromptClient` were replaced with unified `PromptRegistryClient`, - -OrchestrationConfigClient: -```diff --var orchestrationConfigsClient = new OrchestrationConfigClient(); --var configs = orchestrationConfigsClient.listOrchestrationConfigs(); - -+var orchestractionConfigsClient = new PromptRegistryClient().orchestrationConfig(); -+var configs = orchestractionConfigsClient.listOrchestrationConfigs(); -``` - -PromptRegistryClient: -```diff --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`): - -```diff --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: - -```diff --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: - -```xml - - - org.springframework.ai - spring-ai-autoconfigure-mcp-client - - - - - org.springframework.ai - spring-ai-autoconfigure-mcp-client-common - 2.0.1 - -``` - -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` - -```diff --new OrchestrationModuleConfig().withLlmConfig(GPT_5); - -+new OrchestrationModuleConfig(GPT_5); -``` +- ### ✨ New Functionality -- [Orchestration] Added `GEMINI_3_8_FLASH` and `GPT_51` to model list in `OrchestrationAiModel`. -- [OpenAI] Added `GPT_51` to model list in `OpenAiModel`. -- [Spring AI] Chat completion calls via the Spring AI integration now can have multiple module configs to support fallback modules as well. +- ### 📈 Improvements From 04ee1665bcede18eefd5d490284c669911342321 Mon Sep 17 00:00:00 2001 From: SAP Cloud SDK Bot Date: Fri, 25 Sep 2026 10:47:59 +0000 Subject: [PATCH 3/5] Update to version 1.26.0-SNAPSHOT --- core-services/batch/pom.xml | 2 +- core-services/document-grounding/pom.xml | 2 +- core-services/prompt-registry/pom.xml | 2 +- core/pom.xml | 2 +- foundation-models/openai/pom.xml | 2 +- foundation-models/sap-rpt/pom.xml | 2 +- orchestration/pom.xml | 2 +- pom.xml | 2 +- sample-code/spring-app/pom.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core-services/batch/pom.xml b/core-services/batch/pom.xml index 876fc04ec..16da52c79 100644 --- a/core-services/batch/pom.xml +++ b/core-services/batch/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 2.0.0-M1 + 1.26.0-SNAPSHOT ../../pom.xml batch diff --git a/core-services/document-grounding/pom.xml b/core-services/document-grounding/pom.xml index 39d73b0f5..ab00952e0 100644 --- a/core-services/document-grounding/pom.xml +++ b/core-services/document-grounding/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 2.0.0-M1 + 1.26.0-SNAPSHOT ../../pom.xml document-grounding diff --git a/core-services/prompt-registry/pom.xml b/core-services/prompt-registry/pom.xml index 2e7f7c7b8..2738f5849 100644 --- a/core-services/prompt-registry/pom.xml +++ b/core-services/prompt-registry/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 2.0.0-M1 + 1.26.0-SNAPSHOT ../../pom.xml prompt-registry diff --git a/core/pom.xml b/core/pom.xml index 977b8c027..cebd81148 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 2.0.0-M1 + 1.26.0-SNAPSHOT core AI Core client diff --git a/foundation-models/openai/pom.xml b/foundation-models/openai/pom.xml index 90778b75d..392782a4d 100644 --- a/foundation-models/openai/pom.xml +++ b/foundation-models/openai/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 2.0.0-M1 + 1.26.0-SNAPSHOT ../../pom.xml com.sap.ai.sdk.foundationmodels diff --git a/foundation-models/sap-rpt/pom.xml b/foundation-models/sap-rpt/pom.xml index 9ef12b3fa..215b91a1b 100644 --- a/foundation-models/sap-rpt/pom.xml +++ b/foundation-models/sap-rpt/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 2.0.0-M1 + 1.26.0-SNAPSHOT ../../pom.xml com.sap.ai.sdk.foundationmodels diff --git a/orchestration/pom.xml b/orchestration/pom.xml index c486b92fa..abcc51494 100644 --- a/orchestration/pom.xml +++ b/orchestration/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 2.0.0-M1 + 1.26.0-SNAPSHOT orchestration Orchestration client diff --git a/pom.xml b/pom.xml index c5a8fec21..e3fdba112 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.sap.ai.sdk sdk-parent - 2.0.0-M1 + 1.26.0-SNAPSHOT pom Parent pom SAP Cloud SDK for AI is the official Software Development Kit (SDK) for SAP AI Core, SAP Generative AI Hub, and Orchestration Service. The parent pom defines dependency versions and plugin configurations diff --git a/sample-code/spring-app/pom.xml b/sample-code/spring-app/pom.xml index 4f7b14c47..380165e23 100644 --- a/sample-code/spring-app/pom.xml +++ b/sample-code/spring-app/pom.xml @@ -4,7 +4,7 @@ com.sap.ai.sdk sdk-parent - 2.0.0-M1 + 1.26.0-SNAPSHOT ../../pom.xml com.sap.ai.sdk.app From 2b61dd6ef5b42af2a46788caa6fd94a657993936 Mon Sep 17 00:00:00 2001 From: I538344 Date: Fri, 25 Sep 2026 13:26:55 +0200 Subject: [PATCH 4/5] fix perform release --- .github/workflows/perform-release.yaml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/perform-release.yaml b/.github/workflows/perform-release.yaml index b4a7891e7..c7c192fde 100644 --- a/.github/workflows/perform-release.yaml +++ b/.github/workflows/perform-release.yaml @@ -38,17 +38,22 @@ jobs: id: determine-branch-names run: | CODE_BRANCH_NAME=$(gh pr view ${{github.event.inputs.release_pr_number}} --repo ${{github.repository}} --json headRefName --jq '.headRefName') - RELEASE_VERSION=$(echo $CODE_BRANCH_NAME | cut -d '-' -f2) - RELEASE_TAG=rel/$RELEASE_VERSION - RELEASE_COMMIT=$(gh release view $RELEASE_TAG --repo ${{github.repository}} --json targetCommitish --jq '.targetCommitish') - RELEASE_NOTES_BRANCH_NAME=java/release-notes-$RELEASE_VERSION - JAVADOC_BRANCH_NAME=java/release-docs-$RELEASE_VERSION - echo "CODE_BRANCH_NAME=$CODE_BRANCH_NAME" >> $GITHUB_OUTPUT + + # RELEASE-2.0.0-M1 → -f2- → 2.0.0-M1 + RELEASE_VERSION=$(echo $CODE_BRANCH_NAME | cut -d '-' -f2-) echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_OUTPUT + + RELEASE_TAG=rel/$RELEASE_VERSION echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_OUTPUT + + RELEASE_COMMIT=$(gh release view $RELEASE_TAG --repo ${{github.repository}} --json targetCommitish --jq '.targetCommitish') echo "RELEASE_COMMIT=$RELEASE_COMMIT" >> $GITHUB_OUTPUT + + RELEASE_NOTES_BRANCH_NAME=java/release-notes-$RELEASE_VERSION echo "RELEASE_NOTES_BRANCH_NAME=$RELEASE_NOTES_BRANCH_NAME" >> $GITHUB_OUTPUT + + JAVADOC_BRANCH_NAME=java/release-docs-$RELEASE_VERSION echo "JAVADOC_BRANCH_NAME=$JAVADOC_BRANCH_NAME" >> $GITHUB_OUTPUT echo -e "[DEBUG] Current GITHUB_OUTPUT:\n$(cat $GITHUB_OUTPUT)" @@ -112,7 +117,7 @@ jobs: release: name: 'Release' - needs: [prerequisites] + needs: [ prerequisites ] runs-on: ubuntu-latest environment: release permissions: From 6a45053916be11003b0c6b2b994f491dd30a545a Mon Sep 17 00:00:00 2001 From: I538344 Date: Fri, 25 Sep 2026 13:31:14 +0200 Subject: [PATCH 5/5] fix perform release --- .github/workflows/perform-release.yaml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/perform-release.yaml b/.github/workflows/perform-release.yaml index c7c192fde..eb3401706 100644 --- a/.github/workflows/perform-release.yaml +++ b/.github/workflows/perform-release.yaml @@ -38,22 +38,17 @@ jobs: id: determine-branch-names run: | CODE_BRANCH_NAME=$(gh pr view ${{github.event.inputs.release_pr_number}} --repo ${{github.repository}} --json headRefName --jq '.headRefName') - echo "CODE_BRANCH_NAME=$CODE_BRANCH_NAME" >> $GITHUB_OUTPUT - - # RELEASE-2.0.0-M1 → -f2- → 2.0.0-M1 RELEASE_VERSION=$(echo $CODE_BRANCH_NAME | cut -d '-' -f2-) - echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_OUTPUT - RELEASE_TAG=rel/$RELEASE_VERSION - echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_OUTPUT - RELEASE_COMMIT=$(gh release view $RELEASE_TAG --repo ${{github.repository}} --json targetCommitish --jq '.targetCommitish') - echo "RELEASE_COMMIT=$RELEASE_COMMIT" >> $GITHUB_OUTPUT - RELEASE_NOTES_BRANCH_NAME=java/release-notes-$RELEASE_VERSION - echo "RELEASE_NOTES_BRANCH_NAME=$RELEASE_NOTES_BRANCH_NAME" >> $GITHUB_OUTPUT - JAVADOC_BRANCH_NAME=java/release-docs-$RELEASE_VERSION + + echo "CODE_BRANCH_NAME=$CODE_BRANCH_NAME" >> $GITHUB_OUTPUT + echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_OUTPUT + echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_OUTPUT + echo "RELEASE_COMMIT=$RELEASE_COMMIT" >> $GITHUB_OUTPUT + echo "RELEASE_NOTES_BRANCH_NAME=$RELEASE_NOTES_BRANCH_NAME" >> $GITHUB_OUTPUT echo "JAVADOC_BRANCH_NAME=$JAVADOC_BRANCH_NAME" >> $GITHUB_OUTPUT echo -e "[DEBUG] Current GITHUB_OUTPUT:\n$(cat $GITHUB_OUTPUT)"