Skip to content

Releases: uber-go/cadence-client

v0.19.0 release

05 Jan 10:33
Compare
Choose a tag to compare

Added

  • Added JWT Authorization Provider. This change includes a dependency that uses v2+ go modules. They no longer match import paths, meaning that we have to drop support for dep & glide in order to use this. #1116

Changed

  • Generated proto type were moved out to cadence-idl repository. This is BREAKING if you were using compatibility package. In that case you will need to update import path from go.uber.org/cadence/.gen/proto/api/v1 to github.com/uber/cadence-idl/go/proto/api/v1 #1138

Documentation

  • Documentation improvements for client.SignalWorkflow #1151

Retract v0.18.4 and publish v0.18.5

09 Nov 01:25
Compare
Choose a tag to compare

Unfortunately v0.18.4 found issues after further tests, so that version is now retracted.
Go modules users should skip over v0.18.4 automatically.

This version is broadly the same, so those release notes are repeated below, and these commits have been changed:
Added: e9e7447 Formatting, scoping test logs to individual tests (#1142)
Reverted: 0fb34ee Bi-directional Proto<->Thrift converter (#1130)


This release is primarily bugfixes and minor additions, with one possibly-significant exception:

#1138 and #1144 fix a bug which results in changed semantics, so workflows which had been relying on the buggy behavior may fail to resume. We expect that workflows encountering this bug will be rare (it took over two years to be noticed!), but it will of course depend on your exact workflow code.

See workflow.Bugports for detailed information, including both a workaround (to mimic the old behavior's semantics, if your workflow relies on it) and a temporary compatibility flag which can be applied selectively.
Since this increases the internal complexity, this (and future) "bugfix backports" will likely be removed relatively quickly, e.g. along with the next v0.N+1 release (v0.19.0 in this case, or possibly later). Please prioritize migrating if you encounter this!


Bugfixes and improvements:
f90b46c + 4d64c01 + 9871428 Fix a long-standing bug where canceled workflow contexts would still start child workflows. (#1138, #1144)
1d7aa64 Improved canceled-context docs (#1134)
b886df3 Added cadence.IsWorkflowError(err) for easier error handling when getting workflow results (#1145)
7044e1d Better locking in workflow.Context to prevent races (#1141) (core issue remains, but this prevents many in practice)
bfbc369 More-unique worker IDs to prevent UI collisions (#1135)
75506d3 Fix a child-workflow panic after reset (#1118)

Internals:
e9e7447 Formatting, scoping test logs to individual tests (#1142)
7de3d62 Test fix (#1140)
0fb34ee Bi-directional Proto<->Thrift converter (#1130) reverted, caused panics

Retracted, do not use: v0.18.4 release

08 Nov 22:24
Compare
Choose a tag to compare

This release is primarily bugfixes and minor additions, with one possibly-significant exception:

#1138 and #1144 fix a bug which results in changed semantics, so workflows which had been relying on the buggy behavior may fail to resume. We expect that workflows encountering this bug will be rare (it took over two years to be noticed!), but it will of course depend on your exact workflow code.

See workflow.Bugports for detailed information, including both a workaround (to mimic the old behavior's semantics, if your workflow relies on it) and a temporary compatibility flag which can be applied selectively.
Since this increases the internal complexity, this (and future) "bugfix backports" will likely be removed relatively quickly, e.g. along with the next v0.N+1 release (v0.19.0 in this case, or possibly later). Please prioritize migrating if you encounter this!


Bugfixes and improvements:
f90b46c + 4d64c01 + 9871428 Fix a long-standing bug where canceled workflow contexts would still start child workflows. (#1138, #1144)
1d7aa64 Improved canceled-context docs (#1134)
b886df3 Added cadence.IsWorkflowError(err) for easier error handling when getting workflow results (#1145)
7044e1d Better locking in workflow.Context to prevent races (#1141) (core issue remains, but this prevents many in practice)
bfbc369 More-unique worker IDs to prevent UI collisions (#1135)
75506d3 Fix a child-workflow panic after reset (#1118)

Internals:
7de3d62 Test fix (#1140)
0fb34ee Bi-directional Proto<->Thrift converter (#1130)

v0.18.3 release

06 Oct 21:32
Compare
Choose a tag to compare

This release is mostly a number of bugfixes and documentation improvements.

Of particular note:

The Yarpc upgrade should be safe for basically everyone, and it removes the need to pin github.com/apache/thrift to an old version - the required old version is now correctly inherited from Yarpc. More details can be seen in Yarpc's PR: yarpc/yarpc-go#2075
This partially corrects a number of version-related issues, e.g. #523 , #812 , #1107 , and part of #1129 . Since Go modules cannot prevent an upgrade, they cannot be stopped entirely, but it should prevent them from occurring for users who do not already depend on a newer thrift.

If you encounter test failures due to logic in defer running where it did not previously: your tests likely depended on the bug fixed in #1117 . The behavior now matches production more closely, so please update your tests.

And last but not least: Selector and Channel docs are now significantly more detailed. Please consider reading them!


Bugfixes and improvements:
222e0cb Add DecisionTaskStartedEventID to workflowInfo (#1127)
982628d Improve check for invalid pollForDecisionTaskResponse (#1122)
332c2b4 Fix client side race condition (#1124)
b2db20e Close the test dispatcher when completing (#1117)
167c643 Use the same timer duration validation with server (#1121)
b32ef3e Minor cleanup (#1106)

Documentation:
2e7438c Enhancing docs for selector and channel, from feedback and careful testing (#1137)
8c34519 Filling out Selector docs, and some adjacent ones I noticed (#1131)
2017e60 Add documentation for Selector (#1115)

Upgrades:
ae45c0f Bump yarpc to 1.55.0 (#1110)

v0.18.2 Release

25 Aug 08:35
Compare
Choose a tag to compare

New Features

  • gRPC compatibility layer
    d432c1f Thrift2Grpc compatibility layer (#1105)
    eb5bff7 Compatibility layer fix (#1120)
  • Feature flags
    61495d9 Support feature flags in client (#1103)
  • IsCron support
    97f887f Update client idls to support IsCron (#1095)

Bug fixes & improvements

ed86b8a Clear workflow state when not cached and not complete (#1111)
16d20b1 Truncate history for query based on nextEventID (#1096)
94b0e07 Ignore workflowPanicError in query task and add warn logs (#1094)
2b88fb1 Relax nondeterministc check (#1093)

Other

88d9c90 Increment library version to 0.18 (#1108)
ca6e026 Decouple Client from worker part of SDK (#1100)
037a846 Update yarpc to the latest version (#1091)

v0.17.0 Release

27 Apr 15:59
b31c3bb
Compare
Choose a tag to compare

Breaking changes

WorflowExecutionAlreadyCompletedError

EntityNotExistError splits into EntityNotExistError and WorflowExecutionAlreadyCompletedError in SignalWorkflowExecution, TerminateWorkflowExecute and CancelWorkflowExecution APIs.
EntityNotExistError will be returned if the workflow is not in the history. This could happen if the workflow never starts or the workflow completes and passes the retention days.
WorflowExecutionAlreadyCompletedError will be returned if the workflow is in the history and is completed.

  • 65903f7 Add workflow already completed error to client (#1081)
  • d9fa282 Handle workflow already completed in heartbeat (#1086)

New features

Auto heartbeat

  • 5282e89 Activity Registration Option to automatically record activity heartbeats (#1053)
  • 9486c19 Enable auto-heartbeat for replayWorkflowActivity (#1088)

Traffic shadowing worker

Workflow delay start

Misc improvements & bug fixes

  • 00508cd Ensure min number of scan workflow result for shadowing (#1084)
  • 57463a9 Fix nil user context for activity (#1080)
  • b1375e6 Fix logging and metric tags used by shadow worker (#1076)
  • fcc703e Update client repo idls commit hash (#1073)
  • 7f92111 Minor cleanup of a test file (#1071)
  • f929adc Fix the problem of ignoring the detail parameter in TerminateWorkflow function (#1066)
  • 7e65cc2 Minor test enhancement for local activity retries (#1069)
  • 42f6cac Pin versions with go.mod, similar to server (#1060)
  • 3008b97 Update LICENSE for 2021 (#1059)

v0.16.0 Release

10 Feb 17:22
e462133
Compare
Choose a tag to compare

Misc improvements & bug fixes

  • Add Reset option to skip signal reapply (#1032)
  • Fix panic in defer after cache eviction. (#1048)
  • Testsuite: Support interceptors in child workflows mocks (#1039)
  • Make logger of test workflow environment changeable (#1036)
  • Relocate workflow and activity registration functions to separate interfaces (#1034)
  • Add missing workflowtype and activitytype metric tags (#1049)
  • Fix registry already registered check (#1054)

v0.15.0 Release

03 Dec 22:30
3b485bd
Compare
Choose a tag to compare

New features

  • Allow worker to dispatch activity tasks through local tunnel after decisions are made. This is a performance optimization option to skip activity scheduling efforts. (#1028 #1029 #1030 #1037)

Misc improvements & bug fixes

  • Fix mockgen issue on name conflict (#1024)
  • Do not start workers if no activities or workflows are registered (#1031)
  • Support Cron Schedule as part of the TestWorkflowEnvironment (#1020)
  • Enable query timeout of 20 seconds (#1038)

v0.14.1 Release

01 Oct 20:31
Compare
Choose a tag to compare

Bug Fixes

v0.14.0 Release

30 Sep 15:58
d0966cf
Compare
Choose a tag to compare

Bug Fixes

  • d0966cf Calculate SchdeuleToCloseDeadline from current attempt instead of first attempt (#1022)
  • 46e2e86 Fix mock error in OnUpsertSearchAttributes (#1017)
  • 15ec566 unmask deserialization error in getNextPage history (#1019)
  • 73287b6 Fix decode issue for local activities returnin nil result (#943) (#1011)
  • ba95013 Update license headers
  • f3ee023 Increase timeout values to prevent test flakiness (#165)
  • a94ee70 Call cancel on context to prevent memory leak (#156)
  • 7254208 Cancel context to free resources (#147)
  • 1485006 Add tests for activity struct arg (#134)
  • 8b4cd48 Update comment for GetWorkflowResult (#1009)
  • 84482ec Move ErrorDetailsValues to error.go (#1008)
  • 4abefdd Update docs link for go client (#1003)
  • efd4582 Fixed Windows compilation failure (#998)