Skip to content

Releases: kortix-ai/CompanyOS

dev-latest

dev-latest Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 31 May 20:46
b277886

Mutable DEV CLI build for b277886d29686b7687e47faddb07e9e71067366f.

Install: curl -fsSL https://kortix.com/install | KORTIX_CHANNEL=dev bash
Defaults to https://dev-api.kortix.com.

v0.14.19 — Voice calls, an instant project page, and egress without NAT

Choose a tag to compare

@github-actions github-actions released this 04 Nov 13:42
fcb05fd

New

  • Voice calls: call a session's agent from the session or the agent page, with screen share; the chat keeps what was said (flag voice_call). (#11633, #11665)
  • Speech-to-text and text-to-speech through the LLM gateway. (#11632)
  • Discord sits on the Channels tab like every channel, marks the message the agent works on, and sets up its app with one command. (#11592, #11605)
  • Drive: My files by default; shared Drives sit behind the shared_drives flag. (#11606)
  • Self-hosting: new sessions start from a project snapshot in the bundled object storage. (#11626)
  • The mobile app ships a new version to both stores on each production release. (#11646)

Improved

  • The project page renders at once from a saved config summary instead of reading git. (#11651, #11655)
  • Faster session starts and first replies: the daemon boots from bytecode, sessions share proofs across API servers, and boot waits are shorter. (#11574, #11611, #11661)
  • The API reaches the internet without NAT processing; GitHub traffic keeps the published egress IPs. (#11584)
  • Sender avatars show from the first message, and messages from other agents show in full. (#11604, #11617, #11621)
  • Windows Capture records GPU-rendered content such as CAD canvases. (#11647)
  • The Guide and Developers docs match the product. (#11627, #11629)

Fixed

  • A kortix.yaml that is not valid YAML never takes a project down: the project keeps its last valid version, and pushes of a broken file are refused. (#11641)
  • Self-hosting: TLS wildcard setup accepts only a strictly valid acme-dns account. (#11659)
  • A session's stored sandbox URL follows the domain the request came in on. (#11616)
  • Old sessions no longer jump into Today after a branch sweep. (#11600)
  • Drive members open Drive without a "You cannot open this folder" toast, and the Drive tree shows its files. (#11591, #11635)
  • The npm packages publish again from the renamed repository. (#11654)
  • Renaming a workspace in Settings saves once, even when a read lags the write. (#11670)
  • Agent file previews (web and mobile) and voice call transcripts stay fast on long or repetitive text; a crafted reply could freeze them for seconds. (#11694, #11697)

What's Changed

  • perf(infra): the API reaches the internet without NAT processing; GitHub keeps the NAT IPs by @markokraemer in #11584
  • fix(my-kortix): My Kortix is on only when kortix.yaml sets my_kortix: true by @markokraemer in #11585
  • fix(infra): drop the route-table quota request; both regions are already above it by @markokraemer in #11586
  • fix(sessions): a dev box an earlier quick tunnel created is not given prompts it can never answer by @Ino-Bagaric in #11582
  • test(api): far-future wire id fixtures sit 40 days ahead, not at ms * 16 by @kubet in #11580
  • fix(release): v0.14.18 suite fixes for the My Kortix opt-in starter and the Discord channel by @markokraemer in #11589
  • fix(drive): members open Drive without a "You cannot open this folder" toast by @markokraemer in #11591
  • fix(release): the home snapshot includes the live case studies; the Discord mock names its bot mention by @markokraemer in #11593
  • feat(web): the asset management case study shows every deal evaluated by agents by @markokraemer in #11543
  • perf(ttft): cut new-session boot and first-prompt delivery waits by @kubet in #11574
  • feat(self-host): wildcard certificates through delegated DNS, zero-downtime config changes by @markokraemer in #11595
  • feat: remove warm sessions; a send always creates its session by @DimitrijeGlibic in #11597
  • fix(self-host): a healthy stateful recreate no longer reports the update degraded by @markokraemer in #11598
  • chore(secrets): store the Drata public API key in the prod env (dotenvx) by @markokraemer in #11599
  • fix(api): the branch sweep no longer moves 90-day-old sessions into Today by @markokraemer in #11600
  • fix(release): regenerate the ui catalog and styles for Discord; kortix-system back under its 300-line cap by @markokraemer in #11602
  • feat(channels): Discord on the Channels tab like every channel, a ⏳/✅ mark on the message the agent works on, and a one-command app setup by @Ino-Bagaric in #11592
  • fix(channels): Discord's channels list, its ⏳ cleared after a reaper settle, and @kortix/ui's stale en.ts and styles.css (refused at commit from now on) by @Ino-Bagaric in #11605
  • fix(cli): pin the self-host acme-dns API to one loopback address the SDK-boundary lint allows by @markokraemer in #11607
  • fix(session): sender avatars show from the first message, so chats never shift by @markokraemer in #11604
  • fix(web): staging builds once on Vercel, from the deploy workflow by @DimitrijeGlibic in #11608
  • fix(release): the email channels-view test mocks the Discord channel hooks by @markokraemer in #11613
  • feat(branding): self-host sign-in page shows the instance's own logo and name by @DimitrijeGlibic in #11615
  • fix(api): a session's stored sandbox URL follows the domain the request came in on by @markokraemer in #11616
  • fix(session): messages from other agents show in full instead of empty gaps by @markokraemer in #11617
  • fix(branding): an operator's own account brands the self-host sign-in page by @DimitrijeGlibic in #11618
  • fix(session): agent notices sit close to the work they continue by @markokraemer in #11621
  • fix(audit): GET /v1/access/branding has an audit label by @markokraemer in #11622
  • docs(learnings): a new API route still misses its audit label by @DimitrijeGlibic in #11624
  • feat(drive): my files by default; shared drives behind the shared_drives flag by @markokraemer in #11606
  • test(ui): cover incoming peer transcript messages (KRTX-4000) by @agent-kortix in #11619
  • fix(edge): the API router stops asking Vercel before every write by @DimitrijeGlibic in #11625
  • feat(sales): durable signup and demo events (KRTX-3998) by @agent-kortix in #11610
  • docs: the Guide and Developers pages match the product and read plainly by @DimitrijeGlibic in #11627
  • fix(branding): the instance branding query qualifies its outer columns by @markokraemer in #11628
  • docs: the Guide says what it covers, and the Markdown export renders Expandable by @DimitrijeGlibic in #11629
  • fix(sales): KRTX-3998 preserve date-only reconciliation bounds by @agent-kortix in #11631
  • feat(llm-gateway): speech-to-text and text-to-speech through Platinum's private audio models by @kubet in #11632
  • feat(self-host): new sessions start from a project snapshot in the bundled MinIO by @DimitrijeGlibic in #11626
  • feat(session): voice calls with the session's agent, with screen share (flag voice_call) by @kubet in #11633
  • fix(web): KRTX-4003 show Drive tree files and preserve chevrons by @agent-kortix in #11635
  • fix(api): project pages load in ~3 s on a cold git store instead of timing out by @markokraemer in #11639
  • perf(ttft): bytecode daemon, first-prompt env reads during boot, per-box edge budget by @kubet in #11611
  • fix(manifest): a kortix.yaml that is not YAML never takes a project down by @markokraemer in #11641
  • docs(learnings): batch every file fetch on a partial git store by @markokraemer in #11642
  • docs(learnings): a kortix.yaml that is not YAML never lands, and never answers 500 by @markokraemer in #11643
  • fix(discord): a Gateway resume goes only to a Discord host; HELLO's heartbeat is bounded by @markokraemer in #11644
  • fix(build): the API image builds again: kortixd's build stage copies packages/voice by @markokraemer in #11648
  • fix(build): the API and sandbox images copy the voice runtime kortixd bundles by @markokraemer in #11649
  • fix(infra): AWS roles trust the renamed CompanyOS repository, so deploys log in again by @markokraemer in #11650
  • perf(projects): the project page renders at once and reads a saved config summary, not git by @markokraemer in #11651
  • docs(le...
Read more

voxl-47bb94ec4d25-kortix.2

Pre-release

Choose a tag to compare

@markokraemer markokraemer released this 05 Nov 00:03
4b043b7

voxl (github.com/tembo/voxl, MIT) v0.3.3 at 47bb94ec4d253638c1470eb81906676e1bef4b00, web client rebranded to Kortix Computer, 1 s stall cutoff, built by apps/sandbox/voxl/release.sh for the sandbox image.

v0.14.18 — Discord channel, live case studies, and lighter background load

Choose a tag to compare

@github-actions github-actions released this 03 Nov 23:07
b5134be

(release PR body already written)

What's Changed

  • perf(api): stop prompt-queue polling and cron prompt stacking, route S3 around the NAT by @markokraemer in #11535
  • fix(ci): the dev frontend deploy no longer ships the previous run's build by @markokraemer in #11537
  • docs(learnings): a private repo's CI never fails over to billed GitHub-hosted runners by @markokraemer in #11538
  • fix(release): v0.14.17 suite fixes for graduated Drive flags, a new route and a new MCP tool by @markokraemer in #11539
  • fix(config-releases): a repo back under the archive cap gets its archive at once; CI tests on git 2.45+ by @markokraemer in #11541
  • feat(web): case studies go live, one autonomous job per card; /services stays gated by @markokraemer in #11532
  • refactor(connectors): KRTX-3950 unify manifest mutations and policy projection by @agent-kortix in #11545
  • fix(gateway): prevent caching gateway responses (KRTX-3953) by @agent-kortix in #11546
  • KRTX-3955: fix(release): regenerate route catalogs in canonical order by @agent-kortix in #11544
  • KRTX-3956: test(mcp): expect project search in the release contract by @agent-kortix in #11547
  • test(api): KRTX-3958 preserve real config exports in release mocks by @agent-kortix in #11551
  • refactor(api): KRTX-3854 consolidate five cleanup leftovers by @agent-kortix in #11557
  • fix(ci): refresh apt indexes before Git bootstrap (KRTX-3960) by @agent-kortix in #11548
  • docs(build): regenerate the stale kortix.yaml reference and the learnings index at commit time (KRTX-3954) by @agent-kortix in #11560
  • feat(channels): Discord channel on the shared channel core (KRTX-2235) by @Ino-Bagaric in #11561
  • test(config): align archive memo coverage (KRTX-3962) by @agent-kortix in #11554
  • test(api): preserve config mock exports (KRTX-3975) by @agent-kortix in #11565
  • test(api): preserve config exports in four release suites by @agent-kortix in #11564
  • test(api): preserve release config mock exports (KRTX-3975) by @agent-kortix in #11568
  • fix(audit): distinguish Drive and repository search (KRTX-3972) by @agent-kortix in #11562
  • refactor(billing): simplify plan context and remove obsolete token paths (KRTX-3970) by @agent-kortix in #11567
  • fix(api): preserve config exports in fixtures (KRTX-3974) by @agent-kortix in #11566
  • fix(channels): Discord edge cases: intake retries, channel order, private refusals, and Discord's limits by @Ino-Bagaric in #11572
  • chore(release): VERSION → 0.14.18 [skip ci] by @github-actions[bot] in #11575
  • chore(release): staging VERSION → 0.14.18 [skip ci] by @github-actions[bot] in #11576
  • fix(triggers): a command stuck in running no longer skips a cron trigger for good by @markokraemer in #11577
  • fix(my-kortix): My Kortix runs only when kortix.yaml turns it on by @markokraemer in #11578
  • feat(ui): agent page gets its left rail back, Agents leads the Customize bar, admin libraries are card grids by @sutharjay1 in #11579
  • Promote dev f1653e2 to staging by @github-actions[bot] in #11583
  • fix(release): v0.14.18 suite fixes (cherry-pick #11580, #11589) by @markokraemer in #11590
  • fix(release): v0.14.18 web suite fixes (cherry-pick #11593) by @markokraemer in #11594
  • stage-fix: self-host wildcard certificates and zero-downtime config changes (#11595) by @markokraemer in #11596
  • stage-fix: a healthy stateful recreate no longer reports the self-host update degraded (#11598) by @markokraemer in #11601
  • fix(release): v0.14.18 generated files for Discord and the kortix-system cap (from #11602) by @markokraemer in #11603
  • stage-fix: pin the self-host acme-dns API to one loopback address the SDK-boundary lint allows (#11607) by @markokraemer in #11612
  • fix(release): v0.14.18 email channels-view mock knows Discord (cherry-pick #11613) by @markokraemer in #11614
  • fix(release): carry self-host sign-in branding (#11615, #11618) to frozen staging by @DimitrijeGlibic in #11620
  • fix(release): v0.14.18 audit label for GET /v1/access/branding (cherry-pick #11622) by @markokraemer in #11623
  • fix(release): v0.14.18 instance branding SQL qualifies its outer columns (cherry-pick #11628) by @markokraemer in #11630
  • fix(release): v0.14.18 cold project pages and Discord gate findings (cherry-pick #11639, #11644) by @markokraemer in #11645
  • Release v0.14.18 — Discord channel, live case studies, and lighter background load by @github-actions[bot] in #11587

Full Changelog: v0.14.17...v0.14.18

v0.14.17 — One Drive tree, clearer session starts, and multi-domain self-hosting

Choose a tag to compare

@github-actions github-actions released this 03 Nov 12:55
c1c457b

One Drive tree, clearer session starts, and multi-domain self-hosting

New

  • Browse Drive as one folder tree, with pinned My files and Company folders, project search, and admin access to people's folders. (#11478, #11493)
  • See, reply to, and route artifact comments. (#11482)
  • See which sandbox image step a session start is waiting on. (#11501)
  • Serve a self-hosted instance on multiple domains, move its primary domain in one command, and use domain-aware URLs throughout. (#11526, #11533)

Improved

  • Start a new session's turn up to 0.7 seconds sooner. (#11510)
  • Read only the git objects each API request needs instead of whole repositories. (#11492)
  • Keep sidebar session rows consistent across widths and touch devices. (#11506)
  • Guide agents to act before asking and verify before reporting. (#11497)
  • Clarify that connecting Codex means connecting your ChatGPT subscription. (#11498)
  • Update the website's company positioning and case studies. (#11514, #11500)

Fixed

  • Close TUI panels with Esc even when it arrives as meta+Esc. (#11486)
  • Avoid quadratic trimming of boot-error output. (#11490)
  • Wait for a stateless session volume's last save rather than failing, and recover stuck runtimes before declaring them lost. (#11503, #11502)
  • Show the saved prompt on failure cards for agent-created sessions. (#11524)
  • Explain which SAML values to update before moving a self-hosted domain. (#11527)

Security

  • Reject TRACE and CONNECT requests at the API origin. (#11488)
  • Enforce general API edge rate limits and per-credential model request limits at the gateway, with visible credential rate-limit counters. (#11521, #11509, #11520)

Internal

  • Add regression coverage for free-tier managed billing refusals and rejected password sign-in. (#11487, #11489)
  • Make goal wake-cap tests independent of the UTC hour and wait for background claim deletion in Telegram bot-swap tests. (#11515, #11525)
  • Document owner-only automation refusals, project repository access, unique ledger entries, project-volume ownership, stateless-session architecture, runner-swap cleanup, and finite regional sandbox pools. (#11481, #11504, #11505, #11507, #11511, #11512, #11513, #11529)
  • Advance development version bookkeeping after releases 0.14.15 and 0.14.16.

What's Changed

  • docs(learnings): stop an automation that fails on a refusal only its owner can fix by @DimitrijeGlibic in #11481
  • chore(release): VERSION → 0.14.16 [skip ci] by @github-actions[bot] in #11484
  • test(api): preserve free-tier managed billing refusal (KRTX-3873) by @agent-kortix in #11487
  • fix(tui): Esc closes a panel even when it arrives as meta+Esc by @markokraemer in #11486
  • fix(api): reject TRACE and CONNECT at origin (KRTX-3892) by @agent-kortix in #11488
  • test(auth): cover rejected password sign-in (KRTX-3881) by @agent-kortix in #11489
  • feat(drive): the Drive is one folder tree, admins see people's folders, project search by @markokraemer in #11478
  • fix(api): read only the git objects a request needs, not whole repositories by @markokraemer in #11492
  • feat(drive): My files and Company sit pinned above the whole Drive tree by @markokraemer in #11493
  • KRTX-3920: avoid quadratic boot-error trimming by @agent-kortix in #11490
  • fix(agents): act before you ask, verify before you report by @markokraemer in #11497
  • fix(my-kortix): "Codex" means connecting the person's ChatGPT subscription by @markokraemer in #11498
  • feat(artifacts): artifact comments you can see, reply to and route (KRTX-3894) by @Ino-Bagaric in #11482
  • feat(sessions): a session start shows which sandbox image step it waits on and never waits silently by @markokraemer in #11501
  • fix(sessions): a stateless session waits out its volume's last save instead of failing by @markokraemer in #11503
  • fix(api): recover stuck runtimes before declaring loss (KRTX-3921) by @agent-kortix in #11502
  • docs(learnings): plan the next steps for project repository access by @markokraemer in #11504
  • docs(learnings): the ledger index lists each entry once by @markokraemer in #11505
  • fix(ui): sidebar session rows look the same at every width and on touch by @markokraemer in #11506
  • docs(learnings): record the decided target: one Platinum volume per project, git secondary by @markokraemer in #11507
  • feat(llm-gateway): limit model requests per credential at the gateway, as the API does by @DimitrijeGlibic in #11509
  • docs(learnings): stateless sessions stage 2 design — pi reads its conversation from the session volume by @markokraemer in #11511
  • docs(learnings): cancel runs still queued on the old runner label after a runner swap by @DimitrijeGlibic in #11512
  • docs(learnings): stateless sessions — the target, where we stand, and the path by @markokraemer in #11513
  • feat(web): position Kortix as the cloud-native agent harness for companies by @markokraemer in #11514
  • test(cli): KRTX-3941 make goal wake-cap check independent of UTC hour by @agent-kortix in #11515
  • fix(session): failure card shows the saved prompt of agent-created sessions by @markokraemer in #11524
  • test(channels): the Telegram bot-swap test waits for the background claim delete by @DimitrijeGlibic in #11525
  • feat(self-host): serve one instance on several domains and move its domain in one command by @markokraemer in #11526
  • fix(self-host): domain move names the SAML values to add to the identity provider first by @markokraemer in #11527
  • fix(gateway): expose credential rate-limit counters (KRTX-3935) by @agent-kortix in #11520
  • fix(api): KRTX-3932 enforce general edge rate limits by @agent-kortix in #11521
  • docs(learnings): every sandbox-provider org gets a finite pool bounded by its region share by @markokraemer in #11529
  • feat(web): case studies get a new lineup, drawn marks and minimal copy by @markokraemer in #11500
  • chore(release): staging VERSION → 0.14.17 [skip ci] by @github-actions[bot] in #11530
  • chore(release): VERSION → 0.14.17 [skip ci] by @github-actions[bot] in #11531
  • perf(session): a new session starts its turn up to 0.7 s sooner by @kubet in #11510
  • feat(self-host): serve alias domains in full, with URLs that follow the request's domain by @markokraemer in #11533
  • Promote dev d34d328 to staging by @github-actions[bot] in #11534
  • fix(release): carry #11539 (v0.14.17 suite fixes) to the v0.14.17 candidate by @markokraemer in #11540
  • fix(release): carry #11541 (CFG-14, partial-store CI git) to the v0.14.17 candidate by @markokraemer in #11542
  • fix(release): carry route catalog ordering repair #11544 to staging by @agent-kortix in #11550
  • test(api): KRTX-3958 preserve config exports in frozen staging by @agent-kortix in #11553
  • KRTX-3955: carry canonical route catalogs onto frozen staging by @agent-kortix in #11552
  • fix(release): carry KRTX-3960 apt bootstrap repair to staging by @agent-kortix in #11558
  • fix(release): carry KRTX-3960 Git bootstrap repair to frozen staging by @agent-kortix in #11559
  • test(api): preserve release config mock exports on staging (KRTX-3975) by @agent-kortix in #11569
  • fix(release): carry search audit labels to staging (KRTX-3972) by @agent-kortix in #11571
  • test(release): carry public setup config mock repair to staging by @agent-kortix in #11573
  • Release v0.14.17 — One Drive tree, clearer session starts, and multi-domain self-hosting by @github-actions[bot] in #11536

Full Changelog: v0.14.16...v0.14.17

v0.14.16 — Telegram question buttons, steerable agents in the terminal, and free-plan session fixes

Choose a tag to compare

@github-actions github-actions released this 03 Nov 00:32
e0d6ee6

New

  • Continue full-context sessions from a searchable record instead of a summary (#11428).
  • Set up event-driven automations with filters, per-item sessions, caps, dry runs and review (#11430).
  • Build event sources as watcher Apps, managed by My Kortix (#11440).
  • Apply Files storage limits per project and account, with storage billed in credits (#11435).
  • Answer agent questions with Telegram buttons, including several questions at once (#11469).
  • See and steer agents, workflows and messages in the terminal interface (#11476).

Improved

  • Ask for a session's box up to 1.6 seconds sooner in large projects (#11419).
  • Avoid re-sampling every cron trigger on each connector call (#11427).
  • Show all sidebar navigation rows directly, without More or Customize sidebar (#11439).
  • Help agents understand their microVM, desktop and persistent installs (#11443).
  • Pause triggers that can never run and notify their owners (#11477).
  • Limit model requests per credential at the LLM gateway, as the API already does (#11509).

Fixed

  • Restore even home-page pillars and keep the header switcher clear of Pricing (#11420).
  • Stop Settings and Drive from showing a spurious “Not found” toast (#11423).
  • Let sessions start when a Files folder cannot mount (#11421).
  • Restore session logs when a box wakes before its session lease (#11434).
  • Rename the mobile schedules page to Trigger (#11433).
  • Hide unlaunched Chrome surfaces to prevent missing-route errors (#11436).
  • Match the daemon's Bun version to lockfile v3 (#11437).
  • Count every drive's real usage toward Files limits and explain refusals (#11459).
  • Allow free-plan sessions to start and show failed-start errors (#11463).
  • Enable My Kortix unless explicitly disabled in kortix.yaml (#11464).
  • Prevent file listings from restarting the daemon on Bun 1.4 (#11467).
  • Keep keyboard focus in terminal chat input and copy dragged text selections (#11470).

Security

  • Return consistent 400 responses for malformed gateway messages on every route (#11455).
  • Pin sandbox-proxy authorization parity in regression coverage (#11471).
  • Trim long session start errors in linear time (#11490).

Internal

  • Regenerate the learnings index without duplicate entries (#11424).
  • Keep database script-private declarations local (#11429).
  • Prepare the next development version, 0.14.15 (88b3618).
  • Document boot-time lease-race retries (#11438).
  • Mark Goals as work in progress in feature flags (#11441).
  • Correct watcher App /tick guidance to use POST (#11442).
  • Update session-log switch-gap coverage for context records (#11448).
  • Restore summary fixtures in summary-context mode (#11447).
  • Refresh the generated UI stylesheet (#11449).
  • Monitor worker CPU with SNS alerts (#11452).
  • Consolidate the Kortix skill list for Chrome grants (#11453).
  • Remove five apps-api cleanup leftovers (#11454).
  • Update nightly session-log expectations for context-record capabilities (#11457).
  • Correct box-disk SQL, usage-audit labels, storage-charge classification and a file race in release checks (#11461).
  • Align billing-tab tests, UI skill exports and the English UI catalog (#11465).
  • Keep the GOLD-1 agent from committing before the host's commit-push step (#11472).
  • Document generated-file refreshes on staging fixes and runner bind-failure handling (#11479).
  • Make the goal wake-cap test independent of the UTC hour (#11515).
  • Document cancelling runs still queued on the old runner label after a runner swap (#11512).

What's Changed

  • fix(release): v0.14.15 gate — box-disk subquery qualified, drive usage audit labels, storage_charges classified, no file race by @markokraemer in #11461
  • fix(sessions): free-plan sessions start, and a failed start shows its error by @DimitrijeGlibic in #11463
  • fix(my-kortix): My Kortix is on unless kortix.yaml turns it off; meta_agent flag removed by @markokraemer in #11464
  • fix(release): v0.14.15 packages-rest lane — billing tab, UI skill exports, UI en catalog by @markokraemer in #11465
  • fix(kortixd): listing files no longer restarts the daemon on Bun 1.4 (FILE-9 503) by @markokraemer in #11467
  • feat(channels): every agent question in Telegram shows as buttons, several one at a time (KRTX-2235) by @Ino-Bagaric in #11469
  • fix(tui): the chat input keeps the keyboard, and dragging over text copies it by @markokraemer in #11470
  • test(flows): GOLD-1 asks the agent not to commit before the host commit-push by @DimitrijeGlibic in #11472
  • test(api): KRTX-3842 pin sandbox proxy authorization parity by @agent-kortix in #11471
  • feat(tui): agents, workflows and messages you can see and steer by @markokraemer in #11476
  • fix(triggers): a trigger that can never run pauses itself and tells its owner by @DimitrijeGlibic in #11477
  • docs(learnings): regenerate generated files on stage-fix branches; CI_RUNNER_L off vulcan on bind failure by @DimitrijeGlibic in #11479
  • Promote dev 45f53e8 to staging by @github-actions[bot] in #11480
  • chore(release): staging VERSION → 0.14.16 [skip ci] by @github-actions[bot] in #11483
  • fix(release): carry boot-error CodeQL fix to frozen staging by @agent-kortix in #11495
  • KRTX-3920: stage linear boot-error trimming by @agent-kortix in #11496
  • test(cli): KRTX-3941 carry UTC-independent goal fixture to staging by @agent-kortix in #11518
  • fix(release): KRTX-3941 index only learnings present on staging by @agent-kortix in #11519
  • fix(release): carry the gateway per-credential limit (#11509) and #11512 to the v0.14.16 candidate by @DimitrijeGlibic in #11528
  • Release v0.14.16 — Telegram question buttons, steerable agents in the terminal, and free-plan session fixes by @github-actions[bot] in #11485

Full Changelog: v0.14.15...v0.14.16

capture-dev-latest

capture-dev-latest Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Oct 02:45
4de4672

Mutable DEV build of Kortix Capture v0.14.18-dev.74 for 4de4672. It enrolls against https://dev-api.kortix.com by default. Every installer was installed and checked on its OS runner (run 41730921278).

v0.14.15 — Files never block a session, storage limits and storage billing, searchable session continuity

Choose a tag to compare

@github-actions github-actions released this 02 Nov 16:48
a76e2be

New

  • Files storage limits per project and per account, by plan: Free 5 GB, Credits 50 GB per project and 250 GB per account, Enterprise 100 GB per project and 1 TB per account. An upload that does not fit is refused before it starts, with what is used, what it needs and what is left (#11435, #11459).
  • Files storage is billed in credits at cost, like compute: project Files, each session's workspace and scratch disks. Billing shows Storage per project next to compute (#11435).
  • The Files page shows a project's storage against its limit and warns before a folder is too large to mount in a session (#11435).
  • Full contexts continue from the searchable session record instead of a summary (#11428).
  • My Kortix can set up event-driven automations with filters, per-item sessions, caps, dry runs, and review (#11430).
  • My Kortix can build and retire watcher Apps that post App events (#11440).

Improved

  • New sessions in large projects request their box up to 1.6 seconds sooner (#11419).
  • Connector calls no longer re-sample every cron trigger (#11427).
  • Every sidebar navigation row is directly visible, without More or Customize sidebar (#11439).
  • Agents know their microVM, which desktop a request refers to, and how to preserve an installation (#11443).
  • Mobile schedules are now named Trigger (#11433).

Fixed

  • A Files folder that storage cannot mount no longer prevents a session from starting: the session starts without it, names the folder and why, and mounts it as soon as storage can (#11421, #11435).
  • The home pillars band is even again, and the header switcher no longer covers Pricing (#11420).
  • Opening Settings or Drive no longer shows a “Not found” toast (#11423).
  • Boxes that wake before their session lease restore the session log (#11434).
  • Unreleased Kortix in Chrome surfaces are disabled, preventing Chrome endpoint 404s (#11436).
  • The daemon's Bun version matches lockfile v3 (#11437).
  • A gateway request with no user or assistant message, or a malformed item, gets one 400 on every route (#11455).
  • One Kortix skill list, so an agent may be granted kortix-chrome (#11453).
  • Listing a folder in a session no longer restarts the session's daemon, so the next file action no longer fails with 503 (#11467).

Security

  • The account Files usage list shows only the projects the caller may read (#11435).

Internal

  • Stopped-computer disk is metered as storage but not charged; KORTIX_BOX_DISK_CHARGE_ENABLED stays off (#11435).
  • Kortix's own Platinum cost for unattributed volumes and orphan boxes is recorded (#11435).
  • Worker CPU is monitored with SNS alerts (#11452).
  • The committed UI stylesheet is refreshed from component sources (#11449).
  • pi summary fixtures and the session-log switch gaps follow the context record (#11447, #11448, #11457).
  • apps-api cleanup sweep (#11454).
  • The learnings index lists each entry once, matching its generator (#11424).
  • Database script-private declarations stay local (#11429).
  • Dev's version advances to 0.14.15 after 0.14.14 (88b3618).
  • Boot guidance documents retrying a 401 when wake races the session lease (#11438).
  • Goals is marked work in progress in Feature flags (#11441).
  • Watcher App guidance specifies POST for /tick (#11442).
  • Release-suite repairs: qualified box-disk subquery, Drive usage audit labels, storage_charges classified for purge and transfer, the billing Storage label in the UI catalog, billing tab tests, and a GOLD-1 prompt that leaves the commit to the host (#11461, #11465, #11472).

What's Changed

  • perf(api): a new session in a large project asks Platinum for its box up to 1.6 s sooner by @DimitrijeGlibic in #11419
  • fix(web): the home pillars band is even again, and the header switcher no longer covers Pricing by @markokraemer in #11420
  • fix(sdk): opening Settings or Drive no longer toasts "Not found" by @markokraemer in #11423
  • fix(learnings): MEMORY.md lists each entry once, as index.sh generates it by @markokraemer in #11424
  • fix(drives): a Files folder storage cannot mount never stops a session from starting by @markokraemer in #11421
  • perf(manifest): a connector call no longer re-samples every cron trigger by @DimitrijeGlibic in #11427
  • feat(sessions): a full context continues from the searchable record instead of a summary by @markokraemer in #11428
  • chore(db): KRTX-3725 keep script-private declarations local by @agent-kortix in #11429
  • feat(my-kortix): set up event-driven automations the expert way (filter, one session per thing, caps, dry run, review) by @markokraemer in #11430
  • chore(release): staging VERSION → 0.14.15 [skip ci] by @github-actions[bot] in #11431
  • chore(release): VERSION → 0.14.15 [skip ci] by @github-actions[bot] in #11432
  • fix(kortixd): a box that wakes before its session lease still restores the session log by @DimitrijeGlibic in #11434
  • fix(mobile): rename schedules page to Trigger (KRTX-3832) by @agent-kortix in #11433
  • fix(web): turn off Kortix in Chrome surfaces until launch (stops /v1/chrome 404s) by @markokraemer in #11436
  • docs(learnings): retry a 401 at box boot; a wake races the session lease by @DimitrijeGlibic in #11438
  • fix(build): align daemon Bun with lockfile v3 (KRTX-3829) by @agent-kortix in #11437
  • feat(web): show every sidebar nav row directly; remove More and Customize sidebar by @markokraemer in #11439
  • feat(my-kortix): build your own event sources — watcher Apps that post App events, wired and retired by My Kortix by @markokraemer in #11440
  • Mark Goals as work in progress in Feature flags by @markokraemer in #11441
  • docs(kortix-system): a watcher App's /tick takes POST (the check POSTs) by @markokraemer in #11442
  • feat(agent): agents know their microVM, which desktop "my desktop" means, and how to keep an install by @markokraemer in #11443
  • Promote dev 077b490 to staging by @github-actions[bot] in #11444
  • test(session-log): include context record in switch gaps (KRTX-3848) by @agent-kortix in #11448
  • test(pi): restore summary fixtures in summary context mode (KRTX-3847) by @agent-kortix in #11447
  • build(ui): refresh committed stylesheet from component sources (KRTX-3849) by @agent-kortix in #11449
  • test(release): carry verified contract and stylesheet fixes onto staging by @agent-kortix in #11451
  • fix(infra): monitor worker CPU with SNS alerts (KRTX-3857) by @agent-kortix in #11452
  • fix(manifest): one Kortix skill list, so an agent may grant kortix-chrome (KRTX-3640) by @Ino-Bagaric in #11453
  • refactor(api): apps-api cleanup sweep, 5 leftovers (KRTX-3790) by @Ino-Bagaric in #11454
  • fix(gateway): a request with no user or assistant message, or a malformed item, gets one 400 on every route (KRTX-3421) by @Ino-Bagaric in #11455
  • feat(drives): Files storage limits per project and account, and storage billed in credits by @markokraemer in #11435
  • test(sessions): the nightly SLOG-4 flow expects the new session.context_record capability by @markokraemer in #11457
  • test(release): carry SLOG-4 context-record expectation to staging by @agent-kortix in #11458
  • fix(drives): Files limits count every drive's real usage, and a refusal names what the project holds by @markokraemer in #11459
  • Promote dev 3e812a4 to staging by @github-actions[bot] in #11460
  • fix(release): v0.14.15 gate fixes onto staging (#11461) by @markokraemer in #11462
  • fix(release): v0.14.15 packages-rest fixes onto staging (#11465) by @markokraemer in #11466
  • fix(release): kortixd survives a list outside a git repo on Bun 1.4 (FILE-9) onto staging (#11467) by @markokraemer in #11468
  • fix(release): v0.14.15 UI catalog holds the billing Storage label by @DimitrijeGlibic in #11473
  • test(flows): GOLD-1 asks the agent not to commit (onto staging, #11472) by @DimitrijeGlibic in #11474
  • fix(release): v0.14.15 learnings index lists only entries on staging by @markokraemer in #11475
  • Release v0.14.15 — Files never block a session, storage limits and storage billing, searchable session continuity by @github-actions[bot] in #11445

Full Changelog: v0.14.14...v0.14.15

v0.14.14 — Compaction summaries show once, and steadier deploys

Choose a tag to compare

@github-actions github-actions released this 01 Nov 18:09
6eff184

Compaction summaries show once, and steadier deploys

Fixed

  • After an automatic compaction, the summary shows once, inside the "Context automatically compacted" marker, instead of a second time below it (#11417).

Improved

  • A worker service that scales up from zero waits for its previous deployment to leave before it rolls, so deploys no longer collide (#11413).
  • The macOS desktop installer builds on macOS 15 runners, so a release no longer loses it during GitHub's macOS 14 retirement (#11412).

What's Changed

  • fix(ci): desktop macOS builds run on macos-15 by @DimitrijeGlibic in #11412
  • fix(deploy): a worker roll from 0 waits for the earlier deployment to leave by @DimitrijeGlibic in #11413
  • chore(release): VERSION → 0.14.14 [skip ci] by @github-actions[bot] in #11414
  • chore(release): staging VERSION → 0.14.14 [skip ci] by @github-actions[bot] in #11415
  • docs(learnings): pick a platform binary in a Dockerfile by TARGETARCH by @DimitrijeGlibic in #11416
  • fix(kortixd): a compaction summary shows once, inside its marker by @markokraemer in #11417
  • Promote dev 09020dc to staging by @github-actions[bot] in #11418
  • fix(learnings): MEMORY.md lists each entry once (stage-fix for v0.14.14) by @markokraemer in #11425
  • Release v0.14.14 — Compaction summaries show once, and steadier deploys by @github-actions[bot] in #11422

Full Changelog: v0.14.13...v0.14.14

v0.14.13 — Your own Claude subscription, My Kortix teams, and clearer session costs

Choose a tag to compare

@github-actions github-actions released this 01 Nov 15:01
90bb485

Your own Claude subscription, My Kortix teams, and clearer session costs

New

  • Run Claude models on your own Claude Pro or Max subscription. Sign in under Models → Providers → Anthropic, like ChatGPT; the account is private to you until you share it, and the gateway keeps the token out of the sandbox (#11283, #11322, #11324, #11335, #11349).
  • My Kortix runs agents, teams and workflows while you chat, remembers you, reuses its agents, and follows up on its own (#11240, #11255, #11332).
  • Agent pages, Project administration, My Kortix, a unified Triggers list and Goals bring work into one place (#10877).
  • Upload files of any size to Drive from the web, CLI and API (#11249).
  • Add HTML comments and drawn feedback to artifacts, with more reliable document loading (#11196; drawing feedback commit bb8eba3).
  • Session usage shows the cost of the session and the sessions it spawned (#11251).
  • Background subagents report back to their parent session (#11230).
  • The terminal UI shows one session at a time; every action is a slash command, and /ui composes the layout (#11250).

Improved

  • Scheduled jobs run on their own worker service instead of on the web servers, so a busy job no longer slows requests or scales the API (#11367, #11382).
  • A prompt shows in the session the moment it is accepted, under one id (#11259).
  • Session titles recover from a failed model, spawned sessions show live, and the agent list card matches the agents line (#11266).
  • Mobile and desktop download pages show the shipped apps rather than mockups; mobile is prepared for its next 1.5.4 store build (#11209, #11244).
  • Dev sessions and new Files use us-east, with safe file moves between regions (#11213).
  • New sessions and prompts avoid refetching large repositories (#11234).
  • One unversioned kortix.yaml supports older formats and deprecated keys; edits keep the YAML map order (#11236, #11305).
  • The CLI, SDK and web read the session log directly; the CLI removes sessions connect (#11243, #11263, #11273).
  • The SDK answers, compacts, runs commands and stops through session-log actions; box log reads return whole pages and show queued prompts (#11238, #11247).
  • A release ships a desktop update only when the desktop app changed (#11265).

Fixed

  • Escape in the chat input no longer stops a turn accidentally; press Escape three times to stop (#11210).
  • Session usage lookups avoid timeouts, and model usage loads in roughly 0.1 seconds rather than up to 25 seconds on long sessions (#11197, #11219).
  • A long Claude turn no longer reads as a full context and compacts early (#11369).
  • Toasts stay on the session and project on screen (#11328).
  • My Kortix keeps a follow-up set with generic text, sets a follow-up without text after one refusal, checks in before your deadline, saves each fact once, and has the same desktop and tools as every session (#11262, #11344, #11347, #11351, #11361).
  • A finished background agent shows as a tool row with a glyph (#11272).
  • Lumen threads read the session log on current computers (#11270).
  • Apps no longer show the manual "Add an App by URL" button (#11359).
  • Mobile: Continue with Google lists your accounts in the browser, and workflow details open (#11319, #11380).
  • Sign-in shows its welcome once; Terms change notices no longer email every user (#11217, #11220).
  • A region move reports a drive deleted mid-run instead of stopping (#11222).
  • Session-wide permission approval survives a closed tab, and compact no longer depends on OpenCode routes (#11221).
  • The Desktop panel appears only on computers with a desktop; sleeping computers no longer add a notice above the composer (#11223, #11231).
  • Reopening the session panel restores its artifact, with a centered header (#11227).
  • Dev retains chunks from the last five web builds so open tabs survive deployments (#11228).
  • My Kortix sessions no longer wait for a meta image build (#11241).
  • CLI chat --new prints the reply that ends the first turn (#11245).
  • Manifest healing preserves untouched lines, tool headers explain loading, and web/API edits preserve comments (#11253, #11254).
  • Memory saves tolerate missing name, type or body; ask My Kortix about memory rather than opening a separate screen (#11256, #11258).
  • The hosted MCP CLI matches the current commands (#11264).
  • Japanese and Chinese plurals and every locale catalog are complete (#11373, #11384, #11388, #11405).

Security

  • The API rejects malformed JWT signatures (#11336).
  • Remove vulnerable minimatch and glob releases and repair the scanner and daemon audit findings (#11386, #11389, #11395).
  • Trivy carries the documented decode-uri-component exception consistently (commit 359828a).

Internal

  • Remove unused OpenCode daemon code and route session lifecycle, repair, question release and transcripts through Kortix routes (#11218, #11235, #11239).
  • Serve session-log actions and live status from the box (#11232).
  • Bake shared defaults into every Kortix image (#11233).
  • Batch carried merge ancestry checks (#11301).
  • Frozen pnpm installs work again after the Claude Agent SDK was added; the daemon installs with its pinned Bun (#11286, #11398, #11402).
  • Keep release-suite tests aligned with the shipped product (#11191, #11226, #11252, and the KRTX test fixes).
  • Run dev gateway parity and :dev promotion when Terraform is skipped (#11248).
  • Document retained Next.js chunks, last-ready image fallbacks, safe secret reads in zsh, and Claude Code usage per call (#11229, #11242, #11246, #11371).

What's Changed

  • feat(web): /mobile and /desktop show the shipped apps, not drawn mockups by @markokraemer in #11209
  • feat!: agent pages, Project admin, My Kortix, one Triggers list, Goals by @markokraemer in #10877
  • fix(session): one Escape in the chat input no longer stops the turn; Esc ×3 does by @markokraemer in #11210
  • fix(security): Trivy carries the documented decode-uri-component exception too by @DimitrijeGlibic in #11212
  • feat(drives): dev sessions and new Files run in us-east; Files move between regions safely by @DimitrijeGlibic in #11213
  • test(channels): the Telegram webhook parity table expects each event's sequence by @DimitrijeGlibic in #11214
  • refactor(kortixd): delete the OpenCode-only daemon code no pi box uses by @DimitrijeGlibic in #11218
  • fix(db): prevent session usage lookup timeouts (KRTX-2754) by @agent-kortix in #11197
  • fix(api): session model usage loads in ~0.1 s instead of up to 25 s on long sessions by @DimitrijeGlibic in #11219
  • Artifact comments: HTML anchors and reliable Doc loading by @Ino-Bagaric in #11196
  • fix(auth): the sign-in screen says "Welcome to Kortix CompanyOS" once by @markokraemer in #11217
  • fix(legal): stop emailing the Terms change notice to every user by @markokraemer in #11220
  • fix(drives): a region-move run reports a drive deleted mid-run instead of stopping by @DimitrijeGlibic in #11222
  • fix(pi,sdk): "Allow all for this session" holds after the tab closes; compact works without OpenCode routes by @DimitrijeGlibic in #11221
  • fix(web): the Desktop panel appears only on a computer that has a desktop by @markokraemer in #11223
  • chore(release): staging VERSION → 0.14.13 [skip ci] by @github-actions[bot] in #11224
  • chore(release): VERSION → 0.14.13 [skip ci] by @github-actions[bot] in #11225
  • test(cli): expect the triggers help to name merged change requests by @markokraemer in #11226
  • fix(artifacts): the session panel comes back with its artifact; header centered by @markokraemer in #11227
  • fix(web): dev keeps the last 5 builds' chunks so open tabs survive a deploy by @markokraemer in #11228
  • docs(learnings): a self-hosted Next.js image must carry earlier builds' chunks by @markokraemer in #11229
  • fix(session): a sleeping computer is silent; no "computer is asleep" line over the composer by @markokraemer in #11231
  • refactor(sandbox): every Kortix image bakes the same defaults from one place by @markokraemer in #11233
  • perf(sessions): new sessions and prompts stop refetching large git repos by @DimitrijeGlibic in #11234
  • refactor(api): the session lifecycle reaches the box only over Kortix routes by @DimitrijeGlibic in #11235
  • feat(kortixd): the box serves session-log actions and live status (step 1 of removing the OpenCode format) by @DimitrijeGlibic in #11232
  • feat(sdk): the SDK answers, compacts, runs commands and stops through the session-log action routes by @DimitrijeGlibic in #11238
  • refactor(api): the API stops reading OpenCode box routes for repair, question release and transcripts by @DimitrijeGlibic in #11239
  • feat(artifacts): draw feedback for agents (KRTX-3667) by @Ino-Bagaric in #11237
  • fix(api): a My Kortix session never waits for the meta image build by @markokraemer in #11241
  • docs(learnings): every image a session boots needs a last-ready fallback by @markokraemer i...
Read more