Skip to content

Releases: SAP/cloud-sdk-python

v0.19.0 - May 15, 2026

15 May 13:39
1c2e930

Choose a tag to compare

What's New

  • ClientConfig dataclass (sap_cloud_sdk.agentgateway.ClientConfig): a new configuration object accepted by AgentGatewayClient and create_client(). Currently exposes a single timeout: float field controlling the HTTP timeout (in seconds) for all token requests and MCP server calls.

Improvements

  • Increased default HTTP timeout from 30.0 s to 60.0 s to better accommodate slower MCP server response times.
  • Centralised timeout configuration: the previously hard-coded _HTTP_TIMEOUT constants in _customer.py and _lob.py are replaced by DEFAULT_TIMEOUT_SECONDS defined in the new config.py module and propagated through all internal HTTP call sites.

Contributors

v0.18.4 - May 14, 2026

14 May 20:06
46744ee

Choose a tag to compare

Bug Fixes

  • Renamed auto_instrument module 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

13 May 17:45
45a9003

Choose a tag to compare

Bug Fixes

  • Agent Memory config field rename (sap_cloud_sdk.agent_memory): BindingData.url has been renamed to BindingData.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_URLCLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_APPLICATION_URL.
    Update any .env files, Kubernetes env blocks, or CI/CD pipelines that set this variable.

Contributors

v0.18.2 - May 12, 2026

12 May 17:48
0bf712d

Choose a tag to compare

Bug Fixes

  • Agent Memory config loading (sap_cloud_sdk.agent_memory): migrated _load_config_from_env to use the secret resolver's public API (read_from_mount_and_fallback_to_env_var) instead of the internal _load_from_mount function. 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_URL CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_URL
    CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_UAA_URL (merged into UAA JSON — see below)
    CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_UAA_CLIENTID (merged into UAA JSON — see below)
    CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_UAA_CLIENTSECRET (merged into UAA JSON — see below)

    The new CLOUD_SDK_CFG_HANA_AGENT_MEMORY_DEFAULT_UAA variable 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 (url and uaa) instead of the previous four files (application_url, uaa.url, uaa.clientid, uaa.clientsecret). The uaa file must contain the same JSON format as the environment variable above.

  • BindingData dataclass fields renamed (internal class): application_url, uaa_url, uaa_clientid, uaa_clientsecreturl, uaa.

Contributors

v0.18.1 - May 11, 2026

11 May 20:34
dd1a153

Choose a tag to compare

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

11 May 20:00
6aa929d

Choose a tag to compare

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 an ExtensibilityClient; supports local development through CLOUD_SDK_LOCAL_EXTENSIBILITY_FILE or mocks/extensibility.json, and uses NoOpTransport when the cloud backend is unavailable so agents can still start.
    • ExtensibilityClientget_extension_capability_implementation(tenant=...) and call_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 / A2Aadd_extension_integration_dependencies for runtime dependency injection; build_extension_capabilities, ExtensionCapability, and models such as ExtensionCapabilityImplementation, McpServer, and hook-related types for A2A cards.
    • Install sap-cloud-sdk[extensibility] to install a2a-sdk (required to import this module).
    • Exceptions: ExtensibilityError, TransportError, and ClientCreationError.
  • Telemetry: added Module.EXTENSIBILITY and matching Operation constants; extension telemetry helpers live under sap_cloud_sdk.core.telemetry.extensions (OpenTelemetry baggage for extension context, instrumented extension tool and hook calls, summary spans, and sap.extension.* span attributes).

Contributors

v0.17.0 - May 11, 2026

11 May 17:54
02105d4

Choose a tag to compare

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 — exposes list_mcp_tools() and call_mcp_tool(tool, user_token, **kwargs) as async methods.
    • MCPTool data model with namespaced_name, description, and input_schema fields.
    • LangChain converter: mcp_tool_to_langchain(mcp_tool, call_tool, get_user_token) in sap_cloud_sdk.agentgateway.converters converts MCPTool objects to LangChain StructuredTool instances (requires sap-cloud-sdk[langchain]).
    • Exceptions: AgentGatewaySDKError, MCPServerNotFoundError.

Contributors

v0.16.0 - May 11, 2026

11 May 17:11
58d63b6

Choose a tag to compare

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/) or CLOUD_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
    • AgentMemoryConfig — configuration dataclass; token_url, client_id, and client_secret are optional for unauthenticated local development.
    • FilterDefinition — OData substring filter helper for content and metadata fields, accepted by list_memories and list_messages.
    • Model classes: Memory, Message, MessageRole, RetentionConfig, SearchResult.
    • Exception hierarchy: AgentMemoryError (base), AgentMemoryConfigError, AgentMemoryHttpError, AgentMemoryNotFoundError, AgentMemoryValidationError.
  • Telemetry: added Module.AGENT_MEMORY and corresponding Operation constants; all AgentMemoryClient methods are instrumented with @record_metrics.

Contributors

v0.15.0 - May 11, 2026

11 May 13:30
45ebc27

Choose a tag to compare

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.
    • AgentDecoratorError is raised at decoration time if key is empty or whitespace-only.
    • Import from sap_cloud_sdk.agent_decorators.

Contributors

v0.14.3 - May 07, 2025

07 May 17:35
552dac7

Choose a tag to compare

What's New

  • resolve_base_mount() function: New public utility function exported from sap_cloud_sdk.core.secret_resolver. Resolves the effective base path for mount-based secret discovery by checking the SERVICE_BINDING_ROOT environment variable first, falling back to the provided base_volume_mount argument.
  • SERVICE_BINDING_ROOT support: read_from_mount_and_fallback_to_env_var now respects the SERVICE_BINDING_ROOT environment variable as defined by the servicebinding.io v1.1.0 specification. When set, it overrides the base_volume_mount argument 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_var callers (AuditLog, Destination, DMS) now pass base_volume_mount and base_var_name explicitly for clarity.

Contributors

Application Foundation Toolkit Libraries Team