v1.15.0
Release Highlights
tctl
- A new sub-command is added that lists all Cluster information:
tctl admin cluster list
API
- Option to enable auto-forwarding over all APIs.
- De-duplicate
SignalWithStartWorkflowExecution
requests onRequestID
.
Namespace promotion
- Support local Namespace promotion and handle Workflow version correctly.
- Allow updating
enableGlobalNamepsace
config fromfalse
totrue
. - Allow Namespace update operations from non-master Clusters.
- Allow removal of Clusters from the replication Cluster list.
Cron
- Update cron to v3.0 and add CronSchedule Timezone support.
Metrics and logging
- Several metrics and logging improvements in History client and Matching client.
- Fix History client and Matching client error logging with nil return error.
Visibility
- Replace Cassandra visibility TTL with explicit DELETE.
- Support visibility dual-write to multiple Elasticsearch indices.
Other
- Upgrade to go 1.17.6.
- Upgrade SDK to v1.13.
- Switch scanner to scan over visibility.
- Update OpenTelemetry to v1.2.0 and OpenTelemetry Metrics to v0.25.0.
Improvements and fixes
- Several test improvements on coverage and flaky tests.
- Fix SQLite concurrency bug fixes.
- Improvements in database schema setup and update tooling.
- Several improvements on handling loss of shard ownership.
- Improvements to sync matches and task dispatch in Matching engine.
- Handle
namespaceNotActive
error correctly with ParentChildPolicy Workflows. - Correctly handle “History not found” error in History Archival.
- Handle SQL duplicate-key case in fetching History.
- Apply ParentClosePolicy to Child Workflow only.
- Trigger History node validation in Workflow updates.
- Detect stale cache when RecordChildExecutionCompleted.
- Use latest Worker identity for pending Activity.
- Disallow marking an Activity as cancelled without a prior request to cancel the Activity.
- Initialize shard controller with fx.
- Initialize shard correctly in ExecutionMutableStateSuite.
- Fix fail Workflow Task and generate new Workflow Task in Workflow Heartbeats.
- Notify new Tasks when Workflow is potentially updated.
- Use next-page token when listing Cluster metadata from database.
- Fix transient Workflow Task check in getRawHistory.
- Fix reference count in DeleteHistoryBranch.
- New Task flush buffer in Matching engine.
- Fix custom Search Attribute for Child Workflow and Continue-As-New.
Internal refactoring
- Extend Cassandra test utility methods so that they can be executed from outside.
- Separate History engine factory from handler.
- Move Workflow deletion logic to
DeleteManager
. - Add
ExecutionInfo
field toInternalWorkflowSnapshot
. - Rename
InternalWorkflowSnapshot.ExecutionInfo
toExecutionInfoBlo
. - Simplify LRU cache implementation.
All changes
2022-02-08 - fb8a5e0 - Fix admin handler getTaskType implementation (#2474)
2022-02-08 - cdb4fa0 - Use throttled logger and use error type in metrics client (#2477)
2022-02-08 - 670d99c - Move search attribute validator and mapper calls to frontend service (#2476)
2022-02-08 - 5fcfe25 - Remove unused queue processor (#2473)
2022-02-08 - 0e9f415 - Add error type for logging in clients (#2480)
2022-02-08 - 01d071a - Fix conflict error handling (#2469)
2022-02-05 - b2c7ee1 - Update invalid command message (#2468)
2022-02-05 - 8f88254 - Fix matching client error logging (#2471)
2022-02-05 - 16871d7 - fix error logging for history client (#2472)
2022-02-04 - e642020 - Upgrade base images (#2467)
2022-02-04 - 8c81dbc - Handle history not found error when archiving history (#2465)
2022-02-04 - 89c17cc - Remove dynamic config translation map (#2462)
2022-02-04 - 6e7489a - Order delete workflow execution steps and document the order (#2466)
2022-02-03 - a7abf84 - Updated README for running BuildKite tests locally (#2459)
2022-02-02 - d2d1e3d - Add more test for namespace migration (#2450)
2022-02-02 - 9454db2 - Update developer tools (#2454)
2022-02-02 - 515900d - Updated SetUpCassandraDatabase to take an actual logger instead of creating a NoopLogger. (#2453)
2022-02-02 - 4d41efc - Set task queue name in DescribeWorkflowExecutionResponse (#2455)
2022-02-02 - 4670e98 - Update go dependencies (#2452)
2022-02-02 - 0447a17 - Assign LastFirstTransactionID correctly (#2438)
2022-02-01 - fe89dd4 - Update SDK version to 1.13.0 (#2445)
2022-02-01 - a9ebd01 - Use namespace function to check active cluster (#2449)
2022-02-01 - 9fc6b63 - Address late review comments from #2365 (#2441)
2022-02-01 - 3eb7730 - Convert ConverterError to InvalidArgument in standard visibility parser (#2437)
2022-02-01 - 2503c84 - Added GetVersionedSchemaFilesInOrder helper function to cassandra_test_util.go (#2436)
2022-02-01 - 0e547dc - Remove unused resource struct (#2444)
2022-01-31 - 8c30d1d - Remove hacky force flush buffer check (#2439)
2022-01-31 - 736fabf - Single binary server (SQLite) and concurrency bugfixes for in memory storages (#2114)
2022-01-31 - 4600713 - Add RawTokenKeyProvider (#2420)
2022-01-31 - 426621d - Handle buffered events during namespace migration / promotion (#2440)
2022-01-28 - f4c4ab6 - Fix task queue user latency (#2431)
2022-01-28 - c0cac88 - Allow global namespace update from all clusters (#2429)
2022-01-28 - a7ab9a2 - Allow remove cluster from namespace cluster list (#2432)
2022-01-28 - 6c1f2ff - Set git revision at build from env variable (#2428)
2022-01-28 - 46376c0 - Integration test: retry with empty task response (#2433)
2022-01-28 - 31dc2f8 - Moved Cassandra test utility methods to a new file so they can be used outside of temporal repo (#2434)
2022-01-27 - fcd3148 - Add resource_exhausted_cause metrics tag (#2423)
2022-01-27 - f9c6ddf - Add DeleteWorkflowExecution API to history service (#2311)
2022-01-27 - b80a54f - Updated schema tool to work with full semantic versions, i.e., MAJOR.MINOR.PATCH (#2417)
2022-01-27 - aceda14 - Update XDC integration test to use add remote cluster api (#2424)
2022-01-27 - 7388783 - Allow update initial failover version and version increment (#2425)
2022-01-26 - e5c7c7c - Handle namespaceNotActive error in parentClosePolicy workflow (#2394)
2022-01-26 - b87d605 - Fix fake cluster for empty version (#2376)
2022-01-26 - b042650 - Update replication fetcher lifecycle (#2421)
2022-01-26 - a69c45c - Expose pending workflow task information (#2416)
2022-01-26 - 735e057 - Add metrics on replication lag and replication task apply latency (#2404)
2022-01-26 - 6ebaa80 - Add dynamic config for force search attributes refresh (#2422)
2022-01-26 - 0bf97af - Remove namespace from GetSystemInfo call (#2418)
2022-01-25 - 57cdbe3 - Correct branch name in docker image build pipeline (#2413)
2022-01-25 - 2a88779 - Add pipeline to trigger Temporal docker images build (#2399)
2022-01-24 - ab519c9 - Replace Cassandra visibility TTL with explicit DELETE (#2387)
2022-01-24 - 87dc0ef - Handle SQL duplicate key case (#2410)
2022-01-24 - 410b593 - Separate history engine factory from handler (#2409)
2022-01-24 - 3377e64 - Verify run IDs in archival int test (#2411)
2022-01-21 - aff2a82 - Use base-server:1.5.0 after recent update (#2402)
2022-01-21 - 65e4958 - Check SDK versions via version check call (#2365)
2022-01-21 - 43b4531 - Extract workflow execution delete code to workflow.DeleteManager (#2388)
2022-01-20 - e16c038 - Added ExecutionInfo field to InternalWorkflowSnapshot (#2392)
2022-01-20 - c74cb49 - Fix c symbol in caCert variable name (#2397)
2022-01-20 - b8a36d6 - Switch force-replication to scan over visibility (#2386)
2022-01-20 - aa69178 - Build docker image using Buildkite (#2400)
2022-01-20 - 7e9a789 - Remove go mod init
from dockerize build in base-server.Dockerfile (#2393)
2022-01-20 - 1e19178 - Add validation for invalid starttime filter for standard visibility (#2401)
2022-01-20 - 17f330d - Wire up cluster metadata in start fx DI (#2398)
2022-01-20 - 0ff1b16 - Enable cgo by default and disable it explicitly for docker image build (#2396)
2022-01-20 - 07cda1b - Apply parentClosePolicy to child workflow only (#2390)
2022-01-19 - 28f78d5 - Separate SQL session management into a dedicated file (#2391)
2022-01-18 - 26d1806 - Update OpenTelemetry to v1.2.0 and OpenTelemetry Metrics to v0.25.0 (#2385)
2022-01-18 - 24ca4e8 - Renamed InternalWorkflowSnapshot.ExecutionInfo to ExecutionInfoBlob. (#2384)
2022-01-14 - 773e18a - [Docker build] fix defaults with variables in templates (#2378)
2022-01-14 - 71093d7 - Trigger history node validation & trimming logic within write path (#2379)
2022-01-13 - eb95443 - Add admin api to list all cluster information (#2377)
2022-01-13 - 72e5b67 - Remove dummy registrations in sdk integration test (#2349)
2022-01-12 - f3780d0 - Option to enable forwarding all APIs (#2367)
2022-01-12 - ba30aa8 - Check max taskID instead of max read level when process task (#2371)
2022-01-12 - 434ec0e - Favor local config value on enable global namespace (#2368)
2022-01-12 - 12bbccb - Add more tests to history cache (#2373)
2022-01-12 - 00a49ab - Remove removal function away from LRU cache for simplicity (#2372)
2022-01-11 - dc208e9 - add basic rate limit to force replication workflow (#2364)
2022-01-11 - c61e2c8 - Support visibility dual write to different ES indices (#2359)
2022-01-11 - b3c8586 - Include more API to Cassandra read after write inconsistency protection (#2366)
2022-01-11 - aa62866 - Unload shard if loaded task ID is greater than max transfer ID (#2361)
2022-01-11 - 86605c4 - [Docker build] add separate visibility env vars for different db instance (#2362)
2022-01-11 - 6e4cdc0 - Remove cluster metadata dual write (#2358)
2022-01-10 - b33d241 - make tests more extensible/reusable by other tests (#2357)
2022-01-07 - d01b1c7 - Dedup SignalWithStart based on RequestId (#2356)
2022-01-07 - b0e2c05 - Reduce heartbeat timeout for flaky test (#2351)
2022-01-07 - 16bf19d - Use actual worker in onebox setup. (#2352)
2022-01-06 - ffc6071 - Unload shard when ownership lost (#2355)
2022-01-06 - fde1e4e - Detecting stale cache when RecordChildExecutionCompleted (#2354)
2022-01-06 - cf6c03e - Use latest worker identity for pending activity (#2350)
2022-01-06 - b13fccf - Set Fossa to run non-blocking (#2348)
2022-01-06 - 9ed152f - Fix LRU cache eviction behavior (#2353)
2022-01-06 - 46eafc9 - add link to explain docker builds and auto setup (#2346)
2022-01-06 - 327591b - Use error message for tiered storage (#2347)
2022-01-05 - ec65088 - Disallow marking activity as cancelled without activity being request cancelled first (#2344)
2022-01-05 - 7a695e5 - Replace abandoned dgrijalva/jwt-go with golang-jwt/jwt (#2339)
2022-01-05 - 412035f - Rewrite TestCronWorkflow_Failed/Succeeded as SDK integration tests (#2345)
2022-01-04 - dc0c75a - Add missing err returns (#2250)
2022-01-04 - 7ae02e3 - Add logging to matching / history client (#2340)
2022-01-03 - f689eeb - Cleans up some comments for ServerOptions #2337
2022-01-03 - 4d9faa2 - Initialize shard controller with fx (#2319)
2021-12-30 - 733a052 - Fix fail workflow task and generate new workflow task (#2335)
2021-12-30 - 633e456 - Initialize shard correctly in ExecutionMutableStateSuite (#2336)
2021-12-30 - 05f584c - Notify new tasks when workflow is potentially updated (#2334)
2021-12-29 - e9a1cc9 - Update failover version for namespace promote (#2332)
2021-12-29 - 26278fd - Add metrics to ns migration workflows (#2326)
2021-12-29 - 1e02664 - Use page token when list cluster metadata from DB (#2331)
2021-12-28 - c191883 - Add lag and pending tasks metrics for visibility queue (#2328)
2021-12-28 - 94ef184 - Fix remote sync match for standby namespaces (#2327)
2021-12-28 - 81ce604 - Fix queue diff metrics for disabled clusters (#2329)
2021-12-27 - e1fa8f2 - Fix transient workflow task check in getRawHistory (#2324)
2021-12-27 - d61a454 - Fix reference count in DeleteHistoryBranch (#2323)
2021-12-27 - 097fa79 - Fix flaky Test_ActivityTimeouts (#2325)
2021-12-20 - f61e90f - Update cron to v3.0 + CronSchedule Timezone support (#2215)
2021-12-20 - e61e8fe - Update DB task manager (#2310)
2021-12-20 - bdbfb60 - Use --target for docker builds (#2273)
2021-12-20 - 929c1cd - Add tzdata to server base image and binary (#2277)
2021-12-20 - 0f2bcc8 - New GetSystemInfo RPC (#2309)
2021-12-18 - c80744d - Revert persistence rate limit error type (#2312)
2021-12-15 - c95a34e - Matching sync match task should not have completion function (#2307)
2021-12-15 - a619fd4 - Make matching service executeWithRetry function stateless (#2305)
2021-12-15 - 8e9a8d4 - Use metrics.Client for sdk.metrics.Handler (#2302)
2021-12-15 - 8750b1c - Deflake/rewrite TestActivityHeartbeatDetailsDuringRetry test (#2304)
2021-12-15 - 67b06d6 - Add basic metrics unit tests (#2271)
2021-12-14 - adf5747 - Use persistence config consistency for schema version check (#2291)
2021-12-14 - 18d1d06 - New matching task flush buffer (#2286)
Helpful links to get you started with Temporal
Temporal Docs
Server
Docker Compose
Helm Chart
Docker images for this release (use tag 1.15.0
)
Server
Server With Auto Setup (what is Auto-Setup?)
Admin-Tools