Hatchet v0.105.16 adds two new concurrency strategies and a batch of engine fixes around pausing, durable DAGs, and task eviction.
Highlights
- New concurrency strategies
CANCEL_QUEUED_EXCEPT_NEWESTandCANCEL_QUEUED_EXCEPT_OLDEST: cancel queued runs in a concurrency group while keeping only the newest or oldest one (#4793).
Fixed
- Engine: concurrency strategies migration ordering (#4847).
- Engine: pausing a workflow now moves concurrency slots over to the paused queue items table (#4828).
- Engine: durable DAG on-failure tasks are no longer skipped (#4802).
- Engine: workflow event subscriptions bind before the OLAP wait, closing a missed-event race (#4820).
- Engine: worker heartbeats are recorded before rejecting on an inactive listen stream (#4784).
- Dashboard: orchestrator tasks now show the correct duration and cancellation reason (#4811).
What's Changed
- chore: more small styling fixes for docs by @abelanger5 in #4801
- chore: Bump github.com/labstack/echo/v4 from 4.15.1 to 4.15.3 in /examples/go/embedded by @dependabot[bot] in #4792
- chore: Bump github.com/labstack/echo/v4 from 4.15.1 to 4.15.3 by @dependabot[bot] in #4791
- refactor(engine): make
IdInsertedAtstruct useint64instead ofpgtype.Timestamptzby @mrkaye97 in #4797 - fix(engine): serialization for operator dag status updates by @mrkaye97 in #4799
- feat: count live crons, scheduled runs, and webhooks per tenant by @grutt in #4790
- fix(engine): durable dag on-failure tasks not being skipped by @mrkaye97 in #4802
- fix(dashboard): correctly show duration and cancellation reason for orchestrator tasks by @mrkaye97 in #4811
- fix: record worker heartbeat before rejecting on inactive listen stream by @grutt in #4784
- fix(engine): more callback ordering and eviction fixes by @mrkaye97 in #4814
- chore: regenerate examples by @github-actions[bot] in #4818
- fix(dashboard): hide managed workers tab again by @mrkaye97 in #4819
- ci: fix ts ci by @mrkaye97 in #4830
- fix(engine): bind workflow event subscribe before OLAP wait by @grutt in #4820
- docs: port animation engine over by @abelanger5 in #4808
- chore: Bump the github-actions group across 1 directory with 7 updates by @dependabot[bot] in #4837
- chore: regenerate examples by @github-actions[bot] in #4832
- fix: update examples for Python and Ruby SDKs by @juliusgeo in #4751
- feat(engine): NATS scheduler-partition drop counter and wider pub/sub histogram buckets by @igor-kupczynski in #4827
- feat: new
ciparam andembeddedmode security check by @mnafees in #4844 - feat(sdks): document embedded mode when trying to run without a token set by @abelanger5 in #4842
- fix(docs): repair agent-facing docs and improve embedded mode docs by @abelanger5 in #4843
- fix(engine): shovel concurrency slots over to paused queue items table on pause by @mrkaye97 in #4828
- feat:
CANCEL_QUEUED_EXCEPT_NEWEST/CANCEL_QUEUED_EXCEPT_OLDESTconcurrency strategies by @juliusgeo in #4793 - fix: Concurrency Strats migration ordering by @juliusgeo in #4847
- chore: release changelog by @mnafees in #4848
Full Changelog: v0.105.2...v0.105.16