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_ENABLEDstays 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_chargesclassified 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