All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add API to set custom status (#81) - by @famarting
- Add missing purge orchestration options (#82) - by @famarting
- Add support for activity retry policies (#83) - by @famarting
- Add support for sub-orchestration retry policies (#84) - by @famarting
- Make WaitForOrchestrationXXX gRPC APIs resilient (#80) - by @famarting
- Improve worker shutdown logic (#77) - by @famarting
- Fix GetInstance gRPC API to return not found when instance is not found (#87) - by @cgillum
- Cascading Terminate and Purge support (#47 and #63) - by @shivamkm07
- Support for scheduled orchestration starts (#60) - by @shivamkm07
- Bump google.golang.org/grpc from 1.53.0 to 1.56.3 (#39)
- Updated durabletask-protobuf submodule to
4207e1d
- Add retries to GetWorkItems stream connection (#72) - by @famarting
- Fix orchestration hang caused by worker disconnect (#61)
- Fixed another ticker memory leak (#30) - contributed by @DeepanshuA and @ItalyPaleAle
- Small tweak to IsDurableTaskGrpcRequest (#29) - contributed by @ItalyPaleAle
This is a breaking change release that introduces the ability to run workflows in Go in an out-of-process worker process. It also contains various minor improvements.
- Added
client
package withTaskHubGrpcClient
and related functions - Added otel span events for external events, suspend, and resume operations
- Added termination support to task module
- Added sub-orchestration support to task module
- (Tests) Added test suite starter for Go-based orchestration execution logic
- Renamed
WithJsonSerializableEventData
toWithJsonEventPayload
- Moved gRPC client and related functions from
api
package toclient
package - Switched SQLite driver to pure-Go implementation (no CGO dependency) (#17) - contributed by @ItalyPaleAle
- Orchestration metadata fetching now gets input and output data by default (previously had to opt-in)
- Removed "input" parameter from CallActivity APIs and replaced with options pattern
- Removed "reason" parameter from Termination APIs and replaced with options pattern
- Renamed api.WithJsonEventPayload to api.WithEventPayload
- Separate gRPC service registration from NewGrpcExecutor (#26) - contributed by @ItalyPaleAle
- Default to using in-memory databases for sqlite backend (#28)
- Bump google.golang.org/grpc from 1.50.0 to 1.53.0 (#23)
- (Tests) Switched from
assert
torequire
in several tests to simplify code
- Timeout error propagation in gRPC client
- Various static analysis warnings
- Fix ticker memory leak - contributed by @yaron2