Changelog

Every release, straight from the source. New features, fixes, and improvements — versioned and dated. View on GitHub.

v0.9.7

Latest
  • A production promote now rolls the prod API automatically — no manual deploy step. The frontend already auto-deployed via Vercel; this closes the gap so a single promote ships everything.
  • Internal: added a release runbook (versioning policy + release notes generated from the git log).

No user-facing app changes in this release.

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.9.6...v0.9.7

Release on GitHub →

v0.9.6

  • New changelog — a public /changelog page that shows every release, sourced straight from GitHub Releases.
  • Developer docs are public at /docs, with an accuracy pass and a dedicated Developers page.
  • Landing refresh — a Product / Developers split and clearer home copy ("Your company's AI workforce").
  • Renamed /enterprise → /contact.
  • Releases now require a written title and notes, so the changelog stays readable from here on.

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.9.5...v0.9.6

Release on GitHub →

v0.9.0

What's Changed

New Contributors

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.8.44...v0.9.0

What's Changed

New Contributors

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.8.44...v0.9.0

What's Changed

New Contributors

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.8.44...v0.9.0

What's Changed

New Contributors

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.8.44...v0.9.0

What's Changed

New Contributors

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.8.44...v0.9.0

Read the full release on GitHub →

v0.8.44

v0.8.44 — Reliability fixes, session loading overhaul, and mobile polish

This release improves session reliability, removes legacy session loaders, hardens API recovery and SSH flows, and ships a broad set of mobile UX upgrades.

Highlights since v0.8.43:

  • Keep reconnect flows in the background and add polling/SSE fallbacks to avoid empty or stale session states
  • Eliminate session loaders with IndexedDB cache, background prefetch, and store consolidation
  • Fix provider health fallbacks, SSH key verification, sandbox/runtime handling, and justavps recovery compatibility
  • Deliver mobile improvements across titles, tabs, drawers, settings, theming, and local sandbox visibility

Changes

  • fix(ci): force-sync production branch during releases
  • fix(admin): remove broken account activity view
  • Delete
  • fix(web): keep reconnects in background
  • Eliminate session loaders: IndexedDB cache, background prefetch, store consolidation
  • fix(api): return fallback health for unsupported providers
  • fix(api): SSH key verify ran $(stat) on host, not in container
  • fix(api): stop calling ensureRunning from SSH setup — it force-restarts the workload
  • fix(api): drop 'pipefail' from justavps recovery — dash-incompatible
  • (mobile) Ability to modify session title
  • (mobile) bridge optimistic parts in hydrate + SSE to prevent empty user bubble
  • (mobile) use /global/config so custom providers persist across dispose
  • (mobile) add 3s polling fallback for busy sessions when SSE is broken
  • (mobile) re-hydrate loaded sessions after SSE gap
  • (mobile) make project_select/create tool rows tap-to-open project
  • (mobile) make file-op footer path tappable to open file preview
  • (mobile) port tool-meta, 15s SSE heartbeat
  • fix(api): justavps host recovery script used invalid shell syntax
  • fix(web): bridge optimistic parts in hydrate to prevent empty user bubble
  • (mobile) surface local Docker sandbox in listSandboxes via local-bridge probe
  • fix web custom provider: use global config endpoint so providers persist across dispose
  • fix malformed opencode.jsonc from ocx init breaking custom LLM provider registration
  • (mobile) Fix sandbox update
  • fix sandbox privilege handling for managed runtimes
  • (mobile) change modal into sheet on update
  • (mobile) ui update wip
  • (mobile) UI improvements
  • (mobile) Update colors
  • (mobile) Fix crash when changing theme
  • (mobile) Clean up user menu sheet
  • (mobile) When opening user's settings sheet, do not close drawer
  • (mobile) Animate tabs page
  • (mobile) Improve drawers ui
  • (mobile) Modern hamburger
  • (mobile) Make better gradient about prompt textarea
  • (mobile) Improvements on the bottom bar
  • (mobile) Keep centered pill
  • (mobile) Do not open tabs on double click on a single tab
  • (mobile) expand to all tabs
  • fix(web): add polling fallback when SSE is broken during busy sessions
  • fix(web): prevent stale state from clearing optimistic messages on session create
  • (mobile) Update at the footer
  • (mobile) WIP on the drawers

Docker Images

  • kortix/computer:0.8.44
  • kortix/kortix-api:0.8.44
  • kortix/kortix-frontend:0.8.44
Release on GitHub →

v0.8.43

v0.8.43 — Sandbox recovery hardening, maintenance controls, and session polish

Hardens sandbox recovery, YOLO/env reinjection, and billing/test cleanup while adding maintenance notification controls, custom provider support, and multiple session/chat UX fixes.

Changes

  • fix(api): harden test DB cleanup and sandbox recovery
  • feat(web): v1 maintenance notification management system
  • fix(web): resolve React hooks build error and lint warnings
  • fix(web): clean up tab icons + session chat polish
  • Revert "fix(web): remove visible truncation comment from code blocks"
  • fix(web): remove visible truncation comment from code blocks
  • fix(web): restore clickable project select/create → opens project tab
  • fix(web): restore ShowTool card chrome + clickable file paths on Edit/Write
  • fix(web): stop stripping text content during streaming
  • refactor(web): rewrite session chat tool rendering + streaming
  • fix(platform): centralize sandbox access for admin actions
  • fix(runtime): fail soft on invalid config and surface repair actions
  • fix(local): normalize sandbox discovery and instance routing
  • fix(browser): mark viewer connected before first frame
  • fix(local): restore sandbox discovery and browser sessions
  • fix(runtime): align recovery UI and custom provider writes
  • fix billing sync for legacy Stripe accounts (#3075)
  • fix(env-injector): use serviceKey for auth on non-pooled sandboxes
  • fix(update): re-inject env vars after sandbox image update
  • fix(sandbox): re-inject env vars on restart via existing env-injector
  • fix(sandbox): restore simple YOLO URL default, remove syncYoloEnv
  • fix(sandbox): remove hardcoded YOLO URL default, let API inject it
  • fix(sandbox): derive YOLO URL default from KORTIX_API_URL (dev vs prod)
  • fix(sandbox): default KORTIX_YOLO_API_KEY to KORTIX_TOKEN on boot
  • fix(sandbox): inject KORTIX_YOLO env vars at JustAVPS machine creation
  • fix(sandbox): persist defaulted KORTIX_YOLO_URL to process.env
  • fix(instance): add layered health and targeted recovery
  • fix: use direct YOLO API URLs (api-yolo.kortix.com/v1) instead of Vercel frontend
  • fix: inject KORTIX_YOLO_URL and KORTIX_YOLO_API_KEY in all sync paths
  • (mobile) add custom provider connection for OpenAI-compatible endpoints
  • (mobile) lift bg, trim fg, brighten borders
  • fix: repopulate yolo auth in sandboxes

Docker Images

  • kortix/computer:0.8.43
  • kortix/kortix-api:0.8.43
  • kortix/kortix-frontend:0.8.43
Release on GitHub →

v0.8.42

v0.8.42 — Managed updates, UI polish, and wallpaper upgrades

Bug fixes across provider-backed backups, managed updates, and dashboard interactions, plus visual polish for dark mode, tabs, and the new shader wallpaper set.

Changes

  • fix(update): align backups with real provider flow
  • fix(dashboard): remove duplicate instance/admin actions
  • fix(update): fail fast on bad container restarts
  • fix(frontend): resolve shaders react entry locally
  • fix(frontend): alias shaders react entry for web builds
  • fix(providers): persist custom provider connections
  • fix(tabs): close action no longer resurrects tabs via route-sync
  • fix(theme): soften dark mode to reduce contrast harshness
  • fix(wallpapers): restore logo lift, add preview centering, ASCII Tunnel parity
  • feat(wallpapers): add 3 shader wallpapers + full-bleed session backdrop
  • wip: place instance launch action in modal sidebar

Docker Images

  • kortix/computer:0.8.42
  • kortix/kortix-api:0.8.42
  • kortix/kortix-frontend:0.8.42
Release on GitHub →

v0.8.41

v0.8.41 — Redesigned admin console + billing hardening

Changes

  • feat(admin): redesigned admin console + accounts tooling
  • Revert "wip: refine instance settings modal sidebar actions"
  • wip: refine instance settings modal sidebar actions
  • wip: remove stale admin instance detail route
  • wip: refactor admin dashboard and instance settings
  • test: cover local sandbox auth bootstrap regressions (#3072)
  • fix: add docker CLI to self-host API image (#3070)
  • fix: preserve canonical stripe customers for legacy accounts
  • fix: forward command popover trigger refs
  • wip: harden admin instance access flow
  • wip: refactor admin instance management flow
  • fix: keep admin routes outside instance scope
  • fix: canonicalize revenuecat billing state and admin sandbox flows
  • fix: render assistant messages in turns that follow a pty notification
  • feat: yolo proxy integration, claim-computer revenuecat support

Docker Images

  • kortix/computer:0.8.41
  • kortix/kortix-api:0.8.41
  • kortix/kortix-frontend:0.8.41
Release on GitHub →

v0.8.40

v0.8.40 — Update pipeline fix

Changes

  • fix: update pipeline and backups before update
  • (mobile) drop manager_session_id from project model and session list
  • (mobile) pin manager session to top of project sessions list, add Manager badge
  • (mobile) use server-assigned collision-free upload filenames
  • fix(web): cap idle spacer height to eliminate excess whitespace
  • refactor(web): generic XML notification system + cleaner shell tool UI
  • fix(sandbox): make DinD default and restore opencode startup
  • refactor(docker): move sandbox to Ubuntu glibc base
  • (mobile) make task detail sheet scrollable for long content
  • (mobile) hide subagent agents from channel selectors, extend KortixProject type
  • (mobile) don't default to onboarding when sandbox is unreachable
  • (mobile) simplify dashboard send flow with single isSending guard and fade feedback
  • (mobile) add restart button to connecting screen for stuck sandboxes
  • (mobile) add bridge_instructions to channel settings, improve delete confirmation and error messages
  • (mobile) add tool renderers for all session, trigger, and agent_task tools

Docker Images

  • kortix/computer:0.8.40
  • kortix/kortix-api:0.8.40
  • kortix/kortix-frontend:0.8.40
Release on GitHub →

v0.8.39

v0.8.39 — Sandbox admin panel

Changes

  • fix(web): isolate html previews and repair e2e runner
  • fix(auth): block unsafe returnUrl redirects
  • feat: admin panel full sandbox management
  • fix(web): add restart action to pinging sandbox screen
  • feat(web): add Restart Machine button to sandbox connection failure screens
  • fix(web): guard against undefined in filter/toLowerCase and API hydration
  • fix(web): guard tab store rehydration against corrupted localStorage

Docker Images

  • kortix/computer:0.8.39
  • kortix/kortix-api:0.8.39
  • kortix/kortix-frontend:0.8.39
Release on GitHub →

v0.8.38

v0.8.38 — Kortix task workflows, sandbox hardening, and billing polish

Promotes the post-v0.8.37 rollout with the new Kortix project/task workflow surfaces, stronger sandbox and runtime reliability, and a broad UX pass across billing, instances, channels, and mobile.

Highlights:

  • ships richer project/task orchestration across web + mobile, including project selection, markdown task views, and expanded tool renderers
  • hardens sandbox auth/proxy flows, Docker-in-Docker, SSH bootstrap, channel delivery, and OpenCode/autowork startup recovery
  • polishes billing history and auto top-up flows, instance restart/update actions, and a wide set of dashboard and connection-state fixes

Changes

  • fix(billing): unify auto top-up defaults
  • fix(sandbox): keep local docker accessible in cloud mode
  • fix(billing): show ledger-backed transactions in settings
  • fix(cloud): restore scheduled tasks and pipedream fallbacks
  • fix(kortix): harden opencode startup and PTY execution
  • fix(kortix): stop zombie session recovery and startup churn
  • fix(ssh): harden remote editor bootstrap
  • feat(web): add full ToolRenderers for triggers and session tools
  • fix(session): limit triple-ESC stop to focused composer
  • fix(kortix): restore native todo continuation enforcement
  • fix(channels): apply channel settings and stabilize preview websockets
  • fix(sandbox): unify local auth and public share flow
  • fix(api): stabilize sandbox env fallback sync
  • fix(api): harden sandbox token sync fallback
  • fix(core): refactor DinD for robust Docker-in-Docker support
  • fix(core): harden sandbox opencode persistence
  • fix(web): restore brandmark as default wallpaper
  • fix(web): scope ESC-to-stop to active session tab only
  • fix(web): add restart action to pinging sandbox screen
  • fix(web): kill sidebar expand→collapse flicker on initial load
  • fix(web): don't default to onboarding when sandbox is unreachable
  • fix(api): scope preview ownership check by actor accountId
  • feat(instances): restart/changelog/backups actions per card
  • refactor(web): rewrite message queue to drain in one batch
  • fix(sandbox): static-web resolves through proxy origin
  • fix(web): install external OTel middlewares for Next
  • refactor(web): simplify dashboard send flow and tighten fade transition
  • fix(web): pin brandmark wallpaper on auth
  • fix(web): internal browser no longer resolves to user's real localhost
  • fix(web): xlsx renderer falls back to SheetJS when ExcelJS crashes
  • fix(web): guard command palette filters and point 404 home button to /instances
  • Use brandmark wallpaper on homepage hero
  • chore(autowork): rip out dead todo-enforcer + wire the new completion tag everywhere
  • fix(api): harden admin and docker fallback paths
  • refactor(autowork): structured completion tag + lazy state dir
  • fix(api): patch drizzle injection surfaces
  • fix(web): clean up provider and wallpaper defaults
  • feat(web): dashboard project selector + flat menu pass
  • refactor(web): align /files breadcrumbs with single-file style
  • ux(web): unify /instances chrome and strip provider branding
  • fix(web): persist last-used agent so dashboard and new sessions stop resetting
  • refactor(web): unify every loader into one ConnectingScreen
  • cosmetic(web): unify wallpaper previews with real component
  • WIP: refactor Kortix project orchestration flow
  • fix(web): restore docs route production build
  • fix(web): restore empty-session wallpaper and task shortcut UX
  • fix(opencode): make caveman plugin self-contained
  • fix(web): unify @ mention popover colors to Kortix brand + fix sidebar z-index
  • fix(web): raise text contrast across home routes and shared components
  • fix(uploads): guarantee collision-free filenames end-to-end

Docker Images

  • kortix/computer:0.8.38
  • kortix/kortix-api:0.8.38
  • kortix/kortix-frontend:0.8.38
Release on GitHub →

v0.8.37

v0.8.37 — Observability fixes and hydration stabilization

Promotes commit 5988523e3 with the Better Stack incident fix set: backend share proxy fixes, frontend hydration stabilization, client-only rendering cleanup, and filtering of external webkitPresentationMode browser noise.

Changes

  • fix(observability): proxy share management and stabilize client-only UI
  • fix(session): show pending worker labels from streamed input
  • fix(file-search): support deep workspace path queries

Docker Images

  • kortix/computer:0.8.37
  • kortix/kortix-api:0.8.37
  • kortix/kortix-frontend:0.8.37
Release on GitHub →

v0.8.36

v0.8.36 — Observability cleanup + portal hardening

Suppress expected sandbox proxy noise, auto-create missing billing customers, frontend portal hardening, billing dialog fix, crash-context improvements

Changes

  • fix(installer): make kortix update advance to latest release and refresh full stack
  • fix(update): guide self-hosted users to run CLI updates
  • fix(observability): suppress expected sandbox proxy noise and auto-create billing customers
  • fix(changelog): polish release cards and route installs through update dialog
  • fix(changelog): escape release title regex correctly

Docker Images

  • kortix/computer:0.8.36
  • kortix/kortix-api:0.8.36
  • kortix/kortix-frontend:0.8.36
Release on GitHub →

v0.8.35

v0.8.35 — Frontend crash hardening + billing fixes

Prevent insertBefore portal crashes, harden billing/top-up dialogs, add better crash context, fix billing webhook route alias, suppress sandbox SSE abort noise

Changes

  • fix(frontend): harden portal mounting and capture richer crash context
  • fix: prevent browser auto-translate from crashing React with 'insertBefore' DOM error
  • fix(billing): keep auto top-up dialog mounted to avoid portal DOM race
  • fix: billing webhook 401s + suppress SSE abort noise
  • chore: upgrade Next.js 15.3.8 → 15.5.14
  • fix: Sentry warnings + add Status link to dashboard footer

Docker Images

  • kortix/computer:0.8.35
  • kortix/kortix-api:0.8.35
  • kortix/kortix-frontend:0.8.35
Release on GitHub →

v0.8.34

v0.8.34 — Structured log context + status page link

AsyncLocalStorage request context (requestId, userId, accountId, sandboxId on every log), status.kortix.com footer link

Changes

  • feat(observability): structured log context via AsyncLocalStorage

Docker Images

  • kortix/computer:0.8.34
  • kortix/kortix-api:0.8.34
  • kortix/kortix-frontend:0.8.34
Release on GitHub →

v0.8.33

v0.8.33 — Better Stack e2e observability

Error tracking, structured logging, uptime monitors, status page link

Changes

  • feat: add Status page link to footer
  • feat(observability): Better Stack e2e — error tracking, structured logging, uptime monitors

Docker Images

  • kortix/computer:0.8.33
  • kortix/kortix-api:0.8.33
  • kortix/kortix-frontend:0.8.33
Release on GitHub →

v0.8.32

v0.8.32 — Robust sandbox update mechanism

Deeply robust update: pre-flight checks (Docker daemon, disk space, Docker Hub tag verification), stale systemd unit cleanup, smart pull monitoring with journalctl diagnostics, clear error messages with specific failure diagnosis.

Changes

  • fix(update): deeply robust sandbox update mechanism
  • fix(update): robust sandbox update — version injection, pull diagnostics, pre-flight checks
  • (web) Fix telegram indicator
  • (web) Indicate channel message
  • (mobile) Indicate channel message from the user
  • (web) Fixing telegram integration
  • (mobile) Updates and fixes on the channels (telegram)
  • (mobile) Change UX on the tunnel
  • (mobile) Fix fetching channels
  • (mobile) Align channels with web ux
  • (mobile) change download key to copy key
  • Improvements on SSH page
  • Change UX on triggers

Docker Images

  • kortix/computer:0.8.32
  • kortix/kortix-api:0.8.32
  • kortix/kortix-frontend:0.8.32
Release on GitHub →

v0.8.31

v0.8.31 — Fix sandbox version display, install button, and pull timeout

Fixes sandboxes reporting v0.0.0-dev on production, 404 error when clicking Install on changelog page, and docker pull timeout increased from 5 to 15 minutes for the ~5GB computer image.

Changes

  • fix: 3 sandbox update bugs — version display, 404 on install, pull timeout
  • fix(api): inject API's own SANDBOX_VERSION into sandbox containers
  • feat(cicd): auto-cleanup old JustAVPS snapshots after build
  • refactor(cicd): fire snapshot on every deploy-dev + release (async)
  • feat(cicd): auto-fire dev snapshot async from deploy-dev
  • refactor(cicd): consolidate build-snapshot + snapshot-dev into single snapshot-build.yml

Docker Images

  • kortix/computer:0.8.31
  • kortix/kortix-api:0.8.31
  • kortix/kortix-frontend:0.8.31
Release on GitHub →

v0.8.30

v0.8.30 — CI/CD overhaul: native ARM builds, re-tag promotion, legacy purge

Full CI/CD pipeline refactor. Dev builds use native ARM runners (no QEMU, ~5x faster). Prod releases re-tag dev images in 30 seconds with zero rebuilds. Complete purge of release.json, CHANGELOG.json, ship.cjs, and all legacy release infrastructure. GitHub Releases + Docker Hub Tags are now the only sources of truth. New changelog page with install-any-version support.

Changes

  • fix(api): filter internal multi-arch tags from dev versions list
  • refactor(cicd): nuke all legacy release system remnants
  • fix(api): inject SANDBOX_VERSION into sandbox containers from image tag
  • fix(cicd): remove duplicate on:release trigger from build-snapshot.yml
  • fix(cicd): inject SANDBOX_VERSION + use PAT for production branch push

Docker Images

  • kortix/computer:0.8.30
  • kortix/kortix-api:0.8.30
  • kortix/kortix-frontend:0.8.30
Release on GitHub →

v0.8.29

v0.8.29 — New CI/CD pipeline, version management, and changelog

Complete CI/CD refactor with path-filtered dev deploys, Docker Hub as single registry, version/changelog API with dev channel support, and Install-any-version from changelog page.

Highlights

  • New CI/CD architecture: Path-filtered dev builds, multi-arch native ARM runners, manual prod release with re-tag (no rebuild)
  • Version channel support: Stable releases from GitHub Releases API, dev builds from Docker Hub Tags API
  • Changelog page: Install any version with one click — stable or dev. Dev builds hidden by default with subtle toggle
  • Dev provisioning: Auto-resolves dev JustAVPS snapshots when available, falls back to stable
  • JustAVPS snapshot build fixes: Correct server_type, smart disk-stability polling
  • Cleaner release process: Removed pnpm ship, ship.cjs, and all local scripts — everything runs in CI

Changes

  • feat(cicd): add AUTO_DEPLOY_DEV gate — manual deploy by default
  • feat(cicd): native ARM runners + re-tag-only prod releases
  • feat(cicd): add release.yml — prod line workflow
  • fix(cicd): fix JustAVPS snapshot build - correct server_type and API fields
  • feat(api+web): dev channel support for versions, provisioning, and changelog
  • feat(web): add Install button to each version on changelog page
  • fix(api): use Docker Hub tags for dev versions instead of GitHub Commits
  • refactor(cicd): replace legacy CI/CD with path-filtered dev line
  • Mobile improvements: setup wizard, public links, safe area, llm wizard UI
  • Expand trigger types

Docker Images

  • kortix/computer:0.8.29 (multi-arch: amd64 + arm64)
  • kortix/kortix-api:0.8.29 (multi-arch: amd64 + arm64)
  • kortix/kortix-frontend:0.8.29 (multi-arch: amd64 + arm64)
Release on GitHub →

v0.8.28

Webhook URL fixes, file rendering improvements, and tighter worker safety

Polishes the post-0.8.27 sandbox and UI experience with public webhook URL fixes, safer worker orchestration defaults, improved image/PDF handling, and a few shipping/runtime fixes needed for the next Docker release.

Changes

  • fix: Public webhook URLs now receive PUBLIC_BASE_URL in the sandbox env, and joinPublicBaseUrl preserves query params correctly so Slack/Telegram and other callback URLs stop breaking
  • fix: Lock down worker agent_spawn vectors and disable native OpenCode task/todo tools to reduce unintended execution paths
  • feature: Add HEIC/HEIF image rendering support and fix PDF navigation/rendering issues in the web app
  • improvement: Refactor the Kortix orchestrator/worker prompts toward a hands-on lead model with async-first worker coordination
  • fix: Default JustAVPS image builds to the EU cpx32 SKU and use a safer SANDBOX_VERSION fallback during Docker image builds
  • improvement: Sidebar, changelog UI, and tab-bar polish including a saved alternate pill-style tab bar variant for future reference

How to Update

Pull the new Docker image and recreate your container:

docker pull kortix/computer:0.8.28

Or click Update in the Kortix sidebar.

Release on GitHub →

v0.8.27

Channels v2, unified plugin system, design system overhaul, and file preview refresh

Massive release spanning 96 commits across 588 files. Replaces the old Chat SDK channels service with lightweight CLI-based Telegram and Slack integration (ktelegram, kslack, kchannel). Consolidates 15+ separate sandbox plugins into a single kortix-system entry point with orchestrator/worker agent architecture and project-scoped task management. Overhauls the entire design system to a Linear-inspired language (232 files, 10 button variants, 11 badge variants, unified border radius). Adds grid-style file previews with syntax-highlighted thumbnails, a public URL share system with token-based TTL, server-side default model preferences, mobile/tablet responsive layout, and legacy credit account migration. Removes the unused opencode-web service saving ~350MB RAM per sandbox.

Changes

  • feature: Channels v2 — complete rewrite replacing the 3,300-line Chat SDK service with CLI tools (ktelegram, kslack, kchannel, kpipedream, kconnectors), webhook bridges on :8099/:8098, SQLite-backed channel config, and per-channel agent/model/instructions settings with bridge commands (/status /model /agent /name /instructions /enable /disable)
  • feature: Unified kortix-system plugin — consolidate 15+ separate plugin directories into a single entry point with orchestrator (Kortix) + worker architecture, project-scoped agent_spawn/message/stop/status, declarative ensureSchema() for self-healing SQLite migrations, and filesystem-based handoffs between orchestrator and workers
  • feature: Public URL share system — token-based TTL share links for sandbox ports via GET /kortix/share/:port (default 1h, max 7d), auto-prune expired tokens, share proxy at /s/{token}/*, and Public Access Links UI on the API Keys page
  • feature: Server-side default model — preferences API (GET/PUT /kortix/preferences/model), onboarding persists model choice to server, useModelHydration hook loads server default on mount, resolution order: per-session > per-agent > global default
  • feature: Grid-style file preview overhaul — GridFileCard with FileThumbnail, shiki syntax highlighting for code/JSON thumbnails, SandboxImage component resolving sandbox paths to blob URLs, 30+ code extensions, custom error boundary pages (dashboard, home, global, not-found)
  • feature: Legacy user credit migration — lazy migration for kortix.credit_accounts, drizzle fallback for resetExpiringCredits and claim-computer, backward-compatible check against old public.credit_accounts for legacy tier detection
  • feature: Shorter onboarding flow targeting ~5 minutes for first-run setup
  • feature: GitHub-style project page with sandboxed file explorer, rootPath constraint, inline editing for project name/description, responsive auto-fill grid, and About sidebar
  • feature: Agent tool UI upgrade — notification cards for agent_completed/failed/stopped, click-to-open file preview on ReadTool, collapsible Result sections on agent_spawn with cleaned markdown output, monochrome Kortix/Vercel-style tool chips
  • feature: Channel session persistence — SQLite channel_sessions table survives master restarts, /sessions shows all real OpenCode sessions with titles, /session accepts partial ID matching, single-session continuity preserved per chat
  • feature: Inject migration notice into converted legacy chat sessions pointing users to /workspace/legacy/{threadId}/ for their files
  • improvement: Design system overhaul across 232 files — Button (10 variants × 8 sizes, rounded-full default), Badge (11 variants × 2 sizes), unified border radius (pill for interactive targets, 2xl for containers, xl for interiors), ~130 raw buttons → Button component, 164 transition-all → transition-colors, 2100+ line Brand page showcase
  • improvement: Mobile and tablet responsive layout overhaul — Sheet drawer sidebars on mobile, lower breakpoint from 1024px to 768px, 44px touch targets, compact tab bar with hidden close/pin on mobile, min(85vw, 400px) sidebar width
  • improvement: Unified page-level UI — new PageSearchBar component replacing 8 different inline implementations, standardized h-9 filter bars, all CTA buttons using consistent pill sizing, FilterBar/FilterBarItem components for tab-like bars
  • improvement: Channels page UX — compact horizontal cards grouped by platform, settings dialog with agent/model/instructions editing, agent/model selection in Telegram and Slack setup wizards, share-based public URLs replacing ngrok
  • improvement: Tab bar — browser-style close navigation, minimal design, compact tabs on mobile
  • improvement: Sub-session sidebar — inline +N badge and border-l indent replacing chevron tree arrows
  • improvement: Connectors page — FilterBar component replacing ad-hoc filter, kconnectors CLI replacing plugin with 339 → 100 line wrapper
  • improvement: Remove unused opencode-web service (port 3111) — saves ~350MB RAM per sandbox
  • improvement: Global error page with actual Kortix symbol SVG, support email, and clean navigation
  • improvement: Proper 404 handling for non-existent files with shared BreadcrumbSegments component
  • fix: Race condition where session history was missing during active streaming — SSE stub messages caused the REST fetch to be skipped, now always fetches on mount and merges safely
  • fix: Route sandbox tool traffic (web_search, image_search, scrape_webpage) through API proxy for local-docker provider — adds FIRECRAWL_API_URL to all providers and whitelists Firecrawl v2 routes in proxy-services
  • fix: Autowork keyword auto-activation removed — was falsely triggering on any message containing 'autowork', now only activates via /autowork command or KORTIX_AUTOWORK marker
  • fix: Enable tool-input-delta streaming in opencode binary — rewritten patch supports both old-style (v1.2.x) and new-style (v1.3.x) processor layouts with auto variable detection
  • fix: File upload bugs — SandboxImage rendering, dashboard race condition where sessionStorage was written after tab navigation, pending prompt reliability with 5-attempt retry loop
  • fix: Static file server /workspace prefix in all URL construction points (show-content-renderer, file-thumbnail, OcShowUserToolView) so HTML previews resolve correctly
  • fix: URL path detection no longer breaks clickable links — skip file paths inside URLs, don't recurse into URL components, fix hash navigation in static-web via injected base tag script
  • fix: CMD+K command palette centered in viewport and uses authenticatedFetch to fix 401 on service reload
  • fix: 72 inputs missing type='text' and 18 search inputs missing autoComplete='off' — prevents browser autofill in search/filter fields
  • fix: Radio group indicator dot centered using flexbox instead of broken absolute positioning
  • fix: CommandPopover modal by default so ModelSelector/AgentSelector work inside dialogs without losing focus
  • fix: Channels — filter bot's own file_shared events preventing Slack feedback loop, instruct agent to acknowledge immediately via CLI instead of silently blocking on sync agent_spawn
  • fix: Stabilize workspace auth-backed dashboard queries — gate background queries on settled auth state, sync cached Supabase token to prevent repeated 401s
  • fix: Thread-id-scoped previous chat migrations, drizzle fallback for monthly credit renewal, claim button visibility for old subscribed users, auto topup option on signup

How to Update

Pull the new Docker image and recreate your container:

docker pull kortix/computer:0.8.27

Or click Update in the Kortix sidebar.

Read the full release on GitHub →

v0.8.26

Fix OpenCode startup timeout on image build machines

OpenCode was stuck in an infinite restart loop on JustAVPS image build machines because the token wait (60s) plus DB lock wait (10s) exceeded the ServiceManager's port binding timeout (15s), causing SIGTERM before OpenCode could start.

Changes

  • fix: Reduce OpenCode token wait from 60s to 10s — tokens arrive instantly via Docker env or within seconds via /env API
  • fix: Increase ServiceManager START_WAIT_MS from 15s to 30s to cover token wait + DB lock wait + startup time

How to Update

Pull the new Docker image and recreate your container:

docker pull kortix/computer:0.8.26

Or click Update in the Kortix sidebar.

Release on GitHub →

v0.8.25

Fix sandbox env var injection for cloud proxied services

Seed placeholders in the SecretStore were overwriting Docker env vars (TAVILY_API_URL, REPLICATE_API_URL, SERPER_API_URL) on every boot, breaking web search, image generation, and serper in cloud sandboxes.

Changes

  • fix: sync-s6-env: skip empty SecretStore values so seed placeholders don't overwrite Docker env vars injected at container creation
  • fix: Remove platform-injected URL vars (TAVILY_API_URL, REPLICATE_API_URL, SERPER_API_URL) from seed-env.json — they are set by the infrastructure, not user-configured
  • fix: persistEnv returns success/failure boolean and guards against empty sandbox URL to prevent silent failures
  • fix: ?onboarding-skip no longer loses skip intent when sandbox URL is not yet available during auth redirect

How to Update

Pull the new Docker image and recreate your container:

docker pull kortix/computer:0.8.25

Or click Update in the Kortix sidebar.

Release on GitHub →

v0.8.24

Suna repo migration, runtime env vars, deploy infrastructure

Migrated to kortix-ai/suna as the canonical repo. Fixed Next.js runtime env var handling, deploy workflows, and CORS configuration for dev.kortix.com and kortix.com.

Changes

  • feature: Next.js connection() for runtime env vars — Docker images now read process.env at request time, not build time
  • feature: API version in health endpoint read from release.json (baked into image)
  • feature: pnpm dev:prod script for local debugging against production database
  • fix: Self-hosted onboarding auto-skipped via API token sync
  • fix: Account-state silent error logging instead of swallowing failures
  • fix: Added tier_50_400 and tier_200_1000 to legacy paid tiers for claim flow
  • fix: Removed legacy models array from account-state endpoint
  • improvement: Zero-downtime deploy script updated for ~/suna path
  • improvement: Deploy workflow supports fallback SSH secrets for dev/prod servers

How to Update

Pull the new Docker image and recreate your container:

docker pull kortix/computer:0.8.24

Or click Update in the Kortix sidebar.

Release on GitHub →

v0.1.8

What's Changed

  • Added base processor classes for extensible tool handling:
    • ToolParserBase: Abstract base class for parsing LLM responses
    • ToolExecutorBase: Abstract base class for tool execution strategies
    • ResultsAdderBase: Abstract base class for managing results
  • Added dual support for OpenAPI and XML tool calling patterns:
    • XML schema decorator for XML-based tool definitions
    • XML-specific processors for parsing and execution
    • Standard processors for OpenAPI function calling
  • Enhanced streaming capabilities:
    • execute_tools_on_stream: Execute tools in real-time during streaming
Release on GitHub →