{"service":"codes","entries":[{"service":"codes","sha":"df5e0a4a8b499fa1fe9312d8b045a87807a44513","short":"df5e0a4","subject":"The shared update system and one account UI, on the OpenVibe Frame (openvibe-shared 1.11.0, openvibe/frame): the home shows what shipped, /updates is the shared log and the footer links it; the shared navbar handles sign in and out…","author":"OpenVibers","committed_at":"2026-09-24T07:55:33Z","deployed_at":"2026-09-24T07:55:33.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/df5e0a4a8b499fa1fe9312d8b045a87807a44513","post_id":null},{"service":"codes","sha":"e82321b922dee86eed0933e0cee3a0912325e991","short":"e82321b","subject":"CI calls the shared test workflow (Track Q): OpenVibe.Shared test.yml@e8b0caf (install, node --check, npm test, openvibe-contracts-check; ffmpeg where the tests need it) instead of a copy of those steps","author":"OpenVibers","committed_at":"2026-09-24T05:46:52Z","deployed_at":"2026-09-24T07:55:33.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/e82321b922dee86eed0933e0cee3a0912325e991","post_id":null},{"service":"codes","sha":"69fc5b1a80af534f5cdc94d27c247bfbbae384a2","short":"69fc5b1","subject":"Docs: /docs/tools lists every OpenVibe tool with an API from Tools' live registry (loopback, cached 5 min; how it runs, who may call it, JSON or files), with the run API, jobs, OpenAPI and SDK; linked from /docs and the sitemap","author":"OpenVibers","committed_at":"2026-09-24T03:52:46Z","deployed_at":"2026-09-24T03:52:46.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/69fc5b1a80af534f5cdc94d27c247bfbbae384a2","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"codes","sha":"a1294156cdb9aa3d82c15708c12509d805ff561f","short":"a129415","subject":"Docs: /docs/events links each event's payload contract (117 published) and marks the rest planned, instead of saying payload schemas do not exist; openvibe-contracts v0.34.2; the per-address rate limit is CODES_RATE_LIMIT_PER_MIN (default…","author":"OpenVibers","committed_at":"2026-09-24T02:41:06Z","deployed_at":"2026-09-24T03:52:46.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/a1294156cdb9aa3d82c15708c12509d805ff561f","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"codes","sha":"587fb3faf9a98fd3960e312fb64f21657a692302","short":"587fb3f","subject":"SECURITY.md: how to report a vulnerability (contact@openvibe.network, 7-day reply, scope, supported versions)","author":"OpenVibers","committed_at":"2026-09-24T02:27:26Z","deployed_at":"2026-09-24T03:52:46.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/587fb3faf9a98fd3960e312fb64f21657a692302","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"codes","sha":"241cce37b8eda548fad4ba9d9f45e4734ff146c4","short":"241cce3","subject":"openvibe-shared v1.5.1, openvibe-contracts v0.33.0","author":"OpenVibers","committed_at":"2026-09-23T23:17:42Z","deployed_at":"2026-09-23T23:17:42.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/241cce37b8eda548fad4ba9d9f45e4734ff146c4","post_id":null},{"service":"codes","sha":"e5a62803825450523b5b64f4aced28562eba2748","short":"e5a6280","subject":"openvibe-shared v1.5.0 (Track R release manifest), openvibe-contracts v0.32.0, openvibe-sdk v0.5.0","author":"OpenVibers","committed_at":"2026-09-23T22:29:01Z","deployed_at":"2026-09-23T22:29:01.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/e5a62803825450523b5b64f4aced28562eba2748","post_id":null},{"service":"codes","sha":"51d23865f2630203cf734c019309c7ffc053f89c","short":"51d2386","subject":"CI: run the shared security workflow (gitleaks secret scan + dependency audit, Track Q)","author":"OpenVibers","committed_at":"2026-09-23T19:33:55Z","deployed_at":"2026-09-23T19:33:55.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/51d23865f2630203cf734c019309c7ffc053f89c","post_id":null},{"service":"codes","sha":"d60f279a49aa767f20510109a615fb384ba8a32c","short":"d60f279","subject":"Governance drafts: code of conduct, contributing, contributor ladder, moderation policy","author":"OpenVibers","committed_at":"2026-09-23T18:40:08Z","deployed_at":"2026-09-23T18:40:08.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/d60f279a49aa767f20510109a615fb384ba8a32c","post_id":null},{"service":"codes","sha":"584012a9051001705d90aa36aeeaf14bce52cf51","short":"584012a","subject":"Project export and delete, over Network's /api/v1/projects","author":"OpenVibers","committed_at":"2026-09-23T18:37:15Z","deployed_at":"2026-09-23T18:37:15.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/584012a9051001705d90aa36aeeaf14bce52cf51","post_id":null},{"service":"codes","sha":"b0381da52a9f33e14d5e77aabbd3769f09225328","short":"b0381da","subject":"Webhook tester verifies signature v2 (register C-61); openvibe-sdk v0.4.0","author":"OpenVibers","committed_at":"2026-09-23T18:33:21Z","deployed_at":"2026-09-23T18:33:21.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/b0381da52a9f33e14d5e77aabbd3769f09225328","post_id":null},{"service":"codes","sha":"415faa0accb6d6536a8390053655ef9a9fc94d7e","short":"415faa0","subject":"Docs: STATUS.json and README match production (2026-09-23)","author":"OpenVibers","committed_at":"2026-09-23T18:31:09Z","deployed_at":"2026-09-23T18:31:09.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/415faa0accb6d6536a8390053655ef9a9fc94d7e","post_id":null},{"service":"codes","sha":"a9371c37034e0bf3504f670b46ec6b3c6a2b06b8","short":"a9371c3","subject":"Webhook tester docs: Events deliveries also carry X-OpenVibe-Timestamp and X-OpenVibe-Signature-V2 (t=<ts>,v2=<HMAC of \"<t>.<raw body>\">); refuse v2 outside ±300 s, never fall back to v1 when v2 is present, parseDelivery(..., { requireV2…","author":"OpenVibers","committed_at":"2026-09-23T16:41:38Z","deployed_at":"2026-09-23T16:41:38.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/a9371c37034e0bf3504f670b46ec6b3c6a2b06b8","post_id":null},{"service":"codes","sha":"3160659a993f07c4d055e86d81108618ad5bc0b4","short":"3160659","subject":"Sign-out only from this site: a cross-site GET /auth/logout shows a confirm button instead of ending the session; POST /auth/logout needs a same-origin request","author":"OpenVibers","committed_at":"2026-09-23T16:25:54Z","deployed_at":"2026-09-23T16:25:54.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/3160659a993f07c4d055e86d81108618ad5bc0b4","post_id":null},{"service":"codes","sha":"0da020fce4932d117d52090703b470570384d545","short":"0da020f","subject":"nginx: client address headers only from $remote_addr (realip). X-Forwarded-For was appended to and CF-Connecting-IP passed through from the client, so a request reaching the origin without Cloudflare (DNS-only host or the bare IP) chose…","author":"OpenVibers","committed_at":"2026-09-23T16:14:10Z","deployed_at":"2026-09-23T16:14:10.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/0da020fce4932d117d52090703b470570384d545","post_id":null},{"service":"codes","sha":"76b1234d2f3bf7d19fe5e347d6036cd295e99be2","short":"76b1234","subject":"Session cookie accepts only Network session tokens (audience openvibe.network, not FedCM/app tokens)","author":"OpenVibers","committed_at":"2026-09-23T15:50:11Z","deployed_at":"2026-09-23T15:50:11.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/76b1234d2f3bf7d19fe5e347d6036cd295e99be2","post_id":null},{"service":"codes","sha":"04df7059b02c3662a39f3c956d6240e57df9be36","short":"04df705","subject":"openvibe-sdk v0.3.1; the SDK reference parser skips comments inside declarations (a quote in a doc comment swallowed later declarations)","author":"OpenVibers","committed_at":"2026-09-23T05:04:17Z","deployed_at":"2026-09-23T05:04:17.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/04df7059b02c3662a39f3c956d6240e57df9be36","post_id":null},{"service":"codes","sha":"cd402dd8accadc99595b336ee36a5189371039a8","short":"cd402dd","subject":"Tests follow the v0.28.0 pin","author":"OpenVibers","committed_at":"2026-09-23T04:20:09Z","deployed_at":"2026-09-23T04:20:09.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/cd402dd8accadc99595b336ee36a5189371039a8","post_id":null},{"service":"codes","sha":"1f13801f7116cf783a2980bc41606dd254c90576","short":"1f13801","subject":"openvibe-contracts v0.28.0 (same content as v0.27.0, correctly versioned)","author":"OpenVibers","committed_at":"2026-09-23T04:19:29Z","deployed_at":"2026-09-23T04:19:29.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/1f13801f7116cf783a2980bc41606dd254c90576","post_id":null},{"service":"codes","sha":"16a2c4abd7c908c5f77ab18a7e493957b4d0b6ad","short":"16a2c4a","subject":"openvibe-contracts tag v0.27.0 (codes manifest, codes.release.manage|read, codes.app-manifest@1 released): app manifests validate with the released contract (compiled-in proposal and the proposals dropped), release API guarded with…","author":"OpenVibers","committed_at":"2026-09-23T04:18:26Z","deployed_at":"2026-09-23T04:18:26.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Codes/commit/16a2c4abd7c908c5f77ab18a7e493957b4d0b6ad","post_id":null}],"next":"MjAyNi0wOS0yM1QwNDoxODoyNi4wMDBafDI4MA","latest_post":{"id":"pst_01M39313D833G8QVPQ9FGEEF5E","title":"Patch notes: 120 changes across 18 sites","url":"https://openvibe.blog/@openvibe/patch-notes-120-changes-across-18-sites","published_at":1790232792495,"entries":120},"posts":[{"id":"pst_01M39313D833G8QVPQ9FGEEF5E","title":"Patch notes: 120 changes across 18 sites","url":"https://openvibe.blog/@openvibe/patch-notes-120-changes-across-18-sites","published_at":1790232792495,"entries":120}]}