Document discussions, safer Telegram chats, and faster session startup
New
- Discuss documents and comment on selected content in artifacts (8f1877d).
Improved
- Load models from the live catalog instead of a baked sandbox list, without delaying boot or prompts (#11153, #11161).
- Continue older OpenCode chats on pi and simplify the daemon to Kortix names (#11155, #11200).
- Use one shared desktop browser for Kortix and the user (#11204).
- Render email through the shared channel prompt format and label email cards with Subject (#11190).
Fixed
- Keep connector sweeps from running back to back on the leader (#11148).
- Reduce changed session journal writes to one INSERT per batch (#11154).
- Filter injected onMessage error noise in the web app (#11169).
- Localize desktop controls and guard bundled translations (#11180, #11175).
- Keep artifact digest turn identities separate and stop code block mutation loops (#11185, #11199).
- Preserve send order for quick Telegram messages (#11191).
- Serve blog routes from the blog app again (#11181).
Security
- Restrict Telegram session writes to their own chat and connector calls to declared arguments (#11184).
- Restrict Telegram /stop to runs started by the same chat and record each prompt's source (#11189).
- Reject unsafe archive links without uncaught errors (#11195).
Internal
-
Remove the v1 session transcript mirror tables (#11152).
-
Preserve bootstrap broadcast exports and restore worker startup coverage (#11156, #11159).
-
Keep residential proxy presigning off instance metadata in tests (#11157).
-
Restore wake refusal and rollback fixtures, including explicit environment sync (#11163, #11164, #11176).
-
Cover explicitly unlocked provider failover (#11168).
-
Remove unused daemon WebSocket development dependencies (#11160).
-
Use residential IPs for development sandbox templates and document proxy flag behavior (#11198, #11201).
-
Advance development version metadata after releases (4ec88c3, f195b88).
-
Make promotion conflict detection match GitHub when union merge attributes hide conflicts (#11206).
What's Changed
- fix(api): the connector sweep no longer runs back to back on the leader by @DimitrijeGlibic in #11148
- chore(release): VERSION → 0.14.11 [skip ci] by @github-actions[bot] in #11149
- feat(sandbox): drop the 5.4 MB baked model catalog; pi uses the live list by @DimitrijeGlibic in #11153
- feat(session-log): drop the v1 transcript mirror tables (P8.2 Release B3) by @DimitrijeGlibic in #11152
- fix(session-log): changed journal puts cost one INSERT per batch by @DimitrijeGlibic in #11154
- refactor(kortixd): delete OpenCode; old OpenCode chats continue on pi by @DimitrijeGlibic in #11155
- test(api): preserve broadcast exports in bootstrap worker stub by @agent-kortix in #11156
- test(api): keep residential proxy presigning off instance metadata by @agent-kortix in #11157
- chore(kortixd): drop the unused ws and @types/ws devDependencies by @DimitrijeGlibic in #11160
- perf(pi): neither boot nor a prompt waits for the model list by @DimitrijeGlibic in #11161
- KRTX-3700 test(api): restore bootstrap worker startup coverage by @agent-kortix in #11159
- KRTX-3701 test(api): restore wake-status refusal fixture by @agent-kortix in #11163
- KRTX-3703 test(api): exercise explicit env sync in wake rollback fixtures by @agent-kortix in #11164
- fix(web): filter injected onMessage error noise (KRTX-3704) by @agent-kortix in #11169
- KRTX-3708 test(api): cover explicitly unlocked provider failover by @agent-kortix in #11168
- KRTX-3703 test(api): remove duplicate wake fixture env override by @agent-kortix in #11176
- fix(i18n): localize desktop controls for release gate by @agent-kortix in #11180
- fix(connectors): a Telegram chat's session writes only into its own chat; channel calls take only declared args (KRTX-2235) by @Ino-Bagaric in #11184
- fix(artifacts): keep digest turn identities separate (KRTX-3717) by @agent-kortix in #11185
- test(ui): guard bundled desktop translations (KRTX-3716) by @agent-kortix in #11175
- fix(channels): Telegram /stop stops only runs this chat started; turns record their prompt's source (KRTX-2235) by @Ino-Bagaric in #11189
- refactor(channels): email on the one channel prompt format; the core renders it; Email cards say Subject (KRTX-2235) by @Ino-Bagaric in #11190
- fix(channels): keep a Telegram chat's quick messages in send order — per-key order on the job queue (KRTX-2235) by @Ino-Bagaric in #11191
- feat(artifacts): add discussion sidebar and document selection comments by @Ino-Bagaric in #11136
- fix(web): serve /blog pages from the blog app again by @ArtemShatokhin in #11181
- fix(api): reject unsafe archive links without uncaught errors (KRTX-3723) by @agent-kortix in #11195
- chore(dev): residential IPs for sandbox templates on dev by @markokraemer in #11198
- refactor(kortixd): the daemon speaks only Kortix names; pre-W3 OpenCode aliases removed by @DimitrijeGlibic in #11200
- docs(api): KORTIX_PLATINUM_RESIDENTIAL_PROXY no longer gates a project flag by @markokraemer in #11201
- chore(release): staging VERSION → 0.14.12 [skip ci] by @github-actions[bot] in #11202
- chore(release): VERSION → 0.14.12 [skip ci] by @github-actions[bot] in #11203
- fix(sandbox): the desktop has one browser, shared by Kortix and the user by @markokraemer in #11204
- fix(artifacts): stop code block mutation loop by @Ino-Bagaric in #11199
- fix(release): Promote checks the staging merge for conflicts the way GitHub merges by @DimitrijeGlibic in #11206
- Promote dev 819b4f0 to staging by @github-actions[bot] in #11207
- fix(chrome): nothing outside dev shows Kortix in Chrome before launch by @Ino-Bagaric in #11208
- stage-fix(v0.14.12): the Telegram webhook parity table expects each event's sequence (#11214) by @DimitrijeGlibic in #11215
- Promote dev 843177a to staging by @github-actions[bot] in #11216
- Release v0.14.12 — Document discussions, safer Telegram chats, and faster session startup by @github-actions[bot] in #11211
Full Changelog: v0.14.11...v0.14.12