Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 15:22

leash v0.2.0 is a security- and integrity-focused release following an adversarial architecture review, now also including soft limits and backpressure. It is the first release to change default behavior - read the migration notes before upgrading.

Container image: docker pull ghcr.io/sylvester-francis/leash:0.2.0

Breaking changes (migration)

  • Cost-budget runs fail closed on unmeterable calls. When leash can't price a call under a cost budget, it now refuses instead of forwarding at $0. Restore the old behavior with --on-blind=warn (or allow).
  • serve requires a token. It won't start without --auth-token / LEASH_AUTH_TOKEN; pass --insecure for a trusted local socket.
  • Runs are tenant-scoped when auth is on. The same X-Loop-Id under two tokens maps to two isolated budgets.
  • The rate limit is now transient backpressure, not a terminal stop: a refused call returns Retry-After and the run resumes once its window decays.

Highlights

  • Metering integrity - mis-tag and OpenAI Responses no longer metered at $0; client-disconnect can't skip metering.
  • Ledger writes fail closed - a write outage refuses further calls; /readyz write-probes; leash_ledger_errors_total.
  • --max-cost-per-call, single-governor enforcement (SQLite OS lock), reasoning + prompt-cache pricing fixes, bounded memory.
  • Soft limits & alerting - --warn-at early warning, leash_budget_warnings_total, and serve --webhook URL for push alerts.
  • Hardening - --max-conns, --auth-token-file, --shutdown-timeout (30s), readiness draining, leash healthcheck + Dockerfile HEALTHCHECK.

Full detail: CHANGELOG. Deferred work is tracked in known-issues and under the roadmap label. Runnable demos in examples/.