What's Changed
Added
- Introduce payload size metrics by @tubignat in #6745
- Implement bytes-based LRU cache using Sizeable interface by @timl3136 in #6722
- Introduce DynamicTaskBatchSizer by @arzonus in #6754
- Add a migration guide of task list partition config by @Shaddoll in #6765
- Scaffold ByteSize() measuring size estimation for history event cache by @timl3136 in #6693
- Add task category tag to history tasks metrics by @Shaddoll in #6769
- Introduce Cadence MCP server with an initial basic tool by @taylanisikdemir in #6766
- [domain-deletion]Allow to list workflows for deprecated domains by @gazi-yestemirova in #6752
- Adds some metrics / logs for an edge case in workflow cleanup by @davidporter-id-au in #6753
- Support client-side specification of consistency for DescribeWorkflowExecution and GetWorkflowExecutionHistory by @c-warren in #6789
- Automatically rebalance isolation groups between TaskList partitions by @natemort in #6764
- Grafana for cadence client by @vishwa-uber in #6783
- [domain-deletion]Add workflow to deprecate domains by @gazi-yestemirova in #6787
- Implement metrics collecting into the base LRU cache by @timl3136 in #6794
- Add SQLite Persistence tests by @arzonus in #6795
- [domain-deprecation]Add an activity to deprecate a domain by @gazi-yestemirova in #6802
- [server] Add automaxpocs library by @3vilhamster in #6814
- Add size-based cache config flags for history event and execution cache by @timl3136 in #6817
- Add db payload decoding support to MCP server by @taylanisikdemir in #6808
- Document timer task page tokens' risky serialization needs by @Groxx in #6821
- Active-active domain support - Part 1/N by @taylanisikdemir in #6799
- Add hot-swap capability between count-based and size-based cache modes by @timl3136 in #6809
- Add a dynamic property to disable failover queues by @Shaddoll in #6836
- Add more logs to improve visibility around shard/engine/queue component lifecycles by @taylanisikdemir in #6838
- Active-active domain support - Part 2/N by @taylanisikdemir in #6840
- Add more logs for shard item and resolver components by @taylanisikdemir in #6858
- Domain Deprecation: Implement workflow listing and termination activities by @gazi-yestemirova in #6819
- Create MAINTAINERS.md by @demirkayaender in #6866
Changed
- Persistance operations grafana dashboard improvements by @vishwa-uber in #6744
- Unify history task query - part 2: Replace GetTimerIndexTasks with GetHistoryTasks by @Shaddoll in #6737
- Refactor: Move constants.go to dedicated constants package by @timl3136 in #6713
- Set MatchingEnableStandbyTaskCompletion default value to true by @fimanishi in #6751
- Set EnableAsyncWorkflowConsumption default value to true by @fimanishi in #6750
- Refactor Size() method to ByteSize() avoiding naming collision by @timl3136 in #6755
- Unify history task query - part 3: Replace GetTransferTasks with GetHistoryTasks by @Shaddoll in #6746
- Unify history task query - part 4 - replace task.Info with persistence.Task in history queue by @Shaddoll in #6757
- Use equality comparison for CloseStatus in pinot query instead of range by @neil-xie in #6758
- Unify history task query - part 5 - replication task queries by @Shaddoll in #6761
- Upgrade postgres version in docker compose files from 12.4 to 17.4 by @ahumblefool in #6762
- Unify complete history tasks methods by @Shaddoll in #6763
- Extract stopping ratelimiters code to fn by @dkrotx in #6748
- fix weighted load balancer by @Shaddoll in #6770
- (docs): Update Cross Region README commands to new version syntax by @c-warren in #6772
- use histogram for replication_task_delay by @shijiesheng in #6773
- Change dlq default end message id by @Shaddoll in #6775
- Simplify Isolation Group Determination by @natemort in #6768
- Wrap matching peer provider by @jakobht in #6715
- Refactor task executors to use concrete persistence.Task types for task execution by @Shaddoll in #6760
- [common/log] Unify logger package by @3vilhamster in #6779
- Refactor poller tracking from tasklist to poller package by @natemort in #6777
- Update changelog for v1.2.18 release by @neil-xie in #6785
- [common][dynamicconfig] Revamp dynamicconfig package to provide a cleanier boundaries of functionality by @3vilhamster in #6788
- Adjust task isolation metrics by @natemort in #6784
- [server] Start the server as a Fx application by @3vilhamster in #6793
- Enable Integration tests for SQLIte by @arzonus in #6796
- Reenables child workflows to be launched across local domains by @davidporter-id-au in #6804
- Allow execution of the delete history event task for deprecated domains by @gazi-yestemirova in #6803
- [server] Update mcp library by @3vilhamster in #6816
- Log duplicated activity events by @fimanishi in #6813
- Expose DebugOn to prevent expensive computations needed only to enrich debug logs by @taylanisikdemir in #6818
- Reuse TaskList Partition Weighting in IsolationLoadBalancer by @natemort in #6811
- Simplify debug level check by @taylanisikdemir in #6820
- Initialize NumHistoryShards in sql test utils by @taylanisikdemir in #6822
- Make cover_profile run parallel by @arzonus in #6801
- [ci][buidlkite] Try leveraging go modules to cache dependencies across runs by @3vilhamster in #6830
- Update matching query workflow to refresh task list partition config cache by @Shaddoll in #6790
- Change the default value of Task Isolation configs by @natemort in #6833
- Track Isolation Group state even when there's only one partition by @natemort in #6835
- Improve logs to detect double activity events by @fimanishi in #6839
- [common][dynamicconfig] Move dynamic config to fx Module by @3vilhamster in #6828
- Pass logger to redirect policy directly instead of using frontend's config struct by @taylanisikdemir in #6843
- [dependency] Update go.uber.org/fx to v1.23.0 by @3vilhamster in #6845
- Update active-active doc with limitations by @taylanisikdemir in #6846
- Optimize DynamicRateLimiter to not constantly re-evaluate RPS by @natemort in #6842
- Update shard controller getters to use atomic by @Shaddoll in #6864
Fixed
- fix version conflict after renaming Size() to ByteSize() by @timl3136 in #6756
- Set missed dynamicconfig default updates by @fimanishi in #6782
- Fixing broken master after a merge problem by @davidporter-id-au in #6786
- Bugfix/fixing history deletion on reset (2/2) by @davidporter-id-au in #6742
- Fix flaky test by @natemort in #6792
- Eagerly leak tasks that don't match the partition config by @natemort in #6781
- [resolver] Fix default value by @3vilhamster in #6797
- [cadence][server] Fix server start missing lifecycle by @3vilhamster in #6806
- Fix exp value for GroupQPS values by @natemort in #6810
- [cli][jwt] Fix TestCreateJWT flackiness by @3vilhamster in #6829
- [common][domainCache] Fix flaky test Test_IsActiveIn by @3vilhamster in #6831
- Fix dynamicConfig naming inconsistency for ExecutionCacheMaxByteSize by @timl3136 in #6832
- Fix warnings in replication simulation by @fimanishi in #6848
- Fix Flaky Integration Test in TestDomainReplicationDLQ by @timl3136 in #6851
- Bugfix/lowering log volume by @davidporter-id-au in #6847
- Improve history queue Stop lifecycle logs by @Shaddoll in #6852
- Fix race condition in Query Dispatch by @natemort in #6849
- Fix flaky redispatcher unit test by @Shaddoll in #6854
- Fix flaky integration test in TestDomainReplicationQueue by @timl3136 in #6855
- Address test races caused by deferred logs by @taylanisikdemir in #6841
- Async workflow API not enabled should be user-error by @sankari165 in #6857
Removed
- Remove obsolete docker-compose version by @dkrotx in #6736
- removed docker-compose version label for buildkite by @dkrotx in #6747
- Delete persistence types that are not used by @Shaddoll in #6776
- Remove dependencies in unit tests by @arzonus in #6800
- Remove Task Isolation from Forwarder by @natemort in #6834
New Contributors
- @ahumblefool made their first contribution in #6762
- @c-warren made their first contribution in #6772
Full Changelog: v1.2.18...v1.3.0