Changelog

Kestrel Platform

Every user-visible change to the Kestrel API, CLI and dashboard. Dates are the day a release reached the stable channel.

Latest
4.3.0
Released
4 Sep 2026
Channel
stable
API version
2026-06-01

Breaking Two changes need action before you upgrade

  1. GET /v1/runs no longer returns steps[] inline. Fetch them from /v1/runs/:id/steps, or pass ?expand=steps for the old shape. The inline field is removed for good in 5.0.
  2. The CLI reads KESTREL_TOKEN, not KESTREL_API_KEY. The old variable still works until 1 Dec 2026 and prints a deprecation warning on every invocation. kestrel doctor tells you which one you are on.

4.3.0

4 Sep 2026

Current

Scheduled runs get a real backfill story, the run log stops truncating at 10k lines, and the dashboard finally remembers which workspace you were in.

  • Added

    Backfill for scheduled runs

    kestrel schedule backfill <id> --from 2026-08-01 replays a schedule over a past window, at most 50 runs at a time, with the same concurrency limit as live execution.

    #2841 · docs/schedules#backfill

  • Added

    Run log streaming over SSE

    GET /v1/runs/:id/logs?stream=true emits log lines as they are written. Logs are retained for 30 days on Team plans, 7 on Free.

    #2803

  • Changed

    Run logs keep the last 200k lines, not 10k

    Long-running jobs were silently losing their tail, which is precisely the part anyone reads. Older lines are now dropped from the head instead.

    #2790 · reported by 14 workspaces

  • Fixed

    Retries no longer double-count against the rate limit

    An automatic retry consumed two units of quota instead of one. Affected workspaces have had the difference credited back to the current billing period.

    #2822 · severity: high

  • Removed

    The legacy /v0 endpoints are gone

    Deprecated since March, at 0.02% of traffic for the last eight weeks. Every caller was contacted directly in August.

    #2755 · announced 12 Mar 2026

4.2.2

21 Aug 2026

Patch

A patch release: one regression from 4.2.0 and two small corrections.

  • Fixed

    Webhook signatures verified against the wrong secret after rotation

    For roughly six hours after a secret was rotated, deliveries were signed with the retired key. Rotation now writes both keys and accepts either for 24 hours.

    #2731 · postmortem published

  • Changed

    Timeouts are reported in seconds everywhere

    The API returned milliseconds, the CLI printed seconds, and the dashboard mixed both.

    #2724

Six earlier releases, 4.0.0 – 4.2.1