Releases: Chocobozzz/PeerTube
Releases · Chocobozzz/PeerTube
v3.0.0
Since v2.4.0
IMPORTANT NOTES
- Update the default configuration to not federate unlisted videos. We recommend to admins to update this setting
- Update the default configuration to remove remote video views to reduce DB size and improve performances. We recommend to admins to update this setting
- Remove deprecated video abuse API
Maintenance
- Refresh nginx configuration #3313
Docker
- Replace traefik by nginx in our docker-compose template:
- Better consistency with our default setup (we now use the same stack)
- Use our default nginx template enabling many optimizations
- Update the documentation to take into account this change: https://docs.joinpeertube.org/install-docker
Plugins/Themes/Embed API
- Add ability for auth plugins to redirect user on logout #32 & #33
- Add
input-password
setting to plugins #3375 - Add server plugin hooks (https://docs.joinpeertube.org/api-plugins):
filter:api.accounts.videos.list.params
filter:api.accounts.videos.list.result
filter:api.video-channels.videos.list.params
filter:api.video-channels.videos.list.result
- Authenticate the user if possible in plugin router #3400
Features
- 🎉 🎉 🎉 Support live streaming 🎉 🎉 🎉 #3250
- Create a live video using the PeerTube interface and start streaming using your favorite streaming software (OBS, ffmpeg...)
- If the admin allows it, add ability for users to save a replay of their live
- Support live transcoding in multiple resolutions
- Admins can set a limit of created lives per user/instance and a duration limit
- This is the first step of live streaming, we'll consolidate the feature next year
- Support Galician locale
- Update left menu #3296
- Add My settings, My library, Administration (if admin) below the username
- Rename section titles to In my account, and On instance name for better block scopes identification
- Removed confusing Account settings and Channel settings from user dropdown
- Add My notifications in user dropdown
- Split account horizontal menu in two #3296
- My library containing Channels, Videos, Imports, Ownership changes, Playlists, Subscriptions and History
- My settings containing Account settings, Notifications and Moderation tools
- Add page in admin to manage video comments of the instance
- List latest comments
- Delete comments of a specific user
- Delete comments in bulk
- Delete notifications related to muted accounts/instances
- Add ability for moderators to display all videos (not yet published, private...) in channels/accounts pages
- Support GIF avatars upload and federation #3329
- Automatically enable auto block of new videos if the admin enables signups in the admin interface
- Allow private syndication feed of videos from subscriptions #3074
- Improve default account and channel avatars #3326
- Accessibility/UI:
- More explicit error messages for file uploads #3347
- Allow to retry a failed video upload #3347
- Improve jobs and logs view #3127
- Use badges for NSFW and Unfederated labels in video block list table
- Improved video rating popover text if the user is not logged-in #3168
- Improve markdown-it emoji list column display #3253
- Add help popup for choosing a licence #3306
- Change Upload button to Publish
- More player download/upload title details #3394
- Create a dedicated transcoding tab in admin config
- Improve 404 page
- Improve login form #3357
- Add a title attribute on views element to see the view counter #3365
- Clearer titles for periods in recently added and videos from subscriptions pages
- Select first available channel when accepting ownership change #3382
- Hide channel registration step if default quota is 0 #3393
- Add possibility to share origin URL to video if it's not local #3201
- Render markdown in email notifications for new comments #3255
- Add an admin setting to force ipv4 in youtube-dl #3311
- Add ability for admins to put markdown in all fields of About page #3371
- Support
activeMonth
andactiveHalfyear
in nodeinfo
Bug fixes
- Fix inability to delete a channel due to a bug in the confirm modal
- Fix views processing for hour 0
- Fix ownership change modal accept button
- Fix incorrect ActivityPub IDs
- Do not transcode videos to an higher bitrate than the source
- Fix video display of muted accounts on overview page
- Fix transcoding errors in readonly docker containers #3198
- Fix running another transcoding job using the CLI on a video that was already transcoded
- Fix embed on Brave web browser
- Fix break line display for re-draft comments #3261
- Fix hidden loading bar
- Fix jobs pagination
- Fix missing player localized strings
- Fix instance file size stats when the admin enabled HLS
- Fix embed of HLS videos on non HTTPS websites
- Hide embed dock when title/description are disabled
- Fix follow notification when the follower has been deleted
- Fix client override endpoint in nginx configuration #3297
- Fix overflow of some dropdowns
- Fix infinite scrollin in channel's playlists page
- Fix anchors scrolling in About page
- Fix canonical URLs of videos and playlists #3406
- Fix CLI import script when importing Youtube channels
- Fix video tag min length validator
- Fix user notification preferences column width #3352
- Fix forgotten/reset password UI #3351
- Fix 00:00 player timecode in video description and comments
- Avoid too large federation cert error messages in logs
- Fix registration form width on mobile #3274
- Fix "Too many packets buffered for output stream" ffmpeg error with some videos
- Fix 500 error when fetching unknown video thread
- Fix infinite scroll in Local videos page when enabling the Display all videos checkbox on big screens
- Fix menu theme colors #3376
- Fix playlist list
name
/displayName
sort field #3385 - Fix 401 error display in embeds
- Do not crash if SMTP server is down, instead log an error #3457
- Fix redundancy federation in specific cases
- Stop CLI auth failure with extra
/
#3520 - Add missing audit log if the user deletes its account
- Don't crash on youtube-dl update write error
- Fix video auto block notification issue
Since v3.0.0-rc.1
Features
- Support Galician locale
- Support
activeMonth
andactiveHalfyear
in nodeinfo
Bug fixes
- Fix views processing for hour 0
- Fix follows pages (in admin and about)
- Don't display live max duration if disabled by admin
- Correctly display live badge in videos list
- Fix redundancy federation in specific cases
- Fix live miniatures
- Don't update player timestamp when clicking on a timecode in comments/descriptions for a live
- Fix admin table filters
- Fix some accessibility issues
- Stop CLI auth failure with extra
/
#3520 - Fix login error display
- Don't display log level in audit logs view
- Add missing audit log if the user deletes its account
- Don't crash on youtube-dl update write error
- Fix video auto block notification issue
v3.0.0-rc.1
IMPORTANT NOTES
- Update the default configuration to not federate unlisted videos. We recommend to admins to update this setting
- Update the default configuration to remove remote video views to reduce DB size and improve performances. We recommend to admins to update this setting
- Remove deprecated video abuse API
Maintenance
- Refresh nginx configuration #3313
Docker
- Add nginx behind traefik to benefit nginx optimizations of some PeerTube routes #2531
Plugins/Themes/Embed API
- Add ability for auth plugins to redirect user on logout #32 & #33
- Add
input-password
setting to plugins #3375 - Add server plugin hooks (https://docs.joinpeertube.org/#/api-plugins):
filter:api.accounts.videos.list.params
filter:api.accounts.videos.list.result
filter:api.video-channels.videos.list.params
filter:api.video-channels.videos.list.result
- Authenticate the user if possible in plugin router #3400
Features
- 🎉 🎉 🎉 Support live streaming 🎉 🎉 🎉 #3250
- Create a live video using the PeerTube interface and start streaming using your favorite streaming software (OBS, ffmpeg...)
- If the admin allows it, add ability for users to save a replay of their live
- Support live transcoding in multiple resolutions
- Admins can set a limit of created lives per user/instance and a duration limit
- This is the first step of live streaming, we'll consolidate the feature next year
- Update left menu #3296
- Add My settings, My library, Administration (if admin) below the username
- Rename section titles to In my account, and On instance name for better block scopes identification
- Removed confusing Account settings and Channel settings from user dropdown
- Add My notifications in user dropdown
- Split account horizontal menu in two #3296
- My library containing Channels, Videos, Imports, Ownership changes, Playlists, Subscriptions and History
- My settings containing Account settings, Notifications and Moderation tools
- Add page in admin to manage video comments of the instance
- List latest comments
- Delete comments of a specific user
- Delete comments in bulk
- Delete notifications related to muted accounts/instances
- Add ability for moderators to display all videos (not yet published, private...) in channels/accounts pages
- Support GIF avatars upload and federation #3329
- Automatically enable auto block of new videos if the admin enables signups in the admin interface
- Allow private syndication feed of videos from subscriptions #3074
- Improve default account and channel avatars #3326
- Accessibility/UI:
- More explicit error messages for file uploads #3347
- Allow to retry a failed video upload #3347
- Improve jobs and logs view #3127
- Use badges for NSFW and Unfederated labels in video block list table
- Improved video rating popover text if the user is not logged-in #3168
- Improve markdown-it emoji list column display #3253
- Add help popup for choosing a licence #3306
- Change Upload button to Publish
- More player download/upload title details #3394
- Create a dedicated transcoding tab in admin config
- Improve 404 page
- Improve login form #3357
- Add a title attribute on views element to see the view counter #3365
- Clearer titles for periods in recently added and videos from subscriptions pages
- Select first available channel when accepting ownership change #3382
- Hide channel registration step if default quota is 0 #3393
- Add possibility to share origin URL to video if it's not local #3201
- Render markdown in email notifications for new comments #3255
- Add an admin setting to force ipv4 in youtube-dl #3311
- Add ability for admins to put markdown in all fields of About page #3371
Bug fixes
- Fix inability to delete a channel due to a bug in the confirm modal
- Fix ownership change modal accept button
- Fix incorrect ActivityPub IDs
- Do not transcode videos to an higher bitrate than the source
- Fix video display of muted accounts on overview page
- Fix transcoding errors in readonly docker containers #3198
- Fix running another transcoding job using the CLI on a video that was already transcoded
- Fix embed on Brave web browser
- Fix break line display for re-draft comments #3261
- Fix hidden loading bar
- Fix jobs pagination
- Fix missing player localized strings
- Fix instance file size stats when the admin enabled HLS
- Fix embed of HLS videos on non HTTPS websites
- Hide embed dock when title/description are disabled
- Fix follow notification when the follower has been deleted
- Fix client override endpoint in nginx configuration #3297
- Fix overflow of some dropdowns
- Fix infinite scrollin in channel's playlists page
- Fix anchors scrolling in About page
- Fix canonical URLs of videos and playlists #3406
- Fix CLI import script when importing Youtube channels
- Fix video tag min length validator
- Fix user notification preferences column width #3352
- Fix forgotten/reset password UI #3351
- Fix 00:00 player timecode in video description and comments
- Avoid too large federation cert error messages in logs
- Fix registration form width on mobile #3274
- Fix "Too many packets buffered for output stream" ffmpeg error with some videos
- Fix 500 error when fetching unknown video thread
- Fix infinite scroll in Local videos page when enabling the Display all videos checkbox on big screens
- Fix menu theme colors #3376
- Fix playlist list
name
/displayName
sort field #3385 - Fix 401 error display in embeds
- Do not crash if SMTP server is down, instead log an error #3457
v2.4.0
Since v2.3.0
IMPORTANT NOTES
- The minimum ffmpeg version required is now 4.1
- Deprecate static routes that will be removed in 3.0 (you may not have to do anything if you used paths returned by the video REST API):
/static/avatars/
: use/lazy-static/avatars/
instead/static/previews/
: use/lazy-static/previews/
instead/static/video-captions/
: use/lazy-static/video-captions/
instead
- Use
playlistPosition
URL parameter for playlists instead ofvideoId
to set the current playlist position
Maintenance
- Better error message on PostgreSQL connection error
- Add
ssl
option support for PostgreSQL connection
Official PeerTube plugins
Plugins/Themes/Embed API
- Add embed API (https://docs.joinpeertube.org/#/api-embed-player):
playNextVideo
methodplayPreviousVideo
methodgetCurrentPosition
method
- Embed URL parameters
- Add ability to disable PeerTube link in embed using an URL param (
peertubeLink=0
)
- Add ability to disable PeerTube link in embed using an URL param (
- Add plugins support in embed
- Add client plugin hooks (https://docs.joinpeertube.org/#/api-plugins):
action:embed.player.loaded
(for embed)
- Add custom fields in video update/upload form using
registerVideoField
(https://docs.joinpeertube.org/#/contribute-plugins?id=add-custom-fields-to-video-form)
Features
- Moderation:
- 🎉 Add ability to report comments and accounts
- 🎉 Add messaging system between local reporter of an abuse and moderators so they can easily communicate
- 🎉 Users can now see their abuse reports, and have notifications when an abuse state changed (accepted/rejected) or when moderators added a new message
- Add embed to block list details @rigelk in #2926
- Video playlists:
- 🎉 Add ability to embed playlists
- 🎉 Add ability to put a video multiple times in a playlist (with different startAt/stopAt parameters or not)
- Video comments:
- Add uni-code emojis native display in comments @Kimsible in #3046
- Add delete and re-draft action on a comment that doesn't have replies @Kimsible in #3046
- Hide deleted comments when there aren't replies @Kimsible in #3046
- Accessibility/UI:
- Disable vertical scroll instead of hide on desktop browsers @Kimsible in #2962
- Update my-account sub-menus icons @Kimsible in #2977
- Improve navigation sub-menu and tabs effects @Kimsible in #2971
- Hide generic channel display name and avatar on watch view @Kimsible in #2988
- Display user quota progress bars above upload form @Kimsible in #2981
- Improve mobile accessibility by moving table action cells on the left @Kimsible in #2980
- Directly display download button in watch page on logged-out users @rigelk in #2919
- Improve users list table display in admin (add badge, progress bar) @rigelk in #2991
- Add dynamic column display for users list table in admin @rigelk in #2991
- Add anchor links to about/instance @Kimsible in #3064
- Improve select components @rigelk in #3035
- Add content overlay for opened menu on touchscreens @Kimsible in #3088
- Add alert and hide upload view when no upload is possible @Kimsible in #2966
- Allow sorting notifications by unread/newest @rigelk
- Add open-graph and twitter-card metas for accounts, video-channels and playlists urls @Kimsible in #2996
- Add channel name to create-user admin form @Kimsible in #2984
- Support Kabile for video languages/captions
- Translate page titles
- Add
.ac3
,.aac
,.qt
,.mqv
,.3gpp
,.3gpp2
,.m1v
,.mpg
,.mpe
,.vob
extensions support on upload if transcoding is enabled @rigelk - Performance:
- Improved front-end performance by reducing localized bundle sizes (~ 2MB instead of 3MB for the homepage)
- Optimize comments RSS feed SQL query
- Optimize default sort SQL query when listing videos
Bug fixes
- Handle webp images from youtube-dl
- Fix embed p2p warning localization
- iOS fixes:
- Fix HLS only videos playback
- Fix fullscreen
- Fix iPad desktop mode playback
- Try to fix autoplay with iOS/Safari
- Fix anonymous user theme
- Fix player hotkeys after mouse interaction
- Fix resolution transcoding for portrait videos
- Do not display videojs poster when video is starting to avoid blinking effect @Kimsible in #3056
- Correctly scroll to anchors in my-settings @Kimsible in #3032
- Forbid reset password links reuse
- Fix low default resolution on webtorrent videos
- Fix instance features table responsive in about page @test2a in #3090
- Fix playlist element deletion/edition in my account
- Fix video playlist playback resuming
- Correctly display error message for Internet Explorer
- Fix videos RSS feed when HLS only is enabled
- Add site_name to opengraph tags
Since v2.4.0-rc.1
Bug fixes
- Add site_name to opengraph tags
- Fix privacy/channel select on upload
v2.4.0-rc.1
IMPORTANT NOTES
- The minimum ffmpeg version required is now 4.1
- Deprecate static routes that will be removed in 3.0 (you may not have to do anything if you used paths returned by the video REST API):
/static/avatars/
: use/lazy-static/avatars/
instead/static/previews/
: use/lazy-static/previews/
instead/static/video-captions/
: use/lazy-static/video-captions/
instead
- Use
playlistPosition
URL parameter for playlists instead ofvideoId
to set the current playlist position
Maintenance
- Better error message on PostgreSQL connection error
- Add
ssl
option support for PostgreSQL connection
Official PeerTube plugins
Plugins/Themes/Embed API
- Add embed API (https://docs.joinpeertube.org/#/api-embed-player):
playNextVideo
methodplayPreviousVideo
methodgetCurrentPosition
method
- Embed URL parameters
- Add ability to disable PeerTube link in embed using an URL param (
peertubeLink=0
)
- Add ability to disable PeerTube link in embed using an URL param (
- Add plugins support in embed
- Add client plugin hooks (https://docs.joinpeertube.org/#/api-plugins):
action:embed.player.loaded
(for embed)
- Add custom fields in video update/upload form using
registerVideoField
(https://docs.joinpeertube.org/#/contribute-plugins?id=add-custom-fields-to-video-form)
Features
- Moderation:
- 🎉 Add ability to report comments and accounts
- 🎉 Add messaging system between local reporter of an abuse and moderators so they can easily communicate
- 🎉 Users can now see their abuse reports, and have notifications when an abuse state changed (accepted/rejected) or when moderators added a new message
- Add embed to block list details @rigelk in #2926
- Video playlists:
- 🎉 Add ability to embed playlists
- 🎉 Add ability to put a video multiple times in a playlist (with different startAt/stopAt parameters or not)
- Video comments:
- Add uni-code emojis native display in comments @Kimsible in #3046
- Add delete and re-draft action on a comment that doesn't have replies @Kimsible in #3046
- Hide deleted comments when there aren't replies @Kimsible in #3046
- Accessibility/UI:
- Disable vertical scroll instead of hide on desktop browsers @Kimsible in #2962
- Update my-account sub-menus icons @Kimsible in #2977
- Improve navigation sub-menu and tabs effects @Kimsible in #2971
- Hide generic channel display name and avatar on watch view @Kimsible in #2988
- Display user quota progress bars above upload form @Kimsible in #2981
- Improve mobile accessibility by moving table action cells on the left @Kimsible in #2980
- Directly display download button in watch page on logged-out users @rigelk in #2919
- Improve users list table display in admin (add badge, progress bar) @rigelk in #2991
- Add dynamic column display for users list table in admin @rigelk in #2991
- Add anchor links to about/instance @Kimsible in #3064
- Improve select components @rigelk in #3035
- Add content overlay for opened menu on touchscreens @Kimsible in #3088
- Add alert and hide upload view when no upload is possible @Kimsible in #2966
- Allow sorting notifications by unread/newest @rigelk
- Add open-graph and twitter-card metas for accounts, video-channels and playlists urls @Kimsible in #2996
- Add channel name to create-user admin form @Kimsible in #2984
- Support Kabile for video languages/captions
- Translate page titles
- Add
.ac3
,.aac
,.qt
,.mqv
,.3gpp
,.3gpp2
,.m1v
,.mpg
,.mpe
,.vob
extensions support on upload if transcoding is enabled @rigelk - Performance:
- Improved front-end performance by reducing localized bundle sizes (~ 2MB instead of 3MB for the homepage)
- Optimize comments RSS feed SQL query
- Optimize default sort SQL query when listing videos
Bug fixes
- Handle webp images from youtube-dl
- Fix embed p2p warning localization
- iOS fixes:
- Fix HLS only videos playback
- Fix fullscreen
- Fix iPad desktop mode playback
- Try to fix autoplay with iOS/Safari
- Fix anonymous user theme
- Fix player hotkeys after mouse interaction
- Fix resolution transcoding for portrait videos
- Do not display videojs poster when video is starting to avoid blinking effect @Kimsible in #3056
- Correctly scroll to anchors in my-settings @Kimsible in #3032
- Forbid reset password links reuse
- Fix low default resolution on webtorrent videos
- Fix instance features table responsive in about page @test2a in #3090
- Fix playlist element deletion/edition in my account
- Fix video playlist playback resuming
- Correctly display error message for Internet Explorer
- Fix videos RSS feed when HLS only is enabled
v2.3.0
Since v2.2.0
IMPORTANT NOTES
- Add
client_overrides
directory in configuration file. You must configure it in your production.yaml - Deprecate
/videos/abuse
endpoint.
A new endpoint to report videos will be created in PeerTube 2.4 and will also allow to report accounts and comments (/videos/abuse
will be removed in 3.0) - Renamed videos blacklist feature to videos blocks/blocklist
Documentation
- Add feeds routes to the openapi spec @rigelk
- Add notifications routes to the openapi spec @rigelk
- Add redundancy routes to the openapi spec @rigelk
- Add plugins routes to the openapi spec @rigelk
- Add examples, descriptions and missing filters for abuses routes in the openapi spec @rigelk
- Update CentOS insutructions in dependencies.md @cgarwood82 in 2904
Maintenance
- Switched image processing library from native dependency
sharp
to pure JS implementationjimp
. Admins don't have to compilesharp
anymore andjimp
is lighter - Provide specific engine boundaries for NodeJS and Yarn @rigelk in 0c4bacb
- Add ability to set
database.name
config option @gramakri in #2898
Docker
- Fix
POSTGRES
env variables in docker-compose (@kimsible in #2538) - Fix OpenDKIM permissions in docker-compose setup @kimsible in #2868
Official PeerTube plugins
Plugins/Themes/Embed API
- Add ability to override client assets: logo - favicon - PWA icons - PWA manifest name and description @kimsible in #2897
Features
- 🎉 Add global search support (has to be explicitely enabled by admins)
- 🎉 Add ability for admins to display a banner on their instance
- 🎉 Support Vietnamese and Kabyle languages. Also re-establish Occitan language locale despite lack of support in Angular
- Federation:
- Make federation of unlisted videos an instance-level server preference @Tak in #2802
- Sort ActivityPub video object files by resolution in descending order (fix issue with Pleroma)
- Send complete video description in ActivityPub video objects
- Moderation:
- Add ability to bulk delete comments of an account
- Add ability to mute accounts from video miniature
- Improve report modal: @rigelk in #2842
- Add ability to provide predefined reasons
- Embed of the video in the modal
- Add ability to set a startAt parameter
- Accessibility:
- Add lang attribute in languages list menu @Pandoraaa in #2832
- Add aria-hidden to non-descriptive icons @Pandoraaa in #2844
- Change focus color instead of opacity of video play button @Pandoraaa in #2845
- Add explicit step and aria-current attribute in register form @Pandoraaa in #2861
- Add scope tags and aria-labels in instance features table @Pandoraaa in #2866
- Add keyboard navigation in video watch page buttons @Pandoraaa in #2854 with @rigelk
- Replaced softies icons by feather icons @rigelk
- Support player hotkeys when it is not focused
- Improve video miniature grids to fill the space as much as possible @rigelk
- Add video miniature dropdown in Discover page
- Add channel information in My videos page
- Add videos count per channel in My channels page
- Improve channel deletion warning by explaining how many videos will be deleted
- Simplify navigation within most admin menus @rigelk
- Tracker:
- Log IP requesting unknown infoHash @JohnXLivingston in
212e17a - Block IP of infohash spammers db48de8
- Log IP requesting unknown infoHash @JohnXLivingston in
- Allow limiting video-comments rss feeds to an account or video channel @rigelk in 00494d6
Bug fixes
- Fix default anonymous theme that should use instance default
- Fix configuration form issue when auto follow index URL is empty
- Fix URL import of some videos
- Fix quota representation in profile settings @rigelk
- Exclude 0p from auto webtorrent quality
- Fix scroll on some pages with hash in URL
- Fix search filter in video reports
- Fix anonymous user nsfw policy
- Don't cache embed HTML page resulting in broken embed after a PeerTube upgrade
- Accessibility:
- Add lang in document to match current locale @rigelk in #2822
- Prevent duplicate id attributes for
.svg
@rigelk in #2822 - Fix headings order or add missing ones @Pandoraaa in #2871
- Remove uneccessary details to link titles @Pandoraaa in #2879
- Fix accessibility action buttons and display on imports and followers list @kimsible in #2986
- Fix iOS player with HLS-only videos
- Fix action buttons selection mode styles @kimsible in #2983
Since v2.3.0-rc.1
Bug fixes
- Fix broken locales
- Fix embed URL in share modal
- Handle webp images from youtube-dl
- Fix iOS player with HLS-only videos
- Fix popup issues on video miniature click when searching on the global index
- Fix username in password-reset email @kimsible in #2960
- Fix maximized icon padding in markdown textarea @kimsible in #2963
- Fix action buttons selection mode styles @kimsible in #2983
- Fix user creation in admin @kimsible in #2985
- Fix accessibility action buttons and display on imports and followers list @kimsible in #2986
v2.3.0-rc.1
IMPORTANT NOTES
- Deprecate
/videos/abuse
endpoint.
A new endpoint to report videos will be created in PeerTube 2.4 and will also allow to report accounts and comments (/videos/abuse
will be removed in 3.0) - Renamed videos blacklist feature to videos blocks/blocklist
Documentation
- Add feeds routes to the openapi spec @rigelk
- Add notifications routes to the openapi spec @rigelk
- Add redundancy routes to the openapi spec @rigelk
- Add plugins routes to the openapi spec @rigelk
- Add examples, descriptions and missing filters for abuses routes in the openapi spec @rigelk
- Update CentOS insutructions in dependencies.md @cgarwood82 in 2904
Maintenance
- Switched image processing library from native dependency
sharp
to pure JS implementationjimp
. Admins don't have to compilesharp
anymore andjimp
is lighter - Provide specific engine boundaries for NodeJS and Yarn @rigelk in 0c4bacb
- Add ability to set
database.name
config option @gramakri in #2898
Docker
- Fix
POSTGRES
env variables in docker-compose (@kimsible in #2538) - Fix OpenDKIM permissions in docker-compose setup @kimsible in #2868
Official PeerTube plugins
Features
- 🎉 Add global search support (has to be explicitely enabled by admins)
- 🎉 Add ability for admins to display a banner on their instance
- 🎉 Support Vietnamese and Kabyle languages. Also re-establish Occitan language locale despite lack of support in Angular
- Federation:
- Make federation of unlisted videos an instance-level server preference @Tak in #2802
- Sort ActivityPub video object files by resolution in descending order (fix issue with Pleroma)
- Send complete video description in ActivityPub video objects
- Moderation:
- Add ability to bulk delete comments of an account
- Add ability to mute accounts from video miniature
- Improve report modal: @rigelk in #2842
- Add ability to provide predefined reasons
- Embed of the video in the modal
- Add ability to set a startAt parameter
- Accessibility:
- Add lang attribute in languages list menu @Pandoraaa in #2832
- Add aria-hidden to non-descriptive icons @Pandoraaa in #2844
- Change focus color instead of opacity of video play button @Pandoraaa in #2845
- Add explicit step and aria-current attribute in register form @Pandoraaa in #2861
- Add scope tags and aria-labels in instance features table @Pandoraaa in #2866
- Add keyboard navigation in video watch page buttons @Pandoraaa in #2854 with @rigelk
- Replaced softies icons by feather icons @rigelk
- Support player hotkeys when it is not focused
- Improve video miniature grids to fill the space as much as possible @rigelk
- Add video miniature dropdown in Discover page
- Add channel information in My videos page
- Add videos count per channel in My channels page
- Improve channel deletion warning by explaining how many videos will be deleted
- Simplify navigation within most admin menus @rigelk
- Tracker:
- Log IP requesting unknown infoHash @JohnXLivingston in
212e17a - Block IP of infohash spammers db48de8
- Log IP requesting unknown infoHash @JohnXLivingston in
- Allow limiting video-comments rss feeds to an account or video channel @rigelk in 00494d6
Bug fixes
- Fix default anonymous theme that should use instance default
- Fix configuration form issue when auto follow index URL is empty
- Fix URL import of some videos
- Fix quota representation in profile settings @rigelk
- Exclude 0p from auto webtorrent quality
- Fix scroll on some pages with hash in URL
- Fix search filter in video reports
- Fix anonymous user nsfw policy
- Don't cache embed HTML page resulting in broken embed after a PeerTube upgrade
- Accessibility:
- Add lang in document to match current locale @rigelk in #2822
- Prevent duplicate id attributes for
.svg
@rigelk in #2822 - Fix headings order or add missing ones @Pandoraaa in #2871
- Remove uneccessary details to link titles @Pandoraaa in #2879
v2.2.0
Since v2.1.0
IMPORTANT NOTES
- /!\ VERY IMPORTANT /!\ We added a unique index on actors usernames to fix some federation bugs.
Please check now if you have conflicts:- Go inside your database using
sudo -u postgres psql peertube_prod
and runselect "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) > 1;
- If you have some results, it seems you have duplicate channels/accounts.
For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique).
The updated actors could have some federations issues
- Go inside your database using
- Changed
auto_follow_index
setting configuration: you now have to use the complete URL inindex_url
.
If you used the default one, you now need to usehttps://instances.joinpeertube.org/api/v1/instances/hosts
.
This way, you can also use a direct raw URL (Gitlab, Github, pastebin, etc.) using a simple text format and easily maintain small communities or instance recommendation lists. - PeerTube requires NodeJS v10 or v12
CLI tools
- Add redundancy CLI: https://docs.joinpeertube.org/#/maintain-tools?id=peertube-redundancyjs
- Add ability to pass remaining options to youtube-dl binary in peertube-import script (@drzraf)
Docker
- Important Fix HLS storage configuration (@xcffl): https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/production.yaml#L48
- Add DKIM support to Docker (@kimsible)
Maintenance
- Add nginx configuration to redirect videos to an S3 bucket (@rigelk) and update of the corresponding documentation.
Plugins/Themes/Embed API
- Add embed API (https://docs.joinpeertube.org/#/api-embed-player):
playbackState
can beended
playbackStatusUpdate
has aduration
fieldsetCaption
andgetCaptions
methods
- Add client plugin hooks (https://docs.joinpeertube.org/#/api-plugins):
action:login.init
action:video-watch.video-threads.loaded
action:video-watch.video-thread-replies.loaded
(@ipbc-dev)
- Add server plugin hooks (https://docs.joinpeertube.org/#/api-plugins):
filter:api.video.pre-import-url.accept.result
filter:api.video.pre-import-torrent.accept.result
filter:api.video.post-import-url.accept.result
filter:api.video.post-import-torrent.accept.result
- Add server helpers:
database.query
to do SQL queriesvideos.removeVideo
config.getWebserverUrl
moderation.blockServer
,moderation.unblockServer
,moderation.blockAccount
,moderation.unblockAccount
,moderation.blacklistVideo
,moderation.unblacklistVideo
- Add client helpers:
- Add ability for plugins to define custom routes
- Add ability for plugins to remove video/playlist privacies
- Add ability for plugins to support additional auth methods
- Add
onSettingsChange
support
Official PeerTube plugins
Features
- 🎉 Add HTML support in PeerTube emails, improve text-only version (@rigelk)
- 🎉 Add settings panel for anonymous users so they can change NSFW/P2P/autoplay/displayed videos policy (@rigelk)
- 🎉 Improve redundancy management:
- Add quick action on video miniature to mirror a specific video using the web interface
- Add admin dashboard to list remote and local redundancies
- Add ability for admins to define remote redundancies policy (accept/reject)
- 🎉 Many responsive & UI improvements:
- Add maximized mode to markdown textarea (@kimsible)
- Detect and prevent sub menu overflow on small screens using a dropdown or a modal (@rigelk)
- Use a typeahead component for the search bar (@rigelk)
- Use a modal instead of a dropdown menu in small/mobile views (@kimsible)
- Improve display of accounts and channel pages on small and medium screens (@rigelk)
- Improve forms layout (@rigelk)
- Replace helpers icons with descriptions in admin configuration (@rigelk)
- Improve tables on mobile devices to prevent layout breakage (@kimsible)
- Fix multiple broken views on small screens (@kimsible)
- Make video add tabs scrollable on small devices (@kimsible)
- Better use of space and icons in the plugin administration interface (@rigelk)
- Restyle toast notifications to tone down colors (@rigelk)
- Add/move links at the bottom of the left menu (@rigelk)
- Improve avatar upload UI (@rigelk)
- Use progress bars for quota used in my account (@rigelk)
- Add variable pagination size to all tables (@rigelk)
- Add empty states to all tables (@rigelk)
- Add generic text filter to all admin tables (@rigelk)
- Fix
z-index
for tooltips, modals and their button to prevent overlaps (@rigelk) - And many others!
- 🎉 Improve video abuses admin table (@rigelk):
- Add in-text specific search filters
- Reports can be linked to directly
- Rich reporter field
- Add video thumbnail with abuse count for the video and position of the abuse in that list
- Expand row to see more information about the video, the reporter and the reportee
- Add many actions (on the video, on the reporter)
- Don't remove a report when a video is deleted
- Add information on a video abuse within its notification email (@rigelk)
- Add ability for video owners to delete comments
- Add filter inputs for blacklisted videos and muted accounts/servers (@rigelk)
- Video import improvements:
- Support WMA and WAV audio files upload
- Support drag and drop for video upload/torrent import (@rigelk)
- Add video file metadata to download modal (@rigelk)
- Add views stats for channels (@rigelk)
- Add more information about the user in the edit form (@rigelk)
- Server optimizations:
- Add cache for some immutable models
- Don't refresh videos when processing a view
- Optimize view endpoint
- Completely rewritten SQL query to list videos
- Optimize SQL request when broadcasting an activity
- Support infinite scrolling in the discover page
- Add ability for admins to create a user without a password. PeerTube will send a reset password link to the user (@JohnXLivingston)
- Improve embed title background opacity
- Add origin instance URL in watch page
- Clearer description of advanced search options
- Always copy full actor handle in video channels view (@rigelk)
- Add
sendmail
support (@immae) tosmtp
configuration - Support
rel="me"
links in markdown - Use
originallyPublishedAt
from body on import if it exists - Sort outbox by DESC createdAt order
- Increase video comment max length limit
Bug fixes
- Update default user theme to
instance-default
(Jorge Silva) - Fix user dropdown menu with long texts (@rigelk)
- Fix load more comments on infinite scroll (@ipbc-dev)
- Fix CSP issue on WebFinger service (@ZanyMonk)
- Fix federation with Pleroma
- Fix Safari and iOS video play
- Fix broken HLS player on old Edge
- Fix running HLS transcoding on existing HLS video
- Fix user role edition
- Fix video duration display
- Fix error when adding a video in a playlist that does not have a thumbnail
- Fix internal video display in playlists
- Fix add comment in threads with deleted comments
- Fix video codec in HLS playlist resulting in a broken video
- Fix torrent import on Windows
- Respect browser autoplay policy: don't autoplay videos in mute mode
- Fix playlist videos autoplay/next play (@rigelk)
- Fix admin table column invalid sort error
- Fix outbox crawli...
v2.2.0-rc.1
IMPORTANT NOTES
- /!\ VERY IMPORTANT /!\ We added a unique index on actors usernames to fix some federation bugs.
Please check now if you have conflicts:- Go inside your database using
sudo -u postgres psql peertube_prod
and runselect "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) > 1;
- If you have some results, it seems you have duplicate channels/accounts.
For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique).
The updated actors could have some federations issues
- Go inside your database using
- Changed
auto_follow_index
setting configuration: you now have to use the complete URL inindex_url
.
If you used the default one, you now need to usehttps://instances.joinpeertube.org/api/v1/instances/hosts
.
This way, you can also use a direct raw URL (Gitlab, Github, pastebin, etc.) using a simple text format and easily maintain small communities or instance recommendation lists. - PeerTube requires NodeJS v10 or v12
CLI tools
- Add redundancy CLI: https://docs.joinpeertube.org/#/maintain-tools?id=peertube-redundancyjs
- Add ability to pass remaining options to youtube-dl binary in peertube-import script (@drzraf)
Docker
- Important Fix HLS storage configuration (@xcffl): https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/production.yaml#L48
- Add DKIM support to Docker (@kimsible)
Maintenance
- Add nginx configuration to redirect videos to an S3 bucket (@rigelk) and update of the corresponding documentation.
Plugins/Themes/Embed API
- Add embed API (https://docs.joinpeertube.org/#/api-embed-player):
playbackState
can beended
playbackStatusUpdate
has aduration
fieldsetCaption
andgetCaptions
methods
- Add client plugin hooks (https://docs.joinpeertube.org/#/api-plugins):
action:login.init
action:video-watch.video-threads.loaded
action:video-watch.video-thread-replies.loaded
(@ipbc-dev)
- Add server plugin hooks (https://docs.joinpeertube.org/#/api-plugins):
filter:api.video.pre-import-url.accept.result
filter:api.video.pre-import-torrent.accept.result
filter:api.video.post-import-url.accept.result
filter:api.video.post-import-torrent.accept.result
- Add server helpers:
database.query
to do SQL queriesvideos.removeVideo
config.getWebserverUrl
moderation.blockServer
,moderation.unblockServer
,moderation.blockAccount
,moderation.unblockAccount
,moderation.blacklistVideo
,moderation.unblacklistVideo
- Add client helpers:
- Add ability for plugins to define custom routes
- Add ability for plugins to remove video/playlist privacies
- Add ability for plugins to support additional auth methods
- Add
onSettingsChange
support
Official PeerTube plugins
Features
- 🎉 Add HTML support in PeerTube emails, improve text-only version (@rigelk)
- 🎉 Add settings panel for anonymous users so they can change NSFW/P2P/autoplay/displayed videos policy (@rigelk)
- 🎉 Improve redundancy management:
- Add quick action on video miniature to mirror a specific video using the web interface
- Add admin dashboard to list remote and local redundancies
- Add ability for admins to define remote redundancies policy (accept/reject)
- 🎉 Many responsive & UI improvements:
- Add maximized mode to markdown textarea (@kimsible)
- Detect and prevent sub menu overflow on small screens using a dropdown or a modal (@rigelk)
- Use a typeahead component for the search bar (@rigelk)
- Use a modal instead of a dropdown menu in small/mobile views (@kimsible)
- Improve display of accounts and channel pages on small and medium screens (@rigelk)
- Improve forms layout (@rigelk)
- Replace helpers icons with descriptions in admin configuration (@rigelk)
- Improve tables on mobile devices to prevent layout breakage (@kimsible)
- Fix multiple broken views on small screens (@kimsible)
- Make video add tabs scrollable on small devices (@kimsible)
- Better use of space and icons in the plugin administration interface (@rigelk)
- Restyle toast notifications to tone down colors (@rigelk)
- Add/move links at the bottom of the left menu (@rigelk)
- Improve avatar upload UI (@rigelk)
- Use progress bars for quota used in my account (@rigelk)
- Add variable pagination size to all tables (@rigelk)
- Add empty states to all tables (@rigelk)
- Add generic text filter to all admin tables (@rigelk)
- Fix
z-index
for tooltips, modals and their button to prevent overlaps (@rigelk) - And many others!
- 🎉 Improve video abuses admin table (@rigelk):
- Add in-text specific search filters
- Reports can be linked to directly
- Rich reporter field
- Add video thumbnail with abuse count for the video and position of the abuse in that list
- Expand row to see more information about the video, the reporter and the reportee
- Add many actions (on the video, on the reporter)
- Don't remove a report when a video is deleted
- Add information on a video abuse within its notification email (@rigelk)
- Add ability for video owners to delete comments
- Add filter inputs for blacklisted videos and muted accounts/servers (@rigelk)
- Video import improvements:
- Support WMA and WAV audio files upload
- Support drag and drop for video upload/torrent import (@rigelk)
- Add video file metadata to download modal (@rigelk)
- Add views stats for channels (@rigelk)
- Add more information about the user in the edit form (@rigelk)
- Server optimizations:
- Add cache for some immutable models
- Don't refresh videos when processing a view
- Optimize view endpoint
- Completely rewritten SQL query to list videos
- Optimize SQL request when broadcasting an activity
- Support infinite scrolling in the discover page
- Add ability for admins to create a user without a password. PeerTube will send a reset password link to the user (@JohnXLivingston)
- Improve embed title background opacity
- Add origin instance URL in watch page
- Clearer description of advanced search options
- Always copy full actor handle in video channels view (@rigelk)
- Add
sendmail
support (@immae) tosmtp
configuration - Support
rel="me"
links in markdown - Use
originallyPublishedAt
from body on import if it exists - Sort outbox by DESC createdAt order
- Increase video comment max length limit
Bug fixes
- Update default user theme to
instance-default
(Jorge Silva) - Fix user dropdown menu with long texts (@rigelk)
- Fix load more comments on infinite scroll (@ipbc-dev)
- Fix CSP issue on WebFinger service (@ZanyMonk)
- Fix federation with Pleroma
- Fix Safari and iOS video play
- Fix broken HLS player on old Edge
- Fix running HLS transcoding on existing HLS video
- Fix user role edition
- Fix video duration display
- Fix error when adding a video in a playlist that does not have a thumbnail
- Fix internal video display in playlists
- Fix add comment in threads with deleted comments
- Fix video codec in HLS playlist resulting in a broken video
- Fix torrent import on Windows
- Respect browser autoplay policy: don't autoplay videos in mute mode
- Fix playlist videos autoplay/next play (@rigelk)
- Fix admin table column invalid sort error
- Fix outbox crawling max page/timeout ...
v2.1.1
Bug fixes
- Fix youtube-dl in docker image
- Fix playlist creation/update
- Fix fetch of instance config in client
- Manual approves followers only for the instance (and not accounts/channels)
- Fix avatar update
- Fix CSP for embeds
- Fix scroll of the menu on mobile
- Fix CPU usage of PostgreSQL
- Fix embed for iOS
v2.1.0
Since v2.0.0
IMPORTANT NOTES
- /!\ VERY IMPORTANT /!\ You need to execute manually a script (can be executed after your upgrade, while your PeerTube instance is running) to create HLS video torrents:
cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-2.1.js
- /!\ VERY IMPORTANT /!\ In the next PeerTube release (v2.2.0), we'll add a unique index on actors usernames to fix some federation bugs.
Please check now if you have conflicts using:- Go inside your database using
sudo -u postgres psql peertube_prod
and runselect "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) > 1;
- If you have some results, it seems you have duplicate channels/accounts.
For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique).
The updated actors could have some federations issues
- Go inside your database using
- We now use Buster for the docker image, so the image name changed:
production-stretch
becomesproduction-buster
v2.x.x-stretch
becomesv2.x.x-buster
- Users cannot create more than 20 channels now to avoid UX and actor name squatting issues
- We added a warning if the
videos
directory is the same than theredundancy
one in your configuration file: it can create some bugs
Documentation
We added some sections in the documentation website:
- S3 remote storage: https://docs.joinpeertube.org/#/admin-remote-storage
- Instances redundancy: https://docs.joinpeertube.org/#/admin-following-instances
- Moderate your instance: https://docs.joinpeertube.org/#/admin-moderation
- Customize your instance (install plugins & themes): https://docs.joinpeertube.org/#/admin-customize-instance
- PeerTube logs (standard log/audit log): https://docs.joinpeertube.org/#/admin-logs
- Mute accounts/instances: https://docs.joinpeertube.org/#/use-mute
- Controlled player embed API: https://docs.joinpeertube.org/#/api-embed-player
Docker
- Sticking to one env-var management system (@Leopere) (See #2247)
- Simplify Dockerfile and slim Docker image (@Nutomic)
- Add HLS support in Docker container by using the latest Debian stable (Buster) image
Plugins/Themes API
- Add checkbox and textarea as possible input types for settings (@rigelk)
- Add
isLoggedIn
helper to client plugins (@rigelk) - Add client plugin hooks:
action:video-watch.player.loaded
with player instanceaction:video-watch.video.loaded
with a videojs instanceaction:signup.register.init
(@rigelk)filter:api.signup.registration.create.params
(@rigelk)filter:internal.video-watch.player.build-options.params
filter:internal.video-watch.player.build-options.result
filter:internal.common.svg-icons.get-content.params
filter:internal.common.svg-icons.get-content.result
- Add server plugins hooks:
action:api.user.blocked
action:api.user.unblocked
action:api.user.registered
action:api.user.created
action:api.user.deleted
action:api.user.updated
action:api.user.oauth2-got-token
- Accept
.
_
and0-9
characters in plugin names
Maintenance
- PeerTube moved translations from Zanata to Weblate. Here is the new translations website URL: https://weblate.framasoft.org/projects/peertube/
- We now provide a JavaScript library to control a PeerTube embed: https://www.npmjs.com/package/@peertube/embed-api
- Add ability to generate HLS videos using
create-transcoding-job
script (see the documentation) - Update nginx template: (you need to update manually)
- Add streaming playlists endpoint
- Add
client_body_temp_path
hint - Relax TLS/SSL ciphers hardening to allow Android 4.4.2 to use the PeerTube instance API
- Add
maxFileSize
,maxFiles
andanonymizeIP
log options in configuration file
Features
- 🎉 Add internal video privacy mode. Internal videos are only available to other logged in users of your instance, and are not federated
- 🎉 Add hyperlink video timestamps in comments & video descriptions (@Lesterpig & @rigelk)
- 🎉 Comments improvements:
- Support basic markdown
- Soft delete video comments instead of destroying them (@alcalyn)
- Add commentator name alongside fid for video comments (@rigelk)
- Add a cancel button in comment form (@rigelk)
- Show number of comments under a video in watch page (@rigelk)
- Add user moderation dropdown (@rigelk)
- Add ability to sort comments by total replies or created date (@rigelk)
- Add total replies from video author indicator (@rigelk)
- Comment name emphasis for video author (@rigelk)
- Add "Watch later" button in video miniature overlay (@rigelk)
- Add ability to transcode videos in an audio only video container (@Yetangitu)
- Add playlist search input in add to playlist dropdown (@rigelk)
- Add search bars for a user's videos and playlists (@rigelk)
- Support playlists in share modal
- Better UI for a better world:
- Add play/pause bezels to the video player (@rigelk)
- Use icons instead of buttons in watch page (like/dislike, support...) (@rigelk)
- Improve PeerTube section in About page and add links to the documentation
- Improve comment tree in Watch page
- Improve dropdown box shadow (@rigelk)
- Add channel avatar to watch view (@rigelk)
- Improve likes-dislikes bar usability
- Alter titles section header style (@rigelk)
- Enhance jobs list display on smaller screens (@alcalyn)
- Add a button in the videos from subscriptions page to manage subscriptions (@rigelk)
- Add duration to video attributes in watch view (@rigelk)
- Add a message in the login form when signup is disabled for people that are looking for an account (@rigelk)
- Add "Manage" button in owned account and channels pages (@rigelk)
- Improve password input accessibility (@rigelk)
- Add descriptions in moderation dropdown (@rigelk)
- Performances improvements:
- Lazy load categories, licences, languages and video/playlist privacies in the client
- Only update remote actor avatar if the filename changed
- Optimize transcoding by using the lowest resolution as input file
- Speedup embed first paint
- Optimize videos list SQL query
- Optimize local videos list SQL query
- Cache
peertube
instance actor SQL result - Cache HLS/WebTorrent InfoHash SQL result
- Optimize notification endpoint on specific cases
- Optimize "list my playlists" SQL query
- Improve search filters: (@rigelk)
- Add ability to sort results
- Improve tags filter inputs
- Add a button to reset filters
- Improve autoplay: (@rigelk)
- Autoplay next video switch for both user and visitors
- Add up next screen on autoplay
- Autoplay next video support for playlists
- Add next video button to the player
- Add loop setting when watching a playlist
- Add option to download subtitles in download modal (@rigelk)
- Add a button in account page to follow all account channels (@rigelk)
- Add ability to search a video directly by its UUID
- Case insensitive tags search
- Add ability to disable WebTorrent (and only enable HLS) (experimental and breaks federation with PeerTube instances < 2.1)
- Don't seed if the client is on a cellular network in the HLS player
- Load HLS player in embed by default if enabled
- Admin panels:
- Add ability to sort by state, score and redundancy allowed columns in following/followers admin table
- Add ability to filter per job type in admin
- Add Audit logs section in admin Logs panel
- Improve Media-RSS support (@rigelk)
- Explicit the tag limit in video form (@bikepunk)
- Add a warning when uploading videos using root
- Clearer video quota label in user settings
- Pause the video when the user opens a modal
- Handle basic HTML in account descriptions
- Support
m4v
videos - Improve 4k resolution bitrate
- Add missing hotkeys documentation in the watch page
- Add a button to copy the channel handle (@rigelk)
- Add server config to the nodeinfo metadata (@rigelk)
- Improve notification popup interactivity (@rigelk)
Bug fixes
- Don't notify if the account in on a muted instance
- Don't leak other notified addresses in notification emails
- Allow...