Cadence Java Client Releases
The Cadence Java client follows semantic versioning. See the Java client's GitHub Releases for changes and migration notes.
v3.13.5 published on 2026-09-09
Java 4.x is the current gRPC-only major line. Java 3.x remains a separate release line that supports both gRPC and TChannel. The project does not publish an end-of-life date for the 3.x line. Check GitHub Releases for the latest patch in each line.
Java versions 21, 17 and 11 are supported at this time.
Due to backward compatibility, Java versions 17+ require the following JVM flag
--add-opens java.base/java.lang=ALL-UNNAMED
Major Releases
v4.0.x
- v4.0.0 [GitHub] published by shijiesheng on 2025-10-14
v3.13.x
- v3.13.5 [GitHub] published by c-warren on 2026-09-09
- v3.13.4 [GitHub] published by shijiesheng on 2026-08-20
- v3.13.3 [GitHub] published by shijiesheng on 2026-08-18
- v3.13.2 [GitHub] published by shijiesheng on 2026-08-18
- v3.13.1 [GitHub] published by natemort on 2025-12-19
- v3.13.0 [GitHub] published by natemort on 2025-11-19
v3.12.x
- v3.12.4 [GitHub] published by shijiesheng on 2024-06-12
- v3.12.3 [GitHub] published by shijiesheng on 2024-06-04
- v3.12.2 [GitHub] published by shijiesheng on 2024-05-22
- v3.12.1 published by abhishekj720 on 2024-05-17
- v3.12.0 published by natemort on 2024-05-03
v3.11.x
- v3.11.0 published by shijiesheng on 2024-04-15
v3.10.x
- v3.10.1-fix published by abhishekj720 on 2024-02-01
- v3.10.1 published by abhishekj720 on 2023-09-29
- v3.10.0 published by abhishekj720 on 2023-08-25
v3.9.x
- v3.9.1 published by abhishekj720 on 2023-08-11
- v3.9.0 published by Shaddoll on 2023-07-03
v3.8.x
- v3.8.1 published by mindaugasbarcauskas on 2023-01-06
- v3.8.0 published by mindaugasbarcauskas on 2022-11-15
v3.7.x
- v3.7.3 published by mindaugasbarcauskas on 2022-09-12
- v3.7.2 published by mkolodezny on 2022-08-11
- v3.7.1 published by mkolodezny on 2022-08-04
- v3.7.0 published by mkolodezny on 2022-08-02
v3.6.x
- v3.6.2 published by mkolodezny on 2022-05-05
- v3.6.1 published by mkolodezny on 2022-01-19
- v3.6.0 published by mkolodezny on 2022-01-11
v3.5.x
- v3.5.1 published by mkolodezny on 2021-11-24
- v3.5.0 published by mkolodezny on 2021-10-04
v3.4.x
- v3.4.0 published by mkolodezny on 2021-10-01
v3.3.x
- v3.3.0 published by demirkayaender on 2021-09-01
v3.2.x
- v3.2.0 published by mkolodezny on 2021-08-15
v2.7.x
v2.6.x
- v2.6.3 published by vancexu on 2019-10-29
- v2.6.2 published by meiliang86 on 2019-10-21
- v2.6.1 published by meiliang86 on 2019-09-30
- v2.6.0 published by vancexu on 2019-08-24
v2.5.x
- v2.5.2 published by meiliang86 on 2019-07-18
- v2.5.1 published by meiliang86 on 2019-07-12
- v2.5.0 published by meiliang86 on 2019-06-25
v2.4.x
- v2.4.2 published by meiliang86 on 2019-05-31
- v2.4.1 published by meiliang86 on 2019-05-18
- v2.4.0 published by meiliang86 on 2019-04-09
v2.3.x
- v2.3.1 published by meiliang86 on 2019-03-05
- v2.3.0 published by mfateev on 2019-02-01
v2.1.x
- v2.1.2 published by halakaraki on 2018-10-30
- v2.1.1 published by halakaraki on 2018-10-23
- v2.1.0 published by halakaraki on 2018-10-19
v2.0.x
- v2.0.0 published by halakaraki on 2018-08-06
v1.0.x
- v1.0.5 published by meiliang86 on 2018-07-06
- v1.0.3 published by meiliang86 on 2018-06-25
- v1.0.2 published by meiliang86 on 2018-06-20
- v1.0.1 published by meiliang86 on 2018-06-14
- v1.0.0 published by meiliang86 on 2018-06-06
Recent release notes
Release v3.13.5 published by c-warren on 9/9/2026
What's Changed
- chore: bump cadence-idl to d6d4d81 and adapt v3 to the new IDL by @c-warren in https://github.com/cadence-workflow/cadence-java-client/pull/1090
- feat: port active-active proto/thrift mappers from master (#1050 parity) by @c-warren in https://github.com/cadence-workflow/cadence-java-client/pull/1091
- feat: complete ActiveClusterSelectionPolicy wiring for start and signal-with-start (backport #1089) by @c-warren in https://github.com/cadence-workflow/cadence-java-client/pull/1092
Full Changelog: https://github.com/cadence-workflow/cadence-java-client/compare/v3.13.4...v3.13.5
Release v3.13.4 published by shijiesheng on 8/20/2026
What's Changed
- feat(ContextPropagator): Replace imperative set/unset context propagation with lexically-scoped runWithContext (v3.13.x backport) by @rlei in https://github.com/cadence-workflow/cadence-java-client/pull/1075
- fix(client): feature flags header should not serialize private fields by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1079
- feat(trace): in v3, add cadenceIsCron tag in the start workflow span by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1072
Full Changelog: https://github.com/cadence-workflow/cadence-java-client/compare/v3.13.3...v3.13.4
Release v3.13.3 published by shijiesheng on 8/18/2026
What's Changed
- fix: switch metrics default emit mode to histogram only (#1061) by @neil-xie in https://github.com/cadence-workflow/cadence-java-client/pull/1066
Full Changelog: https://github.com/cadence-workflow/cadence-java-client/compare/v3.13.2...v3.13.3
Release v3.13.2 published by shijiesheng on 8/18/2026
What's Changed
- feat: Dual emitting timer and histogram metrics (#1048) by @neil-xie in https://github.com/cadence-workflow/cadence-java-client/pull/1051
Full Changelog: https://github.com/cadence-workflow/cadence-java-client/compare/v3.13.1...v3.13.2
Release v3.13.1 published by natemort on 12/19/2025
What's Changed
- Correctly map all Error fields from gRPC details by @natemort in https://github.com/cadence-workflow/cadence-java-client/pull/1041
- Propagate Tracer when building TChannel by @natemort in https://github.com/cadence-workflow/cadence-java-client/pull/1042
Full Changelog: https://github.com/cadence-workflow/cadence-java-client/compare/v3.13.0...v3.13.1
Release v3.13.0 published by natemort on 11/19/2025
This is a release for the 3.x branch, which still supports Thrift. It addresses minor bugs in the gRPC support to help with the migration toward 4.x.
What's Changed
- fix updateDomainRequest mapper bug by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1005
- fix some flaky unit test and make test run faster on CI by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1007
- Remove payload from Thrift converter deprecation log and add additional log for TEnumType converter by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1011
- Publish to Central Publisher Portal instead by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1012
- Added github action tests by @mandyschen in https://github.com/cadence-workflow/cadence-java-client/pull/1013
- Always upload artifacts by @mandyschen in https://github.com/cadence-workflow/cadence-java-client/pull/1016
- Add unimplemented DiagnoseWorkflowExecution methods by @c-warren in https://github.com/cadence-workflow/cadence-java-client/pull/1015
- Remove references to buildkite by @mandyschen in https://github.com/cadence-workflow/cadence-java-client/pull/1014
- Add attempt number to structured activity logger by @evansandoval in https://github.com/cadence-workflow/cadence-java-client/pull/1020
- remove unnecessary TaskListKind internal entity by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1023
- Make Proto Mappers Unopinionated by @natemort in https://github.com/cadence-workflow/cadence-java-client/pull/1038
- Support gRPC Headers from ClientOptions and correct Scope Handling by @natemort in https://github.com/cadence-workflow/cadence-java-client/pull/1039
New Contributors
- @mandyschen made their first contribution in https://github.com/cadence-workflow/cadence-java-client/pull/1013
- @evansandoval made their first contribution in https://github.com/cadence-workflow/cadence-java-client/pull/1020
Full Changelog: https://github.com/cadence-workflow/cadence-java-client/compare/v3.12.7...v3.13.0
Release v4.0.0 published by shijiesheng on 10/14/2025
Highlights
Thrift Deprecation
Thrift support is now fully removed in Java client. (See why https://github.com/cadence-workflow/cadence-java-client/issues/985 ).
Migration Guide from V3
User facing APIs on workflow operations are mostly unchanged. But there are some BREAKING changes as list below.
Thrift to new Entities in API calls
For users to migrate easily, we generate a new set of entities with the same import path and similar interfaces.
- you can no longer access fields directly but instead have to use
getterandsetterexplicitly. IWorkflowServicewill no longer throwTExceptionbut insteadCadenceError; all other exceptions thrown are kept the same extended fromCadenceErrorIWorkflowServiceusescom.uber.cadence.serviceclient.AsyncMethodCallbackinstead oforg.apache.thrift.async.AsyncMethodCallbackin callback methods.
Data Converter
If your workflow's input or output contains Thrift entities that extended from TBase, TEnum, TException. This is a BREAKING change. You'll need to add back the thrift adapters in your custom dataconverters. We no longer support them by default.
- We removed special
TBaseandTEnumadapter (first introduced to reduce payload size https://github.com/cadence-workflow/cadence-java-client/pull/263). - We removed the ability to convert
TExceptionbut instead you'll get a fallback typecom.uber.cadence.client.ApplicationFailureException
Construct your client
WorkflowServiceTChannelis now removed and replaced byWorkflowServiceGrpc- If you use Grpc before, instead of
new Thrift2ProtoAdapter(IGrpcServiceStubs.newInstance())you can now useWorkflowServiceGrpc()directly.
What's Changed
- fix (mapper): updateDomainRequest bug by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1005
- fix (test): some flaky unit test and make test run faster on CI by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1007
- change (log): remove payload from Thrift data converter's deprecation log and add additional log for TEnumType converter by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1011
- change (release): Publish to Central Publisher Portal instead by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1012
- change (CI): Added github action tests by @mandyschen in https://github.com/cadence-workflow/cadence-java-client/pull/1013
- change (CI): Always upload artifacts by @mandyschen in https://github.com/cadence-workflow/cadence-java-client/pull/1016
- fix: Add unimplemented DiagnoseWorkflowExecution methods by @c-warren in https://github.com/cadence-workflow/cadence-java-client/pull/1015
- change (CI): Remove references to buildkite by @mandyschen in https://github.com/cadence-workflow/cadence-java-client/pull/1014
- feat (acitivity): Add attempt number to structured activity logger by @evansandoval in https://github.com/cadence-workflow/cadence-java-client/pull/1020
- chore: remove unnecessary TaskListKind internal entity by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1023
- remove raw history support by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1025
- feat (thrift deprecation): Part 1: new entities by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1024
- feat (thrift deprecation)!: Part 2: replace thrift entities with internal ones by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1022
- fix (data converter): fail open on exception not found by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1027
- feat (ci): Lint PR titles with Conventional Commits standard by @c-warren in https://github.com/cadence-workflow/cadence-java-client/pull/1028
- feat (ci): Support gpg key signed commits by @c-warren in https://github.com/cadence-workflow/cadence-java-client/pull/1029
- fix(mapper): avoid null pointer exception in request mappers by @shijiesheng in https://github.com/cadence-workflow/cadence-java-client/pull/1030
New Contributors
- @mandyschen made their first contribution in https://github.com/cadence-workflow/cadence-java-client/pull/1013
- @c-warren made their first contribution in https://github.com/cadence-workflow/cadence-java-client/pull/1015
- @evansandoval made their first contribution in https://github.com/cadence-workflow/cadence-java-client/pull/1020
Full Changelog: https://github.com/cadence-workflow/cadence-java-client/compare/v3.12.7...v4.0.0
Release v3.12.4 published by shijiesheng on 6/12/2024
3.12.4
- Fix incorrect span activation for local activities
Release v3.12.3 published by shijiesheng on 6/4/2024
3.12.3
- Remove unused direct dependency of com.google.http-client
- Fix context propagation bug that would link two parents in some cases
Release v3.12.2 published by shijiesheng on 5/22/2024
What's Changed
- downgrade java-jwt dependency to 3.10.2
For a comprehensive list of changes and detailed release notes, please visit the Cadence Java Client GitHub Releases page.