github kortix-ai/CompanyOS v0.15.7
v0.15.7 — Subscription usage per account, Artifacts on mobile, and a side-by-side Review inbox

52 minutes ago

New

  • ChatGPT and Claude subscription usage lives in the OpenAI and Anthropic provider sheets: every connected account, every usage window the provider reports, and when the next login is back. The separate Usage tab is gone (#12405).
  • The mobile app lists, opens and shares a project's Artifacts (#12406).
  • Mobile app 1.6.1 on iOS: native system sheets, a ChatGPT-style project drawer, and a full-screen GenUI map (#12407).
  • The workspace Inbox's Review tab opens an item beside the list. j/k move through the list, and the next item opens after a verdict (#12410).

Improved

  • The workspace menu is flat and shorter. Download app moves to the foot of the sidebar (#12408).
  • A new session shows the model it was launched with from the first moment, also while it is still starting (KRTX-4724) (#12425).
  • Settings > Usage > Session costs shows spend that matched no session as its own row, so the table and the summary add up (KRTX-4428) (#12018).
  • The Free pricing card says that sending needs your own key, or a paid plan for managed models (KRTX-4494) (#12072).
  • The Logged in as menus and the sidebar identity line show your profile picture (KRTX-4492) (#12074).
  • The credit ledger's five missing badge labels are translated in every language (KRTX-4655) (#12351).
  • The mobile Sessions page lists the sessions a person started by default (KRTX-4705) (#12390).
  • kortix projects ls and kortix workspaces ls leave out deleted workspaces (KRTX-4714) (#12402).
  • My Kortix: 12 fixes from an end-to-end audit, and a session's CLI reports the release version instead of a staging build stamp (#12413).
  • Website: the banking case study is hidden, and asset management has short copy and moves last (#12422).

Fixed

  • A Kortix App that acts as its viewer works in a workspace that requires MFA, once the viewer passed the second factor (#12423).
  • Opening a further workspace no longer shows the Out-of-credits modal while your free credits are unspent in another workspace (KRTX-4713) (#12418).
  • Asking twice to join the waitlist with the same address keeps one request (KRTX-4699) (#12382).
  • A wrong HTTP method on an existing API route answers 405 with an Allow header instead of 404 (KRTX-4704) (#12383).
  • An OAuth2 provider that refuses client registration gives a clear 400 instead of a server error (KRTX-4709) (#12396).
  • The sign-in email check answers the same for existing and new addresses (KRTX-3504) (#11720).
  • When Composio's edge blocks a connector call, the agent gets the block as a client error and stops retrying the same call (KRTX-4722) (#12417).
  • kortix.com uses posthog-js 1.447.12, which sanitizes survey HTML (#12426).
  • Every API and gateway response carries a referrer policy (KRTX-4702) (#12381).

Internal

  • Sub-agents and the MCP read_session tool read the stored session log. The old v1 transcript route answers with a Deprecation header (#12431).
  • Workspace rows are updated in place, never re-created, and workspace lookups go through one function (#12427, #12428).
  • Load limits: one session's stored log can be read 300 times per minute (KRTX-4696) (#12379), and the config poll's probe has one bounded budget (KRTX-629) (#12412).
  • Log noise: credential-fence refusals throttle (KRTX-4731) (#12429), the reaper counts Platinum guest-exec timeouts and 504 renewals as transient (KRTX-4718) (#12411), and image reclaim skips a provider that cannot list (KRTX-4694) (#12376).
  • Secrets: retired provider keys are removed, and the prod internal service key and the Tavily, Serper and Firecrawl keys are rotated (#12433, #12430).
  • Code cleanup with no behavior change in web, SDK, API and the model catalog (#12416, #12380, #12375, #12357, #12404, #12264, #12370, #12364, #12251, #12393, #12403, #11717, #11716, #11083, #11069, #12415, #12414, #12239).
  • CI, infra and docs: the dev deploy typechecks before any ECS roll (KRTX-4672) (#12374), stale web hosts leave the kortix.com zone (KRTX-3365) (#12387), the parked legacy table drop records the verified prod backup (#12420), the Tests lane's stale assertions are fixed (#12359, #12397), and two learnings entries (#12401, #12434).

What's Changed

  • fix(ci): typecheck the dev deploy tree before any ECS roll (KRTX-4672) by @agent-kortix in #12374
  • fix(deps): node-forge 1.4.3 closes three moderate advisories by @markokraemer in #12384
  • fix(api): answer 405 + Allow for a wrong method on a matched route (KRTX-4704) by @agent-kortix in #12383
  • fix(api): image reclaim skips a provider that cannot list (KRTX-4694) by @agent-kortix in #12376
  • fix(release): v0.15.5 gate fixes (translations, SDK guard, one-mode tests) by @markokraemer in #12388
  • fix(api): serve a uniform referrer policy on every origin and edge response (KRTX-4702) by @agent-kortix in #12381
  • fix(tests): the Tests lane's three red assertions are cleared (KRTX-4688) by @agent-kortix in #12359
  • fix(api): make the waitlist request-access endpoint idempotent (KRTX-4699) by @agent-kortix in #12382
  • fix(infra): retire stale web hosts from the kortix.com zone (KRTX-3365) by @agent-kortix in #12387
  • fix(mobile): the Sessions page's default list shows person-started sessions only (KRTX-4705) by @agent-kortix in #12390
  • chore(release): VERSION → 0.15.6 [skip ci] by @github-actions[bot] in #12392
  • fix(self-host): the frontend update rolls out again by @markokraemer in #12394
  • fix(api): answer an OAuth2 provider's registration refusal as a typed 400 (KRTX-4709) by @agent-kortix in #12396
  • fix(tests): three stale 404 pins follow the wrong-method 405 (KRTX-4704) by @agent-kortix in #12397
  • chore(release): staging VERSION → 0.15.7 [skip ci] by @github-actions[bot] in #12400
  • chore(release): VERSION → 0.15.7 [skip ci] by @github-actions[bot] in #12399
  • docs(learnings): decide a request's host from its Host header, never from nextUrl by @markokraemer in #12401
  • fix(cli): drop deleted workspaces from projects/workspaces ls (KRTX-4714) by @agent-kortix in #12402
  • refactor(web): delete unused marketing renderers (KRTX-3626) by @agent-kortix in #11069
  • refactor(web): remove six unused cleanup leftovers (KRTX-3619) by @agent-kortix in #11083
  • feat(models): subscription usage for every ChatGPT and Claude account and window, inside Providers by @sutharjay1 in #12405
  • refactor(web): route every marketing topic-tab section through the one TopicTabs (KRTX-4039) by @agent-kortix in #11716
  • refactor(web): one walkthrough stepper for the seven solution heroes (KRTX-4040) by @agent-kortix in #11717
  • fix(api): check-email answers the same for existing and new addresses (KRTX-3504) by @agent-kortix in #11720
  • fix(web): show the unattributed remainder in Usage session costs (KRTX-4428) by @agent-kortix in #12018
  • refactor(web): one pressed-toggle control, one device-label rule, no real addresses in the sharing fixture (KRTX-4716) by @agent-kortix in #12403
  • feat(mobile): browse, open and share artifacts in the app by @sutharjay1 in #12406
  • refactor(web): one post card and one analytics page gate for blog and use cases (KRTX-4707) by @agent-kortix in #12393
  • feat(web): a flat, shorter workspace menu; Download app moves to the sidebar foot by @sutharjay1 in #12408
  • refactor(web): one appearance copy table, dead settings fields and guards deleted (KRTX-4634) by @agent-kortix in #12251
  • refactor(web): split web feature modules and dedupe the capture editor (KRTX-4664) by @agent-kortix in #12364
  • refactor(web): one identity block, files rail and type-label table for the marketplace detail (KRTX-4690) by @agent-kortix in #12370
  • refactor(web): split the goal page into rail, activity, controls and shared parts (KRTX-4645) by @agent-kortix in #12264
  • refactor(sdk): compose the session-error sentence in one exported helper (KRTX-4717) by @agent-kortix in #12404
  • fix(web,i18n): the credit ledger's five missing badge labels localize in every locale (KRTX-4655) by @agent-kortix in #12351
  • refactor(web): one PageHero, one Window, delete the dead section-primitives (KRTX-4685) by @agent-kortix in #12357
  • fix(api): cap per-session stored-log reads before the gate (KRTX-4696) by @agent-kortix in #12379
  • fix(my-kortix): 12 audit fixes; a prod session's CLI reports its release by @markokraemer in #12413
  • fix(web): render the profile picture in the Logged in as triggers (KRTX-4492) by @agent-kortix in #12074
  • feat(web): the Review inbox opens items beside the list by @sutharjay1 in #12410
  • feat(mobile): native iOS sheets, ChatGPT-style drawer, full-screen GenUI map by @sutharjay1 in #12407
  • refactor(web): one factory per repeated public-route shape (KRTX-4693) by @agent-kortix in #12375
  • refactor(web): one billing plan-status module owns copy, dates and dot (KRTX-4698) by @agent-kortix in #12380
  • fix(web,mobile): Free pricing card says models need your own key (KRTX-4494) by @agent-kortix in #12072
  • fix(api): classify a Platinum guest exec timeout and 504 renewal as transient in the reaper (KRTX-4718) by @agent-kortix in #12411
  • refactor(web): one device-code shell, one signed-out guard, one challenge path (KRTX-4721) by @agent-kortix in #12416
  • chore(api): remove the OpenCode history recovery script by @DimitrijeGlibic in #12239
  • refactor(llm-catalog): move the Codex offline seed out of apps/api (KRTX-4544) by @agent-kortix in #12414
  • refactor(api): dedupe the session-cost wire records (KRTX-4622) by @agent-kortix in #12415
  • fix(apps): an App acts as its viewer in a workspace that requires MFA by @DimitrijeGlibic in #12419
  • fix(api): carry a Composio edge block page's 4xx so the caller stops retrying it (KRTX-4722) by @agent-kortix in #12417
  • fix(api): bound the config poll's whole probe and size its mirror budget for a poll (KRTX-629) by @agent-kortix in #12412
  • chore(db): the parked Suna-era drop records the verified prod backup by @DimitrijeGlibic in #12420
  • revert: an App acts as its viewer in a workspace that requires MFA (#12419) by @DimitrijeGlibic in #12421
  • fix(billing): do not greet a further workspace with the Out-of-credits modal while free credits are unspent (KRTX-4713) by @agent-kortix in #12418
  • feat(web): hide the banking case study; asset management gets short copy and moves last by @markokraemer in #12422
  • fix(web): posthog-js 1.447.12 sanitizes survey HTML on kortix.com by @DimitrijeGlibic in #12426
  • fix(workspaces): workspace rows are updated in place, never re-created by @DimitrijeGlibic in #12427
  • refactor(workspaces): account-of-workspace lookups go through one function by @DimitrijeGlibic in #12428
  • fix(apps): an App acts as its viewer in an MFA workspace when the viewer passed the second factor by @DimitrijeGlibic in #12423
  • fix(web): pin the launch model on the session-create row (KRTX-4724) by @agent-kortix in #12425
  • chore(secrets): rotate Tavily, Serper and Firecrawl keys by @markokraemer in #12430
  • fix(api): throttle credential-fence refusal warn lines through the shared log window (KRTX-4731) by @agent-kortix in #12429
  • fix(session-log): sub-agents and MCP read_session stop calling the v1 transcript route by @DimitrijeGlibic in #12431
  • chore(secrets): drop retired provider keys and rotate the prod internal service key by @markokraemer in #12433
  • docs(learnings): leaked env values stay live after a history rewrite by @markokraemer in #12434
  • Promote dev 1f97bfa to staging by @github-actions[bot] in #12437
  • fix(release): the v0.15.7 release suite passes again (stage-fix) by @DimitrijeGlibic in #12448
  • fix(release): v0.15.7 release suite, round 2 (stage-fix) by @DimitrijeGlibic in #12456
  • Release v0.15.7 — Subscription usage per account, Artifacts on mobile, and a side-by-side Review inbox by @github-actions[bot] in #12440

Full Changelog: v0.15.6...v0.15.7

Don't miss a new CompanyOS release

NewReleases is sending notifications on new releases.