This release includes 3 breaking changes for platform teams planning a safe upgrade.
Published 1mo
Media Servers
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
entertainment
nodejs
social
video
video-streaming
video-synchronization
+1 more
vuejs
Affected surfaces
rbac
Summary
AI summaryBroad release touches client, chore, deps, and server.
Full changelog
What's Changed
This release marks the stabilization of the load balancer. It's been running in production for quite some time now, and I'm pretty confident that it doesn't break anything.
- balancer: refactor remove_room to reduce errors in logs by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1674
- balancer: fix room unloads sometimes causing canonical room mappings to get removed by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1675
- server: gossip loaded rooms immediately on balancer connect by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1673
- balancer: add another routing unit test by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1676
- tests: add test for balancers unloading rooms by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1672
- client: fix trusted user icon not rendering in user list by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1677
- client: only send playback status updates if status changes by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1678
- client: allow short passwords in dev mode by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1679
- add permission:
manage-queue.play-nowby @dyc3 in https://github.com/dyc3/opentogethertube/pull/1680 - server: minor refactor to how permissions are checked by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1681
- client: fix PermissionsEditor not rendering the actual permissions of the room by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1683
- client: refactor components to make them more simple by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1682
- jobs: update chunk size by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1686
- vis: fix activity animations to stay confined to their own panel by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1687
- vis: TopologyView: update node packing threshold by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1688
- vis: refactor activity animations into a hook by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1689
- vis: add
balancer_idto events by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1690 - tests: update chatty-users load test by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1692
- tests: tweak chatty-users again by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1693
- balancer: degrade more gracefully when overloaded with new clients by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1694
- deps: upgrade hyper to 1.3.0 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1695
- client: fix video controls hanging out of the player by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1696
- deploy: increase traffic split to 50% by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1697
- deps: update hyper to 1.3.1 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1698
- client: refactor LocaleSelector to be less complex by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1699
- balancer: filter streamed events based on whether or not the collector is actually connected by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1700
- Fix bug where putting more than one panels with streaming events in a dashboard causes them to error out. by @Victor-M-Giraldo in https://github.com/dyc3/opentogethertube/pull/1701
- vis: TopologyView: make region box padding configurable by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1702
- reimplement
ProcessedTexttests by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1704 - vis: TopologyView: increase font size of region names by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1703
- vis: create a legend by @moreno-michael in https://github.com/dyc3/opentogethertube/pull/1668
- rework useColorProvider hook by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1705
- vis: tweak legend appearance by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1706
- add new bbox util methods by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1707
- vis: prevent excessive rerendering by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1708
- vis: simplify useD3Zoom by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1709
- vis: TreeView: zoom to fit whole tree by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1710
- deploy: increase client split to 70% by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1711
- vis: TreeView: only auto zoom if there has been no user interaction by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1712
- vis: TopologyView: add auto zoom to fit diagram by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1713
- server: add
ott_websocket_kick_close_codesmetric by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1715 - balancer: add
balancer_client_websocket_close_codesmetric by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1716 - vis: improve initial zoom levels by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1717
- vis: remove "global" from panel options by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1718
- vis: TreeView: fix auto zoom sometimes cutting off balancer nodes by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1719
- deploy: increase client split to 85% and switch to nginx alpine image by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1720
- vis: fix color assignments sometimes being non unique by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1721
- update spanish localization by @Victor-M-Giraldo in https://github.com/dyc3/opentogethertube/pull/1722
- deploy: tweak concurrency limits for balancer by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1724
- server: disconnect from balancers on shutdown to make sure we don't send room unloaded close codes by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1725
- deploy: fully switch to the balancer for all clients by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1723
- balancer/server: fix monolith restarts causing all clients to get kicked and not recover completely by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1729
- ci: temporarily disable prod deployments by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1730
- deploy: staging: use minrooms selector by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1726
- balancer: fix leaking BalancerClients by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1728
- balancer: refactor polling_interval and reduce default to 5 seconds by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1727
- balancer: actually fix leaking clients on monolith leave by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1731
- balancer: refactor remove_client to be more lenient by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1732
- collector: handle websocket pings by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1733
- collector: handle websocket errors better by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1734
- vis: fix datasource opening tons of websocket connections by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1736
- deploy: switch to bluegreen deploy strategy by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1737
- server: fix BalancerClients not getting cleaned up on room unloads by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1744
- balancer: avoid sending close frame twice by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1743
- remove
balancer-testercrate by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1745 - remove
ws-fuzzcrate by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1746 - dev: add vscode setting to disable sync button because its bad by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1747
- balancer: add random monolith selector by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1748
- tests: add monolith-restarts load test by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1749
- deploy: prod: switch to HashRing selector by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1750
- balancer: add UnloadReason by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1741
- server: handle UnloadReason for room unloads by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1742
- balancer: add Region type by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1751
- balancer: implement Region type by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1752
- balancer: track client edge region by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1753
- deploy: reenable prod deployments by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1754
- server: ensure balancer connections get closed before unloading rooms on shutdown by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1755
- Switch to using zod for validation for patch endpoint. by @Victor-M-Giraldo in https://github.com/dyc3/opentogethertube/pull/1579
- tests: reimplement
PermissionsEditortests by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1756 - client: visually simplify create room form by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1757
- balancer: HashRing: repeat nodes on ring to balance better by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1758
- server: add
ott_balancer_connectionsmetric by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1759 - client: make restore queue setting dropdown same size as others by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1761
- server: send details of zod validation errors by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1763
- client: upgrade vuetify to 3.5.17 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1764
- ci: add job to compare bundle size in PRs by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1767
- client: minor refactors for RoomSettingsForm by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1762
- server: remove deprecated
permissionsfield fromGET /api/room/:roomendpoint by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1768 - client: only submit changed settings to the server when changing settings by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1765
- client: auto submit room settings on change by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1766
- deps: remove
material-design-icons-iconfontby @dyc3 in https://github.com/dyc3/opentogethertube/pull/1769 - deps: upgrade typescript to 5.4.5 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1771
- ci: upgrade actions versions in bundle size job by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1772
- client: fix vimeo player not respecting seeks by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1775
- fix new clippy lints by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1781
- build(deps): bump ws from 7.5.9 to 7.5.10 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1780
- build(deps): bump braces from 3.0.2 to 3.0.3 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1779
- RU locale update by @Insoulum in https://github.com/dyc3/opentogethertube/pull/1782
- server: refactor video highlighting, fix videos not getting highlighted in add previews by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1778
- Localization for Brazilian Portuguese (pt-br) by @Kahlis in https://github.com/dyc3/opentogethertube/pull/1785
- build(deps): bump fast-loops from 1.1.3 to 1.1.4 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1784
- update deps to fix rust builds by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1788
- only render privacy policy on official site by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1789
- tests: relax condition in flaky playback position test by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1792
- client: move chat outside of youtube player bounds to comply with youtube TOS by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1791
- Revert "client: move chat outside of youtube player bounds to comply with youtube TOS (#1791)" by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1795
- Reapply "client: move chat outside of youtube player bounds to comply with youtube TOS (#1791)" by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1796
- build(deps-dev): bump webpack from 5.89.0 to 5.94.0 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1797
- upgrade axios to 1.7.4 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1799
- ci: filter ansi codes from bundle size outputs by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1800
- ci: fix bundle size job not working on external PRs by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1801
- client: slightly improve room layout on smaller screens by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1802
- build(deps-dev): bump vite from 5.2.8 to 5.2.14 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1804
- fix(client): fix incorrectly specified redirects in router by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1809
- chore: fix new clippy lints by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1810
- fix(server): fix crash when session token returns no data in auth middleware by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1814
- fix(ci): fix broken jobs related to docker-compose by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1815
- chore(docker): remove PGDATA from docker compose environment variables by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1818
- fix(server/(config): add config validation for
session_secretby @dyc3 in https://github.com/dyc3/opentogethertube/pull/1820 - chore: pin rust version and fix lints by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1823
- feat(client): save sponsorblock settings in browser and apply them on room creation by @mayudev in https://github.com/dyc3/opentogethertube/pull/1829
- fix(client): fix seek preview timestamp being positioned incorrectly for youtube videos. by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1835
- build(deps): bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1822
- chore: add a log when youtube video api requests fail by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1839
- feat: add "My Rooms" page to list rooms owned by the current user by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1844
- feat: add button to let users delete permanent rooms by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1845
- chore: fix some lints by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1846
- update german language by @Sebasee009 in https://github.com/dyc3/opentogethertube/pull/1847
- ci: update node js versions by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1850
- chore: update to node 20 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1857
- Fix index.ts error after Node20 Upgrade by @Sysadminfromhell in https://github.com/dyc3/opentogethertube/pull/1861
- Add Invidious Support by @Sysadminfromhell in https://github.com/dyc3/opentogethertube/pull/1862
- fix: force upgrade sodium-native to 4.3.2 to make password hashing work again on node 20 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1869
- fix(server): Correctly handle absolute URLs in HLS manifests by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1873
- fix(server): Correctly handle a m3u8 manifest that contain segments directly by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1875
- chore: add
@types/m3u8-parserand fix type errors by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1876 - ci(bundle-size): don't fail on prs from forks by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1877
- build(deps): bump @babel/runtime from 7.23.8 to 7.28.3 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1856
- chore: minor lint fixes for tubi, pluto by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1881
- Client: Extract HLS logic to a new HlsPlayer Component by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1880
- fix: hls caption not showing when re-selecting a previously disabled track by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1889
- An attempt to fix the e2e test by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1890
- fix(client): reddit also uses HLS by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1892
- client: Move dashjs to a new component, DashPlayer.vue, with caption support by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1888
- chore(deps): minor dependency updates by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1895
- server: Replace "secure-password" with "argon2" by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1894
- Server: Add Field filtering for YouTube API Calls by @Sysadminfromhell in https://github.com/dyc3/opentogethertube/pull/1887
- Server: Ffprobe leak fix by @Sysadminfromhell in https://github.com/dyc3/opentogethertube/pull/1883
- chore(deps): major dependency upgrades by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1896
- fix(server): Sequelize-cli now respects env files by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1893
- [skip ci] Update node version to 20 in devcontainer and documentation by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1900
- chore(deps): bump Cypress's version for client by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1899
- refactor(client): migrate from @mdi/font to @mdi/js for smaller bundle by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1901
- client: Add support for video quality selection for hls by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1897
- client: add tooltips to video controls by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1907
- fix(client): "auto" is not supported to show if isAutoQualitySupported is false by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1906
- client: Implement video quality selection for dash by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1902
- Fix(client): Ensure correct video quality selection between the auto and manual settings for DASH and HLS by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1912
- (Deployment) Add SBOM and Provenance for Docker-compose build by @Sysadminfromhell in https://github.com/dyc3/opentogethertube/pull/1905
- Revert "(Deployment) Add SBOM and Provenance for Docker-compose build" by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1914
- fix(client): Use useMouseInElement instead to trigger video controls during playback by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1903
- refactor(client): simplify closed captions switcher and introduce video settings menu by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1908
- feat(client): improves video quality labeling by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1915
- (server) Add LBYR/Odysee Support by @Sysadminfromhell in https://github.com/dyc3/opentogethertube/pull/1904
- feat(client): Add visual indication for caption tracks by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1916
- chore(client): Enhance test video display with grouped categories and improved styling by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1917
- feat(client): Implement Picture-in-Picture button by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1918
- Fix(client): fix issue where google drive can't play and remove video.js by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1922
- build(deps): bump vite from 5.1.1 to 7.1.10 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1923
- client: only show the PiP button when browser supports the PiP API by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1924
- Fix(client): Fix incorrect logic for caption isEnabled by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1928
- feat(client): display an error message when video is failed to load by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1921
- client: add a volume icon and improve volume slider's tooltip style by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1925
- client: ensure single active (and correct) chip selected for test videos by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1926
- build(deps-dev): bump vite from 7.1.10 to 7.1.11 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1927
- build(deps): bump brace-expansion from 1.1.11 to 1.1.12 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1853
- build(deps): bump validator from 13.9.0 to 13.15.20 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1929
- build(deps): bump min-document from 2.19.0 to 2.19.1 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1932
- build(deps-dev): bump glob from 10.3.10 to 11.1.0 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1933
- build(deps): bump validator from 13.9.0 to 13.15.23 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1934
- feat: add forced adapter selection for add preview by @Copilot in https://github.com/dyc3/opentogethertube/pull/1938
- i18n: Update RU locale by @Insoulum in https://github.com/dyc3/opentogethertube/pull/1939
- build(deps): bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1940
- build(deps-dev): bump webpack from 5.94.0 to 5.104.1 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1943
- build(deps): bump axios from 1.12.2 to 1.13.5 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1944
- chore: apply fixes that would be fixed by biome by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1945
- chore: more misc fixes caught by biome by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1946
- chore: various code quality improvements, caught by biome by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1947
- chore: add AGENTS.md by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1948
- chore: format/remove misc things by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1956
- feat(client): client setting to boost audio by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1962
- fix(client): fix client settings not rendering by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1964
- feat(balancer): more metrics to diagnose deadlocks by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1961
- fix(balancer): make in-flight metric more reliable by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1967
- fix(client): fix direct videos not playing audio by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1969
- refactor(client): migrate PlyrPlayer to composition API and remove Plyr by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1966
- chore(client): remove SCSS preprocessor options for plyr by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1970
- build(deps): bump flatted from 3.2.7 to 3.4.2 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1971
- fix(jobs): fix oom database crashes by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1973
- chore: Bump cypress to 15.12.0 and replace the HLS used for the e2e test by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1972
- fix: strip trimming metadata on video end in looping modes by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1963
- feat(client): Add captions/multi-quality support for DirectPlayer.vue with a new manifest format by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1974
- fix(server): prevQueue doesn't get saved when the room gets unloaded and the current queue is empty by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1975
- build(deps): bump convict from 6.2.4 to 6.2.5 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1978
- build(deps): bump brace-expansion from 1.1.12 to 1.1.13 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1979
- build(deps): bump dompurify from 2.4.7 to 2.5.9 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1980
- feat(client): add a visibility icon next to the connection status by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1981
- update german language by @Sebasee009 in https://github.com/dyc3/opentogethertube/pull/1982
- fix(client): fix DirectPlayer subtitle issues by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1985
- build(deps): bump lodash from 4.17.23 to 4.18.1 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1986
- feat(client): Allow users to add a subtitle track to the VideoQueueItem by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1983
- feat: allow users to modify an existing queue item to add a subtitle track by @WuTofu in https://github.com/dyc3/opentogethertube/pull/1989
- build(deps-dev): bump vite from 7.1.11 to 7.3.2 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1990
- build(deps): bump uuid from 9.0.0 to 14.0.0 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1996
- feat: account management page by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1998
- chore: migrate to biome by @dyc3 in https://github.com/dyc3/opentogethertube/pull/1957
- build(deps): bump postcss from 8.4.19 to 8.5.10 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1999
- build(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 by @dependabot[bot] in https://github.com/dyc3/opentogethertube/pull/1995
- chore: upgrade Node.js version from 20 to 22 in Dockerfiles by @WuTofu in https://github.com/dyc3/opentogethertube/pull/2000
- chore: ban vue options api for new components by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2001
- chore: make odysee tests not create a random log file by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2003
- chore: bump minimum node version, prep for node 26 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2002
- chore: bump @types/node to 22 by @WuTofu in https://github.com/dyc3/opentogethertube/pull/2005
- chore: remove pr commands, don't need it anymore by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2006
- chore: swap js formatting to biome by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2007
- chore(lint): enable biome's
useTopLevelRegexby @dyc3 in https://github.com/dyc3/opentogethertube/pull/2008 - chore: tweak formatting by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2009
- chore: update biome to 2.4.14, misc lint improvements by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2010
- chore: node 26 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2011
- chore: disable some eslint rules by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2013
- chore: update biome, adjust linting, format everything but vue with biome by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2015
- chore: formatting adjustments by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2016
- fix: reject newlines in room title by @kimjune01 in https://github.com/dyc3/opentogethertube/pull/2017
- refactor: use vitest for component tests by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2025
- chore: update to vite 8 by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2024
- refactor(client): upgrade YoutubePlayer to modern vue component by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2028
- fix(server): fix a possible bug where room state could get destroyed by @dyc3 in https://github.com/dyc3/opentogethertube/pull/2029
New Contributors
- @Kahlis made their first contribution in https://github.com/dyc3/opentogethertube/pull/1785
- @mayudev made their first contribution in https://github.com/dyc3/opentogethertube/pull/1829
- @Sebasee009 made their first contribution in https://github.com/dyc3/opentogethertube/pull/1847
- @Sysadminfromhell made their first contribution in https://github.com/dyc3/opentogethertube/pull/1861
- @WuTofu made their first contribution in https://github.com/dyc3/opentogethertube/pull/1873
- @kimjune01 made their first contribution in https://github.com/dyc3/opentogethertube/pull/2017
Full Changelog: https://github.com/dyc3/opentogethertube/compare/v0.14.1...v0.15.0
Breaking Changes
- Removed `balancer-tester` crate
- Removed `ws-fuzz` crate
- Removed deprecated `permissions` field from `GET /api/room/:room` endpoint
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]