Skip to content

v4.1.0

Compare
Choose a tag to compare
@Chocobozzz Chocobozzz released this 23 Feb 08:35
· 5019 commits to develop since this release
v4.1.0
57a8d07

IMPORTANT NOTES

  • PeerTube does not support NodeJS 12 anymore

Plugins/Themes/Embed API

  • Introduce ability for plugins to create client pages: https://docs.joinpeertube.org/contribute-plugins?id=create-client-page
  • Plugins that register custom video fields can choose in which tab they want to display them and can report errors: https://docs.joinpeertube.org/contribute-plugins?id=add-custom-fields-to-video-form
  • Add new client plugin id selectors
    • Add #plugin-selector-about-instance-moderation, #plugin-selector-about-instance-other-information, #plugin-selector-about-instance-features, #plugin-selector-about-instance-statistics, #plugin-selector-about-menu-instance, #plugin-selector-about-menu-peertube, #plugin-selector-about-menu-network in about page #4597
    • Add #plugin-selector-menu-user-dropdown-language-item in menu #4597
  • Add client plugin hooks
    • filter:login.instance-about-plugin-panels.create.result and filter:signup.instance-about-plugin-panels.create.result to add custom instance information in login/signup pages
  • Add server plugin hooks
    • filter:api.server.stats.get.result
    • filter:api.video.upload.video-attribute.result, filter:api.video.import-url.video-attribute.result, filter:api.video.import-torrent.video-attribute.result, filter:api.video.live.video-attribute.result when creating a video object
    • action:api.video-caption.created and action:api.video-caption.deleted #4650
  • Server helpers
    • videos.getFiles(videoId: number) to list video files (webtorrent, hls and thumbnail files)
    • videos.ffprobe(path: string) to get ffprobe JSON result
  • Publish @peertube/peertube-type NPM module that can be used by TypeScript plugins
  • Add ability to disable P2P in embed using p2p query parameter in embed URL

Maintenance

  • REST API
    • Deprecate webTorrentEnabled in favour of p2pEnabled for user model
    • Add ability to pause/resume the job queue
  • Also publish stable releases on https://builds.joinpeertube.org/release
  • Add ability for admins to specify youtube-dl/yt-dlp python binary path #4706
  • PeerTube server startup is faster

Security

  • Check video privacy before listing or accepting captions, comments or rates
  • Check video import target URL does not resolve to internal IP. This technique has some limits so if you have private HTTP services on your server/network publicly accessible, we recommend to use a proxy or a dedicated interface for PeerTube

CLI tools

  • Also remove HLS files when using prune-storage script
  • Support --plugin-version option when installing a plugin #4599

Features

  • 🎉 Player improvements
    • Increase control bar size on desktop & mobile
    • Add overlay on tap to easily play/pause the video on mobile
    • Automatically move to landscape when full screen a video on mobile
    • Add fast forward/rewind on double tap on mobile
    • Cleanup, fix and add player hotkeys
    • Keep control bar displayed when settings panel is opened
    • Faster hiding transition for control bar
    • Stop confusing peer indication in control bar when p2p is disabled
    • Try to fast forward video on HLS decode error
  • 🎉 More admin customizations
    • Specify default Publish video attributes (download enabled, comments enabled, privacy, licence)
    • Choose to automatically redirect users on the external auth platform on login button click
    • Set default P2P policy for the player
  • Search improvements
    • Add Result type filter in search (videos, channels or playlists)
    • Display only video results when searching on video metadata (tags, categories etc)
  • Video imports
    • Users can cancel and delete video imports
    • Add ability to filter video imports by target URL
  • Add ability for users to delete individual elements in videos history
  • Show date and views counter in playlist element miniature #4396
  • Add norsk locale support
  • Check mute status and display mute badges in channel and account pages
  • Add No linguistic content video language option #4631
  • Don't send notifications to admins/moderators if an admin/moderator reported an abuse
  • Add ability for moderators/admins to edit any channel #4608
  • Add a refresh button to admin videos overview page #4753
  • Add Official badge to official plugins in admin plugin pages
  • Automatically clean unavailable remote ActivityPub resources
  • Media RSS feed displays video file as default enclosure instead of torrent
  • Use white background for PeerTube icons (instead of transparency)
  • Show private badge for private videos in playlists #4767

Bug fixes

  • Fix weird require bug on plugin upgrade
  • Fix plugin storage return value when storing a JSON array #4640
  • Decrease delay to cleanup resumable uploads (to 1 hour)
  • Update torrent metadata on video update
  • Fix HLS player with videos that have stream duration inconsistencies
  • Fix player crash if the video contains only audio resolution
  • Fix ffmpeg crash when using a transcoding plugin encoder that doesn't support PeerTube B-frame strategy
  • Fix transcoding failure for audio only uploads
  • Don't run HLS transcoding when running manually WebTorrent transcoding from the admin
  • Don't run audio transcoding with video only file
  • Correctly send new HLS files after re-transcoding to object storage
  • Fix stuck state when move transcoding job failed
  • Correctly display internal videos of internal subscriptions
  • Correctly display all videos history to users
  • Fix video upload with big preview file
  • Fix description/comment timestamp click of external video
  • Add missing mediaType information to AP objects
  • Fix abuse list crash on deleted reporter account
  • Convert markdown to HTML/plain text for RSS feeds
  • Search on tags is now case insensitive
  • Forbid comments/captions listing of private/internal videos
  • Prevent video import on non unicast ips
  • Improve markdown to plain text converter, especially when handling lists
  • Fix scheduled publication on upload
  • Fix youtube-dl max buffer size error
  • Hide remote subscribe if user is logged in
  • Fix video file storage column inconsistency