{"service":"events","entries":[{"service":"events","sha":"38797986b927cafc51fb7f5c6262ddf871af1b76","short":"3879798","subject":"App-endpoint guard on openvibe-shared 1.6.0: the public-address rule and internal-name list come from openvibe-shared/egress (shared with Live and Tools; adds *.home.arpa); endpoint syntax rules and the connect-time guarded POST stay here","author":"OpenVibers","committed_at":"2026-09-24T04:31:21Z","deployed_at":"2026-09-24T04:31:21.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/38797986b927cafc51fb7f5c6262ddf871af1b76","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"events","sha":"9f515142868af343b42c1c58faac1fd6805076fc","short":"9f51514","subject":"rotate-subscription-secret: --consumer rotates every first-party subscription of a service to one new secret (they share one env variable)","author":"OpenVibers","committed_at":"2026-09-24T02:54:18Z","deployed_at":"2026-09-24T04:31:21.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/9f515142868af343b42c1c58faac1fd6805076fc","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"events","sha":"82a49f3a014c5656ee5f51973f40e8c5df6e93dc","short":"82a49f3","subject":"Subscription secret rotation: POST /api/v1/subscriptions/:id/rotate-secret (the consumer's own subscription; overlap_s default 1 day, max 7) and scripts/rotate-subscription-secret.js for operators (writes the new secret into the consumer's…","author":"OpenVibers","committed_at":"2026-09-24T02:53:18Z","deployed_at":"2026-09-24T04:31:21.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/82a49f3a014c5656ee5f51973f40e8c5df6e93dc","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"events","sha":"74b00d6bb7d9933253c4f6a3b782c7a83073d5a0","short":"74b00d6","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:32Z","deployed_at":"2026-09-24T04:31:21.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/74b00d6bb7d9933253c4f6a3b782c7a83073d5a0","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"events","sha":"d71f6fd01a0180a397f3cded9a889a0dba5ece4c","short":"d71f6fd","subject":"openvibe-shared v1.5.1, openvibe-contracts v0.33.0","author":"OpenVibers","committed_at":"2026-09-23T23:18:34Z","deployed_at":"2026-09-23T23:18:34.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/d71f6fd01a0180a397f3cded9a889a0dba5ece4c","post_id":null},{"service":"events","sha":"039e2036f92fdd24a44d3cf5f4497da90382c291","short":"039e203","subject":"openvibe-shared v1.5.0 (Track R release manifest), openvibe-contracts v0.32.0","author":"OpenVibers","committed_at":"2026-09-23T22:06:33Z","deployed_at":"2026-09-23T22:06:33.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/039e2036f92fdd24a44d3cf5f4497da90382c291","post_id":null},{"service":"events","sha":"efc09a795ea0fdea9e6eca04f20cc44362b91e3f","short":"efc09a7","subject":"CI: run the shared security workflow (gitleaks secret scan + dependency audit, Track Q)","author":"OpenVibers","committed_at":"2026-09-23T19:33:56Z","deployed_at":"2026-09-23T19:33:56.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/efc09a795ea0fdea9e6eca04f20cc44362b91e3f","post_id":null},{"service":"events","sha":"336613204f0ee770020cf738ac9b6ab69dde4da1","short":"3366132","subject":"redact-backfill --include-missing: also redact events about messages Chat no longer has at all (hard-deleted by hand or by its expiry sweep); production had one","author":"OpenVibers","committed_at":"2026-09-23T18:45:34Z","deployed_at":"2026-09-23T18:45:34.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/336613204f0ee770020cf738ac9b6ab69dde4da1","post_id":null},{"service":"events","sha":"18b873f6468c67ce0d80fa3c0fb712a49b72463c","short":"18b873f","subject":"Redaction: a producer takes back its own events. Any event may carry payload.redacts ({ event_ids } and/or { subject_type, subject_ids }, up to 1000 each); in the transaction that stores it, every target of the same source (an app: same…","author":"OpenVibers","committed_at":"2026-09-23T18:37:10Z","deployed_at":"2026-09-23T18:37:10.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/18b873f6468c67ce0d80fa3c0fb712a49b72463c","post_id":null},{"service":"events","sha":"b2517391a86233ee4fc0065e251ba01d1bd790fa","short":"b251739","subject":"Docs: STATUS.json and README match production (2026-09-23)","author":"OpenVibers","committed_at":"2026-09-23T18:33:48Z","deployed_at":"2026-09-23T18:33:48.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/b2517391a86233ee4fc0065e251ba01d1bd790fa","post_id":null},{"service":"events","sha":"e8ac63e7ac9e5095d6272e7d1f0ab70615dedb3e","short":"e8ac63e","subject":"Replay window for webhook deliveries (signature v2): every attempt also carries X-OpenVibe-Timestamp (unix seconds, fresh per retry and replay) and X-OpenVibe-Signature-V2: t=<ts>,v2=<HMAC-SHA256 of \"<ts>.<raw body>\">; X-OpenVibe-Signature…","author":"OpenVibers","committed_at":"2026-09-23T16:47:50Z","deployed_at":"2026-09-23T16:47:50.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/e8ac63e7ac9e5095d6272e7d1f0ab70615dedb3e","post_id":null},{"service":"events","sha":"5def1269ff6312c42801492b32227f20f938de89","short":"5def126","subject":"docs/replay-window-rollout.md: deploy order for signature v2 (SDK tag, Events, then consumers one by one with requireV2), the consumer inventory, and the exact change each consumer needs (Live, Search, News, Deals, Trade, Reviews, Tips…","author":"OpenVibers","committed_at":"2026-09-23T16:47:50Z","deployed_at":"2026-09-23T16:47:50.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/5def1269ff6312c42801492b32227f20f938de89","post_id":null},{"service":"events","sha":"b47b99d97ab78308c0560f3bffad04cd0bfc8404","short":"b47b99d","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:15Z","deployed_at":"2026-09-23T16:14:15.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/b47b99d97ab78308c0560f3bffad04cd0bfc8404","post_id":null},{"service":"events","sha":"cfbd21c398fee91279e47b1ab9e9ff6c1a28d069","short":"cfbd21c","subject":"Developer apps cannot disrupt first-party event flow","author":"OpenVibers","committed_at":"2026-09-23T15:51:14Z","deployed_at":"2026-09-23T15:51:14.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/cfbd21c398fee91279e47b1ab9e9ff6c1a28d069","post_id":null},{"service":"events","sha":"06af7581c73b2a877580b6ed5c28ec42cf5b4f17","short":"06af758","subject":"Developer apps (Wave 20, ADR-014): events.app.publish|read|subscribe with app tokens on the existing routes — app.<project_key>.* types only (project_key = p + lowercased project ULID, source app-<lowercased app ULID>), reads scoped to the…","author":"OpenVibers","committed_at":"2026-09-23T04:21:57Z","deployed_at":"2026-09-23T04:21:57.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/06af7581c73b2a877580b6ed5c28ec42cf5b4f17","post_id":null},{"service":"events","sha":"0c7f9c58dc2a31cbb2e0e1ba39086bbe4bcca20a","short":"0c7f9c5","subject":"Observability (Track O): GET /metrics (loopback only) with HTTP golden signals by route template, process metrics, release_info and Events gauges (deliveries by status, DLQ depth, latest seq, SSE connections, delivery latency, attempts by…","author":"OpenVibers","committed_at":"2026-09-23T02:01:37Z","deployed_at":"2026-09-23T02:01:37.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/0c7f9c58dc2a31cbb2e0e1ba39086bbe4bcca20a","post_id":null},{"service":"events","sha":"f5df82718ca303a75f86fb8ac42acbaaa600636f","short":"f5df827","subject":"Allowed sources: sources, search and the publication products (wiki, blog, news, reviews, deals, coupons, trade)","author":"OpenVibers","committed_at":"2026-09-23T01:39:47Z","deployed_at":"2026-09-23T01:39:47.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/f5df82718ca303a75f86fb8ac42acbaaa600636f","post_id":null},{"service":"events","sha":"fade422e95678d4aaf486a0a105906992fa144d8","short":"fade422","subject":"nginx: use the openvibe.network wildcard certificate (the host has no per-name certificate)","author":"OpenVibers","committed_at":"2026-09-23T00:55:22Z","deployed_at":"2026-09-23T00:55:22.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/fade422e95678d4aaf486a0a105906992fa144d8","post_id":null},{"service":"events","sha":"5082c385f8a664331ed40bb45fd0ebf913064d13","short":"5082c38","subject":"Capability ids with three segments (events.event.publish, events.event.read, events.subscription.manage, events.delivery.admin); openvibe-contracts v0.6.0; contract check in CI","author":"OpenVibers","committed_at":"2026-09-23T00:53:48Z","deployed_at":"2026-09-23T00:53:48.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/5082c385f8a664331ed40bb45fd0ebf913064d13","post_id":null},{"service":"events","sha":"f8c2e2418938498664fafbd6ce096faaf45284c4","short":"f8c2e24","subject":"Events service: durable store, publish API, signed delivery with retry/DLQ/replay, SSE realtime gateway, client library","author":"OpenVibers","committed_at":"2026-09-23T00:52:23Z","deployed_at":"2026-09-23T00:52:23.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Events/commit/f8c2e2418938498664fafbd6ce096faaf45284c4","post_id":null}],"next":"MjAyNi0wOS0yM1QwMDo1MjoyMy4wMDBafDM5MA","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}]}