Repository navigation
sdk-python/v1.35.0
Breaking Changes
- Server protocol 4 required. The v1.35.0 SDKs need server-zd v0.1.17 or later. v0.1.18 is recommended and is bundled by cli-v1.35.0. Against an older Server, Worker start and a Client's first call fail with a clear error; there is no fallback mode. Upgrade the Server first. Mixed Server versions are not supported: stop every old process, including standbys, then start the new version.
- Worker start fails when MaxConcurrentTasks exceeds the Server's
matching.maxConcurrentTasksCap(256 by default). Raisematching.maxStreamsand the cap first. - Reserved-slot pull Workers. Each slot is one long-lived stream. A Worker with at least 2 slots reserves 1 RPC-only slot by default. The idle-streams-per-queue options and the reserve-decline counters are deprecated: the options have no effect and the counters always return 0.
- Interrupted attempts. A Step attempt starts when its task is handed to a Worker. A SYNC or ASYNC attempt interrupted after hand-out fails with attempt progress
NOT_COMPLETEDand spends a retry.RecoveryErrorexposes the attempt progress (AttemptProgressin Go,getAttemptProgress()in Java,attempt_progressin Python,attemptProgressin TypeScript,attempt_progress()in Rust). - Retry total duration.
RetryPolicy.TotalDurationstarts at the first hand-out and only decides whether to schedule another retry. It no longer shortens a running attempt's deadline, soIsRetryTotalDurationExceeded(Go) reports false on server-zd. Workers on released SDKs also see the new deadline once the Server is upgraded. - Shutdown. Stop lets running handlers finish and returns tasks it did not start without spending a retry.
- No more
NO_WORKER_AVAILABLEfor Steps. Steps that no Worker takes wait in a durable queue (Server behavior, seen through the SDKs). RPCs still fail when their dispatch wait expires. - Error text. The RPC lock-conflict text changes from "a running Step" to "a Step".
Additions
- TypeScript:
flowServiceTlson Client and Worker options (#1247), anddeclareRPCMethodfor decorator-free RPCs (#1251). - Go:
RPCOptions.Name(#1200).
What's Changed
- Update Dex Skills to 0.61.0 for server-zd v0.1.14 by @longquanzheng in #1172
- Test hot standby recovery from failures and interruptions by @longquanzheng in #1167
- Run server-zd hot standbys, takeovers, and step downs by @longquanzheng in #1168
- Bundle server-zd v0.1.15 with dexcli by @longquanzheng in #1175
- Update Dex Skills to 0.62.0 for server-zd v0.1.15 by @longquanzheng in #1176
- Document how to deploy agent sessions by @zzheng-aiplay in #1177
- Add an MCP client tool source for agent sessions by @zzheng-aiplay in #1179
- Add UI stream adapters for agent sessions by @zzheng-aiplay in #1181
- Emit OpenTelemetry GenAI spans from agent sessions by @zzheng-aiplay in #1180
- Add the built-in agent loop, questions, and durable waits to the TypeScript agents core by @zzheng-aiplay in #1184
- Add the built-in agent loop, questions, and durable waits to the Python agents core by @zzheng-aiplay in #1183
- Check blank user messages with Python's whitespace in the TypeScript agents core by @zzheng-aiplay in #1189
- Document the exactly-once limits of single-attempt agent tool calls by @zzheng-aiplay in #1190
- Keep answered approvals and Worker-only fields out of agent UI streams by @zzheng-aiplay in #1187
- Report model call metadata from every agent framework adapter by @zzheng-aiplay in #1188
- Note the Claude model call count change and trim unknown AI SDK provider IDs by @zzheng-aiplay in #1195
- Add plans and plan mode to both agents cores by @zzheng-aiplay in #1192
- Refuse a required planning tool choice when reasoning effort turns on Anthropic thinking by @zzheng-aiplay in #1196
- Add steering and turn cancellation to both agents cores by @zzheng-aiplay in #1191
- Poll remote tool tasks in a PollToolTask Step in both agents cores by @zzheng-aiplay in #1193
- Add context compaction to both agents cores by @zzheng-aiplay in #1194
- Link the Connector catalog at connectors.superdurable.io by @longquanzheng in #1201
- Move the official Connector catalog URL to connectors.superdurable.io in Dex Skills 0.63.0 by @longquanzheng in #1203
- Adopt the shared Super Durable header on the docs site by @longquanzheng in #1205
- Take the server-zd lease back after a step down with open calls by @longquanzheng in #1182
- Accept hole-filling EpochStarts in the server-zd failover harness by @longquanzheng in #1204
- Bundle server-zd v0.1.16 with dexcli by @longquanzheng in #1213
- Remove Dex Engine and Sign up from the docs header and footer by @longquanzheng in #1214
- Update Dex Skills to 0.64.0 for server-zd v0.1.16 by @longquanzheng in #1215
- Add tool sources, MCP resource and prompt tools, and a demo model to both agents cores by @zzheng-aiplay in #1202
- Redact MCP server env and header values in printed configs by @zzheng-aiplay in #1216
- Let a Go RPC set its protocol name, and read a missing None input as null by @zzheng-aiplay in #1200
- Rebuild the Python AI Agent example on Dex Agents by @zzheng-aiplay in #1199
- Plan M2 for the agents packages: built-in loop, interrupts, steering, compaction by @zzheng-aiplay in #1178
- Add the Go core of Dex Agents with Stepwise mode and model clients by @zzheng-aiplay in #1208
- Describe how the conformance suite compares values by @zzheng-aiplay in #1217
- Show a pending tool call once in reloaded agent UI messages by @zzheng-aiplay in #1218
- Authorize every session route of the Python AI Agent example by @zzheng-aiplay in #1219
- Add the cross-language conformance suite for Dex Agents by @zzheng-aiplay in #1207
- Show the Dex repository star count in the docs header GitHub pill by @longquanzheng in #1220
- Document Python and TypeScript Connector support in the product docs by @longquanzheng in #1224
- Document Python and TypeScript Connector support in Dex Skills 0.65.0 by @longquanzheng in #1225
- Add per-session settings to the Dex agents cores by @zzheng-aiplay in #1222
- Make cancel_turn abort model calls and abandon tool tasks by @zzheng-aiplay in #1223
- skills: correct agent Stop guidance and add design review checklist by @zzheng-aiplay in #1227
- Fix the accent node highlight in the docs execution diagrams for dark mode by @zzheng-aiplay in #1212
- Bound agent session Flow state with chunked messages and retention by @zzheng-aiplay in #1221
- Add a TypeScript AI Agent example on the Dex Agents library by @zzheng-aiplay in #1198
- Document RPC Step cancellation and Step redelivery limits by @zzheng-aiplay in #1228
- Enforce the server-zd run state limit across Step attempts, RPCs, and child results by @longquanzheng in #1234
- Show latency percentiles at several concurrencies for each benchmark instance type by @longquanzheng in #1237
- Move wait timeout details from Responsive Update to Client Advanced by @longquanzheng in #1238
- Add a Sign up Cloud button to the docs header by @longquanzheng in #1241
- Split method_attempt.rs and worker_registry.rs before the attempt-start redesign by @longquanzheng in #1242
- Move reference details out of design patterns and group the pattern map by @longquanzheng in #1250
- Add decorator-free RPC declaration to the TypeScript SDK by @longquanzheng in #1251
- Start Step attempts at Worker hand-out and add reserved-slot pull Workers by @longquanzheng in #1253
- Drain running Step attempts on planned server-zd stop and step-down by @longquanzheng in #1258
- Queue Steps durably in server-zd until a Worker takes them by @longquanzheng in #1259
- Describe the reserved-slot pull Worker model and queued unsupported Steps in docs and SDK READMEs by @longquanzheng in #1261
- Order the Design Patterns sidebar by purpose by @longquanzheng in #1263
- Add a TLS option to the TypeScript SDK Client and Worker by @longquanzheng in #1247
- Rename s3mock to s3local by @longquanzheng in #1267
- Default dev to strict durability and add a --durability flag by @longquanzheng in #1269
- Bundle server-zd v0.1.18 with dexcli by @longquanzheng in #1270
Full Changelog: sdk-python/v1.32.0...sdk-python/v1.35.0