github kortix-ai/suna v0.14.4
v0.14.4 — pi by default, one model path, one Drive

latest release: dev-latest
4 hours ago

New

  • One model path: the Kortix LLM gateway. Every project's models go through the gateway, and custom OpenAI-compatible endpoints are set up in the gateway as custom providers.
  • pi is the default agent harness. New sessions in a project start on pi unless the project turns pi_harness off. Existing sessions keep their harness. Projects with the LLM gateway off stay on OpenCode.
  • One Drive with team folders. Files lives under the gear, and kortix drive works from the CLI.
  • Triggers protect themselves. A trigger that stays at its hourly run limit for 2 hours pauses itself, sends one alert, and resumes when you set enabled: true. A new cron trigger skips a fire while its previous run is still active (overlap: allow opts out).
  • @kortix/ui is a plug-and-play UI library. The Kortix web app and the Lumen example now render the same session, workspace and settings screens from one package.
  • Preview text attachments in the app before you send them.
  • Mobile 1.5.1: iOS Liquid Glass chrome, a native glass message menu, smoother sheets and scrolling in long sessions, and an MFA focus fix.

Improved

  • Forked conversations persist and stay reachable after navigation.
  • pi tells the model today's date on every turn, leaves the session title to Kortix (the header no longer flips), and the Changes tab works on pi sessions.
  • Sessions report the model the conversation uses, not the model pinned at creation.
  • The project home sends faster, finished replies no longer stream again, and slash skills and commands show there.
  • Escape in an empty composer stops a streaming reply. The command palette opens at once, and the slash palette opens the agent picker.
  • Drive shows folders as folders and keeps fixed folders in place.
  • Connector catalogs resolve in one batch, and sub-agent links keep their sub-agent.
  • Large files open whole instead of cutting off at 50k characters.
  • Web and CLI show the same model price estimates.
  • Cron triggers show the exact next run with its timezone.
  • Trigger edits keep the comments in kortix.yaml.
  • Faster gateway log and audit reads in projects with a lot of history. Gateway budgets read a running daily total (954 ms → one key read), sign-in checks no longer make an extra auth hop, and a page load fetches its project once.
  • CLI: models lists catalog availability, sessions new streams readiness progress, chat and compact wake a stopped or provisioning session first, access grant --user uses the linked project, marketplace installs resolve short names, doctor names the turn error and explains warm-session retention, project and session URLs match the host, and channels show every state by default.

Fixed

  • Session notifications work in a fresh browser, and blocked notifications recover with a sound fallback.
  • Usage opens from account deep links, and checkout returns to the billing page of the account that paid.
  • The low-balance warning scales to the recurring grant, and a new free account no longer sees a false warning.
  • A deleted project no longer reopens from cache. Enabling a gated feature no longer leaves the page, and a lost session keeps its return path. Account deletion explains that it can be cancelled.
  • Compacting a busy session is refused with a clear message. Forking a stopped session explains what to do.
  • New project invitees get their notification. Removed avatars are erased.
  • Email confirmation is link-first, and the sign-in screen offers password sign-in.
  • The app recovers from a stale code chunk instead of failing to load.
  • Connected accounts stay on the personal identity.
  • The first session of a new project no longer lists the project setup as its own changes.
  • Session tokens can no longer leak after a session ends.
  • Expired branches are deleted without cloning their history.
  • Reminders re-arm from the time they resume.
  • Public transcripts show failed assistant turns.
  • The Agents page shows agent ids, and a direct user grant replaces the existing project role.
  • The public OpenAPI spec publishes a relative server URL.
  • Many smaller fixes across the CLI, triggers, auth and the web app.

What's Changed

  • chore(release): VERSION → 0.14.4 [skip ci] by @github-actions[bot] in #10351
  • chore(release): staging VERSION → 0.14.4 [skip ci] by @github-actions[bot] in #10352
  • chore(catalog): refresh model seeds by @github-actions[bot] in #10354
  • fix(api): preserve YAML comments through trigger manifest edits (KRTX-2742) by @agent-kortix in #10230
  • docs(learnings): reload Caddy after a Capture-version self-host update by @markokraemer in #10359
  • fix(api): return not found for stale subscription sync (KRTX-2882) by @agent-kortix in #10355
  • feat(triggers): auto-pause — a trigger at its hourly run limit for 2 hours in a row pauses itself, alerts once, and resumes with enabled: true (KRTX-1721) by @Ino-Bagaric in #10362
  • fix(infra): monitor staging and prod SQS message age (KRTX-2509) by @agent-kortix in #10356
  • fix(billing): KRTX-2754 preserve referenced legacy agent versions by @agent-kortix in #10357
  • perf(db): index-driven audit tool-action filter and gateway project aggregates; fix(api): change-request lookup accepts the per-project number (KRTX-2763) by @agent-kortix in #10212
  • fix(api): resume create-in-chat after its question answer (KRTX-2544) by @agent-kortix in #10364
  • fix(cli): report no credential source for tokenless hosts (KRTX-2755) by @agent-kortix in #10358
  • feat(triggers): overlap — a fresh cron trigger skips a fire while its previous run is still active; overlap: allow opts out (KRTX-1721) by @Ino-Bagaric in #10369
  • fix(cli): report no credential source for unsigned hosts (KRTX-2756) by @agent-kortix in #10360
  • fix(auth): KRTX-2840 make email confirmation link-first by @agent-kortix in #10365
  • fix(KRTX-1791): show failed assistant turns in public transcripts by @agent-kortix in #10375
  • refactor(tests): split audit request-row flows (KRTX-1799) by @agent-kortix in #10372
  • fix: dogfood batch — no false Low balance on a new free account, Copy command label, friendly offline avatar toast, CLI sessions tagged cli (KRTX-2910, KRTX-2911, KRTX-2838, KRTX-2914) by @Ino-Bagaric in #10383
  • fix(KRTX-2837): erase public avatars on removal and deletion by @agent-kortix in #10366
  • fix(cli): KRTX-2810 use scoped preview navigation tickets by @agent-kortix in #10361
  • fix(cli): KRTX-2015 delete listed sessions without read preflight by @agent-kortix in #10400
  • fix(web): scale low-balance warning to recurring grant (KRTX-2828) by @agent-kortix in #10363
  • fix(tooling): regenerate staged web artifacts (KRTX-1849) by @agent-kortix in #10377
  • fix(KRTX-2059): stop ready project auto-sessions reading Starting by @agent-kortix in #10406
  • fix(cli): KRTX-1762 print host-correct project and session URLs by @agent-kortix in #10370
  • fix(api): restore isolated session-log dry passes (KRTX-2789) by @agent-kortix in #10407
  • fix(api): delete expired branches without cloning history (KRTX-2141) by @agent-kortix in #10403
  • fix(api): prevent late session token leaks (KRTX-2831) by @agent-kortix in #10368
  • KRTX-1763: Guide safe ship recovery for seeded managed repositories by @agent-kortix in #10371
  • refactor(ui): consolidate Mermaid render IO and canvas zoom (KRTX-2348) by @agent-kortix in #10417
  • fix(billing): KRTX-2713 return checkout to purchased account billing by @agent-kortix in #10374
  • fix: dogfood batch 2 — kortix init refuses without a TTY, sessions new --wait exits 1 on an already-failed turn, /settings/computers opens Connectors (KRTX-2921, KRTX-2913, KRTX-2865) by @Ino-Bagaric in #10422
  • fix(web): KRTX-1794 recover blocked notifications with inline sound fallback by @agent-kortix in #10379
  • fix(sessions): KRTX-1871 stop default idle warm provisioning by @agent-kortix in #10425
  • KRTX-1868: Let empty composer Escape stop streaming by @agent-kortix in #10381
  • fix(cli): access grant --user uses the linked project, marketplace install resolves short names, doctor names the turn error (KRTX-2825, KRTX-2822, KRTX-2918) by @Ino-Bagaric in #10434
  • feat(mobile): 1.5.1 — iOS Liquid Glass chrome, smoother sheets and long sessions, MFA focus fix by @sutharjay1 in #10424
  • fix(docs): remove duplicated home page product name (KRTX-2611) by @agent-kortix in #10435
  • fix(api): unify web and CLI model price estimates (KRTX-1927) by @agent-kortix in #10385
  • fix(web): KRTX-2611 remove duplicate docs home title by @agent-kortix in #10440
  • fix(web): smooth project-home send and stop finished replies re-streaming (KRTX-2931, KRTX-2932) by @sutharjay1 in #10432
  • feat(drives): one Drive with team folders, a Files row under the gear, and kortix drive by @sutharjay1 in #10419
  • fix(cli): resolve marketplace install names like show (KRTX-1947) by @agent-kortix in #10387
  • fix(KRTX-1885): show an actionable stopped-session fork error by @agent-kortix in #10386
  • fix: KRTX-2058 show exact cron next run with timezone by @agent-kortix in #10444
  • fix: KRTX-2650 refuse compact on busy sessions by @agent-kortix in #10446
  • fix(web): enable fresh-browser session notifications (KRTX-2622) by @agent-kortix in #10438
  • fix(web): KRTX-1883 surface project-home slash skills and commands by @agent-kortix in #10388
  • fix(web): inline password error and no hover underline on auth links by @sutharjay1 in #10452
  • fix(cli): disclose doctor warm-session retention (KRTX-1973) by @agent-kortix in #10390
  • fix: tokens rm refuses the CLI's own key, review submit drops a foreign sandbox session, readable "New" badge (KRTX-1842, KRTX-2864, KRTX-2750) by @Ino-Bagaric in #10455
  • fix(sessions): keep forked conversations reachable after navigation by @agent-kortix in #10441
  • fix(api): re-arm reminders from resume time (KRTX-1923) by @agent-kortix in #10389
  • fix: notify existing project invitees (KRTX-1929) by @agent-kortix in #10391
  • fix: blocked trigger Create focuses the missing signing key, tokens JSON shares an id key, auth 429 entry-step guard (KRTX-2816, KRTX-2829, KRTX-2812) by @Ino-Bagaric in #10460
  • fix(KRTX-2033): show completed session activity independently of computer status by @agent-kortix in #10413
  • refactor(runtime): remove unused helpers and inline wrappers (KRTX-2575) by @agent-kortix in #10428
  • fix(web): KRTX-2608 clarify cancellable account deletion by @agent-kortix in #10439
  • fix(cli): show all channel states by default (KRTX-2619) by @agent-kortix in #10437
  • fix(web): use bundled i18n catalogs (KRTX-2244) by @agent-kortix in #10414
  • fix(session-log): backfill recovers stripped tool inputs and converts oversized sessions in a Worker (P3.4) by @DimitrijeGlibic in #10464
  • fix(web): authorize error names --token, Reminders tabs refetch, a deleted project cannot reopen from cache (KRTX-1976, KRTX-2888, KRTX-2904) by @Ino-Bagaric in #10466
  • fix(web): open Usage from account deep links (KRTX-1959) by @agent-kortix in #10392
  • fix(sessions): report conversation model instead of creation pin (KRTX-2697) by @agent-kortix in #10454
  • fix(kortixd): the first session of a new project no longer lists the project setup as its own changes (KRTX-1862) by @Ino-Bagaric in #10469
  • fix(web): show oversized files whole instead of truncating at 50k chars by @sutharjay1 in #10458
  • perf(api): check session access before the tombstone in member project reads (gateway logs 670 → 160 ms) by @markokraemer in #10465
  • perf(gateway): call the dev API inside the VPC through Cloud Map, public URL as fallback by @markokraemer in #10463
  • fix(web): keep connected accounts on personal identity (KRTX-2011) by @agent-kortix in #10395
  • fix(mobile): native glass message menu, smoother scroll and long sessions, no local pushes to the App Store app by @sutharjay1 in #10456
  • fix(session-log): guard the backfill's conversion thread with a memory check and a poison pill (P3.4) by @DimitrijeGlibic in #10475
  • KRTX-2498: cover admin-delete Stripe subscription cancellation by @agent-kortix in #10473
  • fix(kortixd): pi tells the model today's date every turn, as OpenCode does by @DimitrijeGlibic in #10476
  • fix(sessions): persist independent conversation forks (KRTX-2806) by @agent-kortix in #10421
  • feat(api): pi_harness on by default for every project by @DimitrijeGlibic in #10479
  • fix(ci): the dev gateway deploy waits for dev Terraform by @markokraemer in #10481
  • feat(ui): @kortix/ui is the plug-and-play Kortix UI library; apps/web and Lumen consume it by @markokraemer in #10480
  • fix(docs): announce the home link brand once (KRTX-1999) by @agent-kortix in #10396
  • Promote dev fd04a98 to staging by @github-actions[bot] in #10482
  • fix(cli): surface gateway endpoint URL (KRTX-1962) by @agent-kortix in #10397
  • refactor(web): relocate panel sizing and preview policies (KRTX-1773) by @agent-kortix in #10416
  • refactor(web): extract panel derivations and handoffs (KRTX-1774) by @agent-kortix in #10420
  • fix(api): a local stack never deletes shared meta sandbox images (KRTX-2546) by @Ino-Bagaric in #10486
  • fix(web): KRTX-2649 open agent picker from slash palette by @agent-kortix in #10448
  • KRTX-1853: Preview text attachments in-app by @agent-kortix in #10384
  • fix(web): KRTX-2760 show gone page on first deleted-project visit by @agent-kortix in #10457
  • refactor(web): split customize components and shared logic (KRTX-2148) by @agent-kortix in #10412
  • fix(web): KRTX-2860 explain disabled Reminders deep links by @agent-kortix in #10367
  • fix(KRTX-1891): make Files Show more controls readable by @agent-kortix in #10394
  • fix(ui): image thumbnail no longer spins forever after a cached load by @sutharjay1 in #10491
  • fix(tests): green the v0.14.4 release suite on dev by @DimitrijeGlibic in #10495
  • fix(drives): show folders as folders, keep fixed folders fixed, one error per refusal by @sutharjay1 in #10492
  • fix(tests): green the v0.14.4 core-db lane on dev by @DimitrijeGlibic in #10497
  • fix(web): surface marketplace plan gate (KRTX-1949) by @agent-kortix in #10399
  • fix(sdk,ui): connector poll window per open, cold ?rs= links keep the sub-agent, sub-agent chats read the project roster (KRTX-2877, KRTX-2886, KRTX-2887) by @Ino-Bagaric in #10485
  • fix: Changes tab on pi sessions + readable file name in the side-panel viewer by @markokraemer in #10501
  • perf: KRTX-2019 batch connector catalog resolution by @agent-kortix in #10401
  • feat(cli): skip project wizard after CLI creation (KRTX-1488) by @agent-kortix in #10498
  • fix(web): recover stale chunk failures before hydration (KRTX-2482) by @agent-kortix in #10426
  • fix(web): KRTX-2493 offer password sign-in on auth entry by @agent-kortix in #10423
  • fix(kortixd): pi leaves the session title to Kortix, so the header no longer flips from the prompt to the title (KRTX-2567) by @Ino-Bagaric in #10502
  • fix(web): show command palette immediately while lazy chunk loads by @agent-kortix in #10376
  • fix(tests): green the v0.14.4 packages-rest lane after the @kortix/ui move by @DimitrijeGlibic in #10505
  • fix(web): KRTX-1839 restore account-hub pane headings by @agent-kortix in #10380
  • KRTX-1784: Give the mobile sidebar a visible close control by @agent-kortix in #10378
  • fix(ui): linear-time path regexes and CodeQL release findings by @DimitrijeGlibic in #10509
  • Promote dev 0ad9d81 to staging by @github-actions[bot] in #10511
  • fix(cli): stream session readiness progress (KRTX-1888) by @agent-kortix in #10510
  • fix(kortixd): a new session token clears the dead-token breaker at once (KRTX-2545) by @Ino-Bagaric in #10512
  • fix(cli): start provisioning sessions before chat (KRTX-2042) by @agent-kortix in #10402
  • fix(sdk): expected feature flag refusals do not report API errors (KRTX-2617) by @agent-kortix in #10445
  • fix(KRTX-1812): neutral default organization names by @agent-kortix in #10508
  • perf(web): one GET /projects/:id per page load (project gate reads qk.project.summary) by @markokraemer in #10468
  • feat(cli): list catalog model availability (KRTX-1539) by @agent-kortix in #10500
  • fix(KRTX-1863): explain single-model picker search scope by @agent-kortix in #10513
  • KRTX-2834: remember the chosen password sign-in method by @agent-kortix in #10477
  • fix(KRTX-1785): enable gated features without leaving the page by @agent-kortix in #10515
  • fix(KRTX-1889): fill runtime status in session detail by @agent-kortix in #10514
  • fix(sdk): the saved-transcript mirror sorts parts in byte order (KRTX-2897) by @Ino-Bagaric in #10516
  • perf(api): confirm JWT liveness from auth.sessions instead of a GoTrue hop by @markokraemer in #10467
  • perf(gateway): budget spend from a running daily total (954 ms SUM to a PK read) by @markokraemer in #10471
  • fix(api): the public OpenAPI spec publishes a relative server URL, not the internal origin (KRTX-2949) by @Ino-Bagaric in #10519
  • fix(web): KRTX-2939 triage sweep — preview recovery, search input, fired reminders, Apps polish by @sutharjay1 in #10462
  • feat(goals): goals v1 behind a flag — kortix goals CLI, turn-end check, unattended sessions, reminders that survive a failed box by @markokraemer in #10314
  • fix(KRTX-2278): replace existing project role on direct user grant by @agent-kortix in #10411
  • feat(cli): KRTX-1465 wake stopped sessions before compacting by @agent-kortix in #10496
  • fix(web): KRTX-1926 show agent ids on the Agents page by @agent-kortix in #10520
  • fix(api): preserve session create receipts past deadline (KRTX-2066) by @agent-kortix in #10405
  • fix(api): proxy refusals grant CORS only to the allowlist, and dropped upstream bodies are released (KRTX-2802, KRTX-2803) by @Ino-Bagaric in #10524
  • feat(rooms): chat rooms for agents and people with Slack-style threads; a feature flag gates every surface by @markokraemer in #10308
  • fix(web): preserve return path on mounted session loss (KRTX-2558) by @agent-kortix in #10408
  • fix(release): green the second v0.14.4 release run on dev by @DimitrijeGlibic in #10526
  • test(flows): steps assert what their labels promise (KRTX-2850, KRTX-2851, KRTX-2852) by @Ino-Bagaric in #10525
  • fix(api): MCP CLI decisions for goals, rooms and peers by @DimitrijeGlibic in #10528
  • fix(krtx-2744): refuse stored-log, loss-report and open-question reads of a deleted session by @agent-kortix in #10470
  • Promote dev 6f1038a to staging by @github-actions[bot] in #10530
  • fix(web): use domain decision for approval toast (KRTX-2857) by @agent-kortix in #10409
  • KRTX-2884: align Models with picker availability and expose model entitlement by @agent-kortix in #10418
  • fix(web): auth errors render inline under the input, not as a banner by @sutharjay1 in #10540
  • fix(cli): KRTX-2002 explain private app browser access in show by @agent-kortix in #10537
  • fix: cost-by-project honors project_id, few-word prompts title themselves, the CLI help names no stale flag, and the test report and shard planner match reality (KRTX-2801, KRTX-2651, KRTX-2581, KRTX-2667, KRTX-2668) by @Ino-Bagaric in #10535
  • fix(KRTX-1998): show MCP URL in Connect dialog by @agent-kortix in #10539
  • fix(api): skip channel end relay without a recipient (KRTX-2339) by @agent-kortix in #10543
  • fix(github): a repository switch through a GitHub App installation is not refused as read-only by @markokraemer in #10545
  • fix: one repository_disconnected state when the GitHub App loses a repo, on every surface (KRTX-2955) by @markokraemer in #10544
  • feat(cli): create projects without the dashboard (KRTX-2046) by @agent-kortix in #10541
  • docs(learnings): repository_disconnected entry (KRTX-2955) by @markokraemer in #10548
  • feat(llm-gateway)!: the gateway is the only model path; custom OpenAI-compatible endpoints move into it by @DimitrijeGlibic in #10547
  • fix(db): revoke session keys on project archive (KRTX-1946) by @agent-kortix in #10393
  • fix(web): one Download App design with a store QR code and current screenshots (KRTX-2692) by @sutharjay1 in #10553
  • fix(web): hide the founder welcome card everywhere by @markokraemer in #10550
  • feat(cli): expose searchable provider catalog (KRTX-2074) by @agent-kortix in #10534
  • fix(web): KRTX-2000 stop polling missing sessions by @agent-kortix in #10536
  • fix(release): green the third v0.14.4 release run on dev by @DimitrijeGlibic in #10557
  • feat(sessions): switch a session to the fallback that answered, switch back at idle by @markokraemer in #10487
  • docs(repo): PR titles and bodies are written for the human reviewer by @DimitrijeGlibic in #10561
  • fix(KRTX-1932): retry invalidated in-flight mirror reads by @agent-kortix in #10398
  • fix(web): disable framework response header (KRTX-2366) by @agent-kortix in #10415
  • fix(iam): call the project role manager consistently (KRTX-2552) by @agent-kortix in #10429
  • fix(auth): KRTX-2562 stabilize server sign-out after account deletion by @agent-kortix in #10430
  • fix(cli): explain missing default project in session lists (KRTX-2563) by @agent-kortix in #10431
  • Promote dev 57fe38f to staging by @github-actions[bot] in #10564
  • fix(web): the session fixture page marks continuing turns like the real transcript (KRTX-2596) by @Ino-Bagaric in #10549
  • fix(npm): published packages no longer carry workspace: devDependencies by @markokraemer in #10567
  • fix(KRTX-2504): keep internal tooling out of the agent picker by @agent-kortix in #10427
  • fix(api): an admin re-invite keeps the SCIM groups the invite waits on (KRTX-2329) by @Ino-Bagaric in #10558
  • docs(ui): @kortix/ui installs from npm; versions track the Kortix release by @markokraemer in #10571
  • fix(cli): preserve matching project links after clone (KRTX-2629) by @agent-kortix in #10436
  • fix(cli): KRTX-2912 refuse chat before provisioning when no model is connected by @agent-kortix in #10569
  • fix(api): prune lint suppressions that no longer occur by @DimitrijeGlibic in #10573
  • fix(mobile): roomier iOS header and sheet controls, version 1.5.3 by @sutharjay1 in #10572
  • fix(web): default development servers to webpack (KRTX-2751) by @agent-kortix in #10453
  • fix(tests): green the fourth v0.14.4 release run on dev by @DimitrijeGlibic in #10574
  • Promote dev 4303f04 to staging by @github-actions[bot] in #10575
  • fix(web): KRTX-2759 stop deleted-project request bursts by @agent-kortix in #10459
  • fix(tests): green the v0.14.4 packages-rest lane on dev (round 2) by @DimitrijeGlibic in #10577
  • Promote dev c55d514 to staging by @github-actions[bot] in #10578
  • fix(web): KRTX-2473 revalidate avatars after deletion by @agent-kortix in #10472
  • docs(learnings): dry-run kortix ship before the first ship of a new folder by @markokraemer in #10580
  • refactor(db): share repair clients and migration script helpers (KRTX-2533) by @agent-kortix in #10474
  • fix(tooling): reject fake trunk merge commits (KRTX-2515) by @agent-kortix in #10560
  • fix(secrets): show granted agents in audit views (KRTX-2813) by @agent-kortix in #10478
  • refactor(web): remove unused helper re-exports (KRTX-1782) by @agent-kortix in #10552
  • fix(release): green the fifth v0.14.4 release run on dev by @DimitrijeGlibic in #10583
  • fix(web): a kept project renders at once while its access read revalidates by @DimitrijeGlibic in #10584
  • Promote dev a667253 to staging by @github-actions[bot] in #10585
  • fix(web): ignore synthetic non-Error rejection noise (KRTX-2948) by @agent-kortix in #10488
  • docs(cli): explain sandbox credential override (KRTX-1706) by @agent-kortix in #10494
  • fix(session): stream first-turn text snapshots (KRTX-2764) by @agent-kortix in #10504
  • fix(tests): profile-tab container test mocks the modules it actually imports by @DimitrijeGlibic in #10586
  • feat(review): approval parameters, expiry, and bulk approve/deny by @sutharjay1 in #10555
  • fix(cli): KRTX-1922 print approval commands instead of token URLs by @agent-kortix in #10518
  • fix(KRTX-2665): retire previous secret intake links on re-mint by @agent-kortix in #10449
  • fix(web): collapse denied project prefetch burst (KRTX-1930) by @agent-kortix in #10521
  • fix(KRTX-1931): name current plan in CLI IAM 402 errors by @agent-kortix in #10522
  • fix(api): KRTX-2950 bound interactive billing request bursts by @agent-kortix in #10556
  • fix(KRTX-2823): uninstall installed project skills safely by @agent-kortix in #10527
  • KRTX-1231: drop unused legacy device token indexes by @agent-kortix in #10484
  • fix(cli): show doctor answer without reasoning (KRTX-1974) by @agent-kortix in #10529
  • fix(gateway): a resting personal ChatGPT account falls back; holds follow the real reset by @markokraemer in #10588
  • fix(cli): label billing JSON credit units (KRTX-1955) by @agent-kortix in #10531
  • fix(billing): KRTX-1954 land credits bookmarks on the ledger by @agent-kortix in #10532
  • fix(cli): name missing session-list project (KRTX-2001) by @agent-kortix in #10533
  • feat(goals): hard-gate Goals behind the goals flag on every surface by @markokraemer in #10589
  • fix(skills): KRTX-1939 include optional body on creation by @agent-kortix in #10538
  • feat(flags): a flag-off feature is invisible everywhere — CLI off-box, IAM catalog, notification settings, docs by @markokraemer in #10590
  • test(cli): cover the goals group in the flagged leaf-help loop by @markokraemer in #10591
  • refactor(ui): name the shared PDF engine loader (KRTX-2231) by @agent-kortix in #10542
  • fix(api): hide account existence from nonmembers (KRTX-2402) by @agent-kortix in #10546
  • refactor(tui): remove unused reasoning fixture (KRTX-2522) by @agent-kortix in #10551
  • refactor(shared): remove unused picked section keys (KRTX-2571) by @agent-kortix in #10554
  • test(web): preserve motion exports in workspace mocks (KRTX-2403) by @agent-kortix in #10559
  • fix(KRTX-1869): mark interrupted turns as stopped by @agent-kortix in #10563
  • fix(gateway): KRTX-2903 clarify plan access and recovery by @agent-kortix in #10562
  • docs(learnings): work/ for plans and open thoughts; goals + durable workflows design by @markokraemer in #10592
  • fix(api): use plan-eligible model defaults (KRTX-2917) by @agent-kortix in #10566
  • fix(ui): keep mobile promo off desktop project loads (KRTX-2579) by @agent-kortix in #10568
  • fix(cli): re-show live secrets intake links (KRTX-1904) by @agent-kortix in #10570
  • fix(web): point download card to pairing (KRTX-1813) by @agent-kortix in #10579
  • Promote dev 3125f74 to staging by @github-actions[bot] in #10593
  • refactor(ui): share non-merging class composition (KRTX-2605) by @agent-kortix in #10582
  • fix(db): sync the drizzle snapshot with the connector_call_status 'expired' value by @DimitrijeGlibic in #10595
  • fix(api): model-access reports the configured default; green api, flows and cli lanes by @DimitrijeGlibic in #10596
  • fix(release): green the packages-rest lane on dev (round 3) by @DimitrijeGlibic in #10597
  • Promote dev ecf385f to staging by @github-actions[bot] in #10598
  • fix(api,cli): repo-less sessions read their project record; goals new works without repository access by @markokraemer in #10599
  • ci(release): Drata is advisory in the release gate until its finding is resolved by @DimitrijeGlibic in #10601
  • Promote dev 3e62c9a to staging by @github-actions[bot] in #10602
  • Release v0.14.4 — pi by default, one model path, one Drive by @github-actions[bot] in #10489

Full Changelog: v0.14.3...v0.14.4

Don't miss a new suna release

NewReleases is sending notifications on new releases.