{"id":"pst_01M5MHE1QRGPS297PH54SNZATW","url":"https://openvibe.blog/@openvibe/patch-notes-41-changes-across-26-sites-oct-23","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: 41 changes across 26 sites (Oct 23)","summary":"What shipped on OpenVibe on 2026-10-23: 41 changes to OpenVibe.Live, OpenVibe.Search, OpenVibe.Sources, OpenVibe.Work, OpenVibe.Billing, OpenVibe.Chat and 20 more.","body_markdown":"What shipped on OpenVibe on 2026-10-23: 41 changes to OpenVibe.Live, OpenVibe.Search, OpenVibe.Sources, OpenVibe.Work, OpenVibe.Billing, OpenVibe.Chat and 20 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- Calls show their pictures on every page and can share a screen (the call dock) (#317) ([`85ea75a`](https://github.com/OpenVibers/OpenVibe.Live/commit/85ea75aad5bfaac96bf314572154b7e4b24aefef))\n- 2fat Bass Drop: the styles of 2fat's one-of-a-kind set (#318) ([`334aa6b`](https://github.com/OpenVibers/OpenVibe.Live/commit/334aa6bfcf24d75f0e7f2753ba7a47ca9e7463b4))\n- openvibe-shared v4.9.0 (was v4.8.0) (#316) ([`b60286e`](https://github.com/OpenVibers/OpenVibe.Live/commit/b60286e94f508e70813b691ce3106977e0a5e2bf))\n- 2fat's set in the catalog; a worn item the catalog lacks renders from its Inventory definition (#319) ([`da89edf`](https://github.com/OpenVibers/OpenVibe.Live/commit/da89edf8b312e6ec27f9ec0c7b24a3c1c308d65e))\n\n## OpenVibe.Search\n\n[search.openvibe.network](https://search.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Search)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#81) ([`21d0f55`](https://github.com/OpenVibers/OpenVibe.Search/commit/21d0f5506c6cbe4e4b232cd462de82d925be031c))\n- Structured data names list items as the page shows them (the release browser check failed the home's list) (#82) ([`079d4e6`](https://github.com/OpenVibers/OpenVibe.Search/commit/079d4e662823c9d258c0e86f0d5b51664d587217))\n- Contract 0004: drop the legacy event_outbox (service_outbox has carried every event since 2026-10-10) (#83) ([`01fadcb`](https://github.com/OpenVibers/OpenVibe.Search/commit/01fadcb46bc8d1c57bded3ea12b21c9e44615ea7))\n\n## OpenVibe.Sources\n\n[sources.openvibe.network](https://sources.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Sources)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#94) ([`3c1f833`](https://github.com/OpenVibers/OpenVibe.Sources/commit/3c1f833d286601feeaed6dc77dc0e80945012066))\n- The 2026-10-23 terms review: every enabled source's decision, in the seeds as in production (#95) ([`86d2357`](https://github.com/OpenVibers/OpenVibe.Sources/commit/86d2357b4165386ca9614db2d53b54a2b73f3192))\n- Contract 0005: drop the legacy event_outbox (#96) ([`c9c8af9`](https://github.com/OpenVibers/OpenVibe.Sources/commit/c9c8af98c4bf1b0d77d717dcb0474f2835acafdf))\n\n## OpenVibe.Work\n\n[openvibe.work](https://openvibe.work) · [repository](https://github.com/OpenVibers/OpenVibe.Work)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#67) ([`0afec55`](https://github.com/OpenVibers/OpenVibe.Work/commit/0afec553f6895daa287f4e57f177e19d8644c9b4))\n- One city, however a board spells it: München finds Munich, and the home counts each city once (#68) ([`39038fd`](https://github.com/OpenVibers/OpenVibe.Work/commit/39038fdeed9394eddd6958b83edc14c819f9f3ef))\n- Structured data names list items as the page shows them (the release browser check failed both lists) (#69) ([`2a86f88`](https://github.com/OpenVibers/OpenVibe.Work/commit/2a86f887003c7ce7ddd693c1725c6611bb1d3801))\n\n## OpenVibe.Billing\n\n[billing.openvibe.network](https://billing.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Billing)\n\n- Reconcile reads service_outbox alone (the legacy outbox is empty; a later contract drops it) (#90) ([`355b3ee`](https://github.com/OpenVibers/OpenVibe.Billing/commit/355b3eeb5c740395d12dc742f42dec2c1d0f139d))\n- Contract 0010: drop the legacy outbox (empty; unread since Billing#90, this release's N-1) (#91) ([`76b4e6d`](https://github.com/OpenVibers/OpenVibe.Billing/commit/76b4e6de9b30d6c137a5fcb9ef42c37aca7b11b7))\n\n## OpenVibe.Chat\n\n[openvibe.chat](https://openvibe.chat) · [repository](https://github.com/OpenVibers/OpenVibe.Chat)\n\n- 2fat's one-of-a-kind voice: Bass Boss (voice_twofat) (#132) ([`79d34a1`](https://github.com/OpenVibers/OpenVibe.Chat/commit/79d34a10e691539f59f82258e45804f71fd1c89e))\n- openvibe-sdk v0.62.0 (was v0.60.0) (#131) ([`d8209b6`](https://github.com/OpenVibers/OpenVibe.Chat/commit/d8209b6f7115f539aaacc64a67723af74ec1a8fb))\n\n## OpenVibe.Media\n\n[openvibe.media](https://openvibe.media) · [repository](https://github.com/OpenVibers/OpenVibe.Media)\n\n- openvibe-shared v4.9.0 (was v4.8.0) (#158) ([`269c43a`](https://github.com/OpenVibers/OpenVibe.Media/commit/269c43a665855890971ae6fc4e836d8855f662d0))\n- Media may pull recordings from OpenRestream's loopback play ports (MEDIA_RTMP_PULL_ALLOW ranges) (#159) ([`19814ae`](https://github.com/OpenVibers/OpenVibe.Media/commit/19814aeec44c902ad3495709f92bb120c3e2af19))\n\n## OpenVibe.MediaHub\n\n[openvibe.video](https://openvibe.video) · [repository](https://github.com/OpenVibers/OpenVibe.MediaHub)\n\n- openvibe-sdk v0.62.0 (was v0.61.0) (#115) ([`0f2aab2`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/0f2aab21745c14b8bb8d26950adab6c048bf3269))\n- A record-only recording is filed though Media's event carries no meta: read it back from Media (#116) ([`df33cd0`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/df33cd0a45e768d995e8a75afc74a43d86b47930))\n\n## OpenVibe.Tips\n\n[openvibe.tips](https://openvibe.tips) · [repository](https://github.com/OpenVibers/OpenVibe.Tips)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#78) ([`fb23eb9`](https://github.com/OpenVibers/OpenVibe.Tips/commit/fb23eb9b4fef635908a54c3bbea8e0bc3e089f4e))\n- The Live badge reads in every theme (its red darkened for small white text; axe color-contrast) (#79) ([`4af5a1d`](https://github.com/OpenVibers/OpenVibe.Tips/commit/4af5a1d0f509b941a2c7fb41a24d25a7f0bc60a3))\n\n## OpenVibe.Watch\n\n[openvibe.watch](https://openvibe.watch) · [repository](https://github.com/OpenVibers/OpenVibe.Watch)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#88) ([`361cd47`](https://github.com/OpenVibers/OpenVibe.Watch/commit/361cd47511bec8aea0edd42ac50afc7c6fceb0e8))\n- Contract 0013: drop the legacy event_outbox (empty; service_outbox since 2026-10-10) (#89) ([`7c75462`](https://github.com/OpenVibers/OpenVibe.Watch/commit/7c75462cfe73981935edde1db4b8a2c117044706))\n\n## OpenVibe.AI\n\n[ai.openvibe.services](https://ai.openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.AI)\n\n- Billing readings never sent expire with their run (the outbox grew 4,000 a day with no relay) (#139) ([`b8b44ac`](https://github.com/OpenVibers/OpenVibe.AI/commit/b8b44acec82a81e3ffc6e706e2095b78abe5da21))\n\n## OpenVibe.Blog\n\n[openvibe.blog](https://openvibe.blog) · [repository](https://github.com/OpenVibers/OpenVibe.Blog)\n\n- The news desk reads the CDC, NIST and the Federal Reserve Board too (#75) ([`88a6348`](https://github.com/OpenVibers/OpenVibe.Blog/commit/88a6348afba76cae9ee8b73a57088a69b81f3529))\n\n## OpenVibe.Coupons\n\n[openvibe.coupons](https://openvibe.coupons) · [repository](https://github.com/OpenVibers/OpenVibe.Coupons)\n\n- Structured data names list items as the page shows them (the release browser check failed the home's list) (#85) ([`f47f873`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/f47f8730b68222fdc87fcf9ac0b6324470ebc2ba))\n\n## OpenVibe.Events\n\n[openvibe.events](https://openvibe.events) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- A limit refusal logs once a minute per actor, with how many it held back (svc:search's re-index bursts printed 935 lines) (#108) ([`11577c5`](https://github.com/OpenVibers/OpenVibe.Events/commit/11577c5bd29bfd3f6e388c641d3098d1a749a34e))\n\n## OpenVibe.Food\n\n[openvibe.food](https://openvibe.food) · [repository](https://github.com/OpenVibers/OpenVibe.Food)\n\n- Structured data names list items as the page shows them (the release browser check failed the home's list) (#77) ([`77b2ea3`](https://github.com/OpenVibers/OpenVibe.Food/commit/77b2ea369121d88cd044bce41cd08a4a79fd3af1))\n\n## OpenVibe.Help\n\n[openvibe.help](https://openvibe.help) · [repository](https://github.com/OpenVibers/OpenVibe.Help)\n\n- A ticket opened from a site's 'Report a problem' link starts with that site and page (#81) ([`12a6aa5`](https://github.com/OpenVibers/OpenVibe.Help/commit/12a6aa5c3e2a7129f5f888d84e7f08f1cd08c1e6))\n\n## OpenVibe.Inventory\n\n[inventory.openvibe.network](https://inventory.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Inventory)\n\n- 2fat's one-of-a-kind set: Bass Drop, Bangers, Boombox, Bass Boss (#71) ([`46966b3`](https://github.com/OpenVibers/OpenVibe.Inventory/commit/46966b3689e1e5704df37d73464f02736057d772))\n\n## OpenRestream\n\n[openre.stream](https://openre.stream) · [repository](https://github.com/OpenVibers/OpenRestream)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#97) ([`70414df`](https://github.com/OpenVibers/OpenRestream/commit/70414dfc739df01f7f0ba4f6c6ba565147036cce))\n\n## OpenVibe.Rent\n\n[openvibe.rent](https://openvibe.rent) · [repository](https://github.com/OpenVibers/OpenVibe.Rent)\n\n- Structured data names list items as the page shows them (the release browser check failed the home's list) (#88) ([`3518617`](https://github.com/OpenVibers/OpenVibe.Rent/commit/35186170e502369776b1cffcbcd46d1645c9553c))\n\n## OpenVibe.Services\n\n[openvibe.services](https://openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.Services)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#95) ([`d79d4d6`](https://github.com/OpenVibers/OpenVibe.Services/commit/d79d4d686b8eee28de69c03d04c98431dfbeb38f))\n\n## OpenVibe.Space\n\n[openvibe.space](https://openvibe.space) · [repository](https://github.com/OpenVibers/OpenVibe.Space)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#79) ([`edab526`](https://github.com/OpenVibers/OpenVibe.Space/commit/edab526526bdc0992405bb89fd535c6b28c413e9))\n\n## OpenVibe.Tools\n\n[openvibe.tools](https://openvibe.tools) · [repository](https://github.com/OpenVibers/OpenVibe.Tools)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#89) ([`58c6d6e`](https://github.com/OpenVibers/OpenVibe.Tools/commit/58c6d6e22ed6c694b0ecfbae2c1d1b53e4092f9a))\n\n## OpenVibe.Trade\n\n[openvibe.trade](https://openvibe.trade) · [repository](https://github.com/OpenVibers/OpenVibe.Trade)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#86) ([`d5bab9e`](https://github.com/OpenVibers/OpenVibe.Trade/commit/d5bab9e45bf27a1fb5946f188b121c4a2b47b5cd))\n\n## OpenVibe.VIP\n\n[openvibe.vip](https://openvibe.vip) · [repository](https://github.com/OpenVibers/OpenVibe.VIP)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#78) ([`e6890f1`](https://github.com/OpenVibers/OpenVibe.VIP/commit/e6890f11dd3b2590248a97e3bab69d2b6661b819))\n\n## OpenVibe.Wiki\n\n[openvibe.wiki](https://openvibe.wiki) · [repository](https://github.com/OpenVibers/OpenVibe.Wiki)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#97) ([`83ced43`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/83ced430e342c4091106603b91912826740fe3dd))\n\n## OpenVibe.Zone\n\n[openvibe.zone](https://openvibe.zone) · [repository](https://github.com/OpenVibers/OpenVibe.Zone)\n\n- openvibe-sdk v0.62.0 (was v0.60.0) (#33) ([`10c8ac2`](https://github.com/OpenVibers/OpenVibe.Zone/commit/10c8ac244764d62c351bac210ae02b8c1e4c8db4))\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-23T14:07:59.253Z","revised_at":"2026-10-23T14:07:59.235Z","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","search","sources","work","billing","chat","media","media-hub","tips","watch"],"categories":[],"series":{"title":"Patch notes","url":"https://openvibe.blog/@openvibe/series/patch-notes","position":null},"media":[],"citations":[],"indexability":{"indexable":true,"robots":"index, follow","reasons":[]}}