github hatchet-dev/hatchet v0.107.0
Hatchet 0.107.0

4 hours ago

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 install writes the server into Claude Code, Cursor, VS Code, or Codex configs, and hatchet mcp auth controls which CLI profiles it may use. See MCP Server (#4911).

Fixed

  • Engine: duplicate v1_match rows written on repeated child spawns were never cleaned up, growing the table indefinitely and leaking database CPU (#4923, #4927).
  • Engine: GetTenantTaskStats no longer sequentially scans v1_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, and v1_retry_queue_item (#4951).
  • Go SDK: workers now inherit the client's configured logger by default, with WithLogger still available to override (#4941).
  • Dashboard: standalone tasks open in the side panel again, JSON errors render nicely, cancelled due to concurrency is 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_match rows by @mrkaye97 in #4927
  • feat(ts): adds edge-compatible types to a separate package @hatchet-dev/typescript-sdk/edge by @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 GetTenantTaskStats query 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.Writer destination 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 serve with 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

Don't miss a new hatchet release

NewReleases is sending notifications on new releases.