github kortix-ai/suna v0.13.39
v0.13.39 — Sessions ride through outages

latest releases: v0.13.40, dev-latest, desktop-dev-latest...
4 hours ago

Sessions keep working through model and runtime outages, turns start faster, and sessions open instantly.

Improved

  • Opening a session shows its saved history immediately from cache while the live transcript loads, in one request instead of several.
  • Turns start faster: configuration, model catalog and ingress checks run in parallel.
  • Sessions retry transient model errors inside the turn and continue through short provider outages instead of stopping.
  • A session whose runtime was lost resumes automatically when it was running unattended.
  • The sandbox model catalog stays current across boot, wake, restart and every turn.
  • Streaming responses never forward a partial event line; a stream cut before the first byte is retried, and a later cut ends with an explicit error.
  • The kortixt terminal desk adds cloud sessions, port forwarding, a Links panel and a self-updating launcher.
  • Managed models route through their OpenRouter pools by default; direct Morph routing is off unless an operator enables it.
  • Gateway request logs break admission time down by step: preparation, admission, routing, resolution and billing.

Fixed

  • Turns were sometimes marked abandoned while still running.
  • Transcript requests could return 401 during a session.
  • Stopped sandboxes could stay running after their session ended.
  • Orphan cleanup only stops sandboxes that this deployment's database owns.

What's Changed

  • feat(sdk,web,mobile): instant session loads — history from cache, lists that never block, one status vocabulary by @Ino-Bagaric in #7778
  • feat(gateway): split gateway admission time by step by @markokraemer in #7833
  • chore(release): staging VERSION → 0.13.39 [skip ci] by @github-actions[bot] in #7834
  • chore(release): VERSION → 0.13.39 [skip ci] by @github-actions[bot] in #7835
  • Promote main da10498 to staging (v0.13.39) by @markokraemer in #7836
  • fix(tests): pi harness must not read the developer's own skills by @markokraemer in #7790
  • fix(daemon): asset swap yields to an in-flight config convergence by @markokraemer in #7791
  • fix(runtime): sandbox model catalog stays current — boot, wake, restart, turn-start by @markokraemer in #7786
  • docs(spec): runtime convergence — no terminal states, admission control by @markokraemer in #7785
  • test(config-releases): pin the proven-check tool-loading contract at the unit level by @markokraemer in #7783
  • test(config-releases): CFG-12 race rounds ask a per-round-unique directive by @markokraemer in #7802
  • docs(learnings): a one-shot boot decision hardens forever on a resuming box by @markokraemer in #7808
  • fix: false-abandoned turns, transcript 401s, zombie sandboxes by @markokraemer in #7807
  • fix(daemon): retry transient model errors in-turn and resume through outages — never stop on "Stream ended without finish_reason" by @markokraemer in #7797
  • fix(runtime): shed processes before losing the VM; auto-resume unattended sessions after runtime_gone by @markokraemer in #7806
  • fix(llm-gateway): never forward a partial SSE line; retry a stream cut before first byte, else emit an explicit error frame by @markokraemer in #7804
  • fix(gateway): turn Morph direct off by default (staging hotfix of #7839) by @markokraemer in #7841
  • fix(gateway): turn Morph direct off by default for every managed model by @markokraemer in #7839
  • Remove docs/ for good and every citation that recreated it by @markokraemer in #7843
  • fix(apps): accept the configured non-empty control secret by @kubet in #7849
  • fix(sandbox): fence orphan cleanup by database ownership by @kubet in #7852
  • fix(sandbox): stage database-owned orphan cleanup by @kubet in #7854
  • fix(worktree): new branches fork from fresh origin/main, not the stale local main by @markokraemer in #7846
  • kortixt: one-command cloud engineering desk; self-updating launcher; port forwarding; e2e sweep fixes by @markokraemer in #7789
  • fix(api): durable per-session env-sync skip closes the 2-replica cache miss by @markokraemer in #7848
  • test(tests): turn-latency benchmark — pnpm test -- --latency --target by @markokraemer in #7847
  • perf(turn-start): parallelize config/catalog/ingress pre-flight, coalesce the health probe by @markokraemer in #7842
  • One-read session view: fold audit into the open bundle, dedupe scope+connectors by @markokraemer in #7845
  • infra: colocate dev/staging API with their database region by @markokraemer in #7844
  • feat(kortixd): the box side of runtime convergence (Rule 1, 3, blocked) by @markokraemer in #7792
  • feat(runtime-convergence): API-side desired-runtime document, admission control, runtime block by @markokraemer in #7793
  • Promote main 38ac81a to staging by @markokraemer in #7858
  • Release v0.13.39 — Sessions ride through outages by @github-actions[bot] in #7837

Full Changelog: v0.13.38...v0.13.39

Don't miss a new suna release

NewReleases is sending notifications on new releases.