Skip to content

Releases: SAP/ai-sdk-java

Release 1.18.0

16 Apr 13:50

Choose a tag to compare

Release Notes

All Release Changes

🔧 Compatibility Notes

  • Remove Spring dependency, by migrating generated API clients from RestTemplate (Spring) to Apache:
Aspect Before After Migration
API Class Base [...]Api extends AbstractOpenApiService [...]Api extends BaseApi Update inheritance in generated classes
Response Object com.sap.cloud.sdk.services.openapi.core.OpenApiResponse com.sap.cloud.sdk.services.openapi.apache.core.OpenApiResponse Update import statements
API Client AiCoreService.getApiClient() returns com.sap.cloud.sdk.services.openapi.apiclient.ApiClient AiCoreService.getApiClient() returns com.sap.cloud.sdk.services.openapi.apache.apiclient.ApiClient Update import statements
importPromptTemplate() Input Resource parameter byte[] parameter Call Resource.getContentAsByteArray()
Dependencies Includes org.springframework Removed May need to add to dependencyManagement: spring-core, spring-web, spring-beans, spring-context
  • [PromptRegistry] (Breaking) Removed includeSpec parameter from listPromptTemplateHistory method in PromptTemplatesApi
  • [Grounding] (Breaking) GoogleDriveConfig now has fields resourceType and resourceId instead of folder.
    GoogleDriveFolderDetail has been renamed to GoogleDriveResourceDetail and can now represent both folders and drives using resourceType and resourceId.
    GoogleDrivePipelineCreateRequest now requires GoogleDriveConfigurationStruct to be created
  • Deprecated multiple Orchestration and OpenAI models: MISTRAL_LARGE_INSTRUCT, MISTRAL_SMALL_INSTRUCT, OPENAI_O1, and OPENAI_O3_MINI.

✨ New Functionality

  • [Grounding] Added values CREATING, CREATED, CREATION_FAILED, DELETION_INPROGRESS and DELETION_FAILED for PipelineExecutionStatus.
  • [Grounding] New error type GenericError added. ValidationError now includes additional fields input and ctx for better debugging and error handling.
  • [Orchestration] Supported (PDF) file uploading feature by local file path via UserMessage.withFile, by remote file URL via UserMessage.withFileUrl , and by base64 encoded string file via UserMessage.withFileBase64.
  • [Orchestration] Added new models GPT_53_CODEX, GPT_54, and GPT_54_NANO for OrchestrationAiModel.
  • [OpenAI] Added new models GPT_53_CODEX, GPT_54, and GPT_54_NANO for OpenAiModel.

All Commits

Click to Expand * chore: Explicitly set version of commons-codec by @Jonas-Isr in https://github.com//pull/803 * chore: Improve service owner tests and add deletion jobs by @marikaner in https://github.com//pull/802 * fix: [DevOps] fix old spec update workflow by @CharlesDuboisSAP in https://github.com//pull/807 * chore: Add service owner notes by @marikaner in https://github.com//pull/808 * chore: [DevOps] bump slackapi/slack-github-action from 2.1.1 to 3.0.1 in the github-actions group by @dependabot[bot] in https://github.com//pull/810 * chore: [DevOps] bump org.apache.hadoop:hadoop-common from 3.4.3 to 3.5.0 in the test group by @dependabot[bot] in https://github.com//pull/815 * chore: [DevOps] bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.8.2 to 4.9.8.3 in the plugins group by @dependabot[bot] in https://github.com//pull/814 * chore: [DevOps] bump com.puppycrawl.tools:checkstyle from 13.3.0 to 13.4.0 in the production-minor-patch group by @dependabot[bot] in https://github.com//pull/813 * chore: Switch model used for E2E test to avoid failures by @Jonas-Isr in https://github.com//pull/820 * chore: [DevOps] bump the production-minor-patch group with 3 updates by @dependabot[bot] in https://github.com//pull/821 * chore: Bump version of mpc-core to avoid CVE-2026-35568 by @Jonas-Isr in https://github.com//pull/824 * chore: Cleanup spec update by @marikaner in https://github.com//pull/811 * chore: [DevOps] Migrate generated API clients from Spring to Apache by @CharlesDuboisSAP in https://github.com//pull/795 * feat: [DevOps] Update prompt-registry specification by @bot-sdk-js in https://github.com//pull/817 * feat: [DevOps] Update sap-rpt specification by @bot-sdk-js in https://github.com//pull/792 * chore: Use GH app instead of PAT by @marikaner in https://github.com//pull/812 * feat: [DevOps] Update document-grounding specification by @sap-ai-sdk-bot[bot] in https://github.com//pull/826 * chore: Update model list by @Jonas-Isr in https://github.com//pull/827 * feat: [Orchestration] support the file uploading feature by @n-o-u-r-h-a-n in https://github.com//pull/818 * fix: [Core] Update deployment test to use `orchestration` scenario by @rpanackal in https://github.com//pull/828

Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.18.0

Release 1.17.0

27 Mar 11:14

Choose a tag to compare

Release Notes

🔧 Compatibility Notes

  • Changes to existing generated API in the Prompt Registry module.
    Generated methods now take additional (nullable) arguments.
    See full changelog for all details.

  • Minor changes to generated API of SAP Grounding Service.

      var chunkMeta;
      var docMeta;
      var chunk =
    -   TextOnlyBaseChunk.create().content("Luna is the Latin word for moon.").metadata(chunkMeta);
    +   TextOnlyBaseChunkCreate.create().content("Luna is the Latin word for moon.").addMetadataItem(chunkMeta);
    
    - BaseDocument.create().chunks(chunk).metadata(docMeta);
    + BaseDocument.create().chunks(chunk).addMetadataItem(docMeta);

✨ New Functionality

  • [Grounding] Added GroundingClient.withHeader().
  • [Orchestration] Added GPT_52 model for OrchestrationAiModel.
  • [OpenAi] Added GPT_52 model from OpenAiModel.
  • [Orchestration] Added GEMINI_EMBEDDING model for OrchestrationEmbeddingModel.
  • [Orchestration] Added citations for Perplexity SONAR model in client.chatCompletion().getOriginalResponse().getFinalResult().getCitations()

📈 Improvements

  • [Orchestration] Added new API TranslationConfig#applyToPlaceholders and TranslationConfig#applyToTemplateRoles to support partial translation for a message.
  • [RPT] RptClient.tableCompletion() GZIP compresses the request payload.

What's Changed

  • chore: [DevOps] bump the test group with 3 updates by @dependabot[bot] in #764
  • feat: [Grounding] Added GroundingClient.withHeader() by @CharlesDuboisSAP in #767
  • chore: Fix REUSE status badge link in README.md by @newtork in #769
  • feat: [DevOps] Update document-grounding specification by @bot-sdk-js in #734
  • chore: Evaluate @Beta tags by @Jonas-Isr in #761
  • chore: [DevOps] bump actions/upload-artifact from 6 to 7 in the github-actions group by @dependabot[bot] in #774
  • chore: [DevOps] bump org.apache.hadoop:hadoop-common from 3.4.2 to 3.4.3 in the test group by @dependabot[bot] in #772
  • chore: [DevOps] bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.4 to 3.5.5 in the plugins group by @dependabot[bot] in #771
  • chore: [DevOps] Add Jackson to dependabot ignore list by @rpanackal in #775
  • chore: [Grounding] Revert "feat (DevOps) Update document-grounding specification" by @newtork in #770
  • chore: [DevOps] bump the production-minor-patch group with 8 updates by @dependabot[bot] in #776
  • fix: [RPT] expected number of rows in RptTest by @CharlesDuboisSAP in #778
  • chore: [DevOps] Add PMD rules for public API exposure of model types by @Jonas-Isr in #777
  • feat: support partial translation via apply_to array by @n-o-u-r-h-a-n in #768
  • chore: [DevOps] bump the test group with 2 updates by @dependabot[bot] in #780
  • chore: update models list by @n-o-u-r-h-a-n in #783
  • feat: [RPT] GZIP encoding by @CharlesDuboisSAP in #779
  • chore: [DevOps] bump the production-minor-patch group with 5 updates by @dependabot[bot] in #784
  • chore: [Grounding] Reintroduce document-grounding specification update by @rpanackal in #787
  • feat: [Orchestration] Sample code and test citations by @CharlesDuboisSAP in #788
  • fix: [PromptRegistry] oneOf deserialization for proper support of both template types by @n-o-u-r-h-a-n in #789
  • chore: [DevOps] bump the test group with 2 updates by @dependabot[bot] in #791
  • chore: [DevOps] bump the production-minor-patch group with 10 updates by @dependabot[bot] in #790
  • feat: [DevOps] Update prompt-registry specification by @bot-sdk-js in #793
  • chore: [DevOps] bump the production-minor-patch group with 11 updates by @dependabot[bot] in #796
  • chore: Duplicate spec update workflow by @marikaner in #798
  • chore: [DevOps] bump the test group with 2 updates by @dependabot[bot] in #797
  • chore: Fix E2E test (Content Filtering) by @Jonas-Isr in #799

New Contributors

Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.17.0

Release 1.16.0

20 Feb 10:33

Choose a tag to compare

1.16.0 - February 20, 2026

All Release Changes

✨ New Functionality

  • [RPT] Introducing RptClient for Tabular AI backed by SAP RPT models SAP_RPT_1_SMALL and SAP_RPT_1_LARGE.
    • Added support for Parquet file input with RptClient#tableCompletion for larger datasets.
  • [Orchestration] Added new API OrchestrationTemplateReference#withScope to support prompt templates with resource-group scope.
  • [Orchestration] Chat completion calls now can have multiple module configs to support fallback modules.
  • [Orchestration] Deprecated ALEPHALPHA_PHARIA_1_7B_CONTROL model from OrchestrationAiModel with replacement model MISTRAL_SMALL_INSTRUCT.
  • [Orchestration] Deprecated GPT_4O_MINI model from OrchestrationAiModel with replacement model GPT_5_MINI.
  • [Orchestration] Deprecated GPT_4O_MINI model from OpenAiModel with replacement model GPT_5_MINI.
  • [Orchestration] Deprecated models GEMINI_2_0_FLASH, GEMINI_2_0_FLASH_LITE and CLAUDE_3_7_SONNET from OrchestrationAiModel.
  • [Orchestration] Deprecated DALL_E_3 model from OpenAiModel.
  • [Orchestration] Added new models CLAUDE_4_6_SONNET and CLAUDE_4_6_OPUS in OrchestrationAiModel.

📈 Improvements

  • [Orchestration] AzureContentFilter.protectedMaterialCode() is now supported as an output content filtering module .

All Commits

Click to Expand
  • chore: Fix E2E test by changing Prompt to trigger Input-Filter by @Jonas-Isr in #733
  • fix: Fix e2e Test to hit Input Filter by @Jonas-Isr in #736
  • fix: [DevOps] Spec update ignores Orchestration hotfix by @CharlesDuboisSAP in #727
  • chore: [DevOps] bump the test group with 4 updates by @dependabot[bot] in #731
  • feat: support using RG scoped prompt templates by @n-o-u-r-h-a-n in #722
  • chore: bump org.assertj:assertj-core from 3.27.6 to 3.27.7 by @dependabot[bot] in #737
  • chore: [DevOps] bump the test group with 2 updates by @dependabot[bot] in #741
  • chore: [DevOps] bump com.sap.cloud.sdk.datamodel:openapi-generator-maven-plugin from 5.25.0 to 5.26.0 in the plugins group by @dependabot[bot] in #740
  • chore: [DevOps] bump the production-minor-patch group across 1 directory with 5 updates by @dependabot[bot] in #742
  • feat: [DevOps] PoC RPT by @rpanackal in #732
  • feat: [DevOps] Update core specification by @bot-sdk-js in #735
  • feat: [DevOps] Update sap-rpt specification by @bot-sdk-js in #744
  • feat: [Orchestration] Support Fallback Modules by @Jonas-Isr in #743
  • feat: [RPT] Release module by @CharlesDuboisSAP in #745
  • chore: [DevOps] bump com.puppycrawl.tools:checkstyle from 13.0.0 to 13.2.0 in the production-minor-patch group by @dependabot[bot] in #751
  • chore: [DevOps] bump ch.qos.logback:logback-classic from 1.5.26 to 1.5.27 in the test group by @dependabot[bot] in #752
  • chore: (DevOps) Improve spec-update workflow by @Jonas-Isr in #748
  • fix: [DevOps] Update outdated DeploymentTest by @CharlesDuboisSAP in #750
  • chore: update models list by @n-o-u-r-h-a-n in #747
  • feat: support protected_material_code as an output content filtering module by @n-o-u-r-h-a-n in #753
  • fix: [Orchestration] Change SpringAI E2E Model by @rpanackal in #754
  • chore: Improve e2e tests by @Jonas-Isr in #755
  • chore: [DevOps] bump the test group with 2 updates by @dependabot[bot] in #758
  • chore: [DevOps] bump the production-minor-patch group with 8 updates by @dependabot[bot] in #756
  • chore: Re-group release notes by @Jonas-Isr in #762
  • feat: [RPT] Support /predict_parquet endpoint by @rpanackal in #760
  • chore: [Orchestration] Add latest Claude models to model list by @rpanackal in #765

Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.16.0

Release 1.15.0

21 Jan 15:21

Choose a tag to compare

1.15.0 - January 21, 2026

All Release Changes

✨ New Functionality

What's Changed

  • chore: [DevOps] bump ch.qos.logback:logback-classic from 1.5.23 to 1.5.24 in the test group by @dependabot[bot] in #715
  • chore: [DevOps] bump the plugins group with 2 updates by @dependabot[bot] in #714
  • fix: [DevOps] More stable model choice for E2E by @rpanackal in #718
  • feat: [DevOps] Spec updates uses orchestration-staging base branch whenever possible by @CharlesDuboisSAP in #717
  • chore: [DevOps] bump the production-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #720
  • feat: [Orchestration] Support for Orchestration config persistence by @Jonas-Isr in #697
  • chore: [DevOps] bump com.puppycrawl.tools:checkstyle from 12.3.1 to 13.0.0 in the production-major group by @dependabot[bot] in #713
  • chore: Increase java version in GH workflows by @Jonas-Isr in #723
  • feat: [DevOps] Update orchestration specification by @bot-sdk-js in #725

Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.15.0

Release 1.14.0

08 Jan 11:44

Choose a tag to compare

1.14.0 - January 08, 2026

🔧 Compatibility Notes

  • [PromptRegistry] Export methods (exportPromptTemplate, exportOrchestrationConfig) now return byte[] instead of File. Import methods (importPromptTemplate, importOrchestrationConfig) now accept org.springframework.core.io.Resource instead of File.

✨ New Functionality

  • [Orchestration] Added new models for OrchestrationAiModel: SAP_ABAP_1, SONAR,SONAR_PRO, GEMINI_2_5_FLASH_LITE, CLAUDE_4_5_HAIKU, CLAUDE_4_5_OPUS, GPT_REALTIME.
  • [Orchestration] Convenience for adding the metadata_params option to grounding calls.
  • [Orchestration] Added new models for OrchestrationAiModel: COHERE_COMMAND_A_REASONING, NOVA_PREMIER, COHERE_RERANKER.
  • [Orchestration] Deprecated DEEPSEEK_R1 model from OrchestrationAiModel with no replacement.

📈 Improvements

  • [Orchestration] Added new API TranslationConfig#translateInputTo to extract input config.
  • [Orchestration] Added new API TranslationConfig#translateOutputTo to extract output config.

🐛 Fixed Issues

  • [PromptRegistry] Fix deserialization of response_format in retrieved prompt templates.

New Contributors

Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.14.0

Release 1.13.0

30 Oct 16:57

Choose a tag to compare

1.13.0 - October 30, 2025

✨ New Functionality

  • [Orchestration] Introduced Spring AI integration for embeddings generation with the new OrchestrationSpringAiEmbeddingModel class.

📈 Improvements

  • [Core] If the AI Core credentials used are missing an explicit credential-type but clientid and clientsecret are present then "credential-type": "binding-secret" is inferred automatically.
  • [Core] Log message about "service key in environment variable" to INFO level only once.

Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.13.0

Release 1.12.0

17 Oct 15:27

Choose a tag to compare

What's Changed

🔧 Compatibility Notes

  • Breaking change:
    • CompletionPostRequest is now an interface instead of a class.
      For all previous use-cases, it should be substitutable with the new class CompletionRequestConfiguration.
      • OrchestrationClient.toCompletionPostRequest() now returns CompletionRequestConfiguration.
      • OrchestrationClient.streamChatCompletionDeltas() takes CompletionRequestConfiguration as an input now.
    • Two fields in OrchestrationModuleConfig changed:
      • inputTranslationConfig is now of type SAPDocumentTranslationInput
      • outputTranslationConfig is now of type SAPDocumentTranslationOutput
    • When using OrchestrationModuleConfig.withInputTranslationConfig() and OrchestrationModuleConfig.withOutputTranslationConfig() consider the following diff (note, especially, that setting .applyTo() to either null or to an actual value is necessary):
      var config = new OrchestrationModuleConfig("some prompt");
      config
             .withInputTranslationConfig(
      -          SAPDocumentTranslation.create()
      -              .type(SAP_DOCUMENT_TRANSLATION)
      -              .config(SAPDocumentTranslationConfig.create().targetLanguage("en-US")))
      +          SAPDocumentTranslationInput.create()
      +              .type(SAPDocumentTranslationInput.TypeEnum.SAP_DOCUMENT_TRANSLATION)
      +              .config(
      +                    SAPDocumentTranslationInputConfig.create()
      +                        .targetLanguage("en-US")
      +                        .applyTo(null)))
              .withOutputTranslationConfig(
      -          SAPDocumentTranslation.create()
      -              .type(SAP_DOCUMENT_TRANSLATION)
      +          SAPDocumentTranslationOutput.create()
      +              .type(SAPDocumentTranslationOutput.TypeEnum.SAP_DOCUMENT_TRANSLATION)
                     .config(
      -                  SAPDocumentTranslationConfig.create()
      -                      .targetLanguage("de-DE")
      +                  SAPDocumentTranslationOutputConfig.create()
      +                      .targetLanguage(
      +                          SAPDocumentTranslationOutputTargetLanguage.create("de-DE"))
                             .sourceLanguage("en-US"))); 
  • [Orchestration] Deprecated models OrchestrationAiModel.CLAUDE_3_OPUS and OrchestrationAiModel.CLAUDE_3_5_SONNET.
    • Replacement are respectively OrchestrationAiModel.CLAUDE_4_OPUS and OrchestrationAiModel.CLAUDE_4_SONNET.
  • Inner record classes and their creator methods in model interfaces are renamed to be more descriptive and type-specific.
    • eg: InnerString -> ListOfStrings, create() -> createListOfStrings()

✨ New Functionality

  • [Orchestration] For streaming, add convenience configuration for output-filter-overlap, chunk-size, and delimiters via OrchestrationModuleConfig#withStreamConfig.
  • [Orchestration] Added embedding generation support with new OrchestrationClient#embed() methods.
    • Added OrchestrationEmbeddingModel with TEXT_EMBEDDING_3_SMALL, TEXT_EMBEDDING_3_LARGE, AMAZON_TITAN_EMBED_TEXT and NVIDIA_LLAMA_32_NV_EMBEDQA_1B embedding models.
    • Introduced OrchestrationEmbeddingRequest for building requests fluently and OrchestrationEmbeddingResponse#getEmbeddingVectors() to retrieve embeddings.
  • [Orchestration] Added new model OrchestrationAiModel.MISTRAL_MEDIUM_INSTRUCT.

📈 Improvements

  • [Orchestration] Added new API DpiMasking#withRegex to apply custom masking patterns.

🐛 Fixed Issues

  • [Orchestration] Tool calling works on all models

All Commits

click to expand
  • chore: [DevOps] bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.3 to 3.5.4 in the plugins group by @dependabot[bot] in #582
  • chore: [DevOps] bump the production-minor-patch group with 9 updates by @dependabot[bot] in #581
  • fix: [Orchestration] tool calling works on all models by @CharlesDuboisSAP in #578
  • chore: [DevOps] bump the plugins group with 3 updates by @dependabot[bot] in #587
  • chore: [DevOps] bump the production-minor-patch group with 6 updates by @dependabot[bot] in #586
  • chore: [Orchestration] Removing schema and template from sample code by @n-o-u-r-h-a-n in #584
  • chore: Fix fosstar report workflow by @Jonas-Isr in #589
  • chore: Orchestration spec update by @Jonas-Isr in #588
  • chore: [DevOps] Added Maven cache by @CharlesDuboisSAP in #590
  • docs: Clarify optionality of frameworks in README by @rpanackal in #576
  • chore: Disable tests that fail due to new orchestration spec by @Jonas-Isr in #591
  • chore: [DevOps] bump the plugins group with 4 updates by @dependabot[bot] in #595
  • chore: [DevOps] bump the production-minor-patch group with 2 updates by @dependabot[bot] in #594
  • feat: [DevOps] Update document-grounding specification by @bot-sdk-js in #585
  • feat: [DevOps] Update prompt-registry specification by @bot-sdk-js in #593
  • chore: Orchestration spec update for config by reference by @Jonas-Isr in #596
  • feat: [Orchestration] Embedding Convenience by @rpanackal in #562
  • chore: [DevOps] bump the plugins group with 2 updates by @dependabot[bot] in #602
  • chore: [DevOps] bump the production-minor-patch group with 3 updates by @dependabot[bot] in #600
  • chore: Add a deep wiki badge for weekly auto refresh by @jjtang1985 in #605
  • feat: [Orchestration] Added MistralAI model by @CharlesDuboisSAP in #603
  • feat: [Orchestration] Allow for streaming configuration convenience API by @newtork in #561
  • chore: [DevOps] bump the production-major group with 2 updates by @dependabot[bot] in #601
  • test: [Orchestration] Set 'mask_grounding_input` to null on embedding requests by @rpanackal in #608
  • fix: [DevOps] Spec update generation failures are now pushed by @CharlesDuboisSAP in #609
  • chore: Add @Beta to OrchestrationModuleConfig#withStreamConfig by @newtork in #607
  • chore: [DevOps] Update Cloud SDK version and regenerate models by @rpanackal in #616
  • chore: [DevOps] Release notes warning update by @CharlesDuboisSAP in #617
  • chore: [DevOps] bump the plugins group with 3 updates by @dependabot[bot] in #614
  • chore: [DevOps] bump com.puppycrawl.tools:checkstyle from 11.1.0 to 12.0.1 in the production-major group by @dependabot[bot] in #613
  • chore: [DevOps] bump the production-minor-patch group with 3 updates by @dependabot[bot] in #612
  • chore: Support new Data Masking Config by @n-o-u-r-h-a-n in #592
  • chore: [DevOps] Rename bug report to problem report by @CharlesDuboisSAP in #618
  • chore: [DevOps] Fix e2e tests by @Jonas-Isr in #619
  • feat: [DevOps] Update document-grounding specification by @bot-sdk-js in #599
  • feat: [DevOps] Update core specification by @bot-sdk-js in #598
  • feat: [DevOps] Update orchestration specification by @bot-sdk-js in #622
  • chore: [Orchestration] Re-enable tests by @Jonas-Isr in #623
  • Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.12.0

    Release 1.11.0

    12 Sep 12:18

    Choose a tag to compare

    What's Changed

    🔧 Compatibility Notes

    • [Prompt Registry] breaking changes:

      • Template has been renamed to PromptTemplate.
      • Some endpoints have a new parameter String aiResourceGroupScope which can be set to null.

      For more details please refer to the sample code.

    ✨ New Functionality

    🐛 Fixed Issues

    • [Orchestration] Fixed getting OrchestrationFilterException.Input for bad requests with input filter.

    All Commits

    click to expand
  • chore: [DevOps] bump the production-minor-patch group with 4 updates by @dependabot[bot] in #535
  • chore: [DevOps] bump com.puppycrawl.tools:checkstyle from 10.26.1 to 11.0.0 in the production-major group by @dependabot[bot] in #536
  • feat: [DevOps] Update document-grounding specification by @bot-sdk-js in #534
  • chore: Improve Exception Handling and Accessors to Response/Request by @newtork in #529
  • fix: [DevOps] CodeQL Security findings by @CharlesDuboisSAP in #540
  • fix: [DevOps] Missing CodeQL Security finding by @CharlesDuboisSAP in #541
  • feat: [DevOps] Update orchestration specification by @bot-sdk-js in #544
  • chore: [DevOps] bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 in the plugins group by @dependabot[bot] in #546
  • chore: [DevOps] bump the production-minor-patch group with 9 updates by @dependabot[bot] in #545
  • fix: [DevOps] Dependency check action permissions by @CharlesDuboisSAP in #542
  • fix: [DevOps] remove distributionManagement sonatype by @CharlesDuboisSAP in #547
  • chore: [OpenAI] Added new models by @CharlesDuboisSAP in #548
  • feat: SpringAI integration in OpenAI by @n-o-u-r-h-a-n in #538
  • feat: Using Prompt Registry Templates in SpringAI by @n-o-u-r-h-a-n in #549
  • chore: [DevOps] bump the plugins group with 6 updates by @dependabot[bot] in #553
  • chore: [DevOps] bump the production-minor-patch group with 4 updates by @dependabot[bot] in #554
  • fix: [DevOps] Fix failing e2e script by @Jonas-Isr in #555
  • chore: [DevOps] Fix e2e test by @Jonas-Isr in #556
  • feat: [DevOps] Orchestration spec update automation by @CharlesDuboisSAP in #558
  • chore: [OpenAI] @Beta reduction and advertising new api by @n-o-u-r-h-a-n in #552
  • chore: [DevOps] succeed early if spec is unchanged by @CharlesDuboisSAP in #560
  • chore: [DevOps] bump the plugins group with 2 updates by @dependabot[bot] in #566
  • chore: [DevOps] bump the production-minor-patch group with 7 updates by @dependabot[bot] in #565
  • chore: Improve e2e test robustness by @Jonas-Isr in #567
  • chore: [DevOps] bump the github-actions group with 3 updates by @dependabot[bot] in #568
  • feat: [DevOps] Update orchestration specification by @bot-sdk-js in #564
  • feat: [DevOps] Update prompt-registry specification by @bot-sdk-js in #563
  • feat: Convenience for custom headers for orchestration and OpenAI by @Jonas-Isr in #550
  • chore: [DevOps] bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.4.0 to 4.9.4.2 in the plugins group by @dependabot[bot] in #573
  • chore: [DevOps] bump the production-minor-patch group with 3 updates by @dependabot[bot] in #572
  • feat: [DevOps] Update prompt-registry specification by @bot-sdk-js in #574
  • fix: [DevOps] spec update workflow edge case by @CharlesDuboisSAP in #579
  • fix: [Orchestration] Fixed getting OrchestrationFilterException.Input for bad requests with input filter. by @CharlesDuboisSAP in #577
  • Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.11.0

    Release 1.10.0

    08 Aug 15:16

    Choose a tag to compare

    What's Changed

    🔧 Compatibility Notes

    • The Spring AI version has been increased from 1.0.0-M6 to the GA release 1.0.0.
      • The OrchestrationChatOptions have been, replacing all references to FunctionCallback with ToolCallback.
      • Please follow the official Spring AI upgrade guide for further details.
      • The @Beta annotations on all classes related to Spring AI have been removed.
    • [Orchestration] The completion endpoint have been moved to the latest version /v2/completion
      • LLMModuleConfig is replaced by LLMModelDetails in withLLmConfig method of OrchestrationModuleConfig class.
      • PromptTemplatingModuleConfigPrompt replaces TemplatingModuleConfig in the withTemplateConfig method of OrchestrationModuleConfig 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 in RetrievalPerFilterSearchResultWithError is replaced by error and filterId with more specific error details.
    • [Document Grounding] Extensive generated model class renaming for better specificity due to API spec changes.
      • SearchResultsVectorSearchResults
      • KeyValueListPair split into context-specific classes:
        • VectorKeyValueListPair for vector operations
        • RetrievalKeyValueListPair for retrieval operations
        • VectorDocumentKeyValueListPair for vector document operations
        • RetrievalDocumentKeyValueListPair for retrieval document operations
      • ChunkVectorChunk and RetrievalChunk for different contexts
      • SearchFilterVectorSearchFilter and RetrievalSearchFilter
      • SearchConfigurationVectorSearchConfiguration and RetrievalSearchConfiguration

    ✨ New Functionality

    • [Core] Added ClientExceptionFactory interface to provide custom exception mapping logic for different service clients.
    • Extend OpenAiClientException and OrchestrationClientException to retrieve error diagnostics information received from remote service using getErrorResponse.
    • [Orchestration] Introduced filtering related exceptions along with convenience methods to obtain additional contextual information.
      • OrchestrationInputFilterException for prompt filtering and OrchestrationOutputFilterException for response filtering.
        • getFilterDetails(): Returns a map of all filter details.
        • getAzureContentSafetyInput() and getAzureContentSafetyInput() : Returns Azure Content Safety filter scores
        • getLlamaGuard38b(): Returns LlamaGuard filter scores
    • [Document Grounding] Extend PipelineApi operations, notably:
      • Added new pipeline creation requests for SDM and WorkZone with SDMPipelineCreateRequest and WorkZonePipelineCreateRequest.
      • S3 and SFTP pipeline configurations extended with S3Configuration and SFTPConfiguration for including data sources.
      • Support /pipelines/trigger endpoint to trigger pipelines on-demand via PipelinesApi#manualTriggerPipeline().

    📈 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.

    All Commits

    click to expand
    • fix: Grounding getAllPipelines now does not throw anymore by @Jonas-Isr in #509
    • chore: Align Document Grounding Pipeline Identifier with JS by @MatKuhr in #512
    • feat: Upgrade to Spring AI 1.0.0 (GA Version) by @MatKuhr in #503
    • fix: Fix dependency tree field in bug-report.yml by @Jonas-Isr in #510
    • chore: [DevOps] bump the plugins group with 5 updates by @dependabot[bot] in #517
    • chore: [DevOps] bump the production-minor-patch group with 14 updates by @dependabot[bot] in #516
    • fix: Bug OpenAI AssistantMessage by @n-o-u-r-h-a-n in #511
    • chore: [OpenAI] Temporarily disable failing OpenAi model integration test by @newtork in #521
    • chore: [DevOps] bump slackapi/slack-github-action from 2.1.0 to 2.1.1 in the github-actions group by @dependabot[bot] in #522
    • chore: [DevOps] bump the production-minor-patch group with 3 updates by @dependabot[bot] in #524
    • chore: [DevOps] bump the plugins group with 2 updates by @dependabot[bot] in #525
    • feat: Sample Code for MCP Support by @MatKuhr in #513
    • feat: [DevOps] Update core specification by @bot-sdk-js in #446
    • feat: [Orchestration] Filtering details and additional convenience on exception by @rpanackal in #497
    • fix: [Orchestration] V2 spec update by @rpanackal in #482
    • feat: [OpenAI] Sample code for Agentic Workflow tutorial by @Jonas-Isr in #466
    • chore: [DevOps] Latest Grounding spec update check by @rpanackal in #518

    Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.10.0

    Release 1.9.0

    22 Jul 16:07

    Choose a tag to compare

    What's Changed

    🔧 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 and OrchestrationModuleConfig.outputTranslationConfig now handle the implementing class explicitly.
      • The same applies to helper methods DpiMasking#createConfig() and MaskingProvider#createConfig().
    • [Orchestration] OrchestrationTemplate.withTemplate() has been deprecated. Please use OrchestrationTemplate.withTemplateMessages() instead.

    • [Orchestration] The method createConfig() is removed from ContentFilter, AzureContentFilter and LlamaGuardFilter and is replaced by createInputFilterConfig() and createOutputFilterConfig().

    • [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 and GPT_4_0613 are replaced by : GPT_40or GPT_41.
      • CLAUDE_3_SONNET is replaced by CLAUDE_4_SONNET.
      • MIXTRAL_8X7B_INSTRUCT_V01 is replaced by MISTRAL_SMALL_INSTRUCT.
    • [OpenAI] Deprecated : GPT_4.

      • GPT_4is replaced by : GPT_40or GPT_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 to RetrievalSearchResults
    • [Document Grounding] PipelinesApi#getAllPipelines() and PipelinesApi#getPipelineById() now any of these 3 classes implementing the GetPipeline interface:

      • MSSharePointPipelineGetResponse, S3PipelineGetResponse and SFTPPipelineGetResponse

    ✨ 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.

    All Commits

    click to expand
    • chore: [OpenAI] Deprecate manually written client and remove @Beta on generated client by @CharlesDuboisSAP in #414
    • chore: [DevOps] bump slackapi/slack-github-action from 2.0.0 to 2.1.0 in the github-actions group by @dependabot[bot] in #453
    • chore: [DevOps] bump the production-minor-patch group with 5 updates by @dependabot[bot] in #454
    • chore: [DevOps] bump the plugins group with 4 updates by @dependabot[bot] in #455
    • chore: [Orchestration] Add E2E test for grounding via Sharepoint by @Jonas-Isr in #458
    • feat: [DevOps] Update SAP Cloud SDK dependency to 5.19.0 by @newtork in #456
    • feat: [Orchestration] Added support for transforming a JSON output in to an entity by @CharlesDuboisSAP in #450
    • chore: [Orchestration] update demo app format handling by @newtork in #462
    • fix: [Orchestration] Template Chat Message Type by @CharlesDuboisSAP in #449
    • chore: [DevOps] bump the production-minor-patch group with 2 updates by @dependabot[bot] in #463
    • chore: [DevOps] bump the production-minor-patch group with 5 updates by @dependabot[bot] in #465
    • fix: [DevOps] Upgrading spring springframework and spring boot versions to remove vulnerabilities by @rpanackal in #467
    • chore: [DevOps] bump the plugins group with 4 updates by @dependabot[bot] in #473
    • chore: [DevOps] bump the production-minor-patch group with 3 updates by @dependabot[bot] in #471
    • chore: [DevOps] bump org.apache.tomcat.embed:tomcat-embed-core from 10.1.42 to 11.0.8 in the production-major group by @dependabot[bot] in #472
    • chore: Fix e2e tests because of new filter messages by @Jonas-Isr in #476
    • feat: [DevOps] Slack notification by @CharlesDuboisSAP in #477
    • chore: [DevOps] bump the plugins group with 3 updates by @dependabot[bot] in #480
    • chore: [DevOps] bump the production-minor-patch group with 3 updates by @dependabot[bot] in #479
    • chore: Update apache tomcat version because of CVE-2025-48988 by @Jonas-Isr in #478
    • fix: [Orchestration] duplicated properties by @CharlesDuboisSAP in #481
    • ci: Update Orchestration Spec Path by @MatKuhr in #483
    • feat: [DevOps] Update prompt-registry specification by @bot-sdk-js in #470
    • ci: Update spec-update.yaml by @MatKuhr in #484
    • chore: [DevOps] bump the plugins group with 2 updates by @dependabot[bot] in #488
    • chore: [DevOps] bump the production-minor-patch group with 4 updates by @dependabot[bot] in #487
    • fix: [Orchestration] spec update by @CharlesDuboisSAP in #460
    • feat: [DevOps] Update prompt-registry specification by @bot-sdk-js in #492
    • chore: [DevOps] fix e2e test by @CharlesDuboisSAP in #495
    • chore: [DevOps] bump com.diffplug.spotless:spotless-maven-plugin from 2.44.5 to 2.45.0 in the plugins group by @dependabot[bot] in #496
    • feat: [DevOps] Update grounding specification by @bot-sdk-js in #489
    • feat: [Orchestration] Adding New Models by @n-o-u-r-h-a-n in #485
    • chore: [DevOps] bump the plugins group with 2 updates by @dependabot[bot] in #501
    • chore: [DevOps] bump the production-minor-patch group with 3 updates by @dependabot[bot] in #500
    • fix: [Core] Remove any logging of response request body by @rpanackal in #504
    • fix: [Orchestration] Slap beta on new toDto methods in ContentFilter by @rpanackal in #505
    • fix: Add scm information (now required by maven central) by @Jonas-Isr in #507

    New Contributors

    Full Changelog: https://github.com/SAP/ai-sdk-java/commits/rel/1.9.0