Skip to content

v2.1.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Chocobozzz Chocobozzz released this 27 Jan 08:54
· 9550 commits to develop since this release
v2.1.0-rc.1
5aafc6f

IMPORTANT NOTES

  • /!\ VERY IMPORTANT /!\ You need to execute manually a script (must be executed after the upgrade and a PeerTube restart, while your 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 run select "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
  • We now use Buster for the docker image, so the image name changed:
    • production-stretch becomes production-buster
    • v2.x.x-stretch becomes v2.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 the redundancy one in your configuration file: it can create some bugs

Documentation

We added some sections in the documentation website:

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 instance
    • action:video-watch.video.loaded with a videojs instance
    • action: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 . _ and 0-9 characters in plugin names

Maintenance

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 the embed iframe to open links
  • Add missing button roles for the language chooser and keyboard shortcut menu items @MarcoZehe
  • Fix overflow when creating a channel
  • Fix "copy magnet URI" in player
  • Fix text overflow in menu
  • Fix player focus
  • Only display accepted followers/followings instances in about page
  • Fix brackets truncation in video description
  • Fix channel playlist miniatures overflow
  • Fix background color on some screens
  • Fix captions upload issue depending on the caption name
  • Fix file download when the video is private
  • Fix dropdown on video miniature for unlogged users
  • Fix video support field in update form
  • Fix video import having a long thumbnail url (Facebook for example)
  • Add correct HTTP status on not found video
  • Fix bug on login when username has a special character (_ for example)
  • Fix plugin unregistration that did not remove properly its hooks (@JohnXLivingston)