Maintenance
- Use
yt-dlp
by default instead ofyoutube-dl
for new installations (because of much more dev activity) - Support NodeJS 18
- Improved PeerTube logs:
- Reduce amount of PeerTube error logs
- Introduce
log.log_tracker_unknown_infohash
setting to disable "Unknown infoHash" warnings - Web browsers send their error logs to the server that writes them in its own logs. Can be disabled by
log.accept_client_log
setting
- Introduce experimental support of OpenTelemetry
- Enable metrics export using a Prometheus exporter
- Enable tracing export using a Jaeger exporter
- Automatically rebuild native plugin modules on NodeJS ABI change
Docker
- Add ability to easily use the docker compose stack on localhost
Plugins/Themes/Embed API
- Theme:
- Removed unused
--secondaryColor
CSS variable
- Removed unused
- Add client plugin hooks (https://docs.joinpeertube.org/api-plugins):
filter:api.my-library.video-playlist-elements.list.params
&filter:api.my-library.video-playlist-elements.list.result
#5098action:video-channel-create.init
action:video-channel-update.init
&action:video-channel-update.video-channel.loaded
action:video-channel-videos.init
&action:video-channel-videos.video-channel.loaded
&action:video-channel-videos.videos.loaded
action:video-channel-playlists.init
&action:video-channel-playlists.video-channel.loaded
&action:video-channel-playlists.playlists.loaded
filter:share.video-embed-code.build.params
&filter:share.video-embed-code.build.result
&filter:share.video-playlist-embed-code.build.params
&filter:share.video-playlist-embed-code.build.result
filter:share.video-embed-url.build.params
&filter:share.video-embed-url.build.result
&filter:share.video-playlist-embed-url.build.params
&filter:share.video-playlist-embed-url.build.result
filter:share.video-url.build.params
&filter:share.video-url.build.result
&filter:share.video-playlist-url.build.params
&filter:share.video-playlist-url.build.result
action:modal.share.shown
- Add server plugin hooks (https://docs.joinpeertube.org/api-plugins):
filter:job-queue.process.params
&filter:job-queue.process.result
filter:transcoding.manual.resolutions-to-transcode.result
&filter:transcoding.auto.resolutions-to-transcode.result
action:api.video-channel.created
&action:api.video-channel.updated
&action:api.video-channel.deleted
action:notifier.notification.created
- Add HTML placeholder (https://docs.joinpeertube.org/contribute-plugins?id=html-placeholder-elements):
share-modal-playlist-settings
&share-modal-video-settings
Features
- 🎉 Add ability for users to synchronize a remote channel #5135 🎉
- Automatically import all videos of a remote channel in your PeerTube channel
- PeerTube will watch for new publications and automatically import these new videos
- UI:
- Redesigned Create an account steps
- Improved Login page
- Use a lighter font color
- Use a bigger font size
- Don't display form errors in red while typing but only when we unfocus the input
- Display an error message when the user is unauthorized to view a page #5097
- Display latest upload date for captions
- Add an information if the live will be saved as a replay when displaying live sessions
- Move search bar at the center of the header
- Add Toki Pona and Croatian locales in client
- Embed:
- Display a message and automatically start live streams in embed
- Use the instance name instead of "PeerTube" in embed control bar
- Reuse current watch page query parameters for embed when using OEmbed #5023
- Instance follows:
- Introduce a Rejected state for follow requests to not reprocess already rejected follow requests
- Add bulk actions on instance following/followers ()
- Admins:
- Add ability to disable original resolution transcoding of the uploaded video/live stream
- Add ability to delete a specific video file in videos overview
- Display Last Login column by default in users overview
- Remember last selected columns in users overview
- Add ability to set a custom video import timeout
- Add ability to set the default feed (Atom, RSS...) items count
- Admins and moderators now bypass API rate limits
- Add ability to list comments on local videos in comments overview
- Limit video import resolution depending on enabled VOD transcoding resolutions
- Store and display the uploaded video original filename #4885
- Add Total views in the my channels list #5007
- Add Original Publication Date video sort option #4959
- Performance:
- Optimized view/watching endpoint
- Optimized video feed SQL query
- Process images (resize, convert...) in a dedicated worker thread
- Optimized emoji markup list rendering in client
- Use a worker thread to send ActivityPub Broadcast requests
- Suffix external auth username/channel name on conflict instead of throwing an exception
Bug fixes
- Fix users overview Last login sort in admin
- More robust move to object storage job failure
- Fix comment add avatar with a unauthenticated user
- Fix fetching unlisted video in client
- Fix comments/download enabled attributes when importing a video
- Fix total instance views stats
- Fix HLS player infinite buffering on seek
- Reset table pagination on search
- Host search filter can also search into channels and playlists in global search
- Fix My videos invalid counter
- Prevent error on highlighted thread
- Fix Jobs, Account blocklist and Server blocklist hidden columns on Safari
- Fix live stream max bitrate
- Fix incompatibility with OpenSSL 3
- Don't crash on redis connection error
- Transcoding:
- Fix failed transcoding with a mp3 file that contains a cover image
- Prevent duplicated HLS playlist when running transcoding
- Regenerate video file names when running transcoding manually
- Prevent job failures resulting in broken videos on concurrent transcoding
- Fix transcoding of videos with quad audio channels
- ActivityPub
- Fix random invalid HTTP signature generation
- Use unique AP id for Accept/Reject activities
- Correctly handle remote actors that don't have follow counters
- Correctly handle unknown remote actor image size
- Add years in graph legend when grouping video views stats by month
- Prevent creating multiple lives when clicking multiple times on the "Go Live" button
- Fix *undefined" resolution in player Stats for nerds
- Fix not displayed error message in administrator web config
- More robust S3 upload #5231
- Fix broken saved live stream with only one resolution
- Fix
removeEventListener
player embed api - Progressively cleanup actor images without width from the database
- Fix broken dates on localized pages
- Prevent job queue to be started before plugins
- Fix old database enum names
- Don't display remove file icon in admin videos overviews if we can't delete the file