PricingDocs
Get started

Run your whole company from one repo you own.

Start with one job and grow from there.

Get started

Product

  • Agent Computer
  • Company as Code
  • Connectors
  • Automations
  • Channels
  • Agents & Skills
  • Security
  • Self-hosted
  • Enterprise
  • Pricing
  • Download

Solutions

  • Sales
  • Marketing
  • Engineering
  • Product
  • Finance
  • People
  • IT
  • Data Science

Developers

  • Documentation
  • AI Operating System
  • CLI
  • SDK
  • Quickstart
  • For developers
  • Marketplace
  • GitHub

Company

  • About
  • Careers
  • Blog
  • Changelog
  • Use Cases
  • Brand

Connect

  • X
  • LinkedIn
  • Discord
  • Status
  • Support
  • Terms
  • Privacy
©2026 Kortix

Changelog

August 5, 2026

Email delivery that survives a provider outage

v0.12.4

Fixed

  • Transactional email — team invites, project access requests, and demo-request notifications — now goes through a chain of email providers. If one provider fails or is unavailable, the next one takes over automatically. This removes the single point of failure that delayed some emails on August 5.
  • The Terms of Service link now opens the document directly instead of its containing folder.

Internal

  • End-to-end cost tests compute gap-fill counts from their own time window, fixing a flaky check.

What's Changed

  • chore(release): VERSION → 0.12.4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6122
  • fix(billing): decouple enterprise entitlements from per-seat billing tier by @markokraemer in https://github.com/kortix-ai/suna/pull/6120
  • fix(web): redirect /legal/terms to the specific Drive file, not the folder by @markokraemer in https://github.com/kortix-ai/suna/pull/6123
  • fix(web): de-noise editor document-state race + third-party React #185 by @agent-kortix in https://github.com/kortix-ai/suna/pull/6129
  • fix(billing): remove false seat-credit-grant copy from seat management card by @markokraemer in https://github.com/kortix-ai/suna/pull/6132
  • kortix audit — read the account audit trail from the CLI by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6135
  • feat(email): provider-chain transport — SES primary, Resend + Mailtrap fallback by @markokraemer in https://github.com/kortix-ai/suna/pull/6139
  • fix(web): new session scope defaults to null secrets, not explicit zero by @agent-kortix in https://github.com/kortix-ai/suna/pull/6133
  • fix(sessions): push scope mutation to active sandbox + respawn opencode by @agent-kortix in https://github.com/kortix-ai/suna/pull/6137
  • chore(deps): bump hadolint/hadolint-action from 3.3.0 to 3.4.0 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/6075
  • chore(deps): bump github/codeql-action from 3 to 4.37.4 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/6076
  • chore(deps): bump github/codeql-action/upload-sarif from 4.37.1 to 4.37.4 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/6077
  • feat(llm-catalog): add Kimi K3 as a managed Kortix model via AsterLab by @agent-kortix in https://github.com/kortix-ai/suna/pull/6050
  • test(ke2e): cover invite accept/decline state machine + userWithEmail fixture by @agent-kortix in https://github.com/kortix-ai/suna/pull/5203
  • test(ke2e): cover account member role-transition matrix (MEM-6) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5549
  • fix(llm-gateway): surface real upstream errors instead of generic Bad Gateway by @agent-kortix in https://github.com/kortix-ai/suna/pull/5986
  • docs(secrets): use the Kortix Armor organization by @agent-kortix in https://github.com/kortix-ai/suna/pull/5974
  • fix(projects): bound large repository branch listing by @markokraemer in https://github.com/kortix-ai/suna/pull/6144
  • fix(sdk,web): release session transcripts, scope stream tracking per session, split the icon barrel by @sutharjay1 in https://github.com/kortix-ai/suna/pull/6146
  • feat(meta): land the platform coordinator behind the meta_agent experimental flag by @markokraemer in https://github.com/kortix-ai/suna/pull/6143
  • fix(worktree): drop the picocolors import from lib (Worktree CI is install-free) by @markokraemer in https://github.com/kortix-ai/suna/pull/6147

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.12.3...v0.12.4

Release on GitHub
August 5, 2026

Sandbox hardening, faster navigation, and honest sessions

v0.12.3

New

  • One-shot approval links: approve or reject an agent's pending request straight from the notification link, without opening the app.
  • Sandboxes now ship with a baked-in Python package floor — Pillow, pypdfium2, pytesseract, and 13 more pinned packages — so document and image skills run immediately, with no install step.
  • The session header warns when an agent's configuration changed on disk after the session started, with a one-click reload that updates the files the agent actually reads.
  • Terms of Service are linked from /legal/terms.

Improved

  • Project page navigation is noticeably faster, and the web app moved to Next.js 16.2.0.
  • Messages queued while the agent is working now stay queued until the turn actually ends — no more mid-turn releases or duplicate sends.
  • One keyboard shortcut (⌘I / Ctrl+I) now toggles the whole right side of a session: the action panel, a detail panel, or both.
  • Session error states are clearer: tool failures are reported truthfully, retry states show what is happening, and a stale agent config no longer needs a page reload to surface.
  • The CLI is quieter and more honest: --quiet is honoured on every path, and it no longer claims an invite email was sent when none was.

Fixed

  • Hardened the sandbox: closed a proxy hole that could leak the sandbox service key to an attacker-named host, closed a DNS-rebind window by connecting only to the address that was vetted, resolved symlinks before authorizing file paths, and stopped one session's credentials from being served to other members of the account.
  • Secrets: setup links now expire on time, re-scoped secrets validate against the session owner rather than the caller, and secret identifiers are no longer disclosed through the narrowing report.
  • Session reliability: removed two paths that could silently destroy a session's commits, a planned restart now finishes the turn it interrupts, a failed agent spawn schedules a respawn instead of killing the session, and reloading an agent never hard-resets the session branch.
  • A transient git failure can no longer compile an agent with an empty prompt.
  • Queued API errors: address-validation failures now return a proper 400 instead of a server error.

What's Changed

  • CLI: stop reporting failure while a cross-account fallback is still pending by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6069
  • chore(release): VERSION → 0.12.3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6072
  • Executor: one-shot human approval links by @markokraemer in https://github.com/kortix-ai/suna/pull/6078
  • Render the connector refusal, fix the reload, and surface stale config in the UI by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6074
  • feat(sandbox): bake the starter Python package floor, run skills bare by @markokraemer in https://github.com/kortix-ai/suna/pull/6080
  • fix(sandbox): target the managed interpreter by path in the floor install by @markokraemer in https://github.com/kortix-ai/suna/pull/6081
  • fix(sdk): classify model_not_servable 409 as silent to Sentry (BS ed07f6c5…) by @agent-kortix in https://github.com/kortix-ai/suna/pull/6082
  • Fix local Supabase and test runner dependencies by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6084
  • Make session reload update the agent files opencode actually reads by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6083
  • Keep content timestamp generation deterministic by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6085
  • Set a safe default frontend build heap by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6087
  • Warn on the first secrets narrowing; don't compile an agent with no prompt by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6086
  • Guarantee accessible public MDX images by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6088
  • A failed spawn must schedule a respawn, not kill the session by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6089
  • CLI: stop claiming an invite email was sent when none was by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6090
  • Validate re-scoped secrets for the session owner, not the caller by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6091
  • docs: record the connector 'Connected' badge gap and its tradeoff by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6092
  • Finalize the turn a planned restart kills by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6093
  • Two paths that silently destroy a session's commits by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6094
  • mock.module stubs silently delete the exports they omit by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6095
  • Surface a stale agent config without a page reload by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6097
  • Port 3211 served another session's credentials to any account member by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6098
  • Reload 500'd on every session that hadn't pushed its branch by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6099
  • /web-proxy mailed the sandbox service key to any host you named by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6096
  • feat(experimental): add meta_agent feature flag by @agent-kortix in https://github.com/kortix-ai/suna/pull/6101
  • fix(secrets): setup-link TTL, session callback, secrets sync, diagnostic logging by @agent-kortix in https://github.com/kortix-ai/suna/pull/6100
  • fix(web,sdk): keep in-flight sends, tell the truth about tool failures, one code palette by @sutharjay1 in https://github.com/kortix-ai/suna/pull/6058
  • fix(web): stop auth cache and markdown prefetch storms by @markokraemer in https://github.com/kortix-ai/suna/pull/6106
  • fix: slow project page navigation, and upgrade to Next.js 16.2.0 by @sutharjay1 in https://github.com/kortix-ai/suna/pull/6102
  • fix(web,sdk): queued messages stay queued until the turn actually ends by @sutharjay1 in https://github.com/kortix-ai/suna/pull/6110
  • fix(executor): align catalog with session connector scope by @markokraemer in https://github.com/kortix-ai/suna/pull/6113
  • fix(api): convert assertAllowedSourceAddress throw to typed 400 (BS f5c0ce61) by @agent-kortix in https://github.com/kortix-ai/suna/pull/6112
  • feat(legal): publish simplified Terms of Service at /legal/terms by @agent-kortix in https://github.com/kortix-ai/suna/pull/6103
  • fix(web): redirect Terms to public Drive folder, drop stale terms body by @agent-kortix in https://github.com/kortix-ai/suna/pull/6114

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.12.2...v0.12.3

August 3, 2026

Runtime reliability, session controls, and infrastructure updates

v0.12.2

Promotes the full candidate verified on staging. Prevents passive session reads and project navigation from waking stopped sandboxes; corrects session activity timestamps; adds session access, reload, cost, and guarded secret-delivery controls; improves channel, email, executor, chat, download, PPTX, and account-usage behavior; and completes the ECS-focused infrastructure and deployment updates. Fast-track note: staging image build and deployment passed. One unrelated landing-page accessibility assertion for a scrollable pre element failed; the four browser interaction tests, login accessibility, and migration tests passed.

What's Changed

  • chore(release): VERSION → 0.12.2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6011
  • fix(web): show recoverable session failure payload by @markokraemer in https://github.com/kortix-ai/suna/pull/6013
  • fix(api): execute email sender regex with RE2 by @markokraemer in https://github.com/kortix-ai/suna/pull/6014
  • chore(dev-eks): deploy gateway dev-0d116c01 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6015
  • chore(dev-eks): deploy dev-0d116c01 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6016
  • fix(markdown): make table headers and cells stop wrapping mid-word, restore GFM alignment by @sutharjay1 in https://github.com/kortix-ai/suna/pull/6017
  • fix(web): rebuild the project access gate UX by @sutharjay1 in https://github.com/kortix-ai/suna/pull/6019
  • seo(web): full on-page/technical SEO pass over the public site by @markokraemer in https://github.com/kortix-ai/suna/pull/6020
  • fix: propagate managed model vision capability to frontend by @agent-kortix in https://github.com/kortix-ai/suna/pull/6021
  • chore(dev-eks): deploy gateway dev-62dccb48 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6023
  • chore(dev-eks): deploy dev-62dccb48 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6024
  • chore(dev-eks): deploy dev-847b9689 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6025
  • blog: the only moat that matters — data flywheels, not static software by @agent-kortix in https://github.com/kortix-ai/suna/pull/6022
  • feat(web): rebuild the session chat thread for a calmer, more readable conversation by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5940
  • blog: six adjacent articles on the data-flywheel thesis by @agent-kortix in https://github.com/kortix-ai/suna/pull/6026
  • fix: process Slack audio messages (file_share subtype) through webhook by @agent-kortix in https://github.com/kortix-ai/suna/pull/6028
  • fix: also allow me_message subtype through Slack webhook gate by @agent-kortix in https://github.com/kortix-ai/suna/pull/6029
  • fix: also allow bot_message subtype through Slack webhook gate by @agent-kortix in https://github.com/kortix-ai/suna/pull/6030
  • Fix Executor email attachments from local artifacts by @markokraemer in https://github.com/kortix-ai/suna/pull/6031
  • chore(dev-eks): deploy dev-13d27c8e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6032
  • fix(agentmail): isolate inbox provisioning per email profile by @markokraemer in https://github.com/kortix-ai/suna/pull/6034
  • fix(ci): update tests after EKS removal by @markokraemer in https://github.com/kortix-ai/suna/pull/6038
  • fix(session): prevent passive project navigation from waking sandboxes by @markokraemer in https://github.com/kortix-ai/suna/pull/6039
  • fix(email): accept standard webhook signature headers by @markokraemer in https://github.com/kortix-ai/suna/pull/6040
  • Fix Executor email attachments with binary uploads by @markokraemer in https://github.com/kortix-ai/suna/pull/6036
  • docs(web): compare Kortix with QM by @markokraemer in https://github.com/kortix-ai/suna/pull/6042
  • fix(ci): provide AWS role to staging secret sync by @markokraemer in https://github.com/kortix-ai/suna/pull/6043
  • fix(ci): allow staging secret synchronization by @markokraemer in https://github.com/kortix-ai/suna/pull/6044
  • fix(sessions): recognize Veyris title placeholder by @markokraemer in https://github.com/kortix-ai/suna/pull/6046
  • fix(web): remove client warm sessions by @markokraemer in https://github.com/kortix-ai/suna/pull/6047
  • fix(sessions): retry title generation with fallback model by @markokraemer in https://github.com/kortix-ai/suna/pull/6048
  • fix(sessions): bound title generation fallback by @markokraemer in https://github.com/kortix-ai/suna/pull/6049
  • fix(web): guard members-view query arrays with toArray before .filter/.map (BS f9603a43) by @agent-kortix in https://github.com/kortix-ai/suna/pull/6051
  • Session config freshness: end orphaned turns, compile from the session's ref, refresh config on restart by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6053
  • feat(secrets): add delivery policy control plane by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6055
  • feat(web): add a cost explorer to account usage by @sutharjay1 in https://github.com/kortix-ai/suna/pull/6018
  • The documented session reload, and a way to see when a session is stale by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6056
  • Add CLI session access controls by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6059
  • feat(web): /download close button, and mobile marked coming soon by @sutharjay1 in https://github.com/kortix-ai/suna/pull/6060
  • fix(executor): stop hiding the whole connector catalog on bound sessions by @agent-kortix in https://github.com/kortix-ai/suna/pull/6052
  • Apply session config via dispose (~51ms) instead of a respawn (~8s) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6062
  • fix(compliance): reconcile regional ALB alarms by @markokraemer in https://github.com/kortix-ai/suna/pull/6065
  • Point systemReload at endpoints that exist by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/6067

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.12.1...v0.12.2

August 2, 2026

Connector-aware sessions, project icons, and sandbox reliability

v0.12.1

New

  • Sessions can require connectors up front: select a connector for a session before it is connected, and when a prompt needs a connector that is not connected yet, the session pauses with a connect card instead of failing.
  • Project icons: pick an emoji or a named glyph for each project.
  • When an app preview stops or fails to load, you can send it straight to the agent to fix.
  • Markdown files with frontmatter now render their metadata.

Improved

  • The project session list was rebuilt as a cleaner everyday list.
  • Model management shows which models are enabled for a project, and the Manage models tab counts them correctly.
  • Error screens include one-click copy so you can report exactly what went wrong.
  • The sidebar merges the Kortix mark and project switcher into one control, with layout and hover fixes.
  • Sandbox capacity problems surface clear retry diagnostics instead of failing silently.

Fixed

  • New signups land directly in their project instead of the project list.
  • E2B sandboxes: template builds route through the self-host domain, concurrent builds settle correctly, build uploads stream reliably, and permanent sandbox removal is bounded.
  • The file viewer no longer errors when a file is missing from the repo.
  • Self-hosted installs can configure the API memory ceiling.
  • Console noise from Android WebView is filtered out of session logs.
  • Release pipeline: a stalled dark-region replica can no longer hold back a release, which had left recent releases without their published notes.

What's Changed

  • chore(release): staging VERSION → 0.9.99 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4264
  • Promote main → staging (LLM provider keys always project-wide + batch) by @markokraemer in https://github.com/kortix-ai/suna/pull/4273
  • chore(release): staging VERSION → 0.9.100 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4280
  • Promote main → staging: 0.9.100 release candidate by @markokraemer in https://github.com/kortix-ai/suna/pull/4312
  • promote: snapshot quota fix + IAM capability gating → staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4335
  • chore(staging): promote main → staging (fix: prod sandbox_provider platinum enum drift) by @markokraemer in https://github.com/kortix-ai/suna/pull/4338
  • chore(release): staging VERSION → 0.9.101 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4346
  • Staging by @kubet in https://github.com/kortix-ai/suna/pull/4360
  • Promote main → staging: v0.9.101 release candidate by @kubet in https://github.com/kortix-ai/suna/pull/4363
  • chore(release): staging VERSION → 0.9.102 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4368
  • Promote main → staging: release candidate (incl. slack bind-thread #4385) by @markokraemer in https://github.com/kortix-ai/suna/pull/4389
  • chore(release): staging VERSION → 0.9.103 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4394
  • release: promote main session-identity safeguards to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4462
  • release: complete staging health verification by @markokraemer in https://github.com/kortix-ai/suna/pull/4466
  • chore(release): promote latest main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4468
  • chore(release): promote latest main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4471
  • chore(release): promote latest main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4475
  • chore(release): staging VERSION → 0.9.104 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4478
  • fix: recover prod migrations and session uploads by @markokraemer in https://github.com/kortix-ai/suna/pull/4482
  • chore(release): staging VERSION → 0.9.105 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4487
  • chore(release): staging VERSION → 0.9.106 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4492
  • chore(release): staging VERSION → 0.9.107 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4501
  • hotfix: auto-resume a stopped box on active OpenCode access (sandbox not ready fix) by @markokraemer in https://github.com/kortix-ai/suna/pull/4506
  • chore(release): staging VERSION → 0.9.108 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4512
  • chore(release): staging VERSION → 0.9.109 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4520
  • Promote main → staging: generic self-host + in-app git by @markokraemer in https://github.com/kortix-ai/suna/pull/4727
  • chore(release): staging VERSION → 0.10.1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4734
  • Promote main → staging: self-host hardening (post-v0.10.0) by @markokraemer in https://github.com/kortix-ai/suna/pull/4735
  • chore(release): staging VERSION → 0.10.2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4743
  • Promote main → staging: self-host wave 3 by @markokraemer in https://github.com/kortix-ai/suna/pull/4746
  • Promote main → staging: self-host wave 3 by @markokraemer in https://github.com/kortix-ai/suna/pull/4747
  • Promote main → staging: self-host wave (identity polish, account-creation restriction, managed-provider default fix) by @markokraemer in https://github.com/kortix-ai/suna/pull/4756
  • chore(release): staging VERSION → 0.10.3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4761
  • Promote main → staging: v0.10.3 release train (self-host hardening, local-docker provider, migration safety, auth refresh) by @markokraemer in https://github.com/kortix-ai/suna/pull/4772
  • chore(release): staging VERSION → 0.10.4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4779
  • Release candidate: managed model catalog hotfix by @markokraemer in https://github.com/kortix-ai/suna/pull/4784
  • fix(release): restore staging managed-model gateway by @markokraemer in https://github.com/kortix-ai/suna/pull/4789
  • chore(release): staging VERSION → 0.10.5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4792
  • fix(infra): restore prod EKS gateway origin TLS by @markokraemer in https://github.com/kortix-ai/suna/pull/4795
  • fix(gateway): stamp promoted release version by @markokraemer in https://github.com/kortix-ai/suna/pull/4798
  • chore(release): staging VERSION → 0.10.7 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4804
  • Promote main → staging: v0.10.7 release train by @markokraemer in https://github.com/kortix-ai/suna/pull/4844
  • chore(release): staging VERSION → 0.10.8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4850
  • Promote main → staging (v0.10.8 candidate) by @markokraemer in https://github.com/kortix-ai/suna/pull/4852
  • Promote main → staging for v0.10.8 (max_tokens, BYOK-shared, toast, pty, pipeline hardening) by @markokraemer in https://github.com/kortix-ai/suna/pull/4864
  • chore(release): staging VERSION → 0.10.9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4875
  • Promote to staging: Easy/Advanced session panel (#4120 + #4867) by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4878
  • Promote main → staging for v0.10.9 (self-host SSO redirect fix, gateway Argo render fix, Cloudflare Access SAML guide) by @markokraemer in https://github.com/kortix-ai/suna/pull/4883
  • chore(release): staging VERSION → 0.10.10 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4886
  • Promote main to staging (session panel + show tool fixes) by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4888
  • chore(release): staging VERSION → 0.10.11 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4891
  • release: promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4912
  • release: promote main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4941
  • chore(release): promote accessibility gate fix to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4947
  • fix(release): align QA with staging environment by @markokraemer in https://github.com/kortix-ai/suna/pull/4952
  • Promote release QA fixes to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4961
  • Promote release QA fixes to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/4963
  • Promote staging secret preservation by @markokraemer in https://github.com/kortix-ai/suna/pull/4965
  • release: promote authenticated release coverage by @markokraemer in https://github.com/kortix-ai/suna/pull/4967
  • Promote main to staging: self-host release QA isolation by @markokraemer in https://github.com/kortix-ai/suna/pull/4970
  • Release candidate: LLM Gateway on AI-SDK + models.dev (v0.10.11) by @markokraemer in https://github.com/kortix-ai/suna/pull/5014
  • test(ke2e): refresh two stale flow assertions for v0.10.11 (staging) by @markokraemer in https://github.com/kortix-ai/suna/pull/5018
  • fix(sandbox): warm-bake Chromium cache order + 30min timeout (staging) by @markokraemer in https://github.com/kortix-ai/suna/pull/5044
  • chore(release): staging VERSION → 0.10.12 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5047
  • chore(staging): promote main → staging for v0.10.12 (sandbox ppwarm FROM-base fix) by @markokraemer in https://github.com/kortix-ai/suna/pull/5052
  • fix(sandbox): Chromium cache-order on the base image — staging hotfix for the v0.10.11 session-boot regression by @markokraemer in https://github.com/kortix-ai/suna/pull/5059
  • Promote main → staging (v0.10.12 candidate: opencode config fix + Chromium cache-order + gateway) by @markokraemer in https://github.com/kortix-ai/suna/pull/5070
  • chore(release): staging VERSION → 0.10.13 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5075
  • Promote main → staging: Anthropic adaptive-thinking fix (+ gateway mapping spec) by @markokraemer in https://github.com/kortix-ai/suna/pull/5078
  • Staging: gateway provider adapters + capability gating, IAM/SCIM identity UX, git-provider project creation by @markokraemer in https://github.com/kortix-ai/suna/pull/5100
  • chore(release): staging VERSION → 0.10.14 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5136
  • Promote main to staging (v0.10.14 candidate) by @markokraemer in https://github.com/kortix-ai/suna/pull/5196
  • Promote main to staging (v0.10.14 candidate, refresh) by @markokraemer in https://github.com/kortix-ai/suna/pull/5205
  • Promote current main to staging (v0.10.14 latest candidate) by @markokraemer in https://github.com/kortix-ai/suna/pull/5212
  • Promote latest main to staging (v0.10.14 final refresh) by @markokraemer in https://github.com/kortix-ai/suna/pull/5214
  • Promote latest main to staging (v0.10.14 billing refresh) by @markokraemer in https://github.com/kortix-ai/suna/pull/5218
  • Promote exact latest main to staging (v0.10.14 dev pin sync) by @markokraemer in https://github.com/kortix-ai/suna/pull/5221
  • Promote release cutoff main to staging (v0.10.14 performance refresh) by @markokraemer in https://github.com/kortix-ai/suna/pull/5223
  • Promote latest main to staging (v0.10.14 project page crash fix) by @markokraemer in https://github.com/kortix-ai/suna/pull/5226
  • Promote main to staging — v0.10.14 candidate by @markokraemer in https://github.com/kortix-ai/suna/pull/5233
  • Refresh staging with latest main — v0.10.14 final candidate by @markokraemer in https://github.com/kortix-ai/suna/pull/5235
  • Refresh staging with final main — v0.10.14 release candidate by @markokraemer in https://github.com/kortix-ai/suna/pull/5239
  • release: promote main to staging after QA stabilization by @markokraemer in https://github.com/kortix-ai/suna/pull/5246
  • Promote main to staging for v0.10.14 by @markokraemer in https://github.com/kortix-ai/suna/pull/5258
  • Promote latest main to staging for v0.10.14 by @markokraemer in https://github.com/kortix-ai/suna/pull/5263
  • Promote session inventory authorization fix to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5269
  • test: retry transient release gate failures by @markokraemer in https://github.com/kortix-ai/suna/pull/5279
  • fix(git): refresh staging mirror after missing branch by @markokraemer in https://github.com/kortix-ai/suna/pull/5282
  • test: tolerate staging release gate host transients by @markokraemer in https://github.com/kortix-ai/suna/pull/5287
  • fix(staging): cap API database pools by @markokraemer in https://github.com/kortix-ai/suna/pull/5291
  • fix(deps): upgrade PostCSS past CVE-2026-45623 by @markokraemer in https://github.com/kortix-ai/suna/pull/5298
  • Promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5303
  • Complete latest main promotion to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5305
  • Promote final current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5309
  • Promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5312
  • release(staging): session runtime v32 fixes by @markokraemer in https://github.com/kortix-ai/suna/pull/5322
  • fix(staging): preserve session runtime URL on restart by @markokraemer in https://github.com/kortix-ai/suna/pull/5325
  • release: promote main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5340
  • fix(staging): verify v0.10.14 session release gates by @markokraemer in https://github.com/kortix-ai/suna/pull/5364
  • Release candidate: promote latest main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5365
  • release(staging): promote main after session gate fixes by @markokraemer in https://github.com/kortix-ai/suna/pull/5372
  • release(staging): include latest main pricing update by @markokraemer in https://github.com/kortix-ai/suna/pull/5374
  • release(staging): fix distributed session limit enforcement by @markokraemer in https://github.com/kortix-ai/suna/pull/5379
  • chore(dev-eks): deploy dev-a21799e8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5385
  • fix(connectors): expose OAuth2 during creation by @markokraemer in https://github.com/kortix-ai/suna/pull/5389
  • refactor(web): enforce SDK-only backend boundary by @markokraemer in https://github.com/kortix-ai/suna/pull/5388
  • chore(dev-eks): deploy dev-ae967fdb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5390
  • chore(dev-eks): deploy dev-07f28dd0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5391
  • fix(dev): preserve API WebSocket upgrades by @markokraemer in https://github.com/kortix-ai/suna/pull/5392
  • chore(dev-eks): deploy gateway dev-8688b849 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5393
  • chore(dev-eks): deploy dev-8688b849 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5394
  • test(sdk): close SDK-only frontend delivery by @markokraemer in https://github.com/kortix-ai/suna/pull/5395
  • chore(dev-eks): deploy dev-f2929a4d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5396
  • fix(llm-gateway): forward prompt cache writes by @markokraemer in https://github.com/kortix-ai/suna/pull/5397
  • chore(dev-eks): deploy gateway dev-463d4241 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5398
  • chore(dev-eks): deploy dev-463d4241 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5399
  • Fix session history pagination scroll restoration by @markokraemer in https://github.com/kortix-ai/suna/pull/5400
  • chore(dev-eks): deploy dev-76de546c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5401
  • fix(whitelabel): prevent zstd proxy corruption by @markokraemer in https://github.com/kortix-ai/suna/pull/5402
  • feat(integrations): add provider-independent authentication lifecycle by @markokraemer in https://github.com/kortix-ai/suna/pull/5403
  • chore(dev-eks): deploy dev-00bc2906 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5404
  • chore(dev-eks): deploy dev-8a124988 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5406
  • chore(db): prepare us-west-2 Supabase target by @markokraemer in https://github.com/kortix-ai/suna/pull/5405
  • chore(dev-eks): deploy dev-dceea2ed [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5407
  • fix(gateway): make managed billing exact and auditable by @markokraemer in https://github.com/kortix-ai/suna/pull/5408
  • chore(dev-eks): deploy gateway dev-29675b2d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5412
  • fix(web): guard PoliciesPanel against missing policies field (BS 236e88fb) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5410
  • chore(dev-eks): deploy dev-29675b2d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5413
  • feat(infra): prepare US West 2 production shadow by @markokraemer in https://github.com/kortix-ai/suna/pull/5414
  • chore(dev-eks): deploy gateway dev-e58faa6c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5417
  • feat(acp): add OpenCode-only runtime canary by @markokraemer in https://github.com/kortix-ai/suna/pull/5415
  • chore(dev-eks): deploy dev-3a45ab55 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5419
  • fix(infra): repair US shadow deploy and reconciliation by @markokraemer in https://github.com/kortix-ai/suna/pull/5418
  • chore(dev-eks): deploy gateway dev-f8968d3e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5420
  • chore(dev-eks): deploy dev-f8968d3e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5421
  • docs: OAuth2 lifecycle, connector auth-type enum, transport-throw retry, example 09 by @agent-kortix in https://github.com/kortix-ai/suna/pull/5422
  • test(acp): harden deployed canary verification by @markokraemer in https://github.com/kortix-ai/suna/pull/5423
  • chore(dev-eks): deploy dev-93f21e9c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5424
  • fix(sdk): keep ACP event streams alive by @markokraemer in https://github.com/kortix-ai/suna/pull/5425
  • content(docs): add persistent "Get started" CTA to docs nav rail by @agent-kortix in https://github.com/kortix-ai/suna/pull/5426
  • chore(dev-eks): deploy gateway dev-ed7d992f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5427
  • chore(dev-eks): deploy dev-ed7d992f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5428
  • test(acp): detach reconnect from Playwright routing by @markokraemer in https://github.com/kortix-ai/suna/pull/5429
  • perf(boot): attribute and cut session-boot latency (removes Platinum's ~7s clone) by @markokraemer in https://github.com/kortix-ai/suna/pull/5409
  • chore(dev-eks): deploy dev-3d649159 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5430
  • fix(web): restore LLM management navigation by @markokraemer in https://github.com/kortix-ai/suna/pull/5432
  • fix(sdk): serialize ACP sends across runtime restarts by @markokraemer in https://github.com/kortix-ai/suna/pull/5433
  • chore(dev-eks): deploy dev-aedb8c16 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5434
  • Fix false Load older messages control by @markokraemer in https://github.com/kortix-ai/suna/pull/5435
  • chore(dev-eks): deploy dev-85ae91df [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5436
  • fix(web): clarify LLM provider connection flow by @markokraemer in https://github.com/kortix-ai/suna/pull/5437
  • Fix trigger scheduler fleet scans by @markokraemer in https://github.com/kortix-ai/suna/pull/5438
  • fix(audit): add actor / search / date-range / resource filters to account audit log by @agent-kortix in https://github.com/kortix-ai/suna/pull/5383
  • test(e2e): wait for REST model readiness by @markokraemer in https://github.com/kortix-ai/suna/pull/5440
  • chore(dev-eks): deploy dev-db2519b5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5442
  • fix(web): guard session-page .slice() against null value (BS e6d0e044) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5439
  • fix(staging): keep API router on EKS by @markokraemer in https://github.com/kortix-ai/suna/pull/5441
  • fix: refresh webhook trigger manifests by @markokraemer in https://github.com/kortix-ai/suna/pull/5443
  • chore(dev-eks): deploy dev-f9132a97 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5444
  • fix(web): restore compact LLM provider modal by @markokraemer in https://github.com/kortix-ai/suna/pull/5445
  • chore(infra): prepare US East 2 production shadow by @markokraemer in https://github.com/kortix-ai/suna/pull/5447
  • release: promote scheduler reliability fixes to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5446
  • chore(dev-eks): deploy gateway dev-56954737 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5449
  • feat(voice): realtime voice channel on LiveKit (replaces the Recall notetaker) by @markokraemer in https://github.com/kortix-ai/suna/pull/5431
  • fix(web): open LLM manager actions in modal by @markokraemer in https://github.com/kortix-ai/suna/pull/5448
  • fix(web): use canonical SDK voice import by @markokraemer in https://github.com/kortix-ai/suna/pull/5450
  • fix(db): restore voice migration order by @markokraemer in https://github.com/kortix-ai/suna/pull/5452
  • chore(dev-eks): deploy dev-0a1ed173 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5453
  • test(migration): verify source refresh on US Auth by @markokraemer in https://github.com/kortix-ai/suna/pull/5454
  • fix(migration): scope Node SSL mode to database runner by @markokraemer in https://github.com/kortix-ai/suna/pull/5455
  • docs(migration): refresh US shadow evidence by @markokraemer in https://github.com/kortix-ai/suna/pull/5456
  • docs(migration): record production autoscaling by @markokraemer in https://github.com/kortix-ai/suna/pull/5457
  • Make the white-label ACP reference SDK-only by @markokraemer in https://github.com/kortix-ai/suna/pull/5458
  • chore(dev-eks): deploy gateway dev-ceaa7e33 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5459
  • chore(dev-eks): deploy dev-ceaa7e33 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5460
  • release: stage scheduler reliability only by @markokraemer in https://github.com/kortix-ai/suna/pull/5461
  • Keep ACP sessions on the current daemon snapshot by @markokraemer in https://github.com/kortix-ai/suna/pull/5462
  • chore(dev-eks): deploy dev-aff406f3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5464
  • Fix model provider connection UX by @markokraemer in https://github.com/kortix-ai/suna/pull/5463
  • test(migration): gate US shadow authentication by @markokraemer in https://github.com/kortix-ai/suna/pull/5466
  • Session chat: narrative transcript by default, full history one click away by @markokraemer in https://github.com/kortix-ai/suna/pull/5451
  • fix(sdk): reconcile REST prompts before first event by @markokraemer in https://github.com/kortix-ai/suna/pull/5467
  • test(migration): gate US frontend provider redirects by @markokraemer in https://github.com/kortix-ai/suna/pull/5468
  • chore(dev-eks): deploy gateway dev-ad56e00c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5469
  • chore(release): VERSION → 0.10.16 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5470
  • chore(release): staging VERSION → 0.10.16 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5471
  • chore(dev-eks): deploy gateway dev-c26942d4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5472
  • chore(dev-eks): deploy dev-c26942d4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5473
  • chore(dev-eks): deploy dev-92b337bb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5474
  • feat(projects): keep one warm session ready by @markokraemer in https://github.com/kortix-ai/suna/pull/5475
  • chore(dev-eks): deploy dev-dc6d1c0b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5476
  • fix(sdk): make ACP and REST prompt completion monotonic by @markokraemer in https://github.com/kortix-ai/suna/pull/5477
  • chore(dev-eks): deploy dev-480a44dc [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5478
  • docs(sdk): record B23 deployed completion [skip ci] by @markokraemer in https://github.com/kortix-ai/suna/pull/5479
  • docs: meet->voice channel rename, workspace enforcement by @agent-kortix in https://github.com/kortix-ai/suna/pull/5482
  • content(blog): correct DeepSeek output price $0.30 -> $0.28 by @agent-kortix in https://github.com/kortix-ai/suna/pull/5484
  • test(auth): wait for hydrated login form by @markokraemer in https://github.com/kortix-ai/suna/pull/5485
  • docs: add ACP runtime status quo handoff by @markokraemer in https://github.com/kortix-ai/suna/pull/5488
  • fix(api): stop Sentry-capturing transient Supabase pool exhaustion (BS 721b7efe) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5487
  • chore(dev-eks): deploy dev-c9df628d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5489
  • perf(api): remove turn-stream request amplification by @markokraemer in https://github.com/kortix-ai/suna/pull/5490
  • chore(dev-eks): deploy dev-4f46e3aa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5492
  • chore(dev-eks): deploy gateway dev-47d41d9b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5493
  • chore(dev-eks): deploy dev-69af18f3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5494
  • perf(api): cut sandbox control-plane chatter and ambient-poll latency by @markokraemer in https://github.com/kortix-ai/suna/pull/5491
  • chore(dev-eks): deploy dev-704b9c1b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5497
  • fix(ci): restore starter and voice checks by @markokraemer in https://github.com/kortix-ai/suna/pull/5498
  • docs(sdk): record API latency dev proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5495
  • fix(prod): harden final US East 2 database cutover by @markokraemer in https://github.com/kortix-ai/suna/pull/5496
  • chore(dev-eks): deploy gateway dev-fa525d30 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5499
  • chore(dev-eks): deploy dev-fa525d30 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5501
  • fix(web): pass turn run children as data prop by @markokraemer in https://github.com/kortix-ai/suna/pull/5500
  • chore(dev-eks): deploy dev-ccdce643 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5503
  • fix(billing): reconcile lost per-seat compute windows; make request diagnostics visible in CloudWatch by @markokraemer in https://github.com/kortix-ai/suna/pull/5502
  • chore(dev-eks): deploy dev-afe54ce9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5505
  • fix(maintenance): fail over independently at the edge by @markokraemer in https://github.com/kortix-ai/suna/pull/5504
  • chore(dev-eks): deploy gateway dev-b18ceaa5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5507
  • release: add independent production maintenance failover by @markokraemer in https://github.com/kortix-ai/suna/pull/5506
  • chore(dev-eks): deploy dev-b18ceaa5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5508
  • chore(dev-eks): deploy dev-1097dce8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5510
  • chore(dev-eks): deploy dev-d5bc283d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5513
  • fix(sdk): restore staging maintenance transport by @markokraemer in https://github.com/kortix-ai/suna/pull/5512
  • fix(api): stop billing rotations on workerless pods by @markokraemer in https://github.com/kortix-ai/suna/pull/5515
  • chore(dev-eks): deploy dev-efc0036e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5516
  • chore(dev-eks): deploy dev-e8dc428a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5517
  • chore(dev-eks): deploy dev-6a1ff05b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5518
  • fix(use2): clean recovery flow state after smoke by @markokraemer in https://github.com/kortix-ai/suna/pull/5519
  • chore(dev-eks): deploy dev-8189da8a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5520
  • fix(secrets): scope sandbox secret injection to the agent that actually runs by @markokraemer in https://github.com/kortix-ai/suna/pull/5514
  • chore(dev-eks): deploy dev-7d0aae0b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5521
  • docs(secrets): spec network-boundary secret delivery policy by @markokraemer in https://github.com/kortix-ai/suna/pull/5522
  • Fix US migration smoke billing cleanup by @markokraemer in https://github.com/kortix-ai/suna/pull/5523
  • Release US worker isolation guard to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5524
  • Fix frontend migration smoke Auth flow cleanup by @markokraemer in https://github.com/kortix-ai/suna/pull/5525
  • chore(dev-eks): deploy dev-43fd93cd [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5526
  • chore(dev-eks): deploy dev-d7dc3622 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5527
  • chore(dev-eks): deploy dev-5051d9cb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5528
  • fix(use2): harden US shadow session readiness by @markokraemer in https://github.com/kortix-ai/suna/pull/5529
  • chore(dev-eks): deploy dev-5c0ae97e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5530
  • test(use2): wait for selected warm agent by @markokraemer in https://github.com/kortix-ai/suna/pull/5531
  • chore(dev-eks): deploy dev-8d6a7876 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5532
  • fix(sdk): preserve project agent selection by @markokraemer in https://github.com/kortix-ai/suna/pull/5533
  • chore(dev-eks): deploy dev-ee45f55f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5534
  • docs(sdk): record US session readiness proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5535
  • chore(dev-eks): deploy dev-36432e59 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5536
  • ops: add US shadow reconciliation workflow by @markokraemer in https://github.com/kortix-ai/suna/pull/5537
  • fix(ops): scope Supabase CLI prerequisite by @markokraemer in https://github.com/kortix-ai/suna/pull/5538
  • fix(ops): use US shadow reconciliation role by @markokraemer in https://github.com/kortix-ai/suna/pull/5539
  • fix(web): break setSessionAgentName React #185 render loop (BS 351da943) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5540
  • fix(web): guard marketing-site scrollTo against non-scrollable ref (BS a0000df8) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5542
  • fix(scheduler): dispatch cron slots exactly by @markokraemer in https://github.com/kortix-ai/suna/pull/5543
  • chore(dev-eks): deploy gateway dev-974c699e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5544
  • chore(dev-eks): deploy dev-974c699e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5545
  • fix(scheduler): bound catalog retries after backfill by @markokraemer in https://github.com/kortix-ai/suna/pull/5546
  • chore(dev-eks): deploy dev-1cd087aa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5547
  • release(scheduler): promote exact cron dispatch to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5548
  • docs: trigger scheduler cadence, execution lease interval, voice opt-in, voiceTranscript by @agent-kortix in https://github.com/kortix-ai/suna/pull/5550
  • fix(security): scope AgentMail inbox takeover delete + ownership gate (pentest 2026-07-27) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5551
  • chore(dev-eks): deploy dev-bf90f44e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5553
  • fix(security): do not expose DOTENV_PRIVATE_KEY to PR-triggered test jobs (CI-DK) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5552
  • feat: multiple connections per connector (team + personal) with a connections list by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5556
  • feat(web): make team-shared vs private-to-me connections unmistakable by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5554
  • chore(dev-eks): deploy dev-52dc62cc [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5557
  • feat(kaab): required connectors — run as the user's own connection, gate if unconnected, admin roster by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5366
  • fix(kaab): make KORTIX_ORIGIN_REF unforgeable + document origin_ref honestly by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5558
  • chore(dev-eks): deploy dev-64250043 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5560
  • fix(kaab): require_connectors picks the member's default connection, skips revoked by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5559
  • chore(dev-eks): deploy dev-e88526c6 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5562
  • fix(kaab): re-land connectors_personal onto main (#5370 merged into its base branch, not main) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5561
  • chore(dev-eks): deploy dev-170b4b14 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5563
  • fix(seo): stop garbled brand snippet — render KortixLetterField as SVG background-image by @agent-kortix in https://github.com/kortix-ai/suna/pull/5555
  • feat(kaab): set connectors_personal from the agent-scope API (with subset pruning) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5564
  • chore(dev-eks): deploy dev-f9a5d420 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5566
  • fix(kaab): agent editor could not save any project using connectors_personal by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5565
  • chore(dev-eks): deploy dev-55663e3b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5568
  • feat(web): per-connector 'personal' toggle in the agent editor by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5567
  • feat(kaab): per-end-user usage metering (origin_ref on usage_events) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5569
  • feat(kaab): per-end-user concurrency cap + restore the lost account-active index by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5570
  • chore(dev-eks): deploy dev-7824a618 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5571
  • feat(web): per-connection IDs + tabbed connector detail by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5572
  • fix(permissions): surface project-rule overrides + feat(billing): per-end-user spend by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5573
  • chore(dev-eks): deploy dev-12da8c76 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5575
  • fix(web): drop iOS WebView WebKit-bridge messageHandlers noise (BS 5b94212b) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5574
  • fix(security): KaaB cross-end-user session access + revoked-secret re-injection by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5577
  • chore(dev-eks): deploy dev-f4a968f6 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5580
  • feat(permissions): per-connection tool permissions by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5579
  • chore(dev-eks): deploy dev-8a344cdb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5582
  • fix(test): un-dark two suites (0 → 76 tests) + Permissions discoverability by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5583
  • chore(dev-eks): deploy dev-25051973 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5585
  • ops: guard final US East 2 cutover by @markokraemer in https://github.com/kortix-ai/suna/pull/5584
  • chore(release): merge latest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5588
  • feat(api): rename origin_ref → end_user_ref (origin_ref kept as permanent alias) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5586
  • fix(voice): keep worker bearer out of room metadata by @markokraemer in https://github.com/kortix-ai/suna/pull/5589
  • ops: support candidate tags in US shadow by @markokraemer in https://github.com/kortix-ai/suna/pull/5590
  • fix(cli,api): kortix ship pushes through the git proxy, not an unexportable token by @markokraemer in https://github.com/kortix-ai/suna/pull/5591
  • chore(dev-eks): deploy dev-96c8d84a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5596
  • fix: update staging security dependencies by @markokraemer in https://github.com/kortix-ai/suna/pull/5595
  • chore(release): reconcile latest main with staging hotfix by @markokraemer in https://github.com/kortix-ai/suna/pull/5593
  • feat(api): change a session's model mid-flight by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5592
  • chore(dev-eks): deploy dev-bd3ae3c1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5597
  • fix(test): validate every decorative landing element by @markokraemer in https://github.com/kortix-ai/suna/pull/5601
  • fix(test): validate every decorative landing element by @markokraemer in https://github.com/kortix-ai/suna/pull/5602
  • fix(sdk): preserve ACP message turn boundaries by @markokraemer in https://github.com/kortix-ai/suna/pull/5603
  • fix(migration): reconcile shadow credit ledger rows by @markokraemer in https://github.com/kortix-ai/suna/pull/5604
  • feat(whitelabel-demo): Kortix-as-a-Backend support end to end by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5599
  • fix: never re-queue a create whose failure was already returned to the caller by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5606
  • fix(migration): preserve replication backlog ownership by @markokraemer in https://github.com/kortix-ai/suna/pull/5607
  • fix(migration): reconcile shadow credit ledger rows by @markokraemer in https://github.com/kortix-ai/suna/pull/5605
  • chore(release): sync newest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5600
  • fix: one canonical connector alias across all three grant gates by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5609
  • chore(dev-eks): deploy dev-a6b3fd68 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5611
  • test: prove KaaB session isolation at the list leg by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5610
  • chore(dev-eks): deploy dev-65c707d4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5613
  • feat(whitelabel-demo): pick which shared connection a session runs as by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5612
  • fix(gateway): normalize malformed message history so strict providers accept it by @markokraemer in https://github.com/kortix-ai/suna/pull/5608
  • chore(dev-eks): deploy gateway dev-7b77515d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5616
  • chore(release): sync latest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5615
  • chore(release): sync newest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5617
  • chore(dev-eks): deploy dev-7b77515d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5618
  • chore(release): sync exact current main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5620
  • feat(sessions): add message-based rewind for REST and ACP by @markokraemer in https://github.com/kortix-ai/suna/pull/5619
  • chore(dev-eks): deploy dev-9e90e8ed [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5621
  • chore(release): sync exact latest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5622
  • Add Marketing Department project template by @lillyboga in https://github.com/kortix-ai/suna/pull/5578
  • chore(dev-eks): deploy gateway dev-e548c6a8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5625
  • chore(dev-eks): deploy dev-e548c6a8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5626
  • chore(release): sync final latest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5627
  • fix(release): harden US cutover readiness by @markokraemer in https://github.com/kortix-ai/suna/pull/5623
  • chore(dev-eks): deploy gateway dev-79c208aa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5628
  • chore(release): include latest production cutover hardening by @markokraemer in https://github.com/kortix-ai/suna/pull/5629
  • docs(sdk): record deployed session rewind proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5630
  • chore(dev-eks): deploy dev-49dc74f4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5632
  • fix(tests): use one Playwright runtime for US smoke by @markokraemer in https://github.com/kortix-ai/suna/pull/5631
  • chore(dev-eks): deploy gateway dev-83984378 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5634
  • chore(dev-eks): deploy dev-83984378 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5635
  • Fix ACP final idle state and add ?acp override by @markokraemer in https://github.com/kortix-ai/suna/pull/5636
  • chore(dev-eks): deploy dev-76b4cb98 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5637
  • fix(release): pace managed repository provisioning by @markokraemer in https://github.com/kortix-ai/suna/pull/5638
  • Heal corrupt git mirror cache entries by @lillyboga in https://github.com/kortix-ai/suna/pull/5641
  • chore(dev-eks): deploy dev-256230d1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5642
  • fix(release): isolate mutable IAM and session flows by @markokraemer in https://github.com/kortix-ai/suna/pull/5640
  • Fix CodeQL secure temporary file gate by @markokraemer in https://github.com/kortix-ai/suna/pull/5644
  • chore(dev-eks): deploy dev-022f666d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5645
  • Release candidate: promote latest main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5643
  • Fix release pacing unit-test environment by @markokraemer in https://github.com/kortix-ai/suna/pull/5646
  • Release candidate: fix release pacing test environment by @markokraemer in https://github.com/kortix-ai/suna/pull/5647
  • fix(sessions): sync runtime-generated titles by @markokraemer in https://github.com/kortix-ai/suna/pull/5648
  • chore(dev-eks): deploy dev-b8e1e75b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5649
  • Release candidate: include latest session title synchronization by @markokraemer in https://github.com/kortix-ai/suna/pull/5650
  • test(sessions): wait for web readiness in title sync flow by @markokraemer in https://github.com/kortix-ai/suna/pull/5651
  • Release candidate: sync test-only session title wait by @markokraemer in https://github.com/kortix-ai/suna/pull/5654
  • fix(worktree): stop process trees, not port listeners by @markokraemer in https://github.com/kortix-ai/suna/pull/5653
  • fix(api): return 404 for readRepoFile git-show path-not-found (BS a8d20288) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5652
  • chore(dev-eks): deploy dev-985b7db0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5655
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5656
  • chore(dev-eks): deploy dev-cd5f4513 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5659
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5660
  • test(ke2e): reuse Git fixtures and split live lanes by @markokraemer in https://github.com/kortix-ai/suna/pull/5658
  • chore(release): promote optimized ke2e gate to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5661
  • test(ke2e): honor gateway Retry-After by @markokraemer in https://github.com/kortix-ai/suna/pull/5662
  • feat(runtime): add ACP CLI harness processes by @markokraemer in https://github.com/kortix-ai/suna/pull/5665
  • chore(dev-eks): deploy gateway dev-d87349a9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5666
  • chore(dev-eks): deploy dev-d87349a9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5667
  • docs: connectors_personal manifest field, changeModel SDK method, auth-type enum, runtimeTransport option by @agent-kortix in https://github.com/kortix-ai/suna/pull/5668
  • test(ke2e): bound release gate load by @markokraemer in https://github.com/kortix-ai/suna/pull/5669
  • fix(runtime): pin Pi internal dependencies by @markokraemer in https://github.com/kortix-ai/suna/pull/5671
  • chore(dev-eks): deploy gateway dev-1b4db8f8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5672
  • chore(dev-eks): deploy dev-1b4db8f8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5674
  • docs: narrow the e2e-preview-proxy failures to a harness question by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5614
  • fix(runtime): install Pi with npm by @markokraemer in https://github.com/kortix-ai/suna/pull/5675
  • chore(dev-eks): deploy gateway dev-5762bcfc [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5677
  • chore(dev-eks): deploy dev-5762bcfc [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5678
  • feat(whitelabel-demo): show what a running session can and cannot change by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5676
  • chore(dev-eks): deploy gateway dev-dda51b0b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5680
  • chore(dev-eks): deploy dev-dda51b0b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5681
  • docs: the apps/api suite has no CI key — proven, and my earlier fix retracted by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5682
  • fix(security): session sharing was exempt from the KaaB isolation narrowing by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5683
  • chore(dev-eks): deploy dev-cb5bb899 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5685
  • fix(security): bind turn-question to the sandbox token's own session by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5686
  • chore(dev-eks): deploy dev-8bfb1096 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5690
  • fix(security): never widen an agent grant on a manifest error; canonicalize the v2 default by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5687
  • fix(gateway): fail over stalled model streams by @markokraemer in https://github.com/kortix-ai/suna/pull/5689
  • chore(dev-eks): deploy gateway dev-9ac237f1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5692
  • chore(dev-eks): deploy dev-9ac237f1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5693
  • fix(security): redact session content on rows the caller cannot access by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5688
  • docs: correct the KaaB docs against the code, and document what shipped by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5691
  • fix(whitelabel-demo): make KaaB refusals reachable, and stop silent sends by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5694
  • fix(security): an agent must never resolve its own approval by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5684
  • chore(dev-eks): deploy dev-57e081c0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5696
  • feat(kaab): filter the session list by end_user_ref by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5697
  • chore(dev-eks): deploy dev-7f51c831 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5699
  • feat(kaab): re-mint the session token grant on a mid-session agent switch by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5698
  • chore(dev-eks): deploy dev-fd6fa64b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5701
  • fix(kaab): revoke a session's executor tokens when its sandbox is gone by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5700
  • fix(ke2e): reuse managed project on staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5702
  • feat(kaab): per-end-user spend cap by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5704
  • chore(dev-eks): deploy dev-0f390c6c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5706
  • docs: verified baseline of secret exposure inside the sandbox by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5705
  • fix(ke2e): bound stale-user cleanup by @markokraemer in https://github.com/kortix-ai/suna/pull/5707
  • perf(ke2e): query stale users directly by @markokraemer in https://github.com/kortix-ai/suna/pull/5711
  • fix(ke2e): require strict TLS for GC database by @markokraemer in https://github.com/kortix-ai/suna/pull/5714
  • content(blog): differentiate agi-ready-architecture manifest from introducing-kortix by @agent-kortix in https://github.com/kortix-ai/suna/pull/5712
  • fix(ke2e): preserve claimed warm-session metadata by @markokraemer in https://github.com/kortix-ai/suna/pull/5716
  • fix(api): preserve public-share permission status by @markokraemer in https://github.com/kortix-ai/suna/pull/5717
  • chore(dev-eks): deploy dev-fe9c7bfe [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5718
  • feat(secrets): secret delivery strategy — design + pure policy layer by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5708
  • fix(whitelabel-demo): refuse encoded-slash path traversal in the BFF proxy by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5710
  • fix(kaab): two critical regressions in my own isolation work by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5715
  • chore(dev-eks): deploy dev-b217ced8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5721
  • fix(kaab): gate opencode :4096 on session visibility, not just :8000 by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5722
  • chore(dev-eks): deploy dev-e5e934f4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5723
  • feat(secrets): SDS stage 1 — schema + policy layer, one shared egress-policy type by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5724
  • chore(dev-eks): deploy dev-ff0e36fa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5726
  • fix(sandbox-proxy): release prompt dedupe claim when delivery provably failed by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5271
  • chore(dev-eks): deploy dev-be05b2ca [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5727
  • feat(whitelabel-demo): session scope controls, connector binding, and a testing guide by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5728
  • feat(sessions): generate session titles from the first prompt via the gateway by @markokraemer in https://github.com/kortix-ai/suna/pull/5733
  • chore(dev-eks): deploy dev-5db7502b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5734
  • fix(sessions): title with the live picked model, not the stale opencode_model by @markokraemer in https://github.com/kortix-ai/suna/pull/5735
  • chore(dev-eks): deploy dev-6b695ee4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5736
  • fix(web): stop ambient voice transcript polling by @markokraemer in https://github.com/kortix-ai/suna/pull/5738
  • refactor(sessions): one title path — delete the OpenCode title machinery by @markokraemer in https://github.com/kortix-ai/suna/pull/5739
  • chore(dev-eks): deploy dev-efdb77c5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5740
  • fix(web): remove session voice transcript tab by @markokraemer in https://github.com/kortix-ai/suna/pull/5742
  • feat(models): per-project model enablement, gateway-enforced (backend) by @markokraemer in https://github.com/kortix-ai/suna/pull/5743
  • chore(dev-eks): deploy gateway dev-6e0f8cf0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5744
  • chore(dev-eks): deploy dev-6e0f8cf0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5745
  • fix(release): block mismatched production Supabase auth by @markokraemer in https://github.com/kortix-ai/suna/pull/5747
  • feat(models): wire the model-enablement UI to the server (Manage models + picker) by @markokraemer in https://github.com/kortix-ai/suna/pull/5746
  • chore(dev-eks): deploy dev-d248b8ce [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5748
  • feat(acp): add project-gated multi-harness runtime by @markokraemer in https://github.com/kortix-ai/suna/pull/5749
  • chore(dev-eks): deploy gateway dev-239cda8a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5752
  • chore(dev-eks): deploy dev-239cda8a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5753
  • fix(web): restore public share links across the file and preview surfaces by @markokraemer in https://github.com/kortix-ai/suna/pull/5751
  • chore(dev-eks): deploy dev-8e86e27d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5754
  • fix(security): close public SSH/RDP exposure on the us-east-2 ACL and prevent its return by @markokraemer in https://github.com/kortix-ai/suna/pull/5755
  • test(ke2e): cover the public file-share branch in SESS-13 by @markokraemer in https://github.com/kortix-ai/suna/pull/5756
  • fix(security): make the NACL admin-port audit actually run by @markokraemer in https://github.com/kortix-ai/suna/pull/5757
  • fix(acp): refresh ingress credentials after restart by @markokraemer in https://github.com/kortix-ai/suna/pull/5759
  • chore(dev-eks): deploy dev-35d4063c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5761
  • fix(ci): make drift detection actually run by @markokraemer in https://github.com/kortix-ai/suna/pull/5760
  • docs(sdk): record deployed multi-harness proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5762
  • fix(ci): give drift detection the Cloudflare token it needs to plan by @markokraemer in https://github.com/kortix-ai/suna/pull/5763
  • feat(onboarding): land every signup directly in a project, with no blocking provision by @markokraemer in https://github.com/kortix-ai/suna/pull/5758
  • revert(session-chat): restore the pre-v0.11 transcript rendering by @markokraemer in https://github.com/kortix-ai/suna/pull/5764
  • fix(ci): supply cloudflare_zone_id to the drift plan by @markokraemer in https://github.com/kortix-ai/suna/pull/5765
  • fix(ci): scope drift detection to roots CI can actually plan by @markokraemer in https://github.com/kortix-ai/suna/pull/5766
  • fix(onboarding): bind the remembered-project cookie to its owner by @markokraemer in https://github.com/kortix-ai/suna/pull/5767
  • docs(acp): make Kortix multi-harness documentation complete by @markokraemer in https://github.com/kortix-ai/suna/pull/5768
  • chore(dev-eks): deploy dev-3b3992fb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5769
  • refactor(infra): make Terraform the source of truth for the ECS envs by @markokraemer in https://github.com/kortix-ai/suna/pull/5771
  • Slim the Kortix Starter to a 10-skill artifact floor by @markokraemer in https://github.com/kortix-ai/suna/pull/5770
  • Start only the selected ACP harness and persist boot benchmarks by @markokraemer in https://github.com/kortix-ai/suna/pull/5772
  • docs(compliance): record the open critical IaC finding on the audit role by @markokraemer in https://github.com/kortix-ai/suna/pull/5773
  • chore(dev-eks): deploy gateway dev-81486b61 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5775
  • docs(sdk): record multi-harness docs deployment by @markokraemer in https://github.com/kortix-ai/suna/pull/5774
  • chore(dev-eks): deploy dev-7935cd93 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5777
  • Repair marketplace tests missed by the starter slim-down by @markokraemer in https://github.com/kortix-ai/suna/pull/5776
  • fix(infra): capture the Cloudflare zone id so plans stop proposing DNS churn by @markokraemer in https://github.com/kortix-ai/suna/pull/5778
  • refactor(billing): make Stripe returns route-independent, delete the dead modal chain by @markokraemer in https://github.com/kortix-ai/suna/pull/5779
  • docs(runtime): record live dev Pi latency proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5781
  • chore(security): adopt the last unmanaged IAM roles, retire the dead ones by @markokraemer in https://github.com/kortix-ai/suna/pull/5782
  • ci: cover the ECS environments in drift detection by @markokraemer in https://github.com/kortix-ai/suna/pull/5783
  • fix(models): one answer for "which models does this project offer" by @markokraemer in https://github.com/kortix-ai/suna/pull/5780
  • feat(web): use harness favicons in agent selectors by @markokraemer in https://github.com/kortix-ai/suna/pull/5784
  • chore(sdk): record BillingState in the type-surface snapshot by @markokraemer in https://github.com/kortix-ai/suna/pull/5786
  • fix(models): never prune a managed or configured model from the default set by @markokraemer in https://github.com/kortix-ai/suna/pull/5785
  • fix(db): restore dev migration order by @markokraemer in https://github.com/kortix-ai/suna/pull/5787
  • chore(dev-eks): deploy dev-d55c0bb0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5788
  • chore(dev-eks): deploy dev-16e14971 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5789
  • chore(dev-eks): deploy gateway dev-c59a9181 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5790
  • chore(dev-eks): deploy dev-c59a9181 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5791
  • docs: per-project model enablement, backend.mdx error table + wording by @agent-kortix in https://github.com/kortix-ai/suna/pull/5794
  • feat(secrets): wire the delivery chokepoint — a denied secret never enters the sandbox by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5793
  • chore(dev-eks): deploy dev-ed342859 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5796
  • feat(whitelabel-demo): make every KaaB capability testable from the UI by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5795
  • fix(kaab): a sandbox may not enumerate other end-users' connector profiles by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5797
  • chore(dev-eks): deploy dev-efa9ef71 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5799
  • fix(kaab): enforce the per-end-user session cap on resume, not just create by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5798
  • chore(dev-eks): deploy dev-9a6a8b25 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5800
  • feat(whitelabel-demo): bottom scope bar + live API-call snippets by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5801
  • docs(kaab): END_USER_REF_CONFLICT is a 400, and pin it with a test by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5802
  • chore(dev-eks): deploy dev-47b9add5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5803
  • fix(kaab): prove the WebSocket isolation, add the mode badge and runtime_context by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5804
  • chore(dev-eks): deploy dev-3998a94d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5805
  • feat(whitelabel-demo): gated import of existing account projects by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5806
  • feat(whitelabel-demo): syntax-highlight snippets + cover every KaaB call by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5807
  • feat(kaab): re-scope a running session's secrets and connector bindings by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5808
  • chore(dev-eks): deploy dev-51da6740 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5809
  • feat(kaab): mid-session re-scope in the demo, SDK method, and docs by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5810
  • fix(web): drop Safari generic SecurityError noise (BS 4 patterns, post-v0.11.0) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5811
  • fix(auth): never return sign-in to projects list by @markokraemer in https://github.com/kortix-ai/suna/pull/5814
  • test(ke2e): cover PUT model-enablement route + regen manifest to 527 by @agent-kortix in https://github.com/kortix-ai/suna/pull/5792
  • fix(web): make the sidebar Review pill actually open the Review inbox by @markokraemer in https://github.com/kortix-ai/suna/pull/5815
  • fix(models): lock the default row, refresh without a reload, set the default inline by @markokraemer in https://github.com/kortix-ai/suna/pull/5813
  • fix(web): order reused sessions by last activity by @markokraemer in https://github.com/kortix-ai/suna/pull/5816
  • chore(dev-eks): deploy dev-61910424 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5817
  • docs(perf): preserve session-start evidence and stateful target by @markokraemer in https://github.com/kortix-ai/suna/pull/5818
  • fix(auth): never send a signup to a project it cannot open by @markokraemer in https://github.com/kortix-ai/suna/pull/5819
  • fix(whitelabel-demo): actually let the scope bar re-scope this session by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5820
  • feat(acp): add complete multi-harness starter and auth UX by @markokraemer in https://github.com/kortix-ai/suna/pull/5821
  • chore(dev-eks): deploy dev-452948e8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5824
  • docs(perf): record Platinum repository-image A/B by @markokraemer in https://github.com/kortix-ai/suna/pull/5822
  • chore(dev-eks): deploy gateway dev-22e9259b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5826
  • fix(whitelabel-demo): call the re-scope hook unconditionally by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5825
  • chore(dev-eks): deploy dev-22e9259b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5827
  • chore(dev-eks): deploy gateway dev-d703d0e9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5828
  • chore(dev-eks): deploy dev-d703d0e9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5830
  • fix(whitelabel-demo): un-gate the scope editors that 'changeable' switched off by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5829
  • fix(acp): exempt harness turns from request deadline by @markokraemer in https://github.com/kortix-ai/suna/pull/5831
  • chore(dev-eks): deploy dev-dfa2070d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5832
  • fix(sessions): converge every session-start path on server-side titling by @markokraemer in https://github.com/kortix-ai/suna/pull/5834
  • chore(dev-eks): deploy dev-41d62c4f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5836
  • fix(web): stop the project sidebar flickering on cold load by @markokraemer in https://github.com/kortix-ai/suna/pull/5835
  • fix: reject terminal soft-rate completions by @markokraemer in https://github.com/kortix-ai/suna/pull/5840
  • fix(session): paint the transcript from cache instead of waiting on a VM by @markokraemer in https://github.com/kortix-ai/suna/pull/5837
  • Recover conflicted changes with an agent by @markokraemer in https://github.com/kortix-ai/suna/pull/5839
  • chore(dev-eks): deploy gateway dev-ae00d2ac [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5841
  • chore(dev-eks): deploy dev-ae00d2ac [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5843
  • feat(projects): make the default starter multi-harness by @markokraemer in https://github.com/kortix-ai/suna/pull/5842
  • chore(dev-eks): deploy dev-a7038f49 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5844
  • fix(sdk): isolate preassigned OpenCode session state by @markokraemer in https://github.com/kortix-ai/suna/pull/5846
  • chore(dev-eks): deploy dev-7a7bb4f1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5847
  • fix(sdk): honor inherited OpenCode session defaults by @markokraemer in https://github.com/kortix-ai/suna/pull/5848
  • chore(dev-eks): deploy dev-d6979ad9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5849
  • docs(sdk): record inherited session delivery by @markokraemer in https://github.com/kortix-ai/suna/pull/5850
  • chore(dev-eks): deploy dev-9a226118 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5851
  • fix(web): show triggers as active when they are active by @markokraemer in https://github.com/kortix-ai/suna/pull/5853
  • fix(gateway): require zero usage for soft rate limits by @markokraemer in https://github.com/kortix-ai/suna/pull/5852
  • chore(dev-eks): deploy gateway dev-0c27d730 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5854
  • chore(dev-eks): deploy dev-0c27d730 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5856
  • refactor(session): load older history by scrolling, not by clicking by @markokraemer in https://github.com/kortix-ai/suna/pull/5855
  • ci(api): actually run the kortix-api suite on pull requests by @markokraemer in https://github.com/kortix-ai/suna/pull/5838
  • fix(sandbox): derive the sandbox alert from live provider state, not the build log by @markokraemer in https://github.com/kortix-ai/suna/pull/5858
  • chore(dev-eks): deploy dev-1949db07 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5860
  • fix(session): stop a session with history opening on the empty new-session shell by @markokraemer in https://github.com/kortix-ai/suna/pull/5857
  • fix(executor): accept canonical dotted tool references by @markokraemer in https://github.com/kortix-ai/suna/pull/5859
  • chore(dev-eks): deploy dev-31391b4b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5861
  • test(api): stop partial module mocks from killing whole test files by @markokraemer in https://github.com/kortix-ai/suna/pull/5863
  • chore(dev-eks): deploy dev-d6413c2f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5865
  • feat(executor): make approvals answerable and enforce policy on arguments by @markokraemer in https://github.com/kortix-ai/suna/pull/5862
  • fix(snapshots): attest sandbox CLI artifacts by @markokraemer in https://github.com/kortix-ai/suna/pull/5867
  • chore(dev-eks): deploy gateway dev-4bc30619 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5868
  • fix(sandbox): bound sandbox lifetime — delete three self-granted vetoes, add one column the box cannot forge by @markokraemer in https://github.com/kortix-ai/suna/pull/5845
  • test(api): retarget slash-command + manifest tests at the shipped design by @markokraemer in https://github.com/kortix-ai/suna/pull/5864
  • fix(billing): one credit debit function, no floor bypass for unpaid subs, seat allowance not seat price by @markokraemer in https://github.com/kortix-ai/suna/pull/5869
  • feat: add connector profile authorization and session costs by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5872
  • fix: repair dev migration order by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5873
  • chore(dev-eks): deploy dev-95c1e0ea [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5874
  • fix: refresh session governance before provisioning by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5878
  • chore(dev-eks): deploy dev-37ce0d58 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5879
  • fix(api): fail closed for required connector profiles by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5882
  • chore(dev-eks): deploy dev-3f4fe600 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5883
  • perf(web): make the project Files route open instantly instead of after 5–6s by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5881
  • fix(api): support agent scope for version 3 manifests by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5884
  • chore(dev-eks): deploy dev-c88c94ea [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5885
  • Migrate icon library to Phosphor icons by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5386
  • chore(dev-eks): deploy gateway dev-98e5fd0a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5886
  • chore(dev-eks): deploy dev-98e5fd0a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5887
  • fix(whitelabel): use project connection terminology by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5888
  • fix(web): make sidebar docking instant instead of a 200ms layout morph by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5890
  • content(blog): expand beyond-the-chat-box -- add unique section + outbound links by @agent-kortix in https://github.com/kortix-ai/suna/pull/5889
  • fix(whitelabel): preserve session list shape in mock by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5891
  • chore(connectors): align project connection terminology by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5892
  • chore(dev-eks): deploy dev-536cccf1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5893
  • fix: suppress wallet-extension inpage.js 'No error message' noise (pattern 61949432...) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5894
  • fix: restore OpenCode REST + kortix.yaml v2 as the default runtime, and a session-runtime bug bash by @markokraemer in https://github.com/kortix-ai/suna/pull/5870
  • chore(dev-eks): deploy gateway dev-890095d6 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5895
  • chore(dev-eks): deploy dev-29bac7e1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5897
  • Restore CLI SDK and API contract CI gates by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5899
  • chore(dev-eks): deploy dev-2cfff1e4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5900
  • feat(web): generate connector profile slugs from names by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5896
  • Remove ACP and multi-harness runtime; restore OpenCode REST by @markokraemer in https://github.com/kortix-ai/suna/pull/5901
  • chore(dev-eks): deploy gateway dev-5dc989f9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5902
  • Fix ACP removal migration ordering by @markokraemer in https://github.com/kortix-ai/suna/pull/5903
  • chore(dev-eks): deploy gateway dev-e4052cca [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5904
  • chore(dev-eks): deploy dev-e4052cca [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5905
  • Serve Roobert from one variable font and fix monospace alignment by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5898
  • fix(cli): don't force https on private hosts — self-host reaches its API over container names and LAN addresses by @Leonxu6 in https://github.com/kortix-ai/suna/pull/5876
  • chore(dev-eks): deploy dev-b5ab22b0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5907
  • fix(web): break the async import cycle between file-source and the project-files barrel by @Leonxu6 in https://github.com/kortix-ai/suna/pull/5880
  • fix(sdk): keep the session boot poll running while the tab is in the background by @Leonxu6 in https://github.com/kortix-ai/suna/pull/5875
  • chore(dev-eks): deploy dev-72797256 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5909
  • feat(teams): Teams is a per-project experimental feature, not a server env var by @markokraemer in https://github.com/kortix-ai/suna/pull/5908
  • chore(dev-eks): deploy dev-1647c2ee [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5910
  • fix(web): in-product CLI install command targets the deployment, not kortix.com by @Leonxu6 in https://github.com/kortix-ai/suna/pull/5877
  • refactor(web): Easy panel fit & session info by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5906
  • feat(web): /a1o — standalone die that rolls the Kortix stack by @markokraemer in https://github.com/kortix-ai/suna/pull/5911
  • chore(dev-eks): deploy gateway dev-b631bd9a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5912
  • chore(dev-eks): deploy dev-b631bd9a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5913
  • fix(api): gracefully skip broken sandbox templates instead of failing the full listing by @agent-kortix in https://github.com/kortix-ai/suna/pull/5915
  • chore(dev-eks): deploy dev-d5f531f9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5916
  • fix: suppress injectedScript.bundle.js sendMessage noise from browser extensions by @agent-kortix in https://github.com/kortix-ai/suna/pull/5914
  • Marketing site rebuild, and a sweep of claims that were not true by @markokraemer in https://github.com/kortix-ai/suna/pull/5917
  • test(ke2e): cover audit actor/resource/date-range/search/cursor/limit filters by @agent-kortix in https://github.com/kortix-ai/suna/pull/5481
  • test(ke2e): prove project-scoped PAT cross-project WRITE boundary (TOK-5) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5349
  • Product showcase in both themes, and 2.76 MiB lighter by @markokraemer in https://github.com/kortix-ai/suna/pull/5919
  • Preserve hydrated session content after runtime lookup misses by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5920
  • Improve session access scope selection by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5921
  • fix(connectors): lock the authorization owner after creation by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5922
  • feat(connectors): read-only authorization owner instead of a dead select by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5924
  • feat(audit): centralize reconstructable system activity by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5925
  • chore(dev-eks): deploy dev-9b82d8f1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5926
  • fix(gateway): Bedrock adaptive thinking + region-prefix normalization by @markokraemer in https://github.com/kortix-ai/suna/pull/5927
  • fix: all managed models group under Kortix in the picker, not Anthropic/DeepSeek by @agent-kortix in https://github.com/kortix-ai/suna/pull/5918
  • feat(web): add a public /download page by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5923
  • chore(dev-eks): deploy gateway dev-be2690a5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5930
  • chore(dev-eks): deploy dev-be2690a5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5931
  • Improve audit event labels and details by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5928
  • fix(tests): drop leftover public routines in db-reset so re-apply matches a fresh DB by @markokraemer in https://github.com/kortix-ai/suna/pull/5933
  • revert(models): remove server-side per-project model enablement by @markokraemer in https://github.com/kortix-ai/suna/pull/5932
  • chore(dev-eks): deploy gateway dev-6c168ee2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5936
  • chore(dev-eks): deploy dev-6c168ee2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5937
  • chore(dev-eks): deploy gateway dev-58065906 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5938
  • chore(dev-eks): deploy dev-58065906 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5939
  • KaaB: prompt to connect a required connector instead of failing blind by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5935
  • chore(dev-eks): deploy dev-b1b33ff8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5943
  • Reorder the user menu, make Theme a submenu, drop the destructive dropdown variant by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5941
  • Allow agent switches within one session by @markokraemer in https://github.com/kortix-ai/suna/pull/5946
  • chore(dev-eks): deploy dev-5606d63a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5947
  • fix(db,ke2e): unblock the v0.12.0 release gate — credit grant 42501 + database-only session fixture by @markokraemer in https://github.com/kortix-ai/suna/pull/5948
  • chore(dev-eks): deploy dev-1fff69b1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5951
  • fix(ke2e): AUD-5 360s budget; COVD-1 manifest-read retry by @markokraemer in https://github.com/kortix-ai/suna/pull/5953
  • KaaB: gate mid-session prompts on required connectors, and let one be required before it is connected by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5956
  • chore(dev-eks): deploy dev-ad13cc9c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5957
  • Render the connector refusal as a card under the message, not a pill + a self-opening modal by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5961
  • chore(dev-eks): deploy dev-00d53cd1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5962
  • fix(web): Manage-models tab shows "0 of N" — pass useModelStore the opts it needs by @markokraemer in https://github.com/kortix-ai/suna/pull/5963
  • fix(api): use E2B_DOMAIN for template APIs by @markokraemer in https://github.com/kortix-ai/suna/pull/5964
  • chore(dev-eks): deploy dev-1f6ae707 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5965
  • fix(api): unblock self-host E2B snapshot builds by @markokraemer in https://github.com/kortix-ai/suna/pull/5966
  • chore(dev-eks): deploy gateway dev-cf578eb0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5967
  • chore(dev-eks): deploy dev-cf578eb0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5968
  • docs: remove reverted per-project model enablement section by @agent-kortix in https://github.com/kortix-ai/suna/pull/5969
  • fix(api): catch RepoFileNotFoundError in files/content route (BS 5b40ec1a) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5971
  • fix(web): filter Android WebView postEvent setTimeout-captured noise (BS f50ed590) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5972
  • fix(sandboxes): handle provider capacity safely by @markokraemer in https://github.com/kortix-ai/suna/pull/5973
  • chore(dev-eks): deploy dev-5c118dfa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5975
  • fix(web): post-auth signups land in their project, never on /projects by @markokraemer in https://github.com/kortix-ai/suna/pull/5976
  • chore(dev-eks): deploy dev-67cd196e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5978
  • fix(sandbox): preserve capacity retry diagnostics by @markokraemer in https://github.com/kortix-ai/suna/pull/5977
  • Project icons: pick an emoji or a named glyph by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5970
  • chore(dev-eks): deploy gateway dev-f7f38ab8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5979
  • chore(dev-eks): deploy dev-f7f38ab8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5980
  • fix(web): restore sidebar switcher width by @markokraemer in https://github.com/kortix-ai/suna/pull/5982
  • fix(e2b): bound permanent sandbox removal by @markokraemer in https://github.com/kortix-ai/suna/pull/5981
  • chore(dev-eks): deploy dev-b530dbdb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5983
  • fix(self-host): make API memory ceiling configurable by @markokraemer in https://github.com/kortix-ai/suna/pull/5984
  • chore(dev-eks): deploy dev-5f503dc3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5985
  • feat(web): send-to-agent affordance for stopped apps by @agent-kortix in https://github.com/kortix-ai/suna/pull/5987
  • fix(web): move send-to-agent into the AppPreview "Couldn't load" error state by @agent-kortix in https://github.com/kortix-ai/suna/pull/5988
  • feat(web): rebuild the project session list as an everyday list by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5989
  • fix(release): dark US shadow region no longer gates release artifacts by @markokraemer in https://github.com/kortix-ai/suna/pull/5992
  • fix(channels): bind email sessions to configured agents by @markokraemer in https://github.com/kortix-ai/suna/pull/5995
  • fix(sessions): fail fast on provider capacity by @markokraemer in https://github.com/kortix-ai/suna/pull/5993
  • chore(dev-eks): deploy dev-b3d0fd64 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5996
  • fix(release): un-gate the shadow region with valid workflow syntax by @markokraemer in https://github.com/kortix-ai/suna/pull/5998
  • fix(email): enable Executor MCP for channel sessions by @markokraemer in https://github.com/kortix-ai/suna/pull/6000
  • chore(dev-eks): deploy dev-17db263e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6002
  • fix(web): filter Supabase TOKEN_EXPIRED frameless promise rejection noise (BS 63b0cde7) by @agent-kortix in https://github.com/kortix-ai/suna/pull/6003
  • fix(secrets): make session writes visible to agents by @markokraemer in https://github.com/kortix-ai/suna/pull/6005
  • chore(dev-eks): deploy dev-5775ca7d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6006
  • fix(sessions): recover from sandbox provider failures by @markokraemer in https://github.com/kortix-ai/suna/pull/6008
  • chore(dev-eks): deploy dev-98a32526 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6009
  • fix(email): require one canonical sender mailbox by @markokraemer in https://github.com/kortix-ai/suna/pull/6007
  • chore(dev-eks): deploy dev-1e0426d2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/6010

New Contributors

  • @Leonxu6 made their first contribution in https://github.com/kortix-ai/suna/pull/5876

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.10.14...v0.12.1

August 1, 2026

Audit log, session costs, session scope controls, and a rebuilt kortix.com

v0.12.0

New

  • Audit log — every API request and agent action lands in one centralized audit trail. The app gets a project and session audit explorer; the SDK gets reconstruction filters and client attribution.
  • Session costs — one unified cost record per session, and a session cost explorer in billing that shows what each session spent.
  • Session scope controls — new sessions can start with an explicit, opt-in scope over connectors and secrets. Agents can require connector profiles, connector profiles carry an authorization strategy, and denied secrets never enter the sandbox. When a required connector is missing, the session prompts to connect it instead of failing.
  • Answerable approvals — approval prompts show the full tool arguments, and approval policies match on arguments, not just tool names.
  • Automatic session titles — sessions are titled from the first prompt, server-side, on every session-start path.
  • Signup lands in a project — new accounts go straight into a working project, with no blocking provisioning step.
  • Microsoft Teams (experimental) — Teams is available as a per-project experimental channel.
  • Embedding Kortix — per-end-user session caps enforced on create and resume, hardened sandbox isolation between end users, and mid-session re-scoping of secrets and connector bindings.
  • New website — kortix.com rebuilt: home page, Solutions, Security, Self-hosted, Integrations, Channels, Automations, About, Careers, and a public /download page. An accuracy sweep removed claims that were not true and corrected public pricing copy.

Improved

  • The project Files route opens instantly instead of after 5–6 seconds, session transcripts paint from cache instead of waiting on the sandbox VM, the sidebar no longer flickers on cold load, and older history loads by scrolling.
  • Sandboxes have a bounded lifetime that a wedged box cannot escape, and compute is billed against liveness evidence, never wall-clock.
  • Billing is one state machine: running out of credits reads as "out of credits", never "no plan"; one credit-debit function with no wallet-floor bypass; Stripe checkout returns work from any route.
  • Sessions order by last activity, connector profile creation is atomic, and the icon set moved to Phosphor.
  • Managed models group under Kortix in the model picker instead of being split across upstream provider names.

Fixed

  • Gateway: Bedrock adaptive thinking and region-prefix normalization, and the correct base path for standalone OpenAI keys.
  • A broken sandbox template no longer fails the whole template listing.
  • Public file-share links restored across the file and preview surfaces.
  • Signup and sign-in redirects can no longer land in a project the user cannot open.
  • Opening a session with history no longer shows an empty new-session shell, and triggers show as active when they are active.
  • CLI: private and self-hosted API hosts are no longer forced to https, and IPv6 hosts classify correctly.
  • Every /docs route returned 500 after an icon namespace crossed the RSC boundary.
  • Closed public SSH/RDP exposure on a network ACL and added an audit that keeps it closed.

What's Changed

  • feat(sessions): generate session titles from the first prompt via the gateway by @markokraemer in https://github.com/kortix-ai/suna/pull/5733
  • chore(dev-eks): deploy dev-5db7502b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5734
  • fix(sessions): title with the live picked model, not the stale opencode_model by @markokraemer in https://github.com/kortix-ai/suna/pull/5735
  • chore(dev-eks): deploy dev-6b695ee4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5736
  • fix(web): stop ambient voice transcript polling by @markokraemer in https://github.com/kortix-ai/suna/pull/5738
  • refactor(sessions): one title path — delete the OpenCode title machinery by @markokraemer in https://github.com/kortix-ai/suna/pull/5739
  • chore(dev-eks): deploy dev-efdb77c5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5740
  • fix(prod): preserve API deployment selector by @markokraemer in https://github.com/kortix-ai/suna/pull/5737
  • fix(web): remove session voice transcript tab by @markokraemer in https://github.com/kortix-ai/suna/pull/5742
  • feat(models): per-project model enablement, gateway-enforced (backend) by @markokraemer in https://github.com/kortix-ai/suna/pull/5743
  • chore(dev-eks): deploy gateway dev-6e0f8cf0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5744
  • chore(dev-eks): deploy dev-6e0f8cf0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5745
  • fix(release): block mismatched production Supabase auth by @markokraemer in https://github.com/kortix-ai/suna/pull/5747
  • feat(models): wire the model-enablement UI to the server (Manage models + picker) by @markokraemer in https://github.com/kortix-ai/suna/pull/5746
  • chore(dev-eks): deploy dev-d248b8ce [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5748
  • fix(release): carry production Supabase guard to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5750
  • feat(acp): add project-gated multi-harness runtime by @markokraemer in https://github.com/kortix-ai/suna/pull/5749
  • chore(dev-eks): deploy gateway dev-239cda8a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5752
  • chore(dev-eks): deploy dev-239cda8a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5753
  • fix(web): restore public share links across the file and preview surfaces by @markokraemer in https://github.com/kortix-ai/suna/pull/5751
  • chore(dev-eks): deploy dev-8e86e27d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5754
  • fix(security): close public SSH/RDP exposure on the us-east-2 ACL and prevent its return by @markokraemer in https://github.com/kortix-ai/suna/pull/5755
  • test(ke2e): cover the public file-share branch in SESS-13 by @markokraemer in https://github.com/kortix-ai/suna/pull/5756
  • fix(security): make the NACL admin-port audit actually run by @markokraemer in https://github.com/kortix-ai/suna/pull/5757
  • fix(acp): refresh ingress credentials after restart by @markokraemer in https://github.com/kortix-ai/suna/pull/5759
  • chore(dev-eks): deploy dev-35d4063c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5761
  • fix(ci): make drift detection actually run by @markokraemer in https://github.com/kortix-ai/suna/pull/5760
  • docs(sdk): record deployed multi-harness proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5762
  • fix(ci): give drift detection the Cloudflare token it needs to plan by @markokraemer in https://github.com/kortix-ai/suna/pull/5763
  • feat(onboarding): land every signup directly in a project, with no blocking provision by @markokraemer in https://github.com/kortix-ai/suna/pull/5758
  • revert(session-chat): restore the pre-v0.11 transcript rendering by @markokraemer in https://github.com/kortix-ai/suna/pull/5764
  • fix(ci): supply cloudflare_zone_id to the drift plan by @markokraemer in https://github.com/kortix-ai/suna/pull/5765
  • fix(ci): scope drift detection to roots CI can actually plan by @markokraemer in https://github.com/kortix-ai/suna/pull/5766
  • fix(onboarding): bind the remembered-project cookie to its owner by @markokraemer in https://github.com/kortix-ai/suna/pull/5767
  • docs(acp): make Kortix multi-harness documentation complete by @markokraemer in https://github.com/kortix-ai/suna/pull/5768
  • chore(dev-eks): deploy dev-3b3992fb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5769
  • refactor(infra): make Terraform the source of truth for the ECS envs by @markokraemer in https://github.com/kortix-ai/suna/pull/5771
  • Slim the Kortix Starter to a 10-skill artifact floor by @markokraemer in https://github.com/kortix-ai/suna/pull/5770
  • Start only the selected ACP harness and persist boot benchmarks by @markokraemer in https://github.com/kortix-ai/suna/pull/5772
  • docs(compliance): record the open critical IaC finding on the audit role by @markokraemer in https://github.com/kortix-ai/suna/pull/5773
  • chore(dev-eks): deploy gateway dev-81486b61 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5775
  • docs(sdk): record multi-harness docs deployment by @markokraemer in https://github.com/kortix-ai/suna/pull/5774
  • chore(dev-eks): deploy dev-7935cd93 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5777
  • Repair marketplace tests missed by the starter slim-down by @markokraemer in https://github.com/kortix-ai/suna/pull/5776
  • fix(infra): capture the Cloudflare zone id so plans stop proposing DNS churn by @markokraemer in https://github.com/kortix-ai/suna/pull/5778
  • refactor(billing): make Stripe returns route-independent, delete the dead modal chain by @markokraemer in https://github.com/kortix-ai/suna/pull/5779
  • docs(runtime): record live dev Pi latency proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5781
  • chore(security): adopt the last unmanaged IAM roles, retire the dead ones by @markokraemer in https://github.com/kortix-ai/suna/pull/5782
  • ci: cover the ECS environments in drift detection by @markokraemer in https://github.com/kortix-ai/suna/pull/5783
  • fix(models): one answer for "which models does this project offer" by @markokraemer in https://github.com/kortix-ai/suna/pull/5780
  • feat(web): use harness favicons in agent selectors by @markokraemer in https://github.com/kortix-ai/suna/pull/5784
  • chore(sdk): record BillingState in the type-surface snapshot by @markokraemer in https://github.com/kortix-ai/suna/pull/5786
  • fix(models): never prune a managed or configured model from the default set by @markokraemer in https://github.com/kortix-ai/suna/pull/5785
  • fix(db): restore dev migration order by @markokraemer in https://github.com/kortix-ai/suna/pull/5787
  • chore(dev-eks): deploy dev-d55c0bb0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5788
  • chore(dev-eks): deploy dev-16e14971 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5789
  • chore(dev-eks): deploy gateway dev-c59a9181 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5790
  • chore(dev-eks): deploy dev-c59a9181 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5791
  • docs: per-project model enablement, backend.mdx error table + wording by @agent-kortix in https://github.com/kortix-ai/suna/pull/5794
  • feat(secrets): wire the delivery chokepoint — a denied secret never enters the sandbox by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5793
  • chore(dev-eks): deploy dev-ed342859 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5796
  • feat(whitelabel-demo): make every KaaB capability testable from the UI by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5795
  • fix(kaab): a sandbox may not enumerate other end-users' connector profiles by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5797
  • chore(dev-eks): deploy dev-efa9ef71 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5799
  • fix(kaab): enforce the per-end-user session cap on resume, not just create by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5798
  • chore(dev-eks): deploy dev-9a6a8b25 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5800
  • feat(whitelabel-demo): bottom scope bar + live API-call snippets by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5801
  • docs(kaab): END_USER_REF_CONFLICT is a 400, and pin it with a test by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5802
  • chore(dev-eks): deploy dev-47b9add5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5803
  • fix(kaab): prove the WebSocket isolation, add the mode badge and runtime_context by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5804
  • chore(dev-eks): deploy dev-3998a94d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5805
  • feat(whitelabel-demo): gated import of existing account projects by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5806
  • feat(whitelabel-demo): syntax-highlight snippets + cover every KaaB call by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5807
  • feat(kaab): re-scope a running session's secrets and connector bindings by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5808
  • chore(dev-eks): deploy dev-51da6740 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5809
  • feat(kaab): mid-session re-scope in the demo, SDK method, and docs by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5810
  • fix(web): drop Safari generic SecurityError noise (BS 4 patterns, post-v0.11.0) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5811
  • fix(auth): never return sign-in to projects list by @markokraemer in https://github.com/kortix-ai/suna/pull/5814
  • test(ke2e): cover PUT model-enablement route + regen manifest to 527 by @agent-kortix in https://github.com/kortix-ai/suna/pull/5792
  • fix(web): make the sidebar Review pill actually open the Review inbox by @markokraemer in https://github.com/kortix-ai/suna/pull/5815
  • fix(models): lock the default row, refresh without a reload, set the default inline by @markokraemer in https://github.com/kortix-ai/suna/pull/5813
  • fix(web): order reused sessions by last activity by @markokraemer in https://github.com/kortix-ai/suna/pull/5816
  • chore(dev-eks): deploy dev-61910424 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5817
  • docs(perf): preserve session-start evidence and stateful target by @markokraemer in https://github.com/kortix-ai/suna/pull/5818
  • fix(auth): never send a signup to a project it cannot open by @markokraemer in https://github.com/kortix-ai/suna/pull/5819
  • fix(whitelabel-demo): actually let the scope bar re-scope this session by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5820
  • feat(acp): add complete multi-harness starter and auth UX by @markokraemer in https://github.com/kortix-ai/suna/pull/5821
  • chore(dev-eks): deploy dev-452948e8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5824
  • docs(perf): record Platinum repository-image A/B by @markokraemer in https://github.com/kortix-ai/suna/pull/5822
  • chore(dev-eks): deploy gateway dev-22e9259b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5826
  • fix(whitelabel-demo): call the re-scope hook unconditionally by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5825
  • chore(dev-eks): deploy dev-22e9259b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5827
  • chore(dev-eks): deploy gateway dev-d703d0e9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5828
  • chore(dev-eks): deploy dev-d703d0e9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5830
  • fix(whitelabel-demo): un-gate the scope editors that 'changeable' switched off by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5829
  • fix(acp): exempt harness turns from request deadline by @markokraemer in https://github.com/kortix-ai/suna/pull/5831
  • chore(dev-eks): deploy dev-dfa2070d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5832
  • fix(sessions): converge every session-start path on server-side titling by @markokraemer in https://github.com/kortix-ai/suna/pull/5834
  • chore(dev-eks): deploy dev-41d62c4f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5836
  • fix(web): stop the project sidebar flickering on cold load by @markokraemer in https://github.com/kortix-ai/suna/pull/5835
  • fix: reject terminal soft-rate completions by @markokraemer in https://github.com/kortix-ai/suna/pull/5840
  • fix(session): paint the transcript from cache instead of waiting on a VM by @markokraemer in https://github.com/kortix-ai/suna/pull/5837
  • Recover conflicted changes with an agent by @markokraemer in https://github.com/kortix-ai/suna/pull/5839
  • chore(dev-eks): deploy gateway dev-ae00d2ac [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5841
  • chore(dev-eks): deploy dev-ae00d2ac [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5843
  • feat(projects): make the default starter multi-harness by @markokraemer in https://github.com/kortix-ai/suna/pull/5842
  • chore(dev-eks): deploy dev-a7038f49 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5844
  • fix(sdk): isolate preassigned OpenCode session state by @markokraemer in https://github.com/kortix-ai/suna/pull/5846
  • chore(dev-eks): deploy dev-7a7bb4f1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5847
  • fix(sdk): honor inherited OpenCode session defaults by @markokraemer in https://github.com/kortix-ai/suna/pull/5848
  • chore(dev-eks): deploy dev-d6979ad9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5849
  • docs(sdk): record inherited session delivery by @markokraemer in https://github.com/kortix-ai/suna/pull/5850
  • chore(dev-eks): deploy dev-9a226118 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5851
  • fix(web): show triggers as active when they are active by @markokraemer in https://github.com/kortix-ai/suna/pull/5853
  • fix(gateway): require zero usage for soft rate limits by @markokraemer in https://github.com/kortix-ai/suna/pull/5852
  • chore(dev-eks): deploy gateway dev-0c27d730 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5854
  • chore(dev-eks): deploy dev-0c27d730 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5856
  • refactor(session): load older history by scrolling, not by clicking by @markokraemer in https://github.com/kortix-ai/suna/pull/5855
  • ci(api): actually run the kortix-api suite on pull requests by @markokraemer in https://github.com/kortix-ai/suna/pull/5838
  • fix(sandbox): derive the sandbox alert from live provider state, not the build log by @markokraemer in https://github.com/kortix-ai/suna/pull/5858
  • chore(dev-eks): deploy dev-1949db07 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5860
  • fix(session): stop a session with history opening on the empty new-session shell by @markokraemer in https://github.com/kortix-ai/suna/pull/5857
  • fix(executor): accept canonical dotted tool references by @markokraemer in https://github.com/kortix-ai/suna/pull/5859
  • chore(dev-eks): deploy dev-31391b4b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5861
  • test(api): stop partial module mocks from killing whole test files by @markokraemer in https://github.com/kortix-ai/suna/pull/5863
  • chore(dev-eks): deploy dev-d6413c2f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5865
  • feat(executor): make approvals answerable and enforce policy on arguments by @markokraemer in https://github.com/kortix-ai/suna/pull/5862
  • fix(snapshots): attest sandbox CLI artifacts by @markokraemer in https://github.com/kortix-ai/suna/pull/5867
  • chore(dev-eks): deploy gateway dev-4bc30619 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5868
  • fix(sandbox): bound sandbox lifetime — delete three self-granted vetoes, add one column the box cannot forge by @markokraemer in https://github.com/kortix-ai/suna/pull/5845
  • test(api): retarget slash-command + manifest tests at the shipped design by @markokraemer in https://github.com/kortix-ai/suna/pull/5864
  • fix(billing): one credit debit function, no floor bypass for unpaid subs, seat allowance not seat price by @markokraemer in https://github.com/kortix-ai/suna/pull/5869
  • feat: add connector profile authorization and session costs by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5872
  • fix: repair dev migration order by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5873
  • chore(dev-eks): deploy dev-95c1e0ea [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5874
  • fix: refresh session governance before provisioning by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5878
  • chore(dev-eks): deploy dev-37ce0d58 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5879
  • fix(api): fail closed for required connector profiles by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5882
  • chore(dev-eks): deploy dev-3f4fe600 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5883
  • perf(web): make the project Files route open instantly instead of after 5–6s by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5881
  • fix(api): support agent scope for version 3 manifests by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5884
  • chore(dev-eks): deploy dev-c88c94ea [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5885
  • Migrate icon library to Phosphor icons by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5386
  • chore(dev-eks): deploy gateway dev-98e5fd0a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5886
  • chore(dev-eks): deploy dev-98e5fd0a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5887
  • fix(whitelabel): use project connection terminology by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5888
  • fix(web): make sidebar docking instant instead of a 200ms layout morph by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5890
  • content(blog): expand beyond-the-chat-box -- add unique section + outbound links by @agent-kortix in https://github.com/kortix-ai/suna/pull/5889
  • fix(whitelabel): preserve session list shape in mock by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5891
  • chore(connectors): align project connection terminology by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5892
  • chore(dev-eks): deploy dev-536cccf1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5893
  • fix: suppress wallet-extension inpage.js 'No error message' noise (pattern 61949432...) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5894
  • fix: restore OpenCode REST + kortix.yaml v2 as the default runtime, and a session-runtime bug bash by @markokraemer in https://github.com/kortix-ai/suna/pull/5870
  • chore(dev-eks): deploy gateway dev-890095d6 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5895
  • chore(dev-eks): deploy dev-29bac7e1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5897
  • Restore CLI SDK and API contract CI gates by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5899
  • chore(dev-eks): deploy dev-2cfff1e4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5900
  • feat(web): generate connector profile slugs from names by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5896
  • Remove ACP and multi-harness runtime; restore OpenCode REST by @markokraemer in https://github.com/kortix-ai/suna/pull/5901
  • chore(dev-eks): deploy gateway dev-5dc989f9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5902
  • Fix ACP removal migration ordering by @markokraemer in https://github.com/kortix-ai/suna/pull/5903
  • chore(dev-eks): deploy gateway dev-e4052cca [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5904
  • chore(dev-eks): deploy dev-e4052cca [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5905
  • Serve Roobert from one variable font and fix monospace alignment by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5898
  • fix(cli): don't force https on private hosts — self-host reaches its API over container names and LAN addresses by @Leonxu6 in https://github.com/kortix-ai/suna/pull/5876
  • chore(dev-eks): deploy dev-b5ab22b0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5907
  • fix(web): break the async import cycle between file-source and the project-files barrel by @Leonxu6 in https://github.com/kortix-ai/suna/pull/5880
  • fix(sdk): keep the session boot poll running while the tab is in the background by @Leonxu6 in https://github.com/kortix-ai/suna/pull/5875
  • chore(dev-eks): deploy dev-72797256 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5909
  • feat(teams): Teams is a per-project experimental feature, not a server env var by @markokraemer in https://github.com/kortix-ai/suna/pull/5908
  • chore(dev-eks): deploy dev-1647c2ee [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5910
  • fix(web): in-product CLI install command targets the deployment, not kortix.com by @Leonxu6 in https://github.com/kortix-ai/suna/pull/5877
  • refactor(web): Easy panel fit & session info by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5906
  • feat(web): /a1o — standalone die that rolls the Kortix stack by @markokraemer in https://github.com/kortix-ai/suna/pull/5911
  • chore(dev-eks): deploy gateway dev-b631bd9a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5912
  • chore(dev-eks): deploy dev-b631bd9a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5913
  • fix(api): gracefully skip broken sandbox templates instead of failing the full listing by @agent-kortix in https://github.com/kortix-ai/suna/pull/5915
  • chore(dev-eks): deploy dev-d5f531f9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5916
  • fix: suppress injectedScript.bundle.js sendMessage noise from browser extensions by @agent-kortix in https://github.com/kortix-ai/suna/pull/5914
  • Marketing site rebuild, and a sweep of claims that were not true by @markokraemer in https://github.com/kortix-ai/suna/pull/5917
  • test(ke2e): cover audit actor/resource/date-range/search/cursor/limit filters by @agent-kortix in https://github.com/kortix-ai/suna/pull/5481
  • test(ke2e): prove project-scoped PAT cross-project WRITE boundary (TOK-5) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5349
  • Product showcase in both themes, and 2.76 MiB lighter by @markokraemer in https://github.com/kortix-ai/suna/pull/5919
  • Preserve hydrated session content after runtime lookup misses by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5920
  • Improve session access scope selection by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5921
  • fix(connectors): lock the authorization owner after creation by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5922
  • feat(connectors): read-only authorization owner instead of a dead select by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5924
  • feat(audit): centralize reconstructable system activity by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5925
  • chore(dev-eks): deploy dev-9b82d8f1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5926
  • fix(gateway): Bedrock adaptive thinking + region-prefix normalization by @markokraemer in https://github.com/kortix-ai/suna/pull/5927
  • fix: all managed models group under Kortix in the picker, not Anthropic/DeepSeek by @agent-kortix in https://github.com/kortix-ai/suna/pull/5918
  • feat(web): add a public /download page by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5923
  • chore(dev-eks): deploy gateway dev-be2690a5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5930
  • chore(dev-eks): deploy dev-be2690a5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5931
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5929
  • Improve audit event labels and details by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5928
  • fix(tests): drop leftover public routines in db-reset so re-apply matches a fresh DB by @markokraemer in https://github.com/kortix-ai/suna/pull/5933
  • revert(models): remove server-side per-project model enablement by @markokraemer in https://github.com/kortix-ai/suna/pull/5932
  • chore(dev-eks): deploy gateway dev-6c168ee2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5936
  • chore(dev-eks): deploy dev-6c168ee2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5937
  • chore(release): promote main to staging — db-reset harness fix by @markokraemer in https://github.com/kortix-ai/suna/pull/5934
  • chore(dev-eks): deploy gateway dev-58065906 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5938
  • chore(dev-eks): deploy dev-58065906 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5939
  • KaaB: prompt to connect a required connector instead of failing blind by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5935
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5942
  • chore(dev-eks): deploy dev-b1b33ff8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5943
  • Reorder the user menu, make Theme a submenu, drop the destructive dropdown variant by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5941
  • Merge main into staging — user menu reorder (#5941) by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5945
  • Allow agent switches within one session by @markokraemer in https://github.com/kortix-ai/suna/pull/5946
  • chore(dev-eks): deploy dev-5606d63a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5947
  • fix(db,ke2e): unblock the v0.12.0 release gate — credit grant 42501 + database-only session fixture by @markokraemer in https://github.com/kortix-ai/suna/pull/5948
  • chore(dev-eks): deploy dev-1fff69b1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5951
  • chore(release): promote main to staging — v0.12.0 gate unblock by @markokraemer in https://github.com/kortix-ai/suna/pull/5950
  • fix(ke2e): AUD-5 360s budget; COVD-1 manifest-read retry by @markokraemer in https://github.com/kortix-ai/suna/pull/5953
  • chore(release): promote main to staging — final gate fixes (AUD-5, COVD-1) by @markokraemer in https://github.com/kortix-ai/suna/pull/5954
  • Release v0.12.0 — Audit log, session costs, session scope controls, and a rebuilt kortix.com by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5955

New Contributors

  • @Leonxu6 made their first contribution in https://github.com/kortix-ai/suna/pull/5876

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.11.0...v0.12.0

July 28, 2026

Realtime voice, session rewind, warm sessions, and Marketing Department

v0.11.0

New

  • Realtime voice calls use LiveKit Cloud and preserve transcripts and worker tool calls in the session UI.
  • Session rewind restores REST and ACP sessions from a selected message.
  • Warm sessions keep one session available per project to reduce cold-start latency.
  • The Marketing Department template adds campaign, content, lifecycle, growth, and brand agents.
  • Connection policies canonicalize connector aliases and enforce the selected shared connection across grant gates.
  • KaaB isolation restricts session access, sharing, approvals, model changes, executor grants, connector use, and OpenCode proxy access.
  • KaaB spend controls enforce per-end-user limits.
  • Secret Delivery Strategy stage 1 adds the schema, policy layer, and shared egress-policy type.
  • White-label session scope controls add end-user session filtering, connector binding, scope visibility, and a testing guide.

Improved

  • Prompt delivery deduplication releases the claim after a final sandbox-down response. A later retry can recover without duplicating a completed prompt.
  • Session transcripts preserve reasoning and tool-step wire order.
  • Runtime-generated session titles synchronize with the canonical session and web UI.
  • Managed repository provisioning uses deterministic pacing and 13 reusable repositories in the release gate.
  • The release gate runs API lanes in parallel and cleans mutable staging fixtures concurrently.

Fixed

  • Session sharing preserves permission status during warm-session claim races.
  • Sandbox secret injection remains scoped to the active agent.
  • Strict model providers receive normalized message history.
  • readRepoFile returns 404 for a missing Git path.
  • Maintenance mode remains visible during an API outage.
  • Worktree shutdown stops the complete process tree.

Operations

  • US East 2 shadow deployment, database reconciliation, writer activation, and cutover tooling remain disabled.
  • This release does not freeze the EU database or switch production traffic.

What's Changed

  • chore(infra): prepare US East 2 production shadow by @markokraemer in https://github.com/kortix-ai/suna/pull/5447
  • chore(dev-eks): deploy gateway dev-56954737 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5449
  • feat(voice): realtime voice channel on LiveKit (replaces the Recall notetaker) by @markokraemer in https://github.com/kortix-ai/suna/pull/5431
  • fix(web): open LLM manager actions in modal by @markokraemer in https://github.com/kortix-ai/suna/pull/5448
  • fix(web): use canonical SDK voice import by @markokraemer in https://github.com/kortix-ai/suna/pull/5450
  • fix(db): restore voice migration order by @markokraemer in https://github.com/kortix-ai/suna/pull/5452
  • chore(dev-eks): deploy dev-0a1ed173 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5453
  • test(migration): verify source refresh on US Auth by @markokraemer in https://github.com/kortix-ai/suna/pull/5454
  • fix(migration): scope Node SSL mode to database runner by @markokraemer in https://github.com/kortix-ai/suna/pull/5455
  • docs(migration): refresh US shadow evidence by @markokraemer in https://github.com/kortix-ai/suna/pull/5456
  • docs(migration): record production autoscaling by @markokraemer in https://github.com/kortix-ai/suna/pull/5457
  • Make the white-label ACP reference SDK-only by @markokraemer in https://github.com/kortix-ai/suna/pull/5458
  • chore(dev-eks): deploy gateway dev-ceaa7e33 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5459
  • chore(dev-eks): deploy dev-ceaa7e33 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5460
  • Keep ACP sessions on the current daemon snapshot by @markokraemer in https://github.com/kortix-ai/suna/pull/5462
  • chore(dev-eks): deploy dev-aff406f3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5464
  • Fix model provider connection UX by @markokraemer in https://github.com/kortix-ai/suna/pull/5463
  • test(migration): gate US shadow authentication by @markokraemer in https://github.com/kortix-ai/suna/pull/5466
  • Session chat: narrative transcript by default, full history one click away by @markokraemer in https://github.com/kortix-ai/suna/pull/5451
  • fix(sdk): reconcile REST prompts before first event by @markokraemer in https://github.com/kortix-ai/suna/pull/5467
  • test(migration): gate US frontend provider redirects by @markokraemer in https://github.com/kortix-ai/suna/pull/5468
  • chore(dev-eks): deploy gateway dev-ad56e00c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5469
  • chore(release): VERSION → 0.10.16 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5470
  • chore(release): staging VERSION → 0.10.16 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5471
  • chore(dev-eks): deploy gateway dev-c26942d4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5472
  • chore(dev-eks): deploy dev-c26942d4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5473
  • chore(dev-eks): deploy dev-92b337bb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5474
  • feat(projects): keep one warm session ready by @markokraemer in https://github.com/kortix-ai/suna/pull/5475
  • chore(dev-eks): deploy dev-dc6d1c0b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5476
  • fix(sdk): make ACP and REST prompt completion monotonic by @markokraemer in https://github.com/kortix-ai/suna/pull/5477
  • chore(dev-eks): deploy dev-480a44dc [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5478
  • docs(sdk): record B23 deployed completion [skip ci] by @markokraemer in https://github.com/kortix-ai/suna/pull/5479
  • docs: meet->voice channel rename, workspace enforcement by @agent-kortix in https://github.com/kortix-ai/suna/pull/5482
  • content(blog): correct DeepSeek output price $0.30 -> $0.28 by @agent-kortix in https://github.com/kortix-ai/suna/pull/5484
  • test(auth): wait for hydrated login form by @markokraemer in https://github.com/kortix-ai/suna/pull/5485
  • docs: add ACP runtime status quo handoff by @markokraemer in https://github.com/kortix-ai/suna/pull/5488
  • fix(api): stop Sentry-capturing transient Supabase pool exhaustion (BS 721b7efe) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5487
  • chore(dev-eks): deploy dev-c9df628d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5489
  • perf(api): remove turn-stream request amplification by @markokraemer in https://github.com/kortix-ai/suna/pull/5490
  • chore(dev-eks): deploy dev-4f46e3aa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5492
  • chore(dev-eks): deploy gateway dev-47d41d9b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5493
  • chore(dev-eks): deploy dev-69af18f3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5494
  • perf(api): cut sandbox control-plane chatter and ambient-poll latency by @markokraemer in https://github.com/kortix-ai/suna/pull/5491
  • chore(dev-eks): deploy dev-704b9c1b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5497
  • fix(ci): restore starter and voice checks by @markokraemer in https://github.com/kortix-ai/suna/pull/5498
  • docs(sdk): record API latency dev proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5495
  • fix(prod): harden final US East 2 database cutover by @markokraemer in https://github.com/kortix-ai/suna/pull/5496
  • chore(dev-eks): deploy gateway dev-fa525d30 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5499
  • chore(dev-eks): deploy dev-fa525d30 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5501
  • fix(web): pass turn run children as data prop by @markokraemer in https://github.com/kortix-ai/suna/pull/5500
  • chore(dev-eks): deploy dev-ccdce643 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5503
  • fix(billing): reconcile lost per-seat compute windows; make request diagnostics visible in CloudWatch by @markokraemer in https://github.com/kortix-ai/suna/pull/5502
  • chore(dev-eks): deploy dev-afe54ce9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5505
  • fix(maintenance): fail over independently at the edge by @markokraemer in https://github.com/kortix-ai/suna/pull/5504
  • chore(dev-eks): deploy gateway dev-b18ceaa5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5507
  • release: add independent production maintenance failover by @markokraemer in https://github.com/kortix-ai/suna/pull/5506
  • chore(dev-eks): deploy dev-b18ceaa5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5508
  • Release v0.10.16 — Independent maintenance failover by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5509
  • chore(dev-eks): deploy dev-1097dce8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5510
  • chore(dev-eks): deploy dev-d5bc283d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5513
  • fix(sdk): restore staging maintenance transport by @markokraemer in https://github.com/kortix-ai/suna/pull/5512
  • fix(api): stop billing rotations on workerless pods by @markokraemer in https://github.com/kortix-ai/suna/pull/5515
  • chore(dev-eks): deploy dev-efc0036e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5516
  • chore(dev-eks): deploy dev-e8dc428a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5517
  • chore(dev-eks): deploy dev-6a1ff05b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5518
  • fix(use2): clean recovery flow state after smoke by @markokraemer in https://github.com/kortix-ai/suna/pull/5519
  • chore(dev-eks): deploy dev-8189da8a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5520
  • fix(secrets): scope sandbox secret injection to the agent that actually runs by @markokraemer in https://github.com/kortix-ai/suna/pull/5514
  • chore(dev-eks): deploy dev-7d0aae0b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5521
  • docs(secrets): spec network-boundary secret delivery policy by @markokraemer in https://github.com/kortix-ai/suna/pull/5522
  • Fix US migration smoke billing cleanup by @markokraemer in https://github.com/kortix-ai/suna/pull/5523
  • Release US worker isolation guard to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5524
  • Fix frontend migration smoke Auth flow cleanup by @markokraemer in https://github.com/kortix-ai/suna/pull/5525
  • chore(dev-eks): deploy dev-43fd93cd [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5526
  • chore(dev-eks): deploy dev-d7dc3622 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5527
  • chore(dev-eks): deploy dev-5051d9cb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5528
  • fix(use2): harden US shadow session readiness by @markokraemer in https://github.com/kortix-ai/suna/pull/5529
  • chore(dev-eks): deploy dev-5c0ae97e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5530
  • test(use2): wait for selected warm agent by @markokraemer in https://github.com/kortix-ai/suna/pull/5531
  • chore(dev-eks): deploy dev-8d6a7876 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5532
  • fix(sdk): preserve project agent selection by @markokraemer in https://github.com/kortix-ai/suna/pull/5533
  • chore(dev-eks): deploy dev-ee45f55f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5534
  • docs(sdk): record US session readiness proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5535
  • chore(dev-eks): deploy dev-36432e59 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5536
  • ops: add US shadow reconciliation workflow by @markokraemer in https://github.com/kortix-ai/suna/pull/5537
  • fix(ops): scope Supabase CLI prerequisite by @markokraemer in https://github.com/kortix-ai/suna/pull/5538
  • fix(ops): use US shadow reconciliation role by @markokraemer in https://github.com/kortix-ai/suna/pull/5539
  • fix(web): break setSessionAgentName React #185 render loop (BS 351da943) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5540
  • fix(web): guard marketing-site scrollTo against non-scrollable ref (BS a0000df8) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5542
  • fix(scheduler): dispatch cron slots exactly by @markokraemer in https://github.com/kortix-ai/suna/pull/5543
  • chore(dev-eks): deploy gateway dev-974c699e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5544
  • chore(dev-eks): deploy dev-974c699e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5545
  • fix(scheduler): bound catalog retries after backfill by @markokraemer in https://github.com/kortix-ai/suna/pull/5546
  • chore(dev-eks): deploy dev-1cd087aa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5547
  • release(scheduler): promote exact cron dispatch to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5548
  • docs: trigger scheduler cadence, execution lease interval, voice opt-in, voiceTranscript by @agent-kortix in https://github.com/kortix-ai/suna/pull/5550
  • fix(security): scope AgentMail inbox takeover delete + ownership gate (pentest 2026-07-27) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5551
  • chore(dev-eks): deploy dev-bf90f44e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5553
  • fix(security): do not expose DOTENV_PRIVATE_KEY to PR-triggered test jobs (CI-DK) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5552
  • feat: multiple connections per connector (team + personal) with a connections list by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5556
  • feat(web): make team-shared vs private-to-me connections unmistakable by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5554
  • chore(dev-eks): deploy dev-52dc62cc [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5557
  • feat(kaab): required connectors — run as the user's own connection, gate if unconnected, admin roster by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5366
  • fix(kaab): make KORTIX_ORIGIN_REF unforgeable + document origin_ref honestly by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5558
  • chore(dev-eks): deploy dev-64250043 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5560
  • fix(kaab): require_connectors picks the member's default connection, skips revoked by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5559
  • chore(dev-eks): deploy dev-e88526c6 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5562
  • fix(kaab): re-land connectors_personal onto main (#5370 merged into its base branch, not main) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5561
  • chore(dev-eks): deploy dev-170b4b14 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5563
  • fix(seo): stop garbled brand snippet — render KortixLetterField as SVG background-image by @agent-kortix in https://github.com/kortix-ai/suna/pull/5555
  • feat(kaab): set connectors_personal from the agent-scope API (with subset pruning) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5564
  • chore(dev-eks): deploy dev-f9a5d420 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5566
  • fix(kaab): agent editor could not save any project using connectors_personal by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5565
  • chore(dev-eks): deploy dev-55663e3b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5568
  • feat(web): per-connector 'personal' toggle in the agent editor by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5567
  • feat(kaab): per-end-user usage metering (origin_ref on usage_events) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5569
  • feat(kaab): per-end-user concurrency cap + restore the lost account-active index by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5570
  • chore(dev-eks): deploy dev-7824a618 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5571
  • feat(web): per-connection IDs + tabbed connector detail by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5572
  • fix(permissions): surface project-rule overrides + feat(billing): per-end-user spend by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5573
  • chore(dev-eks): deploy dev-12da8c76 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5575
  • fix(web): drop iOS WebView WebKit-bridge messageHandlers noise (BS 5b94212b) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5574
  • fix(security): KaaB cross-end-user session access + revoked-secret re-injection by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5577
  • chore(dev-eks): deploy dev-f4a968f6 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5580
  • feat(permissions): per-connection tool permissions by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5579
  • chore(dev-eks): deploy dev-8a344cdb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5582
  • fix(test): un-dark two suites (0 → 76 tests) + Permissions discoverability by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5583
  • chore(dev-eks): deploy dev-25051973 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5585
  • ops: guard final US East 2 cutover by @markokraemer in https://github.com/kortix-ai/suna/pull/5584
  • chore(release): merge latest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5588
  • feat(api): rename origin_ref → end_user_ref (origin_ref kept as permanent alias) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5586
  • fix(voice): keep worker bearer out of room metadata by @markokraemer in https://github.com/kortix-ai/suna/pull/5589
  • ops: support candidate tags in US shadow by @markokraemer in https://github.com/kortix-ai/suna/pull/5590
  • fix(cli,api): kortix ship pushes through the git proxy, not an unexportable token by @markokraemer in https://github.com/kortix-ai/suna/pull/5591
  • chore(dev-eks): deploy dev-96c8d84a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5596
  • fix: update staging security dependencies by @markokraemer in https://github.com/kortix-ai/suna/pull/5595
  • chore(release): reconcile latest main with staging hotfix by @markokraemer in https://github.com/kortix-ai/suna/pull/5593
  • feat(api): change a session's model mid-flight by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5592
  • chore(dev-eks): deploy dev-bd3ae3c1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5597
  • fix(test): validate every decorative landing element by @markokraemer in https://github.com/kortix-ai/suna/pull/5601
  • fix(test): validate every decorative landing element by @markokraemer in https://github.com/kortix-ai/suna/pull/5602
  • fix(sdk): preserve ACP message turn boundaries by @markokraemer in https://github.com/kortix-ai/suna/pull/5603
  • fix(migration): reconcile shadow credit ledger rows by @markokraemer in https://github.com/kortix-ai/suna/pull/5604
  • feat(whitelabel-demo): Kortix-as-a-Backend support end to end by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5599
  • fix: never re-queue a create whose failure was already returned to the caller by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5606
  • fix(migration): preserve replication backlog ownership by @markokraemer in https://github.com/kortix-ai/suna/pull/5607
  • fix(migration): reconcile shadow credit ledger rows by @markokraemer in https://github.com/kortix-ai/suna/pull/5605
  • chore(release): sync newest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5600
  • fix: one canonical connector alias across all three grant gates by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5609
  • chore(dev-eks): deploy dev-a6b3fd68 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5611
  • test: prove KaaB session isolation at the list leg by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5610
  • chore(dev-eks): deploy dev-65c707d4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5613
  • feat(whitelabel-demo): pick which shared connection a session runs as by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5612
  • fix(gateway): normalize malformed message history so strict providers accept it by @markokraemer in https://github.com/kortix-ai/suna/pull/5608
  • chore(dev-eks): deploy gateway dev-7b77515d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5616
  • chore(release): sync latest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5615
  • chore(release): sync newest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5617
  • chore(dev-eks): deploy dev-7b77515d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5618
  • chore(release): sync exact current main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5620
  • feat(sessions): add message-based rewind for REST and ACP by @markokraemer in https://github.com/kortix-ai/suna/pull/5619
  • chore(dev-eks): deploy dev-9e90e8ed [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5621
  • chore(release): sync exact latest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5622
  • Add Marketing Department project template by @lillyboga in https://github.com/kortix-ai/suna/pull/5578
  • chore(dev-eks): deploy gateway dev-e548c6a8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5625
  • chore(dev-eks): deploy dev-e548c6a8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5626
  • chore(release): sync final latest main into staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5627
  • fix(release): harden US cutover readiness by @markokraemer in https://github.com/kortix-ai/suna/pull/5623
  • chore(dev-eks): deploy gateway dev-79c208aa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5628
  • chore(release): include latest production cutover hardening by @markokraemer in https://github.com/kortix-ai/suna/pull/5629
  • docs(sdk): record deployed session rewind proof by @markokraemer in https://github.com/kortix-ai/suna/pull/5630
  • chore(dev-eks): deploy dev-49dc74f4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5632
  • fix(tests): use one Playwright runtime for US smoke by @markokraemer in https://github.com/kortix-ai/suna/pull/5631
  • chore(dev-eks): deploy gateway dev-83984378 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5634
  • chore(dev-eks): deploy dev-83984378 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5635
  • Fix ACP final idle state and add ?acp override by @markokraemer in https://github.com/kortix-ai/suna/pull/5636
  • chore(dev-eks): deploy dev-76b4cb98 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5637
  • fix(release): pace managed repository provisioning by @markokraemer in https://github.com/kortix-ai/suna/pull/5638
  • Heal corrupt git mirror cache entries by @lillyboga in https://github.com/kortix-ai/suna/pull/5641
  • chore(dev-eks): deploy dev-256230d1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5642
  • fix(release): isolate mutable IAM and session flows by @markokraemer in https://github.com/kortix-ai/suna/pull/5640
  • Fix CodeQL secure temporary file gate by @markokraemer in https://github.com/kortix-ai/suna/pull/5644
  • chore(dev-eks): deploy dev-022f666d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5645
  • Release candidate: promote latest main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5643
  • Fix release pacing unit-test environment by @markokraemer in https://github.com/kortix-ai/suna/pull/5646
  • Release candidate: fix release pacing test environment by @markokraemer in https://github.com/kortix-ai/suna/pull/5647
  • fix(sessions): sync runtime-generated titles by @markokraemer in https://github.com/kortix-ai/suna/pull/5648
  • chore(dev-eks): deploy dev-b8e1e75b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5649
  • Release candidate: include latest session title synchronization by @markokraemer in https://github.com/kortix-ai/suna/pull/5650
  • test(sessions): wait for web readiness in title sync flow by @markokraemer in https://github.com/kortix-ai/suna/pull/5651
  • Release candidate: sync test-only session title wait by @markokraemer in https://github.com/kortix-ai/suna/pull/5654
  • fix(worktree): stop process trees, not port listeners by @markokraemer in https://github.com/kortix-ai/suna/pull/5653
  • fix(api): return 404 for readRepoFile git-show path-not-found (BS a8d20288) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5652
  • chore(dev-eks): deploy dev-985b7db0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5655
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5656
  • chore(dev-eks): deploy dev-cd5f4513 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5659
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5660
  • test(ke2e): reuse Git fixtures and split live lanes by @markokraemer in https://github.com/kortix-ai/suna/pull/5658
  • chore(release): promote optimized ke2e gate to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5661
  • test(ke2e): honor gateway Retry-After by @markokraemer in https://github.com/kortix-ai/suna/pull/5662
  • chore(release): promote Retry-After gate fix to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5663
  • feat(runtime): add ACP CLI harness processes by @markokraemer in https://github.com/kortix-ai/suna/pull/5665
  • chore(dev-eks): deploy gateway dev-d87349a9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5666
  • chore(dev-eks): deploy dev-d87349a9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5667
  • docs: connectors_personal manifest field, changeModel SDK method, auth-type enum, runtimeTransport option by @agent-kortix in https://github.com/kortix-ai/suna/pull/5668
  • test(ke2e): bound release gate load by @markokraemer in https://github.com/kortix-ai/suna/pull/5669
  • chore(release): promote latest main and bounded ke2e gate by @markokraemer in https://github.com/kortix-ai/suna/pull/5670
  • fix(runtime): pin Pi internal dependencies by @markokraemer in https://github.com/kortix-ai/suna/pull/5671
  • chore(dev-eks): deploy gateway dev-1b4db8f8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5672
  • chore(dev-eks): deploy dev-1b4db8f8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5674
  • chore(release): include latest Pi runtime fix in staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5673
  • docs: narrow the e2e-preview-proxy failures to a harness question by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5614
  • fix(runtime): install Pi with npm by @markokraemer in https://github.com/kortix-ai/suna/pull/5675
  • chore(dev-eks): deploy gateway dev-5762bcfc [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5677
  • chore(dev-eks): deploy dev-5762bcfc [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5678
  • feat(whitelabel-demo): show what a running session can and cannot change by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5676
  • chore(dev-eks): deploy gateway dev-dda51b0b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5680
  • chore(release): final main cutoff for v0.11.0 staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5679
  • chore(dev-eks): deploy dev-dda51b0b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5681
  • docs: the apps/api suite has no CI key — proven, and my earlier fix retracted by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5682
  • fix(security): session sharing was exempt from the KaaB isolation narrowing by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5683
  • chore(dev-eks): deploy dev-cb5bb899 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5685
  • fix(security): bind turn-question to the sandbox token's own session by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5686
  • chore(dev-eks): deploy dev-8bfb1096 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5690
  • fix(security): never widen an agent grant on a manifest error; canonicalize the v2 default by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5687
  • fix(gateway): fail over stalled model streams by @markokraemer in https://github.com/kortix-ai/suna/pull/5689
  • chore(dev-eks): deploy gateway dev-9ac237f1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5692
  • chore(dev-eks): deploy dev-9ac237f1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5693
  • fix(security): redact session content on rows the caller cannot access by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5688
  • docs: correct the KaaB docs against the code, and document what shipped by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5691
  • fix(whitelabel-demo): make KaaB refusals reachable, and stop silent sends by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5694
  • fix(security): an agent must never resolve its own approval by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5684
  • chore(dev-eks): deploy dev-57e081c0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5696
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5695
  • feat(kaab): filter the session list by end_user_ref by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5697
  • chore(dev-eks): deploy dev-7f51c831 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5699
  • feat(kaab): re-mint the session token grant on a mid-session agent switch by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5698
  • chore(dev-eks): deploy dev-fd6fa64b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5701
  • fix(kaab): revoke a session's executor tokens when its sandbox is gone by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5700
  • fix(ke2e): reuse managed project on staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5702
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5703
  • feat(kaab): per-end-user spend cap by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5704
  • chore(dev-eks): deploy dev-0f390c6c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5706
  • docs: verified baseline of secret exposure inside the sandbox by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5705
  • fix(ke2e): bound stale-user cleanup by @markokraemer in https://github.com/kortix-ai/suna/pull/5707
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5709
  • perf(ke2e): query stale users directly by @markokraemer in https://github.com/kortix-ai/suna/pull/5711
  • fix(ke2e): require strict TLS for GC database by @markokraemer in https://github.com/kortix-ai/suna/pull/5714
  • content(blog): differentiate agi-ready-architecture manifest from introducing-kortix by @agent-kortix in https://github.com/kortix-ai/suna/pull/5712
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5713
  • fix(ke2e): preserve claimed warm-session metadata by @markokraemer in https://github.com/kortix-ai/suna/pull/5716
  • fix(api): preserve public-share permission status by @markokraemer in https://github.com/kortix-ai/suna/pull/5717
  • chore(dev-eks): deploy dev-fe9c7bfe [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5718
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5719
  • feat(secrets): secret delivery strategy — design + pure policy layer by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5708
  • fix(whitelabel-demo): refuse encoded-slash path traversal in the BFF proxy by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5710
  • fix(kaab): two critical regressions in my own isolation work by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5715
  • chore(release): promote latest main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5720
  • chore(dev-eks): deploy dev-b217ced8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5721
  • fix(kaab): gate opencode :4096 on session visibility, not just :8000 by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5722
  • chore(dev-eks): deploy dev-e5e934f4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5723
  • chore(release): promote current main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5725
  • feat(secrets): SDS stage 1 — schema + policy layer, one shared egress-policy type by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5724
  • chore(dev-eks): deploy dev-ff0e36fa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5726
  • fix(sandbox-proxy): release prompt dedupe claim when delivery provably failed by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5271
  • chore(dev-eks): deploy dev-be05b2ca [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5727
  • feat(whitelabel-demo): session scope controls, connector binding, and a testing guide by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5728
  • chore(release): freeze v0.11.0 source at 3729edc1 by @markokraemer in https://github.com/kortix-ai/suna/pull/5730
  • chore(release): promote latest main to staging by @markokraemer in https://github.com/kortix-ai/suna/pull/5729
  • Release v0.11.0 — Realtime voice, session rewind, warm sessions, and Marketing Department by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5732

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.10.15...v0.11.0

July 25, 2026

Scheduler reliability and webhook freshness

v0.10.15

Bound scheduler fleet work, catalog trigger projects, refresh webhook manifests safely, and rate-limit forced manifest refreshes. Source is the targeted staging candidate from PR #5461.

What's Changed

  • chore(dev-eks): deploy dev-a21799e8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5385
  • fix(connectors): expose OAuth2 during creation by @markokraemer in https://github.com/kortix-ai/suna/pull/5389
  • refactor(web): enforce SDK-only backend boundary by @markokraemer in https://github.com/kortix-ai/suna/pull/5388
  • chore(dev-eks): deploy dev-ae967fdb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5390
  • chore(dev-eks): deploy dev-07f28dd0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5391
  • fix(dev): preserve API WebSocket upgrades by @markokraemer in https://github.com/kortix-ai/suna/pull/5392
  • chore(dev-eks): deploy gateway dev-8688b849 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5393
  • chore(dev-eks): deploy dev-8688b849 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5394
  • test(sdk): close SDK-only frontend delivery by @markokraemer in https://github.com/kortix-ai/suna/pull/5395
  • chore(dev-eks): deploy dev-f2929a4d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5396
  • fix(llm-gateway): forward prompt cache writes by @markokraemer in https://github.com/kortix-ai/suna/pull/5397
  • chore(dev-eks): deploy gateway dev-463d4241 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5398
  • chore(dev-eks): deploy dev-463d4241 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5399
  • Fix session history pagination scroll restoration by @markokraemer in https://github.com/kortix-ai/suna/pull/5400
  • chore(dev-eks): deploy dev-76de546c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5401
  • fix(whitelabel): prevent zstd proxy corruption by @markokraemer in https://github.com/kortix-ai/suna/pull/5402
  • feat(integrations): add provider-independent authentication lifecycle by @markokraemer in https://github.com/kortix-ai/suna/pull/5403
  • chore(dev-eks): deploy dev-00bc2906 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5404
  • chore(dev-eks): deploy dev-8a124988 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5406
  • chore(db): prepare us-west-2 Supabase target by @markokraemer in https://github.com/kortix-ai/suna/pull/5405
  • chore(dev-eks): deploy dev-dceea2ed [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5407
  • fix(gateway): make managed billing exact and auditable by @markokraemer in https://github.com/kortix-ai/suna/pull/5408
  • chore(dev-eks): deploy gateway dev-29675b2d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5412
  • fix(web): guard PoliciesPanel against missing policies field (BS 236e88fb) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5410
  • chore(dev-eks): deploy dev-29675b2d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5413
  • feat(infra): prepare US West 2 production shadow by @markokraemer in https://github.com/kortix-ai/suna/pull/5414
  • chore(dev-eks): deploy gateway dev-e58faa6c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5417
  • feat(acp): add OpenCode-only runtime canary by @markokraemer in https://github.com/kortix-ai/suna/pull/5415
  • chore(dev-eks): deploy dev-3a45ab55 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5419
  • fix(infra): repair US shadow deploy and reconciliation by @markokraemer in https://github.com/kortix-ai/suna/pull/5418
  • chore(dev-eks): deploy gateway dev-f8968d3e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5420
  • chore(dev-eks): deploy dev-f8968d3e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5421
  • docs: OAuth2 lifecycle, connector auth-type enum, transport-throw retry, example 09 by @agent-kortix in https://github.com/kortix-ai/suna/pull/5422
  • test(acp): harden deployed canary verification by @markokraemer in https://github.com/kortix-ai/suna/pull/5423
  • chore(dev-eks): deploy dev-93f21e9c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5424
  • fix(sdk): keep ACP event streams alive by @markokraemer in https://github.com/kortix-ai/suna/pull/5425
  • content(docs): add persistent "Get started" CTA to docs nav rail by @agent-kortix in https://github.com/kortix-ai/suna/pull/5426
  • chore(dev-eks): deploy gateway dev-ed7d992f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5427
  • chore(dev-eks): deploy dev-ed7d992f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5428
  • test(acp): detach reconnect from Playwright routing by @markokraemer in https://github.com/kortix-ai/suna/pull/5429
  • perf(boot): attribute and cut session-boot latency (removes Platinum's ~7s clone) by @markokraemer in https://github.com/kortix-ai/suna/pull/5409
  • chore(dev-eks): deploy dev-3d649159 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5430
  • fix(web): restore LLM management navigation by @markokraemer in https://github.com/kortix-ai/suna/pull/5432
  • fix(sdk): serialize ACP sends across runtime restarts by @markokraemer in https://github.com/kortix-ai/suna/pull/5433
  • chore(dev-eks): deploy dev-aedb8c16 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5434
  • Fix false Load older messages control by @markokraemer in https://github.com/kortix-ai/suna/pull/5435
  • chore(dev-eks): deploy dev-85ae91df [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5436
  • fix(web): clarify LLM provider connection flow by @markokraemer in https://github.com/kortix-ai/suna/pull/5437
  • Fix trigger scheduler fleet scans by @markokraemer in https://github.com/kortix-ai/suna/pull/5438
  • fix(audit): add actor / search / date-range / resource filters to account audit log by @agent-kortix in https://github.com/kortix-ai/suna/pull/5383
  • test(e2e): wait for REST model readiness by @markokraemer in https://github.com/kortix-ai/suna/pull/5440
  • chore(dev-eks): deploy dev-db2519b5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5442
  • fix(web): guard session-page .slice() against null value (BS e6d0e044) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5439
  • fix(staging): keep API router on EKS by @markokraemer in https://github.com/kortix-ai/suna/pull/5441
  • fix: refresh webhook trigger manifests by @markokraemer in https://github.com/kortix-ai/suna/pull/5443
  • chore(dev-eks): deploy dev-f9132a97 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5444
  • fix(web): restore compact LLM provider modal by @markokraemer in https://github.com/kortix-ai/suna/pull/5445
  • chore(infra): prepare US East 2 production shadow by @markokraemer in https://github.com/kortix-ai/suna/pull/5447
  • chore(dev-eks): deploy gateway dev-56954737 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5449
  • feat(voice): realtime voice channel on LiveKit (replaces the Recall notetaker) by @markokraemer in https://github.com/kortix-ai/suna/pull/5431
  • fix(web): open LLM manager actions in modal by @markokraemer in https://github.com/kortix-ai/suna/pull/5448
  • fix(web): use canonical SDK voice import by @markokraemer in https://github.com/kortix-ai/suna/pull/5450
  • fix(db): restore voice migration order by @markokraemer in https://github.com/kortix-ai/suna/pull/5452
  • chore(dev-eks): deploy dev-0a1ed173 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5453
  • test(migration): verify source refresh on US Auth by @markokraemer in https://github.com/kortix-ai/suna/pull/5454
  • fix(migration): scope Node SSL mode to database runner by @markokraemer in https://github.com/kortix-ai/suna/pull/5455
  • docs(migration): refresh US shadow evidence by @markokraemer in https://github.com/kortix-ai/suna/pull/5456
  • docs(migration): record production autoscaling by @markokraemer in https://github.com/kortix-ai/suna/pull/5457
  • Make the white-label ACP reference SDK-only by @markokraemer in https://github.com/kortix-ai/suna/pull/5458
  • chore(dev-eks): deploy gateway dev-ceaa7e33 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5459
  • chore(dev-eks): deploy dev-ceaa7e33 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5460
  • Keep ACP sessions on the current daemon snapshot by @markokraemer in https://github.com/kortix-ai/suna/pull/5462
  • chore(dev-eks): deploy dev-aff406f3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5464
  • Fix model provider connection UX by @markokraemer in https://github.com/kortix-ai/suna/pull/5463
  • test(migration): gate US shadow authentication by @markokraemer in https://github.com/kortix-ai/suna/pull/5466
  • Session chat: narrative transcript by default, full history one click away by @markokraemer in https://github.com/kortix-ai/suna/pull/5451
  • fix(sdk): reconcile REST prompts before first event by @markokraemer in https://github.com/kortix-ai/suna/pull/5467
  • test(migration): gate US frontend provider redirects by @markokraemer in https://github.com/kortix-ai/suna/pull/5468
  • chore(dev-eks): deploy gateway dev-ad56e00c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5469

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.10.14...v0.10.15

July 24, 2026

Session provisioning, sandbox runtime, and release reliability

v0.10.14
  • Use shared Daytona and Platinum runtime images for normal session boots.
  • Disable automatic per-project commit-specific warm image builds.
  • Fix snapshot collision recovery, warm archive handling, and repository Git metadata.
  • Preserve sandbox URLs and reset readiness clocks across session restarts.
  • Add responsive Cmd+J loading feedback and clearer runtime versus accelerator status.
  • Remove the missing MACHINE.md failure and legacy migration eligibility request noise.
  • Refactor release session fixtures to reuse managed repositories, bound SESS-2 to one session, and enforce teardown.
  • Retry transient runtime-readiness failures without leaving failed sessions.
  • Enforce account concurrent-session overrides consistently across API tasks.
  • Correct compute pricing calculations and billing copy.
  • Promote verified staging source d4f665abe258513bb1f48a6606f59c48dbfac835; staging RUN-8 and SESS-2 passed 2/2.

What's Changed

  • chore(release): VERSION → 0.10.14 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5135
  • Privileged project session inventory by @markokraemer in https://github.com/kortix-ai/suna/pull/5137
  • chore(dev-eks): deploy dev-e01813bc [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5138
  • Bind owner-scoped connector profiles at session start by @markokraemer in https://github.com/kortix-ai/suna/pull/5139
  • chore(dev-eks): deploy dev-68cc137c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5140
  • fix(billing): show top-up, not the Free-plan pitch, when a Team wallet is out of credits by @markokraemer in https://github.com/kortix-ai/suna/pull/5141
  • chore(dev-eks): deploy dev-d99ed30c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5142
  • Revert owner-scoped connector profile bindings (#5139) by @markokraemer in https://github.com/kortix-ai/suna/pull/5143
  • chore(dev-eks): deploy dev-1d613936 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5145
  • fix(runtime): disable passive continuation globally by @markokraemer in https://github.com/kortix-ai/suna/pull/5148
  • chore(dev-eks): deploy dev-5696de72 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5150
  • chore(runtime): remove passive continuation residue by @markokraemer in https://github.com/kortix-ai/suna/pull/5151
  • chore(dev-eks): deploy dev-7acd1a04 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5153
  • chore(dev-eks): deploy dev-d5746cc3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5155
  • fix(api): harden owner-scoped connector profiles by @markokraemer in https://github.com/kortix-ai/suna/pull/5156
  • chore(dev-eks): deploy dev-5c02647b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5157
  • chore(dev-eks): deploy dev-aa78c3e4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5158
  • chore(dev-eks): deploy dev-2367c80d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5159
  • chore(dev-eks): deploy dev-527590d3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5160
  • chore(deps): bump github/codeql-action/upload-sarif from 4.37.0 to 4.37.1 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/5122
  • chore(deps): bump actions/setup-node from 4 to 7 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/5121
  • chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/5120
  • test(ke2e): add TRG-11/12/13 triggers edge cases (authz, validation, activation lifecycle) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5162
  • fix(schema): regenerate stale snapshots after WhatsApp/Meet channel work by @agent-kortix in https://github.com/kortix-ai/suna/pull/5164
  • chore(deps): bump pillow to 12.3.0 + regenerate embedded snapshot by @agent-kortix in https://github.com/kortix-ai/suna/pull/5161
  • chore(deps): bump stale security override pins (axios, hono, js-yaml, protobufjs, brace-expansion) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5163
  • chore(dev-eks): deploy gateway dev-2ce865cd [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5166
  • chore(dev-eks): deploy dev-2ce865cd [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5169
  • chore(deps): bump stale security override pins batch 2 (svgo, fast-uri, dompurify, @opentelemetry/propagator-jaeger) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5168
  • chore(dev-eks): deploy gateway dev-7c6bb92a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5170
  • chore(dev-eks): deploy dev-7c6bb92a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5171
  • seo(aeo): populate last_modified for docs + marketing in /api/ai by @agent-kortix in https://github.com/kortix-ai/suna/pull/5165
  • fix(web): filter Firefox Paper Shaders null-context getSupportedExtensions noise by @agent-kortix in https://github.com/kortix-ai/suna/pull/5172
  • fix(web): match capitalized 'Window' storage SecurityError noise (BS 89b0a8e8…/b6927c9d…) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5173
  • fix(web): suppress Sentry 10.x 'No error message' placeholder chunk noise (BS 141dcca3/19ee7c2f) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5174
  • fix(ops): stop audit_events count from 500-ing /ops/overview + index it by @agent-kortix in https://github.com/kortix-ai/suna/pull/5176
  • chore(dev-eks): deploy dev-b8cdbb8f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5177
  • fix(api): classify Daytona 429 out of Sentry across ALL call sites (ec26b248…) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5167
  • chore(dev-eks): deploy dev-1379e492 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5178
  • fix(api): classify Daytona transient 502/gateway failures out of Sentry (e98d61f1…) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5175
  • chore(dev-eks): deploy dev-c17ab86a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5179
  • chore(dev-eks): deploy dev-8d437e92 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5184
  • Prompt delivery reliability: durable trigger delivery, loud dead-letters that self-heal, undelivered-prompt reconciler, restart hardening by @markokraemer in https://github.com/kortix-ai/suna/pull/5180
  • chore(dev-eks): deploy dev-3c297bae [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5186
  • fix(web): filter Android WebView native-bridge postEvent noise (Java object is gone) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5181
  • fix(web): classify userscript-manager JSON.parse noise out of Sentry (BS 2249441898…) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5182
  • fix(web/sdk): classify expected no-compaction-model state out of Sentry (BS 9f72dd9a…) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5183
  • fix(web): filter Firefox React #327 scheduler re-entrancy noise (BS 0f03b24eb6) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5185
  • chore(dev-eks): deploy dev-1d002535 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5187
  • fix(api): normalize path-only Bun req.url from no-Host scanner probes (BS 28e9a65c…) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5188
  • chore(dev-eks): deploy dev-72cb5e7b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5189
  • chore(dev-eks): deploy dev-f72ff258 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5190
  • chore(dev-eks): deploy dev-4fe8c59e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5191
  • chore(dev-eks): deploy dev-6227dead [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5192
  • fix(snapshots): stop the sandbox-template rebuild storm + Daytona 429 feedback loop by @markokraemer in https://github.com/kortix-ai/suna/pull/5193
  • chore(dev-eks): deploy dev-359de189 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5194
  • docs: journey-based rebuild in controlled Simplified Technical English by @markokraemer in https://github.com/kortix-ai/suna/pull/5195
  • chore(dev-eks): deploy dev-89637e9b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5197
  • chore(dev-eks): deploy dev-1334bac5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5198
  • fix(web): filter Sentry non-Error undefined promise rejection noise (BS 5cfc90e5) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5200
  • feat(api): session origin + canOverride gate for backend-vouched sessions by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5147
  • chore(dev-eks): deploy dev-4a6e8fdf [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5202
  • fix(runtime): route explicit models through Kortix gateway by @markokraemer in https://github.com/kortix-ai/suna/pull/5208
  • chore(dev-eks): deploy dev-c75d3a67 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5209
  • chore(dev-eks): deploy dev-9db97511 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5211
  • feat(web): support standard LaTeX markdown delimiters by @markokraemer in https://github.com/kortix-ai/suna/pull/5213
  • fix(billing): out-of-credits UX — real balance, valid success URL, on-brand modal, confetti by @markokraemer in https://github.com/kortix-ai/suna/pull/5146
  • chore(dev-eks): deploy gateway dev-ea017504 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5217
  • chore(dev-eks): deploy dev-ea017504 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5219
  • fix: reduce dev project load latency by @markokraemer in https://github.com/kortix-ai/suna/pull/5220
  • chore(dev-eks): deploy dev-696a7479 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5224
  • Non-duplicating prompt delivery + accurate session status label by @markokraemer in https://github.com/kortix-ai/suna/pull/5222
  • chore(dev-eks): deploy dev-9d45d93b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5227
  • feat(web): publish agent discovery endpoints by @markokraemer in https://github.com/kortix-ai/suna/pull/5229
  • fix(security): resolve critical and high scan findings by @markokraemer in https://github.com/kortix-ai/suna/pull/5228
  • chore(dev-eks): deploy gateway dev-812c26ec [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5230
  • chore(dev-eks): deploy dev-812c26ec [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5231
  • fix(web): preserve agent discovery link headers by @markokraemer in https://github.com/kortix-ai/suna/pull/5234
  • fix(codeql): remove dead API scripts by @markokraemer in https://github.com/kortix-ai/suna/pull/5236
  • chore(dev-eks): deploy dev-71a5fdae [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5238
  • fix: make GitHub repository import bounded and explicit by @markokraemer in https://github.com/kortix-ai/suna/pull/5232
  • chore(dev-eks): deploy dev-c000047e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5242
  • fix(web): filter frameless OperationError popErrorScope rejection noise (BS 5e1aca20) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5237
  • fix(executor): classify optional-capability 501 as typed feature_not_supported out of Sentry (BS 1f3c4d96) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5240
  • chore(dev-eks): deploy dev-efe832b5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5244
  • fix(release): stabilize staging QA flows by @markokraemer in https://github.com/kortix-ai/suna/pull/5245
  • Fix remaining Checkov infrastructure gaps by @markokraemer in https://github.com/kortix-ai/suna/pull/5248
  • Reconcile security baseline apply by @markokraemer in https://github.com/kortix-ai/suna/pull/5249
  • Permit CloudTrail encrypted SNS delivery by @markokraemer in https://github.com/kortix-ai/suna/pull/5250
  • Update Hono node server security override by @markokraemer in https://github.com/kortix-ai/suna/pull/5251
  • chore(dev-eks): deploy gateway dev-f06e8d4a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5252
  • feat(api): per-session secrets allowlist (KaaB Phase 2) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5154
  • chore(dev-eks): deploy dev-a485a458 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5253
  • feat: complete the Kortix-as-a-Backend DX (origin_ref runtime, SDK/CLI, e2e proof, docs) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5201
  • chore(dev-eks): deploy dev-2cbc61a8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5257
  • Add SEO department marketplace project by @lillyboga in https://github.com/kortix-ai/suna/pull/5210
  • chore(dev-eks): deploy dev-99eab67b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5262
  • Fix project session inventory authorization by @markokraemer in https://github.com/kortix-ai/suna/pull/5266
  • chore(dev-eks): deploy dev-2bf83d35 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5268
  • docs: accuracy sweep — manifest defaults, SDK ensureReady polling, CLI flags, channels by @agent-kortix in https://github.com/kortix-ai/suna/pull/5264
  • Add SEO Department install guide by @lillyboga in https://github.com/kortix-ai/suna/pull/5276
  • chore(dev-eks): deploy dev-d95f48ba [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5277
  • test: retry transient release gate failures by @markokraemer in https://github.com/kortix-ai/suna/pull/5278
  • fix(git): refresh mirror after missing branch by @markokraemer in https://github.com/kortix-ai/suna/pull/5280
  • chore(dev-eks): deploy dev-7e1abd52 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5281
  • Guide SEO Department setup in the install session by @lillyboga in https://github.com/kortix-ai/suna/pull/5283
  • chore(dev-eks): deploy dev-93b56c08 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5284
  • content(blog): wire 4 orphan posts into the internal-link graph by @agent-kortix in https://github.com/kortix-ai/suna/pull/5285
  • test: tolerate release gate host transients by @markokraemer in https://github.com/kortix-ai/suna/pull/5286
  • fix(staging): cap API database pools by @markokraemer in https://github.com/kortix-ai/suna/pull/5289
  • fix(web): cover modern JSC Paper Shaders null-WebGL wording (BS a8754de5) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5292
  • Improve SEO Department install handoff by @lillyboga in https://github.com/kortix-ai/suna/pull/5293
  • chore(dev-eks): deploy dev-2a297163 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5294
  • fix(deps): upgrade PostCSS past CVE-2026-45623 by @markokraemer in https://github.com/kortix-ai/suna/pull/5296
  • chore(dev-eks): deploy gateway dev-05586895 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5297
  • chore(dev-eks): deploy dev-05586895 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5299
  • Fix API starter contract tests by @markokraemer in https://github.com/kortix-ai/suna/pull/5301
  • chore(dev-eks): deploy dev-1ecd7840 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5302
  • fix(github): link existing app installations by @markokraemer in https://github.com/kortix-ai/suna/pull/5300
  • chore(dev-eks): deploy dev-e181b0de [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5304
  • refactor(session): bound synchronization and persist project navigation by @markokraemer in https://github.com/kortix-ai/suna/pull/5306
  • chore(dev-eks): deploy dev-6ee04945 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5307
  • Fix release infra gate for Lambda Python 3.13 by @markokraemer in https://github.com/kortix-ai/suna/pull/5308
  • chore: standarzied and managed sandbox node+python runtime by @BlankParticle in https://github.com/kortix-ai/suna/pull/5206
  • chore(dev-eks): deploy gateway dev-4ab7d6c5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5310
  • chore(dev-eks): deploy dev-4ab7d6c5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5311
  • Fix dev session provisioning and terminal startup state by @markokraemer in https://github.com/kortix-ai/suna/pull/5314
  • chore(dev-eks): deploy dev-b63dfdc1 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5315
  • fix: make session startup and shell recovery reliable by @markokraemer in https://github.com/kortix-ai/suna/pull/5316
  • chore(dev-eks): deploy gateway dev-cd18974b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5317
  • chore(dev-eks): deploy dev-cd18974b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5319
  • fix(sandbox): invalidate broken v31 runtime image by @markokraemer in https://github.com/kortix-ai/suna/pull/5318
  • chore(dev-eks): deploy gateway dev-3956467f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5320
  • chore(dev-eks): deploy dev-3956467f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5321
  • fix(sessions): preserve runtime URL on restart by @markokraemer in https://github.com/kortix-ai/suna/pull/5323
  • chore(dev-eks): deploy dev-228b3cde [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5324
  • fix(sessions): reset restart readiness clocks by @markokraemer in https://github.com/kortix-ai/suna/pull/5326
  • feat(provider-transition): durable prepare→verify→activate provider migration by @allenabraham999 in https://github.com/kortix-ai/suna/pull/5243
  • chore(dev-eks): deploy gateway dev-1a9325c0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5327
  • chore(dev-eks): deploy dev-1a9325c0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5328
  • fix(snapshots): preserve git metadata in warm build contexts by @markokraemer in https://github.com/kortix-ai/suna/pull/5329
  • chore(dev-eks): deploy gateway dev-493ab7d3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5330
  • chore(dev-eks): deploy dev-493ab7d3 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5331
  • fix(daytona): restore warm repository Git metadata from archive by @markokraemer in https://github.com/kortix-ai/suna/pull/5332
  • chore(dev-eks): deploy gateway dev-47a0fdb4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5333
  • chore(dev-eks): deploy dev-47a0fdb4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5334
  • fix(daytona): tolerate immutable warm archive by @markokraemer in https://github.com/kortix-ai/suna/pull/5335
  • chore(dev-eks): deploy gateway dev-f78037af [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5336
  • chore(dev-eks): deploy dev-f78037af [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5337
  • fix(sandboxes): separate session runtime from project acceleration by @markokraemer in https://github.com/kortix-ai/suna/pull/5338
  • chore(dev-eks): deploy dev-8b0f0d01 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5339
  • Enforce paid access for managed models by @markokraemer in https://github.com/kortix-ai/suna/pull/5341
  • chore(dev-eks): deploy gateway dev-a32b2d12 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5343
  • chore(dev-eks): deploy dev-a32b2d12 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5345
  • Remove stale Auto output from agents CLI by @markokraemer in https://github.com/kortix-ai/suna/pull/5344
  • chore(dev-eks): deploy dev-76c12bad [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5346
  • fix(api): gate Teams + Slack channel writes on project.connector.write by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5105
  • fix(api): atomic SCIM group-park append + branch-GC forward progress by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5106
  • fix(api): reject replayed/consumed execution ids in the approval wait gate by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5107
  • chore(api): remove dead install-authz gate + fix misleading marketplace comments by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5108
  • fix(iam-web): surface the member-detail actions (View as / permissions) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5109
  • fix(iam-web): confirm role changes + use one role-descriptor source by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5110
  • test(api): cover tunnel-revoke, system-secret-delete guard, oauth-delete by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5112
  • hardening(kaab): ensureReady transient-null fix, hot-push SLACK_BOT_TOKEN scrub, tests + docs by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5259
  • fix(connectors): auto email binding no longer disables default fallback for other connectors by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5272
  • chore(dev-eks): deploy dev-6c0f3be2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5347
  • docs: Kortix-as-a-Backend v1 — session-start overrides, origin gate, service-account auth by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5101
  • fix(security): reject cross-account idempotency-key collisions (session disclosure) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5267
  • fix(secrets): resolve per-user secret overrides as the session owner, not the provisioner by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5275
  • fix(sdk): scoped runtime() cross-tenant sandbox bleed (top-level escape hatch) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5295
  • chore(dev-eks): deploy dev-b6aafda6 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5348
  • docs: accuracy sweep — scoped runtime() throw, channel token injection, provider transition by @agent-kortix in https://github.com/kortix-ai/suna/pull/5350
  • hardening(kaab): model fail-fast + idempotency identity guards + KaaB test suite & audit by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5288
  • test(shared): de-flake url-autolink ReDoS perf bound (2s → 10s) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5351
  • chore(dev-eks): deploy gateway dev-8b7b5b2f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5352
  • chore(dev-eks): deploy dev-8b7b5b2f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5353
  • Adjust compute pricing by @markokraemer in https://github.com/kortix-ai/suna/pull/5355
  • chore(dev-eks): deploy dev-6abb77e4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5356
  • Correct model billing copy by @markokraemer in https://github.com/kortix-ai/suna/pull/5357
  • fix(billing): prevent machine-sub hijack from orphaning paid plan subscriptions by @agent-kortix in https://github.com/kortix-ai/suna/pull/5358
  • chore(dev-eks): deploy dev-2c85d2db [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5361
  • fix(sessions): apply project model defaults by @markokraemer in https://github.com/kortix-ai/suna/pull/5359
  • chore(dev-eks): deploy dev-2660e219 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5362
  • feat(kaab): personal connectors + inherit_unbound + Connection ID UI + public backend docs by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5360
  • content(web): rename deprecated CTA labels to sanctioned "Request demo" by @agent-kortix in https://github.com/kortix-ai/suna/pull/5363
  • fix(ke2e): bound session release gate flows by @markokraemer in https://github.com/kortix-ai/suna/pull/5369
  • chore(dev-eks): deploy dev-dc0b6c47 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5371
  • update pricing details by @markokraemer in https://github.com/kortix-ai/suna/pull/5373
  • fix(api): resolve session limits across ECS tasks by @markokraemer in https://github.com/kortix-ai/suna/pull/5376
  • chore(dev-eks): deploy dev-4694319b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5377
  • fix: retry transient read transport failures by @markokraemer in https://github.com/kortix-ai/suna/pull/5382
  • chore(dev-eks): deploy dev-93058e0e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5384
  • fix(web): drop @embedpdf tiling tile-destructure noise (BS 3e579401/70272e1e) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5367
  • fix(web): drop Paper Shaders WebGL-unsupported noise (BS f1abf79e) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5368
  • fix(web): classify 25s server-processing-deadline as expected (BS a330bea1) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5375
  • fix(web): drop frameless bare 'network error' rejection noise (BS 2403c9ba) by @agent-kortix in https://github.com/kortix-ai/suna/pull/5380
  • feat(web): restore session panel surfaces, fix show rendering, rework viewers by @sutharjay1 in https://github.com/kortix-ai/suna/pull/5378

New Contributors

  • @BlankParticle made their first contribution in https://github.com/kortix-ai/suna/pull/5206
  • @allenabraham999 made their first contribution in https://github.com/kortix-ai/suna/pull/5243

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.10.13...v0.10.14

July 20, 2026

Codex models fixed, gateway hardening, and a Git-first project flow

v0.10.13

LLM gateway

  • ChatGPT / Codex models work again. Fixed the ChatGPT-subscription (codex/*) 400s end to end: restored the required store: false, stopped sending the unsupported max_output_tokens, and started surfacing the real upstream error detail instead of a bare "Bad Request".
  • Anthropic extended thinking now uses adaptive + effort (not the deprecated enabled + budget tokens), so non-AUTO reasoning effort no longer 400s on newer Claude models.
  • Reworked provider mapping into per-provider adapters typed against each SDK's own option types, with models.dev-driven capability gating — wrong wire shapes are now compile errors.

Models & providers

  • Model picker labels BYOK groups by their real provider (e.g. Amazon Bedrock, not "Kortix").
  • Model show/hide visibility is now consistent across the picker and settings.

Projects & Git

  • Git-provider-first project creation and management; new projects default to managed repositories.
  • Removed an unbuilt "Repository synchronization" placeholder from Git settings.

Marketplace

  • Fixed marketplace item pages returning 500 (they now render correctly, and a missing item 404s).

Identity (SCIM/IAM)

  • Okta group-push renames (PUT /Groups) now work; protection for IdP-synced groups; status-first Identity tab with last-sync activity and per-provider cadence.

CLI & docs

  • Avoids 502s on long chat turns; clearer "vision fallback" model labeling; dev CLI installer surfaced in Git settings.
  • New "Developing with Kortix" guide covering local instances and the CLI workflow.

What's Changed

  • chore(release): VERSION → 0.10.13 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5074
  • fix(llm-gateway): Anthropic extended thinking via adaptive+effort (fixes non-AUTO reasoning 400s) by @markokraemer in https://github.com/kortix-ai/suna/pull/5076
  • chore(dev-eks): deploy gateway dev-cf5a1be9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5079
  • chore(dev-eks): deploy dev-cf5a1be9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5081
  • Git provider-first project creation and management UX by @markokraemer in https://github.com/kortix-ai/suna/pull/5082
  • chore(dev-eks): deploy dev-fca20702 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5083
  • fix(web): show dev CLI installer in Git settings by @markokraemer in https://github.com/kortix-ai/suna/pull/5084
  • docs(specs): unified catalog-driven, type-checked LLM gateway provider mapping by @markokraemer in https://github.com/kortix-ai/suna/pull/5077
  • fix(cli): label 'vision model' as the conditional fallback it is by @markokraemer in https://github.com/kortix-ai/suna/pull/5080
  • refactor(llm-gateway): per-provider adapters typed against each SDK's option types by @markokraemer in https://github.com/kortix-ai/suna/pull/5085
  • chore(dev-eks): deploy gateway dev-e4c467b4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5086
  • chore(dev-eks): deploy dev-e4c467b4 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5088
  • fix(projects): honor explicit managed repo purge by @markokraemer in https://github.com/kortix-ai/suna/pull/5087
  • chore(dev-eks): deploy dev-aad800ba [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5089
  • fix(cli): avoid long-lived chat proxy requests by @markokraemer in https://github.com/kortix-ai/suna/pull/5090
  • chore(dev-eks): deploy dev-094b20d7 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5092
  • feat(llm-gateway): models.dev-capability-gated request building (step 2, reuse canonical clamp) by @markokraemer in https://github.com/kortix-ai/suna/pull/5091
  • chore(dev-eks): deploy dev-0f30a31f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5093
  • feat(iam-web): last-sync indicator for Directory Sync by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5094
  • chore(dev-eks): deploy dev-6b612823 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5095
  • feat(iam-web): status-first Identity tab (progressive disclosure) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5096
  • feat(iam): protect IdP-synced groups from local drift by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5097
  • chore(dev-eks): deploy dev-5c2db92c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5098
  • feat(iam-web): per-provider 'start automatic sync' cheat sheet by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5099
  • fix(web): model picker labels BYOK groups by real provider (not 'Kortix') by @markokraemer in https://github.com/kortix-ai/suna/pull/5102
  • chore(dev-eks): deploy dev-a048f092 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5103
  • fix(llm-gateway): restore Codex's explicit store:false — every codex/* model was 400ing by @markokraemer in https://github.com/kortix-ai/suna/pull/5111
  • fix(sdk): make model visibility independent of the calling surface by @markokraemer in https://github.com/kortix-ai/suna/pull/5113
  • chore(dev-eks): deploy dev-0845dd54 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5114
  • fix(llm-gateway): COPY packages/llm-catalog into the gateway image (unblocks gateway deploys) by @markokraemer in https://github.com/kortix-ai/suna/pull/5115
  • chore(dev-eks): deploy gateway dev-e1d7dac7 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5116
  • fix(llm-gateway): surface raw upstream error body (Codex 400 diagnosability) by @markokraemer in https://github.com/kortix-ai/suna/pull/5117
  • chore(dev-eks): deploy gateway dev-a9384f53 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5118
  • chore(dev-eks): deploy dev-a9384f53 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5119
  • fix(api): hide internal admin/ops routes from the public OpenAPI spec by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/5104
  • chore(dev-eks): deploy dev-8466fa8c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5123
  • fix(llm-gateway): Codex rejects max_output_tokens — drop it for openai-codex by @markokraemer in https://github.com/kortix-ai/suna/pull/5124
  • chore(dev-eks): deploy gateway dev-657c982b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5125
  • chore(dev-eks): deploy dev-657c982b [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5126
  • chore(web): remove 'Repository synchronization' placeholder from Git settings by @markokraemer in https://github.com/kortix-ai/suna/pull/5127
  • docs: add 'Developing with Kortix' guide + position self-host for local dev by @markokraemer in https://github.com/kortix-ai/suna/pull/5128
  • fix(web): marketplace item pages 500 (DYNAMIC_SERVER_USAGE) — force-dynamic by @markokraemer in https://github.com/kortix-ai/suna/pull/5129
  • Default new projects to managed repositories by @markokraemer in https://github.com/kortix-ai/suna/pull/5130
  • chore(dev-eks): deploy gateway dev-6f4e34ac [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5131
  • chore(dev-eks): deploy dev-6f4e34ac [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5132
  • Add canonical project sessions page by @markokraemer in https://github.com/kortix-ai/suna/pull/5133

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.10.12...v0.10.13

July 19, 2026

Reliable session starts + re-shipped LLM gateway

v0.10.12

This release fixes the session-start regression behind the v0.10.11 rollback and re-ships the rebuilt LLM gateway.

Fixed

  • New sessions could hang at "Starting the agent" and never become ready — the in-sandbox runtime was rejecting its own model configuration. Sessions now start reliably.
  • Sandbox images re-downloaded the browser engine on rebuilds, which slowed session startup under load; the browser layer is now cached deterministically.
  • Slack channels showing "Not connected" with no connector available.

Improved

  • The LLM gateway is rebuilt on the Vercel AI SDK with a live models.dev catalog (re-shipped from 0.10.11).
  • Broader end-to-end test coverage and infrastructure monitoring.

Internal

  • Groundwork for an alternate managed-git backend (off by default; deployments stay on GitHub).
  • Secrets-management hardening.

What's Changed

  • chore(release): VERSION → 0.10.12 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5046
  • fix(channels): Slack always "Not connected" + no connector — read install scope-agnostically by @markokraemer in https://github.com/kortix-ai/suna/pull/5049
  • chore(dev-eks): deploy dev-4ef387c5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5051
  • fix(sandbox): per-project warm bakes FROM the built default image — Chromium never re-downloads by @markokraemer in https://github.com/kortix-ai/suna/pull/5050
  • chore(dev-eks): deploy gateway dev-3cb24015 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5053
  • chore(dev-eks): deploy dev-3cb24015 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5055
  • fix(infra): keep EC2 CPU monitoring alarms reconciled by @markokraemer in https://github.com/kortix-ai/suna/pull/5054
  • chore(security): rotate dotenvx keys into kortix-ai by @markokraemer in https://github.com/kortix-ai/suna/pull/5056
  • chore(dev-eks): deploy dev-81733735 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5057
  • fix(sandbox): bake Chromium on deterministic layers — fixes the v0.10.11 session-boot regression by @markokraemer in https://github.com/kortix-ai/suna/pull/5058
  • chore(dev-eks): deploy gateway dev-d7a814c2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5060
  • chore(dev-eks): deploy dev-d7a814c2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5061
  • Restore canonical Dotenv Armor team by @markokraemer in https://github.com/kortix-ai/suna/pull/5062
  • Use Code Storage for managed project Git by @markokraemer in https://github.com/kortix-ai/suna/pull/5063
  • chore(dev-eks): deploy gateway dev-1fdab13c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5064
  • chore(dev-eks): deploy dev-1fdab13c [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5065
  • test(e2e): wait for managed session branch propagation by @markokraemer in https://github.com/kortix-ai/suna/pull/5067
  • chore(security): isolate prod dotenvx keys by @markokraemer in https://github.com/kortix-ai/suna/pull/5066
  • chore(dev-eks): deploy gateway dev-3a71a083 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5068
  • chore(dev-eks): deploy dev-3a71a083 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5069
  • fix(projects): delete managed repo before archive by @markokraemer in https://github.com/kortix-ai/suna/pull/5071
  • chore(dev-eks): deploy dev-6eb81b10 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/5072

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.10.11...v0.10.12

Read the full release on GitHub
Read the full release on GitHub
Read the full release on GitHub
Read the full release on GitHub
Read the full release on GitHub
Read the full release on GitHub
Read the full release on GitHub
Read the full release on GitHub
Release on GitHub
Previous
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
Next