{"id":"pst_01M4EKDD06SSFVJKETPA39N920","url":"https://openvibe.blog/@openvibe/patch-notes-live-on-postgresql","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: Live on PostgreSQL","summary":"What shipped on OpenVibe on 2026-10-08: 58 changes to OpenVibe.Network, OpenVibe.Host, OpenVibe.Codes, OpenVibe.Live, OpenVibe.Actor, OpenVibe.AI and 22 more.","body_markdown":"What shipped on OpenVibe on 2026-10-08: 58 changes to OpenVibe.Network, OpenVibe.Host, OpenVibe.Codes, OpenVibe.Live, OpenVibe.Actor, OpenVibe.AI and 22 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.\n\n## Highlights\n\n- **OpenVibe.Live:** Live on PostgreSQL (plan T4): the last SQLite service moves to openvibe-sdk/db (#46) ([`81dc337`](https://github.com/OpenVibers/OpenVibe.Live/commit/81dc337dc7ae261ccc498f5894241f1f0e9cc52f))\n- **OpenVibe.Codes:** Codes is the open coding-agent harness; the developer console moved to OpenVibe.Services (#25) ([`c50db79`](https://github.com/OpenVibers/OpenVibe.Codes/commit/c50db79fb07f22f23b3a5ffe5f77d1b57412ec81))\n- **OpenVibe.Live:** Live after the switch to PostgreSQL: N-1 fixtures re-recorded from 81dc337 (the release now in production, so the N-1 SQL replay runs again); the docs say PostgreSQL (#47) ([`96f6bf5`](https://github.com/OpenVibers/OpenVibe.Live/commit/96f6bf554373c3129377daa5f49567dc45ed33d5))\n- **OpenVibe.Codes:** openvibe-codes 0.2.0: the harness runs coding tasks on any agent from your machine, with hand-offs between them. (#26) ([`a1b36d3`](https://github.com/OpenVibers/OpenVibe.Codes/commit/a1b36d3d7602fd7dedab54c517929347e8171cc1))\n\n## OpenVibe.Network\n\n[openvibe.network](https://openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Network)\n\n- openvibe-sdk v0.35.1 (was v0.28.0) (#78) ([`6e3da42`](https://github.com/OpenVibers/OpenVibe.Network/commit/6e3da425e423a0ca3fd58a8640e670f931f0e7bd))\n- Network's ai client seeds only ai.openvibe.services/auth/callback: ai.openvibe.network answers 301 and no sign-in returns there (plan T6) (#79) ([`a089fcd`](https://github.com/OpenVibers/OpenVibe.Network/commit/a089fcdd49700f0bdab4e5840c4a685575b0f279))\n- openvibe-shared v2.13.2 (was v2.13.0) (#80) ([`dd77c6e`](https://github.com/OpenVibers/OpenVibe.Network/commit/dd77c6e7b96461216b05b58c31cc2979c811f83c))\n- Network: the developer console moves to OpenVibe.Services; Codes becomes the coding-agent harness (contracts v0.113.0) (#81) ([`9591ff8`](https://github.com/OpenVibers/OpenVibe.Network/commit/9591ff831251343af4fd214a595486cf7ba9b8b3))\n- Network: the home page's Build on OpenVibe card, the README and the developer-projects doc point at openvibe.services (the console moved there from openvibe.codes) (#82) ([`590a8fa`](https://github.com/OpenVibers/OpenVibe.Network/commit/590a8fad2269e449ad53f4ea9bdfffd31ac2bdcc))\n- openvibe-contracts v0.114.0 (was v0.113.0) (#83) ([`fe4b99e`](https://github.com/OpenVibers/OpenVibe.Network/commit/fe4b99e1ad1468d7661c4a84533a5f088b0f8271))\n- Network: OpenVibe.Actor signs in (OAuth client actor, https://openvibe.actor/auth/callback), is on the home page and in the frame, and contracts move to v0.115.0. (#84) ([`d58808b`](https://github.com/OpenVibers/OpenVibe.Network/commit/d58808b7e1402d0a93d734a476c3db1a8e83f515))\n\n## OpenVibe.Host\n\n[openvibe.host](https://openvibe.host) · [repository](https://github.com/OpenVibers/OpenVibe.Host)\n\n- Data role: PostgreSQL max_connections 200 and smaller PgBouncer pools (5 per database, cap 10, idle server connections closed after 60 s) (#34) ([`1e59a52`](https://github.com/OpenVibers/OpenVibe.Host/commit/1e59a52979e556345bc0818a0905bc470d45273b))\n- openvibe-shared v2.13.2 (was v2.13.0) (#35) ([`f968161`](https://github.com/OpenVibers/OpenVibe.Host/commit/f9681618da332d4af8325454b657ee22c31d0eef))\n- Host: a data switch stops a socket-activated service's socket too; ov_live gets its own PgBouncer pool (#36) ([`903db10`](https://github.com/OpenVibers/OpenVibe.Host/commit/903db10090db48f4906825e92fcea6422e0c47f2))\n- The release UX check watches Space, Bot, Events and OpenVibe.Services too, and checks the Codes and Services pages people land on. (#37) ([`c6141f6`](https://github.com/OpenVibers/OpenVibe.Host/commit/c6141f6f4b451222369240a27ea6eda9f6ad7ae3))\n- openvibe-shared v2.14.0 (was v2.13.2) (#38) ([`693c48e`](https://github.com/OpenVibers/OpenVibe.Host/commit/693c48e0d3272d0acbbd185bc7b6af890074133a))\n\n## OpenVibe.Codes\n\n[openvibe.codes](https://openvibe.codes) · [repository](https://github.com/OpenVibers/OpenVibe.Codes)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#24) ([`f83618f`](https://github.com/OpenVibers/OpenVibe.Codes/commit/f83618f4167b2c782858906941602f03da6730a9))\n- Codes is the open coding-agent harness; the developer console moved to OpenVibe.Services (#25) ([`c50db79`](https://github.com/OpenVibers/OpenVibe.Codes/commit/c50db79fb07f22f23b3a5ffe5f77d1b57412ec81))\n- openvibe-codes 0.2.0: the harness runs coding tasks on any agent from your machine, with hand-offs between them. (#26) ([`a1b36d3`](https://github.com/OpenVibers/OpenVibe.Codes/commit/a1b36d3d7602fd7dedab54c517929347e8171cc1))\n- openvibe-shared v2.14.0 (was v2.13.3) (#27) ([`58a8595`](https://github.com/OpenVibers/OpenVibe.Codes/commit/58a85951ad6127f6d04d54ba1151aeb624bf12a6))\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- Live passes the browser check: paste screenshots from openvibe.community load (img-src), and the chat resize grip is a full ARIA separator (orientation and value) (#45) ([`10c319d`](https://github.com/OpenVibers/OpenVibe.Live/commit/10c319d09ac477e32919dfc24540fbe1622ea8a2))\n- Live on PostgreSQL (plan T4): the last SQLite service moves to openvibe-sdk/db (#46) ([`81dc337`](https://github.com/OpenVibers/OpenVibe.Live/commit/81dc337dc7ae261ccc498f5894241f1f0e9cc52f))\n- Live after the switch to PostgreSQL: N-1 fixtures re-recorded from 81dc337 (the release now in production, so the N-1 SQL replay runs again); the docs say PostgreSQL (#47) ([`96f6bf5`](https://github.com/OpenVibers/OpenVibe.Live/commit/96f6bf554373c3129377daa5f49567dc45ed33d5))\n- Live: channel pages, /updates, /settings, /themes, /admin and /documentation answer the page again, not {}. (#48) ([`cc6997f`](https://github.com/OpenVibers/OpenVibe.Live/commit/cc6997fa55707e21bd1533fdbb36a14dc33628a7))\n\n## OpenVibe.Actor\n\n[openvibe.actor](https://openvibe.actor) · [repository](https://github.com/OpenVibers/OpenVibe.Actor)\n\n- Actor: the check works with DeepSeek's reasoning model, sees the cited sources, and falls back to another checker. (#1) ([`9d4b5a8`](https://github.com/OpenVibers/OpenVibe.Actor/commit/9d4b5a8eaa64c80c687b3329d9a07db2270a114f))\n- openvibe-shared v2.14.0 (was v2.13.3) (#2) ([`1fb336b`](https://github.com/OpenVibers/OpenVibe.Actor/commit/1fb336b773f81293d7ceb2a747c79b8778b552d4))\n- Actor: a task page that reads top to bottom, a check that passes a sensible reply, and no hand-off to a weaker agent. (#3) ([`00ac84d`](https://github.com/OpenVibers/OpenVibe.Actor/commit/00ac84db1cfacc6edd7158d6494f0ff8216efea1))\n\n## OpenVibe.AI\n\n[ai.openvibe.services](https://ai.openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.AI)\n\n- AI's public pages pass the browser check: CSPs allow Cloudflare Web Analytics, browsers get an HTML 404, /favicon.ico serves the app icon (#27) ([`409a269`](https://github.com/OpenVibers/OpenVibe.AI/commit/409a2697acb8061d8909e56cfc4f7dd8bed5af82))\n- openvibe-shared v2.13.2 (was v2.13.0) (#28) ([`33e5576`](https://github.com/OpenVibers/OpenVibe.AI/commit/33e55769091950298e415c0c2f6328c5cf31287a))\n- AI: developers create projects and read the API reference on openvibe.services (the developer console moved there from openvibe.codes) (#29) ([`be76fb7`](https://github.com/OpenVibers/OpenVibe.AI/commit/be76fb75ba8c0359aa4ddd3342aa9d23fb2e5635))\n\n## OpenVibe.Events\n\n[openvibe.events](https://openvibe.events) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- Events home passes the browser check: CSP allows Cloudflare Web Analytics, browsers get an HTML 404 (lang, title, icon), /favicon.ico serves the app icon (#25) ([`1d340bd`](https://github.com/OpenVibers/OpenVibe.Events/commit/1d340bd64556ded1e5f7fc72dc2189d59e084fc0))\n- openvibe-shared v2.13.2 (was v2.13.0) (#26) ([`607004e`](https://github.com/OpenVibers/OpenVibe.Events/commit/607004e6d3671e613a176b5b2201aa8de8bcd3d6))\n- Links: the developer console (projects, usage, the limits page) is on openvibe.services now. (#27) ([`58f6afb`](https://github.com/OpenVibers/OpenVibe.Events/commit/58f6afbb99cfea426aad136d7004c4f3387d37a1))\n\n## OpenVibe.Media\n\n[openvibe.media](https://openvibe.media) · [repository](https://github.com/OpenVibers/OpenVibe.Media)\n\n- Media pins openvibe-sdk v0.35.1 and drops its PGlite timer workaround: the SDK now unrefs PGlite's alarms itself (#51) ([`094d9bf`](https://github.com/OpenVibers/OpenVibe.Media/commit/094d9bf1a3711a527659119918d4e68f3ca6818a))\n- openvibe-shared v2.13.2 (was v2.13.0) (#52) ([`c6767a0`](https://github.com/OpenVibers/OpenVibe.Media/commit/c6767a08ae528e19c15d028b94e4152e35bf78f0))\n- Links: the developer console (projects, usage, the limits page) is on openvibe.services now. (#53) ([`26f2462`](https://github.com/OpenVibers/OpenVibe.Media/commit/26f246270aca3caf992d33bfdb58d949817a1f30))\n\n## OpenVibe.Services\n\n[openvibe.services](https://openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.Services)\n\n- Services' home lists every programmable service: live, an API reference and a grantable capability (AI, Events and Search have no site block; their product taglines describe them) (#7) ([`576b946`](https://github.com/OpenVibers/OpenVibe.Services/commit/576b946e5f5c024976111d3695ccc14ce77bedb5))\n- openvibe-contracts v0.114.0 (was v0.113.0) (#8) ([`0084e7a`](https://github.com/OpenVibers/OpenVibe.Services/commit/0084e7a0742562eb77061c7a33f4f97e5c681b0d))\n- openvibe-shared v2.14.0 (was v2.13.3) (#9) ([`0f679e9`](https://github.com/OpenVibers/OpenVibe.Services/commit/0f679e9c57001470294904025fe4a78e38daccf6))\n\n## OpenVibe.Tools\n\n[openvibe.tools](https://openvibe.tools) · [repository](https://github.com/OpenVibers/OpenVibe.Tools)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#20) ([`5d33c39`](https://github.com/OpenVibers/OpenVibe.Tools/commit/5d33c39b7933df72a727f2ad42f5bfcd1b12ffd3))\n- Links: the developer console (projects, usage, the limits page) is on openvibe.services now. (#21) ([`f0d15ce`](https://github.com/OpenVibers/OpenVibe.Tools/commit/f0d15ce52dfb8d11c6801c88cfd2ffaf3e82e4ac))\n- Tools: a new \"read\" tool turns any public web page into clean text or Markdown (title, description, main text, links) through the SSRF guard and the run API. (#22) ([`0c1dcdc`](https://github.com/OpenVibers/OpenVibe.Tools/commit/0c1dcdc7b2f277d1cb05761ee189197d86b42824))\n\n## OpenVibe.Community\n\n[openvibe.community](https://openvibe.community) · [repository](https://github.com/OpenVibers/OpenVibe.Community)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#23) ([`fcf494f`](https://github.com/OpenVibers/OpenVibe.Community/commit/fcf494fde6a4736944116f351aefc6324b7b99c6))\n- openvibe-shared v2.14.0 (was v2.13.2) (#24) ([`1d71937`](https://github.com/OpenVibers/OpenVibe.Community/commit/1d719376a2009259e2e7d27ff468b30a1080ee87))\n\n## OpenVibe.Space\n\n[openvibe.space](https://openvibe.space) · [repository](https://github.com/OpenVibers/OpenVibe.Space)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#5) ([`0f3ddcd`](https://github.com/OpenVibers/OpenVibe.Space/commit/0f3ddcd70b6e2d310f926e0710c77265f569ee28))\n- openvibe-shared v2.14.0 (was v2.13.2) (#6) ([`3cab046`](https://github.com/OpenVibers/OpenVibe.Space/commit/3cab0466a957775cf6bacdf8a201dca934b985d7))\n\n## OpenVibe.Billing\n\n[billing.openvibe.network](https://billing.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Billing)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#20) ([`bcd7fe2`](https://github.com/OpenVibers/OpenVibe.Billing/commit/bcd7fe286a6dbc3a3b50efd81958b7c1d41d6121))\n\n## OpenVibe.Blog\n\n[openvibe.blog](https://openvibe.blog) · [repository](https://github.com/OpenVibers/OpenVibe.Blog)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#12) ([`7f13ce0`](https://github.com/OpenVibers/OpenVibe.Blog/commit/7f13ce0ce436c7882307ee18f15f7942f49af834))\n\n## OpenVibe.Bot\n\n[openvibe.bot](https://openvibe.bot) · [repository](https://github.com/OpenVibers/OpenVibe.Bot)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#43) ([`a1ee99e`](https://github.com/OpenVibers/OpenVibe.Bot/commit/a1ee99e739e4e7748fc45db2c52b6371f3063807))\n\n## OpenVibe.Chat\n\n[openvibe.chat](https://openvibe.chat) · [repository](https://github.com/OpenVibers/OpenVibe.Chat)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#32) ([`ec97713`](https://github.com/OpenVibers/OpenVibe.Chat/commit/ec97713ccbeac77f0de63919d15cc546bb0288a3))\n\n## OpenVibe.Coupons\n\n[openvibe.coupons](https://openvibe.coupons) · [repository](https://github.com/OpenVibers/OpenVibe.Coupons)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#17) ([`ee41c27`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/ee41c272a9e53aea52ee44a5e7bb042357d7ed8e))\n\n## OpenVibe.Deals\n\n[openvibe.deals](https://openvibe.deals) · [repository](https://github.com/OpenVibers/OpenVibe.Deals)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#16) ([`1351a75`](https://github.com/OpenVibers/OpenVibe.Deals/commit/1351a757d586409fc9620da2f24942b03087cf60))\n\n## OpenVibe.Games\n\n[openvibe.games](https://openvibe.games) · [repository](https://github.com/OpenVibers/OpenVibe.Games)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#18) ([`03d692d`](https://github.com/OpenVibers/OpenVibe.Games/commit/03d692dddd9a91471d396367b50476bd8a69b825))\n\n## OpenVibe.News\n\n[openvibe.news](https://openvibe.news) · [repository](https://github.com/OpenVibers/OpenVibe.News)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#16) ([`abaeb78`](https://github.com/OpenVibers/OpenVibe.News/commit/abaeb78206e9a232df4a830251ba62e429b91869))\n\n## OpenRe.Stream\n\n[openre.stream](https://openre.stream) · [repository](https://github.com/OpenVibers/OpenRe.Stream)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#20) ([`023b612`](https://github.com/OpenVibers/OpenRe.Stream/commit/023b6123b95416fcccc842972934dabe640bef14))\n\n## OpenVibe.Reviews\n\n[openvibe.reviews](https://openvibe.reviews) · [repository](https://github.com/OpenVibers/OpenVibe.Reviews)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#17) ([`7ed5776`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/7ed57761f65c1a5c8ee4e9114046db875c83d434))\n\n## OpenVibe.Search\n\n[search.openvibe.network](https://search.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Search)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#17) ([`0866091`](https://github.com/OpenVibers/OpenVibe.Search/commit/086609115079c0bc2d791c7fedcc2ebb5abde044))\n\n## OpenVibe.Sources\n\n[sources.openvibe.network](https://sources.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Sources)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#9) ([`e813ced`](https://github.com/OpenVibers/OpenVibe.Sources/commit/e813ced0ccd37d5c49d26351ab7a7d6281d4d1a5))\n\n## OpenVibe.Tips\n\n[openvibe.tips](https://openvibe.tips) · [repository](https://github.com/OpenVibers/OpenVibe.Tips)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#15) ([`d034e96`](https://github.com/OpenVibers/OpenVibe.Tips/commit/d034e962d052e39f1744a8723a6f99ce0de62402))\n\n## OpenVibe.Trade\n\n[openvibe.trade](https://openvibe.trade) · [repository](https://github.com/OpenVibers/OpenVibe.Trade)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#18) ([`a8368d2`](https://github.com/OpenVibers/OpenVibe.Trade/commit/a8368d255d16fad8e53f329e80a6921ddb8b0413))\n\n## OpenVibe.VIP\n\n[openvibe.vip](https://openvibe.vip) · [repository](https://github.com/OpenVibers/OpenVibe.VIP)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#16) ([`9751509`](https://github.com/OpenVibers/OpenVibe.VIP/commit/97515099ddc4a70e979c329b33bac183251244fe))\n\n## OpenVibe.Wiki\n\n[openvibe.wiki](https://openvibe.wiki) · [repository](https://github.com/OpenVibers/OpenVibe.Wiki)\n\n- openvibe-shared v2.13.2 (was v2.13.0) (#15) ([`c1c62c1`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/c1c62c19f09ac868c02f7d988610f32c6b92cce9))\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-10-08T20:31:26.764Z","revised_at":"2026-10-08T20:31:26.734Z","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","network","host","codes","live","actor","ai","events","media","services","tools"],"categories":[],"series":{"title":"Patch notes","url":"https://openvibe.blog/@openvibe/series/patch-notes","position":null},"media":[],"citations":[],"indexability":{"indexable":true,"robots":"index, follow","reasons":[]}}