{"id":"pst_01M5HY14S7ADGTXCQRMXDVVHV8","url":"https://openvibe.blog/@openvibe/patch-notes-41-changes-across-24-sites-oct-22","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: 41 changes across 24 sites (Oct 22)","summary":"What shipped on OpenVibe from 2026-10-21 to 2026-10-22: 41 changes to OpenVibe.Media, OpenVibe.Live, OpenVibe.Network, OpenVibe.Services, OpenVibe.Wiki, OpenVibe.Codes and 18 more.","body_markdown":"What shipped on OpenVibe from 2026-10-21 to 2026-10-22: 41 changes to OpenVibe.Media, OpenVibe.Live, OpenVibe.Network, OpenVibe.Services, OpenVibe.Wiki, OpenVibe.Codes and 18 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.\n\n## OpenVibe.Media\n\n[openvibe.media](https://openvibe.media) · [repository](https://github.com/OpenVibers/OpenVibe.Media)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#150) ([`7d20db4`](https://github.com/OpenVibers/OpenVibe.Media/commit/7d20db4564e53688b1d2fed73a4b392b7ca5c0fa))\n- S3 docs: the surface answers at s3.openvibe.network (s3.openvibe.media has no DNS record yet; the aws and rclone examples failed to resolve) (#151) ([`0971434`](https://github.com/OpenVibers/OpenVibe.Media/commit/09714340b04c6ba97bc98c121de4bcb4b094bbd7))\n- S3 docs: the surface answers at s3.openvibe.media (DNS-only since 2026-10-21, so objects may pass 100 MB); s3.openvibe.network stays the same surface behind Cloudflare (#152) ([`6a3a1c7`](https://github.com/OpenVibers/OpenVibe.Media/commit/6a3a1c7b869b38a854b37df270322d49351f55a3))\n- Clips can be trimmed in place: POST /clips/:id/trim { start_s, end_s } narrows a ready clip's window of its source and cuts it again (clip.cut, same id and title; a virtual clip plays the narrower window at once); a re-cut removes the… ([`62e1e07`](https://github.com/OpenVibers/OpenVibe.Media/commit/62e1e07e0c6c559e018193688b6a078f046bef64))\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- openvibe-contracts v0.209.0 (was v0.203.0) (#291) ([`a31ad0f`](https://github.com/OpenVibers/OpenVibe.Live/commit/a31ad0fb9e79499e9d531503c54e2e0c25fa01d9))\n- Live's old robot controls tables are dropped (plan T15 B9): control configs, buttons, whitelist, per-stream controls, ONVIF cameras and api_keys, with the channel, slot and stream columns that pointed at them (#292) ([`42439e9`](https://github.com/OpenVibers/OpenVibe.Live/commit/42439e9266cf99e90970ed5c629d159bf1df3add))\n- The clip editor's Save works again: POST /api/clips/:id/trim saves the title and has Media trim the clip in place (same id; a trim is cut again from the source and followed like the first cut); it was a 501 stub since the media split, so… ([`6d90a13`](https://github.com/OpenVibers/OpenVibe.Live/commit/6d90a139bd8a267e2228c0720128516152961e34))\n\n## OpenVibe.Network\n\n[openvibe.network](https://openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Network)\n\n- README: Depends on names the pinned contracts v0.209.0 and shared v4.4.0 (it said v0.162.0 and v4.1.3) (#296) ([`0e98eff`](https://github.com/OpenVibers/OpenVibe.Network/commit/0e98eff285f3daae75d6d9e5629301c5dc83300b))\n- openvibe-contracts v0.209.2 (was v0.209.0) (#297) ([`ea968b6`](https://github.com/OpenVibers/OpenVibe.Network/commit/ea968b684354e9a069eeb0cc8b5104515eddc98d))\n- openvibe-contracts v0.209.3 (was v0.209.2) (#298) ([`7a12edd`](https://github.com/OpenVibers/OpenVibe.Network/commit/7a12edd728dd9f9d6c688b92df49d8f4a7970f65))\n\n## OpenVibe.Services\n\n[openvibe.services](https://openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.Services)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#87) ([`bb18bf5`](https://github.com/OpenVibers/OpenVibe.Services/commit/bb18bf57d76a0780d408ebb0a8c752d3c64259d0))\n- openvibe-contracts v0.209.1 (was v0.209.0) (#88) ([`ef52f4b`](https://github.com/OpenVibers/OpenVibe.Services/commit/ef52f4b4e0937a470c830161a4bbf54edf5a45e9))\n- openvibe-contracts v0.209.2 (was v0.209.1) (#89) ([`21ef154`](https://github.com/OpenVibers/OpenVibe.Services/commit/21ef1540641ae2594c5a52a5bfbb64481c8d0757))\n\n## OpenVibe.Wiki\n\n[openvibe.wiki](https://openvibe.wiki) · [repository](https://github.com/OpenVibers/OpenVibe.Wiki)\n\n- README: Media does publish deletion events (Wiki does not subscribe yet); it said Media did not emit them (#90) ([`1e0d51a`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/1e0d51a8fc0e527b6cac2729ef25e1c64c6ca727))\n- Official space: Media, Community, Events, Publishing, Help, Codes, Wiki and Tools revised from today's READMEs; the README counts 42 seed pages (it said ten) (#91) ([`a96b714`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/a96b7140b2b7286d948994f00ff056ba126adf18))\n- Official pages: Media's S3 surface at s3.openvibe.media, Zone's API also at api.openvibe.zone, OpenVibe Git at git.openvibe.codes (2026-10-21) (#92) ([`cd91d3e`](https://github.com/OpenVibers/OpenVibe.Wiki/commit/cd91d3e885646ac0b006bb28d1e0c86cf4281d1c))\n\n## OpenVibe.Codes\n\n[openvibe.codes](https://openvibe.codes) · [repository](https://github.com/OpenVibers/OpenVibe.Codes)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#92) ([`f98b6bc`](https://github.com/OpenVibers/OpenVibe.Codes/commit/f98b6bc9589714f979c6db4f5f8b8a949ddfc86f))\n- OpenVibe Git moves to git.openvibe.codes (its DNS name exists since 2026-10-21); openvibe.codes/git/… redirects to the same path there (#93) ([`0b47769`](https://github.com/OpenVibers/OpenVibe.Codes/commit/0b4776903e5803c752aaba9c4eae4f4f3bad64ff))\n\n## OpenVibe.Community\n\n[openvibe.community](https://openvibe.community) · [repository](https://github.com/OpenVibers/OpenVibe.Community)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#113) ([`7d031d8`](https://github.com/OpenVibers/OpenVibe.Community/commit/7d031d8b172361da081ecd4f31f93d081fe7d0de))\n- README: what production holds on 2026-10-21 (4,508 comment threads, 39 forum threads, 300 Pulse items), not 'almost nothing yet' (#114) ([`b424963`](https://github.com/OpenVibers/OpenVibe.Community/commit/b424963cfd8b9fef9557281e2f07bc2974603010))\n\n## OpenVibe.Events\n\n[openvibe.events](https://openvibe.events) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#102) ([`2959bad`](https://github.com/OpenVibers/OpenVibe.Events/commit/2959badcb647f95052b23376e28038652ee52697))\n- README: 28 services publish in production (it named six), Live's media webhook is retired (#103) ([`f64f2c4`](https://github.com/OpenVibers/OpenVibe.Events/commit/f64f2c4d0e07cd55cd11a0a2b08edad57f63094d))\n\n## OpenVibe.MediaHub\n\n[openvibe.video](https://openvibe.video) · [repository](https://github.com/OpenVibers/OpenVibe.MediaHub)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#103) ([`0bd5982`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/0bd59823f387db6e8a43360ef2b13d5b617b02d6))\n- STATUS: what is not built yet (signed-out uploads, scanning, app tokens); Video uploads, playlists, Pics, previews and public links shipped; openvibe.pics public since 10-15 (#104) ([`1b708aa`](https://github.com/OpenVibers/OpenVibe.MediaHub/commit/1b708aa8bfc29f737b0697cc71e8f4643c6ea487))\n\n## OpenVibe.Tools\n\n[openvibe.tools](https://openvibe.tools) · [repository](https://github.com/OpenVibers/OpenVibe.Tools)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#82) ([`34b2421`](https://github.com/OpenVibers/OpenVibe.Tools/commit/34b2421e8fc99c859766e296490e65d0b319a152))\n- README: Traceroute, MTR and Domain Reputation work (since #63 and #64 it still called them unavailable); mtr in the host packages table (#83) ([`10047cf`](https://github.com/OpenVibers/OpenVibe.Tools/commit/10047cf7deea6113d56737bc712c5605e4a2c49c))\n\n## OpenVibe.Zone\n\n[openvibe.zone](https://openvibe.zone) · [repository](https://github.com/OpenVibers/OpenVibe.Zone)\n\n- README/STATUS: s3.openvibe.media and api.openvibe.zone have their DNS records (2026-10-21); Zone is deployed (live since 10-14), and STATUS names its own plan (ADR-031), not Games' (#26) ([`ee19128`](https://github.com/OpenVibers/OpenVibe.Zone/commit/ee191283c1c1da8440211a0b3fb1de4d218ab40c))\n- STATUS: per-zone usage and server-side copies work (since 2026-10-15), so notYet is empty (#27) ([`adcf595`](https://github.com/OpenVibers/OpenVibe.Zone/commit/adcf595dc89762b6ed60174b21040f818de3c245))\n\n## OpenVibe.AI\n\n[ai.openvibe.services](https://ai.openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.AI)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#134) ([`a8e6815`](https://github.com/OpenVibers/OpenVibe.AI/commit/a8e681568e8575221809a9520403f79af9dc37ea))\n\n## OpenVibe.Billing\n\n[billing.openvibe.network](https://billing.openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Billing)\n\n- openvibe-contracts v0.209.0 (was v0.203.0) (#85) ([`0a2e904`](https://github.com/OpenVibers/OpenVibe.Billing/commit/0a2e9049ad4a531fa0b51d54510b3df3977c5b5c))\n\n## OpenVibe.Blog\n\n[openvibe.blog](https://openvibe.blog) · [repository](https://github.com/OpenVibers/OpenVibe.Blog)\n\n- openvibe-publishing v1.4.1 (was v1.3.0) (#70) ([`df8c877`](https://github.com/OpenVibers/OpenVibe.Blog/commit/df8c87790be0fee84cda5f3f93d4a8aa1caa277c))\n\n## OpenVibe.Bot\n\n[openvibe.bot](https://openvibe.bot) · [repository](https://github.com/OpenVibers/OpenVibe.Bot)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#143) ([`1c6b347`](https://github.com/OpenVibers/OpenVibe.Bot/commit/1c6b3472a718e3f5195db6dce21e27b6c1a80e5b))\n\n## OpenVibe.Chat\n\n[openvibe.chat](https://openvibe.chat) · [repository](https://github.com/OpenVibers/OpenVibe.Chat)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#124) ([`3a68a00`](https://github.com/OpenVibers/OpenVibe.Chat/commit/3a68a009f228c5d1b7d9f097a5610e1c784ef9f5))\n\n## OpenVibe.Deals\n\n[openvibe.deals](https://openvibe.deals) · [repository](https://github.com/OpenVibers/OpenVibe.Deals)\n\n- openvibe-publishing v1.4.1 (was v1.3.0) (#74) ([`a1a8e4f`](https://github.com/OpenVibers/OpenVibe.Deals/commit/a1a8e4f5426e7084e966b8bf35766213816b4d51))\n\n## OpenVibe.Food\n\n[openvibe.food](https://openvibe.food) · [repository](https://github.com/OpenVibers/OpenVibe.Food)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#69) ([`d30a340`](https://github.com/OpenVibers/OpenVibe.Food/commit/d30a3405e4f0f4541f3518c40e6c5a0d82e01945))\n\n## OpenVibe.Games\n\n[openvibe.games](https://openvibe.games) · [repository](https://github.com/OpenVibers/OpenVibe.Games)\n\n- openvibe-contracts v0.209.0 (was v0.205.0) (#133) ([`6d5e963`](https://github.com/OpenVibers/OpenVibe.Games/commit/6d5e963d9762e3fe9e558279e0bef8502e74c244))\n\n## OpenVibe.Help\n\n[openvibe.help](https://openvibe.help) · [repository](https://github.com/OpenVibers/OpenVibe.Help)\n\n- STATUS: the service manifest exists in openvibe-contracts (with no capabilities); it said it did not (#74) ([`e0e3b08`](https://github.com/OpenVibers/OpenVibe.Help/commit/e0e3b08eff5e3fe50c42a96920e96ef7e567cf22))\n\n## OpenVibe.News\n\n[openvibe.news](https://openvibe.news) · [repository](https://github.com/OpenVibers/OpenVibe.News)\n\n- openvibe-publishing v1.4.1 (was v1.3.0) (#81) ([`1c1972c`](https://github.com/OpenVibers/OpenVibe.News/commit/1c1972c3ed2aaa85a3cbed928839a1f5f9957708))\n\n## OpenRestream\n\n[openre.stream](https://openre.stream) · [repository](https://github.com/OpenVibers/OpenRestream)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#90) ([`d736fd2`](https://github.com/OpenVibers/OpenRestream/commit/d736fd21b236022251b1312497b87ceb7fcd19bb))\n\n## OpenVibe.Space\n\n[openvibe.space](https://openvibe.space) · [repository](https://github.com/OpenVibers/OpenVibe.Space)\n\n- openvibe-contracts v0.209.0 (was v0.200.0) (#75) ([`050289c`](https://github.com/OpenVibers/OpenVibe.Space/commit/050289cf9c52809c8b9df2f6d05a80d191a53c65))\n\n## OpenVibe.Tips\n\n[openvibe.tips](https://openvibe.tips) · [repository](https://github.com/OpenVibers/OpenVibe.Tips)\n\n- openvibe-contracts v0.209.0 (was v0.202.0) (#73) ([`45d0d1a`](https://github.com/OpenVibers/OpenVibe.Tips/commit/45d0d1ae68d595c53d141af266900e2417d0501b))\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-22T13:50:24.578Z","revised_at":"2026-10-22T13:50:24.559Z","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","live","network","services","wiki","codes","community","events","media-hub","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":[]}}