v0.12.8 — Entitlement overrides, act-as support sessions, and one-call agent secret grants
LatestNew
- Act-as for support — platform admins can open a customer account for up to one hour, with a visible banner and full auditing. Anything that would outlive the hour — tokens, memberships, invites, SSO providers, public shares, tunnels, agent scope changes — is refused during the session.
- Per-account entitlement overrides — operators grant or extend individual entitlements per account, each with an optional expiry, from a new admin override console. Expired overrides stop applying on their own.
- One plan catalog — plans now resolve through a single catalog and resolver across API, SDK and web. The duplicate frontend tier catalogs and the "· legacy" plan label are gone.
- Grant a secret to an agent in one call — a new API route grants an agent access to a secret, and the web app offers that grant directly from the warning that reports the missing access.
- Session overrides in one place — the Scope panel is replaced by a single overrides popover: agent, model, sandbox and connector overrides together, labels grounded in the agent's real defaults, and a reset that is always reachable.
- Managed model lineup refresh — Muse Spark 1.2, MiniMax M3 and GPT-5.6 Luna join GLM 5.2, and DeepSeek V4 Flash becomes the platform default.
- Sandboxes stay current — every deploy serves its CLI and managed skills at
/v1/runtime-assets, and sandboxes reconcile against it on start, restart and resume.
Improved
- Project sessions are grouped by last activity instead of creation date.
- Account settings are reachable from the user menu.
- Model errors keep their upstream cause through gateway fallbacks, and context overflow is reported consistently — including after a fallback.
- Managed-model capabilities reported by the gateway now come from real pricing data.
- An outdated CLI now gets a clear "update your CLI" warning on the connector routes instead of a raw 404.
Fixed
- Two ways the session message queue could stall.
- Saving session scope without touching connectors no longer writes a connector override, and a saved agent secret selection is retained.
- Secret delivery on Platinum sandboxes resolves replicas reliably and arms the secrecy boundary within the provider's real timing budget, without re-arming on every turn.
Security and compliance
- The impersonation deny-list also covers agent-governance writes (
agents/:name/scope,secrets/:id/grant), connector and channel management, and setup-link minting — all closed during review, before release. - MFA enforcement for IAM users, WAF attached to the web load balancers, load-balancer log bucket versioning, and a tightly scoped CI Terraform role.
Internal
- Terraform for dev and prod now applies from CI behind per-environment OIDC roles, with drift detection re-registered.
- Production deploys stamp the frontend with the release version and no longer allow mixed frontend/API states; migrations with blocking backfills are rejected at lint time.
- Full-stack PR previews run in warm sandboxes, and the local test gates were stabilized.
What's Changed
- chore(release): VERSION → 0.12.8 [skip ci] by @github-actions[bot] in #6350
- feat(llm-catalog): add Muse Spark 1.2, MiniMax M3, GPT-5.6 Luna; DeepSeek V4 Flash default by @markokraemer in #6352
- test: run full-stack PR previews in warm sandboxes by @markokraemer in #6347
- fix(ci): install Bun for preview controller by @markokraemer in #6354
- fix(llm-gateway): serve real managed-model capabilities via pricingRef by @markokraemer in #6355
- fix(web): remove two ways the message queue can stall by @sutharjay1 in #6349
- fix(test): separate Platinum cold and restore budgets by @markokraemer in #6356
- fix(tests): scope preview idempotency to workflow run by @markokraemer in #6360
- fix(web,api): session scope defaults to Project default + unified overrides popover by @markokraemer in #6361
- fix(sandbox): always-latest kortix CLI + managed skills on every session start/restart by @markokraemer in #6359
- feat(infra): CI-applied Terraform — reusable guarded apply, per-env OIDC roles, drift coverage by @markokraemer in #6358
- fix(tests): bake Docker Compose into preview workers by @markokraemer in #6363
- fix(web): group sessions by last activity, not creation by @sutharjay1 in #6357
- fix(llm): preserve upstream failure chains by @markokraemer in #6362
- fix(web): ground session-override labels in system truth + quiet trigger by @markokraemer in #6364
- fix(ci): force gateway in full dev deploys by @markokraemer in #6365
- test(infra): align the preview runtime contract test with the sandbox-preview architecture by @markokraemer in #6366
- billing: fix admin primitives — enterprise flag, expiring trial grants, monthly re-grant, member-role control by @markokraemer in #6367
- fix(gateway): normalize message-only context overflow by @markokraemer in #6368
- Stabilize preview and full local test gates by @markokraemer in #6369
- fix(cli): suppress browser launches in CI by @markokraemer in #6370
- fix(deploy-prod): gate the dead us-east-2 shadow lane behind ENABLE_US_SHADOW_DEPLOY by @markokraemer in #6372
- ci(terraform): auto-apply environments/dev and environments/prod by @markokraemer in #6373
- fix(web): overrides trigger icon-only, save closes panel, agent-default labels, sandbox chooser in panel by @markokraemer in #6371
- billing: plan catalog + pure resolver (PR2 — zero consumers switched) by @markokraemer in #6375
- fix(web): suppress Paper Shaders library-guard 'this.gl is null' noise (BS f0c8c422) by @agent-kortix in #6374
- billing: one resolved plan view everywhere — kill the '· legacy' label (PR3) by @markokraemer in #6376
- fix(ci): stop the dev deploy cancelling its own API build by @Ino-Bagaric in #6377
- feat: grant a secret to an agent from the warning that reports it by @Ino-Bagaric in #6378
- Keep saved agent secret selection in sync by @Ino-Bagaric in #6379
- billing: provider-vs-admin write ownership for credit_accounts (PR4) by @markokraemer in #6380
- fix: a network-boundary secret made every agent turn fail by @Ino-Bagaric in #6381
- fix(secrets): give the boundary arm a budget the provider can meet by @Ino-Bagaric in #6384
- billing: per-account overrides with expiry + compute pricing + admin override console (PR5) by @markokraemer in #6383
- fix(compliance): enforce ALB log bucket versioning (DCF-78) by @agent-kortix in #6382
- billing: kill the duplicate frontend tier catalogs (PR7) by @markokraemer in #6385
- billing: act-as impersonation for platform admins (PR6) by @markokraemer in #6386
- fix(api): deny agent-scope and secret-grant writes during impersonation by @markokraemer in #6388
- fix(api): deny connector, channel-connect and setup-link writes during impersonation by @markokraemer in #6390
- fix(ci): raise tests-release timeout to 45m so the full suite can finish by @markokraemer in #6393
- fix(ci): raise tests-release timeout to 60m (measured ~47m real runtime) by @markokraemer in #6394
Full Changelog: v0.12.7...v0.12.8