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