{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/386729745","assets_url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/386729745/assets","upload_url":"https://uploads.github.com/repos/BigscreenVR/spt-bs-releases/releases/386729745/assets{?name,label}","html_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/tag/v0.69.0","id":386729745,"author":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOTY3w7c4XDQcR","tag_name":"v0.69.0","target_commitish":"main","name":"spt v0.69.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-06-07T05:12:56Z","updated_at":"2026-09-11T02:25:37Z","published_at":"2026-09-11T02:25:37Z","assets":[{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556226371","id":556226371,"node_id":"RA_kwDOTY3w7c4hJ1dD","name":"manifest.schema.json","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":48754,"digest":"sha256:297ca8b3a8d9b49d36702b974be7d9d19c25cdca93ef3e141f6989720369bd0c","download_count":0,"created_at":"2026-09-11T01:34:35Z","updated_at":"2026-09-11T01:34:35Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/manifest.schema.json"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556226381","id":556226381,"node_id":"RA_kwDOTY3w7c4hJ1dN","name":"mock-adapter.zip","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":20796,"digest":"sha256:32144ac1c9b0de64996285c899746b29f7f641448711cf88b3b5ab4e790c8984","download_count":0,"created_at":"2026-09-11T01:34:35Z","updated_at":"2026-09-11T01:34:35Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/mock-adapter.zip"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556226369","id":556226369,"node_id":"RA_kwDOTY3w7c4hJ1dB","name":"SHA256SUMS","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":260,"digest":"sha256:140a1bed38f131edc4bdd24f7ab49c9de48bfac179988c2b058a094fec1213cf","download_count":0,"created_at":"2026-09-11T01:34:35Z","updated_at":"2026-09-11T01:34:35Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/SHA256SUMS"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556226380","id":556226380,"node_id":"RA_kwDOTY3w7c4hJ1dM","name":"spt-docs.tar.gz","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":2622661,"digest":"sha256:78149832cfb40fa82cbcab8e82a4ee2ea8c33ebea36df5c18b302cbd6e1e6f39","download_count":0,"created_at":"2026-09-11T01:34:35Z","updated_at":"2026-09-11T01:34:36Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/spt-docs.tar.gz"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556226368","id":556226368,"node_id":"RA_kwDOTY3w7c4hJ1dA","name":"spt-x86_64-linux","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":48871208,"digest":"sha256:4808371fc0494561c8767609d77042b8e31968f4a16819f9fdf657c1f7270a38","download_count":0,"created_at":"2026-09-11T01:34:35Z","updated_at":"2026-09-11T01:34:43Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/spt-x86_64-linux"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556226372","id":556226372,"node_id":"RA_kwDOTY3w7c4hJ1dE","name":"spt-x86_64-linux-musl","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":47582560,"digest":"sha256:c049e16162d9b8da9548b5e9233fb3bf7ab4fdc7134ce6df2fd44d60670f3da4","download_count":0,"created_at":"2026-09-11T01:34:35Z","updated_at":"2026-09-11T01:34:43Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/spt-x86_64-linux-musl"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556295496","id":556295496,"node_id":"RA_kwDOTY3w7c4hKGVI","name":"spt-x86_64-linux-musl.release.json","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":450,"digest":"sha256:d061043e08ca05def2d0cdc90a331d776868b9f6345c043db884fc7cfc95891d","download_count":0,"created_at":"2026-09-11T02:25:35Z","updated_at":"2026-09-11T02:25:35Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/spt-x86_64-linux-musl.release.json"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556295494","id":556295494,"node_id":"RA_kwDOTY3w7c4hKGVG","name":"spt-x86_64-linux.release.json","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":450,"digest":"sha256:03e1f975b74df1c98c7a00a0ced09899b487951b3ed469b358b5617abc1716fd","download_count":0,"created_at":"2026-09-11T02:25:35Z","updated_at":"2026-09-11T02:25:35Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/spt-x86_64-linux.release.json"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556226370","id":556226370,"node_id":"RA_kwDOTY3w7c4hJ1dC","name":"spt-x86_64-windows.exe","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":38072832,"digest":"sha256:689503ad9fc6cfde637cbcacf21c42faf130ba465a0df6c356cf290e2adafb85","download_count":0,"created_at":"2026-09-11T01:34:35Z","updated_at":"2026-09-11T01:34:42Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/spt-x86_64-windows.exe"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556295495","id":556295495,"node_id":"RA_kwDOTY3w7c4hKGVH","name":"spt-x86_64-windows.exe.release.json","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":450,"digest":"sha256:bd4a40e8311902ca2a082085353ee9f8c96dad7ac487d74831ddafdfc8f22ad2","download_count":0,"created_at":"2026-09-11T02:25:35Z","updated_at":"2026-09-11T02:25:35Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/spt-x86_64-windows.exe.release.json"},{"url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/releases/assets/556295498","id":556295498,"node_id":"RA_kwDOTY3w7c4hKGVK","name":"update-set.json","label":"","uploader":{"login":"SaberMage","id":1035144,"node_id":"MDQ6VXNlcjEwMzUxNDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1035144?v=4","gravatar_id":"","url":"https://api.github.com/users/SaberMage","html_url":"https://github.com/SaberMage","followers_url":"https://api.github.com/users/SaberMage/followers","following_url":"https://api.github.com/users/SaberMage/following{/other_user}","gists_url":"https://api.github.com/users/SaberMage/gists{/gist_id}","starred_url":"https://api.github.com/users/SaberMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaberMage/subscriptions","organizations_url":"https://api.github.com/users/SaberMage/orgs","repos_url":"https://api.github.com/users/SaberMage/repos","events_url":"https://api.github.com/users/SaberMage/events{/privacy}","received_events_url":"https://api.github.com/users/SaberMage/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":1081,"digest":"sha256:63007fbe109a18d7d073d62ae81105f20d92303054a6e4e0fc728951fa795274","download_count":0,"created_at":"2026-09-11T02:25:35Z","updated_at":"2026-09-11T02:25:35Z","browser_download_url":"https://github.com/BigscreenVR/spt-bs-releases/releases/download/v0.69.0/update-set.json"}],"tarball_url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/tarball/v0.69.0","zipball_url":"https://api.github.com/repos/BigscreenVR/spt-bs-releases/zipball/v0.69.0","body":"\n### Fixed\n\n- Cross-node messaging now recovers on its own instead of stalling until the service is\n  restarted. Previously, one unanswered request could stop this node from advertising itself\n  and reconnecting to peers, until other nodes could no longer reach it.\n\n- Sending a message to an agent on another machine no longer waits without limit when the far\n  side accepts the connection and then never answers. Previously, such a send could hang\n  indefinitely without reporting why.\n\n- Persistent shells now restart automatically after the background service restarts, once their\n  owning agent is online. Previously, eligible shells could remain offline until relinked by\n  hand.\n\n- A successful `spt shell relink` now reports `binding` while it waits for its handshake,\n  instead of a successful launch reading as `offline`.\n\n- Agents on other machines that were already known are now remembered across a restart of the\n  background service, rather than disappearing until peers advertise them again.\n\n<!-- [doc->REQ-RESIDENT-WEB-SKEW-DIAGNOSIS] -->\n- Service status and successful update completion now say when the running network layer is too\n  old to serve node-prefixed documentation and serve controls, that loading them needs a full\n  service restart, and that the restart stops hosted sessions. Successful updates no longer\n  unconditionally advise restarting the service.\n\n- Stale-session cleanup no longer signals a process whose identity does not match the recorded\n  session; the stale record is cleared instead. If the identity cannot be verified, the request\n  declines and leaves the process alone.\n\n- Service status now reports the process id of the running service, taken from\n  the running service itself; a recorded id that no longer matches is marked\n  stale. Previously, status could display an obsolete process id from a file.\n\n### Internal\n\n<!-- [doc->REQ-CONN-HEALTHY-LIFECYCLE-BOUNDED] -->\n- Daemon logs now summarize healthy connection activity once a minute instead of recording\n  every open and close.\n\n"}