What shipped on OpenVibe.Blog
Every change deployed to OpenVibe, newest first. Each line is a commit from the OpenVibers repositories, linked to the change itself. When enough have gathered, or a large feature lands, they are written up as Patch notes on openvibe.blog. JSON: /api/v1/changelog.
2026-09-24
e4d201cThe OpenVibe Frame: openvibe-shared/frame (formerly chrome-ssr) and 1.11.0; openvibe-publishing 0.3.2 (one copy of openvibe-shared)
528f917The shared update system and one account UI: the home shows what shipped, /updates is the shared log, the footer (now initialised in the browser too) links it; the shared navbar handles sign in/out with logoutUrl ending this site's…
dc3f3a1changelog: every site's updates log — commit authors, a page cursor (before), a one-time import of each site's last CHANGELOG_HISTORY commits (never pending, never in a post), the recent patch notes posts and a per-site summary in the…
58d2e45changelog: Network's /api/v1/registry/releases lists services under 'services' (the test stub now answers in that shape)
32cb1aaThe network changelog and its patch notes: every OpenVibe site's shipped commits in one feed, published on the blog in batches. The worker reads each service's repository and current release from OpenVibe.Network's registry, takes the…
4d522caDraft with AI (W13, proof flow 5): a member who may write on a blog asks OpenVibe.AI's blog.draft_post (openvibe-publishing v0.3.0 ai client, Blog's service token) for a draft from a topic, brief, tone and audience; the answer becomes an…
36b6f59CI 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
eae013fVIP client from openvibe-sdk/vip (v0.7.0): the copy of openvibe-vip/client is replaced by the SDK's published seam, same API and fail-closed behaviour; server/vip/vip-client.js re-exports it so callers are unchanged
0784b42An edit that does not send citations keeps them: the /write editor does not resend a post's citations, so every edit made there dropped them from the new revision. Sending a list (even an empty one) still replaces them. lifecycle test
a994d8aopenvibe-publishing v0.2.2 (shares the openvibe-shared v1.5.1 copy instead of installing v1.0.0 alongside)
2c716a2SECURITY.md: how to report a vulnerability ([email protected], 7-day reply, scope, supported versions)
2026-09-23
d9c7005openvibe-shared v1.5.1, openvibe-contracts v0.33.0
c64bc83openvibe-shared v1.5.0 (Track R release manifest), openvibe-contracts v0.32.0, openvibe-sdk v0.5.0
95e99acMembers-only posts through OpenVibe.VIP: the blog owner's members read, everyone else gets a teaser and a join link, never the body
9078214CI: run the shared security workflow (gitleaks secret scan + dependency audit, Track Q)
8fa441eDocs: STATUS.json and README match production (2026-09-23)
e7b4986App and module tokens act only for their on_behalf_of person; sandbox tokens refused
b4ccd8dnginx: 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…
8618b6dopenvibe-publishing v0.2.1 (ReDoS fixes in ssr markdown)
f8498f3Security: draft and private series/category names stay off public pages; unpublishing hides the comment thread; /auth/me is no-store
75d9ef2STATUS: deployed on its domain 2026-09-23 (alpha); Sites placeholder removed
c5a4921openvibe-contracts v0.19.0 (this service's manifest and capabilities are released); contracts check is blocking
402b000README (purpose, owns, does not own, depends on, acceptance, launch rule, threat review), STATUS alpha W16, .env.example, deploy (systemd unit, nginx vhost on 4810), CI on Node 22.22.1 (contracts check continue-on-error until release)…
8b248d5OpenVibe.Blog service (Wave 16): official and member blogs on openvibe-publishing v0.2.0
2026-09-21
ed35c44Charter: OpenVibe.Blog as defined in the OpenVibe realignment plan (placeholder, no code yet)