Releases: temporalio/temporal
v1.22.4
All Changes
2024-01-12 - fb61704 - Bump Server version to 1.22.4
2024-01-12 - f2659e7 - Change auth order (#5294)
2024-01-12 - 4489f17 - Fix buildkite cassandra setup (#5263)
2024-01-08 - 6dcab73 - Update GHA setup-go to pull version from go.mod file (#5207)
Helpful links to get you started with Temporal
Temporal Docs
Server
Docker Compose
Helm Chart
Docker images for this release (use the tag 1.22.4
)
Server
Server With Auto Setup (what is Auto-Setup?)
Admin-Tools
v1.22.3
Important
The dependency golang.org/x/net
was updated to address CVE-2023-39325, CVE-2023-3978, CVE-2023-44487.
All Changes
2023-12-07 - 4eca060 - Bump Server version to 1.22.3
2023-11-30 - 407ff8a - Fix nil panic (#5153)
2023-11-30 - db10079 - Activate changes in #4990 and #5034 (#5035)
2023-11-30 - 20a4829 - Always set RPS on dynamic rate limiter refresh (#5180)
2023-11-30 - 79bacb9 - Fix default persistence request priority (#5177)
2023-11-30 - b4b6581 - Update force replication with low priority context (#5010)
2023-11-27 - 294e8a3 - 1.22.3 build fix for cherry pick build error (#5163)
2023-11-22 - 38f0eb2 - Fix set up search attributes in secondary SQL visibility (#5143)
2023-11-20 - 1f04629 - Add more logging message to monitor branch token update (#5058)
2023-11-20 - 6ba388c - Handle branch token update with long poll API (#4943)
2023-11-20 - 98b5700 - golang.org/x/net: update to address CVE-2023-39325, CVE-2023-3978, CV… (#5011)
Helpful links to get you started with Temporal
Temporal Docs
Server
Docker Compose
Helm Chart
Docker images for this release (use the tag 1.22.3
)
Server
Server With Auto Setup (what is Auto-Setup?)
Admin-Tools
v1.22.2
All Changes
2023-11-13 - db23e86 - Add action metrics for schedule and updates (#5101)
2023-11-03 - 37da275 - Allow list of keywords in dual visibility setting (#5065)
2023-11-01 - 26114d7 - Hopefully avoid panic in DescribeWorkflowExecution (#5057)
2023-10-31 - ddf9799 - Bump server version to 1.22.2 (#5056)
2023-10-31 - ef3b92b - Fix schedule workflow unit test (#5052)
2023-10-30 - 2320fc1 - Add force-continue-as-new signal to schedule workflow (#5034)
2023-10-30 - b8163ce - Use ContinueAsNewSuggested in scheduler workflow (#4990)
2023-10-30 - 88f8f11 - Update Go SDK to v1.25.1 (#4955)
2023-10-30 - cba2ce7 - Improve scheduler workflow unit test (#4962)
2023-10-30 - 53a4979 - Expose buffer size and # dropped actions in ScheduleInfo (#4839)
2023-10-30 - 0fc50f8 - Adjust action metrics (#5043)
2023-10-30 - 91425ba - Emit action metrics for batch of markers (#4905)
2023-10-30 - f442eb7 - Validate search attributes values in queries to ES (#5036)
2023-10-30 - 19ba0ce - Disable eager activities for incompatible versioned activities (#5030)
2023-10-30 - cd14e15 - Add refresh task for close workflow (#4999)
2023-10-30 - e022877 - Refresh upsert visibility task only for running workflows (#4909)
2023-10-30 - f99bd88 - Lock get current execution for API requests (#4970)
2023-10-30 - 8dc833c - Fix GenerateMigrationTasks behavior (#4987)
2023-10-30 - 1a30833 - Return InvalidArgument error when we get HTTP 400 from elasticsearch (#4900)
2023-10-30 - b6c9868 - Reuse cached RemoteAdminClient in VerifyReplicationTasks (#4997) (#5050)
v1.22.1
Important
There was a security issue in the Temporal Docker image that could expose your DB password in the shell logs. The issue is fixed in temporalio/docker-builds#147, and new Docker image builds packing this version or later will contain the fix. Note that this issue is not related in any way to the Temporal Server itself. It only affects a script in the Docker image to launch your Temporal Server.
All Changes
2023-10-13 - 7173522 - Ensure latest Go version in GH workflows (#4974)
2023-10-12 - b154bcd - Bump base-ci-builder image (#4969)
2023-10-06 - 759b608 - Refactor TaskPoller.PollAndProcessWorkflowTask (#4903)
2023-10-06 - 4a70d62 - Don't track overlapping scheduled workflows (#4911)
2023-10-06 - 1f01c72 - Use RateBurst in RateLimitInterceptorProvider (#4933)
2023-10-06 - 9abaafd - Take history length into account when rate limiting generate replication task (#4929)
2023-10-06 - ba63918 - Improve XDC logging (#4932)
2023-10-06 - 8cadb94 - Handle XDC replication task retry error / not found error correctly (#4924)
2023-10-06 - 8d1e43a - Make rate multi min and max dynamic (#4920)
2023-10-06 - b4df682 - Add metric for dynamic rate limit multiplier (#4921)
2023-10-06 - 6860495 - Improve XDC Logging (#4917)
2023-10-06 - b5f7319 - Simplify DescribeSchedule (#4810)
2023-10-06 - 1af21c4 - Build id scavenger shouldn't look at recent build ids (#4846)
2023-10-06 - 9547e82 - Exit build id scavenger on rate limiter error (#4841)
2023-10-06 - e998571 - Fix QueryWorkflow forwarding on versioned queue (#4847)
2023-10-06 - 277e97d - Make versioning data limits configurable by namespace (#4843)
v1.22.0
Release Highlights
Streaming for replication (WIP)
This version of server added gRPC streaming API for replications between clusters. This feature is still working in progress, is currently disabled by default. It will be enabled in future release.
Count workflow by ExecutionStatus
The Count API feature allows the user to count the number of workflow matching the given query. For example, the command temporal workflow count -q "WorkflowType='foo'"
returns the number of workflows that matches WorkflowType='foo'
.
Now, you can send queries to the Count API to group by a given search attribute. Eg: -q "WorkflowType='foo' GROUP BY ExecutionStatus
returns the number of workflows that matches WorkflowType='foo'
grouped by ExecutionStatus
.
The GROUP BY
clause is only supported in the Count API, and, at this moment, we only support grouping by ExecutionStatus
. We plan to support group by any search attribute in a future release.
EDIT: Note: The Count API returns approximate counts.
Default authorizer changes
The default authorizer now allows OperatorService.ListSearchAttributes
as a namespace-level read-only API. Additionally, the implementation was changed: if you have custom authorizer code based on the default authorizer, you may want to examine the new implementation.
Schedules improvements
Schedules that are “idle”, meaning they are only configured to run for a fixed number of times (either with “limited actions” or with a spec that doesn’t match any times in the future), will now automatically be deleted after one week since their last action. This applies to existing schedules, however existing schedules that are already idle won’t be deleted unless they’re woken up by a signal.
Jitter is now calculated correctly so that jitter across separate schedules is not correlated. This automatically applies to existing schedules.
HTTP API
The frontend workflow service API can now exposed via HTTP in addition to the existing gRPC exposed form. The port is set on services.frontend.rpc.httpPort
and is disabled if unset or 0
. The default Docker template enables the HTTP API on port 7243
. See the HTTP annotations on the workflow service API proto file for more information about which operations are available at which URL paths.
All changes
2023-09-05 - 9b877fa - increase max allowed shard linger limit (#4790)
2023-09-05 - c73430b - Mark QueryWorkflow as read-only in api metadata (#4834)
2023-09-05 - 86d8839 - Add method metadata and use for default authorizer (#4794)
2023-08-28 - bba21ca - Always persist guessed set id on unknown build id (#4800)
2023-08-28 - c13afdc - Fix mutable state change not persisted bug (#4813)
2023-08-21 - df2167e - Update API to v1.24.0 (#4785)
2023-08-21 - f6755a5 - Return NonRetryableApplicationError if Namespace is not found on remote cluster during verify (#4786)
2023-08-21 - f42d19e - Split sync workflow state logic to dedicated file (#4784)
2023-08-18 - c784796 - HTTP API support (#4543)
2023-08-17 - 8309152 - Update some task refresh logic (#4779)
2023-08-17 - 0080bd2 - Simplify XDC logic (#4546)
2023-08-14 - 84b1e8b - Generate txn id for each event (#4774)
2023-08-14 - aa5c3db - Add api to Eager retrieve the unknown namespace from remote cluster (#4769)
2023-08-14 - 9f9db3f - Increaes RecordHeartbeat frequency in VerifyReplicationTask (#4771)
2023-08-11 - 815c8a3 - Skip verifying workflow which has already passed retention time (#4770)
2023-08-11 - 0ce1234 - Rename leftover master to main (#4768)
2023-08-11 - 7982f81 - Fix delete search attributes in mutable state (#4767)
2023-08-11 - 545c963 - Count group by status capability (#4750)
2023-08-11 - 88f8c1c - Load task queue managers for demoted version set ids (#4762)
2023-08-11 - 2b3d52e - Improve otel gauge memory usage (#4722)
2023-08-10 - 673d563 - Add corruption protection to ms (#4564)
2023-08-11 - e4ce970 - Turn ErrWorkflowClosing into a retryable error (#4765)
2023-08-10 - 3a9e344 - Use raw history/matching client in task executor (#4710)
2023-08-10 - 97f15fc - Fix SQLite FTS query expression with dashes (#4755)
2023-08-10 - 2da4743 - Remove debug logger from visibility manager (#4751)
2023-08-10 - 2eb9609 - Make client code generation safer (#4747)
2023-08-10 - 274de98 - Make cassandra schema update idempotent (#4761)
2023-08-10 - 5ced7bf - Improve task range completion prerequisite check (#4754)
2023-08-10 - 7a11f91 - Move getTaskQueueManager call into redirect methods (#4759)
2023-08-10 - 97dbe09 - Fix retry policy max attempts (#4752)
2023-08-10 - 31eada0 - Reduce frontend handler retry max attempts (#4753)
2023-08-09 - 6d4a76b - Adjust API priorities (#4756)
2023-08-09 - cfad693 - Clean up some matching errors (#4758)
2023-08-09 - 0737a8b - Avoid potential double close on userDataChanged (#4757)
2023-08-09 - 63cd051 - Do not load sticky queue if not loaded (#4694)
2023-08-09 - d87acbd - Add frontend.globalNamespaceCount (#4743)
2023-08-09 - 039de3d - Add descriptions for task processing metrics (#4746)
2023-08-08 - e7dd2ff - Clean task queue name from matching before writing to WorkflowTaskScheduledEvent (#4565)
2023-08-08 - b1804c2 - eager namespace refresher POC (#4725)
2023-08-08 - 881b923 - APS limit error handling (#4739)
2023-08-08 - a608721 - remove the event cache initial size and refactor putInternal (#4698)
2023-08-07 - a3a4ac5 - Add descriptions for schedule metrics (#4728)
2023-08-07 - 58e731a - Enable new schedule workflow logic (#4741)
2023-08-07 - 60f733a - Fix bug causing duplicates when listing s3-archived workflows (#4712)
2023-08-07 - 5889f1c - Continue replication verification by skipping workflow which should be or soon to be deleted (#4734)
2023-08-07 - c861c7e - Update main branch in Makefile (#4740)
2023-08-07 - c49bdc6 - Change schedule jitter to depend on schedule + namespace ids (#4685)
2023-08-07 - 3bece5f - Collapse duplicate visibility tasks (#4727)
2023-08-07 - 0541c81 - Send versioned tasks to dlq when user data disabled (#4668)
2023-08-07 - bd909c9 - Return errors from task executors when processing actions (#4719)
2023-08-07 - df262d6 - Remove debug logging from Cassandra schema update tool (#4738)
2023-08-04 - 23aac05 - Speed up passive task validation (#4700)
2023-08-04 - 10a6f6e - Return ResourceExhaustedError for consistent query buffer full (#4731)
2023-08-04 - ecb625a - Update timer task error handling (#4718)
2023-08-03 - dcccbf0 - Log actual error for get history data loss events (#4726)
2023-08-03 - 5285b80 - Update running server locally README (#4723)
2023-08-03 - ccd23cb - Bump UI version to 2.17.1 (#4720)
2023-08-03 - db49117 - Add worker versioning calls to read-only namespace APIs for authorizer (#4721)
2023-08-03 - 9de9ccf - Add ActivityType to ActivityInfo for mutable state (#4717)
2023-08-02 - 4928b73 - Reduce the heartbeat size of VerifyReplicationTasks activity (#4705)
2023-08-02 - 1eb3217 - Add replay tests for scheduler workflow (#4701)
2023-08-02 - 4efda3c - Add more errors to targeted fault injector (#4711)
2023-08-01 - f4ca57f - Special some handle history client generation (#4708)
2023-08-01 - fb1d507 - Provide a shard ownership-based rate limit quota scaler from the history/shard package (#4704)
2023-08-01 - ac1d174 - Simplify newTaskQueueManager arguments (#4691)
2023-07-31 - 2832918 - Support injecting additional interceptors in history and matching (#4680)
2023-07-31 - 82fec84 - Inject custom task executor wrapper (#4697)
2023-07-28 - c595eb8 - Finish idle schedule when a timer fires (#4602)
2023-07-28 - 4fb4dd9 - move IsValid to ControllableContext (#4699)
2023-07-27 - 9269507 - Add versioned tag to loaded task queue gauge (#4672)
2023-07-27 - 83a3a45 - Persist unknown build ids (#4667)
2023-07-27 - 0281243 - enable shard linger with time limit config (#4696)
2023-07-28 - a13efee - Add quotas.DelayedRateLimiter (#4688)
2023-07-27 - 48b80c0 - Add shard.OwnershipScaledRateBurst (#4687)
2023-07-27 - 851e26b - Support count group by in visibility with SQL (#4666)
2023-07-27 - f9b2db5 - Support count group by in visibility with Elasticsearch (#4619)
2023-07-27 - a3b5911 - Matching service task GC (#4418)
2023-07-27 - 5690107 - Put user data replication tasks in DLQ (#4609)
2023-07-27 - 922cc27 - Convert version history bad request to internal error (#4690)
2023-07-27 - fbd0de7 - Fix Go version string goreleaser.yml (#4689)
2023-07-27 - 541dee3 - Add back generated mocks (#4671)
2023-07-26 - 4cd4f7e - Refactor CalculateEffectiveResourceLimit and NamespaceCountLimitInterceptor (#4665)
2023-07-26 - 3be986c - support delaying shard close for membership change (#4659)
2023-07-25 - 8753b8e - Adjust CLI page size (#4682)
2023-07-25 - 157bf67 - Fix tdbg unable to dump all workflow raw history issue (#4681)
2023-07-25 - c3fa088 - Return nil instead of task discarded error if namespace is invalid locally (#4678)
2023-07-25 - e7bd028 - add configurable ownership caching to history client (#4652)
2023-07-24 - fa1597b - Assign fx pass in raw task converter (#4679)
2023-07-24 - 5008255 - Add more replication error logs (#4677)
2023-07-24 - 386a651 - Minor fixes in force replication verification (#4675)
2023-07-24 - 48d3107 - Restore defaultListWorkflowsPageSize back to 1000 (from 100) (#4674)
2023-07-22 - ce3f42e - Add clock.TimeSource.AfterFunc (#4611)
2023-07-21 - c57f587 - Add XDC replication cache (#4379)
2023-07-21 - e10f213 - Fix flaky TestForceReplicationWorkflow_VerifyReplicationTaskNonRetryableError (#4669)
2023-07-21 - f708c81 - Move redirect logic into taskQueueManager (#4657)
2023-07-21 - baa964e - ...
v1.21.5
Important
Temporal Server v1.21.0 introduced a security bug in the Cassandra tool (aka temporal-cassandra-tool
) that can expose the credentials in debug level logs. The issue is fixed with this release in #4738.
All Changes
2023-08-14 - 1eaaaf8 - Increaes RecordHeartbeat frequency in VerifyReplicationTask (#4771)
2023-08-14 - 194a893 - Skip verifying workflow which has already passed retention time (#4770)
2023-08-14 - 8e56612 - Turn ErrWorkflowClosing into a retryable error (#4765)
2023-08-14 - cadd933 - Remove debug logging from Cassandra schema update tool (#4738)
2023-08-07 - 7e216c3 - Bump server version to 1.21.5
2023-08-07 - 524bda3 - Fix bug causing duplicates when listing s3-archived workflows (#4712)
2023-08-07 - 5722c23 - Continue replication verification by skipping workflow which should be or soon to be deleted (#4734)
2023-08-07 - a8ff17f - Change schedule jitter to depend on schedule + namespace ids (#4685)
2023-08-07 - 5f1455f - Collapse duplicate visibility tasks (#4727)
2023-08-07 - 8bda654 - Return ResourceExhaustedError for consistent query buffer full (#4731)
2023-08-07 - 95a76ef - Add worker versioning calls to read-only namespace APIs for authorizer (#4721)
2023-08-07 - 9970ea5 - Reduce the heartbeat size of VerifyReplicationTasks activity (#4705)
2023-08-07 - 9d59be3 - Finish idle schedule when a timer fires (#4602)
2023-08-07 - 120b8be - enable shard linger with time limit config (#4696)
2023-08-07 - 4448efa - Put user data replication tasks in DLQ (#4609)
2023-08-07 - b8e7b28 - support delaying shard close for membership change (#4659)
2023-08-07 - 12c95dd - Return nil instead of task discarded error if namespace is invalid locally (#4678)
2023-08-07 - a7832c7 - add configurable ownership caching to history client (#4652)
2023-08-07 - 37a7049 - Minor fixes in force replication verification (#4675)
2023-08-07 - ed5aded - Fix flaky TestForceReplicationWorkflow_VerifyReplicationTaskNonRetryableError (#4669)
2023-08-07 - eb0ee5e - restructure history client for alternate ownership handling (#4636)
2023-08-07 - b105e5b - move controller shard membership handling (#4607)
2023-08-07 - 23135a3 - use a factory to create shard contexts (#4586)
2023-08-07 - aeb47aa - add stop reason for context (#4601)
2023-08-07 - 6c80ff6 - wait for drain duration before stopping shard controller (#4587)
2023-08-07 - 35f6670 - support delay before history joins membership (#4582)
2023-08-07 - a6dfbc6 - move ringpop start call to service start (#4510)
v1.21.4
Schema Upgrades
See the 1.21.0 release notes for schema upgrade information for upgrading to the 1.21 series. There are no new schema changes in 1.21.4.
Release Highlights
The release removes recent changes to cache handling to fix regressions that could cause excessive memory usage and block workflows under high load (5dbbc45, 6c48ed2).
Details about the v1.21.0 release can be found here.
Helpful links to get you started with Temporal
Temporal Docs
Server
Docker Compose
Helm Chart
Docker images for this release (use tag 1.21.4
)
Server
Server With Auto Setup (what is Auto-Setup?)
Admin-Tools
v1.21.3
Important
We identified a bug in this release relating to the mutable state cache, that could cause workflows to be blocked under high load. We recommend not deploying this release.
If downgrading from this release to the 1.20 series, downgrade to 1.20.4 instead of 1.20.3. This addresses an issue where the new BuildIds
search attribute was not understood and would cause errors in visibility processing.
Schema Upgrades
See the 1.21.0 release notes for schema upgrade information for upgrading to the 1.21 series.
Release Highlights
This release fixes a number of bugs:
- Workflows that use the new Workflow Update feature can be blocked with "non deterministic" errors under very rare circumstances.
- Introduce an option in the force-replication workflow to verify workflows were successfully replicated and applied on a target cluster.
- Fixed standby task discarding logic so that only task that does verification will be dropped.
- Changed the Elasticsearch Scan API back to use scroll if point in time is not available.
- Few other minor bugs.
And improvements:
- Change history event cache size from count-based to byte size-based to avoid caching large blob history events. The dynamic config keys
history.eventsCacheInitialSize
andhistory.eventsCacheMaxSize
are changed tohistory.eventsCacheInitialSizeByte
andhistory.eventsCacheMaxSizeByte
, respectively.
All Changes
2023-07-24 - 55c4d36 - Restore defaultListWorkflowsPageSize back to 1000 (from 100) (#4674)
2023-07-21 - d0974cd - Execute VerifyReplicationTasks as an individual activity (#4656)
2023-07-21 - 9f9b172 - Fail force-replication fast if any GenerateReplicationTasks/GenerateAndVerifyReplicationTasks activity returns error (#4642)
2023-07-21 - 6247d88 - Add verification of replication tasks in force replication (#4630)
2023-07-21 - 1d5601a - Validate workflow task start time when complete (#4663)
2023-07-21 - 655c51a - Exclude history APIs from persistence health signals (#4637)
2023-07-21 - 4edce52 - Per shard per namespace RPS warning log (#4525)
2023-07-20 - 53517fd - Custom search attributes validation per store (#4655)
2023-07-20 - 2830f38 - Do not use Unvailable as error type for expected error cases (#4650)
2023-07-20 - a9a9acb - Add support for ES Scroll for Scan API (#4614)
2023-07-20 - 67de6df - change the history cache key name to *Bytes (#4649)
2023-07-20 - 268e274 - Log when health rate limiter value changes (#4648)
2023-07-20 - 32b4219 - Better handle admin handler stream replication API lifecycle (#4647)
2023-07-20 - 7a125d9 - Allow configurating history cache non-user context lock timeout (#4645)
2023-07-20 - f97b681 - do not cache large blob history event (#4621)
2023-07-20 - 49b99fe - Drop standby tasks in standby taks executor (#4626)
2023-07-20 - a466c4d - Fix metrics tagging in stream replication task processing (#4625)
2023-07-20 - bcbb3b9 - Handle replicate workflow state with exist workflow data (#4617)
2023-07-20 - 5614950 - properly fix migration in mem ack aggregation (#4571)
2023-07-20 - 1ca8443 - Allow context disable frontend redirection (#4547)
2023-07-20 - 674657b - Skip final task queue update if lost ownership (#4554)
Details about the v1.21.0 release can be found here.
Helpful links to get you started with Temporal
Temporal Docs
Server
Docker Compose
Helm Chart
Docker images for this release (use tag 1.21.3
)
Server
Server With Auto Setup (what is Auto-Setup?)
Admin-Tools
v1.21.2
Important
- If downgrading from this release to the 1.20 series, downgrade to 1.20.4 instead of 1.20.3. This addresses an issue where the new
BuildIds
search attribute was not understood and would cause errors in visibility processing.
Schema Upgrades
See the 1.21.0 release notes for schema upgrade information for upgrading to the 1.21 series.
Release Highlights
This release fixes a bug that could cause delays in task processing during upgrades and excessive load on visibility. Also, it fixes a few minor other bugs.
All Changes
2023-07-14 - 9219be2 - Do not generate visibility task for unchanged BuildIds (#4632)
2023-07-12 - 74b51d8 - Send default tasks to unversioned queue when user data disabled (#4610)
2023-07-12 - d4cd737 - Disable user data when fetch fails (#4604)
2023-07-12 - 71ae36c - Fix MySQL 8 upgrade script to schema v1.3 (#4598)
Details about the v1.21.0 release can be found here.
Helpful links to get you started with Temporal
Temporal Docs
Server
Docker Compose
Helm Chart
Docker images for this release (use tag 1.21.2
)
Server
Server With Auto Setup (what is Auto-Setup?)
Admin-Tools
v1.20.4
Release Highlights
This release addresses an issue when downgrading a cluster running the 1.21 series back to 1.20: New workflows would receive a BuildIds
search attribute that would not be understood by 1.20 and would cause errors in visibility task processing. There's no need to upgrade to this release from 1.20.3, but if downgrading from 1.21, the downgrade should be done to this version.
All Changes
2023-07-13 - f124796 - Add BuildIds predefined search attribute (#4624)
Details about the v1.20.0 release can be found here.
Helpful links to get you started with Temporal
Temporal Docs
Server
Docker Compose
Helm Chart
Docker images for this release (use tag 1.20.4
)
Server
Server With Auto Setup (what is Auto-Setup?)
Admin-Tools