Cadence Python Client Releases
The Cadence Python client is published on PyPI as cadence-python-client and follows semantic versioning. See the Python client's GitHub Releases for changes between versions.
v0.4.1 published on 2026-09-30
The Python client has not reached 1.0. Semantic versioning treats 0.x as initial development, where any release can include breaking changes, so read the release notes before you upgrade.
Python versions 3.11, 3.12 and 3.13 are supported at this time.
Major Releases
v0.4.x
- v0.4.1 [GitHub] published by shijiesheng on 2026-09-30
- v0.4.0 [GitHub] published by shijiesheng on 2026-09-15
v0.3.x
- v0.3.0 [GitHub] published by abhishekj720 on 2026-06-15
v0.2.x
Recent release notes
Release v0.4.1 published by shijiesheng on 2026-09-30
What's Changed
- chore(scheduler): reenable integration tests by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/169
- fix(activity): ActivityFailure should have failure_details and heartbeat_details by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/170
- chore(activity): pass tasklist qps to polling by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/174
- fix(pydantic): make PydanticDataConverter Pydantic-native by @zawadzkidiana in https://github.com/cadence-workflow/cadence-python-client/pull/180
New Contributors
- @zawadzkidiana made their first contribution in https://github.com/cadence-workflow/cadence-python-client/pull/180
Full Changelog: https://github.com/cadence-workflow/cadence-python-client/compare/v0.4.0...v0.4.1
Release v0.4.0 published by shijiesheng on 2026-09-15
What's Changed
- chore(workflow): move out dataconverter from workflowInstance by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/139
- feat: add tag constants and propagate metrics_emitter by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/140
- feat(test): add TestWorkflowEnvironment by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/131
- feat: emit poller and worker metrics by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/141
- feat: integrate google adk by @ribaraka in https://github.com/cadence-workflow/cadence-python-client/pull/123
- feat(schedule): expose buffered_fire_count and running_workflow_count in DescribeSchedule by @abhishekj720 in https://github.com/cadence-workflow/cadence-python-client/pull/143
- feat: implement workflow cancellation by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/128
- chore: use proto helpers for time conversion by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/146
- feat(metrics): add duration timing helper methods by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/149
- feat(metrics): configure Prometheus duration buckets by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/148
- refactor(metrics): use typed duration instead of primitive by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/150
- feat: marker state machine by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/142
- chore: pin ruff to 0.15.x version by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/155
- docs(google-adk): expand integration docs by @ribaraka in https://github.com/cadence-workflow/cadence-python-client/pull/147
- feat: Add gRPC client metrics by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/157
- feat: mutable side_effect feature by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/156
- chore: add openai package for type-check by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/159
- fix(decision-worker): avoid missing decision task handling by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/161
- feat(test): activity test environment by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/151
- feat: propagate context through workflow execution by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/158
- chore(idl): bump IDL submodule to d6d4d81 and regenerate proto bindings by @abhishekj720 in https://github.com/cadence-workflow/cadence-python-client/pull/165
- feat(schedule): support creating schedule in paused state by @abhishekj720 in https://github.com/cadence-workflow/cadence-python-client/pull/164
- chore(deps): bump mcp from 1.26.0 to 1.28.1 by @dependabot[bot] in https://github.com/cadence-workflow/cadence-python-client/pull/154
- feat: implement workflow versioning support by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/163
- feat(search): add upsert search attributes by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/166
- fix(versioning): support search attributes in the versioning by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/167
- chore(contrib): move pydantic data converter into contrib by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/168
New Contributors
- @ribaraka made their first contribution in https://github.com/cadence-workflow/cadence-python-client/pull/123
Full Changelog: https://github.com/cadence-workflow/cadence-python-client/compare/v0.3.0...v0.4.0
Release v0.3.0 published by abhishekj720 on 2026-06-15
New Features
- Schedule SDK: Full cadence schedule python SDK support
- Child workflows:
execute_child_workflow,start_child_workflow,ChildWorkflowFuture, full child workflow lifecycle support - Signal external workflows:
signal_external_workflowAPI andSignalExternalWorkflowStateMachine - Memo support: memo fields on workflow and child workflow starts
Bug Fixes
- Schedule
describe_scheduleno longer errors during schedulerContinueAsNewtransition - IDL updated to latest version
- Correct dynamic config path in docker-compose integration test stack
What's Changed
- feat: define child workflow state machine by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/99
- chore: remove unit test run during integration test by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/112
- feat: add execute_child_workflow by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/114
- test(schedule): remove describe_schedule workaround now that server handles ContinueAsNew by @abhishekj720 in https://github.com/cadence-workflow/cadence-python-client/pull/109
- feat: implement start_child_workflow and ChildWorkflowFuture by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/121
- feat(workflow): add SignalExternalWorkflowStateMachine by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/122
- chore: move child workflow and signal-external errors to cadence.error by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/125
- feat: incorporate SignalExternalWorkflowStateMachine into DecisionManager by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/124
- feat: implement signal_external_workflow and signal API call for child wf by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/126
- feat: Add memo support for workflow and child workflow starts by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/127
- test(schedule): describe-first update_schedule by @abhishekj720 in https://github.com/cadence-workflow/cadence-python-client/pull/129
- fix(idl): Update idl to latest version by @abhishekj720 in https://github.com/cadence-workflow/cadence-python-client/pull/132
- fix(test): correct dynamic config path in docker-compose by @abhishekj720 in https://github.com/cadence-workflow/cadence-python-client/pull/137
Full Changelog: v0.2.3...v0.3.0
Release v0.2.3 published by shijiesheng on 2026-05-20
New Features
- Schedules API: You can now create/describe/change/terminate/backfill schedules. This is still an experimental feature and requires server version >= v1.4.1-prerelease16
- Workflow Cancel API: allows user to cancel a workflow from the client.
- Workflow Query: allows users to register and query a workflow state.
What's Changed
- chore: update readme doc by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/98
- chore: add codecov check to github CI by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/100
- feat: client method for request_cancel_workflow workflow stub by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/102
- feat(query): add query decorator and client method of query_workflow by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/103
- fix: typesafety failure on retry test by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/104
- feat(schedule): add schedule control-plane API to Client by @abhishekj720 in https://github.com/cadence-workflow/cadence-python-client/pull/107
- feat(query): support direct query in workflows by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/105
- test(schedule): add integration tests for schedule client API by @abhishekj720 in https://github.com/cadence-workflow/cadence-python-client/pull/108
- fix: improve typings and remove mypy ignores by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/93
- chore(openai): propagate needs_approval field for tools by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/110
- feat(query): support default __query_types query by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/111
New Contributors
- @abhishekj720 made their first contribution in https://github.com/cadence-workflow/cadence-python-client/pull/107
Full Changelog: https://github.com/cadence-workflow/cadence-python-client/compare/v0.2.2...v0.2.3
Release v0.2.2 published by timl3136 on 2026-05-04
What's Changed
This release adds several workflow and activity execution features, improves cross-cluster support, and updates the client's generated Cadence IDL bindings.
New Features
-
Workflow ID reuse policy support
Added support for configuring workflow ID reuse behavior when starting workflows. This allows callers to control how Cadence handles new workflow executions that reuse an existing workflow ID. -
Activity retry policy support
AddedRetryPolicydefinitions, proto type mapping, and integration with activity options, enabling activities to be configured with retry behavior directly from the Python client. -
Workflow retry support
Added retry policy support for workflow executions, allowing workflows to be automatically retried according to configured retry settings. -
Workflow signal handling
Added support for handling workflow signals, enabling workflows to receive and react to external signals during execution. -
Active-active support
Added client-side support for active-active Cadence deployments.
Improvements
-
Updated Cadence IDL bindings
Updatedcadence-idlto match the current Cadence server HEAD, keeping generated API types aligned with the server. -
Activity retry integration tests
Added integration test coverage for activity retry behavior. -
Build fixes
Fixed Makefile dependency handling to ensure required dependencies are installed correctly.
Pull Requests
- Implement workflow ID reuse policy support by @timl3136 — #89
- Fix Makefile dependency handling by @timl3136 — #90
- Add activity retry policy support by @timl3136 — #88
- Add activity retry integration tests by @timl3136 — #91
- Add workflow retry support by @timl3136 — #92
- Implement workflow signal handling by @timl3136 — #84
- Update
cadence-idlto match server HEAD by @timl3136 — #97 - Add active-active support by @timl3136 — #95
Full Changelog: https://github.com/cadence-workflow/cadence-python-client/compare/v0.2.1...v0.2.2
Release v0.2.1 published by shijiesheng on 2026-04-14
What's Changed
- fix(client): client should wait for ready to start by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/72
- fix(activity): ensure async function with activity decorator is still async by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/75
- feat(activity): add default activity options to make it easier to use by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/76
- feat(worker): add worker.close() and allow context management of worker class by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/77
- feat(timer): implement workflow.start_timer api by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/79
- feat: implement continue-as-new feature by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/80
- feat(openai): support OpenAI SDK integration by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/78
- feat: Implement activity heartbeat by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/73
- chore: gitignore claude code local files by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/81
- feat(openai): support handoffs by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/82
- feat: implement heartbeat progress recovery through heartbeat details by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/83
- fix(client): compatible with opentelemetry-instrumentation-grpc by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/85
- feat(version): use dynamic versioning by @shijiesheng in https://github.com/cadence-workflow/cadence-python-client/pull/86
Full Changelog: https://github.com/cadence-workflow/cadence-python-client/compare/v0.2.0...v0.2.1
Release v0.2.0 published by timl3136 on 2026-03-07
What's Changed
- fix: Associate DecisionFutures with the correct event loop by @natemort in https://github.com/cadence-workflow/cadence-python-client/pull/56
- test: Validate typing in tests by @natemort in https://github.com/cadence-workflow/cadence-python-client/pull/62
- feat: add cadence-caller-type to headers with value sdk by @fimanishi in https://github.com/cadence-workflow/cadence-python-client/pull/64
- fix: Rewrite Type Handling by @natemort in https://github.com/cadence-workflow/cadence-python-client/pull/63
- feat: Add NonDeterminism Tracking by @natemort in https://github.com/cadence-workflow/cadence-python-client/pull/65
- feat: Add delay_start and jitter_start support to StartWorkflowOptions by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/68
- feat: Add cron_overlap_policy support to StartWorkflowOptions by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/67
- feat: Add first_run_at support to StartWorkflowOptions by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/69
- feat: Upgrade to protobuf 6.31.x and relax grpcio constraints by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/70
- chore: bump version to 0.2.0 by @timl3136 in https://github.com/cadence-workflow/cadence-python-client/pull/71
New Contributors
- @fimanishi made their first contribution in https://github.com/cadence-workflow/cadence-python-client/pull/64
Full Changelog: https://github.com/cadence-workflow/cadence-python-client/compare/v0.1.1...v0.2.0
Release v0.1.0 published by timl3136 on 2026-01-13
cadence-python-client v0.1.0
This is the initial release of the Cadence Python Client.
It provides the core functionality required to build and run Cadence workflows and activities in Python.
Features
- Workflow and activity registration via definitions
- Deterministic workflow execution
- Workflow completion, failure, and signaling support
- Activity scheduling from workflows
- Client APIs for starting and signaling workflows
- gRPC-based Cadence service client with retries and error mapping
- Default DataConverter aligned with the Cadence Go client
Build, Test, and Tooling
- Python project setup using
pyproject.toml - Protobuf and gRPC code generation
- Linting, formatting, and type-safety checks
- Unit and integration tests
Note: This release is a v0.1.0 and the API is not yet stable. Breaking changes may occur in future releases.
Full Changelog:
https://github.com/cadence-workflow/cadence-python-client/commits/v0.1.0
For a comprehensive list of changes and detailed release notes, please visit the Cadence Python Client GitHub Releases page.