{"assets":[{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny-api_0.10.53_linux_amd64.tar.gz","platform":"linux","sha256":"38c70e94e23098036ff6622437946b0c6de418fa9a12c35ef160c0975302f05b","size_bytes":27272016,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny-api_0.10.53_linux_amd64.tar.gz"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny-api_0.10.53_linux_arm64.tar.gz","platform":"linux","sha256":"0156add873ac386fc4fcf0d91743693b4be2583a7288e156c9a586ea478f965e","size_bytes":25137818,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny-api_0.10.53_linux_arm64.tar.gz"},{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny_0.10.53_darwin_amd64.tar.gz","platform":"darwin","sha256":"9f8ce47aad85a925c421fed1a8513d368881115c7efd7b899a15ecd20bd8d71d","size_bytes":36886517,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_darwin_amd64.tar.gz"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny_0.10.53_darwin_arm64.tar.gz","platform":"darwin","sha256":"7c005033631e9bce5128a2a7a112347aa73a7732922bb42ca56536d42936b6b6","size_bytes":34857402,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_darwin_arm64.tar.gz"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny_0.10.53_linux_amd64.apk","platform":"linux","sha256":"cb9debf925e494974b79c9552783dcc896a62fcd4f98b9d16c683e0fce5ca2b3","size_bytes":68289993,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_linux_amd64.apk"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny_0.10.53_linux_amd64.deb","platform":"linux","sha256":"f48690aff501fef28d7571468b033fb0e9b421d82d8e9297b9766afb4d34ef14","size_bytes":65394182,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_linux_amd64.deb"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny_0.10.53_linux_amd64.rpm","platform":"linux","sha256":"b135383dc381cd26ec5e25aee259d68717640c2f275cb5d52813a6c777aee369","size_bytes":65413913,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_linux_amd64.rpm"},{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny_0.10.53_linux_amd64.tar.gz","platform":"linux","sha256":"ef077f9dc35fc60ad803a3110dc9d76a31f7624df5b172228f4ad95c46b61ce7","size_bytes":38151612,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_linux_amd64.tar.gz"},{"access":"gitlab_access_required","architecture":"arm64","kind":"installer","name":"sonny_0.10.53_linux_arm64.apk","platform":"linux","sha256":"c70f2185495a5492daeb0e9cc9a07c8656cf416aa379f5da34619776e3dc743e","size_bytes":62726002,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_linux_arm64.apk"},{"access":"gitlab_access_required","architecture":"arm64","kind":"installer","name":"sonny_0.10.53_linux_arm64.deb","platform":"linux","sha256":"a2f6c8bd923b425f981eab19d45ed19b706a588a40907bdc06e36e534b2314d8","size_bytes":60290088,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_linux_arm64.deb"},{"access":"gitlab_access_required","architecture":"arm64","kind":"installer","name":"sonny_0.10.53_linux_arm64.rpm","platform":"linux","sha256":"223bc7140e7c035b1f0fd34211c4baf882d6be84872b4410df3d8c762c5bb2f7","size_bytes":60316326,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_linux_arm64.rpm"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny_0.10.53_linux_arm64.tar.gz","platform":"linux","sha256":"935c1b7faab956ff2c51d3a948ed59014bb5ce9b8da2eeb258ff1f005f17fc02","size_bytes":35187658,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_linux_arm64.tar.gz"},{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny_0.10.53_windows_amd64.zip","platform":"windows","sha256":"9c5178209edf9ee1b319ce6ae38fc4e1c5f949aa96b58125e88491b44efd064e","size_bytes":36765456,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_windows_amd64.zip"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny_0.10.53_windows_arm64.zip","platform":"windows","sha256":"f046e807598cee05c7fc6e41e146c7d419ba91e7cc76d74fad84cfb94b600519","size_bytes":33316066,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/sonny_0.10.53_windows_arm64.zip"},{"access":"gitlab_access_required","architecture":null,"kind":"checksums","name":"checksums.txt","platform":null,"sha256":"74f836a9964fb058248ffae3c8889c4eedde6fa9883dab58c3c7e237890659e1","size_bytes":1376,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/checksums.txt"},{"access":"gitlab_access_required","architecture":null,"kind":"signature_bundle","name":"checksums.txt.bundle","platform":null,"sha256":"33aed65a38304cad28161bcab70dbb80dfa216fb71d24b9460e34d07454ba0af","size_bytes":9291,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/checksums.txt.bundle"}],"channel":"stable","notes_markdown":"## Changelog   \n### Features   \n* fe215d921410fd571ae33cba6888c669b3ed2bfc feat(archevidence): add the report contract where advice cannot fail a check (ENG-5094)   \n* 8ddd0ebbc648bd8ce45b667c62bdc864fbfb19c1 feat(archevidence): add the requirement manifest and a parse that refuses what it cannot trust (ENG-5094)   \n* 0add81e819b8db7c2b5e8d5f9bceda986672b2b2 feat(archevidence): bind the repository's G15 requirement tokens and compose the three rows (ENG-5094)   \n* c9a65d28b37905e2d41ed986e7818b9532a11593 feat(archevidence): compute cyclomatic complexity and report it as advice only (ENG-5094)   \n* 5b569a530a08f46fa42267a911e96aa8f48fff6e feat(archevidence): fold every unresolvable callee into a bounded unknown code edge (ENG-5094)   \n* 37e81e0915237db98dce601f7455b28b42468984 feat(archevidence): refuse to pass a requirement token without implementation and test evidence (ENG-5094)   \n* acc283d613ee36939fe750e41f7e20ab2ba16db4 feat(archevidence): report an unresolved or explicitly unknown declared edge as unknown (ENG-5094)   \n* 362a8da78ebb13461674fb94ed568703ced70c4d feat(archevidence): report architecture style and external fan-out as advice (ENG-5094)   \n* c395e35628d113f416105739fdbd03cf933b6ef0 feat(archevidence): verify a requirement only against an executed passing test record (ENG-5094)   \n* 5826053fbdf5ba283e408741ea453567c5c500cd feat(category): routing.revival catalog block wired into failover.SetRevival (ENG-5236)   \n* b6bced5eb5f36d8d3c8f7e8a87025ba90a0b139e feat(cli): add sonny arch advise, the call site for the advisory tier (ENG-5094)   \n* 6f5d493f2405e5089a7231925f5bb0a95aee1044 feat(cli): add sonny arch requirements, the call site for the evidence check (ENG-5094)   \n* 34c1123e17c90ab171c746087f04160a067d0d7c feat(failover): background reviver probes open candidates on backoff and revives them (ENG-5236)   \n* 653df41173339d62b802f5175808c423a21d09f5 feat(failover): replace the dead bitmap with candidate health and penalty-ranked selection (ENG-5236)   \n* be2c06272b6ab6817b4999d4498efec066af7386 feat(failover): session-scoped candidate health model, backoff and penalty scoring (ENG-5236)   \n* 4fab6ff7560de2c62eb2dc26bf75d1a56bf15e08 feat(tui): dim and stop the input cursor when the terminal loses focus (ENG-5239)   \n* a24462dedbadf47ed1cb38a46ae2a2a29f71765c feat(tui): drop finished sub-agents from the sidebar and tally them under session info (ENG-5238)   \n* 591511f306d0f6ee93d134c34729279e7a5576d8 feat(ui): surface candidate revivals and failed probes in the breadcrumb and trace (ENG-5236)   \n### Bug Fixes   \n* 02b9d123a224bf8527afb4d22a75f5945d6e25f0 fix(archevidence): give metric omissions their own codes, record skipped dirs and disambiguate method subjects (ENG-5094)   \n* 140292f2d6fabfd9418a8e1e8d4088b674ee1a2f fix(archevidence): pin the executed pass set in Compose and make the repository proof reproducible (ENG-5094)   \n* 5ef064f6d802405d6dbca6a11323bd5c3ddebc67 fix(archevidence): refuse a second manifest document and bound the manifest reader (ENG-5094)   \n* 6b648f8a77f52b50eb066cc17d260fd2f31fec2e fix(archevidence): resolve multi-parameter generic receivers and share the executed-test key spelling (ENG-5094)   \n* ae29249396f6fffb8c7456c06a6b8073a9440a20 fix(archevidence): resolve shadowed package names, cover every dynamic callee category and record skipped testdata (ENG-5094)   \n* 874da4f83d8767662c1fff0e616800c324757931 fix(category): deterministic revival validation error and merge doc (ENG-5236)   \n* 82e2ad72552b4fde26b0ae4586aec8d1963cce60 fix(cli): map walk errors honestly, derive advise flag defaults from the package and print each omission (ENG-5094)   \n* 265379e9a3bb6850963e503b8dabc94c46782eb6 fix(cli): spell two arch evidence comments in US English for the misspell linter (ENG-5094)   \n* 1e22081f2e7870b85900b42f87676051bf36ce30 fix(compaction): observed-usage floor, route-aware budget and overflow retry (ENG-5240)   \n* 40ed34fe5556deeeefc4a1ebd4a09b86e9a52989 fix(failover): probation re-entry penalty, permanent-probe notices and a checked revive (ENG-5236)   \n* 84f447a7f08e2c03ae0c7be68f912d5ef7f7dfce fix(failover): prober credential lookup mirrors the request path exactly (ENG-5236)   \n* 09361f8a330ef719c01456a186f57047dc0e00eb fix(failover): prober falls back to the process env; probes cancel on Close (ENG-5236)   \n* 1a7199db2a7170ab3597dc3fcd852c5ef15c905c fix(failover): stall hook targets the dispatched candidate; demote once per session (ENG-5236)   \n* 70a69ea8783b0b9c6debcbf34fdd9aff28e2a794 fix(spawn): spawn in place when the parent workdir is not a git repository (ENG-5240)   \n* 0eec25594238cb0d81fbcbb4841a1f4f20c5821b fix(ui): failover trace observer captures only the tracer, not the session (ENG-5236)   \n### Others   \n* 31480959c22a94a696d656ba6adc1d6dc66de3f7 chore(deps): pin devnw.dev/llmtools v0.5.27 for the Semgrep failure-shell coverage and rule-digest pins (ENG-5084)   \n* 03c8753bd249ced54a07326a672d4579eca75f1f chore(deps): pin isolation v0.5.6 and llmtools v0.5.28 for the G02 evidence (ENG-5081)   \n* f1c37e356ef8d7e0c50ea0ae6d05e7fb8759cafd chore(failover): lint cleanups for the runtime re-ranker (ENG-5236)   \n* 531c4f28f8283be870565218570a74db58391037 chore(merge): origin/main into feat/eng-5094-g15-closure before implementation (ENG-5094)   \n* 08f2645dcc8edc79715a86b52415fc0a2e3c9166 chore(merge): origin/main into feat/eng-5094-g15-closure before the final gate run (ENG-5094)   \n* 539b6bb9e26b09b53d99f0f208f9b19bcf0381a1 chore(merge): origin/main into feat/eng-5094-g15-closure before the push (ENG-5094)   \n* b6e3d5aa0c60d9b4d21a193d433975ef2a0def4f chore(merge): origin/main into feat/eng-5094-g15-closure before the record (ENG-5094)   \n* f5c53f541d021fef25c75d6c5504dbf747f4f5bf chore(merge): origin/main into the G02 closure branch before the push (ENG-5081)   \n* bcc60deb5c64340c8a3228f9f9afdf0a30485ac5 chore(merge): origin/main into the G02 closure branch before the record is finalized (ENG-5081)   \n* 96fcf9cb6b130d39adf0af65e21fe619f9608478 chore(release): v0.10.53 (SONNY-1083)   \n* bad1f7aece5b4c53334c399ea3eaa7278ea816e6 docs(assurance): add the G02 closure Jira drafts (ENG-5081)   \n* d44fdc16cc304685dbfc78a01578fc39d6db428b docs(assurance): add the G02 closure record with measured validation (ENG-5081)   \n* 9b599c0146ba31a32c1e0f6fbe6d93f047682c4d docs(assurance): add the G15 closure record with its acceptance rows and limits (ENG-5094)   \n* b29a6b91f5eb49a68d16a9aeb70b8da0b5df8c42 docs(assurance): apply the final review corrections to the G15 record, docs and drafts (ENG-5094)   \n* 68212d4118c3a3b610a8f97843c697761458cbe0 docs(assurance): close G05 in the ledger, the status document and the changelog (ENG-5084)   \n* 15f6c5c7a6496531d03e45139a8e7c91f772d14b docs(assurance): correct four fidelity defects in the G05 closure record (ENG-5084)   \n* 46c57b20723194f8ef0f46080f3d0c5e0d2e772d docs(assurance): correct the D13 pipeline, test-count and closability wording (ENG-5081)   \n* 86a3c60ff86f61ebffe0303db52ea7b640afbd7d docs(assurance): correct the record's commit inventory and its commitmsg gate disclosure (ENG-5094)   \n* c8f6e2bc26c6bc0d6ee0df70e2afee377aceb6a7 docs(assurance): document the architecture and requirement evidence surface and its limits (ENG-5094)   \n* 70b988309343cea7ae82ce403d66b84f7d064927 docs(assurance): draft the G15 Jira transitions and comments (ENG-5094)   \n* 8883423c03f45a030e8ba844a9151b414b72cf43 docs(assurance): give the G02 live matrix a row-by-row acceptance array (ENG-5081)   \n* 9d6254c7ff5c007d4895b1c0512b38ca80bfe0ac docs(assurance): mark the G05 closure record published after the push to main (ENG-5084)   \n* 0e863f8fa10986ecc52a6998cf8f329b9d480439 docs(assurance): mark the G15 closure record published after the push to main (ENG-5094)   \n* 153a944ca49f80281dc04480eb80fc4a8fa4d932 docs(assurance): mark the ledger description correction pending for the G05 closure entry (ENG-5084)   \n* 2bd41af688293e1cbb993d620b2f812996034e9c docs(assurance): move the G15 ledger entries to Done with their evidence (ENG-5094)   \n* b79abea542ed0928470933fee37d5a760c6218e6 docs(assurance): reconcile the native catalog record's published state (ENG-5081)   \n* 134cc51accd33ce5b738c219d2cca2a96a8f7b6c docs(assurance): record G02 Done and triage its remaining list (ENG-5081)   \n* 51ce957bb686dbbf99117dea0de23c1b78c1da60 docs(assurance): record decision D13, the G02 closure scope and its residual limits (ENG-5081)   \n* 3be8eff7f682719ff4ce06abbf7c947a0663550f docs(assurance): record decision D14, the G05 acceptance boundary and rule-artifact trust (ENG-5084)   \n* c0ffd383dec347d5bcd55d84cee4e31a6cdbed1c docs(assurance): record decision D9, the G15 scope default (ENG-5094)   \n* 84818dac54de46b1df0c28e70727d43323a922a1 docs(assurance): record the G02 isolated execution closure (ENG-5081)   \n* db99eeb0face731c3c33adada3bbb62dee426dfa docs(assurance): record the G05 acceptance rows and their limits (ENG-5084)   \n* a7d9bd9d6236299f81742bac7fce8696d6510cd1 docs(assurance): resolve the final review findings on the G02 closure (ENG-5081)   \n* b413dea3eab5f359f20c4566e30a1d0691601d9e docs(assurance): restamp the G15 record, ledgers and drafts on the merged tree (ENG-5094)   \n* 540f0004bb1571b6358c9d45413fff260d40ef1f docs(assurance): restamp the G15 record, ledgers and drafts on the pushed tree (ENG-5094)   \n* 62e1553af3e7746cdb9c3a0ff52c80825845540f docs(assurance): stage the G05 closure Jira drafts (ENG-5084)   \n* a4243c5b478e3640050f1866855f225c57cdb053 docs(assurance): state the acceptance row two mutation structure precisely in decision D14 (ENG-5084)   \n* d2c4b88d896188dd4e099081ca8b73b07a89464c docs(changelog): record the isolation and llmtools pins behind the G02 closure (ENG-5081)   \n* 16eebf231d83ce50dabd8e89cb78d71a6e3479d5 docs(cli): document the arch command group and pin its help transcripts (ENG-5094)   \n* 7a30b7d2575b1ace3ec7242a540620b66429156f docs(failover): design spec for the session-scoped runtime re-ranker (ENG-5236)   \n* 4c7e9f420b23ee1dc879868227568e3a72e953d7 docs(failover): implementation plan for the runtime re-ranker (ENG-5236)   \n* bb0531a4f125d211793501da33744bcf4ecd363b docs(failover): state what the revival kill switch actually restores (ENG-5236)   \n* 565a29bb1d1c8810f3a1bf1dad726adb6926c6b6 docs(parity): add the arch advise and arch requirements commands to the command matrix (ENG-5094)   \n* 04a9734a9cf93e8d57ee95ddd312bd40e7536221 docs(plans): add the G02 isolated execution closure plan (ENG-5081)   \n* 413abeebcdbd806a8b9a84c1c00cda1c5ef04db2 docs(plans): add the G05 SAST closure plan (ENG-5084)   \n* 1f3a4fb3bbe2462019b2d54acf4f421c313be736 docs(plans): add the G15 requirements and architecture evidence closure plan (ENG-5094)   \n* 8582f102656be3622ec5e08d449c461c550214a8 test(archevidence): pin that the arch_check gate and the admission allowlist stay untouched (ENG-5094)   \n* 135f34f6b83f882232a77d8b49608122ce24abf4 test(packs): align the owasp and governance pack contract tests with the canonical find tool (ENG-5237)\n\n","product":"sonny","published_at":"2026-09-14T22:07:39.448Z","schema":"sonny-release/v1","source_commit":"565a29bb1d1c8810f3a1bf1dad726adb6926c6b6","tag":"v0.10.53","verification":{"checksums_url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.10.53/downloads/checksums.txt","historical_archive":{"checked_at":"2026-10-26T04:26:27.583282+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.10.53/downloads/checksums.txt.bundle","signature_verified_by_importer":false},"version":"0.10.53"}