IMPORTANT NOTES
- Important You need to manually execute a migration script after your upgrade while PeerTube is running and the database migration is complete (
Migrations finished. New migration version schema: 865
in PeerTube startup logs, this migration script may take a while).
The purpose of this migration is to update video files metadata in the database.
This migration can take a long time if you have many federated/local videos, but is designed to be safe to run multiple times:- Classic installation:
cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-6.3.js
- Docker installation:
cd /var/www/peertube-docker && docker compose exec -u peertube peertube node dist/scripts/migrations/peertube-6.3.js
- Classic installation:
- Important for Docker admins If you enabled the "Keep a version of the input file" configuration, files may have been stored in the container instead of the host volume. To prevent data loss, you must copy the files on the host before upgrading using
docker compose cp peertube:/app/storage/original-video-files docker-volume/data
Docker
- Fix IPV6 configuration. You must update your
docker-compose.yml
file:- Remove
version:
line - Add
ipv6_address
topeertube.networks.default
key - Update
network
top level key content
- Remove
Maintenance
- Reduce error and warning logs generated by clients and the federation
- Introduce
peertube_playback_buffer_stalled_count_total
OpenTelemetry playback metric - Removed
access_log: off
for static video requests in the nginx configuration template, now the player doesn't use WebTorrent anymore (which was doing a large amount of small HTTP requests) - PeerTube introduces a new download API endpoint that remuxes the videos on the fly to merge video and audio streams. A custom rate limit can be configured in the YAML configuration
Plugins/Themes/Embed API
- Reduce
@peertube/peertube-types
package size
Features
- 🎉 Separate HLS audio and video streams 🎉
- Can be enabled for VODs in the admin configuration for new videos
- Automatically enabled for lives
- If enabled, an "Audio only" resolution is available in the HLS player
- The live can ingest and output an "Audio only" stream
- Reduce video disk space used since we only store one version of the audio stream
- The download modal has a new panel so users can easily select the resolution they want to download
- 🎉 Introduce a transcription widget 🎉
- Users can open the transcription widget that appears next to the player
- The transcription is in sync with the video
- Users can search the transcript and click on a specific segment to automatically jump the video to the appropriate timecode
- UI/UX:
- More visible chapter markers in player control bar
- Add a button to copy server logs in admin
- Smoother live autoplay: only the player is reloaded
- Improve channel and account page tab title
- Better resolution label for custom video aspect. For example with a
1920x816
video, we now display1080p
instead of816p
- Support max FPS configuration: the admin can allow videos with more than 60FPS, which is the current default limit
- Max resolution file preserves input FPS even if < 720p, allowing users to upload and broadcast a 480p resolution at 60FPS
- Add ability for admins to set multiple proxies for youtube-dl that PeerTube will randomly select
- Support youtube-dl executable (for example Linux standalone x64 binary that includes additional features like impersonation)
- Add a cover to the file if the user only downloads the audio version of the video
- Forward watch page
start
query param to the OEmbed service so that the embed starts at the correct time - Notify local users on when an Internal video is published
- Add ability for admins to disable federation (disabling ActivityPub endpoints)
- Improve local video search relevance
Bug fixes
- Fix broken object storage playlist on file removal
- Set live tags to replays
- Fix hidden delete button for original file in videos admin overview
- Don't crash the embed on player error
- Prevent embed poster flickering
- Fix left menu block title ellipsis
- Fix channel name overflow in *My Videos" page
- Fix player infinite buffering issues on fast live re-stream
- Don't display orange resume bar on live miniatures
- Fix video file object storage detection in admin videos overview
- Support ActivityPub remote actors with array
url
field - Fix resetting duration filter in search page
- Use first step Public privacy when publishing lives without having validated the second step
- Fix studio page responsive
- Add CORS to oEmbed API
- Fix storyboard display at the end of the video
- Correctly cleanup permanent live empty directories
- Fix duplicated resolutions when capping fps
- Don't resize remote actor images with unknown size
- More robust caption update concurrency