Hatchet v0.107.0 adds a local MCP server to the CLI. It also introduces some performance and query optimizations.
Highlights
hatchet mcp: the CLI now ships a local MCP server so AI coding agents can trigger runs, inspect run status and events, list workers, replay runs, and check engine status against a Hatchet deployment.hatchet mcp installwrites the server into Claude Code, Cursor, VS Code, or Codex configs, andhatchet mcp authcontrols which CLI profiles it may use. See MCP Server (#4911).
Fixed
- Engine: duplicate
v1_matchrows written on repeated child spawns were never cleaned up, growing the table indefinitely and leaking database CPU (#4923, #4927). - Engine:
GetTenantTaskStatsno longer sequentially scansv1_task, fixing task-stats latency once a paused workflow accumulates queued runs (#4934). - Engine: autovacuum overrides now apply to high-churn unpartitioned tables such as
v1_match,v1_concurrency_slot, andv1_retry_queue_item(#4951). - Go SDK: workers now inherit the client's configured logger by default, with
WithLoggerstill available to override (#4941). - Dashboard: standalone tasks open in the side panel again, JSON errors render nicely,
cancelled due to concurrencyis shown as an info-level log, and feature flag rendering no longer flashes ([#4938]
What's Changed
- fix(engine): match duplicates causing db cpu leak by @mrkaye97 in #4923
- fix(engine): fix more sources of orphaned
v1_matchrows by @mrkaye97 in #4927 - feat(ts): adds edge-compatible types to a separate package
@hatchet-dev/typescript-sdk/edgeby @abelanger5 in #4925 - chore: Bump next from 16.3.0 to 16.3.3 in /frontend/docs by @dependabot[bot] in #4932
- chore: Bump js-yaml from 4.3.1 to 4.3.2 in /frontend/docs by @dependabot[bot] in #4931
- fix(engine): optimize
GetTenantTaskStatsquery by @mrkaye97 in #4934 - feat(sdks/ts): add readyz and livez probes to worker health server by @rgarver in #4928
- fix(python): duplicate actions error, dead listener by @mrkaye97 in #4935
- fix(dashboard): couple small fixes from feedback by @mrkaye97 in #4938
- fix(engine): attempt to optimize concurrency query planning by @mrkaye97 in #4946
- feat: allow custom
io.Writerdestination for the shared logger by @abelanger5 in #4939 - fix(go-sdk): ensure workers get client logger by @abelanger5 in #4941
- refactor: consolidate logging output for migrations, seed, and config loader by @abelanger5 in #4940
- refactor(cli): extract the profile store into a public package by @abelanger5 in #4942
- feat(sdks): add embedded mode progress output for initialization by @abelanger5 in #4909
- chore: remove some logging noise when shutting down gracefully by @abelanger5 in #4948
- chore: apply autovacuum overrides to high-churn v1 tables by @grutt in #4951
- fix: remap the v1_0_153 goose version so 154 is not out of order by @grutt in #4952
- feat(cli):
hatchet mcp servewith a new MCP implementation by @abelanger5 in #4911 - chore: changelog for next release by @mnafees in #4968
New Contributors
Full Changelog: v0.106.5...v0.107.0