All Sonny releases

Sonny 0.12.2-rc.7

Published . Source commit ea083cbc7af02baa20ce7197fb7cb9ed85180783.

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

Downloads and verification

This is an archived release. Its download links require GitLab project access. File hashes and sizes were checked against the release checksum manifest and package metadata; anonymous availability and signature verification are not claimed.

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 (GitLab access required) · Checksum signature bundle (GitLab access required). 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

Changelog

Features

  • 8ce2a3e38c578a115fab00cf30ad61baceffdf23 feat(app): show the startup re-host retry state in sessions.recover (SONNY-4905)
  • e3cdf3b9930cb6b0432f4cee0e9b27341ae184ea feat(desktop): show the truncated session id with a copy button (SONNY-4927)
  • 1d4eee8ed4afe3a3ecc734a12d274136374e0a83 feat(mesh): add the managed provider input-admission owner (SONNY-4942)
  • 25d71174cfc02af540e6d80bb4a88512ce46dca4 feat(meshengine): bind a session primary owner to the managed lease (SONNY-4942)
  • 0d33cd97986999bc689ed714dc4b3e19dc5a989e feat(runtime): keep only the live set and a bounded applied-key index (SONNY-4926)
  • 2e6acf62189ba160d6638e937c0e366cd01be93e feat(runtime): retire settled protocol history and bound re-host memory (SONNY-5014)
  • 0c2005f78a8e5f5258eb51fc265c6853ed43701e feat(sessions): bind a chat to a trusted workspace from inside the chat (SONNY-4927)
  • 0009c21bd155b69b1cc3772f262817098189fef0 feat(workmanagement): add portable support layer (SONNY-4812)
  • 26773894cd6448cfca4dc0f9b4e3cbf86b5a449c feat(workmanagement): ship native portable PM runtime (SONNY-4812)
  • 6455db9a8a9b788f1fea3822f8081eb73440d4f3 feat(workmanagement): support multiple provider connections (SONNY-4812)

Bug Fixes

  • a73c287f1ba7037715da5d66b1555adc1befc8d5 fix(a2a): wait out a full mailbox and leave expired inputs alone in the relay (SONNY-5048)
  • 09943b0b33db1d87ce99f794b9bab4ee7281613b fix(agentmail): purge settled mail early at the retained high-water mark (SONNY-5048)
  • 62bd6116dd82f8d98f4fd1fa08395ee54cd1f113 fix(agentmail): wake an idle receiver for verified peer mail (SONNY-4946)
  • 60621554309d3062428791efdaee56cdea41e8e7 fix(agents): tell agent_search callers whether a sub-pack can write files (SONNY-4829)
  • d68d9576489758e58416cb133b0c8d69124a6f53 fix(app): fold restart recovery reads in bounded journal pages (SONNY-5019)
  • 2263ea6880c2a08786143e8b4095185cf4f71284 fix(app): retry a failed startup re-host with a bounded backoff (SONNY-4905)
  • 3938071f5bf1fadde09a138302cca68daac319e2 fix(app): retry a hosted re-host until it succeeds and audit journals in the background (SONNY-5045)
  • 954764a444da71124fd01c101c08d9a34626799d fix(benchmarks): reseal the TCE fault report for the go1.27.2 toolchain (SONNY-4927)
  • 70b13e409538ee8e095dac8e28cac37a4d277f9a fix(build): install the macOS desktop app bundle (SONNY-4921)
  • 87960700e6a96b3d7062b3f796f9cdb8d4d1c282 fix(build): stop the isolation engine and remove read-only state on uninstall
  • f954365d02e466ed3d094866248a880d2b7c5dd6 fix(catalog): admit tool_exec arguments against the target’s own schema (SONNY-4937)
  • 2ac91ddad74c562beed0ff73fc0111bc0d939a9e fix(catalog): certify tool_exec results against the target’s own output schema (SONNY-4940)
  • d29e43913880bb5eacc0c2f143d1fdc7e582bfbc fix(catalog): certify tool_search rows that carry MCP server metadata (SONNY-4945)
  • 86f9d30c66c98fd50af6c18251fbf01afd8fd42d fix(catalog): certify tool_search rows that carry an input schema (SONNY-4941)
  • f75394983e45ddaee4409b45d6698245103c6bf6 fix(category): never seed or route the template’s placeholder sources (SONNY-4640)
  • 615b38df55912cb45a3cc22c236bad40d31ac50d fix(category): rank sources this host cannot authenticate after credentialed ones (SONNY-1804)
  • b810d56aaf017d77667110604be47216b840e5be fix(category): retire an unedited starter catalog once a pack registry supplies models (SONNY-4640)
  • c832e2d1eedc71376ff819317c954c4fc10950fb fix(ci): canonical, admissible test TMPDIR on the build volume (SONNY-4927)
  • 778528819dbd0b22a79dc7fb7d43c907b843aef0 fix(ci): classify the nativequitqualification build tag in lint-variants (SONNY-4927)
  • 2660abce808c249cae65523554255b0d559af25e fix(ci): create no publication jobs for prerelease tags (SONNY-4578)
  • 4a6841b978311c1a3316af3f47a1db9782393c78 fix(ci): export the test TMPDIR in the script and budget full lint runs (SONNY-4927)
  • 2f5360f123adaf0e17e944ae8ae68e5ec36b654e fix(ci): give cue-handoff’s docs/user run 45m on slow kvm runners (SONNY-4578)
  • 1a45c696c5a4e1491ffa7e9efd61615e7774b91d fix(ci): give docs/user 45m on slow kvm runners (SONNY-4578)
  • bbcaf40cdc7835bbfd5711d3b3cc8f7c72f6d37b fix(ci): give drift-contract room to finish the shard check (SONNY-4927)
  • 16039e81a336df2efc6830be7e62959f1b119a52 fix(ci): give drift-guards room to upload its module cache (SONNY-4927)
  • e036c194cd68b463a82a90529d79391be4e5ea89 fix(ci): give every lint-variants run 85m on slow kvm runners (SONNY-4578)
  • 28ae01e8f39f3bfa17ca09e298fb8c1c7937648b fix(ci): give go-test shards a 150m package deadline for slower kvm runners (SONNY-4578)
  • 0b12664068d1f76571e4329fc36e9eee6f3e2c1c fix(ci): give the PostgreSQL control-store shards 100m on slow kvm runners (SONNY-4578)
  • d4a4e53d02056439671c7150165becbb81b4e681 fix(ci): give the SQLite go-test shards 150m on slow kvm runners (SONNY-4578)
  • 5b75b1ede3461d724b68712e19badad46f51aa61 fix(ci): install the pinned pnpm with npm on node:26 images (SONNY-4927)
  • c503ce2c486dff0a90320b3a7db33c7a95f07c15 fix(ci): keep superseding when one prerelease pipeline refuses to cancel (SONNY-4578)
  • 8f850702e523b96adbc7f6e92314bd35b611afaf fix(ci): keep test caches out of foreign-owned build directories (SONNY-4578)
  • a9feae652ac991315234fad16ff566a37f90641a fix(ci): keep the test temp dir short enough for Unix sockets (SONNY-4927)
  • cba2563240f890117ed82ff8f8264a45b154f390 fix(ci): let a newer main push cancel go-build and the drift gates (SONNY-4927)
  • 025a51161ff7cb8282339b645ce4c6b2a42240fc fix(ci): lint linux-prod and linux-nocgo in separate verify cells (SONNY-4927)
  • 54b516c6e02ad58cd196a6bb90bf018be0f70c5b fix(ci): name the prerelease-cancel job’s HTTP client (SONNY-4578)
  • a5d300f7ab7e500ff86148107896561cf157620e fix(ci): qualify proc v0.2.1 and synapse v0.3.3 in the CUE isolation gate (SONNY-4927)
  • 9ef00aef31661be4d8febcc682fe3db3e3f47cac fix(ci): qualify proc v0.2.3 in the CUE isolation gate (SONNY-4927)
  • 7b209e64e4f116165615e9d42c112f986656f92e fix(ci): run the production fixtures on a filesystem with O_TMPFILE (SONNY-4927)
  • 9170ac49c3915c35ad2abaaba3bad26c50ce1e8a fix(ci): set the Windows Artifact Signing certificate subject (SONNY-4575)
  • d31b7c56949a89ec0865c2227e01459c24b6c295 fix(ci): upload prerelease desktop packages under tilde-free names (SONNY-4578)
  • 099fceadd6815c5481132fc794cf687d0d9adb3e fix(ci): warn instead of failing when no build directory suits caches (SONNY-4578)
  • 05dc3f5d67aff1ed04c05181b0f79d787ec06cd3 fix(cli): onboard a gateway group through its -v1 twin when both are listed (SONNY-4829)
  • d5c7ed4c8e2cb1c46c5d0b03ff435b92f434371f fix(cli): run the MCP doc_* round trips on an O_TMPFILE workspace (SONNY-4927)
  • d28c382bb591f9d9c6160a9de7e8ca7234b2ffd5 fix(compaction): carry findings and the files already read instead of call ids and prompt copies (SONNY-5047)
  • 833f4328884e9692df146f9b68148d4d9ae110c3 fix(compaction): compact TUI and tab sessions on undeclared windows (SONNY-5047)
  • 3b25f08f1defe9e872b351b9d9a1a4824c6c05b5 fix(compaction): compact sub-agents on models with no declared window (SONNY-5047)
  • 895e7be6adcfcfc55c70d74fe48d99e67ced04c7 fix(control): observe the newest migration in the one-behind read test (SONNY-4927)
  • b27564f2da3301607d12c93b3129f466dc39715d fix(control): restate the sensitive_read effect in control/domain (SONNY-4927)
  • 0425278e9ee4dbcf2d95bd50959227ede2e44701 fix(control/sqlite): keep host lease renewal and fence reads off the bulk write path (SONNY-1349)
  • 297f65de26ab7d52960d099d502b67f5ebaf0945 fix(controlauth): grant managed sensitive-read tools under an explicit tenant-policy allow (SONNY-4939)
  • 541a2a1c597ef66eb9ec03bcc65e2acb4ed3a6c8 fix(deps): restore the pinned Geode digest and stop unpinned bumps (SONNY-4927)
  • 391c61409fe2393ef7092909287eec86131952be fix(deps): tidy go.sum and gate untidy module files at commit
  • b7a009a8088d372e6b4522bec8b9eba8d3bd5495 fix(desktop): admit packs installed after the daemon started (SONNY-4921)
  • 49693af39300cf073ce3dcf468f97579b47003f8 fix(desktop): clear the turn activity row when a hosted turn settles (SONNY-3622)
  • f080ca6e28d97467f083fed07eb645da0f8297dc fix(desktop): expose archived sessions (SONNY-4747)
  • d97a37ffbda379f2f8ba0e8bf76f5355904fd393 fix(desktop): readable text on danger buttons in the quit dialog (SONNY-2510)
  • 1d2db49bf30ffb4610bd9c640b0909335c214187 fix(desktop): retain config across legacy snapshots (SONNY-4748)
  • 172440637b9a5e17dc7042c9147d04ea6efb8888 fix(desktop): retain session approval mode (SONNY-4748)
  • 9380a355f8094a27dc3d0ad8eaf4ba26e737b5a1 fix(desktop): show live turn activity in the chat composer (SONNY-3622)
  • 7378fe9d04be108368274c8cc7a68fa1db04bb5c fix(exec): read a mis-scaled exec timeout as milliseconds and tell the model (SONNY-5047)
  • 0080c821801afa2e77c20fd76dcf269fc99bf2d9 fix(exec): run every exec child with git’s optional locks off (SONNY-5047)
  • 18badb62ed6de86e19ca1346befd9d625ba13f23 fix(hosted): commit the reply of a turn that fails after answering (SONNY-5058)
  • a5883955a57e873a0e894a2abb68e91a827e950f fix(isolation): bind managed cells through the session’s verified realm lineage (SONNY-4932)
  • 018b33099daa968d1edacb1e2f1224e776c42631 fix(isolation): bind managed execution authority to the verified managed identity (SONNY-4934)
  • 962a0cc8649ae4cc11885065d0db5ee6f68ff4ec fix(isolation): hold a busy day in Sonny’s default Docker journal (SONNY-4938)
  • e767f7f5c36487efbf9bd16f0b99d4e1d2a3d780 fix(isolation): pin realm runtime facts in managed session dependencies (SONNY-4928)
  • 1c610951af2c253844d82494639a39ee984f3967 fix(isolation): re-verify live managed realms against recorded history (SONNY-4925)
  • 76fdda3844ebe9a49ed0f84cd4f9e907a0f5bce4 fix(isolation): renew managed realm freshness with signed realm renewals (SONNY-4930)
  • e8667f2f4be2fa8c66027247a37367321f0a4d34 fix(isolation): verify managed realm lineage incrementally and lift the 4096-record proof cap (SONNY-4936)
  • 516a627d2ab5e4b4d60a7d549235872abdfdc541 fix(isolationruntime): refuse a revoked structured capability before dispatch (SONNY-4927)
  • ee2fbd170581774b61844fd971bd1d9c56455512 fix(lint): name the project tier and capability result key (SONNY-4578)
  • 59545c0544b362483c24058b9e8c5713c2c6f333 fix(mcp): always admit Sonny’s own sonny-internal server without an allowlist entry (ENG-5221)
  • d343bc4ecbc612fc67103ec2e477236d7a732eb3 fix(mesh): answer a peer for a closed recipient as closed (SONNY-4943)
  • 1dd7e88af284ff2a84a1085f5099ba656b88df4b fix(mesh): back off agent mail resends and stop them on a received receipt (SONNY-4944)
  • f83d0a2e4eddbc66b0bb69134083a399ea700246 fix(mesh): fail a hosted turn whose output copy falls behind (SONNY-5013)
  • 6722a449b1a93b0738bcdb2ef5f74af22aa208df fix(mesh): give each session stream its own copy of the output (SONNY-5012)
  • b6e3a9e3a18212b60f9a3749d106fa4d8bb422ca fix(mesh): give the managed peer-wake tests slow-runner headroom (SONNY-4578)
  • e35d35b5bb3b7b6798fa550e1b24ecf69bda851f fix(mesh): interrupt a managed session whose host lease is lost (SONNY-4943)
  • 256adf660dcdcc133705b1fd024d9e94fd35e744 fix(mesh): issue a real control-plane grant for every managed catalog call (SONNY-4935)
  • f38cb60c9ac51da5093b091b99bfdc8aadf1fc63 fix(mesh): keep sealed turn prompts out of the turn run aggregate (SONNY-4947)
  • ba1d20929722a842c2cde1db3ff8fe11d7fe775f fix(mesh): re-host a Desktop session whose lease lapsed with no competing holder (SONNY-4943)
  • 7ef53db0decae8b5ba7533561dc63a2de06351b9 fix(mesh): re-observe a peer grant until its mirror is observed (SONNY-4929)
  • e57a9a0d2fb81211f1b124c660cffdf7d3ff9f01 fix(mesh): record managed operator turns and wake idle receivers (SONNY-4942)
  • 5f227babc7bcfae3ad5b5346fe584ce445f4e9fa fix(mesh): seal the reply and tool results of sealed turns in their run aggregate (SONNY-5010)
  • 63d8c3b84574832268857e973edb113ac400d751 fix(mesh): settle a managed node’s sessions as INTERRUPTED at restart (SONNY-4931)
  • 851b704dbccdf1de3664655eb67e7aea54937206 fix(mesh): settle terminated managed sessions and cancel turns (SONNY-4948)
  • 98ea0a8427f994c8d61f70cfd799c34c3e3a82a6 fix(mesh): stop resends to a closed recipient and cancel the sender copy (SONNY-4944)
  • 81e3ecdf8029f4ce9ca8aae0c3e40c5f6fb5e584 fix(meshengine): record a canceled outcome for hosted turns on daemon shutdown (SONNY-5047)
  • cb324cfc4a354240d8197db065f6f63dd3ebba35 fix(packaging): make fresh-install work and repeat on macOS
  • 45c980c6d608b73acc3db322abb2b424d7acfc22 fix(packaging): retire supervisors on every endpoint before an install (SONNY-1349)
  • 36a6e7a9d1f664ec0a1fae83255c07f69cbbc825 fix(packaging): terminate a supervisor the protocol cannot stop on install (SONNY-1349)
  • 5672d5374cdb1f13268e4d636d0bdf1bb097c843 fix(packload): validate CheckInheritance against llm v0.45.0 (SONNY-4927)
  • 80aae863a0e10dd7cc3146d42f7b4a6421cf48d4 fix(packload): validate CheckInheritance against llm v0.46.0 (SONNY-4578)
  • 51d17241e5b3a06632c463656a7fce2b9561c815 fix(packs): stop startup pack fetches blocking startup or dying silently (SONNY-4829)
  • 1b933b18546a8677f60487f6a307d43a4ba89f8d fix(permission): run workspace-free tools in a chat with no trusted folder (SONNY-4927)
  • a975de0900a58b5d841f15ddebbc2f3d9c5e6a35 fix(planbaseline): let the recovery report settle journal records (SONNY-4927)
  • 197c694cdf7552e4639cb9a2cc168c5c0b32ff8b fix(projection): settle session state from an external writer’s turn activity (SONNY-4113)
  • 5fdbc78657f6b59d9d00f6d194ee807e735a1aef fix(projinit): reuse an identical generation on disk and keep the title checkout-independent (SONNY-5047)
  • 405c6b376e4ccd3ecc046e2e3084f25a7728569c fix(promptcache): send a stable per-conversation prompt_cache_key on OpenAI-wire requests (SONNY-5047)
  • b195cd335cbd4e8c7cb1ef34e75272ced1fd85c9 fix(provider): send a catalog row’s api_model and params from every session binding (SONNY-4829)
  • d1276c69782952c282db6e773eb5774509f163ab fix(provider): send the catalog row’s api_model and params from hosted sessions (SONNY-4829)
  • 35b2d1dcc05bcd383eae4a5b8f881bd14200dbbf fix(release): give Linux and Windows desktop builds a two-hour job budget (SONNY-4578)
  • 3bb991a9050d56950d8012388f12336af5411335 fix(release): name and depend on prerelease desktop Linux packages by their deb/rpm version (SONNY-4578)
  • b2e59bd77ecc1bf390d221aa730aa1105f30f012 fix(release): publish prerelease desktop deb/rpm assets under the release version’s dash (SONNY-4578)
  • aac88ad4bf4e21b76fae573c490bfaf703989a16 fix(release): put the macOS signing keychain on the search list (SONNY-4578)
  • a603b6eae6cc942aacf816748f31a93dd7ad9978 fix(release): unblock the desktop signing candidate on macOS and Windows (SONNY-4578)
  • cf57ec852b788ef666e8247bbe3699e80d2bff58 fix(release): verify the WebView2 bootstrapper against pinned Microsoft roots (SONNY-4575)
  • b90b95623cd00bd8c997ff9703f74942e33bf3c5 fix(routing): classify a local param refusal as policy and say what to change (SONNY-4640)
  • d2e1e08190f58c0fa2a8582edbd762aed8f8377f fix(routing): fail over to the next candidate on a capability rejection
  • d6895598ea9276440f327b6479bde993a56eb745 fix(routing): fit routed primary requests to the dialed target’s window (SONNY-5047)
  • 286670d0ef00e1a9795088ee3f7570bb0c97e00c fix(routing): retry an undelivered provider hang on the same target and bound inactivity, not age (SONNY-2290)
  • 84b747594c2b203db059a5abaf14ff02a8713734 fix(routing): settle an overrun hold and keep the paid response (SONNY-5047)
  • bbfaa9a1ea381129bf9388ab2d7aede51b64aece fix(routing): shape reasoning effort for tool-bearing calls per deployment
  • 6477b684d5b34b510540550ef52a7d940bd486ec fix(routing): stop fallback targets inheriting the primary route’s reasoning effort
  • 6ffafcdad100650fa99d7ba1e744ef5fb679ee92 fix(runtime): bound how long child reconciliation yields and retries (SONNY-5047)
  • cac98af30a45411b5252e162937bc21f03af34df fix(runtime): end a blocked goal as a turn waiting for the user, not a failure (SONNY-4927)
  • 22edc37c29ac4b2e8e6c8484c27d313e77ef8167 fix(runtime): end a workspace-less policy denial with an actionable outcome (SONNY-4927)
  • 3c36fc32797972bc44cf6ff2ce989854f602a70f fix(runtime): give the goal completion review its own output budget (SONNY-4927)
  • e4a3e97be474aefc3cfe3991ef8f9883e2d5e8d3 fix(runtime): give turn finalization writes the store’s lock-wait budget (SONNY-5047)
  • 2a3f97315d9a100e5d83a8ab6aeae6426942cbc2 fix(runtime): keep child reconciliation from starving the live turn’s writes (SONNY-1349)
  • 794bb6ef841e24a1b4e228a83fc9e9f68d5e5b74 fix(runtime): let a canceled Sonny git delete its locks before it dies (SONNY-5047)
  • 68eb18563760f48d8459cfbcc9f708394477cfc4 fix(runtime): relay sonny run children’s journal appends through the parent (SONNY-5047)
  • 304f3130e91e403eb626be99c068121b8aca9550 fix(runtime): remove child worktrees that hold no work under the integration claim (SONNY-5047)
  • f02542bee68b105d258b856fc3957382570e69ee fix(runtime): retry a reasoning-only review once and keep an unreadable review unverified (SONNY-4927)
  • cfde30f6350e1bb2d033bace646ed6c1f0be6f57 fix(runtime): settle a relay’s conversation with the task it forwards (SONNY-4926)
  • 0633af9451d0a4a416288e42b8643c65d039c18d fix(runtime): verify a resume from the verified head, not the whole journal (SONNY-5045)
  • 17af8c9bf4a377e2999e1e448cc8a308af9c7597 fix(runtime): verify a session journal from its verified head (SONNY-4905)
  • b505fe35b990a6e42627c1ce8281020266e92940 fix(runtime/hostlease): treat slow renewals as unconfirmed, not lost, until the lease expires (SONNY-1349)
  • 7afa6b7b730d212e8c5376f9ed8ff950a1acb411 fix(runtimeworker): wait briefly for a session’s previous fence (SONNY-4927)
  • 99a39bf5dc27365e75ffc3d654bb2169de17c9b8 fix(store): back up every event of a long runtime journal (SONNY-4905)
  • 9dcdae9ff0623ac109189addca565bd296830bd8 fix(store): checkpoint and truncate control.db’s WAL in the background (SONNY-5047)
  • 67d64f481b4bc4856bc6c1cfe528868fef6629b0 fix(store): keep host lease renewals from starving under bursty write-lock contention (SONNY-5047)
  • 1f42dc66b203b5f09054e752253ae66e507ad8fd fix(store): keep the re-host heap test out of race builds (SONNY-4578)
  • c92e6752feb4111aa8c6b6ad72da3584a368b1fd fix(store): retry transient fixture database drops within a two-minute budget (SONNY-4578)
  • 8bcc9102b698dda7ac6cc6214ad7643aba8f6308 fix(subagents): ask a read-only child for file contents only when it must create or change files (SONNY-5047)
  • a3bb185aa840a9d67ea9045569e958dde4beea70 fix(subagents): bound mis-scaled exec timeouts and surface why a child exited (SONNY-5047)
  • 6e0ce79cd9d332184f38bda1120760f8cfa05663 fix(subagents): stop a delegated child’s no-progress loop and deliver parent input mid-turn (SONNY-5047)
  • c66708382312e8ae45138b83f9b7669798ed1125 fix(supervisor): keep serving when a client hangs up before Accept
  • d7b8d3f8e7f38c52d3e90936e39f2604c90699e6 fix(target): learn which reasoning remedy a deployment accepts beside tools, and stop on none (SONNY-4829)
  • b2c68e83d9f82c844022de3e230bb8cec14c9026 fix(target): reset only after the request is read in transport-error tests (SONNY-2283)
  • fa771e7f5f0326b9e8bcf37387a6136711aa6a91 fix(target): retry a tool-bearing turn with reasoning_effort none when LiteLLM rejects the pair (SONNY-4829)
  • 836d8101a57c58617058dd4ad25442b2818ba987 fix(test): give expiring store fixtures 15s on slow kvm runners (SONNY-4578)
  • 032dd83f2255c61f91895c565fa2ee5b33fef5b1 fix(test): give the expiring relay tasks a lifetime a loaded host can answer in (SONNY-4578)
  • eacf433cf06e45d72d83a5b40fe79022a817c901 fix(test): give the wake expiry fixtures 15s on slow kvm runners (SONNY-4578)
  • 6f40d81c811c36dcf9194c5e99ce75251b8d588b fix(test): leave the peer fixtures time to confirm a stalled lease renewal (SONNY-4578)
  • 73231952b83b1e533f33b2b992471e0ade992d96 fix(test): reconcile drifted parity, CLI and mesh peer tests (SONNY-4927)
  • 1e8d4526b540e3fb9a371e8d95296ebd2aefca24 fix(test): run the resume measurement as a smoke check instead of skipping (SONNY-4578)
  • 0b0766d26385c838897181c31d027a004a2325de fix(tools): keep MCP out of the work-management model surface (SONNY-4578)
  • 514580021e63f224dc4b1daa0753f441d7d1675a fix(tools): provision private staging for in-process workspace scopes
  • a553a740262acadc2d4ebe76f48c24c381f748ee fix(toolscope): declare the agent-process tools with spawn_agent so the tools array never grows mid-session (SONNY-5047)
  • 886d308f7854db975ef820b5faba2592258aba84 fix(toolscope): keep read_tool_output reachable for restricted packs (SONNY-2338)
  • 76af4c6e99857be3f093700553b1ccffa0aa818c fix(trace): name ScanError files relative to the scanned root (SONNY-4927)
  • 4a1278ff9d2c7a27afdfcd77c8791b77d3fa09c2 fix(trace): record the child’s own identity on agent_session (SONNY-3592)
  • 309facd3cd0d9c087f052832e5e23aba9b5d45f4 fix(tui): admit picked and pinned models through canonical routing
  • d66468d5f5bc5634e862f8a2d0d232eb24669058 fix(tui): authorize primary factory against served profile identity
  • 281a23e06212b33185c474d5edb9a9d2ffcb4c3d fix(tui): bind picked api_model rows through canonical routing (SONNY-4829)
  • afbbd4bfdbd6a39044ed28863501b2c946616916 fix(tui): fence turn activity with the host owner the turn ran under (SONNY-1349)
  • 13413f10b72ebf71dccf565997e31b7c76225906 fix(tui): keep local turn activity over a stale daemon projection (SONNY-4113)
  • b01535894bcf59652127579af83a365dd39d67aa fix(tui): record external-writer turn activity in the session stream (SONNY-4113)
  • f6fb31d953f56055052f69b2b261205fc8339de7 fix(tui): recover a sealed external writer owner on a new lease generation at the next send (SONNY-1349)
  • 562c57a713b2a83f41cac82a09f075859bd6401f fix(tui): send the TUI’s route switches to its daemon session row (SONNY-4113)
  • c1d23fd01d7720e7f0e1d0a521368e2fa62dc2ee fix(ui): apply a same-id pack switch whose content changed (SONNY-4927)
  • fab72c71aa83f5292d8a981da253ec5766196f5e fix(ui): filter the environment start picker by the latest running set (SONNY-4927)
  • e250dc697929d70a99adb7283775aa0ab1035430 fix(ui): keep a session busy while its sub-agents run (SONNY-4113)
  • 42da019f7c41773337349eda3b39af96785fc83b fix(ui): keep text streamed before a cancel in the interrupted reply (SONNY-4927)
  • f223b05dcb6dc1bc6550e2511252b3103d23fa7e fix(ui): keep the shown plan revision rendered while it is re-read (SONNY-4927)
  • 973eef43f49fc90163b3080caef4220253cc478d fix(ui): let an in-flight turn settle before quitting the TUI (SONNY-5047)
  • 777a1de75cf78ca78b02949cc1e2614b34b89b2a fix(ui): re-list New chat models after Settings closes (SONNY-4921)
  • 179ef0aff66545127289f33e315f7a692013672d fix(ui): restore the frozen ui install and the /jump and /split gates (SONNY-4829)
  • 1fd052f4524b5b6713cfc44167cfdfdea65494c9 fix(ui): say “canceled by user” only for a cancel the user asked for (SONNY-1349)
  • c8bd4bcc7c9da0dd3fbeec3f0e5d0b4114abbd64 fix(ui): stop calling a /models selection a pinned model in the routing log (SONNY-3150)
  • 375bee33a766eeaa8824a9d896cf1bc4b9bb61d9 fix(workmanagement): satisfy repository gates (SONNY-4812)

Performance

  • 52baf6680dd01a8994b3ca9fe0a72c6bc969fa2f perf(ci): let precommitci-authoritative read the go-build caches (SONNY-4949)
  • bc61baf7b019b0138b8bf56183b6db7d948a203c perf(ci): publish docs beside validation, only when docs change (SONNY-4950)
  • 1f6d01bc616cb52e5e6d3b9885df23428ef2a6cc perf(routing): store shared route snapshot parts once, content-addressed (SONNY-5047)
  • c484bc52fd844659cb8dbf3a6bca9a475f7881a7 perf(runtime): store session state in append-only rows and checkpoint periodically (SONNY-5047)
  • 39a702476392dadaf8a4c54cb619e7a039392ffe perf(runtime): verify the journal once in InspectRecovery (SONNY-5019)
  • 221227107e94ca2bbeb2a6e3922458a25453b29e perf(store): verify a long runtime journal within the re-host bound (SONNY-4926)

Others

  • 9222cf675a3fb5306bf98b7d8ac4a6ff026a713a Merge commit ‘050a08f6d1015697f1588138bc353435761f839b’ into codex/direct-merge-197-606215
  • b9bec7e1e052a4ec49cf56410836bfa896847ae6 Merge remote-tracking branch ‘origin/main’ into codex/sonny-4812-4815-support
  • 050a08f6d1015697f1588138bc353435761f839b Merge remote-tracking branch ‘origin/main’ into codex/sonny-4812-4815-support
  • 0b290a166ee30a84a1ad20a0c84fc53af9d24ec8 chore(init): refresh the tracked project init state for AGENTS.md (SONNY-5047)
  • ea083cbc7af02baa20ce7197fb7cb9ed85180783 chore(release): bump to v0.12.2-rc.7 release candidate (SONNY-4578)
  • 63323505044793078ee6af2e626ac1ea1a648ed8 ci(release): sign Windows desktop builds with Azure Artifact Signing
  • 371e6385d90528f6d8272e0ea0258c92e198cf25 docs(architecture): record resume verification from the verified head and its security decision (SONNY-5045)
  • 5f8d4fc887f4c61997c491d59f851e9e65d966b8 docs(assurance): inventory the sonny worktrees prune command (SONNY-5047)
  • c3015a52f4d6dbda7f020abde06cc7a6c52b696c docs(assurance): re-pin the models list probe after credentialed-first ranking (SONNY-1804)
  • ca7ef186a728e5cf3d09a913c52255ecccf4f57c docs(codeindex): recheck the codeintel contract against llm v0.42.0 (SONNY-4927)
  • b13828a74513c7bd4ca3112988ec7b4c74243075 docs(messaging): record the blocked stage 2 canary fourth attempt on 63d8c3b84 (SONNY-4652)
  • 171fcc7a3241d6f0cae65ee7864923395adbb414 docs(messaging): record the blocked stage 2 canary rerun on e707f9e62 (SONNY-4652)
  • c1e4347c462eafcce9424f8255d2dd168ca9fad0 docs(messaging): record the blocked stage 2 canary third attempt on 1c610951a (SONNY-4652)
  • 23fd2abdbd27fdde43e4eb847f6dc6eb077be4a4 docs(messaging): record the stage 2 canary eighth attempt on 62bd6116d (SONNY-4652)
  • cb65030f5282accbd44d5b43708c1d079b8486ee docs(messaging): record the stage 2 canary fifth attempt on f954365d0 (SONNY-4652)
  • 5827d5e91de90bb6d0f6cc052a493399d32c8f57 docs(messaging): record the stage 2 canary seventh attempt on e57a9a0d2 (SONNY-4652)
  • ac0efafdda892852f8af1efced73592bd05335e0 docs(messaging): record the stage 2 canary sixth attempt on d66468d5f (SONNY-4652)
  • 8024bf9a640ea266029def02c6ba5fcc72373e4d docs(runtime): describe the live set and the applied-key index (SONNY-4926)
  • 509c1da45e2c16b89aec5b6a273f048a98f53ebc docs(ui): record the npm-installed pnpm 12.11.2 on node:26 CI images (SONNY-4927)
  • 8325849e0507c2f8d2c6f1398e0bbfbfbe687f23 docs(validation): record the live recheck of the session stream fan-out fix (SONNY-4652)
  • 7fc4cc58b4a3a5a3197161a9b4c1668fa4c42d8b refactor(workmanagement): reuse named MCP instances (SONNY-4812)
  • 8adbbd510ecba209de5263f01cc355ad5c74207e test(a2a): cover the native relay pump’s dispatch, retry and answer paths to restore the coverage floor (SONNY-4578)
  • da34adeb11df4e2aee9a021eeaa30949daa5c095 test(a2a): keep the federation soak’s TLS certificate valid for the whole run (SONNY-4647)
  • a5c6ba1916197c946caeb11384884e3836d78635 test(a2a): keep the relay’s held forward below its I/O bounds (SONNY-4927)
  • bb274870f02893d09e7a161eb7384b1e29b3761f test(a2a): release each restart’s runtime in the federation soak (SONNY-4647)
  • ea873941532e572ed6a9a216d792ba1af29b0295 test(a2a): report p99 and each task’s latency in the federation soak (SONNY-4926)
  • b5f11891285ff221e139bd58e4cce82a08e9af6a test(a2a): report task latency in the federation soak (SONNY-4926)
  • 2629c082fed08e06aea44f1196d4d94592fd8c5b test(a2a): size the restart journals for the race detector (SONNY-4927)
  • b6dc9d41c9a70dc297a682f0ac00ac9e05dfe1a4 test(agents): reproduce agent_search hiding whether a sub-pack can write (SONNY-4829)
  • 757efa844eccacfc0d0e4a20b2f7598a3475549f test(app): allowlist the control-store compat reach in the facade guard (SONNY-4927)
  • 3c0ad015f575c5cda071f8de10d4120a44ade7fa test(catalogruntime): cover dispatcher accessors and history recovery to restore the coverage floor (SONNY-4578)
  • f50c3bcb9f1300cb86fc5102fe6e15f6a4a98297 test(category): reproduce template placeholder sources being seeded and routed (SONNY-4640)
  • 9b56910dd900a6d3a896d08965eb4ec8ab036a51 test(ci): reproduce docs/user timing out on the slower Lab Servers runner (SONNY-4578)
  • c1378390481af3316744f4da7994abe01a473aa9 test(ci): reproduce publication jobs created for prerelease tags (SONNY-4578)
  • e63e1a376f5e870eb16a536a9ebcfcc18559364c test(ci): reproduce rc.7 go-test shards hitting the 90m package deadline on Lab Servers (SONNY-4578)
  • 4e264565dc678d36969e4ee8bc17807fb5b54781 test(ci): reproduce the rc.7 release upload refusing a tilde asset name (SONNY-4578)
  • 185661c09a05cb89b5248b4c2903159f2e8754cd test(cli): reproduce Desktop onboarding binding legacy gateway groups over their -v1 twins (SONNY-4829)
  • b9e42ab07d81f4480e5bc270d9ff106562c3207a test(cmd/sonny): realign release-blocking tests with intended behavior (SONNY-4927)
  • 8cb794128aa7278f5f9301a2c69ea89fb41edc14 test(codeindex): review the gitenv dependency the worktree runner now uses (SONNY-5047)
  • cfa924e1845d423584bcd86a9ffa6985db479c67 test(codeindex): widen the store bound for the checkpoint kill driver (SONNY-4927)
  • cdc6b5eff50c97c143c7c9cb56f310b9e04bd048 test(control/sqlite): reproduce host lease renewal queuing behind bulk writes and child reconciles (SONNY-1349)
  • 948a4f755c9dc658af1c83b5134ba7827cbdfb77 test(envelope): track mesh push progress under runMeshPush (SONNY-4927)
  • 8f080d02ed77c79556f1372092ca3c4c24f4e2f7 test(hooks): cover ValidateYAML, BlockResult canonicalization, and UnwrapTool to restore the coverage floor (SONNY-4578)
  • ac6424d493d7eea673228be1d64cfa657df55673 test(hosted): an unreadable review delivers the reply instead of failing the turn (SONNY-5058)
  • eaa8089547627a552b14bec995e9127b76c26d6d test(hosted): expect a denied spawn’s notice after the kept reply (SONNY-5058)
  • 467f5e4d5eeeb37e723a969be0b0e9e2542cc2c4 test(isolation): pin the lineage contract for native and VM realm renewals (SONNY-4933)
  • afdef9885033d14cf53732e62406aef769efeb05 test(mcp): reproduce Sonny’s own sonny-internal server refused by the MCP allowlist (ENG-5221)
  • 5adcc670c9f7332b14532b4b29fd17c7ca763c93 test(mesh): read portable child mailbox results from the tool_exec envelope (SONNY-4940)
  • eac54fb6d4f0ea83b4201843dc251753aa54c46e test(mesh): reproduce Desktop sessions interrupted for good when their lease merely expired (SONNY-4943)
  • 44c96ff973827ee593d2f22ccebc675081a1e24a test(mesh): settle wake binding charges before checking holds (SONNY-4927)
  • 184f4bb6129c237907450ce98fb1989706874e17 test(meshengine): keep message recovery inside the receive hang guard (SONNY-4927)
  • d29f1037c44d9349808b0ffd75f63351e82a7d05 test(packcompile): route policy decision_policy packs like governance (SONNY-4927)
  • 1e484a4fc5dabe8c0778161eb8769107d8bd7f4f test(packs): reproduce a startup pack fetch killed with no reason (SONNY-4829)
  • d66b99c04b7a7dbf953ba6219a265641379475da test(projection): reproduce an external writer’s turns never settling session state (SONNY-4113)
  • fcff5a9c49c17dc00684af194123cc6807818ec1 test(provider): reproduce hosted session sending the catalog id instead of api_model (SONNY-4829)
  • acd183b1d138a036037fbd50707eaa46d5851eaf test(provider): reproduce hosted sessions sending the catalog id and dropping row params (SONNY-4829)
  • a9ff6a0d8dfd41b2922f65d797e9f3b771bac294 test(release): reproduce prerelease desktop Linux packages failing their contract (SONNY-4578)
  • 8063325eb23dbec87d5e2e11228b6105727f36bb test(release): reproduce rc.5 desktop builds exceeding the 60m job timeout (SONNY-4578)
  • 2aa05131deca238d7222222bf341b14aef42b8b4 test(release): reproduce rc.7 build-release failing to attach the tilde-named desktop packages (SONNY-4578)
  • 621fff543f9a6ec386401b23af5bb931aa40c721 test(release): reproduce the v0.12.1-rc.1 desktop signing failures (SONNY-4578)
  • 4319b8b99fe212056b4b1be5ac194b842ec03a5f test(release): reproduce the v0.12.1-rc.2 missing Developer ID identity (SONNY-4578)
  • e288f8a687dc4fd9a7e7dd04d6c677b66a643c6d test(relverify): mirror the homebrew-publish v1.55.8 include (SONNY-4927)
  • 0dee8caa026c4eb7f203f2793847b54cd6bb8174 test(routing): reproduce a local param refusal reported as malformed_response (SONNY-4640)
  • fd688d431acea03deb5137f7c2e67ce9d6fb6bd6 test(routing): reproduce primary reasoning effort leaking to fallback targets
  • 2b577e73689dff4d95b0d6d427ab1690fa68a393 test(runtime/hostlease): reproduce one slow renewal permanently sealing a host owner (SONNY-1349)
  • 9220cd0a84cc70efcf940a4c5699b995c670fe04 test(security): skip the proc-environ probe when the runner holds CAP_SYS_PTRACE (SONNY-4068)
  • 41486ae9824347ccd867d2c286f62d0b1aea23c3 test(sessions): reproduce Desktop chats that cannot choose a workspace (SONNY-4927)
  • a660a64c569ef56963b2575c2d6a179f5f7e09fa test(sqlite): run the verify measurement as a smoke check instead of skipping (SONNY-4927)
  • 2b744200fad4891a29d8f4f2d3a11184304cf3cf test(supervisor): reproduce desktop startup exit status 4 on macOS
  • ca4402ba6f0fb945dd92dfd3600ccdd3ab0e8c00 test(target): reproduce Desktop turns failing on LiteLLM tools+reasoning_effort 400 (SONNY-4829)
  • 98479345c5df35cf18b6d71b86fb6c0e2a40e0a5 test(target): reproduce the tools/reasoning retry poisoning astra with a rejected none (SONNY-4829)
  • 60023c5ac6794178fe29adceb521186ba998a995 test(toolefficiency): check the CI Geode service against the pin (SONNY-4927)
  • 6e4cca85f2b361ae61a03397fc9e642e8bd9905c test(toolefficiency): reseal surface parity for the wired history stage (SONNY-4927)
  • 7d59a7498d0615098ba48351a323ae92f820c1a9 test(toolscope): exempt the activation presentation schema check (SONNY-4927)
  • 4e3bd743575fdc2307ca89de01a2281b80472894 test(trace): reproduce agent_session carrying only the parent’s identity (SONNY-3592)
  • e9e73a9dac3fadf92ec71ed60216b6251746c3e8 test(tui): reproduce a sealed external writer owner refusing every later send (SONNY-1349)
  • 4485fdbfc37b202bd96024db953e482b21a366d4 test(tui): reproduce picked api_model rows bypassing canonical routing (SONNY-4829)
  • 82453e8b87960eea3a1bc20de1de3e09bcc31ea2 test(tui): reproduce picked-model bypass of tools_with_reasoning gate
  • 7931994c61ea14b32ea51276e05658f0177f5213 test(tui): reproduce primary authority refusal under profile tenant
  • 61c51d21b5aad4265489a6bb6c11458d694901ac test(tui): reproduce turn activity refused after host owner recovery (SONNY-1349)
  • 5d49f080da9462636b2b8b1b2ef6955f9733a6d7 test(verdict): cover claim validation and signer key checks to restore the coverage floor (SONNY-4578)