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
- Add client plugin hooks
filter:login.instance-about-plugin-panels.create.result
andfilter: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 objectaction:api.video-caption.created
andaction: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 getffprobe
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 ofp2pEnabled
for user model - Add ability to pause/resume the job queue
- Deprecate
- 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