{"id":"pst_01M50RZGH1GSNDQX4K7HT4C39S","url":"https://openvibe.blog/@openvibe/patch-notes-81-changes-across-19-sites","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: 81 changes across 19 sites","summary":"What shipped on OpenVibe on 2026-10-15: 81 changes to OpenVibe.Network, OpenVibe.MediaHub, OpenVibe.Live, OpenVibe.AI, OpenVibe.Media, OpenVibe.Food and 13 more.","body_markdown":"What shipped on OpenVibe on 2026-10-15: 81 changes to OpenVibe.Network, OpenVibe.MediaHub, OpenVibe.Live, OpenVibe.AI, OpenVibe.Media, OpenVibe.Food and 13 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.\n\n## Highlights\n\n- **OpenVibe.MediaHub:** OpenVibe.Pics on openvibe.pics: upload, share, albums, reports and takedown (#64) ([`c3ea095`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/c3ea0956690dd93fff4bc588c8e01ee3a5b9ad9c))\n- **OpenVibe.Trade:** Trade: SEC's filed numbers and AI briefs that cite them (#69) ([`419a539`](https://github.com/OpenVibers/OpenVibe.Trade/commit/419a539ec306e53e0dff7b8df8eb357800311f37))\n- **OpenVibe.MediaHub:** Video: uploads (Media VODs), watch pages at /u/:id, on channels and the home page (#67) ([`92ea7d6`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/92ea7d698c9915d23dd6dc0a3840ee510431f2d0))\n- **OpenVibe.Blog:** Blog: AI desks — digests from Sources' items (news, food recalls, deals, hosting, dev) and the Is This Real? satire desk, labelled and never indexed (#57) ([`2cd5d41`](https://github.com/OpenVibers/OpenVibe.Blog/commit/2cd5d41d5d6ae80afa4124f23e70dda4707783f7))\n\n## OpenVibe.Network\n\n[openvibe.network](https://openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Network)\n\n- Network: openvibe.pics signs in through client media-hub (OpenVibe.Pics) (#216) ([`6c82394`](https://github.com/OpenVibers/OpenVibe.Network/commit/6c82394eaa9bd1540d9acb75768483bc91d98dc0))\n- openvibe-contracts v0.188.3 (was v0.188.2) (#217) ([`92c7621`](https://github.com/OpenVibers/OpenVibe.Network/commit/92c762195a698c3070d8c3d51e1089b0fd69ea6f))\n- openvibe-contracts v0.189.0 (was v0.188.3) (#218) ([`8026c97`](https://github.com/OpenVibers/OpenVibe.Network/commit/8026c9723d2f300e39b83a992af1aa004a338a94))\n- Network: Chat may read a Food household for its AI member (food.household.read) (#219) ([`534532a`](https://github.com/OpenVibers/OpenVibe.Network/commit/534532a96430874ab69747fb68ef76a3953aab75))\n- openvibe-contracts v0.189.1 (was v0.189.0) (#220) ([`98a462a`](https://github.com/OpenVibers/OpenVibe.Network/commit/98a462a09e089affb8d558680631cbcb9f9cd340))\n- Network: trade may run trade.* AI workflows (Trade's AI briefs) (#221) ([`ae5a882`](https://github.com/OpenVibers/OpenVibe.Network/commit/ae5a8822af23029c10e97efe9ba35ba173e217e9))\n- Network: OAuth client forgejo for OpenVibe Git (openvibe.codes/git) (#222) ([`697290a`](https://github.com/OpenVibers/OpenVibe.Network/commit/697290ae683f7a5e66ca26affa95240afefcd544))\n- Network: openvibe.homes leaves the parked domains (OpenVibe.Homes serves it) (#223) ([`b96398f`](https://github.com/OpenVibers/OpenVibe.Network/commit/b96398fe2160d9a4b664a8ed62e9dd7ccaaf8b51))\n- Network: media-hub may run media.analyze (OpenVibe.Video's AI edit) (#224) ([`5d958b2`](https://github.com/OpenVibers/OpenVibe.Network/commit/5d958b27073998f2f432c12cc6081ab281055876))\n- Network: blog may read Sources items (sources.item.read) for its AI desks (#225) ([`cd88c8f`](https://github.com/OpenVibers/OpenVibe.Network/commit/cd88c8f2f55d93e4acf5eb69f6636979c5a19010))\n- openvibe-contracts v0.190.1 (was v0.189.1) (#226) ([`c42d79c`](https://github.com/OpenVibers/OpenVibe.Network/commit/c42d79c6fc6290eae542d4f77abc71be951bd6f7))\n- openvibe-contracts v0.191.1 (was v0.190.1) (#227) ([`1fb0b1a`](https://github.com/OpenVibers/OpenVibe.Network/commit/1fb0b1a78bd25923637597183597b1ef232ea7f0))\n- Network home: the LIVE badge's white text meets AA contrast (#dc2626, 4.8:1; #ef4444 was 3.8:1) (#228) ([`bb978f1`](https://github.com/OpenVibers/OpenVibe.Network/commit/bb978f13c97123307da5aa316f0bfd91ef24b818))\n\n## OpenVibe.MediaHub\n\n[openvibe.video](https://openvibe.video) · [repository](https://github.com/OpenVibers/OpenVibe.MediaHub)\n\n- OpenVibe.Pics on openvibe.pics: upload, share, albums, reports and takedown (#64) ([`c3ea095`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/c3ea0956690dd93fff4bc588c8e01ee3a5b9ad9c))\n- Pics: deleting says what happens at the edge (#65) ([`2f0b92c`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/2f0b92c066a635c6444205f7044ee8e6bc84560c))\n- Download: public links (no account to download), 25 GB free, 2 GB files (#66) ([`154dda0`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/154dda0f47b0a138d4bb77d548915c7609ef7bab))\n- Video: uploads (Media VODs), watch pages at /u/:id, on channels and the home page (#67) ([`92ea7d6`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/92ea7d698c9915d23dd6dc0a3840ee510431f2d0))\n- Video uploads: the uploader goes in the VOD's meta (Media's user_id is a number) (#68) ([`6564e67`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/6564e6720df05293b8f48174c916c0a3d9104de3))\n- Video: record from the camera or the screen in the browser, never live (#69) ([`6ed9042`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/6ed90424b37f493f4ade94a835eb3ba3ec724221))\n- Video: the AI edit, captions, chapters and a summary from media.analyze (#70) ([`f1a5ad4`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/f1a5ad4ddfcab321223dfc0ac95539f0851fef44))\n- Video: a running AI edit is looked at again after 2 minutes, not 10 (#71) ([`6bde589`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/6bde5890913bc5c51551218d2eb97ba81aa539ea))\n- Video: a running AI edit is read by its run id (a second post carried a new signed URL, which AI refused as an idempotency conflict) (#72) ([`87fcd5b`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/87fcd5b0173c30be97a58e662ea2116e44fb5c3b))\n- Download and Video: their own names and true copy (#73) ([`01c5427`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/01c54275d4133ad0a4cadbce1bec0a1e19bf1524))\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- openvibe-shared v4.2.1 (was v4.2.0) (#133) ([`d1fd94e`](https://github.com/OpenVibers/OpenVibe.Live/commit/d1fd94e0f1fb76fa799ff36bf3cc8ca7e39aa3de))\n- Live browser smoke: the Frame's page-view beacon is plumbing; SPA mode counts only the gate's own writes (#134) ([`298d82a`](https://github.com/OpenVibers/OpenVibe.Live/commit/298d82afb5a238c8db3c6a788cae2694978ee38c))\n- Live guides: '(optional)' stays beside its label in the go-live setup (#135) ([`33c4df1`](https://github.com/OpenVibers/OpenVibe.Live/commit/33c4df1758e547e87fabc8ae92eb15395ee81741))\n- openvibe-sdk v0.46.0 (was v0.44.0) (#136) ([`3c4e123`](https://github.com/OpenVibers/OpenVibe.Live/commit/3c4e123a4e2facff717bfe32b14e2f511507ba53))\n- openvibe-contracts v0.188.2 (was v0.186.0) (#138) ([`7521c68`](https://github.com/OpenVibers/OpenVibe.Live/commit/7521c6828939a002c0aee23442c654649fe538d4))\n- Live: drop user_cosmetics, user_equipped and user_equipped_tag (merge on or after 2026-10-15 18:00 UTC) (#55) ([`0f7561a`](https://github.com/OpenVibers/OpenVibe.Live/commit/0f7561a53e9d0fe87ab9f16f07775e234ba34b08))\n- Live: request telemetry in its own table, 14-day retention (#137) ([`9427d15`](https://github.com/OpenVibers/OpenVibe.Live/commit/9427d15eed7c3e296a9cea1961a9cabd2ce5e3f3))\n- Live: setup hub tasks emit live.setup.task_completed for Quest (contracts 0.190.0) (#139) ([`0c21018`](https://github.com/OpenVibers/OpenVibe.Live/commit/0c210185f4bcc575c17ec731bfb86e768fc9c212))\n\n## OpenVibe.AI\n\n[ai.openvibe.services](https://ai.openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.AI)\n\n- AI README: request telemetry (telemetry_samples, one-minute aggregates, 14 days) (#88) ([`6e86cbc`](https://github.com/OpenVibers/OpenVibe.AI/commit/6e86cbc67960ab15c7776a4a1f74c443bf5690aa))\n- AI: chat.member.reply, a room's AI member answers on OpenVibe.Chat (#89) ([`9f32e05`](https://github.com/OpenVibers/OpenVibe.AI/commit/9f32e05b5ad6ca412c3651c1d1004c5c7513e365))\n- AI: news.summarize_story takes a tone (brief, neutral, explained) (#90) ([`1754a3d`](https://github.com/OpenVibers/OpenVibe.AI/commit/1754a3d4768f399f22cdfe2ac14e172114c588ba))\n- AI: a refused json_schema steps down with the schema in the instructions; trade template names its fields (#91) ([`d726efb`](https://github.com/OpenVibers/OpenVibe.AI/commit/d726efbe6631dceaca34c2a200279608d3fbaf0a))\n- AI: food.read_pantry_photo, which foods a cupboard photo or receipt shows (#92) ([`b6f1cc8`](https://github.com/OpenVibers/OpenVibe.AI/commit/b6f1cc8eac5c1618aaaebf7a0ce84314e48ff0f8))\n- AI: blog.write_digest (a desk's cited digest) and blog.write_satire (labelled fiction with its own rules) (#93) ([`941f615`](https://github.com/OpenVibers/OpenVibe.AI/commit/941f615a4247b0beb872c1a4f7108026af9baa4e))\n- AI: blog.write_digest returns short cited paragraphs (no source numbers in the text) and a real headline; satire's dek speaks in the piece's voice (#94) ([`29f3069`](https://github.com/OpenVibers/OpenVibe.AI/commit/29f3069dc376829238a0191a9fff9b6d5632336b))\n\n## OpenVibe.Media\n\n[openvibe.media](https://openvibe.media) · [repository](https://github.com/OpenVibers/OpenVibe.Media)\n\n- Media pages: filled buttons use the strong accent (AA contrast) (#125) ([`8f63eba`](https://github.com/OpenVibers/OpenVibe.Media/commit/8f63ebaaa1a8fe0ff3fc6e1d0578fd3a9cbdb3b9))\n- Media: an audio-only recording's thumbnail answers no_video at once (no new job each time) (#127) ([`9dcb4f9`](https://github.com/OpenVibers/OpenVibe.Media/commit/9dcb4f957a813ee00432d70a7f62947c44d1ede9))\n- openvibe-shared v4.2.1 (was v4.2.0) (#126) ([`3da9f63`](https://github.com/OpenVibers/OpenVibe.Media/commit/3da9f63c3af05ff7fe513bf454e75f3b7b71f04a))\n- openvibe-sdk v0.46.0 (was v0.44.0) (#128) ([`f2c3ea2`](https://github.com/OpenVibers/OpenVibe.Media/commit/f2c3ea295fd77d918e6625a37f0334c09674e590))\n- Media: request telemetry in its own table, 30-day retention (#129) ([`fcc0efb`](https://github.com/OpenVibers/OpenVibe.Media/commit/fcc0efb7b53f36e6da9482e6f977e45cc3742f85))\n- openvibe-contracts v0.188.2 (was v0.186.0) (#130) ([`22e3fd4`](https://github.com/OpenVibers/OpenVibe.Media/commit/22e3fd438ad1f7f948df7499a825a2de791933c7))\n- Media: sweep the work directories of finished or vanished jobs (12.8 GB were left on 10-15) (#131) ([`2e4540e`](https://github.com/OpenVibers/OpenVibe.Media/commit/2e4540ef2ad75b8d15950e14b9f2fee617963e3c))\n\n## OpenVibe.Food\n\n[openvibe.food](https://openvibe.food) · [repository](https://github.com/OpenVibers/OpenVibe.Food)\n\n- openvibe-contracts v0.189.0 (was v0.188.2) (#50) ([`6eba856`](https://github.com/OpenVibers/OpenVibe.Food/commit/6eba85601d2095226849312ae983317857b3d4a2))\n- Food: delivery and meal kits, compared (one search opens every delivery app) (#52) ([`7672375`](https://github.com/OpenVibers/OpenVibe.Food/commit/76723758abeb6cdd1ec19895128d1310957286c8))\n- Food: add to your cupboard by barcode (Open Food Facts), typed or scanned (#53) ([`3b86c2b`](https://github.com/OpenVibers/OpenVibe.Food/commit/3b86c2be4fbf8ebbb7696845bedf85957b30092e))\n- Food: add to your cupboard from a photo or a receipt (OpenVibe.AI) (#54) ([`0125683`](https://github.com/OpenVibers/OpenVibe.Food/commit/0125683598c6b60b329bafb4d1b65220fcadb510))\n- Food: the recipe library — budget recipes OpenVibe.AI writes from the food list, costed by Food, labelled AI, indexed once a person checks them (#55) ([`4fc1a63`](https://github.com/OpenVibers/OpenVibe.Food/commit/4fc1a6376678d622d9c0c519221c2ff63ce631c4))\n- Food library: an empty cupboard ignores the cupboard flag; water, salt and pepper are basics; any other unlisted ingredient drops the recipe (#56) ([`8986b90`](https://github.com/OpenVibers/OpenVibe.Food/commit/8986b908ef2d1ed37ce79f064736e553454bc55d))\n\n## OpenVibe.Blog\n\n[openvibe.blog](https://openvibe.blog) · [repository](https://github.com/OpenVibers/OpenVibe.Blog)\n\n- Blog: AI desks — digests from Sources' items (news, food recalls, deals, hosting, dev) and the Is This Real? satire desk, labelled and never indexed (#57) ([`2cd5d41`](https://github.com/OpenVibers/OpenVibe.Blog/commit/2cd5d41d5d6ae80afa4124f23e70dda4707783f7))\n- Blog desks: cited paragraphs, source numbers out of the text, the desk's title when the AI names the format (#58) ([`a358833`](https://github.com/OpenVibers/OpenVibe.Blog/commit/a358833e6553a4b308b729633765baa50e0bf6c8))\n- Blog desks: one AI run per post row and attempt (a rewritten post never replays the old run) (#59) ([`9a20d7d`](https://github.com/OpenVibers/OpenVibe.Blog/commit/9a20d7d9f52e0728fce54ad4ecb9a6ece382769e))\n- Blog desks: cited items first; a weekly Crowdfunding digest (#60) ([`8251a00`](https://github.com/OpenVibers/OpenVibe.Blog/commit/8251a00fb95df539fc0dafa1ba8f87d3412c2a6e))\n\n## OpenVibe.Quest\n\n[openvibe.quest](https://openvibe.quest) · [repository](https://github.com/OpenVibers/OpenVibe.Quest)\n\n- openvibe-contracts v0.190.0 (was v0.188.2) (#51) ([`e72b0e8`](https://github.com/OpenVibers/OpenVibe.Quest/commit/e72b0e839410a2f2d48559d3d3fccf085c8a86fb))\n- Quest: Set up your channel, a quest per Live setup task (live.setup.task_completed) (#52) ([`677fcda`](https://github.com/OpenVibers/OpenVibe.Quest/commit/677fcda7388d1dc099473898a90599e42e1c032d))\n- Quest: quests on Blog, Deals, Run and Inventory (publish a post, share a deal, vote on ten, run a job, wear an item) (#53) ([`11a9ec7`](https://github.com/OpenVibers/OpenVibe.Quest/commit/11a9ec7af240706d341d9392005e9e5222962fec))\n- Quest: Bring a robot online (#54) ([`799691f`](https://github.com/OpenVibers/OpenVibe.Quest/commit/799691f5ff4bf9cf43e002bcf6bbb8c17a35c302))\n\n## OpenVibe.Sources\n\n[sources.openvibe.network](https://sources.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Sources)\n\n- Sources: sec-company-tickers, SEC's ticker/CIK/exchange list as instrument items (#62) ([`00e875b`](https://github.com/OpenVibers/OpenVibe.Sources/commit/00e875b4b3d5d9ca56270cd17f727525818a3796))\n- Sources: fda-food-recalls, FDA's food safety recalls feed (for Blog's Food desk) (#64) ([`456bd20`](https://github.com/OpenVibers/OpenVibe.Sources/commit/456bd20b09741173eb6d103da9195f848e057505))\n- Sources: category crowdfunding, request_content_type for api GETs, opencollective-accounts seed (contracts 0.191.0) (#65) ([`e57602d`](https://github.com/OpenVibers/OpenVibe.Sources/commit/e57602da790c21f4459aed891af68e25e7c78ea5))\n- Sources: opencollective-accounts reads the 100 most active (200 took longer than the 20 s fetch limit) (#66) ([`ae1321e`](https://github.com/OpenVibers/OpenVibe.Sources/commit/ae1321e0359ff736b214d076c7758155b4cf1a1b))\n\n## OpenVibe.Rent\n\n[openvibe.rent](https://openvibe.rent) · [repository](https://github.com/OpenVibers/OpenVibe.Rent)\n\n- Rent: the board links the OpenVibe Companion (#57) ([`a7c4ab5`](https://github.com/OpenVibers/OpenVibe.Rent/commit/a7c4ab553c1027a936cef99a5042ea296b34c557))\n- Rent: OpenVibe.Homes, the buying side, on openvibe.homes (#58) ([`5b32b5d`](https://github.com/OpenVibers/OpenVibe.Rent/commit/5b32b5dda3328ab7585767f6a44c667f8d9cc561))\n- Homes: the price card lines up with the other context cards (no stray margin in the grid) (#59) ([`0fc14fd`](https://github.com/OpenVibers/OpenVibe.Rent/commit/0fc14fde52c4ef739d2e0b405cacd219b7ede376))\n\n## OpenVibe.Trade\n\n[openvibe.trade](https://openvibe.trade) · [repository](https://github.com/OpenVibers/OpenVibe.Trade)\n\n- Trade: companies from SEC's ticker list (sec-company-tickers), so filings land (#68) ([`17bf11f`](https://github.com/OpenVibers/OpenVibe.Trade/commit/17bf11f84a8ce262277b8f6aaf9f0b5e7818d6e4))\n- Trade: SEC's filed numbers and AI briefs that cite them (#69) ([`419a539`](https://github.com/OpenVibers/OpenVibe.Trade/commit/419a539ec306e53e0dff7b8df8eb357800311f37))\n- Trade: readable figures and one citation per series on the AI brief (#70) ([`731d69b`](https://github.com/OpenVibers/OpenVibe.Trade/commit/731d69b2e5487dd9369908ab98ad28f77a0593f6))\n\n## OpenVibe.Codes\n\n[openvibe.codes](https://openvibe.codes) · [repository](https://github.com/OpenVibers/OpenVibe.Codes)\n\n- Codes: OpenVibe Git, Forgejo at openvibe.codes/git with OpenVibe sign-in and GitHub mirrors (#85) ([`f6bf96b`](https://github.com/OpenVibers/OpenVibe.Codes/commit/f6bf96b2586b83794627d1c800c51acd72e4d938))\n- OpenVibe Git: the OpenVibe theme; mirror script fixes (token cleanup, .wiki names) (#86) ([`4dc4130`](https://github.com/OpenVibers/OpenVibe.Codes/commit/4dc41300d44febb0c11e55c264db4bd7c6aae299))\n\n## OpenVibe.Help\n\n[openvibe.help](https://openvibe.help) · [repository](https://github.com/OpenVibers/OpenVibe.Help)\n\n- openvibe-contracts v0.188.3 (was v0.188.2) (#53) ([`1f4caf1`](https://github.com/OpenVibers/OpenVibe.Help/commit/1f4caf18334519d64de92e36ce058c88bce92000))\n- openvibe-contracts v0.189.1 (was v0.188.3) (#54) ([`3c37015`](https://github.com/OpenVibers/OpenVibe.Help/commit/3c370152f666b136baf7269940e688651d3ba669))\n\n## OpenVibe.News\n\n[openvibe.news](https://openvibe.news) · [repository](https://github.com/OpenVibers/OpenVibe.News)\n\n- News: AI briefs with tone and outlet comparisons, and a live breaking view (#68) ([`de2a634`](https://github.com/OpenVibers/OpenVibe.News/commit/de2a634df2b72a225abdc90c7260fe576917d263))\n- News: the front page shows the latest AI briefs (labelled AI) above the wire (#69) ([`5a9a0f9`](https://github.com/OpenVibers/OpenVibe.News/commit/5a9a0f98e8a8a7ae20d3b823f77526c49f867e1e))\n\n## OpenVibe.Reviews\n\n[openvibe.reviews](https://openvibe.reviews) · [repository](https://github.com/OpenVibers/OpenVibe.Reviews)\n\n- Reviews: every review site, one search (#65) ([`ec9498f`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/ec9498fff925de73be784bdaaa0092621cf7a304))\n- Reviews: a Sources page re-indexes each entity once (one index document per review had Search's follow-up events refused as a loop) (#66) ([`2bcc762`](https://github.com/OpenVibers/OpenVibe.Reviews/commit/2bcc762806b58a5e9c5441a56c1b90148143a7d9))\n\n## OpenVibe.Bot\n\n[openvibe.bot](https://openvibe.bot) · [repository](https://github.com/OpenVibers/OpenVibe.Bot)\n\n- Bot: bot.robot.online/offline name the robot's owner (contracts 0.192.0), for Quest's robot quest (#129) ([`a63927e`](https://github.com/OpenVibers/OpenVibe.Bot/commit/a63927e0e723ceb1ba1ee89dad10f3b00d7da7b6))\n\n## OpenVibe.Chat\n\n[openvibe.chat](https://openvibe.chat) · [repository](https://github.com/OpenVibers/OpenVibe.Chat)\n\n- openvibe-contracts v0.189.0 (was v0.188.2) (#103) ([`e5199dd`](https://github.com/OpenVibers/OpenVibe.Chat/commit/e5199ddcd410bde4c6c8bcbad2d22985f517338a))\n\n## OpenVibe.Deals\n\n[openvibe.deals](https://openvibe.deals) · [repository](https://github.com/OpenVibers/OpenVibe.Deals)\n\n- Deals: crowdfunding discovery — one search across Kickstarter, Indiegogo, GoFundMe, Open Collective and more, plus Open Collective campaigns from Sources (#62) ([`2f49efd`](https://github.com/OpenVibers/OpenVibe.Deals/commit/2f49efdf27984f5ddc2e2c6024a69d69a5577d60))\n\n## OpenVibe.Events\n\n[openvibe.events](https://openvibe.events) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- openvibe-contracts v0.190.0 (was v0.188.2) (#88) ([`ab19aee`](https://github.com/OpenVibers/OpenVibe.Events/commit/ab19aee1f50f26267ca36119c16615de7316f140))\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-15T21:55:02.838Z","revised_at":"2026-10-15T21:55:02.824Z","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","media-hub","live","ai","media","food","blog","quest","sources","rent"],"categories":[],"series":{"title":"Patch notes","url":"https://openvibe.blog/@openvibe/series/patch-notes","position":null},"media":[],"citations":[],"indexability":{"indexable":true,"robots":"index, follow","reasons":[]}}