{"service":"coupons","entries":[{"service":"coupons","sha":"93080834febca4cc55a8823b08b46e697b914afa","short":"9308083","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:31Z","deployed_at":"2026-09-24T07:55:31.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/93080834febca4cc55a8823b08b46e697b914afa","post_id":null},{"service":"coupons","sha":"da3e59460eb197fc950d8456dbad5826973b5763","short":"da3e594","subject":"CI calls the shared test workflow (Track Q): OpenVibe.Shared .github/workflows/test.yml@f5e7e73 (install, node --check over server/ and scripts/, npm test, openvibe-contracts-check) instead of a copy of those steps","author":"OpenVibers","committed_at":"2026-09-24T05:43:51Z","deployed_at":"2026-09-24T07:55:31.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/da3e59460eb197fc950d8456dbad5826973b5763","post_id":null},{"service":"coupons","sha":"ae3a25ed5d4e33f81df1147940d8f3100d13513b","short":"ae3a25e","subject":"openvibe-publishing v0.2.2 (shares the openvibe-shared v1.5.1 copy instead of installing v1.0.0 alongside)","author":"OpenVibers","committed_at":"2026-09-24T02:33:39Z","deployed_at":"2026-09-24T02:33:39.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/ae3a25ed5d4e33f81df1147940d8f3100d13513b","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"coupons","sha":"c47ae9811e5e7a7e86546dd4adacb6b87b2ae327","short":"c47ae98","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:30Z","deployed_at":"2026-09-24T02:33:39.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/c47ae9811e5e7a7e86546dd4adacb6b87b2ae327","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"coupons","sha":"d913e8759daec286e471b562debf0bc91363bfad","short":"d913e87","subject":"Public coupon events carry only a short reason code: a staff note or a calling service's free-text reason became the public lifecycle event's reason; anything that is not a code is 'other' (staff notes 'staff'), and report events drop a…","author":"OpenVibers","committed_at":"2026-09-24T02:08:59Z","deployed_at":"2026-09-24T02:33:39.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/d913e8759daec286e471b562debf0bc91363bfad","post_id":"pst_01M39313D833G8QVPQ9FGEEF5E"},{"service":"coupons","sha":"93f333beb57334b74f0447df0d9ea91dee4ad958","short":"93f333b","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.Coupons/commit/93f333beb57334b74f0447df0d9ea91dee4ad958","post_id":null},{"service":"coupons","sha":"a6a86b2ead8052ea562665c9754ca241e636d120","short":"a6a86b2","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:26:49Z","deployed_at":"2026-09-23T22:26:49.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/a6a86b2ead8052ea562665c9754ca241e636d120","post_id":null},{"service":"coupons","sha":"1c57c4743b016ecf6f72d8d03feb7f56806920a6","short":"1c57c47","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.Coupons/commit/1c57c4743b016ecf6f72d8d03feb7f56806920a6","post_id":null},{"service":"coupons","sha":"e48457adb1b48c8ed0c10338492af327af94462a","short":"e48457a","subject":"Docs: STATUS.json and README match production (2026-09-23)","author":"OpenVibers","committed_at":"2026-09-23T18:32:45Z","deployed_at":"2026-09-23T18:32:45.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/e48457adb1b48c8ed0c10338492af327af94462a","post_id":null},{"service":"coupons","sha":"9b9549e64774e2734942c354bae2459e74ca1edb","short":"9b9549e","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:13Z","deployed_at":"2026-09-23T16:14:13.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/9b9549e64774e2734942c354bae2459e74ca1edb","post_id":null},{"service":"coupons","sha":"54df411d5033aac2899e48f9044b1ccec7965515","short":"54df411","subject":"openvibe-publishing v0.2.1 (ReDoS fixes in ssr markdown)","author":"OpenVibers","committed_at":"2026-09-23T16:07:10Z","deployed_at":"2026-09-23T16:07:10.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/54df411d5033aac2899e48f9044b1ccec7965515","post_id":null},{"service":"coupons","sha":"2077793ae942251aeae2fd28e2218a9fc603fc8d","short":"2077793","subject":"App and module tokens act only for their on_behalf_of person; sandbox tokens refused","author":"OpenVibers","committed_at":"2026-09-23T15:53:11Z","deployed_at":"2026-09-23T15:53:11.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/2077793ae942251aeae2fd28e2218a9fc603fc8d","post_id":null},{"service":"coupons","sha":"870c3893b421fe1c0b2c05a0c5b33a63553b4ffe","short":"870c389","subject":"Reports: the submitter of a code (or of evidence for it) cannot report on it","author":"OpenVibers","committed_at":"2026-09-23T15:49:16Z","deployed_at":"2026-09-23T15:49:16.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/870c3893b421fe1c0b2c05a0c5b33a63553b4ffe","post_id":null},{"service":"coupons","sha":"4802a18528b2e659bc2f426dbfcf29e8a230a26f","short":"4802a18","subject":"openvibe-contracts v0.25.0 (coupons manifest and capabilities released); contracts check is blocking","author":"OpenVibers","committed_at":"2026-09-23T03:31:14Z","deployed_at":"2026-09-23T03:31:14.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/4802a18528b2e659bc2f426dbfcf29e8a230a26f","post_id":null},{"service":"coupons","sha":"83dd07d2ab0d8526423472ae0e079f77909ee81d","short":"83dd07d","subject":"OpenVibe.Coupons service (Wave 18): merchants and normalized domains (bundled public-suffix subset, subdomain and path rules), codes with restrictions, honest expiry and evidence, status unknown|repor…","author":"OpenVibers","committed_at":"2026-09-23T03:22:31Z","deployed_at":"2026-09-23T03:22:31.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/83dd07d2ab0d8526423472ae0e079f77909ee81d","post_id":null},{"service":"coupons","sha":"55da4b6788c0d6942b5a5e984b59bfc970ad5349","short":"55da4b6","subject":"Charter: OpenVibe.Coupons as defined in the OpenVibe realignment plan (placeholder, no code yet)","author":"OpenVibers","committed_at":"2026-09-21T16:18:52Z","deployed_at":"2026-09-21T16:18:52.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Coupons/commit/55da4b6788c0d6942b5a5e984b59bfc970ad5349","post_id":null}],"next":null,"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}]}