v0.2.0
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(orallow). serverequires a token. It won't start without--auth-token/LEASH_AUTH_TOKEN; pass--insecurefor a trusted local socket.- Runs are tenant-scoped when auth is on. The same
X-Loop-Idunder two tokens maps to two isolated budgets. - The rate limit is now transient backpressure, not a terminal stop: a refused call returns
Retry-Afterand 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;
/readyzwrite-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-atearly warning,leash_budget_warnings_total, andserve --webhook URLfor push alerts. - Hardening -
--max-conns,--auth-token-file,--shutdown-timeout(30s), readiness draining,leash healthcheck+ DockerfileHEALTHCHECK.
Full detail: CHANGELOG. Deferred work is tracked in known-issues and under the roadmap label. Runnable demos in examples/.