{"id":"pst_01M3P0VRN2PFFVZZV7Y4G3ARH4","url":"https://openvibe.blog/@openvibe/patch-notes-tips-keeps-no-live-import-or-sqlite-code","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: Tips keeps no Live-import or SQLite code","summary":"What shipped on OpenVibe on 2026-09-29: 58 changes to OpenVibe.Live, OpenVibe.Games, OpenVibe.Media, OpenVibe.Blog, OpenVibe.Host, OpenVibe.VIP and 15 more.","body_markdown":"What shipped on OpenVibe on 2026-09-29: 58 changes to OpenVibe.Live, OpenVibe.Games, OpenVibe.Media, OpenVibe.Blog, OpenVibe.Host, OpenVibe.VIP and 15 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.\n\n## Highlights\n\n- **OpenVibe.Tips:** Tips keeps no Live-import or SQLite code (the import is long done; no compatibility kept): server/importer/live.js, scripts/import-live.js and migrate-to-postgres.js, the import and SQLite-move tests and fixture, the better-sqlite3… ([`036effd`](https://github.com/OpenVibers/OpenVibe.Tips/commit/036effdc2d6686c5457a8e53ecc8309212928cae))\n- **OpenVibe.Host:** ovhost backs up and drills PostgreSQL services natively (every service but network, chat, tools, games and live is on PostgreSQL since 2026-09-28; the old inventory's SQLite paths no longer exist, so backups of those services had silently… ([`1157859`](https://github.com/OpenVibers/OpenVibe.Host/commit/1157859be2d25f0c1c1281b9fe12beebbc28f21a))\n- **OpenVibe.Games:** README and STATUS.json are current (roadmap WS-U task 3): the README gains Purpose (OpenVibe.Games: Scraplandia on openvibe.games), Owns, Does not own, Depends on, Capabilities (the four games.* capabilities in the manifest, and every… ([`eb2d008`](https://github.com/OpenVibers/OpenVibe.Games/commit/eb2d00880d3231b2c68cb1753b4542044edef1e5))\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- Page moves never flash unstyled: openvibe-shared v1.30.1 (from v1.29.2) inserts a route's markup once its stylesheets are in, and showPage hands the page to ov.enter(), which keeps it hidden (in its space) until the route's styles and code… ([`c201d8c`](https://github.com/OpenVibers/OpenVibe.Live/commit/c201d8c172341faa5f67b9174c1a1f18d0c4e487))\n- A tip with a hidden amount says 'sent a tip', never 'donated 0 Vibes': Tips sends amount null for privacy.hide_amount, and Live turned it into 0 in the chat event, the saved line and TTS. The delivery route keeps null, the saved line reads… ([`6584999`](https://github.com/OpenVibers/OpenVibe.Live/commit/65849994c0527fa0e0335b9f7e6a9a5abcb6ac60))\n- N-1 fixtures re-recorded from 6584999, the release now in production (npm run n-1:record). ([`e3a606c`](https://github.com/OpenVibers/OpenVibe.Live/commit/e3a606cc2080c7d90da4217f74b54d580abcbf33))\n- Fixes from the review of today's Live commits (an independent DeepSeek review). ([`a98aae4`](https://github.com/OpenVibers/OpenVibe.Live/commit/a98aae4806f78f20080cb49c70af81a6141fe319))\n- Channel page on phones, polished: over a custom offline image the 'Most watched' card no longer gets clipped (below 720px of column the image becomes a banner and the card follows it); the discover board shares the column's gutter; About… ([`3eda2d6`](https://github.com/OpenVibers/OpenVibe.Live/commit/3eda2d683ecd25796a95c3d9fd8fc3e1240db749))\n- Popout chat on phones: the message box and tools row no longer sit under the browser's bottom bar (the page used 100% height, which includes it; now the dynamic viewport, the home-indicator inset, and interactive-widget=resizes-content so… ([`03f1593`](https://github.com/OpenVibers/OpenVibe.Live/commit/03f15936e3905be8ab16aa098900d60341a78302))\n- N-1 fixtures re-recorded from 03f1593, the release now in production (npm run n-1:record). ([`3f8a615`](https://github.com/OpenVibers/OpenVibe.Live/commit/3f8a6157a571d543ebaaa934329d416ed06a842e))\n- Live no longer carries the old game: OpenVibe.Games is being rewritten (its ADR-0007) and will never serve /game, /canvas or /api/game again, so the /game and /canvas redirects, the /api/game 410, the /ws/game and /ws/canvas upgrade… ([`1a28261`](https://github.com/OpenVibers/OpenVibe.Live/commit/1a28261a4f98f882596c417f2bb2fdaa51afa768))\n\n## OpenVibe.Games\n\n[openvibe.games](https://openvibe.games) · [repository](https://github.com/OpenVibers/OpenVibe.Games)\n\n- README and STATUS.json are current (roadmap WS-U task 3): the README gains Purpose (OpenVibe.Games: Scraplandia on openvibe.games), Owns, Does not own, Depends on, Capabilities (the four games.* capabilities in the manifest, and every… ([`eb2d008`](https://github.com/OpenVibers/OpenVibe.Games/commit/eb2d00880d3231b2c68cb1753b4542044edef1e5))\n- ADR-0007: rewrite the moddable base (the base is the product, Scraplandia its first pack; Rapier; places and instances; PostgreSQL + Valkey with a write-behind flusher; declarative, QuickJS and Worker mods; phones a real target… ([`cfaf83c`](https://github.com/OpenVibers/OpenVibe.Games/commit/cfaf83c3a361ce43b1706888838fb84293fd6ed1))\n- M1 persistence: Games runs on PostgreSQL 18 + Valkey through openvibe-sdk (ADR-0007 decision 5). SQLite is gone (no data is restored; a new schema from scratch, no schema-version history). ([`540f672`](https://github.com/OpenVibers/OpenVibe.Games/commit/540f672d0f209b44f4e69804669cdcf9f4ee4565))\n- gitleaks: allow the made-up subject id usr_01JABCDEFGHJKMNPQRSTVWXYZ0 in flusher.test.ts (a test default, matched on path and value), which the generic-api-key rule flagged in 540f672. ([`5900501`](https://github.com/OpenVibers/OpenVibe.Games/commit/59005011aeb2f6463fa992d42ce37675edbeeb69))\n- M1: gameServer.ts (≈2,700 lines, one class) is split into 20 systems under apps/server/src/game/systems/ (sessions, movement, replication, manipulation, combat, vehicles, inventory, interaction, economy, production, npcs, social… ([`cac9644`](https://github.com/OpenVibers/OpenVibe.Games/commit/cac96448720ec83b2152e208b797547c0c569454))\n\n## OpenVibe.Media\n\n[openvibe.media](https://openvibe.media) · [repository](https://github.com/OpenVibers/OpenVibe.Media)\n\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, the *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and… ([`dbdcbee`](https://github.com/OpenVibers/OpenVibe.Media/commit/dbdcbeeac580814b13bfc4fc3ab9a679c8b8a079))\n- scripts/retire-r2.js retires the R2 cache tier (plan T4: B2 is canonical, R2 held 19 popular VODs as a cache). --gates closes promotion (storage_tier.r2Enabled, object_tier.active) and records when; --execute refuses until Media has… ([`fec18a6`](https://github.com/OpenVibers/OpenVibe.Media/commit/fec18a626ff4fb82f78072344fb015d543770e3a))\n- retire-r2.js --gates writes its settings revisions as Media itself (no actor): the config store takes a subject reference or none, and refused the bare string. ([`262aa44`](https://github.com/OpenVibers/OpenVibe.Media/commit/262aa445b9b4ca0c209d5eaa297a2c74d95af951))\n- retire-r2.js reads Media's start time in microseconds: systemctl's default whole seconds put a restart made in the same second as the gates before them, so --execute refused. ([`ea989e1`](https://github.com/OpenVibers/OpenVibe.Media/commit/ea989e1ea3fc01df3c30acb81975d1d2dd5cf93b))\n- Two uploads/thumbnail paths no longer hang on a database error: a multipart part's completion read (getSession) sat outside its try, so a rejected read was an unhandled rejection and the PUT never answered; it now answers 500… ([`bbb7765`](https://github.com/OpenVibers/OpenVibe.Media/commit/bbb77659072ebb2f9dca33edd1c0548716e7b1e9))\n\n## OpenVibe.Blog\n\n[openvibe.blog](https://openvibe.blog) · [repository](https://github.com/OpenVibers/OpenVibe.Blog)\n\n- Await what the transactions start (PostgreSQL pass follow-up): the dashboard and list mappers now await postDto explicitly (behaviour unchanged: Promise.all already waited). A sync callback that calls async code returns before the work is… ([`e37c8c2`](https://github.com/OpenVibers/OpenVibe.Blog/commit/e37c8c22d255c7fdf1e12907c3199e9190010c58))\n- The SQLite era is gone (Blog has run on PostgreSQL since 2026-09-28 and keeps no compatibility): the one-time migrate-to-postgres script, BLOG_DB_PATH/dbPath (config, .env.example, systemd unit, test helpers), the unused better-sqlite3… ([`1f8fc31`](https://github.com/OpenVibers/OpenVibe.Blog/commit/1f8fc315a566d23f2cbc48bb0541762b5d654deb))\n- The rest of the SQLite-era cleanup (the previous commit carried only its deletions): *_DB_PATH/dbPath out of config, .env.example, the systemd unit and test helpers; the unused better-sqlite3 dependency and its lockfile entries; docs… ([`32773c6`](https://github.com/OpenVibers/OpenVibe.Blog/commit/32773c68589b0295294fc5cd466069ce59a39998))\n- The perf-budget test boots its server on its own PGlite directory (BLOG_PGLITE_DIR, a temp dir removed afterwards) with DATABASE_URL cleared: it used to fall back to the shared dev database data/pglite and migrate it. It also asserts the… ([`ae80018`](https://github.com/OpenVibers/OpenVibe.Blog/commit/ae8001885cab6b597135ff8207e1f0b3dd2a8ea8))\n\n## OpenVibe.Host\n\n[openvibe.host](https://openvibe.host) · [repository](https://github.com/OpenVibers/OpenVibe.Host)\n\n- C-89 openre: OpenRe.Stream's SQLite file after its switch to PostgreSQL (2026-09-28 23:32 UTC); archive and delete 2026-10-05. ([`37a2c1b`](https://github.com/OpenVibers/OpenVibe.Host/commit/37a2c1bb8aa105e872ba53d1f0a8a5a326c5e9de))\n- A database error while resolving a request's host now answers 500 instead of hanging the request: the async host-dispatch middleware (tenant.resolve/handle read PostgreSQL since ADR-035) had no error path, and Express 4 does not catch a… ([`de873f6`](https://github.com/OpenVibers/OpenVibe.Host/commit/de873f6d6b7e3e1bb2005edb2f2e6c3985437176))\n- ovhost backs up and drills PostgreSQL services natively (every service but network, chat, tools, games and live is on PostgreSQL since 2026-09-28; the old inventory's SQLite paths no longer exist, so backups of those services had silently… ([`1157859`](https://github.com/OpenVibers/OpenVibe.Host/commit/1157859be2d25f0c1c1281b9fe12beebbc28f21a))\n- host.example.json: Games is on PostgreSQL (its ADR-0007 M1, OpenVibe.Games 540f672): databases world = ov_games, the preflight loads pg and openvibe-sdk/db instead of better-sqlite3, no generated dist-types (Games no longer tracks build… ([`2e7d452`](https://github.com/OpenVibers/OpenVibe.Host/commit/2e7d452fabd51211c0d72e871a430ee78563a05c))\n\n## OpenVibe.VIP\n\n[openvibe.vip](https://openvibe.vip) · [repository](https://github.com/OpenVibers/OpenVibe.VIP)\n\n- Health and readiness show the outbox's real counts: status() awaits pending()/rejected() (queries on PostgreSQL), so /api/health and /api/ready no longer serialize two Promises as {}. The API test asserts a number. npm test 11/11. ([`78dfe5e`](https://github.com/OpenVibers/OpenVibe.VIP/commit/78dfe5e11972a67dc4f3939db62799e29797f8c0))\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, the *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency, and… ([`5a6b392`](https://github.com/OpenVibers/OpenVibe.VIP/commit/5a6b392c175715a976bdc95b56261bb442453762))\n- The rest of the SQLite-era cleanup (the previous commit carried only its deletions): *_DB_PATH/dbPath out of config, .env.example, the systemd unit and test helpers; the unused better-sqlite3 dependency and its lockfile entries; docs… ([`50beabd`](https://github.com/OpenVibers/OpenVibe.VIP/commit/50beabd33cbe75bd3af29cccb722c54b316079cb))\n- A published plan and a membership change commit only with their events: outbox.emit() in plans.publish and in the entitlement projection was not awaited (VIP's emit wraps the async PostgreSQL enqueue, so the codemod could not see it), so a… ([`9fbd730`](https://github.com/OpenVibers/OpenVibe.VIP/commit/9fbd730e34490fa94b5355529d78de6f6084b176))\n\n## OpenVibe.Billing\n\n[billing.openvibe.network](https://billing.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Billing)\n\n- scripts/reconcile.js: its comment names the ledger it reconciles (DATABASE_URL), not the SQLite path. ([`67a10d7`](https://github.com/OpenVibers/OpenVibe.Billing/commit/67a10d79ee7fc6950ce77c660a867a8e1a573f9c))\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, the *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and… ([`fe4ff08`](https://github.com/OpenVibers/OpenVibe.Billing/commit/fe4ff088ef0883ece8977f6bc7fa76c28c13e716))\n- A provider event that updates a payment intent or a subscription is marked processed only when the update committed: applyPlan called the async plan.apply without awaiting it (the PostgreSQL move made it async), so it ran after the event's… ([`1dd658e`](https://github.com/OpenVibers/OpenVibe.Billing/commit/1dd658e36ed06b0971af33c35527b73ed4bfe56b))\n\n## OpenRe.Stream\n\n[openre.stream](https://openre.stream) · [repository](https://github.com/OpenVibers/OpenRe.Stream)\n\n- Worker runtime: hooks can no longer reject unhandled, and an idle draining worker records its stop before exiting. Hooks (onDrain, onDrainDeadline, onEndRequested, onHeartbeat) run beside the heartbeat as before (they stop publishers and… ([`1d4c476`](https://github.com/OpenVibers/OpenRe.Stream/commit/1d4c47612de270acc4b558f081b430f490158001))\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, the *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and… ([`36c7026`](https://github.com/OpenVibers/OpenRe.Stream/commit/36c702612b7bf05f716a0fd3869bd49aff6ad0ee))\n- OpenRe's workers no longer drop async failures on the floor (Node ends a process on an unhandled rejection, which would drop every publisher on a worker): the coordinator's outbox prune catches its rejection; the restream worker awaits its… ([`5d062bf`](https://github.com/OpenVibers/OpenRe.Stream/commit/5d062bf5ffeab7e3c6c95b3c2e73c16aad77503b))\n\n## OpenVibe.Wiki\n\n[openvibe.wiki](https://openvibe.wiki) · [repository](https://github.com/OpenVibers/OpenVibe.Wiki)\n\n- Await what the transactions start (PostgreSQL pass follow-up): the viewer resolver, page routes, the projects module and ~40 service call sites used async store calls without await (some inside transactions). A sync callback that calls… ([`267fd69`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/267fd693c684b0c27486fdc6de8e3ce42baba8be))\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, WIKI_DB_PATH/dbPath (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its… ([`fed2477`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/fed2477d2c78811bce78e21b561ef3a673e2d2ea))\n- The perf-budget test boots its server on its own PGlite directory (WIKI_PGLITE_DIR, a temp dir removed afterwards) with DATABASE_URL cleared: it used to fall back to the shared dev database data/pglite and migrate it. The exit wait is… ([`186baef`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/186baef683e1a8c2141d4b343dc841bc72d02753))\n\n## OpenVibe.AI\n\n[ai.openvibe.network](https://ai.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.AI)\n\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its… ([`fa943d1`](https://github.com/OpenVibers/OpenVibe.AI/commit/fa943d1668267739a3133613e0c5f03b9a066699))\n- A run and its ai.run.* event commit together again: events.runChanged enqueued into the PostgreSQL outbox without awaiting it (the async enqueue arrived with the PostgreSQL move) and all five callers in runs.js dropped the promise, so a… ([`0c98c51`](https://github.com/OpenVibers/OpenVibe.AI/commit/0c98c5171c1f7745c397d1212fdc655bf530c6fe))\n\n## OpenVibe.Codes\n\n[openvibe.codes](https://openvibe.codes) · [repository](https://github.com/OpenVibers/OpenVibe.Codes)\n\n- Await what the transactions start (PostgreSQL pass follow-up): a project export ran detached: the viewer callback returned buildExport()'s promise without awaiting it, so the route answered before the archive existed. A sync callback that… ([`03ffd96`](https://github.com/OpenVibers/OpenVibe.Codes/commit/03ffd960f074d17ce4f045f03912f24816135797))\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its… ([`c265b2a`](https://github.com/OpenVibers/OpenVibe.Codes/commit/c265b2aeb97f8b4d6ee9bbe78a461ba381f592c8))\n\n## OpenVibe.Coupons\n\n[openvibe.coupons](https://openvibe.coupons) · [repository](https://github.com/OpenVibers/OpenVibe.Coupons)\n\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its… ([`74240ba`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/74240ba87f7fb51b09844725d01872f101658743))\n- POST /merchants waits for its code sync to commit: store().tx(syncMerchant) was started and abandoned (no await, no catch), so the API answered 201 while the sync was in flight and a failure was swallowed, leaving the merchant active with… ([`fb61769`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/fb617696c17d82a82618ccc950a7c7d7ec74ebde))\n\n## OpenVibe.Deals\n\n[openvibe.deals](https://openvibe.deals) · [repository](https://github.com/OpenVibers/OpenVibe.Deals)\n\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its… ([`0fe6545`](https://github.com/OpenVibers/OpenVibe.Deals/commit/0fe654574a35253f5433ce73ba360500b84c9d6d))\n- A moderator's flag decision commits together with its audit row: logAction() inside flags.resolve's transaction was not awaited, so the moderation_log write floated outside the awaited flow and a failing audit write was swallowed (under… ([`57b4194`](https://github.com/OpenVibers/OpenVibe.Deals/commit/57b41944aa57c24fd8885be80bdf5463a87a88e1))\n\n## OpenVibe.News\n\n[openvibe.news](https://openvibe.news) · [repository](https://github.com/OpenVibers/OpenVibe.News)\n\n- Await what the transactions start (PostgreSQL pass follow-up): discussion, ingest and the API called async helpers inside sync callbacks without awaiting them. A sync callback that calls async code returns before the work is done, so… ([`40cb264`](https://github.com/OpenVibers/OpenVibe.News/commit/40cb26431985cb76b4b0ccddcf15d350fe51806c))\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its… ([`08c3e75`](https://github.com/OpenVibers/OpenVibe.News/commit/08c3e75266f6f375c100ee62daf22d5f0e225a52))\n\n## OpenVibe.Reviews\n\n[openvibe.reviews](https://openvibe.reviews) · [repository](https://github.com/OpenVibers/OpenVibe.Reviews)\n\n- Await what the transactions start (PostgreSQL pass follow-up): the service's db.tx callback called its async work without awaiting it. A sync callback that calls async code returns before the work is done, so writes could land outside or… ([`2712ca2`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/2712ca20edb422d807631eb3b2db9612b833a86a))\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, REVIEWS_DB_PATH/dbPath (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and… ([`34916a4`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/34916a41c7b29e261abd4274e9a22b9fc8b9b568))\n\n## OpenVibe.Search\n\n[search.openvibe.network](https://search.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Search)\n\n- Await what the transactions start (PostgreSQL pass follow-up): the outbox and CDN-purge queues' mark() ran each row's async write inside a sync db.tx callback without awaiting it. A sync callback that calls async code returns before the… ([`7c07b41`](https://github.com/OpenVibers/OpenVibe.Search/commit/7c07b41ab49e7d711421dd30264491ee08b7a80f))\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, the *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and… ([`7be6c42`](https://github.com/OpenVibers/OpenVibe.Search/commit/7be6c4231ddde2f4752aa8f18c7142cfd69a2e8d))\n\n## OpenVibe.Community\n\n[openvibe.community](https://openvibe.community) · [repository](https://github.com/OpenVibers/OpenVibe.Community)\n\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its… ([`e63af62`](https://github.com/OpenVibers/OpenVibe.Community/commit/e63af62e96e965549fadcaf54ab1fee05635c1bb))\n\n## OpenVibe.Events\n\n[events.openvibe.network](https://events.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, the *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and… ([`0076761`](https://github.com/OpenVibers/OpenVibe.Events/commit/007676114ca5b5467ed260ad5cda4b642bd5fa05))\n\n## OpenVibe.Sources\n\n[sources.openvibe.network](https://sources.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Sources)\n\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its… ([`eab2714`](https://github.com/OpenVibers/OpenVibe.Sources/commit/eab2714a8449a23cb3fd5ebd4bc444e2186ca402))\n\n## OpenVibe.Tips\n\n[openvibe.tips](https://openvibe.tips) · [repository](https://github.com/OpenVibers/OpenVibe.Tips)\n\n- Tips keeps no Live-import or SQLite code (the import is long done; no compatibility kept): server/importer/live.js, scripts/import-live.js and migrate-to-postgres.js, the import and SQLite-move tests and fixture, the better-sqlite3… ([`036effd`](https://github.com/OpenVibers/OpenVibe.Tips/commit/036effdc2d6686c5457a8e53ecc8309212928cae))\n\n## OpenVibe.Trade\n\n[openvibe.trade](https://openvibe.trade) · [repository](https://github.com/OpenVibers/OpenVibe.Trade)\n\n- The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its… ([`5e1dcb4`](https://github.com/OpenVibers/OpenVibe.Trade/commit/5e1dcb42b1f872f8aa55b009b405ea0c57bb4d67))\n\n---\n\nPatch notes are put together automatically when enough changes have shipped, or when a large feature lands. See every site's own updates page for the live list.","revision":1,"state":"published","visibility":"public","published_at":"2026-09-29T07:25:28.118Z","revised_at":"2026-09-29T07:25:28.104Z","author":{"subject":"usr_01KKT9AC60KM7CRTB3WN1Z8P56","name":"goosely","username":"goosely"},"authorship":{"mode":"imported","workflow":null,"reviewed":false,"disclosure":{"mode":"imported","short":"Imported","long":"Imported from Commit messages from the OpenVibers repositories on GitHub; originally by OpenVibers."}},"tags":["patch-notes","live","games","media","blog","host","vip","billing","openre","wiki","ai"],"categories":[],"series":{"title":"Patch notes","url":"https://openvibe.blog/@openvibe/series/patch-notes","position":null},"media":[],"citations":[],"indexability":{"indexable":true,"robots":"index, follow","reasons":[]}}