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
1.10.0 - August 08, 2025
🔧 Compatibility Notes
- The Spring AI version has been increased from
1.0.0-M6
to the GA release1.0.0
.- The
OrchestrationChatOptions
have been, replacing all references toFunctionCallback
withToolCallback
. - Please follow the official Spring AI upgrade guide for further details.
- The
@Beta
annotations on all classes related to Spring AI have been removed.
- The
- [Orchestration] The
completion
endpoint have been moved to the latest version/v2/completion
LLMModuleConfig
is replaced byLLMModelDetails
inwithLLmConfig
method ofOrchestrationModuleConfig
class.PromptTemplatingModuleConfigPrompt
replacesTemplatingModuleConfig
in thewithTemplateConfig
method ofOrchestrationModuleConfig
class.- The generated model classes will reflect payload updates including restructuring of the module configurations and renaming of several fields.
- [Document Grounding] Breaking: The
message
field inRetrievalPerFilterSearchResultWithError
is replaced byerror
andfilterId
with more specific error details. - [Document Grounding] Extensive generated model class renaming for better specificity due to API spec changes.
SearchResults
→VectorSearchResults
KeyValueListPair
split into context-specific classes:VectorKeyValueListPair
for vector operationsRetrievalKeyValueListPair
for retrieval operationsVectorDocumentKeyValueListPair
for vector document operationsRetrievalDocumentKeyValueListPair
for retrieval document operations
Chunk
→VectorChunk
andRetrievalChunk
for different contextsSearchFilter
→VectorSearchFilter
andRetrievalSearchFilter
SearchConfiguration
→VectorSearchConfiguration
andRetrievalSearchConfiguration
✨ New Functionality
- [Core] Added
ClientExceptionFactory
interface to provide custom exception mapping logic for different service clients. - Extend
OpenAiClientException
andOrchestrationClientException
to retrieve error diagnostics information received from remote service usinggetErrorResponse
. - [Orchestration] Introduced filtering related exceptions along with convenience methods to obtain additional contextual information.
OrchestrationInputFilterException
for prompt filtering andOrchestrationOutputFilterException
for response filtering.getFilterDetails()
: Returns a map of all filter details.getAzureContentSafetyInput()
andgetAzureContentSafetyInput()
: Returns Azure Content Safety filter scoresgetLlamaGuard38b()
: Returns LlamaGuard filter scores
- [Document Grounding] Extend
PipelineApi
operations, notably:- Added new pipeline creation requests for SDM and WorkZone with
SDMPipelineCreateRequest
andWorkZonePipelineCreateRequest
. - S3 and SFTP pipeline configurations extended with
S3Configuration
andSFTPConfiguration
for including data sources. - Support
/pipelines/trigger
endpoint to trigger pipelines on-demand viaPipelinesApi#manualTriggerPipeline()
.
- Added new pipeline creation requests for SDM and WorkZone with
📈 Improvements
- Update AI Core client to 2.40.1
- [Document Grounding] Enhanced pipeline status reporting with additional metadata such as
createdAt
,modifiedAt
,lastCompletedAt
.
🐛 Fixed Issues
- OpenAi: Fix AssistantMessage Bug by now being able to send Assistant Messages using our API Client.
1.9.0 - July 22, 2025
🔧 Compatibility Notes
-
The old OpenAI client (v1.0.0) is being deprecated in favor of the new OpenAI client (v1.4.0). See the documentation for more details
-
Generated classes for the following service specifications are subject to change:
- core
- openai
- orchestration
- document grounding
-
[Orchestration] Interfaces with only one implementation were reduced.
- As a result, the accessors for fields
OrchestrationModuleConfig.inputTranslationConfig
andOrchestrationModuleConfig.outputTranslationConfig
now handle the implementing class explicitly. - The same applies to helper methods
DpiMasking#createConfig()
andMaskingProvider#createConfig()
.
- As a result, the accessors for fields
-
[Orchestration]
OrchestrationTemplate.withTemplate()
has been deprecated. Please useOrchestrationTemplate.withTemplateMessages()
instead. -
[Orchestration] The method
createConfig()
is removed fromContentFilter
,AzureContentFilter
andLlamaGuardFilter
and is replaced bycreateInputFilterConfig()
andcreateOutputFilterConfig()
. -
[Orchestration] Deprecated :
LLAMA3_1_70B_INSTRUCT
,CLAUDE_3_SONNET
,TITAN_TEXT_LITE
,TITAN_TEXT_EXPRESS
,GPT_4
,GPT_4_0613
,MIXTRAL_8X7B_INSTRUCT_V01
.GPT_4
andGPT_4_0613
are replaced by :GPT_40
orGPT_41
.CLAUDE_3_SONNET
is replaced byCLAUDE_4_SONNET
.MIXTRAL_8X7B_INSTRUCT_V01
is replaced byMISTRAL_SMALL_INSTRUCT
.
-
[OpenAI] Deprecated :
GPT_4
.GPT_4
is replaced by :GPT_40
orGPT_41
.
-
[Prompt Registry] Resource group has been added as a optional parameter to all endpoints. Set it to
"default"
if it was not set before. Examples:client.importPromptTemplate(File)
-->client.importPromptTemplate("default", File)
.client.parsePromptTemplateById(id, false, inputParams)
-->client.parsePromptTemplateById(id, "default", false, inputParams)
.
-
[Document Grounding] All classes with
Retrieval
have been renamed to fix the typo- for example:
RetievalSearchResults
has been renamed toRetrievalSearchResults
- for example:
-
[Document Grounding]
PipelinesApi#getAllPipelines()
andPipelinesApi#getPipelineById()
now any of these 3 classes implementing theGetPipeline
interface:MSSharePointPipelineGetResponse
,S3PipelineGetResponse
andSFTPPipelineGetResponse
✨ New Functionality
- [Orchestration] Added support for transforming a JSON output into an entity
- [Orchestration] Added
AzureContentFilter#promptShield()
available for input filtering. - [Orchestration] Added new models for
OrchestrationAiModel
:GEMINI_2_5_FLASH
,GEMINI_2_5_PRO
,ALEPHALPHA_PHARIA_1_7B_CONTROL
,OPENAI_O4_MINI
,CLAUDE_4_OPUS
,CLAUDE_4_SONNET
,OPENAI_O3
.
🐛 Fixed Issues
- [Orchestration] Resolved duplicate JSON property issue, enabling Anthropic Claude chat completions.
- Remove logging of any request/response payloads to avoid potential exposure of sensitive data.
1.8.0 - May 26, 2025
🔧 Compatibility Notes
- The constructor of the
AssistantMessage
class now takesList<MessageToolCall>
as input instead ofList<ResponseMessageToolCall>
(the generated class got renamed).
✨ New Functionality
- [OpenAI] Add convenience for tool definition, parsing function calls and tool execution
- [OpenAI] Added the following new models:
o4-mini
,o3
,gpt-4.1
,gpt-4.1-nano
, andgpt-4.1-mini
- [Orchestration] Added new model DeepSeek-R1:
OrchestrationAiModel.DEEPSEEK_R1
- [Orchestration] Tool execution fully enabled
- [Orchestration] Added translation
🐛 Fixed Issues
- [Orchestration] Fixed
OrchestrationAiModel.CLAUDE_3_7_SONNET
.
1.7.0 - April 30, 2025
🔧 Compatibility Notes
- [Orchestration] Deprecated
OrchestrationAiModel.GEMINI_1_0_PRO
. The replacements are either:OrchestrationAiModel.GEMINI_2_0_FLASH
OrchestrationAiModel.GEMINI_2_0_FLASH_LITE
.
✨ New Functionality
- [Orchestration] Added support to locally test prompt template files
- [Orchestration] Added new models:
OrchestrationAiModel.CLAUDE_3_7_SONNET
OrchestrationAiModel.GEMINI_2_0_FLASH
OrchestrationAiModel.GEMINI_2_0_FLASH_LITE
1.6.0 - April 03, 2025
✨ New Functionality
- [Prompt Registry] Add Prompt Registry client
com.sap.ai.sdk:prompt-registry:1.6.0
- [OpenAI] Add convenience for tool call execution
1.5.0 - March 13, 2025
✨ New Functionality
- [Orchestration] Add Spring AI Chat Memory support
- [Orchestration] Prompt templates can be consumed from registry.
- [Orchestration] Masking is now available on grounding.
- [Orchestration] Grounding via help.sap.com is enabled.
- [OpenAI] Spring AI integration for embedding calls.
1.4.0 - February 28, 2025
🔧 Compatibility Notes
- [Orchestration] The constructors
UserMessage(MessageContent)
andSystemMessage(MessageContent)
are removed. UseMessage.user(String)
,Message.user(ImageItem)
, orMessage.system(String)
instead. - Deprecate
getCustomField(String)
in favor oftoMap()
on generated model classes.com.sap.ai.sdk.core.model.*
com.sap.ai.sdk.orchestration.model.*
✨ New Functionality
- [Orchestration] Add Spring AI tool calling.
- [Orchestration] Add new convenient methods to set the response format for Orchestration.
- [Document Grounding] Add Document Grounding Client
com.sap.ai.sdk:document-grounding:1.4.0
- [OpenAI] New generated model classes introduced for AzureOpenAI specification dated 2024-10-21.
- [OpenAI] Introducing new user interface for chat completion wrapping the generated model classes.
OpenAiChatCompletionRequest
andOpenAiChatCompletionResponse
' for high level request and response handling.OpenAiUserMessage
,OpenAiSystemMessage
,OpenAiAssistantMessage
andOpenAiToolMessage
for message creation for different content types.OpenAiToolChoice
for configuring chat completion requests with tool selection strategy.
- [OpenAI] Introducing new user interface for embedding calls using
OpenAiEmbeddingRequest
andOpenAiEmbeddingResponse
.
1.3.0 - February 13, 2025
🔧 Compatibility Notes
Message.content()
returns aContentItem
now instead of aString
. Use((TextItem) Message.content().items().get(0)).text()
if the correspondingContentItem
is aTextItem
and the string representation is needed.
✨ New Functionality
- Upgrade to release 2502a of AI Core.
- Orchestration:
1.2.0 - January 30, 2025
🔧 Compatibility Notes
SingleChatMessage
, as well as newMultiChatMessage
, are now subtypes of new interfaceChatMessage
. Most variables or methods previously typed asChatMessage
inmodel
package are now typed asSingleChatMessage
.- Add missing
@Beta
annotations to allcom.sap.ai.sdk.core.client
andcom.sap.ai.sdk.core.model
classes.
✨ New Functionality
- New Orchestration features:
- Spring AI integration
- Add Grounding configuration convenience
- Images are now supported as input in newly introduced
MultiChatMessage
. MultiChatMessage
also allows for multiple content items (text or image) in one object.- Grounding input can be masked with
DPIConfig
. - LLama Guard can now be used for content filtering.
- Support for tool calling and response format
- Updated the list for supported models (e.g., added amazon nova models).
📈 Improvements
- Update Orchestration client to version 0.48.2 (2501a)
1.1.0 - January 07, 2025
🔧 Compatibility Notes
- Changed return type of
List<Double> getEmbedding()
from experimental APIOpenAiEmbeddingData
tofloat[]
to match recent Spring AI change.
✨ New Functionality
- Added
streamChatCompletion()
andstreamChatCompletionDeltas()
to theOrchestrationClient
.
📈 Improvements
- Update AI Core client to 2.37.0
1.0.0 - December 03, 2024
✨ New Functionality
- Introduce AI Core client to consume the AI Core Rest APIs.
Here are a few features:
- Artifact management: register and organize datasets and model artifacts.
- Configuration management: set up configurations for various models and use cases.
- Deployment management: deploy AI models and manage their lifecycle within SAP AI Core.
- Introduce Orchestration client for consuming the following features of the orchestration service:
- Harmonized LLM access via orchestration
- Prompt templates
- Content filtering
- Masking
- Introduce the OpenAI client to consume the following features:
- Chat completion and streaming chat completion
- Text
- Images
- Tools
- Generate embeddings for input text.
- Chat completion and streaming chat completion
All classes under any of the ...model
packages are generated from an OpenAPI specification.
This means that these model classes are not guaranteed to be stable and may change with future releases.
They are safe to use, but may require updates even in minor releases.