github kortix-ai/CompanyOS v0.15.9
v0.15.9 — Connect apps from the chat, checked provider keys, and automations that explain themselves

latest release: dev-latest
one hour ago

New

  • Connect Gmail and other apps from the chat: a Connect card appears when the agent needs a sign-in, and the connection finishes by itself when you come back.
  • Provider keys are checked when you save them. Models → Providers shows whether the provider accepted each key, with "Check again".
  • OpenAI API keys can be added in Models → Providers, next to ChatGPT accounts.

Improved

  • Every LLM provider key lives in one place, the Models panel. Keys saved earlier by other paths move there automatically.
  • When a provider refuses a key, the chat says which provider and offers "Open in Models".
  • Saving a key never changes a working default model.
  • Automations that cannot run (no model, no credits) pause with the reason and resume by themselves; the trigger page says why a run failed, was skipped or paused.
  • An app account shared with an automation's agent is enough for its event trigger; Gmail for an automation asks for one shared sign-in.
  • An MCP server that needs a sign-in shows "Sign in", not an error. Unfinished sign-ins show "Finish sign-in".
  • A secret you ask the agent to store reaches the agent as an environment variable; you can change a secret's delivery in its Edit dialog.
  • A workspace with no usable model says so before a session starts, with Upgrade and Add provider key.
  • Subagent reports fold into the "Worked for" step.

Fixed

  • Apps hosted on the old provider rebuild on Platinum instead of failing every hour.
  • The trigger composer's model picker opens.
  • Requests on your own key no longer ask for more output tokens than the model supports, and Gemini tool calls keep their signatures.
  • A setup link that writes a provider key can be used once.
  • The workspace split sends no owner email.

What's Changed

  • fix(apps): App runtime refreshes build on Platinum instead of the dead Daytona key by @markokraemer in #12492
  • feat(web): fold subagent reports into the Worked-for step; answer a run once (KRTX-4732) by @agent-kortix in #12442
  • refactor(gateway): every LLM provider key lives in one store, the Models panel's by @markokraemer in #12493
  • perf(api): batch the per-connection credential check in connector entitlements (KRTX-4750) by @agent-kortix in #12480
  • fix(workspaces): the legacy split sends no owner email (D13) by @markokraemer in #12495
  • fix(api): flip a sandbox row to error when Platinum confirms the box not running (KRTX-4751) by @agent-kortix in #12477
  • fix(triggers): a trigger the account cannot run pauses and resumes itself; an unsigned MCP server shows Sign in by @markokraemer in #12498
  • refactor(ui): split the fullscreen presentation viewer, load the workbook in the parent, one stage-fit scale (KRTX-4753) by @agent-kortix in #12481
  • fix(api): a skipped dead-daemon repair logs why it did not run (KRTX-4754) by @agent-kortix in #12485
  • fix(connectors): finish connector sign-ins from the chat card, settings and the provider's return by @markokraemer in #12500
  • fix(gateway): provider keys are checked on save, and a refused key says so in the chat by @markokraemer in #12502
  • refactor(mobile): unify the tool card frame on ToolResultCard and drop the dead frame surface (KRTX-4758) by @agent-kortix in #12494
  • test(api): pin the already-staged gate's verdict line and the single-line skip verdicts (KRTX-4756) by @agent-kortix in #12497
  • fix: key saves keep the working default model; CLI, trigger and inbox fixes from the dev e2e run by @markokraemer in #12504
  • test(web): clear the red Tests lane (KRTX-4760) by @agent-kortix in #12501
  • fix(secrets): every legacy credential path reads the moved store, and connector legacy rows get a backfill by @markokraemer in #12505
  • fix(triggers): model picker opens in the composer; failed, skipped and paused triggers say why by @markokraemer in #12507
  • fix(release): the v0.15.8 release suite passes again by @markokraemer in #12506
  • docs(learnings): never reap a sandbox image whose name another deployment can compute by @markokraemer in #12509
  • fix(sdk): the runtime config read settles a proxy give-up instead of replaying it (KRTX-4755) by @agent-kortix in #12503
  • fix(setup-links): a link that writes a provider key is single-use again by @markokraemer in #12511
  • fix(secrets,connectors): agent secrets reach the agent, connector_not_shared, no-model refusal by @markokraemer in #12512
  • fix(gateway): a refused provider key is no default model; session create answers 409 by @markokraemer in #12516
  • feat(secrets): self-hosts move legacy credentials at boot, and the last legacy forms get a move by @markokraemer in #12518
  • fix(api): GET /v1/agent-marks/:file has a workspace binding by @markokraemer in #12519
  • docs(sdk): a backend wrapper gives each end user their own project by @markokraemer in #12521
  • refactor(mobile): one composer card, one hand-off body, one Reduce Motion read (KRTX-4762) by @agent-kortix in #12513
  • fix(api): KRTX-4773 — the agent face route has its workspace binding by @agent-kortix in #12523
  • fix(api): connector upstream-failure warn no longer splits one failure class per action (KRTX-4759) by @agent-kortix in #12517
  • Promote dev d6b72cc to staging by @github-actions[bot] in #12526
  • chore(release): staging VERSION → 0.15.9 [skip ci] by @github-actions[bot] in #12528
  • fix(release): the v0.15.9 contract lanes match the merged behavior (stage-fix of #12533) by @markokraemer in #12534
  • Release v0.15.9 — Connect apps from the chat, checked provider keys, and automations that explain themselves by @github-actions[bot] in #12530

Full Changelog: v0.15.8...v0.15.9

Don't miss a new CompanyOS release

NewReleases is sending notifications on new releases.