What's Changed
New Features
-
We're excited to announce SDK-side support for priority queues, which you can read more about here. With this feature, you can set the priority when triggering a task and also set a default priority for the task. For example, in the Python SDK:
low_prio = priority_workflow.run_no_wait( options=TriggerWorkflowOptions( ## 👀 Adding priority and key to metadata to show them in the dashboard priority=1, additional_metadata={"priority": "low", "key": 1}, ) ) high_prio = priority_workflow.run_no_wait( options=TriggerWorkflowOptions( ## 👀 Adding priority and key to metadata to show them in the dashboard priority=3, additional_metadata={"priority": "high", "key": 1}, ) )
-
All SDKs now support setting multiple concurrency keys at both the workflow and the task level. Instead of passing a single concurrency strategy to a workflow, you can now pass an array of multiple strategies. Hatchet will move each task from one concurrency queue to the next before finally enqueueing the task for assignment on workers.
-
The latest release adds performance improvements and stability for streaming features -- specifically, custom event streams now have stronger ordering guarantees, and awaiting a child workflow result is significantly faster.
Bug fixes
- Additional metadata is now respected on bulk replays and cancellation (#1503 and #1502)
- Python SDK version
v1.6.1
fixes a critical issue related to reconnections with the Hatchet engine (#1557) - Typescript SDK version
1.3.1
includes fixes for namespaces (#1549), fixes for typing on durable tasks (#1539)
Full Changelog: v0.58.1...v0.59.5