All Sonny releases

Sonny 0.12.8

Published . Source commit eaf885551c5834f4bee56ea48be7b9eff768c66d.

Download release JSON for this version's installer URLs, byte sizes and SHA-256 hashes.

Downloads and verification

Choose the artifact for your operating system and architecture. Links marked “GitLab access required” need access to the Sonny release project. Public installers and archives use the same download host as the release notifications.

SHA-256 checksums · Checksum signature bundle. A matching hash checks file integrity. Verify the signature before relying on publisher identity; this page's metadata importer does not perform that verification.

Release notes

v0.12.8 (2026-10-25)

Feat

  • isolationruntime: serve catalog tools from native Linux realms (SONNY-5241)
  • isolationruntime: run measured native cells on an in-realm workspace (SONNY-5241)
  • release: mirror binaries to downloads.codepros.org before the release is created (SONNY-5654)
  • release: integrate commitizen release notes (SONNY-2786)
  • release: render release notes with commitizen (SONNY-2786)
  • vscode: isolate multi-root workspace targets (SONNY-195)
  • tui: complete provider account setup (SONNY-3925)
  • mesh: provision managed-worker authority with sonny mesh managed (SONNY-5545)
  • packaging: rename the sonny-mesh daemon to sonnyd (SONNY-5471)

Fix

  • recipes: use recipe in installer next steps (SONNY-5023)
  • a2a: refuse an admission that ran out of the listener’s own time as retryable (SONNY-5709)
  • ci: bound the mesh integration image context (SONNY-5594)
  • ci: integrate merged main and preserve validation history (SONNY-5241)
  • ci: integrate merged main and preserve validation history (SONNY-5300)
  • ci: integrate current main and retain cache reuse (SONNY-5594)
  • postgres: bound outbox pruning across query plans (SONNY-5070)
  • agentmail: release child charges whose children can no longer make progress (SONNY-5300)
  • ci: integrate merged main and preserve validation history (SONNY-5031)
  • recipes: reconcile paced benchmark with current main (SONNY-5037)
  • mesh: pace transport benchmark within admission budget (SONNY-5037)
  • recipes: integrate current main native evidence (SONNY-5031)
  • mesh: authenticate registry fixture membership (SONNY-5031)
  • parity: bind native session metadata inventory (SONNY-5031)
  • recipes: return durable native child evidence (SONNY-5031)
  • ci: integrate merged main and preserve validation history (SONNY-5037)
  • recipes: integrate current main conformance owners (SONNY-5037)
  • parity: refresh served session inventory pin (SONNY-5037)
  • mesh: authenticate Docker fixture membership (SONNY-5037)
  • protocol: align metadata with served session methods (SONNY-5037)
  • ci: integrate merged main and preserve validation history (SONNY-5043)
  • isolation: re-pin architecture revalidation to 6deb1852 (SONNY-5043)
  • deps: drop stale policy v0.1.3 go.sum entries (SONNY-5043)
  • vscode: drop extra trailing blank lines (SONNY-5043)
  • revalidate recipe context after approval (SONNY-5043)
  • ci: integrate merged main and preserve validation history (SONNY-5663)
  • tui: give a supervisor the TUI launched the desktop’s cold-boot budget (SONNY-5663)
  • isolation: show realm tool results as the handler spelled them (SONNY-5704)
  • isolation: certify realm tool results that hold <, > or & (SONNY-5704)
  • plan: tighten a hosted plan worker’s isolation files (SONNY-5698)
  • plan: pass a hosted plan worker its isolation files (SONNY-5698)
  • ci: integrate merged main and preserve validation history (SONNY-5656)
  • packs: name the source in the uncloned-catalog remedy (SONNY-5657)
  • packs: load pack-source model registries before resolving packs on a cold cache (SONNY-5657)
  • deps: bump llmtools to v0.16.10 for binary read_file (SONNY-5656)
  • plan: give a plan worker on its role pack a native launch (SONNY-5653)
  • sonny: consolidate TUI repairs and CI reliability (SONNY-5594)
  • sonny: integrate daemon projection repair and current main (SONNY-5648)
  • tui: present a daemon projection only for the session it was replayed from (SONNY-5648)
  • sonny: consolidate session, routing and CI repairs (SONNY-5594)
  • move messaging validation data module to lanning.dev (SONNY-5074)
  • ci: preserve release fallback when notes setup fails (SONNY-2786)
  • lspwatch: integrate workspace containment repair (SONNY-5640)
  • lspwatch: ignore edits of files outside the workspace (SONNY-5640)
  • toolscope: integrate precise guard refusals (SONNY-5639)
  • toolscope: name the real reason when the agent guard fails closed (SONNY-5639)
  • ui: consolidate asking-tab approval repair (SONNY-5638)
  • ui: arm approve-all on the tab whose prompt was answered (SONNY-5638)
  • ci: repair Windows fixtures and reuse dependency build caches (SONNY-4151)
  • policy: qualify Windows ledger recovery in the consolidated pipeline (SONNY-4151)
  • agents: don’t reap sub-agents of a parent that is still calling tools (SONNY-5636)
  • desktop: re-resolve pack model profiles when the catalog changes (SONNY-5635)
  • desktop: keep hosted failover inside provider sets (SONNY-4768)
  • tui: register a tab’s new session before every daemon call for it (SONNY-5633)
  • goaltrack: stop treating the engine’s own nudges as user requests (SONNY-5637)
  • permission: let read-only hook inspection run without a bypass prompt (SONNY-5634)
  • planpublish: run no git in the workspace after a publish offer (SONNY-5607)
  • planpublish: record the ssh configs a Windows push reads (SONNY-5607)
  • planpublish: run no configured hook on a publish (SONNY-5607)
  • e2e: give the daemon’s stop a grace that covers its realm teardown (SONNY-5604)
  • e2e: stop owned daemons with SIGTERM so their realms are torn down (SONNY-5604)
  • supervisor: refuse surface authority references on a scoped hosted session (SONNY-5624)
  • supervisor: refuse a foreign tenant on local hosted dispatch (SONNY-5602)
  • supervisor: dispatch local hosted turns as their own session (SONNY-5624)
  • supervisor: dispatch local hosted turns under the profile tenant (SONNY-5602)
  • ci: select disposable isolation campaigns explicitly (SONNY-5594)
  • isolation: share the composed binding verifier with every replacement realm (SONNY-5596)
  • isolation: keep the local daemon’s realm usable past its plan (SONNY-5596)
  • isolation: replace a long-lived owner’s realm before its plan ends (SONNY-5596)
  • ci: give regression-evidence a 4h timeout (SONNY-5405)
  • hostlease: continue a turn after every lease lapse and renew by CAS alone (SONNY-5597)
  • registry: record provider account command contracts (SONNY-3925)
  • ci: repair shared Sonny validation and retry costs (SONNY-5472)
  • cli: write Windows service install output through the command (SONNY-5549)
  • secretresolver: kill the token helper’s whole process tree (SONNY-5593)
  • spawn: worker resolves the parent’s pack copy; failed launch reported (SONNY-5543)
  • cli: run SonnyMesh as NT SERVICE\SonnyMesh and make Windows service install idempotent (SONNY-5549)
  • compaction: stop re-running a timed-out compaction every round on slow models (SONNY-5538)
  • executionroute: keep the todo reconciliation reminder from reading as a user stop request (SONNY-5544)
  • primary: never call a retried attempt’s timeout terminal (SONNY-5539)
  • toolscope: allow cp/install of binary files into the workspace (SONNY-5542)
  • compaction: compare the slow-model working budget with a provider-anchored size (SONNY-5470)
  • ui: fail a model-less turn with its real reason and trace it (SONNY-5452)
  • desktop: resolve hosted providers against the current catalog (SONNY-5451)
  • toolscope: let exec run sonny help and version without the agent-launch refusal (SONNY-5473)
  • tui: leave the tool pill when the next model request starts (SONNY-5407)
  • trace: redact a password-keyed JSON container, not the rest of the line (SONNY-5406)
  • daemonhost: reuse a busy live supervisor instead of starting a duplicate (SONNY-5404)
  • tui: register a cleared session with the daemon; stop the repeating live-state Failure (SONNY-5475)
  • tui: keep pack secret warnings off the TUI alt-screen (SONNY-5474)
  • tui: resume sessions the daemon runtime has never journaled (SONNY-5403)
  • protocol: align served session capability metadata (SONNY-5472)
  • mesh: qualify the docker cluster view through authenticated coordinator membership (SONNY-5472)
  • desktop: make session Delete work after a turn (SONNY-5469)
  • deps: require devnw.dev/isolation v0.14.1 to reclaim realms from the signed image (SONNY-5603)
  • supervisor: pin the Unavailable code of a refused daemon slot (SONNY-5589)
  • isolation: name the doctor’s real daemon identity failure (SONNY-5590)
  • isolation: discard the local daemon’s realm without an export (SONNY-5588)
  • isolation: check the local daemon’s realm identity in the doctor (SONNY-5590)
  • supervisor: name the local daemon’s isolation startup failure (SONNY-5589)
  • isolation: bootstrap the local daemon’s realm under a UUID session (SONNY-5588)

Refactor

  • tui: split provider account handlers for lint (SONNY-3925)

Perf

  • ci: retain first-run test timings without a profiling rerun (SONNY-5594)
  • ci: reuse race build archives in qualification jobs (SONNY-5594)
  • ci: reuse PostgreSQL conformance evidence (SONNY-5594)
  • ci: run messaging benchmarks once per sweep (SONNY-5594)
  • ci: reuse compiled packages in native checks (SONNY-5594)
  • ci: reuse cross-build caches across dependency updates (SONNY-5594)
  • test: reuse migrated routing and worker fixtures (SONNY-5594)
  • ci: retain cross-build caches and deduplicate Windows builds (SONNY-5594)
  • test: reuse migrated plan fixture databases (SONNY-5594)