Sessions now say exactly how a turn ended, signing in lands on a workspace
chooser instead of an auto-created project, and every member can mint their own
access token.
New
- A turn tells you how it ended. Every turn carries one typed outcome, so a
failed turn reports the recorded cause instead of a blank row — and a turn you
stopped yourself is recorded as stopped, not as a failure.GET /turnlists
failed turns with the reason each one ended. - A workspace chooser on the way in. Signing in shows your workspaces and any
pending invites rather than silently creating a project for you. With no
workspaces yet, the chooser is the create form. - Every account member can mint and revoke their own personal access token.
It no longer takes an owner. - Teams asks with a card. The question tool renders a real card with inputs,
dropdowns and toggles behind one Submit, and replies in a group chat continue
the session without a mention.
Improved
- The model picker collapses every provider group, and the zero-retention and
US-inference facts sit on one line instead of a banner. - An image sent to a channel never runs on a model the agent is not allowed to
use; the pin is checked per message rather than trusted from the catalog. - Deleting a project from Settings redirects instead of leaving you on a dead
page. - Resuming a session keeps the repository workspaces it had before.
Fixed
- A failed turn with no named cause now says it stopped, rather than showing
nothing. - The stale-turn sweep aborts the runtime turn, not just its card.
- An unresolvable agent grant now fails closed for codex models instead of
quietly picking a model the agent may not use. - An unowned conversation returns "not found" rather than "forbidden", so it
cannot be used to probe what exists. - A form field id containing a comma is rejected.
- An audit entry for the new account-invites route renders with a readable
label. - Release publishing no longer depends on the npm registry: a registry failure
can no longer cost a release its tag, its downloads or its changelog entry,
and the release refuses to publish with missing downloads.
What's Changed
- ci(tests): stop gating every PR on the local suite; one workflow, opt-in by label by @markokraemer in #7415
- fix(channels): a pasted image runs the turn on a model that can see it by @Ino-Bagaric in #7438
- fix(channels): pick a vision model by image modality, not the attachment flag by @Ino-Bagaric in #7439
- fix(channels): pin an image turn's model explicitly; add Teams forms by @Ino-Bagaric in #7440
- fix(models): retire DeepSeek V4 Pro by @markokraemer in #7437
- Reconcile account identities across SSO sign-ins by @markokraemer in #7431
- ci(tests): cap each lane at 20 min, not 60; fix preview lifecycle docs by @markokraemer in #7443
- docs: bring every internal doc and skill in line with the new CI gates by @markokraemer in #7446
- fix(deploy-prod): stop gating the release record on npm; guard its assets by @markokraemer in #7448
- fix(managed-git): say when a token silently overrides the App, and log GitHub's reason by @markokraemer in #7444
- feat(teams): proactive posting, and the last of the image-path defects by @Ino-Bagaric in #7441
- Resume sessions from a previous repository workspace by @markokraemer in #7450
- fix(web): redirect after deleting a project from Settings by @sutharjay1 in #7447
- Promote main to staging for v0.13.26 by @markokraemer in #7453
- fix(session): a failed turn always says why it stopped by @sutharjay1 in #7449
- Model picker: collapsible Kortix group; ZDR + US-based providers line by @markokraemer in #7451
- Workspace chooser: pending invites on the landing door, no auto-created project by @markokraemer in #7454
- Let every account member mint and revoke their own personal access token by @markokraemer in #7455
- fix(web): register GET /v1/account-invites in the audit route registry by @markokraemer in #7457
- Promote main to staging for v0.13.26 by @markokraemer in #7456
- Release v0.13.26 — Turns say how they ended, a workspace chooser on the way in, and member-owned access tokens by @github-actions[bot] in #7461
Full Changelog: v0.13.25...v0.13.26