v1.14.0
Highlights
💥 Breaking changes have been made to remove a couple of advanced options and to do slight renames in the converter
package for encoders. See below for details
Replace Client Health Checking
Previously, by default creating a client would use the gRPC health check on the server to ensure it was available or would fail client creation. Due to now needing information about what the server can/can't do, we make a different call to obtain that info instead of the health check call on client creation.
This change should not be visible to most users. However, we have removed the advanced client.ConnectionOptions.DisableHealthCheck
and associated health check options from that struct. This no longer applies since there is no health check. This also means currently all clients make an eager connection to the server as they always had by default.
Advanced Encoding Updates
We have renamed the recently added converter.PayloadEncoder
to converter.PayloadCodec
for cross-SDK clarity and did similar for other "encoder" parts. This codec is focused on byte-to-byte conversion during data conversion. It can be used in a converter.CodecDataConverter
to transform bytes for encryption, compression, and/or anything else.
We have added a few utilities to aid those wanting to do custom encoding in a more central place:
- We have added a gRPC interceptor in the
converter
package that, when used for a custom proxy, will transparently encode and decode payloads given a codec - We have added a gRPC proxy in the
client
package that can be registered with a gRPC server to proxy requests to a Temporal server (which can then use the aforementioned interceptor to do encoding/decoding) - We have added the ability to expose a codec over HTTP for use with a remote data converter that will let you encode/decode remotely (for expected use from the browser UI and
tctl
for centralized end-to-end encryption)
Specific Changes
2022-02-22 - 22369cb - Fix markdown syntax. (#734)
2022-02-22 - 3f45616 - Do not serialize empty OpenTracing spans (#729)
2022-02-22 - 621fd1e - Support ignore comment alongside godoc (#731)
2022-02-22 - 856f5c2 - Adjust HTTP protocol to take Payloads not Payload. (#733)
2022-02-22 - a7d8c1a - Set workflow start time for tests on workflow info (#735)
2022-02-22 - e96a9d9 - Disallow MaxConcurrentWorkflowTaskPollers to be set to 1 (#727)
2022-02-28 - c82b73d - Fix activity cancellation race when not cancelling workflow (#741)
2022-03-01 - c3eb5b0 - Replace health checking with server-capability getter and disable retries on internal errors (#706)
2022-03-01 - d409984 - Allow replayer to use local activities with string names (#745)
2022-03-02 - 2c5ed0f - GRPC Service Proxy and Encoding Interceptor (#738)
2022-03-07 - 8cb1963 - Disable timeout retries during session creation (#746)
2022-03-09 - 8608a59 - Rename PayloadEncoder -> PayloadCodec. (#749)
2022-03-10 - 2a582f8 - Add mock call assertions to TestWorkflowEnvironment (#748)