changelog

What changed in krabs.

Versioned, monospace, no fluff.

v0.4.3·2026-05-12

Idempotency keys now persist 30 days.

  • shipped:Idempotency-Key header honored on all 32 mutation endpoints
  • shipped:30-day window keyed by (account_id, key) tuple
  • fixed:dry-run plans no longer leaked into the audit log
v0.4.2·2026-04-28

Undo tokens get a longer leash.

  • shipped:undo window extended from 24h to 72h on deal.delete and contact.delete
  • shipped:undo.list returns expiring tokens, sorted by time-to-live
  • broke:removed undefined behavior of double-undo (now returns 409, was 200)
v0.4.0·2026-04-09

MCP transport hits parity with HTTP.

  • shipped:all 46 v1 operations exposed as MCP tools via @krabs/mcp@0.4
  • shipped:tool descriptions sourced from /v1/schema — single source of truth
  • fixed:task.assign over MCP no longer dropped due dates in non-UTC zones
  • fixed:note.create truncating bodies > 8 KiB instead of returning 413
v0.3.7·2026-03-22

Audit log gains structured diffs.

  • shipped:audit.list now returns RFC 6902 JSON Patch deltas per mutation
  • shipped:prompt provenance stored alongside MCP-originated writes
  • broke:audit row schema changed: `payload` renamed to `after`, added `before` and `patch`
v0.3.4·2026-02-14

CLI release channel goes public.

  • shipped:brew install krabs and curl -sSf releases.krabs.dev/install.sh
  • shipped:krabs login flow with device-code OAuth, no copy-pasted tokens
  • fixed:contact.merge swallowing the loser's tags instead of unioning them