Skip to content

v6.0.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Chocobozzz Chocobozzz released this 07 Nov 07:54
· 759 commits to develop since this release
v6.0.0-rc.1
5dd39c0

IMPORTANT NOTES

We have many important notes in this release. We know it's a pain for sysadmin, but consider each one as a major step forward for PeerTube quality!

Sysadmins important notes

Developers important notes

  • REST API breaking changes:

    • Removed webtorrentEnabled from user response (deprecated since 4.1 in favour of p2pEnabled)
    • Removed avatar and banner fields from account/channel responses (deprecated since 4.2 in favour of avatars and banners)
    • Removed filter query when listing videos (deprecated since 4.0 in favour of isLocal and include)
    • Deprecate /api/v1/videos/:id/webtorrent video file routes in favour of /api/v1/videos/:id/web-videos routes
    • Deprecate hasWebtorrentFiles body video filter in favour of hasWebVideoFiles when listing videos
    • Deprecate webtorrent transcodingType in favour of web-video in /api/v1/videos/{id}/transcoding route
    • currentTime is now required to notify the user is watching the video using /api/v1/videos/{id}/views (introduced in 4.2)
  • Static server paths breaking changes:

    • /static/webseed/... is deprecated in favour of /static/web-videos/...
    • /object-storage-proxy/webseed/... is deprecated in favour of /object-storage-proxy/web-videos/...
    • /static/thumbnails/... is deprecated in favour of /static/lazy-thumbnails/...
  • Plugin API breaking changes:

    • Deprecated webtorrent key in getFiles() helper result. Use webVideo instead

CLI tools

Features

  • 🎉 Add "Password protected" video privacy #5836 🎉
    • A single password can be set using the web interface at video upload/import/update
    • The REST API can store as many passwords as you want, allowing developers to use this feature to easily give or revoke access to a video on the fly
  • 🎉 Add video storyboard support 🎉
    • PeerTube automatically generates a storyboard on video upload/import
    • Viewers can see the image around the targeted timecode when hovering the progress bar
    • Storyboard of videos uploaded/imported before v6 can be generated by the admin using npm run create-generate-storyboard-job command
  • 🎉 Add ability for users to replace their video file 🎉
    • Has to be enabled by the PeerTube instance administrator
    • The user can replace the video file in the Update Video page
    • The re-upload date is displayed under the video player
  • 🎉 Add video chapters support 🎉
    • Add chapters in the upload/import/update video page or let PeerTube automatically imports them from the video container/youtube-dl
    • Markers are displayed in the player progress bar to symbolize a chapter
    • Chapter title is displayed when hovering/touching the player progress bar
  • Better video player:
    • More efficient as we don't rebuild the player every time the played video changes
    • The player keeps the current player settings (playback speed, fullscreen...) when the played video changes
    • Automatically adjust the player size to match video ratio
  • Improve SEO and video link sharing:
    • Use short video/channel/account URLs in sitemap and for canonical tags
    • Add JSON-LD tag in embed page
    • Embed page does not forbid indexation anymore: we use a canonical tag instead that targets the watch page
    • Forbid indexation of remote videos, accounts and channels (instead of providing an invalid canonical tag)
    • Truncate OpenGraph/Twitter card link description
  • Fix client accessibility and keyboard navigation:
    • Fix links in bootstrap alerts color
    • Better input placeholder contrast
    • Fix video miniature link label
    • Add ability to disable hotkeys
    • Improve table overall accessibility
    • Wrap icons that can lead to an action inside buttons
    • Fix left menu admin/my-library menu accessibility
    • And many more improvements!
  • Improve remote runner management:
    • Add ability to remove runner jobs
    • Add runner job state quick filter
    • Merge registration tokens and runners tables in same page
    • Add copy button to copy registration token
  • Add ability for admins to force transcoding on a specific video even if it's in broken state (stuck in To Transcode for example)
  • Add an option to sign federated fetches (ActivityPub based software such as Mastodon may require it to access content)
  • Download video file directly from S3 using pre signed URLs
  • Lazy download remote video thumbnails to reduce storage
  • Improve recommended videos when the watched video doesn't have tags set
  • Add more rate limits in configuration (plugins, well-known, feeds, activity_pub and client endpoints)
  • Add ability to reset video Originally published at attribute
  • Add ability for admins to set the default user channel name #6000
  • Server now uses ESM modules
  • Add worker threads Prometheus metrics
  • Performance:
    • Process unicast HTTP job in worker threads
    • Sign ActivityPub requests in worker threads
    • Optimize recommended videos HTTP request
    • Optimize videos SQL queries when filtering on lives or tags
    • Optimize /videos/{id}/views endpoint with many viewers
    • Add ability to disable PeerTube HTTP logs

Bug fixes

  • Don't cache upload response if the video has been deleted
  • Fix broken upgrade script when using custom database port
  • Prevent duplicate runner names
  • Avoid runner job update error
  • Notify remote runners there are available jobs when a job is aborted/errored
  • Fix updating P2P settings in left menu
  • Fix 500 HTTP error on invalid short UUID conversion
  • Don't display admin email in security.txt well-known endpoint
  • Optimize update-host script to fix out of memory error
  • Fix error log when using an unconventional distribution of FFmpeg with a non-standard version string #5917
  • Fix live replay REST API breaking change: replaySettings.privacy is not required anymore
  • Fix broken live replay when updating replay privacy
  • More robust About page when getting category from server
  • Fix ERR_HTTP_HEADERS_SENT crash
  • Avoid illegal characters in torrent filename
  • Avoid federation error log with remote Like on Note
  • Fix atom feed with Science & Technology category
  • Support empty value returned by filter:api.video.get.result hook
  • Prevent remote subscribe on accounts (not yet supported by PeerTube)
  • Fix feed audio file mimetype
  • Fix video quality on high video resolution/fps
  • Fix disabling Object Storage ACL using Docker env PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PUBLIC and PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PRIVATE in .env
  • Correctly end live session on ffprobe error
  • Fix video stats X axis with old videos
  • Fix empty master playlist upload on s3