Releases: temporalio/sdk-go
v1.21.2
v1.22.1
v1.22.0
Highlights
Schedules API release
The draft tag from the Schedules
API has been removed.
Specific Changes
2023-02-14 - 3063eee - workflowcheck: mark some fmt functions as deterministic (#1038)
2023-02-16 - 0b0234f - Update CI to test golang 1.20 (#1039)
2023-02-21 - 16d73c5 - Local activity nonfirst attempt counts for metering (#1046)
2023-02-21 - dc4f883 - Use sensible defaults for ScheduleCalendarSpec (#1047)
2023-03-01 - 07c8c7e - Track mutable side effect calls (#1051)
2023-03-07 - 3ce152b - Lookahead to infer messages on all replay paths (#1055)
2023-03-09 - e047c84 - Reduce SA bloat on GetVersion (#1056)
2023-03-13 - 3d009e0 - Add versioning API methods to client (#920)
2023-03-14 - 6b11229 - Suppress update messages during replay (#1059)
2023-03-16 - 91636e4 - Pass errors to the child workflow execution future (#1058)
2023-03-20 - 6eb3e36 - Remove experimental tag from schedules (#1064)
2023-03-22 - e62df8c - Fix compatibility misspelling (#1067)
2023-03-27 - 3b95c6e - Track the worker for each workflow context (#1070)
2023-03-28 - 3d9a1ef - Fix DevServer tests (#1072)
2023-03-28 - 88a40de - Add FrontendHostPort method to DevServer (#1071)
2023-03-29 - 5c0e091 - Message inference for more WF ctx reset paths (#1073)
2023-04-04 - 1b62656 - Remove WorkflowIDReusePolicy from schedule options (#1077)
2023-04-11 - 0005c07 - Add message IDs to update messages (#1079)
2023-04-12 - a294142 - Update WorkflowReplayer docstring instructions for obtaining workflow history JSON (#1081)
v1.21.1
Highlights
Improved worker resilience
Worker now retries for a period of time on fatal errors when polling for new tasks. This improves worker resilience when running temporal behind proxies that may modify incoming requests.
Specific Changes
2023-02-06 - ac60814 - Add testsuite.StartDevServer that starts temporal CLI (#1032)
2023-02-09 - f554827 - Retry "non retryable" error on worker long poll (#1034)
v1.21.0
Highlights
Updates to depend on the latest upstream API version
Specific Changes
2023-01-24 - 1fe6824 - Convert SDK update to protocol/messages approach (#1006)
2023-01-27 - 3b37e0f - Prevent cache eviction race (#1013)
2023-01-30 - 1b39ac9 - Deliver messages even when events are skipped (#1015)
2023-01-30 - 9a541ee - Add ContextPropagators option for replay (#1019)
2023-01-30 - 9b0c6fc - Correct updateHandle.Get when passed nil pointer (#1017)
2023-01-31 - 093eabe - On replayer use task queue from history (#1023)
2023-01-31 - 6e8a39a - Fix headings on activity docs (#1022)
2023-02-01 - 18824b6 - Protect against nil defref in update resp handling (#1025)
2023-02-01 - c423fc8 - Expose session state (#1024)
2023-02-01 - f037c9d - Workaround for updates delivered in first WFT (#1026)
2023-02-02 - a9a4baa - Update to api v1.16.0 (#1028)
2023-02-02 - c6405d6 - Handle CanceledAfterStarted in CanceledEvent (#1027)
v1.20.0
Highlights
Workflow Replayer
Many improvements to the workflow replayer to help catch more non nondeterminate workflow changes when tested with the replayer.
Specific Changes
2022-12-08 - 8e0a972 - Add EnableLoggingInReplay flag to WorkflowReplayerOptions for propagation (#979)
2023-01-03 - 06e474c - Fix schedule docs (#992)
2023-01-04 - 50f633a - Client APIs for workflow update (#989)
2023-01-04 - 5fffe62 - Add GetUnhandledSignalNames (#993)
2023-01-04 - 6f4d14f - Fix history replayer (#990)
2023-01-05 - 0d7304b - Add option to overide replayer execution info (#998)
2023-01-05 - f965f94 - Fix panic on starting child workflows with duplicate IDs (#999)
2023-01-09 - 3dc5e1e - Rewrite service proxy and interceptor to use new api-go code. (#974)
2023-01-09 - 64d80f8 - contrib/tally: improve godoc (#985)
2023-01-11 - a080d2c - updated installation instructions for determinism checker to include latest flag. (#1001)
2023-01-11 - a1154f3 - Datadog tracing implementation (#921)
2023-01-11 - b575b7c - Rename sdk-features to features (#1002)
2023-01-16 - 002db6e - Some documentation fixes (#1004)
v1.19.0
Highlights
Schedule API (experimental)
💥 Breaking changes have been made to creating a schedule. A *ScheduleWorkflowAction
instead of a ScheduleWorkflowAction
type is now used when creating a schedule.
Specific Changes
2022-11-15 - 68010f8 - bugfix: consistently plumb failureConverter (#956)
2022-11-15 - ad892e2 - Schedule fixes (#959)
2022-11-21 - 0d8f46a - Fix default catchupWindow (#963)
2022-11-22 - 0635622 - Add ci trigger for sdk-features (#961)
2022-11-28 - 86b0ef6 - Add num_pollers metric (#965)
2022-11-28 - a23dec9 - Add local_activity_execution_failed metric (#966)
2022-12-06 - 8314c25 - Fix some documentation (#976)
2022-12-06 - 9bcabc9 - Reset SA and memos if execution context is stale (#973)
v1.18.1
Highlights
Failure Converters
We have added a new API to allow users to customize how errors are serialized and de-serialized to failures.
Schedule API (experimental)
We have added a new API to help users run workflows against a provided schedule.
Specific Changes
2022-09-20 - 077e261 - Skip upsert memo integration tests (#914)
2022-09-21 - 754b253 - Do not call ResetSticky on force eviction (#915)
2022-09-28 - a6a8749 - Support backing off more for resource exhausted (#917)
2022-09-30 - e6a06f2 - Add support for custom failure converters (#924)
2022-10-12 - 14df12c - Add IdempotencyKey start span option (#931)
2022-10-19 - 3f3eca4 - Do not set idempotency key for HandleQuery (#934)
2022-10-31 - 40f7da0 - Add resource exhausted metric with cause (#940)
2022-10-31 - 67b4c87 - Don't use data converter if search attribute value is of Payload type (#913)
2022-11-03 - 66eb848 - Adapt to interaction-based upstream API changes (#944)
2022-11-03 - 97ed634 - Set default max eager activities to 3 (#946)
2022-11-07 - 620fa72 - Provide better custom logger example in README (#911)
2022-11-09 - 8ab62d9 - Add schedule API (#943)
2022-11-10 - 133a6a0 - Remove default limit of overall max eager activities and add max per task (#952)
v1.18.0
(outdated, see v1.18.1)
v1.17.0
Highlights
Connection sharing across clients
A new function is available, client.NewClientFromExisting
that can create a client using the same connection as an existing client and a new set of non-connection options.
Upsert memo
Similar to workflow.UpsertSearchAttribute
which mutates search attributes from inside the workflow, there is now workflow.UpsertMemo
which mutates the workflow memo from inside the workflow. This is only usable with Temporal server versions 1.18+.
Workflow channel utilities
Two new utilities for channels inside of workflow: Channel.Len
which is similar to len(ch)
in Go, and Channel.ReceiveWithTimeout
which supports timing out a channel receive.
Specific Changes
2022-08-10 - 8d5582c - Doc fixes (#879)
2022-08-10 - f150e45 - Share connection across different clients (#881)
2022-08-19 - 3d111e3 - Spawn update coro directly through dispatcher (#885)
2022-08-29 - 74a1b73 - Fix code samples for workflow.SideEffect (#890)
2022-08-29 - 85978da - Fix doc formatting (#892)
2022-08-30 - 7f1b18f - Stop logging poller errors after stop (#894)
2022-08-30 - b5942ae - Sync batch operations api (#889)
2022-09-01 - d1f860c - Handle Client.Close on cloned clients (#893)
2022-09-01 - f4f143c - Expose OperatorService client (#902)
2022-09-02 - e7905ec - Make Worker.Stop reentrant (#906)
2022-09-06 - d884fe6 - Update CODEOWNERS to temporalio/sdk team (#905)
2022-09-07 - 9341009 - Add UpsertMemo API (#883)
2022-09-08 - ffa7590 - Added Channel.Len and Channel.ReceiveWithTimeout (#895)