What shipped across OpenVibe

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-29

c6e6f4dWikiThe Wiki home opens with what OpenVibe.Wiki is for (plan T11, D92; openvibe-shared v2.3.1 showcase): 'Knowledge, with sources', where to start (start a space, or sign in to), and the six things a space gets today (page trees, revision…OpenVibers · 16:21 UTC
2863954EventsOpaque cursors beside the global seq (plan T7, ADR-042 decision 7; openvibe-contracts v0.81.0): every answer that carries a seq also carries its cursor (publish results, pulls with next_cursor, single events, checkpoints with epoch and…OpenVibers · 16:15 UTC
05b8bbbBlogThe Blog home opens with what OpenVibe.Blog is for (plan T11, D92; openvibe-shared v2.3.1 showcase): 'Write on OpenVibe', where to start (Start writing, or read the OpenVibe blog below), and the six things a blog really gets today (drafts…OpenVibers · 16:14 UTC
ebb0aa1TipsTips moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first and does a normal load across a deploy (the ov-boost marker carries the release); page scripts that wire <main> also run on…OpenVibers · 16:09 UTC
c4b171aCommunityCommunity is the only paste authority, moves between pages without a reload, and tells search engines when a page changes (plans T10 J6 and T11). The PASTES_AUTHORITY=live path is gone: the Live paste proxy (server/pastes/proxy.js), the…OpenVibers · 16:04 UTC
4a5479bToolsEvery Tools app on openvibe-sdk v0.25.1 and openvibe-shared v2.3.1 (from 0.12.0 and 1.29.2; no removed Shared export was in use): the PostgreSQL port needs openvibe-sdk/db, valkey, the limit store, createPgOutbox and the revocation store.…OpenVibers · 15:57 UTC
58f8b51ToolsTools on PostgreSQL, the groundwork (plan T8): migrations 0001_tools (one tools database for the eight apps: the job store and guard_abuse with app in every key that could collide; guard counters and salt go to Valkey) and 0002_analytics…OpenVibers · 15:57 UTC
f15150dCodesThe Codes home is built from the showcase kit (plan T11, D92; openvibe-shared v2.3.1): a hero with where to start and a working SDK sample, what an integration gets (credentials, grants, events, generated reference, playgrounds, the SDK)…OpenVibers · 15:52 UTC
1db22ffReviewsReviews tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable review or product page appearing, changing or going away pings the engines (its path and the…OpenVibers · 15:40 UTC
9b8b2b6EventsOne inbox (plan T7, ADR-042 decision 9): lib/client.js re-exports openvibe-sdk's PostgreSQL outbox and inbox (createPgOutbox, createPgInbox, outboxSchema, inboxSchema) and its own SQLite copies are gone, with better-sqlite3; the README…OpenVibers · 15:38 UTC
bf33758HostHost tells search engines when a hosted site changes (plan T11, IndexNow): with INDEXNOW_KEY set, a production site's deploy, rollback, domain change or removal pings the engines for that site (its root and sitemap); sandbox sites never…OpenVibers · 15:30 UTC
92e4727HostHost moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the…OpenVibers · 15:30 UTC
98bb8f9CodesCodes tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and a release or app page appearing, changing or going away pings the engines (its path and the sitemap)…OpenVibers · 15:29 UTC
29be23aMediaMedia serves Live and OpenRe on their own service tokens (plan T4, Media cleanup D8): every v1 tenant route Live or OpenRe calls names the verb it performs (read, list, upload, delete), so a token is checked against the right capability…OpenVibers · 15:25 UTC
809b06bMediaX-Internal-Key is gone from Media (plan T2, the last step): POST /internal/avatar-ingest takes only a Network service token holding media.avatar.ingest, loopback only; guardOrKey, config.network.internalApiKey and INTERNAL_API_KEY are…OpenVibers · 15:25 UTC
453d347VIPVIP moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition and does a normal load across a deploy (the ov-boost marker carries the release); page scripts that…OpenVibers · 15:20 UTC
eea0abeSearchSearch moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition and does a normal load across a deploy (the ov-boost marker carries the release); page scripts…OpenVibers · 15:20 UTC
31f8ee0WikiWiki tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable page appearing, changing or going away pings the engines (its path and the sitemap); drafts…OpenVibers · 15:20 UTC
6b255e5TradeTrade tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable page appearing, changing or going away pings the engines (its path and the sitemap); drafts…OpenVibers · 15:20 UTC
a7c11cdTradeTrade moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the…OpenVibers · 15:20 UTC
36f2f08CouponsCoupons tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable page appearing, changing or going away pings the engines (its path and the sitemap); drafts…OpenVibers · 15:20 UTC
2988c6aCouponsCoupons moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the…OpenVibers · 15:20 UTC
9d00e2bBlogBlog tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable page appearing, changing or going away pings the engines (its path and the sitemap); drafts…OpenVibers · 15:20 UTC
63c9ad0OpenReOpenRe carries JSMPEG (plan T4, transports step 1): one protocol name per transport (rtmp, webrtc, jsmpeg; whip accepted on input as webrtc; worker kinds rtmp-ingest, restream, webrtc, jsmpeg; migration 0002 rewrites stored names), and a…OpenVibers · 15:19 UTC
f7f592bEventsDeliveries are claimed with a database lease (plan T7, ADR-042 decision 3): the claim locks the subscription rows FOR UPDATE SKIP LOCKED and leases each one's next due delivery (lease_owner, lease_until; migration 0002, which also adds…OpenVibers · 15:19 UTC
d42168eEventsEvents on current pins (plan T7, A1 + A2): openvibe-contracts v0.80.0, openvibe-sdk v0.25.1, openvibe-shared v2.2.0 (no removed export was in use; behaviour unchanged); docs/replay-window-rollout.md and docs/capabilities-proposal/ deleted…OpenVibers · 15:19 UTC
3ed88beDealsDeals tells search engines when a page changes (plan T11, IndexNow): with INDEXNOW_KEY set the key file is served at /<key>.txt and an indexable deal or product page appearing, changing or going away pings the engines (its path and the…OpenVibers · 14:43 UTC
adb2ab3ChatThe chat-AI summaries run in Chat (plan T3 step 2): Live's job ported over Chat's own messages and projections (same cadence, selection, prompts, fields and limits), calling OpenVibe.AI with Chat's own token (workflows…OpenVibers · 14:40 UTC
ad7be2aAIchat.global and chat.profile workflows under Chat's own namespace (plan T3): OpenVibe.Chat runs the chat summaries now, with its own token (ai.run.* on chat.*), so it never needs Live's namespace. Same templates, schemas and…OpenVibers · 14:40 UTC
2ac514bAIAI phase 0 of the provider router (plan T6): every finished attempt rolls up into provider_stats_daily (requests, ok, errors, tokens, cost, a fixed-bucket latency histogram with p50/p95) and moves the route's placement_state EWMA (latency…OpenVibers · 14:38 UTC
f36c942WikiWiki moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the…OpenVibers · 14:32 UTC
4054ffaReviewsReviews moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the…OpenVibers · 14:32 UTC
20dd7ffNetworkThe network's front door (plan T11, D93): the home page starts from what you came to do. A search box ('What do you want to do?') lights the intent it names and opens it, anything else is a tool search (the form's own action, so it works…OpenVibers · 14:31 UTC
2abbb15GamesGames M1 step 3 (ADR-0007): intent input. One frozen, versioned intent bitfield in packages/shared (the movement layer re-exports it, the protocol's copy is gone); look is absolute and quantised to int16 (1/65536 turn) on the wire, the…OpenVibers · 14:13 UTC
ff65515NewsNews moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the…OpenVibers · 14:13 UTC
feb3d8bCodesCodes moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the…OpenVibers · 14:09 UTC
2bcad35DealsDeals moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the…OpenVibers · 14:08 UTC
3c57d05DealsREADME names openvibe-sdk v0.25.1, the pinned release.OpenVibers · 14:08 UTC
0e38083ChatChat serves the features built on the six chat tables (plan T3 step 1): Live's read API GET /internal/moderation/channels/:id, /users/:id/channels and /channels/:id/emote-count (chat.moderation.read, loopback, service token; answers…OpenVibers · 14:05 UTC
323872fVIPVIP on the service kit (plan T1): the outbox is openvibe-sdk/events createServiceOutbox (callers emitIn inside the change's transaction). Pins: openvibe-sdk v0.25.0, openvibe-contracts v0.79.0, openvibe-shared v2.0.0. Both suites green…OpenVibers · 14:00 UTC
72f807bTradeTrade on the service kit (plan T1): sign-in is openvibe-sdk/sso createSsoClient (state + PKCE S256, server-side exchange, next limited to this site and the Network), service tokens are checked by openvibe-sdk/auth verifyServiceToken (the…OpenVibers · 14:00 UTC
211ed12TradeA regression test pins nested transactions: an inner store.tx that throws rolls back only its own writes while the outer one commits, and an outer throw rolls back everything (plan T0; the SDK makes an inner tx a savepoint). Built on a…OpenVibers · 14:00 UTC
6023be4NewsNews on the service kit (plan T1): sign-in is openvibe-sdk/sso createSsoClient (state + PKCE S256, server-side exchange, next limited to this site and the Network), service tokens are checked by openvibe-sdk/auth verifyServiceToken (the…OpenVibers · 14:00 UTC
12380d2BlogBlog moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first with the shared transition, prefetching on intent, and does a normal load across a deploy (the ov-boost marker carries the…OpenVibers · 13:58 UTC
4030fdcHostHost on the service kit (plan T1): sign-in is openvibe-sdk/sso createSsoClient (state + PKCE S256, server-side exchange, next limited to this site and the Network), service tokens are checked by openvibe-sdk/auth verifyServiceToken (the…OpenVibers · 13:48 UTC
9feaac5HostCompatibility register: C-89 closed. The SQLite files of the 19 services on PostgreSQL (and older pre-migration backups, Billing's stale Live snapshot) are archived off-host (ovhost archive 20260929-124813, 44 files, restore verified) and…OpenVibers · 13:48 UTC
6547316HostCompatibility register: the shared internal key is retired (C-50 to C-59 closed in one sweep, plan T2): Network, Live, Media, Tools and Shared on service tokens with per-route capabilities (Contracts v0.79.0), INTERNAL_API_KEY gone from…OpenVibers · 13:48 UTC
93971d2HostCompatibility register: C-82 (OpenVibe.Realtime) is closed with nothing to migrate: the repository never carried code, its Contracts manifest was removed in Contracts v0.78.0, the repository is archived as ADR-005's decision record, and…OpenVibers · 13:48 UTC
f3fac6aBlogBlog on the service kit (plan T1): sign-in is openvibe-sdk/sso createSsoClient (state + PKCE S256, server-side exchange, next limited to this site and the Network), service tokens are checked by openvibe-sdk/auth verifyServiceToken (the…OpenVibers · 13:48 UTC
592a420TipsTips' outbox is openvibe-sdk/events createServiceOutbox (plan T1): tips_event_outbox, the service as actor, internal visibility and important priority on every envelope as before; callers use emitIn(t, envelope) inside the change's…OpenVibers · 13:45 UTC