{"assets":[{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny-api_0.11.31_linux_amd64.tar.gz","platform":"linux","sha256":"362535a6cf549f38a0075927f4ee5c584a2f13982862768a8b140a4a8b02c4dd","size_bytes":45712666,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny-api_0.11.31_linux_amd64.tar.gz"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny-api_0.11.31_linux_arm64.tar.gz","platform":"linux","sha256":"8025a7c6ecc5aa45698de1df08a819bfffba21e26b0d52aee13e95b4eb11e28c","size_bytes":41952833,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny-api_0.11.31_linux_arm64.tar.gz"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny-desktop_0.11.31_windows_amd64-installer.exe","platform":"windows","sha256":"9afed147a73c895610a63af285e62638c8152059944118e269d7545dd46f4bc1","size_bytes":133677707,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny-desktop_0.11.31_windows_amd64-installer.exe"},{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny_0.11.31_darwin_amd64.tar.gz","platform":"darwin","sha256":"ea7034223b65130fa8e3d81bc14dbc286420e3073a49b3573cec146142e55b1b","size_bytes":60854272,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_darwin_amd64.tar.gz"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny_0.11.31_darwin_arm64.tar.gz","platform":"darwin","sha256":"0a9e46ae9cfb241c4a40f604424b95ef06f28617d760e1797aea979b1e7b756f","size_bytes":57193317,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_darwin_arm64.tar.gz"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny_0.11.31_linux_amd64.apk","platform":"linux","sha256":"b11dc3d5a1672fd1fc66c47d3ae05dfaaf4b84de864dabb24b8192f1418cb82f","size_bytes":114166573,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_linux_amd64.apk"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny_0.11.31_linux_amd64.deb","platform":"linux","sha256":"133b676c36540f13a04b6c8a4d9cee3b2ef521bf1c2b54f363cf7df7ca70abd6","size_bytes":109219178,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_linux_amd64.deb"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny_0.11.31_linux_amd64.rpm","platform":"linux","sha256":"715fd8083f54229cf5587b19b1eaf7d3c62112ff2221680a10774565fcd7549e","size_bytes":109247991,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_linux_amd64.rpm"},{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny_0.11.31_linux_amd64.tar.gz","platform":"linux","sha256":"a4569263a705372f0cdddc7dab4333b02097f226a4ed137c5aa62317944cf313","size_bytes":63540681,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_linux_amd64.tar.gz"},{"access":"gitlab_access_required","architecture":"arm64","kind":"installer","name":"sonny_0.11.31_linux_arm64.apk","platform":"linux","sha256":"ec76a0fa5587fd4454efebf47cc3a4839d98c22dcd5526610eb11328ff22168b","size_bytes":104538313,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_linux_arm64.apk"},{"access":"gitlab_access_required","architecture":"arm64","kind":"installer","name":"sonny_0.11.31_linux_arm64.deb","platform":"linux","sha256":"ec85807f9c64da87fcef48a7fdaefb726ca2443ebeb07df4e54f58d8dc1defbb","size_bytes":100369154,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_linux_arm64.deb"},{"access":"gitlab_access_required","architecture":"arm64","kind":"installer","name":"sonny_0.11.31_linux_arm64.rpm","platform":"linux","sha256":"390b9b9caa0e177366ee3286be5ec75fd08a706f7262ceb25410fa69645b6a9c","size_bytes":100407647,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_linux_arm64.rpm"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny_0.11.31_linux_arm64.tar.gz","platform":"linux","sha256":"39e38b2748ab379756b76cd483d1a4c1ffec1f14900415494d85d81f362e6abb","size_bytes":58439029,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_linux_arm64.tar.gz"},{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny_0.11.31_windows_amd64.zip","platform":"windows","sha256":"149db0289f568dbbd62915e397984a52d85201a81e83e14a72bdb812c421a01e","size_bytes":60728755,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_windows_amd64.zip"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny_0.11.31_windows_arm64.zip","platform":"windows","sha256":"2590f10b0adb1419eaeff6c39d98b3c73d264d534884ae9cb6645d74efaadf81","size_bytes":54944788,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/sonny_0.11.31_windows_arm64.zip"},{"access":"gitlab_access_required","architecture":null,"kind":"checksums","name":"checksums.txt","platform":null,"sha256":"eeeb74ddc3719440e9d836963fbf43e16ad05b37caacf7108c9a38f21a4960f9","size_bytes":1492,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/checksums.txt"},{"access":"gitlab_access_required","architecture":null,"kind":"signature_bundle","name":"checksums.txt.bundle","platform":null,"sha256":"f8709f0d9963d2bde29662507fbd94b2c835a4ab7a515cbc29e21e3bbc79e034","size_bytes":9455,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/checksums.txt.bundle"}],"channel":"stable","notes_markdown":"## Changelog   \n### Features   \n* 21657da299ab8afdc9c0ae92f01257abeae732f7 feat(canarybridge): join declared tests and benchmarks and route structural relationships (SONNY-2074)   \n* 771248ca7c7f0ee093ee07b88ba0085e33239088 feat(canarybridge): publish and serve general structure (SONNY-2066)   \n* 2601117e172c412ae5ef516e6a4e4a4ba61e67a9 feat(cli): measure models at every reasoning effort in models bakeoff (SONNY-2974)   \n* 070910118f8a13efe067cca51229e8285a505ea5 feat(codeindex): answer entity.lookup over general structure (SONNY-2074)   \n* e3e9dfd4cd0df3e3a1a723228cec168dcebfac00 feat(codeindex): answer relationship.get with observed imports (SONNY-2074)   \n* b36b9b8dcb25c533a5adbf80b93ffc0096da7d44 feat(codeindex): keep per-view dependency-domain epochs (SONNY-2073)   \n* 6bc92b0f10e78c833ab213475a9dcf9bea2cbcca feat(codeindex): prepare a publication's structure outside the write transaction (SONNY-2066)   \n* 90b447360db9d6404d6a9ed111b1b78f6c1891fd feat(codeindex): resolve Go imports at read time under dependency domains (SONNY-2073)   \n* 7eca299eba510597b98efabaa42360a58c8bf2d9 feat(messaging): admit chained wakes from verified native history   \n* a6939627bc157385250381d7615c228fb47865c4 feat(messaging): bind wake dispatch to one native physical start (SONNY-3089)   \n* 080d9b958a09d23991c6b1c65493c7efbb72d6d1 feat(messaging): fence wake dispatch from recovery   \n* eef0a3bb8d309f06dae265c385b87a2b5c4674eb feat(messaging): prepare native wake turns (SONNY-3089)   \n* e217625020922a59c595bb132eef9fea15e7a929 feat(messaging): preserve native wake message origins (SONNY-3089)   \n* e1e929072fc37ccd5ba7cc56d8039277b2e0ef63 feat(messaging): recover outstanding wakes from native history   \n* 3d8bcbe4960076cffd3d5c76f231ff4461a7b705 feat(messaging): run protected hosted agent wake turns   \n* 0586d7e5e51183f6dd69d7d28bcb5df7343f7e89 feat(messaging): settle wake reservations after physical join   \n* 9875f12c1b9ee9a6133762c96e153440be86678c feat(packs): add persistent release pins (SONNY-3304)   \n* 07d134b6ffcaefa1d9e77ea65ad2ab3cb42d952d feat(ui): add init retry and setup controls (SONNY-2188)   \n* 1805f238ade4947333c426ba3b747708a99609b8 feat: persist and recover hosted wake outcomes   \n### Bug Fixes   \n* 8ed5fc607dd17abfa96686600774508ba67dac6e fix(canarybridge): continue deferred structure without a file event (SONNY-2066)   \n* 0f93c9c279cf9e6a7e7bd4450a98d0712836c77a fix(canarybridge): read declared names leftmost and bound relationship budgets (SONNY-2074)   \n* e91f705bd5398a499528dc7bb32800741004ab85 fix(ci): pin rpm-publish to ci-catalog v1.55.3 for the curl-minimal fix (SONNY-2786)   \n* 2e823826afd7ef60cc4aae9a9adbdd253ba93887 fix(ci): preserve contract discovery and helper selection   \n* 3fc2b7a332c729483a5dc3536dea1c9e5339cd39 fix(cli): run bakeoff effort arms at the row's routed output cap (SONNY-2974)   \n* de60cc4320431b0e9ccff93c94bd322830adcd14 fix(cli): synchronize bakeoff pass identity snapshots (SONNY-3407)   \n* be93621e4d0161ee11b267fb68c90d5077283890 fix(codeindex): bound the lane wait by the structural budget and pin transient failures (SONNY-2066)   \n* 0786cb0c64128b0924fec5c828f021a1fa305c15 fix(codeindex): check dependency domains against the view and pin their identity (SONNY-2073)   \n* 235c2db86046b6b3457000684779f069b1fc23f8 fix(codeindex): harden Go import resolution and domain bounds (SONNY-2073)   \n* a9b189814143c39cca3036687f6d05bc6de7099a fix(codeindex): harden relationship.get references and budgets (SONNY-2074)   \n* b1330c3a2235d362f9d518ac5c1713333608ad17 fix(codeindex): keep content from failing a publication and pin the fail-closed rule (SONNY-2066)   \n* 45eb3cddbd2d017b847bc6193ac3b4ea52a7dcbf fix(codeindex): never verify absence over skipped declarations (SONNY-2066)   \n* 54831e3e1e637a3f3b2d5432dfd4ef35e90a4e29 fix(codeindex): prune stale structure memories per view (SONNY-2066)   \n* 474988eccd9748ddd39ce7bf065f050b112d1cd3 fix(codeindex): record every Go binding and mark markup headings as omissions (SONNY-2066)   \n* 264b9261e2ffe2e216d3ebe62a9ad3a18fe116b2 fix(codeindex): refuse tokenless phrases and derived-kind absences in entity.lookup (SONNY-2074)   \n* 1ba9726e3b550b100a84158b1636f614cd2ce786 fix(codeindex): require a domain for every go.mod and fix the unreadable fingerprint (SONNY-2073)   \n* 6512b8653e1ade33b078e0017d0235ab6fcfa174 fix(codeindex): verify approximate entity lookups only for ASCII names (SONNY-2074)   \n* 1fc9325d779d25ce16636ca39a9d455d93f4377e fix(knowledge): reject special-purpose egress addresses (SONNY-3295)   \n* 6a62b18b01c83a6dbdd868d8acbdbfc4869dbfc1 fix(messaging): guard boundary operations during native wakes   \n* 6e2276bb910d02aac6b0e5e8f375091483941dab fix(provider): keep active streams alive past the HTTP timeout (SONNY-2006)   \n* 5a6d027166b86ae6ee4b17f65e878cd978c6e307 fix(release): publish the update-repository tarball to the package registry (SONNY-2786)   \n* b5cae5aa20e1aec289dc57502275378113629a39 fix(release): retry the image push when the registry loses a blob (SONNY-2786)   \n* a1109e5505211b8979e184ca2cbe7b4304e2e7cb fix(session): bound credential waits and MCP teardown (SONNY-2895)   \n* 6780460500f37193f8fbbb6fedeb295984ac9579 fix(tui): keep long sessions responsive and honor view toggles (SONNY-2895)   \n* a81ced839f35b5c3d54b62d38f2633892c7aa7fe fix(ui): align alert panels and pad the sidebar (SONNY-3325)   \n* 166c5f9ffb99ba0ee9c9f6312e9e6e925920277b fix: stabilize init qualification and race suite (SONNY-5103)   \n### Others   \n* 6b4c7b2298717ac3f4ded71c6d082e1f7b77cd8e Merge origin/main for wake preparation (SONNY-3089)   \n* e8004bd954aa3071c4be41c9e27c50db3260d8ff Merge origin/main into fix/unbiased-model-promotion (SONNY-2974)   \n* 4dc2cf0a3e3a2379d29e37a1f3bb80b935f7e116 Merge origin/main into fix/unbiased-model-promotion (SONNY-2974)   \n* 9060f318db3cb1c60e67c3a51e5d034293abd96f Merge origin/main into fix/unbiased-model-promotion (SONNY-2974)   \n* 41fdb9be435bb519d128ffc4a9cb306d0e8b7c0e Merge origin/main into worktree-sonny-2033-sci (SONNY-2033)   \n* 1a4c6307926e7cbbd6b90bd6787c94684083b0e1 Merge origin/main into worktree-sonny-2033-sci (SONNY-2033)   \n* 7623445c6015dc9cc70bd759158c98e1f5cc543d Merge origin/main into worktree-sonny-2033-sci (SONNY-2073)   \n* c54a7123caeb939aecf1d696ca7b31a366e4508e Merge origin/main into worktree-sonny-2033-sci (SONNY-2073)   \n* bb538e70cdaf03c30e422daf7f5044248e783d7e Merge origin/main into worktree-sonny-2033-sci (SONNY-2074)   \n* bdacbce33a8878852b243e9a3f277a6637a296be Merge origin/main into worktree-sonny-2033-sci (SONNY-2085)   \n* 92c3ec24e84fc4dcf0dd014ed12278c7295c152a Merge remote-tracking branch 'origin/main' into feat/sonny-3089-native-wake-start   \n* ed332005d1cd1c19d45cc3a03978f23e6106ab0a Merge remote-tracking branch 'origin/main' into feat/sonny-3089-native-wake-start   \n* 22b97ee154b01a36070c1fef07824b6f73173326 chore(main): reconcile chained wakes with structural indexing   \n* 22138168407ec289959dd5743da81baa2fea4e5d chore(main): reconcile chained wakes with structural indexing   \n* c7f7b535984ab7d756da07977b1cc11f7ee7e89b chore(main): reconcile hosted wakes with current test repairs   \n* dc40c4a97a752d6fc39cee158953ea4093b29ad6 chore(messaging): integrate current main into wake settlement   \n* 707649b05ed820ddc049d09bdc13ec3d87eafbbe chore(messaging): merge pack and session fixes (SONNY-3089)   \n* a56f47d26f255a44bae1f67320fdcf54e16f3198 chore(messaging): preserve UI initialization updates (SONNY-3089)   \n* 4060e8fdb9bfb8fece10c084eb3d3efe676670d2 chore(messaging): preserve bakeoff output cap fix (SONNY-3089)   \n* 8676ef5e02ab97d3bc36b493bd88daf35f163650 chore(messaging): preserve provider and bakeoff updates (SONNY-3089)   \n* d7204868ca107f61437ca9f43e74dfadb33be56e chore(messaging): reconcile wake origins with main (SONNY-3089)   \n* 384db5d5fa689f7d1bd368225709626271e0b4bb chore(release): bump to v0.11.31 (SONNY-2786)   \n* 8b6bd0a9b95dbcd2c3d2e02ced96e6dc6aad6e70 chore(release): merge v0.11.30 into main (SONNY-2786)   \n* 5d60e9682711a9bb96613e2ebafe8c1a1b7dd31a docs(codeindex): keep design text verbatim and carry the SCI-D17 reading as evidence (SONNY-2033)   \n* b2dfa1b1367a8d140505b1818fa23d7d128ef3d0 docs(codeindex): make the P06 evidence honest (SONNY-2033)   \n* b484b34a15386cf8c40c3956636d37269fedec2a docs(codeindex): move the undelivered extension scope to its P08 owner (SONNY-2089)   \n* fb30f075f6c71a85f868f8ea76bc1dfab724cc94 docs(codeindex): record the P06 structure phase receipt and its gates (SONNY-2033)   \n* 609eed0792998ec073db69ba0cc94a03c4a63953 docs(messaging): qualify UI initialization reconciliation (SONNY-3089)   \n* b4fdca30aba4b70ca33642b610393754a1f23e22 docs(messaging): qualify final main reconciliation (SONNY-3089)   \n* 391f120f60824c2fc5b5c53518a906d45b8f746f docs(messaging): qualify provider and bakeoff reconciliation (SONNY-3089)   \n* 3fd35754060ef62568b68ce6759b5f0197b2e3a9 docs(messaging): qualify wake-origin integration (SONNY-3089)   \n* 1786ad70d62488ed67ab7df4285bb1a764041d0f docs(messaging): record chained wake main qualification   \n* 6f2f8a083917a76d956af2e4fa5384011e3ee86e docs(messaging): record concurrent main reconciliation (SONNY-3089)   \n* 5a5d89f1ffb3d21d040ffb79bd8cf7fb3091541f docs(messaging): record final integration race repair (SONNY-3089)   \n* 25d9f0493fee3f13c94e6b0f7340c656778dd972 docs(messaging): record hosted wake publication qualification   \n* 465bf8c5b51bc7401466abdf56554de1d7f2759e docs(messaging): record native preparation integration (SONNY-3089)   \n* cbf0baac1f33b4af29ed17a6f91cdf6e72923b5d docs(messaging): record native start main qualification (SONNY-3089)   \n* e1c4bc1c423dd9a570219f881fae5a02553e3dbc docs(messaging): record outstanding wake recovery qualification   \n* b61b3c31cf7350afab0360add60dab6a004a49e6 docs(messaging): record wake settlement main qualification   \n* 958bb328e07946d0396a7bfc0722105664821ed2 docs(plans): state that the leftmost declared-name rule leaves no ambiguity case (SONNY-2074)   \n* 4410f3c3d10bd7fdac204ce5f3581d0a4f5654d9 test(canarybridge): prove incremental structure equals a clean rebuild over the Canary corpus (SONNY-2069)   \n* 43ef54e6e9e3c9c8dedc11437a8a102d399cb8e9 test(codeindex): cover UTF8, CRLF, BOM and incomplete input per language (SONNY-2075)   \n* 28d394ace090cf382b81452e5aacd8e4c94a8a88 test(codeindex): narrow the domain read bound in its resolution test (SONNY-2073)   \n* 548ed79fba7f34731031d8d702e4a4f88e134735 test(codeindex): pin grammars, gold sets and the extractor matrix (SONNY-2075)   \n* 972fd7ba88afbb61712a78eda0d8f07784c9a967 test(conformance): add structural cases as case set v3 (SONNY-2085)   \n* 00faf13632f05d9dfd8eb2982f07990ceeefddab test(ui): resolve the installed Go toolchain for init tests (SONNY-2188)\n\n","product":"sonny","published_at":"2026-09-30T07:09:23.484Z","schema":"sonny-release/v1","source_commit":"384db5d5fa689f7d1bd368225709626271e0b4bb","tag":"v0.11.31","verification":{"checksums_url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/checksums.txt","historical_archive":{"checked_at":"2026-10-26T04:26:22.596497+00:00","newer_released_at":"2026-10-25T16:41:03.251Z","newer_source_commit":"eaf885551c5834f4bee56ea48be7b9eff768c66d","newer_stable_tag":"v0.12.8"},"scope":"Historical release: file hashes match the authenticated release checksum manifest and GitLab package metadata. Only assets with a separate anonymous streamed proof are classified as public. GitLab links require project access; neither anonymous availability nor signature verification is claimed for them.","signature_bundle_url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.31/downloads/checksums.txt.bundle","signature_verified_by_importer":false},"version":"0.11.31"}