Skip to content

PeerTube

v8.2.0 Breaking

This release includes 2 breaking changes for platform teams planning a safe upgrade.

Published 7d Media Servers
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

activitypub angular decentralized p2p video

Affected surfaces

breaking_upgrade

ReleasePort's take

Moderate signal
editorial:auto 7d

PeerTube v8.2.0 patches an actively exploited vulnerability and drops NodeJS 20 support, requiring upgrade to NodeJS 22 (≥22.12).

Why it matters: The critical security fix addresses a live exploit in versions ≥v8.1.6; the breaking change mandates migrating runtime environments to NodeJS 22 by release adoption.

Summary

AI summary

Broad release touches IMPORTANT NOTES, Bug fixes, https://github.com/Chocobozzz/PeerTube/releases/tag/v8.1.8, and Player.

Changes in this release

Security Critical

Fixes actively exploited vulnerability from v8.1.6

Fixes actively exploited vulnerability from v8.1.6

Source: llm_adapter@2026-05-27

Confidence: high

Breaking High

Removes support for NodeJS 20; requires upgrade to NodeJS 22 (>=22.12)

Removes support for NodeJS 20; requires upgrade to NodeJS 22 (>=22.12)

Source: llm_adapter@2026-05-27

Confidence: high

Breaking High

Drops iOS support for versions < 15.4

Drops iOS support for versions < 15.4

Source: llm_adapter@2026-05-27

Confidence: high

Feature Medium

Adds `download.max_total_bytes_per_second` and `download.max_bytes_per_ip_per_second` config to throttle video downloads

Adds `download.max_total_bytes_per_second` and `download.max_bytes_per_ip_per_second` config to throttle video downloads

Source: llm_adapter@2026-05-27

Confidence: high

Feature Medium

Allows admins to set default state of *Automatically publish a replay when your live ends* option

Allows admins to set default state of *Automatically publish a replay when your live ends* option

Source: llm_adapter@2026-05-27

Confidence: high

Feature Medium

Adds ability to provide cookies to `yt-dlp` for YouTube imports

Adds ability to provide cookies to `yt-dlp` for YouTube imports

Source: llm_adapter@2026-05-27

Confidence: high

Feature Medium

Adds live DVR allowing users to seek and pause live streams

Adds live DVR allowing users to seek and pause live streams

Source: llm_adapter@2026-05-27

Confidence: high

Feature Low

Adds ability to transfer a video channel to another user of the same instance

Adds ability to transfer a video channel to another user of the same instance

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Adds ability to remove segments of a video in Studio

Adds ability to remove segments of a video in Studio

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Supports Romanian and Korean languages in web client

Supports Romanian and Korean languages in web client

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Adds ability to flip video horizontally

Adds ability to flip video horizontally

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Redesigns loading spinner UI

Redesigns loading spinner UI

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Supports podcast feed for playlists

Supports podcast feed for playlists

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Adds video download stats for video makers

Adds video download stats for video makers

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Defaults runner job route to the page listing runner jobs

Defaults runner job route to the page listing runner jobs

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Automatically filters data when clicking type/state tags in admin views

Automatically filters data when clicking type/state tags in admin views

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Adds video tag information and filtering when listing my videos

Adds video tag information and filtering when listing my videos

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Adds bulk actions to accept/reject registration requests

Adds bulk actions to accept/reject registration requests

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Forwards ActivityPub View using parallel broadcast

Forwards ActivityPub View using parallel broadcast

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Supports ActivityPub indexable field for actors

Supports ActivityPub indexable field for actors

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Feature Low

Prevents stale follows by periodically re‑sending Follow ActivityPub requests

Prevents stale follows by periodically re‑sending Follow ActivityPub requests

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Performance Low

Reduces SQL joins and speeds up video‑related queries for improved overall performance

Reduces SQL joins and speeds up video‑related queries for improved overall performance

Source: llm_adapter@2026-05-27

Confidence: high

Performance Low

Restores playback rates and manual resolution choice between sessions in the same browser

Restores playback rates and manual resolution choice between sessions in the same browser

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Performance Low

Introduces new table filter component simplifying data filtering across admin pages

Introduces new table filter component simplifying data filtering across admin pages

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Performance Low

Improves loading of My channels page

Improves loading of My channels page

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Performance Low

Caches /about endpoint in client reducing API calls

Caches /about endpoint in client reducing API calls

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Performance Low

Processes ActivityPub View and Download activities in parallel

Processes ActivityPub View and Download activities in parallel

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Performance Low

Exposes runner and runner job queue OpenTelemetry metrics

Exposes runner and runner job queue OpenTelemetry metrics

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Deprecation High

Deprecates public access of `/api/v1/accounts` endpoint; will require admin/moderator auth in v9 (end‑2027)

Deprecates public access of `/api/v1/accounts` endpoint; will require admin/moderator auth in v9 (end‑2027)

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Fixes NGINX I/O issue during video downloads

Fixes NGINX I/O issue during video downloads

Source: llm_adapter@2026-05-27

Confidence: high

Full changelog

SECURITY

Please read the v8.1.8 IMPORTANT NOTES, which explain that the vulnerability fixed in v8.1.6 has been actively exploited

IMPORTANT NOTES

  • Remove NodeJS 20 support. Please upgrade to NodeJS 22 (>= 22.12) before upgrading PeerTube
  • The public access of /api/v1/accounts API endpoint is deprecated for privacy reasons and will be behind an admin/moderator auth access in PeerTube v9, planned for the end of 2027
  • iOS versions < 15.4 are not supported anymore

NGINX

  • Fix an important NGINX I/O issue when users download a video: https://github.com/Chocobozzz/PeerTube/commit/5fa456e6e76af682d9f03be779d98b0779c4fbd3
    Please upgrade your NGINX configuration

Sysadmin

  • prune-storage script can now be run without stopping PeerTube
  • Add video privacy tag for peertube_videos_total OTEL metric

Configuration

This section is not exhaustive

  • Add download.max_total_bytes_per_second and download.max_bytes_per_ip_per_second configuration keys to throttle video downloads.
    These new keys help prevent instability when botnets download the entire PeerTube catalog
  • Add ability to provide cookies to yt-dlp #7510.
    See the documentation for more information: https://docs.joinpeertube.org/maintain/configuration#use-cookies-for-youtube-imports-when-needed
  • Increase the default refresh token lifetime oauth2.token_lifetime.refresh_token to 4 weeks (instead of 2 weeks)
  • Allow admins to configure the default state of the Automatically publish a replay when your live ends option #7414

Docker

  • The entire PeerTube configuration can be set using environment variables.
    Keep in mind that environment variable configuration keys override web admin configuration

Plugins/Themes/Embed API

  • Add server plugin hooks (https://docs.joinpeertube.org/api/plugins):
    • filter:api.user.signup.requires-approval.result
    • filter:notifier.notification.enabled.result
  • Add a server plugin helper:
    • storageManager.deleteData(key: string)

Features

  • :tada: Add ability to transfer a video channel to another user of the same instance :tada:
  • :tada: Add live DVR allowing users to seek within and pause the live #7396 :tada:
  • :tada: Add ability to remove segments of a video in Studio :tada:
  • Support Romanian and Korean languages in web client
  • Improve video ownership change UX:
    • Better table UI in My Videos -> More -> Ownership changes. It also lists ownership change requests for users' videos
    • The video management page now includes a section to transfer ownership of a video and cancel a pending request
    • Add notifications when video ownership is requested/accepted/rejected
    • Add bulk actions to accept/reject an ownership change request
  • Player:
    • Restore playback rates and manual video resolution choice between sessions in the same web browser
    • Add ability to flip the video horizontally #7478
    • Redesign loading spinner
  • Support podcast feed for playlists
  • Add video download stats for video makers #7437
  • Improve global UX:
    • Introduce a new table filter component that is simpler to use
    • Default runner job route is the page that lists runner jobs
    • Clicking on a type/state tag automatically filters data for local/runner job states and types, follow states, registration states, and user roles
    • Add video tag information and filter when listing my videos
    • Add ability to bulk accept/reject registration requests
    • Add ability to filter users by role in users overview
    • Improve comments UI on mobile
    • Display subscribe button when subscription state is loaded
    • Add g p hotkeys to go to My playlists page
  • Improve videos overview for admins:
    • Add ability to filter videos by state
    • Add a mute badge if the video owner is muted by the instance
    • Add ability to filter out videos from muted accounts
  • Improve video blocks overview for admins:
    • Add video privacy column
    • Add bulk actions to unblock, switch to manual block or delete the selected videos
    • Add a mute badge if the video owner is muted by the instance
  • Improve abuses overview for admins:
    • Add bulk action to update internal note, mark as accepted/rejected, delete report, mute reporter/reportee, block/unblock the video, delete the video/comment
    • Add a mute badge if the reporter/reportee is muted by the instance
  • Improve comments overview for admins and users:
    • Clicking on account name filters comments
    • Add a mute badge if the account that commented the video is muted by the instance
    • Add ability to filter out comments from muted accounts
  • Performance:
    • Reduce SQL joins when loading a video from the database
    • Faster video SQL query to retrieve my videos
    • Faster video comments SQL queries for users that list comments on their videos
    • Faster video redundancies SQL queries
    • Reduce number of rows returned by video SQL queries
    • Reduce number of rows returned by comments SQL queries
    • Faster loading of My channels page
    • Add /about endpoint caching in the client to reduce unnecessary API calls
    • Process ActivityPub View and Download activities in parallel
    • Forward ActivityPub View using parallel broadcast
  • Support ActivityPub indexable field for actors
  • Expose runner and runner job queue OpenTelemetry metrics #7469
  • Prevent stale follows by periodically re-sending Follow ActivityPub requests to remote instances
  • Improve follows reliability algorithm to reject followers that have been consistently down for ~7 days
  • Add .m4b audio file support

Bug fixes

  • Fix plugin settings to display default values when not configured in the DB #7484
  • Fix actor host link in miniature instance dropdown if search index is disabled
  • Fix missing stream error handling in web video object storage proxy #7535
  • Fix caption filename overflow
  • Fix setting a thumbnail from a video that is stored in object storage
  • Fix instance redundancies pagination
  • Filter out non-text languages for captions
  • Increase lazy static files cache time (thumbnails, captions, actor avatars/banners, etc.) to 1 year
  • Correctly log uncaught exceptions or unhandled promise rejections in file logger
  • Prevent page scrolling when applying filters while browsing instance/account/channel videos
  • Fix infinite scroll when listing my followers
  • Handle errors when updating a video playlist
  • Fix download filename if the video contains non-Latin characters
  • Fix font colors in emails by only injecting custom admin colors when the default theme is light-beige or dark-brown, to prevent accessibility issues
  • Fix broken audio stream P2P for lives
  • Fix broke HLS transcoding on concurrent video privacy change
  • Don't unpause the player when clicking on a transcription segment
  • Fix table page navigation on registration action
  • More robust playlist thumbnails updater
  • Fix concurrency issue when writing live sha segments
  • Fix concurrency issue when uploading the same torrent filename
  • Fix column varchar lengths

Breaking Changes

  • Remove NodeJS 20 support; upgrade to NodeJS 22 (>= 22.12) before upgrading PeerTube
  • /api/v1/accounts public access is deprecated and will require admin/moderator auth in v9

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

Track PeerTube

Get notified when new releases ship.

Sign up free

About PeerTube

ActivityPub-federated video streaming platform using P2P directly in your web browser

All releases →

Related context

Earlier breaking changes

  • v8.1.6 Restricts role assignment to administrators only.

Beta — feedback welcome: [email protected]