Skip to content

sdk-python/v1.35.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 00:58
483fbb1

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). Raise matching.maxStreams and 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_COMPLETED and spends a retry. RecoveryError exposes the attempt progress (AttemptProgress in Go, getAttemptProgress() in Java, attempt_progress in Python, attemptProgress in TypeScript, attempt_progress() in Rust).
  • Retry total duration. RetryPolicy.TotalDuration starts at the first hand-out and only decides whether to schedule another retry. It no longer shortens a running attempt's deadline, so IsRetryTotalDurationExceeded (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_AVAILABLE for 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: flowServiceTls on Client and Worker options (#1247), and declareRPCMethod for decorator-free RPCs (#1251).
  • Go: RPCOptions.Name (#1200).

What's Changed

Full Changelog: sdk-python/v1.32.0...sdk-python/v1.35.0