Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ description: "Stay up to date with the latest agentsfleet product updates, new f
agentsfleet is in **stealth-mode testing** and pre-production. APIs and agent behavior may change between releases without long deprecation windows. Email [agentsfleet@agentmail.to](mailto:agentsfleet@agentmail.to) if you want a hand calibrating an agent or to join as a design partner.
</Tip>

<Update label="Oct 14, 2026" tags={["Bug fixes", "API", "CLI"]}>
## Logout ends its own unfinished sign-ins, and the daemon refuses an unsafe identity base

The endpoint that aborts a person's unfinished sign-ins has a path that says whose they are, `agentsfleet logout` can now reach it, and the daemon refuses to start with an identity provider base its secret key cannot safely travel to.

- **Aborting your unfinished sign-ins is `DELETE /v1/auth/sessions`** — the route that ends sign-ins you approved in the browser and never finished in a terminal moved from `/v1/auth/sessions/all`, which read as every session, to the collection itself. It only ever touches your own sign-ins. The old path is gone.
- **`agentsfleet logout` aborts your unfinished sign-ins** — the route now accepts your own command-line credential as well as a browser session, so logout's abort no longer fails with `401`. A tenant API key is still refused.
- **The daemon refuses an unsafe `CLERK_API_BASE`** — every capability read sends the identity provider's secret key to this base, so the daemon now starts only when it is `https`, or `http` on a loopback host for local work.
</Update>

<Update label="Oct 13, 2026" tags={["Bug fixes", "API", "UI"]}>
## Lease timings measure pickup, and model tables read providers by name

Expand All @@ -25,12 +35,12 @@ description: "Stay up to date with the latest agentsfleet product updates, new f

## What's new

- **Fresh work is found on the next poll** — marking a fleet ready also names its partition in one readiness directory, which every lease poll reads first. The poll still visits the sixteen partitions in turn, so a lost directory entry costs the old wait and never the work.
- **Fresh work is found on the next poll** — marking a fleet ready also signals every daemon which partition it sits in, and each daemon's next lease poll looks there beside the partition it was due to visit. The poll still visits the sixteen partitions in turn, so a lost signal costs the old wait and never the work.
Comment thread
indykish marked this conversation as resolved.
- **The live tail shows its first line at once** — a run's first activity frame, and its first answer chunk, post without waiting for the 250 ms batch.
- **Runner workers poll a quarter second apart** — four workers on the one-second idle interval no longer poll at the same instant.
- **Each lease logs where its time went** — `lease_completed` and `lease_failed` in the runner journal carry `wall_ms`, `bundle_ms`, `memory_ms`, `sandbox_ms`, `model_ms`, `tools_ms`, `report_ms`, and `first_token_ms`. A segment the lease never reached is left off the line.
- **The daemon logs how long an event waited** — `runner_lease_issued` carries `queue_wait_ms`, from the event's admission to its lease on the daemon clock.
- **Two new metrics** — `agentsfleet_lease_poll_dragonfly_commands_total` counts Dragonfly commands per lease poll, two when idle. `agentsfleet_fleet_ready_hint_failures_total` counts readiness-directory commands that failed or passed their 100 ms deadline, by `kind`.
- **Two new metrics** — `agentsfleet_lease_poll_dragonfly_commands_total` counts Dragonfly commands per lease poll, two when idle. `agentsfleet_fleet_ready_wake_failures_total` counts doorbell rings and peeks that failed or passed their 100 ms deadline, and gaps where a daemon missed rings, by `kind`: `ring`, `peek`, or `gap`.
- **A refused write tells the agent not to retry it** — the refusal for a request no rule admits, and for a secret the fleet does not have, now says the run's rules are fixed, so another path, API, or credential will be refused the same way.
- **Provider names read the way vendors write them** — `Fireworks`, `OpenRouter`, `NEAR AI`, and `Atlas Cloud` in the model picker and in both model tables, in one badge style.
- **Fleet library tables end at their last row** — the pagination bar sits under the rows, as it does on the Models table.
Expand Down
2 changes: 1 addition & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@
"PATCH /v1/auth/sessions/{session_id}/approve",
"POST /v1/auth/sessions/{session_id}/verify",
"DELETE /v1/auth/sessions/{session_id}",
"DELETE /v1/auth/sessions/all",
"DELETE /v1/auth/sessions",
"POST /v1/auth/identity-events/clerk",
"POST /v1/cli-credentials",
"DELETE /v1/cli-credentials/{id}"
Expand Down
Loading