CHANGELOG.md 116 KB
Newer Older
Chocobozzz's avatar
Chocobozzz committed
1 2
# Changelog

Chocobozzz's avatar
Chocobozzz committed
3 4 5 6
## v3.2.1

### IMPORTANT NOTES

Chocobozzz's avatar
Typo  
Chocobozzz committed
7
 * **Important:** v3.2.0 introduced a `pg_dump` export bug in the auto upgrade script. To upgrade from v3.2.0:
Chocobozzz's avatar
Chocobozzz committed
8
   * You can upgrade manually https://docs.joinpeertube.org/install-any-os?id=manually
Chocobozzz's avatar
Typo  
Chocobozzz committed
9
   * Or you can apply the changes introduced in this commit: https://github.com/Chocobozzz/PeerTube/commit/86dc0b9cc9374cba7548bb613ff43d92f90570a8 and then use the auto upgrade script
Chocobozzz's avatar
Chocobozzz committed
10 11 12 13 14 15 16 17

### Bug fixes

 * Fix create account button style
 * Fix auto upgrade script
 * Fix live image aspect ratio in theatre mode


Chocobozzz's avatar
Chocobozzz committed
18
## v3.2.0
Chocobozzz's avatar
Chocobozzz committed
19 20 21

### IMPORTANT NOTES

Chocobozzz's avatar
Chocobozzz committed
22
 * **Important:** You must update your nginx configuration to add the `upload-resumable` endpoint: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube#L81
23
 * **Important:** Due to a bug in ffmpeg, PeerTube is not compatible with ffmpeg 4.4. See https://github.com/Chocobozzz/PeerTube/issues/3990
Chocobozzz's avatar
Chocobozzz committed
24 25
 * **Important:** Drop NodeJS 10 support
 * PeerTube is not compatible with NodeJS 16 yet
Chocobozzz's avatar
Chocobozzz committed
26 27 28 29 30
 * By default, HLS transcoding is now enabled and webtorrent is disabled. We suggest you to reflect this change.
 See [the documentation](https://docs.joinpeertube.org/admin-configuration?id=webtorrent-transcoding-or-hls-transcoding) for more information
 * PeerTube client now displays bigger video thumbnails.
 To fix old thumbnails quality, run `regenerate-thumbnails` script after your PeerTube upgrade: https://docs.joinpeertube.org/maintain-tools?id=regenerate-thumbnailsjs

Chocobozzz's avatar
Chocobozzz committed
31 32 33 34
### Docker

 * Support SSL database env parameter [#4114](https://github.com/Chocobozzz/PeerTube/pull/4114)

Chocobozzz's avatar
Chocobozzz committed
35 36 37 38 39
### Maintenance

 * Support `X-Frame-Options` header, enabled by default in the configuration
 * Directly use `node` in [systemd template](https://github.com/Chocobozzz/PeerTube/blob/develop/support/systemd/peertube.service)
 * Check ffmpeg version at PeerTube startup
Chocobozzz's avatar
Chocobozzz committed
40
 * Add `upload-resumable` nginx endpoint: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube#L81
Chocobozzz's avatar
Chocobozzz committed
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88

### CLI tools

 * Add `regenerate-thumbnails` script to regenerate thumbnails of local videos

### Plugins/Themes/Embed API

 * Theme:
   * `--submenuColor` becomes `--submenuBackgroundColor`
 * Support HTML placeholders for plugins. See [the documentation](https://docs.joinpeertube.org/contribute-plugins?id=html-placeholder-elements) for more information
   * `player-next` next to the PeerTube player
 * Support storing files for plugins in a dedicated directory. See [the documentation](https://docs.joinpeertube.org/contribute-plugins?id=storage) for more information
 * Transcoding:
   * Add `inputOptions` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917)
   * Add `scaleFilter.name` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917)
 * Plugin settings:
   * Add ability to register `html` and `select` setting
   * Add ability to hide a plugin setting depending on the form state
 * Plugin form fields (to add inputs to video form...):
   * Add ability to hide a plugin field depending on the form state using `.hidden` property
 * Add client helpers:
   * `getServerConfig()`
   * `getAuthHeader()`
 * Add server helpers:
   * `config.getServerConfig()`
   * `plugin.getBaseStaticRoute()`
   * `plugin.getBaseRouterRoute()`
   * `plugin.getDataDirectoryPath()`
   * `user.getAuthUser()`
 * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins):
   * `action:modal.video-download.shown`
   * `action:video-upload.init`
   * `action:video-url-import.init`
   * `action:video-torrent-import.init`
   * `action:go-live.init`
   * `action:auth-user.logged-in` & `action:auth-user.logged-out`
   * `action:auth-user.information-loaded`
   * `action:admin-plugin-settings.init`
 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins):
   * `filter:api.download.video.allowed.result` & `filter:api.download.torrent.allowed.result` to forbid download
   * `filter:html.embed.video-playlist.allowed.result` & `filter:html.embed.video.allowed.result` to forbid embed
   * `filter:api.search.videos.local.list.params` & `filter:api.search.videos.local.list.result`
   * `filter:api.search.videos.index.list.params` & `filter:api.search.videos.index.list.result`
   * `filter:api.search.video-channels.local.list.params` & `filter:api.search.video-channels.local.list.result`
   * `filter:api.search.video-channels.index.list.params` & `filter:api.search.video-channels.index.list.result`

### Features

89
 * :tada: More robust uploads using a resumable upload endpoint [#3933](https://github.com/Chocobozzz/PeerTube/pull/3933)
Chocobozzz's avatar
Chocobozzz committed
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
 * Accessibility/UI:
   * :tada: Redesign channel and account page
   * :tada: Increase video miniature size
   * :tada: Add channel banner support
   * Use a square avatar for channels and a round avatar for accounts
   * Use account initial as default account avatar [#4002](https://github.com/Chocobozzz/PeerTube/pull/4002)
   * Prefer channel display in video miniature
   * Add *support* button in channel page
   * Set direct download as default in video download modal [#3880](https://github.com/Chocobozzz/PeerTube/pull/3880)
   * Show less information in video download modal by default [#3890](https://github.com/Chocobozzz/PeerTube/pull/3890)
   * Autofocus admin plugin search input
   * Add `1.75` playback rate to player [#3888](https://github.com/Chocobozzz/PeerTube/pull/3888)
   * Add `title` attribute to embed code [#3901](https://github.com/Chocobozzz/PeerTube/pull/3901)
   * Don't pause player when opening a modal [#3909](https://github.com/Chocobozzz/PeerTube/pull/3909)
   * Add link below the player to open the video on origin instance [#3624](https://github.com/Chocobozzz/PeerTube/issues/3624)
 * Notify admins on new available PeerTube version
 * Notify admins on new available plugin version
Chocobozzz's avatar
Chocobozzz committed
107
 * Sort channels by last uploaded videos
Chocobozzz's avatar
Chocobozzz committed
108
 * Video player:
Chocobozzz's avatar
Chocobozzz committed
109 110 111 112 113
   * Add loop toggle to context menu [#3949](https://github.com/Chocobozzz/PeerTube/pull/3949)
   * Add icons to context menu [#3955](https://github.com/Chocobozzz/PeerTube/pull/3955)
   * Add a *Previous* button in playlist watch page [#3485](https://github.com/Chocobozzz/PeerTube/pull/3485)
   * Automatically close the settings menu when clicking outside the player
   * Add "stats for nerds" panel in context menu [#3958](https://github.com/Chocobozzz/PeerTube/pull/3958)
Chocobozzz's avatar
Chocobozzz committed
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
 * Add channel and playlist stats to stats endpoint [#3747](https://github.com/Chocobozzz/PeerTube/pull/3747)
 * Support `playlistPosition=last` and negative index (`playlistPosition=-2`) URL query parameters for playlists [#3974](https://github.com/Chocobozzz/PeerTube/pull/3974)
 * My videos:
   * Add ability to sort videos (publication date, most viewed...)
   * Add ability to only display live videos
 * Automatically resume videos for non logged-in users [#3885](https://github.com/Chocobozzz/PeerTube/pull/3885)
 * Admin plugins:
   * Show a modal when upgrading a plugin to a major version
   * Display a setting button after plugin installation
 * Add ability to search live videos
 * Use bigger thumbnails for feeds
 * Parse video description markdown for Opengraph/Twitter/HTML elements
 * Open the remote interaction modal when replying to a comment if we are logged-out
 * Handle `.srt` captions with broken durations
 * Performance:
   * Player now lazy loads video captions
   * Faster admin table filters
Chocobozzz's avatar
Chocobozzz committed
131
   * Optimize feed endpoint
Chocobozzz's avatar
Chocobozzz committed
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148

### Bug fixes

 * More robust comments fetcher of remote video
 * Fix database ssl connection
 * Remove unnecessary black border above and below video in player [#3920](https://github.com/Chocobozzz/PeerTube/pull/3920)
 * Reduce tag input excessive padding [#3927](https://github.com/Chocobozzz/PeerTube/pull/3927)
 * Fix disappearing hamburger menu for narrow screens [#3929](https://github.com/Chocobozzz/PeerTube/pull/3929)
 * Fix Youtube subtitle import with some languages
 * Fix transcoding profile update in admin config
 * Fix outbox fetch with subtitled videos
 * Correctly unload a plugin on update/uninstall [#3940](https://github.com/Chocobozzz/PeerTube/pull/3940)
 * Ensure to install plugins that are supported by PeerTube
 * Fix welcome/warning modal displaying twice
 * Fix h265 video import using CLI
 * Fix context menu when watching a playlist
 * Fix transcoding job priority preventing video publication when there are many videos to transcode
Chocobozzz's avatar
Chocobozzz committed
149 150
 * Fix remote account/channel "joined at"
 * Fix CLI plugins list command options [#4055](https://github.com/Chocobozzz/PeerTube/pull/4055)
Chocobozzz's avatar
Chocobozzz committed
151 152 153 154 155 156 157 158 159
 * Fix HTTP player defaulting to audio resolution
 * Logger warning level is "warn"
 * Fix default boolean plugin setting [#4107](https://github.com/Chocobozzz/PeerTube/pull/4107)
 * Fix duplicate ffmpeg preset option for live
 * Avoid federation error when file has no torrent file
 * Fix local user auth select
 * Fix live ending banner display
 * Fix redundancy max size
 * Fix broken lives handling
Chocobozzz's avatar
Chocobozzz committed
160 161 162



Chocobozzz's avatar
Chocobozzz committed
163
## v3.1.0
Chocobozzz's avatar
Chocobozzz committed
164 165 166

### IMPORTANT NOTES

Chocobozzz's avatar
Chocobozzz committed
167
 * **Important:** Drop PostgreSQL 9.6 support
Chocobozzz's avatar
Chocobozzz committed
168 169 170 171 172 173 174 175 176 177
 * **Important:** Deprecate NodeJS 10
 * Support NodeJS 14 and 15
 * Remove ES5 module support (breaks compatibility with web browsers we didn't support)
 * PeerTube releases now contain client source maps helping client debugging (for developers and admins).
 It's the reason why the release size is bigger (we think it's worth it)
 * Remove deprecated static routes (`/static/avatars/`, `/static/previews/` and `/static/video-captions/`)
 * PeerTube now uses a unique name for thumbnails, previews and captions allowing to correctly cache these resources.
 It could break some third party clients that guessed these filenames depending on the video UUID. We'll continue this work in the future
 for video filenames, so admins can easily cache these files (using multiple reverse proxies etc)

Chocobozzz's avatar
Chocobozzz committed
178 179 180
### Maintenance

 * Fix nginx max body size configuration
Chocobozzz's avatar
Chocobozzz committed
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210

### CLI tools

 * Add script printing command to generate a resolution for a given file [#3507](https://github.com/Chocobozzz/PeerTube/pull/3507)
 * Add `--wait-interval <seconds>` option to video-import script to wait between two video imports [#3310](https://github.com/Chocobozzz/PeerTube/pull/3310)

### Plugins/Themes/Embed API

 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins):
   * `filter:api.user.me.videos.list.params` and `filter:api.user.me.videos.list.result`
 * Add server helpers:
   * `videos.loadByIdOrUUID`
 * Add server transcoding helpers (https://docs.joinpeertube.org/contribute-plugins?id=add-new-transcoding-profiles):
   * `transcodingManager.addVODProfile`
   * `transcodingManager.addVODEncoderPriority`
   * `transcodingManager.addLiveProfile`
   * `transcodingManager.addLiveEncoderPriority`

### Features

 * Transcoding:
   * Fair transcoding jobs priority: give an higher priority to `optimize` jobs and decrease priority of transcoding jobs depending on the amount of videos uploaded by the user during the last 7 days [#3637](https://github.com/Chocobozzz/PeerTube/pull/3637)
   * Higher niceness priority for live transcoding compared to vod transcoding [#3577](https://github.com/Chocobozzz/PeerTube/pull/3577)
   * Allow admins to choose a transcoding profile. New transcoding profiles can be added by PeerTube plugins that can inject custom ffmpeg encoders/parameters
   * Add transcoding support for 1440p (Quad HD/QHD/WQHD) videos [#3518](https://github.com/Chocobozzz/PeerTube/pull/3518)
   * Add transcoding progress in admin transcoding jobs list
   * Use `veryfast` preset for default transcoding profile (same result size but faster)
   * Transcode audio uploads to lower configured resolutions
   * Transcode HLS playlists in a `tmp` directory (less bugs/inconsistencies)
   * Allow admins to choose the transcoding jobs concurrency
Chocobozzz's avatar
Chocobozzz committed
211
 * Support Albanian locale
Chocobozzz's avatar
Chocobozzz committed
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
 * Video upload:
   * Async torrent creation on video upload. We hope that it should fix some weird upload errors
   * Add `.m4a` audio upload support
 * Accessibility/UI:
   * Move orange admin buttons on the left side
   * Hide title to left menu toggle icon
   * Add username information in profile settings
   * Improve about page layout
   * Add refresh button in jobs list
   * Add ability to set a custom user quota
   * Rewrite prose for JavaScript disabled message [#3684](https://github.com/Chocobozzz/PeerTube/pull/3684)
 * Video import:
   * Stricter youtube-dl format selectors for import (don't import HDR videos and cap to the max supported resolution) [#3516](https://github.com/Chocobozzz/PeerTube/pull/3516)
   * Don't publish imported videos before the user submitted the second step form
   * Allow admins to choose the import jobs concurrency
 * Implement *hot* and *best* trending algorithms [#3625](https://github.com/Chocobozzz/PeerTube/pull/3625) & [#3681](https://github.com/Chocobozzz/PeerTube/pull/3681)
 * Admin config:
   * Add URL fragment support in admin config page to go on the appropriate tab
   * Improve submit error message
   * Allow admins to disable ping requests logging [#3550](https://github.com/Chocobozzz/PeerTube/pull/3550)
   * Add a setting so PeerTube periodically cleans up remote AP interactions
 * Add ability for admins to update plugin auth field of a particular user
 * Support `webp` avatar upload
 * Implement remote comment/subscription
 * Register a service worker [#3464](https://github.com/Chocobozzz/PeerTube/pull/3464)
 * Add ability to remove one's avatar for account and channels [#3467](https://github.com/Chocobozzz/PeerTube/pull/3467)
 * Show first decimal for video views above a thousand [#3564](https://github.com/Chocobozzz/PeerTube/pull/3564)
 * Allow user to search through their watch history [#3576](https://github.com/Chocobozzz/PeerTube/pull/3576)
 * Allow users/visitors to search through an account's videos [#3589](https://github.com/Chocobozzz/PeerTube/pull/3589)
 * Use an HTML link to display feed url
 * Allow AP resolution for default account/channel pages (`/accounts/:name/video-channels` and `/video-channels/:name/videos`)
 * Redirect to login on 401, display 403 variant [#3632](https://github.com/Chocobozzz/PeerTube/pull/3632)
 * Performance:
   * Optimize videos list API endpoint
   * Optimize videos list views sort SQL query
   * Avoid as much as possible to process remote thumbnail
   * Proxify remote torrent requests from local clients (like we do for captions and previews)
   * Optimize rate POST endpoint
 * Tighten hotkeys definitions to not conflict with the web browser hotkeys [#3702](https://github.com/Chocobozzz/PeerTube/pull/3702)
 * Add more AP stats to stats endpoint
 * Increase jobs request timeout to 7 seconds
 * Increase broadcast request concurrency to 30

### Bug fixes

 * Fix remote subscribe input alignment
 * Fix loading bar for HTTP requests
 * Fix table header overflow
 * Disable wait transcoding checkbox instead of hiding it when uploading an incompatible video for the web
 * Fix sendmail emailer configuration
 * Add missing niceness to ffmpeg thumbnail process
 * Videos with only HLS files:
   * Fix RSS feed
   * Correctly wait transcoding before federating
   * Fix redundancy
   * Correctly remove torrents
 * Localize decimal separator in video miniatures [#3643](https://github.com/Chocobozzz/PeerTube/pull/3643)
 * Check banned status on external authentication
 * Remove all video redundancies when purging the cache
 * Fix URI search admin config update
 * Fix broken HLS playback with videos that contain an unknown channel layout
 * Fix HLS generation after file import script
 * Ensure we don't receive things from local actors
 * Try to recover from network errors in HLS player
 * Fix comments sorting dropdown z-index
 * Fix create transcoding job script depending on the transcoding configuration
 * Fix NSFW policy in my videos, account videos and channel videos pages
 * Fix complete description loading of a previous video
 * Fix video comments display with deleted comments
 * Don't override preview image on import
 * Fix Accept AP messages sending to previously accepted followers
 * Fix import script when using the instance uses the search index
 * Fix player freeze on Safari with a video that has many subtitles
 * Fix anonymous user settings
 * Fix preview upload with capitalized ext
 * Fix abuses list crash on deleted video
 * More robust channel change federation
 * Fix emptying video tags
 * Fix broken local actors that do not have a public/private key
Chocobozzz's avatar
Chocobozzz committed
291
 * Fix bad PeerTube URL for playlist embed
Chocobozzz's avatar
Chocobozzz committed
292 293 294 295
 * Live:
   * Don't update live attributes if they did not change (allowing to update live metadata even if the live has started)
   * Fix live RAM usage when ffmpeg is too slow to transcode the RTMP stream
   * Correctly load live information (description and preview) when not started
Chocobozzz's avatar
Chocobozzz committed
296 297 298
 * Fix mention notification with deleted comment
 * Fix default boolean plugin setting
 * Fix long text on modals [#3840](https://github.com/Chocobozzz/PeerTube/pull/3840)
Chocobozzz's avatar
Chocobozzz committed
299

Chocobozzz's avatar
Chocobozzz committed
300 301 302 303
## v3.0.1

### SECURITY

Chocobozzz's avatar
Chocobozzz committed
304
 * **Important:** Fix retrieving data of another user if the username contains `_` when fetching *my information*
Chocobozzz's avatar
Chocobozzz committed
305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

### Docker

 * Fix [upgrade documentation](https://docs.joinpeertube.org/install-docker?id=upgrade)
 * Add live RTMP port in docker compose

### Bug fixes

 * Fix account feed URL
 * Log RTMP server error (address already in use)
 * Fix NPM theme links in admin theme page
 * Don't reject AP actors with empty description
 * Fix twitter admin config description
 * Fix duplicate entry in job list page
 * Fix `nl-NL` broken admin config page
 * Fix bad tracker client IP when using a reverse proxy


Chocobozzz's avatar
Chocobozzz committed
323 324 325
## v3.0.0

**Since v2.4.0**
Chocobozzz's avatar
Chocobozzz committed
326 327 328

### IMPORTANT NOTES

Dirk Kelly's avatar
Dirk Kelly committed
329
 * Update the default configuration to not federate unlisted videos. We recommend to admins to update [this setting](https://github.com/Chocobozzz/PeerTube/blob/develop/config/production.yaml.example#L196)
Chocobozzz's avatar
Chocobozzz committed
330 331 332 333 334 335 336 337 338
 * Update the default configuration to remove remote video views to reduce DB size and improve performances. We recommend to admins to update [this setting](https://github.com/Chocobozzz/PeerTube/blob/develop/config/production.yaml.example#L170)
 * Remove deprecated video abuse API

### Maintenance

 * Refresh nginx configuration [#3313](https://github.com/Chocobozzz/PeerTube/pull/3313)

### Docker

Chocobozzz's avatar
Chocobozzz committed
339 340 341 342
 * 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
Chocobozzz's avatar
Chocobozzz committed
343 344 345 346 347

### Plugins/Themes/Embed API

 * Add ability for auth plugins to redirect user on logout [#32](https://framagit.org/framasoft/peertube/PeerTube/-/merge_requests/32) & [#33](https://framagit.org/framasoft/peertube/PeerTube/-/merge_requests/33)
 * Add `input-password` setting to plugins [#3375](https://github.com/Chocobozzz/PeerTube/issues/3375)
Chocobozzz's avatar
Chocobozzz committed
348
 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins):
Chocobozzz's avatar
Chocobozzz committed
349 350 351 352 353
   * `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](https://github.com/Chocobozzz/PeerTube/pull/3400)
Chocobozzz's avatar
Chocobozzz committed
354 355 356

### Features

Chocobozzz's avatar
Chocobozzz committed
357
 * :tada: :tada: :tada: Support live streaming :tada: :tada: :tada: [#3250](https://github.com/Chocobozzz/PeerTube/pull/3250)
Chocobozzz's avatar
Chocobozzz committed
358 359 360 361 362
   * 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
Chocobozzz's avatar
Chocobozzz committed
363
 * Support Galician locale
Chocobozzz's avatar
Chocobozzz committed
364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
 * Update left menu [#3296](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/3074)
 * Improve default account and channel avatars [#3326](https://github.com/Chocobozzz/PeerTube/pull/3326)
 * Accessibility/UI:
Chocobozzz's avatar
Chocobozzz committed
383 384
   * More explicit error messages for file uploads [#3347](https://github.com/Chocobozzz/PeerTube/pull/3347)
   * Allow to retry a failed video upload [#3347](https://github.com/Chocobozzz/PeerTube/pull/3347)
Chocobozzz's avatar
Chocobozzz committed
385 386 387 388 389 390
   * Improve jobs and logs view [#3127](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/3168)
   * Improve markdown-it emoji list column display [#3253](https://github.com/Chocobozzz/PeerTube/pull/3253)
   * Add help popup for choosing a licence [#3306](https://github.com/Chocobozzz/PeerTube/pull/3306)
   * Change *Upload* button to *Publish*
Chocobozzz's avatar
Chocobozzz committed
391
   * More player download/upload title details [#3394](https://github.com/Chocobozzz/PeerTube/pull/3394)
Chocobozzz's avatar
Chocobozzz committed
392
   * Create a dedicated transcoding tab in admin config
Chocobozzz's avatar
Chocobozzz committed
393 394
   * Improve 404 page
   * Improve login form [#3357](https://github.com/Chocobozzz/PeerTube/pull/3357)
Chocobozzz's avatar
Chocobozzz committed
395 396 397
   * Add a title attribute on views element to see the view counter [#3365](https://github.com/Chocobozzz/PeerTube/pull/3365)
   * Clearer titles for periods in recently added and videos from subscriptions pages
   * Select first available channel when accepting ownership change [#3382](https://github.com/Chocobozzz/PeerTube/pull/3382)
Chocobozzz's avatar
Chocobozzz committed
398
   * Hide channel registration step if default quota is 0 [#3393](https://github.com/Chocobozzz/PeerTube/pull/3393)
Chocobozzz's avatar
Chocobozzz committed
399 400 401 402
 * Add possibility to share origin URL to video if it's not local [#3201](https://github.com/Chocobozzz/PeerTube/pull/3201)
 * Render markdown in email notifications for new comments [#3255](https://github.com/Chocobozzz/PeerTube/pull/3255)
 * Add an admin setting to force ipv4 in youtube-dl [#3311](https://github.com/Chocobozzz/PeerTube/pull/3311)
 * Add ability for admins to put markdown in all fields of *About* page [#3371](https://github.com/Chocobozzz/PeerTube/pull/3371)
Chocobozzz's avatar
Chocobozzz committed
403
 * Support `activeMonth` and `activeHalfyear` in nodeinfo
Chocobozzz's avatar
Chocobozzz committed
404 405 406 407

### Bug fixes

 * Fix inability to delete a channel due to a bug in the confirm modal
Chocobozzz's avatar
Chocobozzz committed
408
 * Fix views processing for hour 0
Chocobozzz's avatar
Chocobozzz committed
409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427
 * 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](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/3297)
 * Fix overflow of some dropdowns
 * Fix infinite scrollin in channel's playlists page
 * Fix anchors scrolling in About page
Chocobozzz's avatar
Chocobozzz committed
428
 * Fix canonical URLs of videos and playlists [#3406](https://github.com/Chocobozzz/PeerTube/pull/3406)
Chocobozzz's avatar
Chocobozzz committed
429 430 431 432 433 434 435 436 437 438 439 440 441
 * Fix CLI import script when importing Youtube channels
 * Fix video tag min length validator
 * Fix user notification preferences column width [#3352](https://github.com/Chocobozzz/PeerTube/pull/3352)
 * Fix forgotten/reset password UI [#3351](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/3376)
 * Fix playlist list `name`/`displayName` sort field [#3385](https://github.com/Chocobozzz/PeerTube/pull/3385)
 * Fix 401 error display in embeds
Chocobozzz's avatar
Chocobozzz committed
442
 * Do not crash if SMTP server is down, instead log an error [#3457](https://github.com/Chocobozzz/PeerTube/issues/3457)
Chocobozzz's avatar
Chocobozzz committed
443 444 445 446 447 448 449 450 451 452 453 454 455 456
 * Fix redundancy federation in specific cases
 * Stop CLI auth failure with extra `/` [#3520](https://github.com/Chocobozzz/PeerTube/issues/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` and `activeHalfyear` in nodeinfo

### Bug fixes
Chocobozzz's avatar
Chocobozzz committed
457

Chocobozzz's avatar
Chocobozzz committed
458 459 460 461 462 463 464 465 466 467 468 469 470 471 472
 * 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](https://github.com/Chocobozzz/PeerTube/issues/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
Chocobozzz's avatar
Chocobozzz committed
473 474


Chocobozzz's avatar
Chocobozzz committed
475 476 477
## v2.4.0

**Since v2.3.0**
Chocobozzz's avatar
Chocobozzz committed
478 479 480 481

### IMPORTANT NOTES

 * The minimum ffmpeg version required is now 4.1
Chocobozzz's avatar
Chocobozzz committed
482 483 484 485
 * 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
Chocobozzz's avatar
Chocobozzz committed
486 487 488 489 490 491 492 493 494 495 496 497 498
 * Use `playlistPosition` URL parameter for playlists instead of `videoId` to set the current playlist position

### Maintenance

 * Better error message on PostgreSQL connection error
 * Add `ssl` option support for PostgreSQL connection

### Official PeerTube plugins

 * [Player video annotation (alpha)](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-video-annotation)

### Plugins/Themes/Embed API

Chocobozzz's avatar
Chocobozzz committed
499
 * Add embed API (https://docs.joinpeertube.org/api-embed-player):
Chocobozzz's avatar
Chocobozzz committed
500 501 502 503 504 505
   * `playNextVideo` method
   * `playPreviousVideo` method
   * `getCurrentPosition` method
 * Embed URL parameters
   * Add ability to disable PeerTube link in embed using an URL param (`peertubeLink=0`)
 * Add plugins support in embed
Chocobozzz's avatar
Chocobozzz committed
506
 * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins):
Chocobozzz's avatar
Chocobozzz committed
507
   * `action:embed.player.loaded` (for embed)
Chocobozzz's avatar
Chocobozzz committed
508
 * Add custom fields in video update/upload form using `registerVideoField` (https://docs.joinpeertube.org/contribute-plugins?id=add-custom-fields-to-video-form)
Chocobozzz's avatar
Chocobozzz committed
509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542

### Features

 * Moderation:
   * :tada: Add ability to report comments and accounts
   * :tada: Add messaging system between local reporter of an abuse and moderators so they can easily communicate
   * :tada: 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](https://github.com/Chocobozzz/PeerTube/pull/2926)
 * Video playlists:
   * :tada: Add ability to embed playlists
   * :tada: 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](https://github.com/Chocobozzz/PeerTube/pull/3046)
   * Add delete and re-draft action on a comment that doesn't have replies [@Kimsible in #3046](https://github.com/Chocobozzz/PeerTube/pull/3046)
   * Hide deleted comments when there aren't replies [@Kimsible in #3046](https://github.com/Chocobozzz/PeerTube/pull/3046)
 * Accessibility/UI:
   * Disable vertical scroll instead of hide on desktop browsers [@Kimsible in #2962](https://github.com/Chocobozzz/PeerTube/pull/2962)
   * Update my-account sub-menus icons [@Kimsible in #2977](https://github.com/Chocobozzz/PeerTube/pull/2977)
   * Improve navigation sub-menu and tabs effects [@Kimsible in #2971](https://github.com/Chocobozzz/PeerTube/pull/2971)
   * Hide generic channel display name and avatar on watch view [@Kimsible in #2988](https://github.com/Chocobozzz/PeerTube/pull/2988)
   * Display user quota progress bars above upload form [@Kimsible in #2981](https://github.com/Chocobozzz/PeerTube/pull/2981)
   * Improve mobile accessibility by moving table action cells on the left [@Kimsible in #2980](https://github.com/Chocobozzz/PeerTube/pull/2980)
   * Directly display download button in watch page on logged-out users [@rigelk in #2919](https://github.com/Chocobozzz/PeerTube/pull/2919)
   * Improve users list table display in admin (add badge, progress bar) [@rigelk in #2991](https://github.com/Chocobozzz/PeerTube/pull/2991)
   * Add dynamic column display for users list table in admin [@rigelk in #2991](https://github.com/Chocobozzz/PeerTube/pull/2991)
   * Add anchor links to about/instance [@Kimsible in #3064](https://github.com/Chocobozzz/PeerTube/pull/3064)
   * Improve select components [@rigelk in #3035](https://github.com/Chocobozzz/PeerTube/pull/3035)
   * Add content overlay for opened menu on touchscreens [@Kimsible in #3088](https://github.com/Chocobozzz/PeerTube/pull/3088)
 * Add alert and hide upload view when no upload is possible [@Kimsible in #2966](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/2996)
 * Add channel name to create-user admin form [@Kimsible in #2984](https://github.com/Chocobozzz/PeerTube/pull/2984)
 * Support Kabile for video languages/captions
 * Translate page titles
Chocobozzz's avatar
Chocobozzz committed
543
 * Add `.ac3`, `.aac`, `.qt`, `.mqv`, `.3gpp`, `.3gpp2`, `.m1v`, `.mpg`, `.mpe`, `.vob` extensions support on upload if transcoding is enabled **@rigelk**
Chocobozzz's avatar
Chocobozzz committed
544
 * Performance:
Chocobozzz's avatar
Chocobozzz committed
545
   * Improved front-end performance by reducing localized bundle sizes (~ 2MB instead of 3MB for the homepage)
Chocobozzz's avatar
Chocobozzz committed
546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570
   * 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](https://github.com/Chocobozzz/PeerTube/pull/3056)
 * Correctly scroll to anchors in my-settings [@Kimsible in #3032](https://github.com/Chocobozzz/PeerTube/pull/3032)
 * Forbid reset password links reuse
 * Fix low default resolution on webtorrent videos
 * Fix instance features table responsive in about page [@test2a in #3090](https://github.com/Chocobozzz/PeerTube/pull/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
Chocobozzz's avatar
Chocobozzz committed
571 572 573 574 575 576 577 578 579 580
 * 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

Chocobozzz's avatar
Chocobozzz committed
581

Chocobozzz's avatar
Chocobozzz committed
582 583 584
## v2.3.0

**Since v2.2.0**
Chocobozzz's avatar
Chocobozzz committed
585 586 587

### IMPORTANT NOTES

Chocobozzz's avatar
Chocobozzz committed
588
 * Add `client_overrides` directory in configuration file. **You must configure it in your production.yaml**
Chocobozzz's avatar
Chocobozzz committed
589 590
 * 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)
Chocobozzz's avatar
Chocobozzz committed
591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620
 * 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](https://github.com/Chocobozzz/PeerTube/pull/2904)

### Maintenance

 * Switched image processing library from native dependency `sharp` to pure JS implementation `jimp`. Admins don't have to compile `sharp` anymore and `jimp` is lighter
 * Provide specific engine boundaries for NodeJS and Yarn [@rigelk in 0c4bacb](https://github.com/Chocobozzz/PeerTube/commit/0c4bacbff53bc732f5a2677d62a6ead7752e2405)
 * Add ability to set `database.name` config option [@gramakri in #2898](https://github.com/Chocobozzz/PeerTube/pull/2898)


### Docker

 * Fix `POSTGRES` env variables in docker-compose ([@kimsible in #2538](https://github.com/Chocobozzz/PeerTube/pull/2538/files))
 * Fix OpenDKIM permissions in docker-compose setup [@kimsible in #2868](https://github.com/Chocobozzz/PeerTube/pull/2868)


### Official PeerTube plugins

 * [Auto block videos (alpha)](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auto-block-videos)


Chocobozzz's avatar
Chocobozzz committed
621 622 623 624
### Plugins/Themes/Embed API

  * Add ability to override client assets: logo - favicon - PWA icons - PWA manifest name and description [@kimsible in #2897](https://github.com/Chocobozzz/PeerTube/pull/2897)

Chocobozzz's avatar
Chocobozzz committed
625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663
### Features

 * :tada: Add global search support (has to be explicitely enabled by admins)
 * :tada: Add ability for admins to display a banner on their instance
 * :tada: 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](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/2832)
    * Add aria-hidden to non-descriptive icons [@Pandoraaa in #2844](https://github.com/Chocobozzz/PeerTube/pull/2844)
    * Change focus color instead of opacity of video play button [@Pandoraaa in #2845](https://github.com/Chocobozzz/PeerTube/pull/2845)
    * Add explicit step and aria-current attribute in register form [@Pandoraaa in #2861](https://github.com/Chocobozzz/PeerTube/pull/2861)
    * Add scope tags and aria-labels in instance features table [@Pandoraaa in #2866](https://github.com/Chocobozzz/PeerTube/pull/2866)
    * Add keyboard navigation in video watch page buttons [@Pandoraaa in #2854 with @rigelk](https://github.com/Chocobozzz/PeerTube/pull/2854)
  * 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 ](https://github.com/Chocobozzz/PeerTube/commit/212e17a1892162a69138c0b9c0a1bd88f95209a8)
    * Block IP of infohash spammers [db48de8](https://github.com/Chocobozzz/PeerTube/commit/db48de8597897e5024f8e9ed5acb1a8f40748169)
  * Allow limiting video-comments rss feeds to an account or video channel [@rigelk in 00494d6](https://github.com/Chocobozzz/PeerTube/commit/00494d6e2ae915741f47869dcd359d9728a0af91)

### Bug fixes

Chocobozzz's avatar
Chocobozzz committed
664 665 666 667 668 669 670 671 672 673
  * 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:
Chocobozzz's avatar
Chocobozzz committed
674 675 676 677
    * Add lang in document to match current locale [@rigelk in #2822](https://github.com/Chocobozzz/PeerTube/pull/2822)
    * Prevent duplicate id attributes for `.svg` [@rigelk in #2822](https://github.com/Chocobozzz/PeerTube/pull/2822)
    * Fix headings order or add missing ones [@Pandoraaa in #2871](https://github.com/Chocobozzz/PeerTube/pull/2871)
    * Remove uneccessary details to link titles  [@Pandoraaa in #2879](https://github.com/Chocobozzz/PeerTube/pull/2879)
Chocobozzz's avatar
Chocobozzz committed
678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696
    * Fix accessibility action buttons and display on imports and followers list [@kimsible in #2986](https://github.com/Chocobozzz/PeerTube/pull/2986)
 * Fix iOS player with HLS-only videos
 * Fix action buttons selection mode styles [@kimsible in #2983](https://github.com/Chocobozzz/PeerTube/pull/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](https://github.com/Chocobozzz/PeerTube/pull/2960)
  * Fix maximized icon padding in markdown textarea [@kimsible in #2963](https://github.com/Chocobozzz/PeerTube/pull/2963)
  * Fix action buttons selection mode styles [@kimsible in #2983](https://github.com/Chocobozzz/PeerTube/pull/2983)
  * Fix user creation in admin [@kimsible in #2985](https://github.com/Chocobozzz/PeerTube/pull/2985)
  * Fix accessibility action buttons and display on imports and followers list [@kimsible in #2986](https://github.com/Chocobozzz/PeerTube/pull/2986)
Chocobozzz's avatar
Chocobozzz committed
697 698


Chocobozzz's avatar
Chocobozzz committed
699 700 701
## v2.2.0

**Since v2.1.0**
Chocobozzz's avatar
Chocobozzz committed
702 703 704 705 706 707 708 709 710 711

## 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 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
 * Changed `auto_follow_index` setting configuration: you now have to use the complete URL in `index_url`.
Rigel Kent's avatar
Rigel Kent committed
712 713
 If you used the default one, you now need to use `https://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](https://framagit.org/framasoft/peertube/instances-peertube#peertube-auto-follow) and easily maintain small communities or instance recommendation lists.
Chocobozzz's avatar
Chocobozzz committed
714 715 716 717
 * PeerTube requires NodeJS v10 or v12

### CLI tools

Chocobozzz's avatar
Chocobozzz committed
718
 * Add redundancy CLI: https://docs.joinpeertube.org/maintain-tools?id=peertube-redundancyjs
Chocobozzz's avatar
Chocobozzz committed
719 720 721 722
 * Add ability to pass remaining options to youtube-dl binary in peertube-import script ([@drzraf](https://github.com/drzraf))

### Docker

Chocobozzz's avatar
Chocobozzz committed
723
 * **Important:** Fix HLS storage configuration ([@xcffl](https://github.com/xcffl)): https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/production.yaml#L48
Chocobozzz's avatar
Chocobozzz committed
724 725 726 727
 * Add DKIM support to Docker ([@kimsible](https://github.com/kimsible))

### Maintenance

Chocobozzz's avatar
Chocobozzz committed
728
 * Add nginx configuration to redirect videos to an S3 bucket ([@rigelk](https://github.com/rigelk)) and update of the [corresponding documentation](https://docs.joinpeertube.org/admin-remote-storage).
Chocobozzz's avatar
Chocobozzz committed
729 730 731

### Plugins/Themes/Embed API

Chocobozzz's avatar
Chocobozzz committed
732
 * Add embed API (https://docs.joinpeertube.org/api-embed-player):
Chocobozzz's avatar
Chocobozzz committed
733 734 735
   * `playbackState` can be `ended`
   * `playbackStatusUpdate` has a `duration` field
   * `setCaption` and `getCaptions` methods
Chocobozzz's avatar
Chocobozzz committed
736
 * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins):
Chocobozzz's avatar
Chocobozzz committed
737 738 739
   * `action:login.init`
   * `action:video-watch.video-threads.loaded`
   * `action:video-watch.video-thread-replies.loaded` ([@ipbc-dev](https://github.com/ipbc-dev))
Chocobozzz's avatar
Chocobozzz committed
740
 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins):
Chocobozzz's avatar
Chocobozzz committed
741 742 743 744
   * `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`
Chocobozzz's avatar
Chocobozzz committed
745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767
 * Add server helpers:
   * `database.query` to do SQL queries
   * `videos.removeVideo`
   * `config.getWebserverUrl`
   * `moderation.blockServer`, `moderation.unblockServer`, `moderation.blockAccount`, `moderation.unblockAccount`, `moderation.blacklistVideo`, `moderation.unblacklistVideo`
 * Add client helpers:
   * `notifier` to notify users using the toast component ([@kimsible](https://github.com/kimsible))
   * `showModal` to show a modal ([@kimsible](https://github.com/kimsible))
   * `markdownRenderer` to render markdown ([@kimsible](https://github.com/kimsible))
 * 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

 * [OpenID Connect](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auth-openid-connect)
 * [LDAP](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auth-ldap)
 * [SAML2](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auth-saml2)
 * [Auto mute accounts/instances (alpha)](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auto-mute)

## Features

Rigel Kent's avatar
Rigel Kent committed
768 769
 * :tada: Add HTML support in PeerTube emails, improve text-only version ([@rigelk](https://github.com/rigelk))
 * :tada: Add settings panel for anonymous users so they can change NSFW/P2P/autoplay/displayed videos policy ([@rigelk](https://github.com/rigelk))
Chocobozzz's avatar
Chocobozzz committed
770 771 772 773 774 775
 * :tada: 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)
 * :tada: Many responsive & UI improvements:
   * Add maximized mode to markdown textarea ([@kimsible](https://github.com/kimsible))
Rigel Kent's avatar
Rigel Kent committed
776
   * Detect and prevent sub menu overflow on small screens using a dropdown or a modal ([@rigelk](https://github.com/rigelk))
Chocobozzz's avatar
Chocobozzz committed
777 778
   * Use a typeahead component for the search bar ([@rigelk](https://github.com/rigelk))
   * Use a modal instead of a dropdown menu in small/mobile views ([@kimsible](https://github.com/kimsible))
Rigel Kent's avatar
Rigel Kent committed
779
   * Improve display of accounts and channel pages on small and medium screens ([@rigelk](https://github.com/rigelk))
Chocobozzz's avatar
Chocobozzz committed
780 781
   * Improve forms layout ([@rigelk](https://github.com/rigelk))
   * Replace helpers icons with descriptions in admin configuration ([@rigelk](https://github.com/rigelk))
Rigel Kent's avatar
Rigel Kent committed
782
   * Improve tables on mobile devices to prevent layout breakage ([@kimsible](https://github.com/kimsible))
Chocobozzz's avatar
Chocobozzz committed
783 784
   * Fix multiple broken views on small screens ([@kimsible](https://github.com/kimsible))
   * Make video add tabs scrollable on small devices ([@kimsible](https://github.com/kimsible))
Rigel Kent's avatar
Rigel Kent committed
785
   * Better use of space and icons in the plugin administration interface ([@rigelk](https://github.com/rigelk))
Chocobozzz's avatar
Chocobozzz committed
786
   * Restyle toast notifications to tone down colors ([@rigelk](https://github.com/rigelk))
Rigel Kent's avatar
Rigel Kent committed
787
   * Add/move links at the bottom of the left menu ([@rigelk](https://github.com/rigelk))
Chocobozzz's avatar
Chocobozzz committed
788 789
   * Improve avatar upload UI ([@rigelk](https://github.com/rigelk))
   * Use progress bars for quota used in my account ([@rigelk](https://github.com/rigelk))
Rigel Kent's avatar
Rigel Kent committed
790 791 792 793
   * Add variable pagination size to all tables ([@rigelk](https://github.com/rigelk))
   * Add empty states to all tables ([@rigelk](https://github.com/rigelk))
   * Add generic text filter to all admin tables ([@rigelk](https://github.com/rigelk))
   * Fix `z-index` for tooltips, modals and their button to prevent overlaps ([@rigelk](https://github.com/rigelk))
Chocobozzz's avatar
Chocobozzz committed
794
   * And many others!
Chocobozzz's avatar
Chocobozzz committed
795
 * :tada: Improve video abuses admin table ([@rigelk](https://github.com/rigelk)):
Rigel Kent's avatar
Rigel Kent committed
796 797
   * Add in-text specific search filters
   * Reports can be linked to directly
Chocobozzz's avatar
Chocobozzz committed
798
   * Rich reporter field
Rigel Kent's avatar
Rigel Kent committed
799 800
   * 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
Chocobozzz's avatar
Chocobozzz committed
801 802
   * Add many actions (on the video, on the reporter)
   * Don't remove a report when a video is deleted
Rigel Kent's avatar
Rigel Kent committed
803
 * Add information on a video abuse within its notification email ([@rigelk](https://github.com/rigelk))
Chocobozzz's avatar
Chocobozzz committed
804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819
 * Add ability for video owners to delete comments
 * Add filter inputs for blacklisted videos and muted accounts/servers ([@rigelk](https://github.com/rigelk))
 * Video import improvements:
   * Support subtitles when importing a video ([@kimsible](https://github.com/kimsible))
   * Generate thumbnail/preview from URL and inject them in the video edit form ([@kimsible](https://github.com/kimsible))
   * Support `licence` and `language` fields
   * Support audio file imports
 * Support WMA and WAV audio files upload
 * Support drag and drop for video upload/torrent import ([@rigelk](https://github.com/rigelk))
 * Add video file metadata to download modal ([@rigelk](https://github.com/rigelk))
 * Add views stats for channels ([@rigelk](https://github.com/rigelk))
 * Add more information about the user in the edit form ([@rigelk](https://github.com/rigelk))
 * Server optimizations:
   * Add cache for some immutable models
   * Don't refresh videos when processing a view
   * Optimize view endpoint
Rigel Kent's avatar
Rigel Kent committed
820
   * Completely rewritten SQL query to list videos
Chocobozzz's avatar
Chocobozzz committed
821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840
   * 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](https://github.com/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](https://github.com/rigelk))
 * Add `sendmail` support ([@immae](https://github.com/immae)) to `smtp` 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](https://github.com/rigelk))
 * Fix load more comments on infinite scroll ([@ipbc-dev](https://github.com/ipbc-dev))
 * Fix CSP issue on WebFinger service ([@ZanyMonk](https://github.com/ZanyMonk))
 * Fix federation with Pleroma
Chocobozzz's avatar
Chocobozzz committed
841 842
 * Fix Safari and iOS  video play
 * Fix broken HLS player on old Edge
Chocobozzz's avatar
Chocobozzz committed
843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863
 * 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](https://github.com/rigelk))
 * Fix admin table column invalid sort error
 * Fix outbox crawling max page/timeout (when an admin follows an instance with many videos)
 * Add CORS to ActivityPub routes
 * Fix my video imports table display when a video gets deleted ([@rigelk](https://github.com/rigelk))
 * Fix peertube/import scripts `comment-enabled`, `wait-transcoding` and `download-enabled` options
 * Don't leak unlisted videos in comments feed
 * Do not display deleted comments or muted accounts/instances in RSS feed
 * Fix HLS audio only transcoding
 * Fix playlist creation/update with a long description
 * Fix links of same instance in video description
 * Fix REPL script
Chocobozzz's avatar
Chocobozzz committed
864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890
 * Fix broken client when cookies are disabled
 * Fix upload button color in dark mode
 * Explicit theme colors for inputs and textarea
 * Fix input/textarea themes
 * Fix action button icons theme
 * Fix grey color theme
 * Fix regression scrollbar bgcolor mdtextarea maximized-mode ([@kimsible](https://github.com/kimsible))


**since v2.2.0-rc.1**

### Bug fixes

 * Fix broken migration introduced in 2.2.0-rc.1 in docker
 * Fix sort icons in tables
 * Fix action button overflow in tables
 * Fix broken client when cookies are disabled
 * Fix upload button color in dark mode
 * Explicit theme colors for inputs and textarea
 * Fix input/textarea themes
 * Fix dropdown menu overflow
 * Fix notifications with dark theme
 * Fix action button icons theme
 * Fix grey color theme
 * Fix regression scrollbar bgcolor mdtextarea maximized-mode ([@kimsible](https://github.com/kimsible))
 * Fix broken emails

Chocobozzz's avatar
Chocobozzz committed
891 892


Chocobozzz's avatar
Chocobozzz committed
893 894 895 896 897 898 899 900 901 902 903 904 905
## 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
Chocobozzz's avatar
Chocobozzz committed
906

Chocobozzz's avatar
Chocobozzz committed
907

Chocobozzz's avatar
Chocobozzz committed
908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926
## 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 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
Chocobozzz's avatar
Chocobozzz committed
927

Chocobozzz's avatar
Chocobozzz committed
928 929 930 931
### Documentation

We added some sections in the documentation website:

Chocobozzz's avatar
Chocobozzz committed
932 933 934 935 936 937 938
 * 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
Chocobozzz's avatar
Chocobozzz committed
939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972

### Docker

 * Sticking to one env-var management system ([@Leopere](https://github.com/Leopere)) (See https://github.com/Chocobozzz/PeerTube/pull/2247)
 * Simplify Dockerfile and slim Docker image ([@Nutomic](https://github.com/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](https://github.com/rigelk))
 * Add `isLoggedIn` helper to client plugins ([@rigelk](https://github.com/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](https://github.com/rigelk))
   * `filter:api.signup.registration.create.params` ([@rigelk](https://github.com/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

 * 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
Chocobozzz's avatar
Chocobozzz committed
973
 * Add ability to generate HLS videos using `create-transcoding-job` script (see [the documentation](https://docs.joinpeertube.org/maintain-tools?id=create-transcoding-jobjs))
Chocobozzz's avatar
Chocobozzz committed
974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030
 * Update nginx template: (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx))
   * 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` and `anonymizeIP` log options in configuration file

### Features

 * :tada: Add *internal* video privacy mode. *Internal* videos are only available to other logged in users of your instance, and are not federated
 * :tada: Add hyperlink video timestamps in comments & video descriptions ([@Lesterpig](https://github.com/lesterpig) & [@rigelk](https://github.com/rigelk))
 * :tada: Comments improvements:
   * Support basic markdown
   * Soft delete video comments instead of destroying them ([@alcalyn](https://github.com/alcalyn))
   * Add commentator name alongside fid for video comments ([@rigelk](https://github.com/rigelk))
   * Add a cancel button in comment form ([@rigelk](https://github.com/rigelk))
   * Show number of comments under a video in watch page ([@rigelk](https://github.com/rigelk))
   * Add user moderation dropdown ([@rigelk](https://github.com/rigelk))
   * Add ability to sort comments by *total replies* or *created date* ([@rigelk](https://github.com/rigelk))
   * Add *total replies from video author* indicator ([@rigelk](https://github.com/rigelk))
   * Comment name emphasis for video author ([@rigelk](https://github.com/rigelk))
 * Add "Watch later" button in video miniature overlay ([@rigelk](https://github.com/rigelk))
 * Add ability to transcode videos in an audio only video container ([@Yetangitu](https://github.com/Yetangitu))
 * Add playlist search input in *add to playlist* dropdown ([@rigelk](https://github.com/rigelk))
 * Add search bars for a user's videos and playlists ([@rigelk](https://github.com/rigelk))
 * Support playlists in share modal
 * Better UI for a better world:
   * Add play/pause bezels to the video player ([@rigelk](https://github.com/rigelk))
   * Use icons instead of buttons in watch page (like/dislike, support...) ([@rigelk](https://github.com/rigelk))
   * Improve *PeerTube* section in About page and add links to the documentation
   * Improve comment tree in Watch page
   * Improve dropdown box shadow ([@rigelk](https://github.com/rigelk))
   * Add channel avatar to watch view ([@rigelk](https://github.com/rigelk))
   * Improve likes-dislikes bar usability
   * Alter titles section header style ([@rigelk](https://github.com/rigelk))
   * Enhance jobs list display on smaller screens ([@alcalyn](https://github.com/alcalyn))
   * Add a button in the videos from subscriptions page to manage subscriptions ([@rigelk](https://github.com/rigelk))
   * Add duration to video attributes in watch view ([@rigelk](https://github.com/rigelk))
   * Add a message in the login form when signup is disabled for people that are looking for an account ([@rigelk](https://github.com/rigelk))
   * Add "Manage" button in owned account and channels pages ([@rigelk](https://github.com/rigelk))
   * Improve password input accessibility ([@rigelk](https://github.com/rigelk))
   * Add descriptions in moderation dropdown ([@rigelk](https://github.com/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](https://github.com/rigelk))
   * Add ability to sort results
   * Improve tags filter inputs
   * Add a button to reset filters
 * Improve autoplay: ([@rigelk](https://github.com/rigelk))
Chocobozzz's avatar
Chocobozzz committed
1031
   * Autoplay next video switch for both user and visitors
Chocobozzz's avatar
Chocobozzz committed
1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084
   * 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](https://github.com/rigelk))
 * Add a button in account page to follow all account channels ([@rigelk](https://github.com/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](https://github.com/rigelk))
 * Explicit the tag limit in video form ([@bikepunk](https://github.com/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](https://github.com/rigelk))
 * Add server config to the nodeinfo metadata ([@rigelk](https://github.com/rigelk))
 * Improve notification popup interactivity ([@rigelk](https://github.com/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](https://github.com/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](https://github.com/JohnXLivingston))
 * Fix wrong audio only resolution label for hls
 * Fix AP icon URL for imported videos
 * Fix octet stream fallback for video ext
Chocobozzz's avatar
Chocobozzz committed
1085

Chocobozzz's avatar
Chocobozzz committed
1086 1087 1088 1089 1090 1091 1092 1093 1094 1095
**since v2.1.0-rc.1**

### Bug fixes

 * Fix wrong audio only resolution label for hls
 * Fix AP icon URL for imported videos
 * Fix embed on mastodon
 * Fix octet stream fallback for video ext


Chocobozzz's avatar
Chocobozzz committed
1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115
## v2.0.0

**Since v1.4.1**

### IMPORTANT NOTES

 * Removed old JSON LD signature implementation. There will be some **federation incompatibilities** with forwarded activities sent
  by PeerTube instances < v2.0.0
 * Replaced configuration key `email.object` with `email.subject`: https://github.com/Chocobozzz/PeerTube/commit/916937d7daf386e4e2d37b2ca22db07b644b02df

### Plugins/Themes API

 * Add plugin hook on registration `filter:api.user.signup.allowed.result`

### Docker

 * Fix traefik version docker compose (**you need to update your `docker-compose.yml` file**: https://github.com/Chocobozzz/PeerTube/commit/f1b38883922fd59b36f093e44a5091e090d20862)

### Maintenance

1116
 * Add `--tmpdir`, `--first`, `--last` and `--verbose [level]` parameters to peertube-import-videos script ([@Yetangitu](https://github.com/Yetangitu))
Chocobozzz's avatar
Chocobozzz committed
1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153
 * Improve REST API documentation ([@frankstrater](https://github.com/frankstrater))
 * Improve plugin management documentation

### Features

 * Better instance admin responsibility:
   * Add ability to set more information about your instance. This will be used in the future on https://joinpeertube.org to help people find
   the appropriate PeerTube instance on which they can register:
     * Main **Categories**
     * **Languages** you/your moderators speak
     * **Code of Conduct**
     * **Moderation information** (who moderates your instance, NSFW policy etc)
     * Who is **behind the instance** (a single person? non-profit?)
     * Why did the admin **create this instance**
     * How long the admin plan to **maintain the instance**
     * How the administrator **will finance** the PeerTube server
     * **Hardware** information
   * Add these information in the about page and in the signup page
   * Add a welcome modal at first admin login with some explanations of PeerTube and some useful links
   * Add warning modal when administrators enable or enabled signup but did not fill some important instance information
   (for now the instance **name**, **terms**, **administrator** and **maintenance lifetime** information)
 * Add ability to automatically follow back other instances
 * Add ability to automatically follow [the public registry](https://instances.joinpeertube.org/) instances
 * Add *Most liked videos* page ([@alcalyn](https://github.com/alcalyn))
 * Add a drag&drop delay on playlist videos to allow user scroll on small screens ([@alcalyn](https://github.com/alcalyn))
 * Allow to toggle video publication date to display absolute date ([@alcalyn](https://github.com/alcalyn))
 * Add statistics in about page ([@alcalyn](https://github.com/alcalyn))
 * Improve the *feature table* in about page
 * Add contributors in about page
 * Clearer warning of IP address leaking on embedded videos ([@robinkooli](https://github.com/robinkooli))
 * Case insensitive search on video tags
 * Add video name in "video publish notification"
 * Add ability to autoplay next recommended video (opt in) ([@LoveIsGrief](https://github.com/LoveIsGrief))
 * Add link behind the subscribe via RSS button ([@frankstrater](https://github.com/frankstrater))
 * Support text/plain caption files
 * Speedup theme injection
 * Add ability to enable HLS in the admin panel
Chocobozzz's avatar
Chocobozzz committed
1154

Chocobozzz's avatar
Chocobozzz committed
1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177
### Bug fixes

 * Fix audio upload
 * Handle video reports from mastodon
 * Fix videos redundancy exceeding the limit
 * Fix search when user defined video languages in their preferences
 * Don't quick transcode with the wrong pixel format
 * Hide videos abuses of muted accounts
 * Fix account avatar widths
 * Fix default `commentsEnabled` and `downloadEnabled` values on video upload/import ([@frankstrater](https://github.com/frankstrater))
 * Disable auto complete of email field when editing another user information in admin panel ([@Knackie](https://github.com/Knackie))
 * Fix federation issues with some actors (that have long descriptions, or missing optional AP fields)
 * Remove down redundancy endpoints in HLS player
 * Fix user notifications with multiple opened tabs
 * Replace "overview" by "discover" in webpage titles
 * Clearer IP debug message in admin panel
 * Fix checkbox styles when using a theme
 * Don't redirect on verify account page after login
 * Fix player captions menu after choosing a subtitle
 * Fix CLI scripts with URLs ending with a `/`
 * Fix `--since` and `--until` timezone in `peertube-import-videos` script
 * Avoid circular error in logger
 * Fix start/stop of first element when loading a playlist
Chocobozzz's avatar
Chocobozzz committed
1178

Chocobozzz's avatar
Chocobozzz committed
1179 1180 1181
***Since v2.0.0-rc.1***

### Features
Chocobozzz's avatar
Chocobozzz committed
1182

Chocobozzz's avatar
Chocobozzz committed
1183 1184
 * Improve welcome/warning modals
 * Add ability to enable HLS in the admin panel
Chocobozzz's avatar
Chocobozzz committed
1185

Chocobozzz's avatar
Chocobozzz committed
1186 1187 1188 1189
### Bug fixes

 * Fix auto index follow
 * Fix CLI scripts with URLs ending with a `/`
Chocobozzz's avatar
Chocobozzz committed
1190
 * Fix `--since` and `--until` timezone in `peertube-import-videos` script ([@fflorent](https://github.com/fflorent))
Chocobozzz's avatar
Chocobozzz committed
1191 1192
 * Avoid circular error in logger
 * Fix start/stop of first element when loading a playlist
Chocobozzz's avatar
Chocobozzz committed
1193

Chocobozzz's avatar
Chocobozzz committed
1194

Chocobozzz's avatar
Chocobozzz committed
1195 1196 1197 1198 1199 1200 1201 1202 1203 1204
## v1.4.1

### Bug fixes

 * Fix too fast redundancy eviction
 * Fix broken auto blacklist page
 * Rename signup steps
 * Fix menu x overflow


Chocobozzz's avatar
Chocobozzz committed
1205 1206
## v1.4.0

Chocobozzz's avatar
Chocobozzz committed
1207
**Since v1.3.1**
Chocobozzz's avatar
Chocobozzz committed
1208 1209 1210

### IMPORTANT NOTES

Chocobozzz's avatar
Chocobozzz committed
1211
 * **Important:** Add `plugins` directory in configuration file. **You should configure it in your production.yaml**
Chocobozzz's avatar
Chocobozzz committed
1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237
 * **Important:** Deprecate NodeJS 8 (support ends on [December 2019](https://github.com/nodejs/Release#release-schedule)). Please upgrade to NodeJS 10.
 * **Important:** Updated nginx template (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx))
   * Fix long server responses on dual stack servers: https://github.com/Chocobozzz/PeerTube/commit/fd2ddcae8ff4eb10bf7168ac3c8801f06b37627f
   * Improve images HTTP cache: https://github.com/Chocobozzz/PeerTube/commit/c928e1364fbdff87f27fd982710b95426a250491
 * **Important:** With the new theme system, we removed the dark mode button. Your administrator has to install [the dark theme](https://framagit.org/framasoft/peertube/official-plugins/tree/master/peertube-theme-dark)
 from their admin panel, and then users can choose this theme in their settings
 * Changed the playlist REST API to fix various issues. See https://github.com/Chocobozzz/PeerTube/pull/1998 for more information
 * Removed magnet URI support in download modal since most of the BitTorrent clients do not understand the `xs` parameter
 * Renamed `Overview` page to `Discover`

### Security

 * Moderators can only create and update regular users (thanks GGC-Project)

### Maintenance

 * Create a dedicated `package.json` for CLI tools to reduce server dependencies size
 * Add ability to set root password by environment at first start ([@darnuria](https://github.com/darnuria))
 * Removed unused `uuid` actor field (we already have a unique identifier that is the `preferredUsername`)
 * Add ability to disable PeerTube log rotation ([@NassimBounouas](https://github.com/NassimBounouas))
 * Speedup font display ([@BO41](https://github.com/BO41))
 * Improve static files HTTP cache
 * Add `--since` and `--until` parameters to import videos script to easily sync external channels ([@fflorent](https://github.com/fflorent))
 * Optimize `/watch/:uuid` endpoint
 * Optimize Sequelize (SQL ORM) queries generation (consumes less CPU)
 * Prune script is faster and can prune avatar files
Chocobozzz's avatar
Chocobozzz committed
1238

Chocobozzz's avatar
Chocobozzz committed
1239 1240 1241
### Features

 * :tada: Support Finnish, Greek and Scottish Gaelic languages
Chocobozzz's avatar
Chocobozzz committed
1242
 * :tada: Add basic plugins and themes support (**beta**): https://docs.joinpeertube.org/contribute-plugins
Chocobozzz's avatar
Chocobozzz committed
1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278
   * Install plugins or themes from the administration panel
   * Choose a default theme for your instance
   * Users can choose the theme they want among the list of themes their administrator installed
 * :tada: Add ability to upload audio files: PeerTube will merge the audio file and the thumbnail to create a video
 * Multi step registration:
   * Add ability for new users to create their default channel
   * Guess the account username/channel username according to their display name
   * Add explanations about what the purpose of a username/channel name is, and what a channel is
 * Improve account video channels page:
   * Set it as the default page for the account page in order to avoid confusion between the account homepage and the video channel homepage
   * Display channels in rows with some of their videos
 * Support more URL parameters in embeds: `muted`, `loop`, `peertubeLink`
 * Redesign share modal and add customizations:
   * Start/stop at a specific timestamp
   * Automatically play/mute/loop the video
   * Set a specific subtitle by default
 * Group subscriptions and recently added videos in chronological order
 * Add ability for users to change their email address
 * Add ability to update the support field of all channel videos when we update the channel support field
 * Add a language filter in user preferences to display only videos in specific languages
 * Add instance follows list in a dedicated tab in the "About" page
 * Add ability to set to private a public/unlisted video or video playlist
 * Transcode in the `tmp` directory for s3fs compatibility ([@libertysoft3](https://github.com/libertysoft3))
 * Add a button to copy account username ([@NassimBounouas](https://github.com/NassimBounouas))
 * Redirect to "Local videos" page when going to the `peertube` account page
 * Rearrange search filter options ([@realityfabric](https://github.com/realityfabric))
 * Close modal after clicking on download ([@LeoMouyna](https://github.com/LeoMouyna))
 * Add ability for admins to customize emails object prefix and body signature ([@yohanboniface](https://github.com/yohanboniface))
 * Support 4K transcoding
 * Add link of the follower profile in administration ([@NassimBounouas](https://github.com/NassimBounouas))
 * Add subject field in contact form ([@NassimBounouas](https://github.com/NassimBounouas))
 * Add rate limit to registration and API endpoints
 * Add "video quota used" sortable column in user admin list ([@darnuria](https://github.com/darnuria))
 * Automatically update the playlist thumbnail according to the video at the first position (if the user did not set a specific thumbnail)
 * Automatically remove dead followings
 * Federate comment deletion if the comment was deleted by the video owner
Chocobozzz's avatar
Chocobozzz committed
1279

Chocobozzz's avatar
Chocobozzz committed
1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330
### Bug fixes

 * Fix transcoding information in features table ([LiPek](https://github.com/LiPeK))
 * Fix tools auth with remote instances
 * Fix various issues in upload/import scripts
 * Fix redundancy exceeded quota
 * Fix login with email ([@NassimBounouas](https://github.com/NassimBounouas))
 * Fix quota display in features table
 * Fix transcoding help placement
 * Fix invisible videos in playlists
 * Fix HLS transcoding in lower resolutions
 * Fix various federation issues
 * Fix mute badge labels
 * Fix broken follow notification when the actor is deleted
 * Fix overflow and playlist block width in the watch page
 * Fix search results overflow on mobile
 * Fix infinite scroll on big screens
 * Fix start time on some HLS videos
 * Fix socket notification with multiple user tabs
 * Fix redundancy if the instance has already the file on disk
 * Fix image and plugin CSP
 * Fix video rows overflow
 * Dismiss modals on pop state
 * Go back when cancel NSFW modal


***Since v1.4.0-rc.1***

### Features

 * Add Finnish language support

### Bug fixes

 * Fix broken front end on Firefox ESR (60)
 * Fix prune storage script when using a same directory for multiple storage keys
 * Relax plugin `package.json` validation
 * Replace "overview" by "discover" in client titles
 * Change configuration: `email.object` becomes `email.subject`
 * Fix user creation by moderators
 * Fix video playlist element removal
 * Fix plugin card background color with dark theme
 * Fix lazy static route with unknown avatars (404 instead of 500)
 * Fix socket notification with multiple user tabs
 * Fix redundancy if the instance has already the file on disk
 * Fix image and plugin CSP
 * Fix video rows overflow
 * Dismiss modals on pop state
 * Go back when cancel NSFW modal


Chocobozzz's avatar
Chocobozzz committed
1331 1332 1333 1334 1335 1336 1337 1338 1339
## v1.3.1

### Bug fixes

 * Fix Mastodon remote interactions
 * Fix missing video download button
 * Fix error in video upload/update form when scheduling publication
 * Fix black theme on some pages
 * Fix video import if auto blacklist is enabled
Chocobozzz's avatar
Chocobozzz committed
1340

Chocobozzz's avatar
Chocobozzz committed
1341

Chocobozzz's avatar
Chocobozzz committed
1342 1343 1344 1345 1346 1347 1348 1349
## v1.3.0

**Since v1.2.0**

### IMPORTANT NOTES

 * **nginx** Remove `text/html` from `gzip_types`: https://github.com/Chocobozzz/PeerTube/commit/7eeb6a0ba4028d0e20847b846332dd0b7747c7f8 [@bnjbvr](https://github.com/bnjbvr)
 * Add `streaming_playlists` directory in configuration file. **You should configure it in your production.yaml**
Chocobozzz's avatar
Chocobozzz committed
1350 1351
 * CSP configuration changed: it's now in a [dedicated section](https://github.com/Chocobozzz/PeerTube/blob/develop/config/production.yaml.example#L110)

Chocobozzz's avatar
Chocobozzz committed
1352
### Maintenance
Chocobozzz's avatar
Chocobozzz committed
1353 1354 1355 1356 1357 1358 1359

 * Add GitPod support ([@jankeromnes](https://github.com/jankeromnes)) that could help people to contribute on PeerTube: https://github.com/Chocobozzz/PeerTube/blob/develop/.github/CONTRIBUTING.md#online-development
 * Add reminder to restart PeerTube in upgrade script ([@ldidry](https://github.com/ldidry))
 * Add argument to dockerfile to pass options to npm run build ([@NaPs](https://github.com/NaPs))
 * Add `NOCLIENT` env support to only install server dependencies. Example: `NOCLIENT=true yarn install --pure-lockfile` ([@rigelk](https://github.com/rigelk))

### Docker
Chocobozzz's avatar
Chocobozzz committed
1360

Chocobozzz's avatar
Chocobozzz committed
1361 1362
 * **Important:**: Add host network mode to the reverse proxy section (without this, it could break videos views and P2P: https://github.com/Chocobozzz/PeerTube/issues/1643#issuecomment-464789666)
 * **Important:**: Add a network section to [docker-compose.yml template](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/docker-compose.yml)
Chocobozzz's avatar
Chocobozzz committed
1363 1364 1365 1366
and update your [.env](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/.env#L8) to fix IP forwarding issue ([@Nutomic](https://github.com/nutomic))
 * Fix SMTP default configuration ([@Nutomic](https://github.com/nutomic))

### Features
Chocobozzz's avatar
Chocobozzz committed
1367

Chocobozzz's avatar
Chocobozzz committed
1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448
 * Add video playlist support
   * A user has a default `Watch-later` playlist
   * A user can create private, unlisted or public playlists
   * An element in this playlist can start or stop at specific timestamps (you can create some kind of zapping for example)
   * The difference with a channel is that you cannot subscribe to a playlist, but you can add videos from any other user in your playlist.
   It's useful to organize your videos, or create a playlist of videos you like and share the link on the web etc
 * Add quarantine videos (auto blacklist videos on upload) feature :tada: ([@joshmorel](https://github.com/joshmorel))
 * Add Japanese & Nederlands & Português (Portugal) support
 * Add experimental HLS support
   * Better playback
   * Better bandwidth management (for both client & server)
   * Needs to store another video file per resolution, so enabling this option multiplies the videos storage by 2 (only new uploaded videos, this is not retroactive)
   * Requires ffmpeg >= 4
 * Better instance's followers management:
   * Add ability to remove an instance's follower
   * Add ability to forbid all new instance's followers
   * Add ability to manually approve new instance's followers
   * Add notification on new instance's follower
 * Improve UI:
   * Increase player default height
   * Reduce big play button border width
   * Increase thumbnail sizes
   * Add hover effect on video miniature
   * Add "my library" section in menu
   * Add missing icons in some buttons/dropdown
   * 2 rows per overview section
   * Increase video thumbnail blur ([@Zig-03](https://github.com/Zig-03))
   * Improve video miniatures list on mobile
   * Add animation when opening user notifications
 * Add ability for admins to disable the tracker (and so the P2P aspect of PeerTube, in order to improve users privacy for example)
 * Add original publication date attribute to videos, and add ability to filter on it (Andrés Maldonado)
 * Add video miniature dropdown
 * Add ability for admins to declare their instance as dedicated to NSFW content
 * Improve SEO (there is still work to be done)
 * Login is now case insensitive (if using official web client)
 * Add NSFW policy & users signup policy & auto blacklist strategy in features table in about page
 * Improve comment deletion warning
 * Restore videos list component on history back
 * Add ability to consult server logs in admin
 * Allow administrators to change/reset a user's password ([@rigelk](https://github.com/rigelk))
 * Add a debug page to help admins to fix IP configuration issues
 * Add ability for admins to limit users videos history size
 * Add ability for admins to delete old remote videos views (reduce database size)
 * Optimize video update page load
 * Less refresh jobs
 * Cleanup invalid AP rates/comments/shares
 * Better videos redundancy config error handling
 * Check emails are enabled if the admin requires email verification ([@joshmorel](https://github.com/joshmorel))
 * Add `Add /accounts/:username/ratings endpoint` ([@yohanboniface](https://github.com/yohanboniface))
 * Allow to control API rates limit from configuration ([@yohanboniface](https://github.com/yohanboniface))

### Bug fixes

 * Don't notify prior to scheduled update ([@joshmorel](https://github.com/joshmorel))
 * Fix account description database error
 * Fix Pleroma follow
 * Fix greek label
 * Fix email notification for some users
 * Fix translation of "Copy magnet URI"
 * Fix negative seconds by displaying 0 instead [@zacharystenger](https://github.com/zacharystenger)
 * Fix URL in video import notification
 * Don't close help popover when clicking on it
 * Fix `tmp` directory cleanup
 * Fix custom CSS help
 * Fix JSONLD context
 * Fix privacy label display in upload form
 * Fix my account settings responsiveness
 * Fix keyboard icon transparency ([@gbip](https://github.com/gbip))
 * Fix contact admin button overflow
 * Wait config to be loaded before loading login/signup
 * Privacy is optional in upload API endpoint
 * Fix hotkeys help popup overflow

***Since v1.3.0-rc.2***

### Bug fixes

 * Fix duplicates in playlist add component
 * Fix crash in files cache
 * Fix playlist view/update 403
 * Fix search with bad webfinger handles
Chocobozzz's avatar
Chocobozzz committed
1449

Chocobozzz's avatar
Chocobozzz committed
1450

Chocobozzz's avatar
Chocobozzz committed
1451 1452
## v1.2.1

Chocobozzz's avatar
Chocobozzz committed
1453
### Bug fixes
Chocobozzz's avatar
Chocobozzz committed
1454

Chocobozzz's avatar
Chocobozzz committed
1455
 * **Important:** Fix invalid `From` email header in contact form that could lead to the blacklisting of your SMTP server
Chocobozzz's avatar
Chocobozzz committed
1456 1457 1458 1459 1460 1461 1462
 * Fix too long display name overflow in menu
 * Fix mention notification when a remote account mention a local account that has the same username than yours
 * Fix access to muted servers table for moderators
 * Don't crash notification popup on bug
 * Fix reset password script that leaks password on invalid value


Chocobozzz's avatar
Chocobozzz committed
1463
## v1.2.0
Chocobozzz's avatar
Chocobozzz committed
1464 1465 1466 1467

### BREAKING CHANGES

 * **Docker:** `PEERTUBE_TRUST_PROXY` env variable is now an array ([LecygneNoir](https://github.com/LecygneNoir))
Chocobozzz's avatar
Chocobozzz committed
1468
 * **Docker:** Check you have all the storage fields in your `/config/production.yaml` file: https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/production.yaml#L34
Chocobozzz's avatar
Typos  
Chocobozzz committed
1469
 * **nginx:** Add redundancy endpoint in static file. **You should add it in your nginx configuration: https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx**
Chocobozzz's avatar
Chocobozzz committed
1470
 * **nginx:** Add socket io endpoint. **You should add it in your nginx configuration: https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx**
Chocobozzz's avatar
Chocobozzz committed
1471 1472 1473 1474 1475 1476
 * Moderators can manage users now (add/delete/update/block)
 * Add `tmp` and `redundancy` directories in configuration file. **You should configure them in your production.yaml**

### Maintenance

 * Check free storage before upgrading in upgrade script ([@Nutomic](https://github.com/nutomic))
Chocobozzz's avatar
Typos  
Chocobozzz committed
1477
 * Explain that PeerTube must be stopped in prune storage script
Chocobozzz's avatar
Chocobozzz committed
1478 1479 1480 1481 1482 1483 1484 1485 1486
 * Add some security directives in the systemd unit configuration file ([@rigelk](https://github.com/rigelk) & [@mkoppmann](https://github.com/mkoppmann))
 * Update FreeBSD startup script ([@gegeweb](https://github.com/gegeweb))

### Docker

 * Patch docker entrypoint to speed up the chown at startup ([LecygneNoir](https://github.com/LecygneNoir))

### Features

Chocobozzz's avatar
Typos  
Chocobozzz committed
1487
 * Add Russian, Polish and Italian languages
Chocobozzz's avatar
Chocobozzz committed
1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506
 * Add user notifications:
   * Notification types:
     * Comment on my video
     * New video from my subscriptions
     * New video abuses (for moderators)
     * Blacklist/Unblacklist on my video
     * Video import finished (error or success)
     * Pending video published (after transcoding or a scheduled update)
     * My account or one of my channel has a new follower
     * Someone (except muted accounts) mentioned me in comments
     * A user registered on the instance (for moderators)
   * Notification actions:
     * Add a web notification
     * Send an english email
 * Add contact form in about page (**enabled by default**)
 * Add ability to unfederate a local video in blacklist modal (**checkbox checked by default**)
 * Support additional video extensions if transcoding is enabled (**enabled by default**)
 * Redirect to the last url on login
 * Add ability to automatically set the video caption in URL. Example: https://peertube2.cpy.re/videos/watch/9c9de5e8-0a1e-484a-b099-e80766180a6d?subtitle=ru
Chocobozzz's avatar
Typos  
Chocobozzz committed
1507
 * Automatically enable the last selected caption when watching a video
Chocobozzz's avatar
Chocobozzz committed
1508 1509
 * Add ability to disable, clear and list user videos history
 * Add a button to help to translate peertube
Chocobozzz's avatar
Typos  
Chocobozzz committed
1510
 * Add text in the report modal to explain to whom the report will be sent
Chocobozzz's avatar
Chocobozzz committed
1511 1512 1513 1514 1515 1516 1517 1518 1519 1520
 * Open my account menu entries on hover
 * Explain what features are enabled on the instance in the about page
 * Add an error message in the forgot password modal if the instance email system is not configured
 * Add sitemap
 * Add well known url to change password ([@rigelk](https://github.com/rigelk))
 * Remove 8GB video upload limit on client side. There may still be such limit depending on the reverse proxy configuration ([@scanlime](https://github.com/scanlime))
 * Add CSP ([@rigelk](https://github.com/rigelk) & [@Nutomic](https://github.com/nutomic))
 * Update title and description HTML tags when rendering video HTML page