github kortix-ai/CompanyOS v0.14.19
v0.14.19 — Voice calls, an instant project page, and egress without NAT

latest release: dev-latest
4 hours ago

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(learnings): add the new repository name to the AWS OIDC trust before a rename by @markokraemer in #11652
  • chore: name the repository kortix-ai/CompanyOS everywhere by @markokraemer in #11654
  • fix(api): the saved config summary is served only when exact, and Secrets, grants and Slack read it too by @markokraemer in #11655
  • fix(infra): AWS trusts this repository's immutable OIDC subject by @markokraemer in #11656
  • fix(dev): a fresh database migrates again, and every feature flag is named in every locale by @markokraemer in #11657
  • feat(mobile): a prod release submits a new app version to both stores by @DimitrijeGlibic in #11646
  • fix(capture): Windows frames show GPU-rendered content such as CAD canvases by @markokraemer in #11647
  • fix(cli): self-host tls wildcard accepts only a strict acme-dns account by @markokraemer in #11659
  • test(ci): a workflow_run follower must pin its branch before it runs a commit by @DimitrijeGlibic in #11658
  • fix(api): the API image carries packages/voice/src, so dev sessions start again by @kubet in #11660
  • docs(learnings): trust the immutable OIDC subject and move npm Trusted Publishing before a repo rename by @markokraemer in #11662
  • chore(release): staging VERSION → 0.14.19 [skip ci] by @github-actions[bot] in #11663
  • chore(release): VERSION → 0.14.19 [skip ci] by @github-actions[bot] in #11664
  • perf(ttft): session create shares and adopts tip proofs across API processes by @kubet in #11661
  • feat(voice): a call starts from the agent page as a session of its own, and its chat stores what was said by @kubet in #11665
  • fix(dev): every contract lane green again for v0.14.19 by @markokraemer in #11666
  • fix(tests): workflow-run-trust runs under vitest like every tests/unit file by @markokraemer in #11668
  • fix(sales): conservative customer truth (KRTX-3998) by @agent-kortix in #11634
  • fix(settings): renaming a workspace sends one PATCH, even when a read lags the write by @markokraemer in #11670
  • docs(self-host): project snapshots on a server with an external capture store by @DimitrijeGlibic in #11669
  • Promote dev 14e68bb to staging by @github-actions[bot] in #11671
  • fix(release): v0.14.19 MEMORY-4 reads the My Kortix memory layer (cherry-pick #11676) by @markokraemer in #11680
  • fix(release): v0.14.19 GH-17 lock retry and feature-gate test seed (cherry-pick #11684, #11686) by @markokraemer in #11687
  • fix(release): v0.14.19 CodeQL high alerts and gitleaks fixture (cherry-pick #11694) by @markokraemer in #11695
  • fix(release): v0.14.19 voice hallucination test without ReDoS (cherry-pick #11697) by @markokraemer in #11699
  • fix(security): vendor log lines strip line breaks; code-scanning suppressions with reasons (staging v0.14.19) by @agent-kortix in #11703
  • Release v0.14.19 — Voice calls, an instant project page, and egress without NAT by @github-actions[bot] in #11674

Full Changelog: v0.14.18...v0.14.19

Don't miss a new CompanyOS release

NewReleases is sending notifications on new releases.