{"id":"pst_01M4RYJZT9AJ3E6KB1YCEJPFYA","url":"https://openvibe.blog/@openvibe/patch-notes-87-changes-across-36-sites-2","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: 87 changes across 36 sites","summary":"What shipped on OpenVibe on 2026-10-12: 87 changes to OpenVibe.MediaHub, OpenVibe.Help, OpenVibe.Live, OpenRestream, OpenVibe.Quest, OpenVibe.Actor and 30 more.","body_markdown":"What shipped on OpenVibe on 2026-10-12: 87 changes to OpenVibe.MediaHub, OpenVibe.Help, OpenVibe.Live, OpenRestream, OpenVibe.Quest, OpenVibe.Actor and 30 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.\n\n## OpenVibe.MediaHub\n\n[openvibe.video](https://openvibe.video) · [repository](https://github.com/OpenVibers/OpenVibe.MediaHub)\n\n- Video: play Media's HLS timeline, allow Media's edge host, count views on Live (#32) ([`5b9ab16`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/5b9ab165fc07434176bcbc26aeb738f1d7a78c25))\n- Video: the playlist API for people's tokens and apps (video.playlist.read/manage), public reads, playlists on channel pages (#33) ([`0fefc66`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/0fefc662687e54e9dd1fd6c1907d46bcc9772fec))\n- openvibe-contracts v0.152.0 (was v0.143.0) (#34) ([`18aa8a6`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/18aa8a6c65ab13810228b8186737fea2aef623eb))\n- Video: owner tools (edit, visibility, delete) on openvibe.video, made on Live as the signed-in person (#35) ([`bd21195`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/bd2119536b5343c88655f1c2798df7ebe223b240))\n- Video: VideoObject structured data with chapters as key moments, clip isPartOf, playlist ItemList; AI clips noindex (#37) ([`5da2ccd`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/5da2ccdd0877684c4edc0d2d99eadf4104a77d87))\n- Video: make a clip on openvibe.video (any signed-in viewer, cut on Live as the person, with their address) (#38) ([`18ae283`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/18ae2833dafeb508cfb12fb202f4f8e3092e607e))\n- openvibe-shared v4.1.0 (was v4.0.2) (#36) ([`4a77c0c`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/4a77c0cf34c1c17147025d9784c407c9f23598c6))\n\n## OpenVibe.Help\n\n[openvibe.help](https://openvibe.help) · [repository](https://github.com/OpenVibers/OpenVibe.Help)\n\n- Docs: README and STATUS say what is live today (#29) ([`2129af4`](https://github.com/OpenVibers/OpenVibe.Help/commit/2129af4bbb38e2dfc009874ce8ceb488f85d61f6))\n- STATUS: the service manifest is registered in openvibe-contracts (#30) ([`5223182`](https://github.com/OpenVibers/OpenVibe.Help/commit/52231824ff5f62ec435d338a79d1044e9b5c50fe))\n- openvibe-shared v4.1.0 (was v4.0.2) (#31) ([`6998447`](https://github.com/OpenVibers/OpenVibe.Help/commit/69984470282ddaaa547d044710eca6ad22506548))\n- Help: 'not open yet' site cards pass WCAG AA (dashed outline, not faded text) (#32) ([`d8558a1`](https://github.com/OpenVibers/OpenVibe.Help/commit/d8558a1a43846e3af1fe2af3adcbc2b284859f2b))\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- Live: count openvibe.video's views with a beacon; allow Media's shield host for VOD files (#106) ([`dc706b2`](https://github.com/OpenVibers/OpenVibe.Live/commit/dc706b2fa91fb63ba166750e6bce902711b57615))\n- openvibe-shared v4.1.0 (was v4.0.0) (#107) ([`9e2f3f7`](https://github.com/OpenVibers/OpenVibe.Live/commit/9e2f3f7b507e542563799c7403c40fc8d040d7f7))\n- Live: a public recording's and clip's canonical page is on OpenVibe.Video (sitemap, Search and llms.txt follow) (#108) ([`b29352f`](https://github.com/OpenVibers/OpenVibe.Live/commit/b29352fa163e10c2de2bffb9f5903304464cbf15))\n- Live: every sitemap entry carries an honest lastmod (newest item for lists and channels, the release's commit time otherwise) (#109) ([`bad1d88`](https://github.com/OpenVibers/OpenVibe.Live/commit/bad1d886656711f712e164e904eb8dab82418396))\n\n## OpenRestream\n\n[openre.stream](https://openre.stream) · [repository](https://github.com/OpenVibers/OpenRestream)\n\n- Docs: README and STATUS say what is live today (#60) ([`bda7f8f`](https://github.com/OpenVibers/OpenRestream/commit/bda7f8f003d0ecdab462620b02f6d5b5e6990e8b))\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#61) ([`84bab58`](https://github.com/OpenVibers/OpenRestream/commit/84bab58280ab13410753a2f70af4df98e06b11f7))\n- openvibe-shared v4.1.0 (was v4.0.0) (#62) ([`6d2f7a0`](https://github.com/OpenVibers/OpenRestream/commit/6d2f7a019f12e33dc2be2814e103689961e7187d))\n- openvibe-shared v4.1.1 (was v4.1.0) (#63) ([`0165938`](https://github.com/OpenVibers/OpenRestream/commit/016593829fdc6b071934ae1f5c0c572574ee76fc))\n\n## OpenVibe.Quest\n\n[openvibe.quest](https://openvibe.quest) · [repository](https://github.com/OpenVibers/OpenVibe.Quest)\n\n- Docs: README and STATUS say what is live today (#29) ([`11491f4`](https://github.com/OpenVibers/OpenVibe.Quest/commit/11491f4e9c6966055573264079ef22b89090c8c6))\n- STATUS: the service manifest is registered in openvibe-contracts (#30) ([`9c48847`](https://github.com/OpenVibers/OpenVibe.Quest/commit/9c488474f184c84e950de62e121f525f25ade53c))\n- Quest: reward amounts on the quest list pass WCAG AA contrast (#32) ([`8e6d8ec`](https://github.com/OpenVibers/OpenVibe.Quest/commit/8e6d8ec3f80b57ecd7d53cdb3239fb338d5ea31d))\n- openvibe-shared v4.1.0 (was v4.0.2) (#31) ([`2848a34`](https://github.com/OpenVibers/OpenVibe.Quest/commit/2848a349717fb19a6ad8bd80f633e927c466a302))\n\n## OpenVibe.Actor\n\n[openvibe.actor](https://openvibe.actor) · [repository](https://github.com/OpenVibers/OpenVibe.Actor)\n\n- openvibe-shared v4.1.0 (was v4.0.2) (#42) ([`e306dc7`](https://github.com/OpenVibers/OpenVibe.Actor/commit/e306dc73ce8170ff7a80eaf348886b3ede618345))\n- Actor: agent cards that are off pass WCAG AA (dashed outline, not faded text) (#43) ([`8fffd17`](https://github.com/OpenVibers/OpenVibe.Actor/commit/8fffd17ace62df1271b0fc0b331cdf08e48028e5))\n- openvibe-shared v4.1.1 (was v4.1.0) (#44) ([`4cede16`](https://github.com/OpenVibers/OpenVibe.Actor/commit/4cede160ef9aecaadff693c6abe91a855c125ecc))\n\n## OpenVibe.AI\n\n[ai.openvibe.services](https://ai.openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.AI)\n\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#58) ([`9305c94`](https://github.com/OpenVibers/OpenVibe.AI/commit/9305c94962766932b20104787bc257cd4b597dad))\n- openvibe-shared v4.1.0 (was v4.0.0) (#59) ([`ac6d149`](https://github.com/OpenVibers/OpenVibe.AI/commit/ac6d1494a39be85ce5acd8abd9cee4ab94b65167))\n- openvibe-shared v4.1.1 (was v4.1.0) (#60) ([`175cd30`](https://github.com/OpenVibers/OpenVibe.AI/commit/175cd30dee57c26d3fcf7663cd6f5200395922b0))\n\n## OpenVibe.Bot\n\n[openvibe.bot](https://openvibe.bot) · [repository](https://github.com/OpenVibers/OpenVibe.Bot)\n\n- openvibe-shared v4.1.0 (was v4.0.0) (#85) ([`330d070`](https://github.com/OpenVibers/OpenVibe.Bot/commit/330d07057df07cd6ac7baaad9dd4a7dab6ab67ae))\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#84) ([`e428d65`](https://github.com/OpenVibers/OpenVibe.Bot/commit/e428d6576fe2571d85fa922e3ed8e55577ce586e))\n- openvibe-shared v4.1.1 (was v4.1.0) (#86) ([`83b0f96`](https://github.com/OpenVibers/OpenVibe.Bot/commit/83b0f96c7a94fa48947ba932a57935fcd94a6e51))\n\n## OpenVibe.Chat\n\n[openvibe.chat](https://openvibe.chat) · [repository](https://github.com/OpenVibers/OpenVibe.Chat)\n\n- Docs: README and STATUS say what is live today (#76) ([`db8629f`](https://github.com/OpenVibers/OpenVibe.Chat/commit/db8629f057a2f72eaf12023bb0d1bd36620bf329))\n- openvibe-shared v4.1.0 (was v4.0.0) (#77) ([`929cf84`](https://github.com/OpenVibers/OpenVibe.Chat/commit/929cf84b832c2ba7e2de14566f71c0d81e8135d7))\n- openvibe-shared v4.1.1 (was v4.1.0) (#78) ([`0fcc4fd`](https://github.com/OpenVibers/OpenVibe.Chat/commit/0fcc4fd562af886960190140e7c020218e93565e))\n\n## OpenVibe.Deals\n\n[openvibe.deals](https://openvibe.deals) · [repository](https://github.com/OpenVibers/OpenVibe.Deals)\n\n- Docs: README and STATUS say what is live today (#43) ([`690dba0`](https://github.com/OpenVibers/OpenVibe.Deals/commit/690dba0344f73c5e825c2701580f13b17a910581))\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#44) ([`e08717e`](https://github.com/OpenVibers/OpenVibe.Deals/commit/e08717e65be24c6eb3fde64b2fa12e8d7377caba))\n- openvibe-shared v4.1.0 (was v4.0.0) (#45) ([`eb44f39`](https://github.com/OpenVibers/OpenVibe.Deals/commit/eb44f39122080f0b46d2ec035d9917b9714e9fb3))\n\n## OpenVibe.Events\n\n[openvibe.events](https://openvibe.events) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- Docs: README and STATUS say what is live today (#66) ([`0050a2b`](https://github.com/OpenVibers/OpenVibe.Events/commit/0050a2b452528dc7fa8bb8a2aac7dc5c5f35d080))\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#67) ([`cc39ec4`](https://github.com/OpenVibers/OpenVibe.Events/commit/cc39ec4da74233c81c0f36241cd83b2a8338bae6))\n- openvibe-shared v4.1.0 (was v4.0.0) (#68) ([`8542eeb`](https://github.com/OpenVibers/OpenVibe.Events/commit/8542eeb6c87b399b9bbc9f99cbf3398c2b7b4074))\n\n## OpenVibe.Media\n\n[openvibe.media](https://openvibe.media) · [repository](https://github.com/OpenVibers/OpenVibe.Media)\n\n- Media: H.264/AAC timelines for WebM and other incompatible recordings (MEDIA_CMAF_TRANSCODE), capped and niced (#95) ([`6e2a16c`](https://github.com/OpenVibers/OpenVibe.Media/commit/6e2a16c47ad89d48a47ba2effc0ffabd8753839c))\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#96) ([`08b743f`](https://github.com/OpenVibers/OpenVibe.Media/commit/08b743f7f9e1817680157f50131afdbf87e82e5e))\n- openvibe-shared v4.1.0 (was v4.0.0) (#97) ([`75c7aab`](https://github.com/OpenVibers/OpenVibe.Media/commit/75c7aab2eee063b8307fcdf14958c68af874dee9))\n\n## OpenVibe.News\n\n[openvibe.news](https://openvibe.news) · [repository](https://github.com/OpenVibers/OpenVibe.News)\n\n- Docs: README and STATUS say what is live today (#43) ([`2aeaffc`](https://github.com/OpenVibers/OpenVibe.News/commit/2aeaffc881f9c9574da2ed513265c8020d7380be))\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#44) ([`9d4095e`](https://github.com/OpenVibers/OpenVibe.News/commit/9d4095ed1586ec7da0a68041f9e2b45576e60572))\n- openvibe-shared v4.1.0 (was v4.0.0) (#45) ([`164d603`](https://github.com/OpenVibers/OpenVibe.News/commit/164d60371fceca9095c52fba6fcebab0700c3885))\n\n## OpenVibe.Reviews\n\n[openvibe.reviews](https://openvibe.reviews) · [repository](https://github.com/OpenVibers/OpenVibe.Reviews)\n\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#43) ([`e7c7414`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/e7c7414456b0ce1eff290af7391d9deebb015423))\n- openvibe-shared v4.1.0 (was v4.0.0) (#44) ([`533d172`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/533d172a6f3044028a5fcf232bd815f65fde2fb8))\n- Reviews: the advertised Atom feed is a valid empty feed before anything is published (was 404) (#45) ([`efda098`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/efda0984411862f245f441b1b536941c6f93c22a))\n\n## OpenVibe.Billing\n\n[billing.openvibe.network](https://billing.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Billing)\n\n- openvibe-shared v4.1.0 (was v4.0.0) (#50) ([`7097dd8`](https://github.com/OpenVibers/OpenVibe.Billing/commit/7097dd89ca269942a20c92a9e059a76d5a91f85f))\n- openvibe-shared v4.1.1 (was v4.1.0) (#51) ([`e0e3d5a`](https://github.com/OpenVibers/OpenVibe.Billing/commit/e0e3d5a656936624e83ca394d2b53d752dfb39cf))\n\n## OpenVibe.Blog\n\n[openvibe.blog](https://openvibe.blog) · [repository](https://github.com/OpenVibers/OpenVibe.Blog)\n\n- openvibe-shared v4.1.0 (was v4.0.0) (#38) ([`0553636`](https://github.com/OpenVibers/OpenVibe.Blog/commit/0553636f0644a776e598080776c9c113786f198f))\n- openvibe-shared v4.1.1 (was v4.1.0) (#39) ([`3bc6429`](https://github.com/OpenVibers/OpenVibe.Blog/commit/3bc6429150d5a92f03a1c0e964c2761e59e87a61))\n\n## OpenVibe.Codes\n\n[openvibe.codes](https://openvibe.codes) · [repository](https://github.com/OpenVibers/OpenVibe.Codes)\n\n- openvibe-shared v4.1.0 (was v4.0.2) (#57) ([`0f5cc7e`](https://github.com/OpenVibers/OpenVibe.Codes/commit/0f5cc7e306b07f109268db6c0db687c6e096bf62))\n- openvibe-shared v4.1.1 (was v4.1.0) (#58) ([`13fdb97`](https://github.com/OpenVibers/OpenVibe.Codes/commit/13fdb97bed654741ab8b34c8236e4d753f601e59))\n\n## OpenVibe.Community\n\n[openvibe.community](https://openvibe.community) · [repository](https://github.com/OpenVibers/OpenVibe.Community)\n\n- Docs: README and STATUS say what is live today (#67) ([`d4b5fe5`](https://github.com/OpenVibers/OpenVibe.Community/commit/d4b5fe5d2242b89b11db4779648e90f9976ec57b))\n- openvibe-shared v4.1.0 (was v4.0.0) (#68) ([`d4ccb07`](https://github.com/OpenVibers/OpenVibe.Community/commit/d4ccb07d49eb2928423cea40a90df07111496243))\n\n## OpenVibe.Coupons\n\n[openvibe.coupons](https://openvibe.coupons) · [repository](https://github.com/OpenVibers/OpenVibe.Coupons)\n\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#42) ([`612dfb3`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/612dfb37f666c9aa973d974f9cc88a39e9f6fe1a))\n- openvibe-shared v4.1.0 (was v4.0.0) (#43) ([`2db063e`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/2db063e21ae966fe1ad74cc93c42eabc0d4c4631))\n\n## OpenVibe.Food\n\n[openvibe.food](https://openvibe.food) · [repository](https://github.com/OpenVibers/OpenVibe.Food)\n\n- STATUS: the service manifest is registered in openvibe-contracts (#29) ([`711c089`](https://github.com/OpenVibers/OpenVibe.Food/commit/711c0897d6b4df4709be4c82cb6db2e24fa5d237))\n- openvibe-shared v4.1.0 (was v4.0.2) (#30) ([`bff90f2`](https://github.com/OpenVibers/OpenVibe.Food/commit/bff90f276d7e86486789ad597bcf18fde3d3bc53))\n\n## OpenVibe.Games\n\n[openvibe.games](https://openvibe.games) · [repository](https://github.com/OpenVibers/OpenVibe.Games)\n\n- Games: drawn art for the Scraplandia and Salvage Rush cards on the home page (was emoji) (#51) ([`fb43ae7`](https://github.com/OpenVibers/OpenVibe.Games/commit/fb43ae7056082789707323776baccdae1730a280))\n- openvibe-shared v4.1.0 (was v4.0.0) (#50) ([`2aca128`](https://github.com/OpenVibers/OpenVibe.Games/commit/2aca128721565da38762635c4f9dc0c8062c2766))\n\n## OpenVibe.Network\n\n[openvibe.network](https://openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Network)\n\n- openvibe-contracts v0.152.0 (was v0.151.0) (#164) ([`4937bef`](https://github.com/OpenVibers/OpenVibe.Network/commit/4937befb67bea99116ea5663fe6e64277233532a))\n- openvibe-shared v4.1.0 (was v4.0.0) (#165) ([`a683438`](https://github.com/OpenVibers/OpenVibe.Network/commit/a683438c9b203a582c3f626fe7c0dd87415300c4))\n\n## OpenVibe.Search\n\n[search.openvibe.network](https://search.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Search)\n\n- Docs: README and STATUS say what is live today (#46) ([`c974f00`](https://github.com/OpenVibers/OpenVibe.Search/commit/c974f00fdd03e42037320b2ae7c99741a3b1d407))\n- openvibe-shared v4.1.0 (was v4.0.0) (#47) ([`30318f7`](https://github.com/OpenVibers/OpenVibe.Search/commit/30318f7dba234eccba2ea2ddfc0c1035635e6a64))\n\n## OpenVibe.Space\n\n[openvibe.space](https://openvibe.space) · [repository](https://github.com/OpenVibers/OpenVibe.Space)\n\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#38) ([`5db3eeb`](https://github.com/OpenVibers/OpenVibe.Space/commit/5db3eeb0311aa4feb8d880b14005448066df1312))\n- openvibe-shared v4.1.0 (was v4.0.0) (#39) ([`b5da9bb`](https://github.com/OpenVibers/OpenVibe.Space/commit/b5da9bb11c17bfb4482ff574be4763db738c0c24))\n\n## OpenVibe.Tips\n\n[openvibe.tips](https://openvibe.tips) · [repository](https://github.com/OpenVibers/OpenVibe.Tips)\n\n- Docs: README and STATUS say what is live today (#44) ([`f1d3ec0`](https://github.com/OpenVibers/OpenVibe.Tips/commit/f1d3ec010942aefa01f4e05a828c2a515670e486))\n- openvibe-shared v4.1.0 (was v4.0.0) (#45) ([`5d0dff9`](https://github.com/OpenVibers/OpenVibe.Tips/commit/5d0dff9ce56911dea06aebfb748749be5e0a1e7d))\n\n## OpenVibe.Trade\n\n[openvibe.trade](https://openvibe.trade) · [repository](https://github.com/OpenVibers/OpenVibe.Trade)\n\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#46) ([`466bac0`](https://github.com/OpenVibers/OpenVibe.Trade/commit/466bac01262202368cb20acffb6abbc07cd31979))\n- openvibe-shared v4.1.0 (was v4.0.0) (#47) ([`05f264b`](https://github.com/OpenVibers/OpenVibe.Trade/commit/05f264be8faebf4f17db9e0dc036a707005df961))\n\n## OpenVibe.VIP\n\n[openvibe.vip](https://openvibe.vip) · [repository](https://github.com/OpenVibers/OpenVibe.VIP)\n\n- Docs: README and STATUS say what is live today (#45) ([`6b3b5e4`](https://github.com/OpenVibers/OpenVibe.VIP/commit/6b3b5e4cbe8aaff45c8a8000ac61170635b5c9d2))\n- openvibe-shared v4.1.0 (was v4.0.0) (#46) ([`594a695`](https://github.com/OpenVibers/OpenVibe.VIP/commit/594a6950d4995a976208869f015a6e9fb85658e4))\n\n## OpenVibe.Wiki\n\n[openvibe.wiki](https://openvibe.wiki) · [repository](https://github.com/OpenVibers/OpenVibe.Wiki)\n\n- Sitemaps: every entry carries an honest lastmod (item changes, release time for static pages) (#42) ([`bfab029`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/bfab029a5f808719d3d0b4f62c8144c0b98b0573))\n- openvibe-shared v4.1.0 (was v4.0.0) (#43) ([`d18d7cd`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/d18d7cd6d17546737253468ddf08fc5305e49b74))\n\n## OpenVibe.Work\n\n[openvibe.work](https://openvibe.work) · [repository](https://github.com/OpenVibers/OpenVibe.Work)\n\n- STATUS: the service manifest is registered in openvibe-contracts (#29) ([`37ab2c5`](https://github.com/OpenVibers/OpenVibe.Work/commit/37ab2c5d095cb0fd74a1494e815c7f3b570c76c9))\n- openvibe-shared v4.1.0 (was v4.0.2) (#30) ([`1620f25`](https://github.com/OpenVibers/OpenVibe.Work/commit/1620f259c7db812a189e856ccab1d663f6796027))\n\n## OpenVibe.Host\n\n[openvibe.host](https://openvibe.host) · [repository](https://github.com/OpenVibers/OpenVibe.Host)\n\n- openvibe-shared v4.1.0 (was v4.0.3) (#85) ([`a756861`](https://github.com/OpenVibers/OpenVibe.Host/commit/a7568617d4a1d32e62a5a28a1a1b6cc2a362ff3e))\n\n## OpenVibe.Inventory\n\n[inventory.openvibe.network](https://inventory.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Inventory)\n\n- openvibe-shared v4.1.0 (was v4.0.0) (#34) ([`9b6ec9a`](https://github.com/OpenVibers/OpenVibe.Inventory/commit/9b6ec9a2aea80010305287b0015d1317273a8438))\n\n## OpenVibe.Rent\n\n[openvibe.rent](https://openvibe.rent) · [repository](https://github.com/OpenVibers/OpenVibe.Rent)\n\n- openvibe-shared v4.1.0 (was v4.0.2) (#32) ([`3d71dd3`](https://github.com/OpenVibers/OpenVibe.Rent/commit/3d71dd3850936648c31c2963865e672deeaa1fdf))\n\n## OpenVibe.Services\n\n[openvibe.services](https://openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.Services)\n\n- openvibe-shared v4.1.0 (was v4.0.2) (#50) ([`e985ecf`](https://github.com/OpenVibers/OpenVibe.Services/commit/e985ecf5a2600422e4b4b90b039749123b5aa69b))\n\n## OpenVibe.Sources\n\n[sources.openvibe.network](https://sources.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Sources)\n\n- openvibe-shared v4.1.0 (was v4.0.0) (#40) ([`6ae116f`](https://github.com/OpenVibers/OpenVibe.Sources/commit/6ae116f70ec141a4df3abad4cd7be78c7e69d42a))\n\n## OpenVibe.Tools\n\n[openvibe.tools](https://openvibe.tools) · [repository](https://github.com/OpenVibers/OpenVibe.Tools)\n\n- openvibe-shared v4.1.0 (was v4.0.0) (#51) ([`f92512c`](https://github.com/OpenVibers/OpenVibe.Tools/commit/f92512ce310817815f8b999f76580f87a18c9e87))\n\n## OpenVibe.Watch\n\n[openvibe.watch](https://openvibe.watch) · [repository](https://github.com/OpenVibers/OpenVibe.Watch)\n\n- openvibe-shared v4.1.0 (was v4.0.2) (#49) ([`0dc7e60`](https://github.com/OpenVibers/OpenVibe.Watch/commit/0dc7e607575bb69a209d76bb081b79de95152bc2))\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-12T20:59:08.520Z","revised_at":"2026-10-12T20:59:08.495Z","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","media-hub","help","live","openre","quest","actor","ai","bot","chat","deals"],"categories":[],"series":{"title":"Patch notes","url":"https://openvibe.blog/@openvibe/series/patch-notes","position":null},"media":[],"citations":[],"indexability":{"indexable":true,"robots":"index, follow","reasons":[]}}