{"id":"pst_01M4S80SEEKJXCXQV3X77FG1WE","url":"https://openvibe.blog/@openvibe/patch-notes-89-changes-across-36-sites","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: 89 changes across 36 sites","summary":"What shipped on OpenVibe on 2026-10-12: 89 changes to OpenVibe.Games, OpenVibe.Live, OpenVibe.AI, OpenVibe.Community, OpenVibe.Coupons, OpenVibe.Deals and 30 more.","body_markdown":"What shipped on OpenVibe on 2026-10-12: 89 changes to OpenVibe.Games, OpenVibe.Live, OpenVibe.AI, OpenVibe.Community, OpenVibe.Coupons, OpenVibe.Deals and 30 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: public routes block only on a first-paint subset of style.css (84 KB of 468); the full file follows in the same cascade place (#113) ([`8c5ac2b`](https://github.com/OpenVibers/OpenVibe.Live/commit/8c5ac2bfe1695e7fb4085f72aa6c03b3632fd950))\n\n## OpenVibe.Games\n\n[openvibe.games](https://openvibe.games) · [repository](https://github.com/OpenVibers/OpenVibe.Games)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#52) ([`156d809`](https://github.com/OpenVibers/OpenVibe.Games/commit/156d8096fc45dd5645cb8c0b2d07a5fe58707d27))\n- Games: six achievements give OpenVibe.Inventory items (granted to signed-in players once, retried with backoff) (#53) ([`63e5b69`](https://github.com/OpenVibers/OpenVibe.Games/commit/63e5b69497aac28dbd1bd47a36f749d6eec9e45a))\n- openvibe-shared v4.1.2 (was v4.1.1) (#54) ([`1c338c5`](https://github.com/OpenVibers/OpenVibe.Games/commit/1c338c50fef48f0350e80ce97bf72180b62c63a2))\n- Games: the fallback nav is the navbar's exact height (home CLS 0.019 → 0) (#55) ([`f565952`](https://github.com/OpenVibers/OpenVibe.Games/commit/f565952f682122098477d252d7296c319d8b1868))\n- openvibe-shared v4.1.3 (was v4.1.2) (#56) ([`f2e2d95`](https://github.com/OpenVibers/OpenVibe.Games/commit/f2e2d953896ed8f8b77b3beae46c1f4858172311))\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#110) ([`22e3fe8`](https://github.com/OpenVibers/OpenVibe.Live/commit/22e3fe871016ab0c56a30e65d00d84aba59469a2))\n- Live: LIVE_MEDIA_ANALYSIS=ai sends finished VODs and clips to OpenVibe.AI's media.analyze (no local ffmpeg+whisper for them) (#111) ([`da8576a`](https://github.com/OpenVibers/OpenVibe.Live/commit/da8576aa677362e15681fe410313b7e732c017d9))\n- openvibe-shared v4.1.2 (was v4.1.1) (#112) ([`4381d1c`](https://github.com/OpenVibers/OpenVibe.Live/commit/4381d1cbd8239d75bb514a3a00b8c94a7c3bdd7f))\n- Live: public routes block only on a first-paint subset of style.css (84 KB of 468); the full file follows in the same cascade place (#113) ([`8c5ac2b`](https://github.com/OpenVibers/OpenVibe.Live/commit/8c5ac2bfe1695e7fb4085f72aa6c03b3632fd950))\n- Live: direct visits paint the right page and stop jumping (phone CLS: channel 1.31 → 0.01, clip 0.99 → 0.03, VOD 0.43 → 0.004, home 0.13 → 0.01) (#114) ([`1564ce8`](https://github.com/OpenVibers/OpenVibe.Live/commit/1564ce87bf42eac3bb5f43c573f0f2e55db91530))\n\n## OpenVibe.AI\n\n[ai.openvibe.services](https://ai.openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.AI)\n\n- AI: media.analyze follows Media's redirect to its shield host edge.openvibe.media (B2 recordings were unreadable) (#61) ([`20b9a9d`](https://github.com/OpenVibers/OpenVibe.AI/commit/20b9a9d2c68d0a06d89397b2befa6dba9e442ff0))\n- openvibe-shared v4.1.2 (was v4.1.1) (#62) ([`ea733ef`](https://github.com/OpenVibers/OpenVibe.AI/commit/ea733ef1c34ed029a5d039c18f6280faa40e93b5))\n- openvibe-shared v4.1.3 (was v4.1.2) (#63) ([`064b07c`](https://github.com/OpenVibers/OpenVibe.AI/commit/064b07cf067d75626ac0373d90275c3ebde831c8))\n\n## OpenVibe.Community\n\n[openvibe.community](https://openvibe.community) · [repository](https://github.com/OpenVibers/OpenVibe.Community)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#69) ([`c1e7f82`](https://github.com/OpenVibers/OpenVibe.Community/commit/c1e7f82494cf38e25c93523de680f82436be3d0c))\n- openvibe-shared v4.1.2 (was v4.1.1) (#70) ([`d238a5a`](https://github.com/OpenVibers/OpenVibe.Community/commit/d238a5a80228e86eec5950308407a63af3b7ee4a))\n- openvibe-shared v4.1.3 (was v4.1.2) (#71) ([`eecd0d6`](https://github.com/OpenVibers/OpenVibe.Community/commit/eecd0d61ce7a98d523d0ad3212d6e350eae32275))\n\n## OpenVibe.Coupons\n\n[openvibe.coupons](https://openvibe.coupons) · [repository](https://github.com/OpenVibers/OpenVibe.Coupons)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#44) ([`e17d331`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/e17d331ced17bed26c4dbda3e500edb03d7e8c2c))\n- openvibe-shared v4.1.2 (was v4.1.1) (#45) ([`3ec8c47`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/3ec8c475797b048a8c53449bff9d1304dbd21be4))\n- openvibe-shared v4.1.3 (was v4.1.2) (#46) ([`ad1dfe7`](https://github.com/OpenVibers/OpenVibe.Coupons/commit/ad1dfe71441e6e3f36902ae438cc49a00c7ab2a9))\n\n## OpenVibe.Deals\n\n[openvibe.deals](https://openvibe.deals) · [repository](https://github.com/OpenVibers/OpenVibe.Deals)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#46) ([`6dd82c5`](https://github.com/OpenVibers/OpenVibe.Deals/commit/6dd82c5ce678cfdddad71a5e1a7ed7d63bf242fd))\n- openvibe-shared v4.1.2 (was v4.1.1) (#47) ([`fb6da32`](https://github.com/OpenVibers/OpenVibe.Deals/commit/fb6da324187a5ee46df1f9579dbc0a495444eb22))\n- openvibe-shared v4.1.3 (was v4.1.2) (#48) ([`8d474ed`](https://github.com/OpenVibers/OpenVibe.Deals/commit/8d474edd14f2877cebdf493a5de9fa39bbd1af80))\n\n## OpenVibe.Events\n\n[openvibe.events](https://openvibe.events) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#69) ([`223c651`](https://github.com/OpenVibers/OpenVibe.Events/commit/223c651368de599230dc2b13205586d149c3f7cb))\n- openvibe-shared v4.1.2 (was v4.1.1) (#70) ([`dca511f`](https://github.com/OpenVibers/OpenVibe.Events/commit/dca511f5006bda8ecf3c214bce34845aa87b2b2e))\n- openvibe-shared v4.1.3 (was v4.1.2) (#71) ([`aa527ef`](https://github.com/OpenVibers/OpenVibe.Events/commit/aa527ef02e3db941645178a9416a23b8a323df11))\n\n## OpenVibe.Food\n\n[openvibe.food](https://openvibe.food) · [repository](https://github.com/OpenVibers/OpenVibe.Food)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#31) ([`3148831`](https://github.com/OpenVibers/OpenVibe.Food/commit/314883143c5798270b1de137d2fc5d41a9ff9976))\n- openvibe-shared v4.1.2 (was v4.1.1) (#32) ([`241f504`](https://github.com/OpenVibers/OpenVibe.Food/commit/241f5049fa463bcffccb85360fbb86f9267d49ad))\n- openvibe-shared v4.1.3 (was v4.1.2) (#33) ([`50d2445`](https://github.com/OpenVibers/OpenVibe.Food/commit/50d2445a9af7ef506be3bbeb859f7d1c0020e0cf))\n\n## OpenVibe.Help\n\n[openvibe.help](https://openvibe.help) · [repository](https://github.com/OpenVibers/OpenVibe.Help)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#33) ([`a6833b4`](https://github.com/OpenVibers/OpenVibe.Help/commit/a6833b4ba077817405214172f67b8c0b9994c5e9))\n- openvibe-shared v4.1.2 (was v4.1.1) (#34) ([`b0f8991`](https://github.com/OpenVibers/OpenVibe.Help/commit/b0f8991cf61602ac1b70e933bcb6007019f5cd09))\n- openvibe-shared v4.1.3 (was v4.1.2) (#35) ([`39222f7`](https://github.com/OpenVibers/OpenVibe.Help/commit/39222f7632906bd866c7d066f5ec7143669a8ee3))\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.1 (was v4.1.0) (#35) ([`129774a`](https://github.com/OpenVibers/OpenVibe.Inventory/commit/129774a96c8978fd05a6ed86ba4d6188c13e51d4))\n- Inventory: Games may grant six of Live's items as achievement rewards; their pages say which achievement (#36) ([`cc8d570`](https://github.com/OpenVibers/OpenVibe.Inventory/commit/cc8d570a8a71b4d2b2182ef2cc981bd2ee276a77))\n- openvibe-shared v4.1.2 (was v4.1.1) (#37) ([`3b92f0d`](https://github.com/OpenVibers/OpenVibe.Inventory/commit/3b92f0d1ead3454d9e360c574eb449edf691a226))\n\n## OpenVibe.Media\n\n[openvibe.media](https://openvibe.media) · [repository](https://github.com/OpenVibers/OpenVibe.Media)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#98) ([`fbc30fd`](https://github.com/OpenVibers/OpenVibe.Media/commit/fbc30fd35d903d1cac55787258522027d862b8ef))\n- Media: boot recovery skips the jobs this process is running (a request's job was failed as interrupted, then its result refused) (#99) ([`3a9b6f5`](https://github.com/OpenVibers/OpenVibe.Media/commit/3a9b6f59e24a8f43fbf747a9421a5757c8256e52))\n- openvibe-shared v4.1.2 (was v4.1.1) (#100) ([`638d318`](https://github.com/OpenVibers/OpenVibe.Media/commit/638d318aa3b0b66ce3ad2943f4639822568545e8))\n\n## OpenVibe.Network\n\n[openvibe.network](https://openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Network)\n\n- Network: OpenVibe.Games may grant Inventory items (inventory.item.grant), like Quest (#167) ([`e67cdd3`](https://github.com/OpenVibers/OpenVibe.Network/commit/e67cdd3fe80e525ca38771bf480a8f6b7abaa2ee))\n- openvibe-shared v4.1.1 (was v4.1.0) (#166) ([`3b0e038`](https://github.com/OpenVibers/OpenVibe.Network/commit/3b0e038f11bacac87449eac0704bf949df682998))\n- openvibe-shared v4.1.2 (was v4.1.1) (#168) ([`d1a30f2`](https://github.com/OpenVibers/OpenVibe.Network/commit/d1a30f2f1d9312a6c9e82fd77e29cf747fe34197))\n\n## OpenVibe.Tools\n\n[openvibe.tools](https://openvibe.tools) · [repository](https://github.com/OpenVibers/OpenVibe.Tools)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#52) ([`8802e0a`](https://github.com/OpenVibers/OpenVibe.Tools/commit/8802e0adfb276ddb5c1bfeb104381310d7578123))\n- openvibe-shared v4.1.2 (was v4.1.1) (#53) ([`dbbdf5a`](https://github.com/OpenVibers/OpenVibe.Tools/commit/dbbdf5a943a8b3f0e816b5ee7d0ce2e2bffc0540))\n- Tools: the navbar lands in a mount that already holds its height (home CLS 0.058 → 0) (#54) ([`7a6d6f2`](https://github.com/OpenVibers/OpenVibe.Tools/commit/7a6d6f267cf82ab59b42d45704b9c7a3a5c031b7))\n\n## OpenVibe.Actor\n\n[openvibe.actor](https://openvibe.actor) · [repository](https://github.com/OpenVibers/OpenVibe.Actor)\n\n- openvibe-shared v4.1.2 (was v4.1.1) (#45) ([`b22a5c1`](https://github.com/OpenVibers/OpenVibe.Actor/commit/b22a5c12c32cc9119a291cf19bc94d462a631d8e))\n- openvibe-shared v4.1.3 (was v4.1.2) (#46) ([`de1e998`](https://github.com/OpenVibers/OpenVibe.Actor/commit/de1e9986c6b944b262eed40251ecf0cd2a288f66))\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.2 (was v4.1.1) (#52) ([`8295c0f`](https://github.com/OpenVibers/OpenVibe.Billing/commit/8295c0fe65c6372b36e157f4478a564a27f32b6d))\n- openvibe-shared v4.1.3 (was v4.1.2) (#53) ([`fd34daa`](https://github.com/OpenVibers/OpenVibe.Billing/commit/fd34daa3e634f7577edd3f6986a1b1c2bd613e91))\n\n## OpenVibe.Blog\n\n[openvibe.blog](https://openvibe.blog) · [repository](https://github.com/OpenVibers/OpenVibe.Blog)\n\n- openvibe-shared v4.1.2 (was v4.1.1) (#40) ([`742ce90`](https://github.com/OpenVibers/OpenVibe.Blog/commit/742ce90e98e721e83d63b6fc9527c220624037f4))\n- openvibe-shared v4.1.3 (was v4.1.2) (#41) ([`5642f02`](https://github.com/OpenVibers/OpenVibe.Blog/commit/5642f0296bf21ed2a3cbbc162981bab810efefc1))\n\n## OpenVibe.Bot\n\n[openvibe.bot](https://openvibe.bot) · [repository](https://github.com/OpenVibers/OpenVibe.Bot)\n\n- openvibe-shared v4.1.2 (was v4.1.1) (#87) ([`404b43f`](https://github.com/OpenVibers/OpenVibe.Bot/commit/404b43fd26e2ea39b0a5fe965a2d8078554e67b4))\n- openvibe-shared v4.1.3 (was v4.1.2) (#88) ([`1f8d615`](https://github.com/OpenVibers/OpenVibe.Bot/commit/1f8d61510a62910427da6262173cd54349070f58))\n\n## OpenVibe.Chat\n\n[openvibe.chat](https://openvibe.chat) · [repository](https://github.com/OpenVibers/OpenVibe.Chat)\n\n- openvibe-shared v4.1.2 (was v4.1.1) (#79) ([`169492a`](https://github.com/OpenVibers/OpenVibe.Chat/commit/169492ae434f5845b29994dc05a9ff5210376f66))\n- openvibe-shared v4.1.3 (was v4.1.2) (#80) ([`ff37cb0`](https://github.com/OpenVibers/OpenVibe.Chat/commit/ff37cb02706df1f01f3964a58c26458b7728eacd))\n\n## OpenVibe.Codes\n\n[openvibe.codes](https://openvibe.codes) · [repository](https://github.com/OpenVibers/OpenVibe.Codes)\n\n- openvibe-shared v4.1.2 (was v4.1.1) (#59) ([`dc20b5a`](https://github.com/OpenVibers/OpenVibe.Codes/commit/dc20b5a5251ff37febc8d1c6be8308814a9568ff))\n- openvibe-shared v4.1.3 (was v4.1.2) (#60) ([`9ed6739`](https://github.com/OpenVibers/OpenVibe.Codes/commit/9ed673998ef3b278c47849b04497944929cfbefe))\n\n## OpenVibe.Host\n\n[openvibe.host](https://openvibe.host) · [repository](https://github.com/OpenVibers/OpenVibe.Host)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#86) ([`9d676c9`](https://github.com/OpenVibers/OpenVibe.Host/commit/9d676c9dd8d5dfd80992453612b5af59881c13ac))\n- openvibe-shared v4.1.2 (was v4.1.1) (#87) ([`7d6f22f`](https://github.com/OpenVibers/OpenVibe.Host/commit/7d6f22ff30094e91b5b0c36cc95bed485c8cabe1))\n\n## OpenVibe.MediaHub\n\n[openvibe.video](https://openvibe.video) · [repository](https://github.com/OpenVibers/OpenVibe.MediaHub)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#39) ([`0c64496`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/0c64496cde66191ea9791b59338ffe5080d1b7d0))\n- openvibe-shared v4.1.2 (was v4.1.1) (#40) ([`d000e8f`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/d000e8f662dd00dae409e9f0f8a56cc85d149cc2))\n\n## OpenVibe.News\n\n[openvibe.news](https://openvibe.news) · [repository](https://github.com/OpenVibers/OpenVibe.News)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#46) ([`5b4971b`](https://github.com/OpenVibers/OpenVibe.News/commit/5b4971b28f9888f2d603a64c58a5707fe9d628e6))\n- openvibe-shared v4.1.2 (was v4.1.1) (#47) ([`ec8dece`](https://github.com/OpenVibers/OpenVibe.News/commit/ec8decee9603de675fbe78e2246b38f4c173f040))\n\n## OpenRestream\n\n[openre.stream](https://openre.stream) · [repository](https://github.com/OpenVibers/OpenRestream)\n\n- openvibe-shared v4.1.2 (was v4.1.1) (#64) ([`2bf38eb`](https://github.com/OpenVibers/OpenRestream/commit/2bf38eb176ef4215a4d6488119fc30dee061aa90))\n- openvibe-shared v4.1.3 (was v4.1.2) (#65) ([`5d251cf`](https://github.com/OpenVibers/OpenRestream/commit/5d251cfe32b679377061b9486cc88932a5360741))\n\n## OpenVibe.Quest\n\n[openvibe.quest](https://openvibe.quest) · [repository](https://github.com/OpenVibers/OpenVibe.Quest)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#33) ([`bd4f68b`](https://github.com/OpenVibers/OpenVibe.Quest/commit/bd4f68bfa57ecfee11be1e050a9a8b029845fac9))\n- openvibe-shared v4.1.2 (was v4.1.1) (#34) ([`e8b2934`](https://github.com/OpenVibers/OpenVibe.Quest/commit/e8b293441adb6c1be9edce790b92e297763d34f6))\n\n## OpenVibe.Rent\n\n[openvibe.rent](https://openvibe.rent) · [repository](https://github.com/OpenVibers/OpenVibe.Rent)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#33) ([`866b960`](https://github.com/OpenVibers/OpenVibe.Rent/commit/866b960fa278f5bba0454401548862125486a90c))\n- openvibe-shared v4.1.2 (was v4.1.1) (#34) ([`e912e18`](https://github.com/OpenVibers/OpenVibe.Rent/commit/e912e189d3776d450ff67bdc372d9073709c373c))\n\n## OpenVibe.Reviews\n\n[openvibe.reviews](https://openvibe.reviews) · [repository](https://github.com/OpenVibers/OpenVibe.Reviews)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#46) ([`90b4832`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/90b48327e3fab4e04791fa21a35e430e5d5bcc1a))\n- openvibe-shared v4.1.2 (was v4.1.1) (#47) ([`06ea770`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/06ea7708e292b49bdc61756754cf181da012f655))\n\n## OpenVibe.Search\n\n[search.openvibe.network](https://search.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Search)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#48) ([`7a6268d`](https://github.com/OpenVibers/OpenVibe.Search/commit/7a6268dfe36ad2d40400ede8a14b0c6dace881e8))\n- openvibe-shared v4.1.2 (was v4.1.1) (#49) ([`81c2664`](https://github.com/OpenVibers/OpenVibe.Search/commit/81c26645260ff3f46a3e29141d7f6a5ba73a8b5d))\n\n## OpenVibe.Services\n\n[openvibe.services](https://openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.Services)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#51) ([`3b76eb4`](https://github.com/OpenVibers/OpenVibe.Services/commit/3b76eb47a289e1c5a9405bc8ce5fc3f1e5f211c2))\n- openvibe-shared v4.1.2 (was v4.1.1) (#52) ([`1a0c4fa`](https://github.com/OpenVibers/OpenVibe.Services/commit/1a0c4fa7d5c0092741e286e1b5dbebf141950286))\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.1 (was v4.1.0) (#41) ([`f2f6043`](https://github.com/OpenVibers/OpenVibe.Sources/commit/f2f60433ad0cb5ed5e028de7aef41133be453527))\n- openvibe-shared v4.1.2 (was v4.1.1) (#42) ([`745e261`](https://github.com/OpenVibers/OpenVibe.Sources/commit/745e261725b6a7336acb07c649f93699ddb924f5))\n\n## OpenVibe.Space\n\n[openvibe.space](https://openvibe.space) · [repository](https://github.com/OpenVibers/OpenVibe.Space)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#40) ([`6d87b2f`](https://github.com/OpenVibers/OpenVibe.Space/commit/6d87b2ff8c8926002ce0ef6ba41a3df141f4abcc))\n- openvibe-shared v4.1.2 (was v4.1.1) (#41) ([`aa8cbc2`](https://github.com/OpenVibers/OpenVibe.Space/commit/aa8cbc2657b0072533af1676e630de2284b88ed7))\n\n## OpenVibe.Tips\n\n[openvibe.tips](https://openvibe.tips) · [repository](https://github.com/OpenVibers/OpenVibe.Tips)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#46) ([`242df57`](https://github.com/OpenVibers/OpenVibe.Tips/commit/242df57cab5dad4cb05d42e67bfe038e5324cd20))\n- openvibe-shared v4.1.2 (was v4.1.1) (#47) ([`ca13247`](https://github.com/OpenVibers/OpenVibe.Tips/commit/ca132472b9e79f22ab94e749f11a60939f20bfdc))\n\n## OpenVibe.Trade\n\n[openvibe.trade](https://openvibe.trade) · [repository](https://github.com/OpenVibers/OpenVibe.Trade)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#48) ([`b5e5f2a`](https://github.com/OpenVibers/OpenVibe.Trade/commit/b5e5f2a0c56de64454c8755af0d081c99b67fa91))\n- openvibe-shared v4.1.2 (was v4.1.1) (#49) ([`cecd9ae`](https://github.com/OpenVibers/OpenVibe.Trade/commit/cecd9ae96ca20627140a16b41afa2c8d92750063))\n\n## OpenVibe.VIP\n\n[openvibe.vip](https://openvibe.vip) · [repository](https://github.com/OpenVibers/OpenVibe.VIP)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#47) ([`e9e3370`](https://github.com/OpenVibers/OpenVibe.VIP/commit/e9e337000af770b79425857f85c69500be3de7c4))\n- openvibe-shared v4.1.2 (was v4.1.1) (#48) ([`77d7363`](https://github.com/OpenVibers/OpenVibe.VIP/commit/77d73632dced58eeb4fbbc705a60ea21c0838aed))\n\n## OpenVibe.Watch\n\n[openvibe.watch](https://openvibe.watch) · [repository](https://github.com/OpenVibers/OpenVibe.Watch)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#50) ([`f9f6014`](https://github.com/OpenVibers/OpenVibe.Watch/commit/f9f6014e88ba6c4ad756e27091648d61aea156b9))\n- openvibe-shared v4.1.2 (was v4.1.1) (#51) ([`df6d9a1`](https://github.com/OpenVibers/OpenVibe.Watch/commit/df6d9a1ef4af8a8a06e52bc9df47981d57fc49fc))\n\n## OpenVibe.Wiki\n\n[openvibe.wiki](https://openvibe.wiki) · [repository](https://github.com/OpenVibers/OpenVibe.Wiki)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#44) ([`0be1ef6`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/0be1ef6f4858121d9011fa856cd53c01cb97f48f))\n- openvibe-shared v4.1.2 (was v4.1.1) (#45) ([`5b583a1`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/5b583a1fa19d6d35dc87fd38331dd7974f8a642e))\n\n## OpenVibe.Work\n\n[openvibe.work](https://openvibe.work) · [repository](https://github.com/OpenVibers/OpenVibe.Work)\n\n- openvibe-shared v4.1.1 (was v4.1.0) (#31) ([`34da4ba`](https://github.com/OpenVibers/OpenVibe.Work/commit/34da4ba70313f74b47a69b967e850bdd1bec0f46))\n- openvibe-shared v4.1.2 (was v4.1.1) (#32) ([`23ec57c`](https://github.com/OpenVibers/OpenVibe.Work/commit/23ec57c707c2343b183c9b0cf8d9c887aa4c0d20))\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-12T23:43:57.931Z","revised_at":"2026-10-12T23:43:57.910Z","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","games","live","ai","community","coupons","deals","events","food","help","inventory"],"categories":[],"series":{"title":"Patch notes","url":"https://openvibe.blog/@openvibe/series/patch-notes","position":null},"media":[],"citations":[],"indexability":{"indexable":true,"robots":"index, follow","reasons":[]}}