Releases: SAP/cloud-sdk-python
v0.19.0 - May 15, 2026
What's New
ClientConfigdataclass (sap_cloud_sdk.agentgateway.ClientConfig): a new configuration object accepted byAgentGatewayClientandcreate_client(). Currently exposes a singletimeout: floatfield controlling the HTTP timeout (in seconds) for all token requests and MCP server calls.
Improvements
- Increased default HTTP timeout from
30.0 sto60.0 sto better accommodate slower MCP server response times. - Centralised timeout configuration: the previously hard-coded
_HTTP_TIMEOUTconstants in_customer.pyand_lob.pyare replaced byDEFAULT_TIMEOUT_SECONDSdefined in the newconfig.pymodule and propagated through all internal HTTP call sites.
Contributors
v0.18.4 - May 14, 2026
Bug Fixes
- Renamed
auto_instrumentmodule from AICORE to TELEMETRY in order to collect the right datapoint attributes for internal metrics
Contributors
- Application Foundation Toolkit Libraries Team
v0.18.3 - May 13, 2026
Bug Fixes
- Agent Memory config field rename (
sap_cloud_sdk.agent_memory):BindingData.urlhas been renamed toBindingData.application_url
Breaking Changes
- Mount path key changed:
/etc/secrets/appfnd/hana-agent-memory/default/url→/etc/secrets/appfnd/hana-agent-memory/default/application_url.
Update your Kubernetes secret/volume mounts accordingly. - Environment variable renamed:
CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_URL→CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_APPLICATION_URL.
Update any.envfiles, Kubernetesenvblocks, or CI/CD pipelines that set this variable.
Contributors
v0.18.2 - May 12, 2026
Bug Fixes
- Agent Memory config loading (
sap_cloud_sdk.agent_memory): migrated_load_config_from_envto use the secret resolver's public API (read_from_mount_and_fallback_to_env_var) instead of the internal_load_from_mountfunction. This aligns Agent Memory with the binding convention used by other SDK modules.
Breaking Changes
-
Environment variable names changed: The four separate Agent Memory environment variables have been replaced by two:
Old variable New variable CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_APPLICATION_URLCLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_URLCLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_UAA_URL(merged into UAAJSON — see below)CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_UAA_CLIENTID(merged into UAAJSON — see below)CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_UAA_CLIENTSECRET(merged into UAAJSON — see below)The new
CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_UAAvariable must be a JSON string:{ "url": "https://your-auth-url", "clientid": "your-client-id", "clientsecret": "your-client-secret" } -
Mounted secret file layout changed: The Kubernetes secret mount at
/etc/secrets/appfnd/hana-agent-memory/default/now requires two files (urlanduaa) instead of the previous four files (application_url,uaa.url,uaa.clientid,uaa.clientsecret). Theuaafile must contain the same JSON format as the environment variable above. -
BindingDatadataclass fields renamed (internal class):application_url,uaa_url,uaa_clientid,uaa_clientsecret→url,uaa.
Contributors
v0.18.1 - May 11, 2026
Security
- PyJWT upgraded 2.10.1 → 2.12.1 — resolves CVE addressed in PyJWT 2.12.x. The previous `~=2.10.1` pin blocked the patched release from being resolved by downstream consumers.
Contributors
Application Foundation Toolkit Libraries Team
v0.18.0 - May 11, 2026
What's New
-
Extensibility module (
sap_cloud_sdk.extensibility): Retrieve active extension contributions (MCP servers, hooks, and custom instructions) from the SAP AI extensibility backend via GraphQL, declare extension capabilities for A2A discovery, and invoke hooks using JSON-RPC against MCP servers (including streamed responses where applicable).create_client(agent_ord_id, ...)— returns anExtensibilityClient; supports local development throughCLOUD_SDK_LOCAL_EXTENSIBILITY_FILEormocks/extensibility.json, and usesNoOpTransportwhen the cloud backend is unavailable so agents can still start.ExtensibilityClient—get_extension_capability_implementation(tenant=...)andcall_hook(...), with metrics recorded via@record_metrics.- UmsTransport — GraphQL transport with pagination, caching, and mutual TLS via the SAP BTP Destination Service.
- LocalTransport / NoOpTransport — local JSON fixtures for development and tests, and empty responses when credentials or connectivity are missing.
- ORD / A2A —
add_extension_integration_dependenciesfor runtime dependency injection;build_extension_capabilities,ExtensionCapability, and models such asExtensionCapabilityImplementation,McpServer, and hook-related types for A2A cards. - Install
sap-cloud-sdk[extensibility]to installa2a-sdk(required to import this module). - Exceptions:
ExtensibilityError,TransportError, andClientCreationError.
-
Telemetry: added
Module.EXTENSIBILITYand matchingOperationconstants; extension telemetry helpers live undersap_cloud_sdk.core.telemetry.extensions(OpenTelemetry baggage for extension context, instrumented extension tool and hook calls, summary spans, andsap.extension.*span attributes).
Contributors
v0.17.0 - May 11, 2026
What's New
- Agent Gateway module (
sap_cloud_sdk.agentgateway): A client for discovering and invoking MCP tools via SAP Agent Gateway.create_client(tenant_subdomain="tenant")— auto-detects agent type (LoB vs Customer) from credential file presence.AgentGatewayClient— exposeslist_mcp_tools()andcall_mcp_tool(tool, user_token, **kwargs)as async methods.MCPTooldata model withnamespaced_name,description, andinput_schemafields.- LangChain converter:
mcp_tool_to_langchain(mcp_tool, call_tool, get_user_token)insap_cloud_sdk.agentgateway.convertersconvertsMCPToolobjects to LangChainStructuredToolinstances (requiressap-cloud-sdk[langchain]). - Exceptions:
AgentGatewaySDKError,MCPServerNotFoundError.
Contributors
v0.16.0 - May 11, 2026
What's New
- Agent Memory client module (
sap_cloud_sdk.agent_memory): new client for the SAP Agent Memory service (v1 OData API).create_client(config=None)— factory function that auto-detects credentials from a mounted BTP service binding (/etc/secrets/appfnd/hana-agent-memory/default/) orCLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_*environment variables.AgentMemoryClient— synchronous HTTP client exposing:- Memory operations:
add_memory,get_memory,update_memory,delete_memory,list_memories,count_memories,search_memories(semantic/vector search) - Message operations:
add_message,get_message,delete_message,list_messages - Admin operations:
get_retention_config,update_retention_config
- Memory operations:
AgentMemoryConfig— configuration dataclass;token_url,client_id, andclient_secretare optional for unauthenticated local development.FilterDefinition— OData substring filter helper forcontentandmetadatafields, accepted bylist_memoriesandlist_messages.- Model classes:
Memory,Message,MessageRole,RetentionConfig,SearchResult. - Exception hierarchy:
AgentMemoryError(base),AgentMemoryConfigError,AgentMemoryHttpError,AgentMemoryNotFoundError,AgentMemoryValidationError.
- Telemetry: added
Module.AGENT_MEMORYand correspondingOperationconstants; allAgentMemoryClientmethods are instrumented with@record_metrics.
Contributors
v0.15.0 - May 11, 2026
What's New
- Agent Decorators module (
sap_cloud_sdk.agent_decorators): A new configuration-as-code API for SAP AI agents. Developers annotate zero-argument functions with three decorators to expose agent configuration fields to a low-code UI:@prompt_section(key, label, description, validation=None)— marks a function that returns a prompt string.@agent_config(key, label, description)— marks a function that returns a generic configuration value.@agent_model(key, label, description="")— marks a function that returns a model identifier string.AgentDecoratorErroris raised at decoration time ifkeyis empty or whitespace-only.- Import from
sap_cloud_sdk.agent_decorators.
Contributors
v0.14.3 - May 07, 2025
What's New
resolve_base_mount()function: New public utility function exported fromsap_cloud_sdk.core.secret_resolver. Resolves the effective base path for mount-based secret discovery by checking theSERVICE_BINDING_ROOTenvironment variable first, falling back to the providedbase_volume_mountargument.SERVICE_BINDING_ROOTsupport:read_from_mount_and_fallback_to_env_varnow respects theSERVICE_BINDING_ROOTenvironment variable as defined by the servicebinding.io v1.1.0 specification. When set, it overrides thebase_volume_mountargument for mount path resolution.
Improvements
- User guides for AuditLog, Destination, DMS, ObjectStore, and AI Core were standardized with a consistent configuration section format.
read_from_mount_and_fallback_to_env_varcallers (AuditLog, Destination, DMS) now passbase_volume_mountandbase_var_nameexplicitly for clarity.
Contributors
Application Foundation Toolkit Libraries Team