Releases: temporalio/temporal
v1.2.1
Release Highlights
This release adds official support for PostgreSQL v9.6 in Temporal.
Notable changes
2020-10-27 - c87f156 - Bugfix SQL 1.1 schema change (#907)
2020-10-26 - 1eafb88 - Fixes Dynamic Configuration bug where TaskType Constraint match always failed (#898)
2020-10-22 - c45ad91 - Add an option to tctl to override server name for TLS host verification (#889)
2020-10-21 - 9e3ed33 - Adds check-health command to temporal-cassandra-tool and switches start.sh to use that instead of cqlsh (#885)
2020-10-21 - 60f5a30 - Enables Cassandra auto-setup to specify username, password, port and TLS (#882)
2020-10-19 - ec220ca - Cherry pick #3627 from Cadence (#839)
2020-10-19 - f3e0b03 - Various TLS-related fixes (#874)
2020-10-16 - cf3a5f7 - Adds support for --tls_enable_host_verification as global option for TCTL (#873)
2020-10-16 - 7d065a2 - Exposes additional configuration knobs for TLS and updates docker-config so they can be set using env variables (#869)
2020-10-16 - 62c89e1 - Improve error handling (#870)
2020-10-15 - 27c7aa8 - Use go 1.15 (#867)
2020-10-15 - 548af47 - Suppress noisy timer related log (#860)
2020-10-15 - b25bd3d - Add protection on namespace cache in case namespace is not created (#824)
2020-10-15 - c32bb17 - Adding admin command for retrieving cluster metadata (#865)
2020-10-15 - 27965f4 - Enable Temporal to startup even if Elastic Search is down (#866)
2020-10-15 - 764b9e4 - Update readme (#861)
2020-10-14 - d2d09b6 - Update PostgreSQL TLS config (#853)
2020-10-13 - 07a3a63 - Add TLS configuration for PostgreSQL (#849)
Helpful links to get you started with Temporal
Temporal Docs
Server
Helm Chart
Docker images for this release (use tag 1.2.1
)
v1.1.1
Release Highlights
This is hotfix for v1.1.0 release. Please use it instead of v1.1.0
.
Change details
2020-10-20 - 6c6c87b - Hotfix SERVICES env
2020-10-20 - 7bf6bea - Fix the bug with 1.1 startup on Mysql after the upgrade (#879)
Helpful links to get you started with Temporal
Temporal Docs
Server
Helm Chart
Docker images for this release (use tag 1.1.1
)
v1.1.0
UPDATE: This release has few bugs, please use v1.1.1 instead.
Release Highlights
This release includes schema changes.
Before upgrading your cluster, run the schema tool and upgrade your schema to support version 1.1
For MySQL databases use: temporal-sql-tool
, for Cassandra use temporal-cassandra-tool
.
Below are a few examples that show how to upgrade "default" and "visibility" schemas for Cassandra.
Run these commands if you "bring your own" database.
Default:
temporal-cassandra-tool --tls --tls-ca-file $TLS_CA_FILE --user $CASSANDRA_USER --password $CASSANDRA_PASSWORD \
--endpoint $CASSANDRA_ENDPOINT --keyspace temporal --timeout 120 update --schema-dir ./schema/cassandra/temporal/versioned
Visibility:
temporal-cassandra-tool --tls --tls-ca-file $TLS_CA_FILE --user $CASSANDRA_USER --password $CASSANDRA_PASSWORD \
--endpoint $CASSANDRA_ENDPOINT --keyspace temporal_visibility --timeout 120 update --schema-dir ./schema/cassandra/visibility/versioned
Run these commands if you have a localhost installation:
Default:
temporal-cassandra-tool --keyspace temporal update -schema-dir schema/cassandra/temporal/versioned
Visibility:
temporal-cassandra-tool --keyspace temporal_visibility update -schema-dir schema/cassandra/visibility/versioned
Let us know how you use it: https://community.temporal.io/
Change details
2020-10-01 - 4e9f18e - Add ability to specify client certificate and associated private key via base64 values in config (#782)
2020-10-01 - 94c4bed - Add TLS settings to config_template.yaml (#783)
2020-10-02 - 2051585 - Convert int/int64 timestamps to time.Time (#786)
2020-10-05 - 0399b19 - Make marker event payloads readable in cli (#794)
2020-10-05 - 1bbdee5 - Enable support for ScyllaDB #801
2020-10-05 - c2d50b8 - Make upsert event payload readable in cli (#797)
2020-10-07 - b63d577 - Adding mutable metadata and cluster id (#803)
2020-10-08 - cd1e466 - Add support for TLS and mTLS to tctl (#812)
2020-10-09 - 0531c95 - Adding automated version check on server (#823)
2020-10-10 - 32d6a92 - Extract server struct and add server options (#826)
2020-10-12 - 490d2fa - Cluster metadata api (#835)
2020-10-12 - 505f876 - Add a server option for setting authorizer (#829)
2020-10-12 - 84053ea - Enforce minimum TLS version of 1.2 (#831)
2020-10-12 - 88f9ddd - Improve test stability (#838)
2020-10-12 - 9c8813b - Add server option for overriding default TLS config provider (#830)
2020-10-12 - abf5779 - Reduce redundant history tree creation for workflow reset (#825)
2020-10-12 - e30f9f3 - Connect ElasticSearch with username and password (#833)
2020-10-13 - 5a28408 - Remove unused config (#847)
Helpful links to get you started with Temporal
Temporal Docs
Server
Helm Chart
Docker images for this release (use tag 1.1.0
)
Server
Server With Auto Setup
CLI (tctl)
Admin-Tools
Notes
This release introduced version info check feature that periodically checks most recent version of temporal in order to provide upgrade recommendations. If you would like to disable this feature either set TEMPORAL_VERSION_CHECK_DISABLED=1
or set frontend.enableServerVersionCheck
dynamic config property to false.
v1.0.0
Release Highlights
v1.0.0
is Temporal's first production ready release!
Let us know how you use it: https://community.temporal.io/
Change details
No new bugs have been found since v1.0.0-rc1
.
Helpful links to get you started with Temporal
Temporal Docs
Server
Java SDK
Java Samples
Go SDK
Go Samples
Helm Chart
Docker images for this release (use tag 1.0.0
)
v1.0.0-rc1
Release Highlights
v1.0.0-rc1
is undergoing testing as a release candidate. Please do not use this release for production workloads.
The release improves the system by fixing the bugs described in the change details below.
Change details
2020-09-22 - 8c74aef - Remove JSON serialization option for persistence (#750)
2020-09-24 - 23e313d - Use time datatype instead of unix nano representation for archival (#757)
2020-09-24 - a94be76 - Fix default out-of-box experience for tctl batch commands (#758)
2020-09-24 - a97a0e6 - Add message to Timeout failures (#756)
2020-09-24 - ce204a1 - History activity cancellation fixes (#760)
2020-09-25 - 09036fe - Add failure type info to tctl wf describe (#766)
2020-09-25 - 0d332ed - Fix history resender source cluster (#3365) (#767)
2020-09-25 - 1214ac0 - Remove timestamp rounding to avoid preliminary timer firing (#765)
2020-09-25 - 1b00d51 - Do not extend activity expiration time (#3489)
2020-09-25 - 34ec7e2 - Enforce re-replication context timeout for standby tasks (#3473)
2020-09-25 - 3bdf1aa - Change client/server version support (#761)
2020-09-25 - 41e1a38 - Start queue processor before failover callback registration (#3494)
2020-09-25 - 4e14c2d - Adding replication task processing metrics (#3452)
2020-09-25 - 666dadb - removed current workflow CAS from persistence used by 2dc only (#755)
2020-09-25 - 711d4c1 - Enforce time resolution for timerMaxReadLevel (#3411)
2020-09-25 - 758432e - Fix code to be compatible with go 1.15.2 (#762)
2020-09-25 - 8fd6fd3 - Sets default WorkflowExecutionTimeout and WorkflowRunTimeout on the request in FrontEnd. (#763)
2020-09-25 - 95261ce - Support NDC raw histroy in message parser (#3227)
2020-09-25 - 9f05b74 - Tune dynamic config knobs
2020-09-25 - a2443d9 - Fix task processor shutdown logic (#3311)
2020-09-25 - a8e0f07 - Fix upsert SQL template for Postgres plugin (#3498)
2020-09-25 - b331a4e - Add a default timeout for get replication messages API (#3459)
2020-09-25 - c886a7e - Fix regression from #3489 merge
2020-09-25 - d066d27 - Reduce context timeout for transfer tasks (#3437)
2020-09-25 - d516b40 - Update worker replication config (#3373)
2020-09-26 - 413102a - Update contribution guide with a note about increasing file handle limit (#769)
2020-09-27 - 1410257 - Fix repo URLs in README.md
2020-09-27 - 606faf5 - Fixes instances where an activity heartbeat timeout would get "lost" (#771)
2020-09-28 - aa15e3b - Add instructions for developing on Windows to the contribution guide (#770)
Helpful links to get you started with Temporal
Temporal Docs
Server
Java SDK
Java Samples
Go SDK
Go Samples
Helm Chart
Docker images for this release candidate (use tag 1.0.0-rc1
)
v0.31.0
Release Highlights
v0.31.0
maintains Temporal's "Alpha" release state. Please do not use this release for production workloads.
Important
This release contains hotfixes. The most critical one (#740) fixes an issue that prevented the server from spinning up multiple times via docker-compose
.
Change details
2020-09-19 - 197b252 - Fix install-schema target (and docker image) idempotency (#740)
2020-09-19 - 2627df7 - Fix delete workflow execution admin command (#742)
2020-09-19 - 526beb5 - Temporary fix for WorkflowMutableState serialization (#739)
2020-09-21 - 53ef2b2 - Remove GetRawHistoryV1 api used for 2dc (#744)
2020-09-21 - d572abd - Force terminate workflow execution when exceeds system limit (#743)
2020-09-22 - 37ea46d - Prettify tctl workflow history export to file (#748)
Helpful links to get you started with Temporal
Temporal Docs
Server
Java SDK
Java Samples
Go SDK
Go Samples
Helm Chart
Docker images for this alpha release (use tag 0.31.0)
Server
Server With Auto Setup
CLI (tctl)
Admin-Tools
Things we are still working on
- Stress and Performance testing.
- Failure testing.
v0.30.0
UPDATE: Due to #740 bug docker-compose
version of the server can't be started more than once. Please use v0.31.0 instead.
Release Highlights
v0.30.0
maintains Temporal's "Alpha" release state. Please do not use this release for production workloads.
Important
-
You can not rollback to a previous version once you have upgraded to
v0.30.0
. Data that is created inv0.30.0
is not supported by older versions and you will getpanic: runtime error: invalid memory address or nil pointer dereference
when the service tries to start. Using an older version after the upgrade will require a fresh install. -
After upgrading to
v0.30.0
you can not callReset
on Workflows which were started with a previous version. However, you can still callReset
on Workflows that were started while runningv0.30.0
.
Change details
2020-08-25 - e9bb772 - Remove Membership.Name config; Hardcode Ringpop app name (#688)
2020-08-26 - f210123 - Disable trimming of Failure field (#693)
2020-08-27 - 96ca34e - Fixes bug where terminating a parent with a lot of child workflows that continue-as-new doesn't propagate terminate to children (#696)
2020-08-28 - 3f3dcce - Don't fail if schema_version and schema_update_history tables already exist (#697)
2020-09-01 - d95406a - Skip BufferedEvents persistence when empty (#707)
2020-09-02 - 50de8a2 - Remove 2dc codepath (#692)
2020-09-02 - d86d7e2 - Expose SQL Connection Options in docker template (#708)
2020-09-04 - 02ab64c - Fixes bug where the failure details were not persisted for a marker recorded event, which corrupts workflow on replay #712
2020-09-05 - 7f44f34 - Fixes MySQL persistence for workflow reset (#713)
2020-09-08 - 99c40e2 - Update workflow resetter to call PersistNonFirstWorkflowEvents (#714)
2020-09-08 - e108bb9 - BufferedEvents Read Path Protections (#709)
2020-09-09 - 7ad0752 - Fix publicClient (#717)
2020-09-10 - 078e01f - Set Backoff.MaxDelay to 10 seconds (#720)
2020-09-10 - acbb6a5 - Fixes Internal Server Error returned on simultaneous SignalWithStart requests for the same WF ID (#719)
2020-09-10 - bddefb6 - Fix wrong field (#721)
2020-09-11 - faf2fe7 - WorkflowExecutionInfo Field Conversions (#715)
2020-09-15 - a09867d - Fixes blockage of Transfer Queue if UpsertSearchAttributes is invoked on a Temporal Server w/o Elastic Search (#727)
Helpful links to get you started with Temporal
Temporal Docs
Server
Java SDK
Java Samples
Go SDK
Go Samples
Helm Chart
Docker images for this alpha release (use tag 0.30.0)
Server
Server With Auto Setup
CLI (tctl)
Admin-Tools
Things we are still working on
- Stress and Performance testing.
- Failure testing.
v0.29.0
Release Highlights
v0.29.0 maintains Temporal's "Alpha" release state.
Please do not use this release for production workloads.
Change details
2020-08-03 - e5e7846 - Convenience docker-compose file that enables one to deploy both MySQL and ElasticSearch in one box environment.
2020-08-04 - 0ae59f6 - Adds automatic population of unset retrypolicy field when starting Workflows (#654)
2020-08-04 - 34948ae - Upgrade Web UI to v0.28.1 (#657)
2020-08-04 - 36525fa - Replace time.Now() with time.Now().UTC() and time.Unix() with time.Unix().UTC() (#648)
2020-08-04 - a3d0334 - Permit Web to execute write requests by default (#656)
2020-08-04 - d6b4e74 - Fix namespace cache refresh errors in integration tests (#653)
2020-08-06 - eeb3e79 - Fix development_*.yml PublicClient/ClusterRpcAddress Ports (#650)
2020-08-09 - 91d8190 - Replace Insert Ignore in Execution (#658)
2020-08-10 - 04058a5 - Allow reset for workflow with corrupted history when possible (#661)
2020-08-11 - 1547d77 - Exit with error code when tests are failing (#669)
2020-08-11 - 2e47e40 - Use environment.GetCassandraPort() instead of defaultCassandraPort in tests (#660)
2020-08-11 - 993c06a - Remove unused yaml fields for logging (#667)
2020-08-11 - aabf3c8 - fix error message for the reset (#670)
2020-08-12 - 6164b91 - Support configurable PublicClient in docker config_template.yaml (#671)
2020-08-12 - e8e21a8 - Remove unused errors (#659)
2020-08-13 - 503f037 - Support time.Time in MutableState#ActivityWithTimerHeartbeat methods (#666)
2020-08-13 - c551f21 - Allow workflow reset without run id (#672)
2020-08-13 - dbafe8a - Reset for workflows without completed tasks (#665)
2020-08-17 - 15c8d04 - Update proto license header (#617)
2020-08-17 - d51ef55 - RespondWorkflowTaskCompleted returns error on bad commands (#655)
2020-08-18 - 2e1159f - Add config property for Cassandra connection timeout (#679)
2020-08-18 - fec152d - Allows terminate of child even after continue as new (#365)
2020-08-20 - 2a4449c - Allow dynamic config editting outside of container when running docker-compose (#681)
Helpful links to get you started with Temporal
Temporal Docs
Server
Java SDK
Java Samples
Go SDK
Go Samples
Helm Chart
Docker images for this alpha release (use tag 0.28.0)
Server
Server With Auto Setup
CLI (tctl)
Admin-Tools
Things we are still working on
- Stress and Performance testing.
v0.28.0
Release Highlights
v0.28.0 maintains Temporal's "Alpha" release state.
Do not use this release for production workloads. There are no more code or API breaking changes after this release, however stabilization efforts are still ongoing.
Change details
Major updates:
- Retry attempts start with 1 instead of 0.
- Activity has default retry policy.
- All times and durations use protobuf types
google.protobuf.Timestamp
andgoogle.protobuf.Duration
instead ofint64
/int32
.
Minor updates and fixes
2020-07-15 - eaf9ee9 - Fix elastic search index name for ExecutionStatus (#544)
2020-07-16 - 3e895b4 - TaskQueue Schema Collapse (#500)
2020-07-16 - 7e38997 - Remove cancel failed events for activity and timer (#534)
2020-07-16 - 7e994f8 - Move internal service error to the repo (#552)
2020-07-17 - 999fa85 - Removing references to graphite in docker/README (#548)
2020-07-18 - 71b8a1a - Set task queue kind explicitly (#545)
2020-07-18 - 7278094 - Fixes start.sh to not output MySQL/Postgres password during DB setup (#559)
2020-07-20 - 1670f77 - Rename workflow_task_timeout_seconds (#570)
2020-07-20 - 2411b19 - Allow for ElasticSearch scheme (https, http) to be configurable via container's env var (#563)
2020-07-20 - 4485e83 - ChildWorkflow defaults to workflow run timeout specified by parent (#566)
2020-07-20 - 73b60b1 - Add Hash to Task Schema Key, compound TaskQueueId (#557)
2020-07-20 - b36bc0a - Fixes flaky continueAsNewWorkflow_Timeout integration test (#564)
2020-07-20 - c37db07 - Timeout workflow when WorkflowExecutionTimeout is reached (#560)
2020-07-20 - d066a7d - Raname WorkflowTaskTimeout to DefaultWorkflowTaskTimeout and CurrentWorkflowTaskTimeout to WorkflowTaskTimeout (#556)
2020-07-20 - d527d1c - Change default order for listClosedWorkflowExecutions to by close time #312 (#555)
2020-07-21 - 1e6087a - Fixes panic when ListTaskQueuePartitions is invoked
2020-07-21 - 7c6df6d - Remove emit_metric field from namespace (#579)
2020-07-21 - 9d81f1d - Changes ListClosedWorkflow result ordering for SQL-based visibility stores to be based off of workflow close time (#578)
2020-07-21 - d48bd8c - Fix TestActivityHeartbeatTimeouts flakiness (#577)
2020-07-21 - ed8f902 - BufferedEvents Compound Primary Key (#568)
2020-07-22 - 4ee2031 - Fix TestClusterMembershipUpsertCanPageRead (#597)
2020-07-22 - 91d435c - tctl: improve failure formating (#594)
2020-07-22 - c72053f - ClusterMembership Partition Pin/AutoIncrement Removal (#583)
2020-07-22 - ed595e2 - Fix Querying archived workflows not recognizing terminated workflows (#541)
2020-07-23 - 9865b53 - Add pinned version_partition column to schema version tables (SQL) (#602)
2020-07-24 - 0bbbb78 - Support multiple input options in cli (#600)
2020-07-24 - 79269f9 - Convert REPLACE INTO -> INSERT ON DUPLICATE KEY UPDATE (#601)
2020-07-24 - a62d26b - Update SDK to zapless version (#605)
2020-07-24 - e0fdc8c - Adds validation for workflow task for child start and cancel (#599)
2020-07-24 - e807dca - Fixes nil reference when trying to propagate terminates to child workflows
2020-07-27 - 2ab6881 - Convert ActivityInfo Persistence POGOs to Proto (#615)
2020-07-27 - 36643c5 - Add serviceName to health check (#614)
2020-07-27 - 4040191 - Rename cadence-cluster-topics to temporal-cluster-topics (#612)
2020-07-27 - 7a9752b - Use proto JSON serializer for proto objects (#611)
2020-07-27 - 8c9349d - Rename Cassandra Namespace Tables (#608)
2020-07-27 - f2bf9b2 - Convert ChildExecutionInfo Persistence POGOs to Proto (#616)
2020-07-28 - 17e3b67 - Convert ReplicationState/ExecutionState POGO to Proto (#622)
2020-07-28 - 463fc8a - Default NumTaskqueue*Partitions to 4, use this value when listing partitions (#618)
2020-07-28 - 4b01234 - Disable Archival feature in development docker (#609)
2020-07-28 - 80514cd - Remove Proto Double Serialization, VersionHistories Column Cassandra (#624)
2020-07-29 - 02c8fac - Clean up unused feature flags (#625)
2020-07-29 - 10de202 - Sets default activity maximum retry interval to be 100x minimum retry interval (#630)
2020-07-29 - 1f880f6 - Adds override for individual fields on activity retry policy #628
2020-07-29 - 22ec320 - Fixes issue where NonRetryableErrorTypes was getting dropped during activity info validation
2020-07-30 - 0187763 - Convert attempts to int32 for consistency (#644)
2020-07-30 - 04c4220 - Use 0 as value for EmptyEventID which represents Unspecified (#634)
2020-07-30 - 1908777 - Sleep within activity was too aggressive resulting in test flakiness (#635)
2020-07-30 - 381c67f - Default LatestTime to Now in ListOpen/CloseWorkflowExecutions (#641)
2020-07-30 - 58f95bc - Default to multiple TaskQueue partitions in FrontEnd LoadBalancer configs (#639)
2020-07-30 - 59629e2 - Make 0 as invalid value for failover Version (#642)
2020-07-30 - ced7304 - Update ShardID to start with 1 instead of 0 (#633)
2020-07-30 - e299cdd - Routing logic to take both NamespaceID and workflowID into account (#629)
2020-07-31 - e5e1edf - Use Platform Stable Hashing; Reduce TaskQueueId Size (#647)
Helpful links to get you started with Temporal
Temporal Docs
Server
Java SDK
Java Samples
Go SDK
Go Samples
Helm Chart
Docker images for this alpha release (use tag 0.28.0)
Server
Server With Auto Setup
CLI (tctl)
Admin-Tools
Things we are still working on
- Stress and Performance testing.
v0.27.0
Release Highlights
v0.27.0 maintains Temporal's "Alpha" release state.
Do not use this release for production workloads as there are breaking changes planned for future releases.
This release includes:
- Import path renames
- Major entity renames
tctl
improvements- Other minor updates
Change details
Import path renames
go.temporal.io/temporal-proto
→go.temporal.io/api
go.temporal.io/temporal
→go.temporal.io/sdk
: Root files were moved totemporal
directory, so package name remained the same but import path changed fromgo.temporal.io/temporal
togo.temporal.io/sdk/temporal
.github.com/temporalio/temporal
→go.temporal.io/server
github.com/temporalio/temporal/.gen/proto
→go.temporal.io/server/api
: This is already checked into the repo. This enables the reference of the server package to build a custom version.
Major entities renames:
RetryStatus
→RetryState
ArchivalStatus
→ArchivalState
NamespaceStatus
→NamespaceState
: Note that, in the config file,status:
needs to be renamed tostate:
.DecisionTask
→WorkflowTask
Decision
→Command
Decider
→Workflow
tctl
improvements
2020-07-08 - 37f1b77 - Fixes up admin cluster command for adding search attributes to be indexed (#514)
2020-07-10 - 0a26539 - Fix issue where non-string heartbeat details fail to display and only the first heartbeat detail shows up in CLI
2020-07-14 - 0eafe04 - Use ToString for CLI output (#542)
Minor updates
2020-06-29 - 4ca4935 - Tighten Ringpop Join Params (#446)
2020-06-30 - 6209190 - Add GOBIN to PATH in Makefile (#485)
2020-06-30 - a756661 - Fix retry for wrapped failures (#490)
2020-07-02 - 1d4a36c - Support Dynamic Cluster IP Addresses in Failure Scenarios (#495)
2020-07-06 - dd0857e - Upgrade gocql to latest release (#498)
2020-07-08 - 16f23cb - NamespaceMetadata Partitioning Alignment (#486)
2020-07-10 - 1909ab0 - Adopt Google api-linter (#526)
2020-07-13 - 014a251 - Pass 127.0.0.1 explicitly to Cassandra in dependency docker (#540)
2020-07-13 - 7ffa04c - Remove statsd from / add admin-tools to docker-compose files (#536)
2020-07-13 - 89c51cc - Expose cassandra consistency and serial consistency settings in configuration (#533)
Helpful links to get you started with Temporal
Temporal Docs
Server
Java SDK
Java Samples
Go SDK
Go Samples
Helm Chart
Docker images for this alpha release (use tag 0.26.0):
Server
Server With Auto Setup
CLI (tctl)
Admin-Tools
Things we are still working on
- We are still working and cleaning some internal API contracts. So more breaking changes are coming. So please don't use this for production setup yet.
- Stress and Performance testing.