Skip to content

Releases: cadence-workflow/cadence

v1.3.6

15 Oct 18:17
a484e23

Choose a tag to compare

What's Changed

Added

  • Explain difference btw. terminate/cancel by @dkrotx in #7239
  • New histogram strategy and minimal changes to start emitting it by @Groxx in #7240
  • Reset simulation - wf reset on different cluster than wf started cluster by @fimanishi in #7203
  • Add shard distributor canary service by @jakobht in #7252
  • Add dco.yml by @natemort in #7255
  • Add support for multiple wildcard queries joined by OR by @neil-xie in #7257
  • Add log when replication task latency is high by @bowenxia in #7254
  • Byte size replication cache per shard by @fimanishi in #7243
  • Test active-active behavior with concurrent SignalWithStart requests by @c-warren in #7270
  • Add documentation to the simulation tests by @c-warren in #7271

Changed

  • Regenerate common/log/logger_mock.go using mockgen by @ansidev in #7228
  • Improve code readability in task_ack_manager getTasks by @fimanishi in #7232
  • Regenerate mocks in service/worker/archiver using mockgen by @ansidev in #7225
  • Make metric indexes unique by @Groxx in #7237
  • Unique types for different kinds of metric indexes by @Groxx in #7238
  • Regenerate client_mock in service/worker/parentclosepolicy using mockgen by @ansidev in #7226
  • No longer log redirection information for every frontend request by @c-warren in #7253
  • Set default active cluster selection policy at Frontend by @Shaddoll in #7259
  • Issue 6759: Regenerate common/archiver/provider/provider_mock.go using mockgen by @ansidev in #7266
  • Improve conflict resolution for active-active by @Shaddoll in #7265
  • Issue 6759: Regenerate common/blobstore/interface.go using mockgen by @ansidev in #7267
  • Minor histogram-bucket tweak: end on a power-of-2, not before by @Groxx in #7251

Fixed

Removed

  • Remove unused method from active cluster manager interface by @Shaddoll in #7272

New Contributors

Full Changelog: v1.3.5...v1.3.6

v1.3.5

18 Sep 09:19
05fe19c

Choose a tag to compare

New Features & Major Enhancements

  • Shard Management & Distribution:
    • We now assign shards to empty executors, so when a new executor joins it will have shards assigned to it (#7175) by @jakobht
    • Support for creating ephemeral shards (#7209) by @jakobht
    • Remove done ephemeral shards (#7212) by @jakobht
    • Integration of removal of ephemeral shards in the executor library (#7216) by @jakobht
    • Determinized the shard assignments (#7184) by @jakobht
    • Add multi-namespace support to shard distributor executor client (#7236) by @jakobht
  • Active-Active:
    • [active-active] Insert cluster selection policy row as part of continue-as-new (#7146) by @taylanisikdemir
    • Return ActiveClusterSelectionPolicy on DescribeWorkflow requests (#7181) by @c-warren
    • [active-active] Add simple lru cache for workflow cluster selection policies (#7174) by @taylanisikdemir
  • Authorization & Security:
  • History & Matching:
    • Define feature flags to support virtual queue split for history queue v2 (#7141) by @Shaddoll
    • Implement handler for queue pending task count alert (#7150) by @Shaddoll
    • Support dispatching activities with a specific TaskListKind (#7157) by @natemort
  • Workflow Diagnostics:
    • [Wf-Diagnostics] return details of currently running diagnostics on duplicate trigger (#7142) by @sankari165
    • [Wf-Diagnostics] Limit number of issues per type returned in diagnostics (#7189) by @sankari165
  • Serialization:

Bug Fixes

  • History / Matching:
  • Persistence & Visibility:
    • Remove version constraint for OpenSearch bulk delete requests (#7163) by @neil-xie
    • Remove version constraint for es v6 and v7 bulk delete requests (#7167) by @neil-xie
    • Fix write fallback logic when use advanced writing mode but only db is available (#7200) by @neil-xie
    • catch scroll node not found exception and start fresh scroll (#7155) by @anuragrai16
  • CLI & UI:
    • Fix the incorrect error message output of the command cadence workflow start/run (#7182) by @ins-tril
    • fix: update the incorrect UI URL (#7183) by @ins-tril
    • fixed typo in Search Attributes creation (#7208) by @dkrotx
  • Other Fixes:

Improvements & Refactoring

  • Core Internals & Performance:
  • Code Quality & API:
  • Observability (Metrics & Logging):
  • Configuration & Defaults:
    • Update the default value of history.readNoSQLHistoryTaskFromDataBlob to true (#7173) by @Shaddoll

Tooling, CI, & Operations

  • CLI & Admin Tools:
  • Local Development & Docker:
    • Use a target-arch-compatible (and more up to date) version of dockerize (#7149) by @Groxx
    • Add direnv support for local development (AI generated/assisted) (#7188) by @jakobht
    • [docker] set matching.enableClientAutoConfig to true in dynamic config (#7193) by @shijiesheng
    • Changing to legacy docker image of bitnami (#7219) by @dkrotx
  • Observability:
  • Testing & CI:
Read more

v1.3.4

20 Aug 19:33
d0d0a12

Choose a tag to compare

What's Changed

Added

Changed

  • Better lifecycle management in the shard executor library by @jakobht in #7095
  • [shard-distributor] Refactor storage and provide heartbeat storage API by @3vilhamster in #7090
  • Support decoding cluster selection policy payload in cli by @taylanisikdemir in #7115
  • [shard-distributor] AssignShards method fills ownership of the shards by @3vilhamster in #7114
  • [shard-distributor] Change the configuration name by @3vilhamster in #7117
  • [shard-distributor] Connect handler to the storage by @3vilhamster in #7118
  • Use different task retry policy for active and standby tasks in history queuev2 by @Shaddoll in #7108
  • We now use a raw tally scope for the client by @jakobht in #7119
  • Update merge virtual slices to support merging slices with different predicates by @Shaddoll in #7120
  • [active-active] ListDomains shouldn't fill ActiveClusterName with current cluster by @taylanisikdemir in #7137
  • [active-active] Switch to queuev2 by @taylanisikdemir in #7138
  • Update change log for release v1.3.3 by @neil-xie in #7139

Fixed

  • Fix standby task processing for history queue v1 by @Shaddoll in #7121
  • Make sure that task backlog metric is emitted in each gettaskspump run by @Shaddoll in #7123
  • [active-active] Fix failover version updates during failover by @taylanisikdemir in #7125
  • Fixed the startup so it does not depend on the fx timeout by @jakobht in #7127
  • Fix task priority assigner for history queue v2 by @Shaddoll in #7131
  • [active-active] Fix active cluster lookup in request forwarding layer by @taylanisikdemir in #7136

Removed

  • [shard-distributor] Executor cleanup removes shard ownership information by @3vilhamster in #7113

Full Changelog: v1.3.3...v1.3.4

v1.3.4-prerelease09

12 Aug 23:30
b5fe924

Choose a tag to compare

v1.3.4-prerelease09 Pre-release
Pre-release

Changes since v1.3.4-prerelease08

Features & Improvements

  • Makes the option to pass in a GoCQL connection public (#7154)
  • Exposes constructor for Cassandra DB instance tooling use (#7153)
  • Implement handler for queue pending task count alert (#7150)

Bug Fixes & Reliability

  • Fix thrift decode test flakyness (#7160)
  • Catch scroll node not found exception and start fresh scroll (#7155)

Testing & CI

  • Run replication simulation scenarios as part of CI (#7158)
  • Test reapply events active-active logic (#7135)

Infrastructure

  • Use a target-arch-compatible (and more up to date) version of dockerize (#7149)
  • Fix Best Practice in Rule File (#7152)

v1.3.3

06 Aug 17:41
5b5baa7

Choose a tag to compare

What's Changed

Added

  • Add metrics to queue v2 tracking the number of pending tasks by @Shaddoll in #7002
  • Cluster redirection e2e tests by @taylanisikdemir in #7007
  • Add CronOverlapPolicy to CQL commands in Update/Create WorkflowExecution by @timl3136 in #7010
  • Add pull request support for the buildkite to github actions migration by @mandyschen in #7009
  • Add Ephemeral TaskLists by @natemort in #7017
  • Add more metrics for history task processing by @Shaddoll in #7022
  • add docker-compose for filestore archiver by @shijiesheng in #7032
  • Add Integration Tests to Test Cron Overlap Policy and fix missing mapping for CronOverlapPolicy by @timl3136 in #7012
  • VISIBILITY_ARCHIVAL_STATUS setup for archival filestore by @vishwa-uber in #7043
  • [active-active] Support CLI operations for active-active domains by @taylanisikdemir in #7049
  • [shard-distributor] Added proto file for the shard distributor executor API by @jakobht in #7057
  • [shard-distributor] Add assign shards loop to the leader elected process by @3vilhamster in #7056
  • [shard-distributor] Added a client interface for the shard distributor executors by @jakobht in #7065
  • [shard-distributor] Add heartbeat cleanup loop by @3vilhamster in #7064
  • [shard-distributor] Add metrics for assing loop by @3vilhamster in #7066
  • Cadence LLM Friendly Rule File by @jayne-s in #7051
  • Add active-active basic simulation as CI job by @taylanisikdemir in #7072
  • Active-passive to active-active domain migration support by @taylanisikdemir in #7071
  • [scripts] Introduce a script that will create release/prerelease by @3vilhamster in #6954
  • Add cronOverlapPolicy and activeClusterSelectionPolicy to mapping functions in replication and mutable statue builder by @timl3136 in #7086
  • Created executer client SDK as an fx module by @jakobht in #7074
  • [authz] Introduce new type of permissions for poll APIs by @sankari165 in #7077
  • add unit test for not like query in custom search attributes by @shijiesheng in #7084

Changed

Fixed

  • Fix IDL submodule branch checking in CI workflows by @timl3136 in #7013
  • [active-active] Fix active cluster policy propagation and domain replication mappers by @taylanisikdemir in #7024
  • Fix data race in ValidateAndUpdateFailoverMarkers by @timl3136 in #7027
  • Fix TestOfferOrTimeout_SyncMatchTimedOut flaky test in matcher_test by @fimanishi in #7033
  • Fix history task latency metric for timer queue v2 by @Shaddoll in #7031
  • Fix task attempt metric by @Shaddoll in #7035
  • Fix task schedule latency metric by @Shaddoll in #7055
  • Fix standby timer task timestamp for history queue v2 by @Shaddoll in #7058
  • [CLI] fix domain deprecation security flag to be optional by @shijiesheng in #7061
  • [shard-distributor] Fix election tests not waiting for the election stop by @3vilhamster in #7063
  • [wf-describe]Fix negative ExpirationTimestamp when activity retry has no expiration by @gazi-yestemirova in #7068
  • Fix nil pointer for TaskListKind in SQL serialization by @natemort in #7078

Removed

New Contributors

Full Changelog: v1.3.2...v1.3.3

v1.3.2

03 Jul 19:57
ec5588f

Choose a tag to compare

What's Changed

Added

  • History QueueV2: Introduce pending task tracker component by @Shaddoll in #6962
  • Add domain tag back to frontend's poller request metrics by @Shaddoll in #6963
  • History QueueV2: Introduce active-standby task executor by @Shaddoll in #6964
  • adding some utilities for scripting by @davidporter-id-au in #6958
  • Add a design doc for history queue v2 by @Shaddoll in #6969
  • Introduce virtual slice and queue reader component for queuev2 by @Shaddoll in #6967
  • Add metrics to task processor to track migration by @Shaddoll in #6975
  • Introduce virtual queue component for queuev2 by @Shaddoll in #6974
  • Add retry visibility to client operations by @timl3136 in #6976
  • Implement BufferOneCronWorkflow behavior in CronOverlapPolicy to cron GetBackoffForNextSchedule by @timl3136 in #6968
  • Implement history queuev2 by @Shaddoll in #6978
  • Implement mapping for CronOverlapPolicy in Persistence layer by @timl3136 in #6985
  • [Active-active] Introduce cluster selection strategy by @taylanisikdemir in #6988
  • Introduce history queue v2 factory and feature flags to enable queue v2 by @Shaddoll in #6986
  • [active-active] Use active cluster selection policy to determine failover version of new workflows by @taylanisikdemir in #6991
  • Dashboard for persistence - Grafana/Prometheus by @vishwa-uber in #6984
  • Add rate limiter and metrics to history queue v2 by @Shaddoll in #6990
  • [active-active] Get active cluster selection policy from DB by @taylanisikdemir in #6994

Changed

  • Truncate timestamp of scheduled tasks to the min precision of Database timestamp by @Shaddoll in #6961
  • Update/fix documentation of active-active by @taylanisikdemir in #6965
  • [Wf-Diagnostics] handle pagination during fetching of history events by @sankari165 in #6959
  • [history] Mark task HandleError as logger Helper by @3vilhamster in #6972
  • [frontend/history] Mark common error handlers with logger.Helper() by @3vilhamster in #6973
  • Update the Cadence IDL module to include CronOverLapPolicy and sync types/shared.go by @timl3136 in #6980
  • Modify mapper function to add CronOverlapPolicy between shared/thrift/proto encoding by @timl3136 in #6983
  • Updating workflow_execution & activity_info types in Cassandra to support cron overlap policy, active-active domain, ephemeral tasklist features by @taylanisikdemir in #6989
  • Do not submit corrupted history tasks to scheduler by @Shaddoll in #6999

Fixed

Removed

Full Changelog: v1.3.1...v1.3.2

v1.3.1

11 Jun 17:42
647beb9

Choose a tag to compare

What's Changed

  • fix: fix incorrect nil return value by @huochexizhan in #6695
  • Active-active domain support - Part 3/N by @taylanisikdemir in #6850
  • Unify methods of history tasks in shard component by @Shaddoll in #6868
  • [service][fx] Move a few more components to fx and make shard distributor service have it's own dependencies by @3vilhamster in #6859
  • [domain deletion]Add validation acitivity after terminating open wfs by @gazi-yestemirova in #6867
  • Add proper categorization for client connection closing error by @timl3136 in #6844
  • Fix flaky unit tests for sequential task processor by @Shaddoll in #6872
  • Emit Target Peer IP address in Error Messages for Better Debugging by @timl3136 in #6863
  • Fix Parent workflow is not notified of child workflow completion issue by @Shaddoll in #6871
  • Fix flaky integration test in TestConcurrentlyForkAndAppendBranches by @timl3136 in #6860
  • [dependencies][clock] Update github.com/jonboulle/clockwork and provide context wrappers by @3vilhamster in #6876
  • Removed deprecated mock clock and replaced with the new timeSource by @jakobht in #6878
  • [integration_tests][persistent_base] Fix of time sensitive test by @3vilhamster in #6879
  • Added retries on creating the cassandra client. by @jakobht in #6877
  • Unify history task methods of shard context component - part2 by @Shaddoll in #6873
  • Fix not enough columns to scan issue for InsertInitialQueueMetadataRe… by @shijiesheng in #6881
  • Change License to Apache 2.0 by @demirkayaender in #6882
  • Serialize shard data by @Shaddoll in #6869
  • [common][clock] Adjust clock interface to avoid extra type assertions by @3vilhamster in #6886
  • [common][clock] Introduce context aware sleep by @3vilhamster in #6887
  • Add cache count and cache full metrics to base cache for enhanced monitoring by @timl3136 in #6890
  • Polish active cluster manager implementation and add tests by @taylanisikdemir in #6885
  • [domain deprecation]Integrate domain deprecation workflow with CLI by @gazi-yestemirova in #6870
  • [sharddistributor][leaderelection] Introduce leader election mechanism by @3vilhamster in #6889
  • Fix TestReplicationTaskFetcherSuite/TestLifecycle unit test by @Shaddoll in #6894
  • Update shard info to store queue state for history queue v2 by @Shaddoll in #6884
  • Add missing dynamicConfig propagation for execution cache byte size by @timl3136 in #6896
  • Generalize domain failover callback registration by @fimanishi in #6874
  • [Wf-Diagnostics] Update diagnostics result to follow structure for all issue types by @sankari165 in #6893
  • [Wf-diagnostics] add issue ID for issues and root causes by @sankari165 in #6899
  • Unify methods for creating history tasks by @Shaddoll in #6901
  • Add a new cache eviction metric by @timl3136 in #6902
  • [sharddistributor] Add leader election into sharddistributor service by @3vilhamster in #6900
  • [Wf-Diagnostics] map issue to rootcause in diagnostics workflow by @sankari165 in #6904
  • reducing log noise during timer cleanup by @davidporter-id-au in #6906
  • [domain-deletion]Introduce a new API for domain deletion by @gazi-yestemirova in #6905
  • [sharddistributor] Remove dependecy on Cadence config by @3vilhamster in #6911
  • Refactor history queue factory by @Shaddoll in #6907
  • Tuning grafana client queries to have domain as a filter by @vishwa-uber in #6856
  • Refactor client.Bean to return error instead of panicking by @Shaddoll in #6912
  • Refactor ndc history resender to handle multiple remote clusters by @Shaddoll in #6913
  • [common][log] Fixing logger stacktraces by @3vilhamster in #6917
  • Reduce repetitive warn and error logging in base lru cache by @timl3136 in #6914
  • [sharddistributor] Downgrade etcd client to a more stable version by @3vilhamster in #6916
  • [sharddistributor] Fix missalignment on etcd modules by @3vilhamster in #6921
  • Grafana front-end dashboard by @vishwa-uber in #6891
  • Refactor history task key by @Shaddoll in #6919
  • Grafana cadence-matching dashboard for prometheus by @vishwa-uber in #6895
  • Add capability to have multiple domains in replication simulation by @fimanishi in #6923
  • Disconnect tasklist pollers on domain failover using callback by @fimanishi in #6903
  • [domain-deletion]Introduce a feature flag to control domain deletion by @gazi-yestemirova in #6920
  • [domain-deletion]Add handler to process delete domain replication task by @gazi-yestemirova in #6918
  • Define submodules by @3vilhamster in #6924
  • Add a new parameter of context.Context to the Operation in retryer & inject retryCount to retryable operations by @timl3136 in #6922
  • Decouple workflowExecutionStartToCloseTimeout from workflowDuration in replication simulation by @fimanishi in #6926
  • [sharddistributor] Fix election related tests and code by @3vilhamster in #6927
  • [common] metricsfx separation of modules with external tally and without by @3vilhamster in #6928
  • Add workflowType to operation parameters in replication simulation by @fimanishi in #6930
  • Add is_retry metrics to retryable persistence operations by @timl3136 in #6929
  • Undo replace directives in main go.mod by @Groxx in #6937
  • Restructure workflows for replication simulation by @fimanishi in #6936
  • Fix gomod lint by @Groxx in #6938
  • [persistence] Mark logger.Error messages from wrapping layers as a Helper by @3vilhamster in #6925
  • [domain-deletion]Add domain delete CLI command by @gazi-yestemirova in #6908
  • Fix error shadowing issue for cluster redirection handler by @Shaddoll in #6935
  • Add shard ID tag to passive replication tasks by @timl3136 in #6933
  • Domain idl changes for active-active by @taylanisikdemir in #6915
  • Define internal types for queuev2 by @Shaddoll in #6931
  • Add support of SQLite storage in cadence server by @arzonus in #6940
  • Remove soft fail from integration-test-sqlite by @arzonus in #6944
  • Update activecluster config in sqlblobs by @taylanisikdemir in #6941
  • Improve the implementation of NoopScope by @Shaddoll in #6942
  • Disconnect sticky tasklist blocked pollers after domain failover by @fimanishi in #6943
  • Don't convert yarpc Unknown errors to error string by @natemort in #6949
  • Add error logging to elasticsearch and opensearch by @Groxx in #6947
  • [Wf-Diagnostics] update issueID to start from 0 by @sankari165 in #6952
  • [common][rin...
Read more

v1.3.0

14 May 18:08
4134777

Choose a tag to compare

What's Changed

Added

Changed

Fixed

Read more

v1.2.19-prerelease08

23 Apr 00:23
bcf5c01

Choose a tag to compare

v1.2.19-prerelease08 Pre-release
Pre-release

What's Changed

Full Changelog: v1.2.19-prerelease07...v1.2.19-prerelease08

v1.2.19-prerelease07

22 Apr 22:46
41a85e0

Choose a tag to compare

v1.2.19-prerelease07 Pre-release
Pre-release

What's Changed

Full Changelog: v1.2.19-prerelease06...v1.2.19-prerelease07