---
title: "Change log"
description: "This page lists user-visible changes to the Python SDK, newest first; each section covers the changes since the previous release of this component."
canonical_url: "https://docs.superdurable.io/zh-Hans/reference/python/1.35.x/changelog/"
source: "docs/reference-python_versioned_docs/version-1.35.x/changelog.mdx"
locale: "zh-Hans"
---

# Change log

This page lists user-visible changes to the Python SDK, newest first; each section covers the changes since the previous release of this component.

<a id="v1-35"></a>

## 1.35

Released 2026-11-06 as [sdk-python/v1.35.0](https://github.com/superdurable/dex/releases/tag/sdk-python%2Fv1.35.0). Reference: [1.35.x](https://docs.superdurable.io/zh-Hans/reference/python/1.35.x.md).

### Breaking

- Workers and the Client’s first call now require server-zd 0.1.17 or later (protocol version 4). Upgrade all server processes before upgrading the SDK. [Reference](https://docs.superdurable.io/zh-Hans/reference/server/upgrades.md).
- Worker startup fails when **max_concurrent_tasks** exceeds **matching.maxConcurrentTasksCap** (256 by default). Lower the Worker setting or raise the server cap and **matching.maxStreams** first. [Reference](https://docs.superdurable.io/zh-Hans/reference/python/1.35.x/workers.md#capacity-and-shutdown).
- **RetryPolicy.total_duration** now starts at the first hand-out and only gates scheduling another retry. Set method timeouts to bound running attempts. [API reference](https://docs.superdurable.io/api/python/1.35/dex.html#RetryPolicy.total_duration).
- A Step with no available or supporting Worker waits durably without consuming a retry. Set a Flow timeout to bound that wait. [Reference](https://docs.superdurable.io/zh-Hans/reference/server/workers.md#step-task-queue).
- A Step attempt interrupted after its hand-out was committed fails with **NOT_COMPLETED** and consumes a retry. Review retry policies and side effects before upgrading. [Reference](https://docs.superdurable.io/zh-Hans/reference/python/1.35.x/flows-and-steps/failure-and-redelivery.md#same-attempt-redelivery).

### Added

- **RecoveryErrorInfo.attempt_progress** distinguishes a failed Step method that never started from one that may have run. [API reference](https://docs.superdurable.io/api/python/1.35/dex.html#RecoveryErrorInfo.attempt_progress).

### Changed

- Workers open one execution stream per slot; **reserved_rpc_tasks** selects RPC-only slots. By default, a Worker with at least two slots reserves one for RPCs. [Reference](https://docs.superdurable.io/zh-Hans/reference/python/1.35.x/workers.md#capacity-and-shutdown).
- **stop** drains running handlers and returns tasks that did not start without consuming a retry. [Reference](https://docs.superdurable.io/zh-Hans/reference/python/1.35.x/workers.md#capacity-and-shutdown).

### Deprecated

- **idle_streams_per_queue** is accepted but ignored, and **pull_reserved_rpc_declines** always reports zero. Use execution-slot capacity and queue metrics instead. [Reference](https://docs.superdurable.io/zh-Hans/reference/python/1.35.x/workers.md#reserved-rpc-capacity).

<a id="v1-32"></a>

## 1.32

Released 2026-11-01 as [sdk-python/v1.32.0](https://github.com/superdurable/dex/releases/tag/sdk-python%2Fv1.32.0). Reference: [1.32.x](https://docs.superdurable.io/zh-Hans/reference/python.md).

### Added

- Generated protocol bindings include **AdminService**, with **DescribeActiveNode** and **StepDownActiveNode** for inspecting and stepping down the active server process. [Release notes](https://github.com/superdurable/dex/releases/tag/sdk-python%2Fv1.32.0).

<a id="v1-30"></a>

## 1.30

Released 2026-10-31 as [sdk-python/v1.30.0](https://github.com/superdurable/dex/releases/tag/sdk-python%2Fv1.30.0). Reference: [1.30.x](https://docs.superdurable.io/zh-Hans/reference/python.md).

### Added

- Generated protocol bindings add **ERROR_SUB_STATUS_ATTRIBUTE_INDEX_CAPACITY_EXCEEDED** and **ERROR_SUB_STATUS_INDEXED_KEYWORD_TOO_LONG** for Attribute index admission errors. [Release notes](https://github.com/superdurable/dex/releases/tag/sdk-python%2Fv1.30.0).

<a id="v1-29"></a>

## 1.29

Released 2026-10-31 as [sdk-python/v1.29.0](https://github.com/superdurable/dex/releases/tag/sdk-python%2Fv1.29.0). Reference: [1.29.x](https://docs.superdurable.io/zh-Hans/reference/python.md).

### Added

- Generated history responses expose the pruned event range and first retained event ID. Step event contexts also carry related event IDs and the WaitFor completion time. [Release notes](https://github.com/superdurable/dex/releases/tag/sdk-python%2Fv1.29.0).
- **Client.get_attributes** and **AsyncClient.get_attributes** read committed Attributes and AttributeMap instances in one request without a Worker. **AttributeMap.instance** selects an instance, and **AttributeValues** provides typed result lookup. [API reference](https://docs.superdurable.io/api/python/1.29/dex.html).

Older releases: [GitHub releases](https://github.com/superdurable/dex/releases?q=sdk-python\&expanded=true).
