]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - CHANGELOG.md
Fix is managaeble error
[github/Chocobozzz/PeerTube.git] / CHANGELOG.md
CommitLineData
e33b53ab
C
1# Changelog
2
8b7bd166
C
3## v2.1.0-rc.1
4
5### IMPORTANT NOTES
6
7 * **/!\ 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:
366b21f1 8 * `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`
8b7bd166
C
9 * **/!\ VERY IMPORTANT /!\\** In the next PeerTube release (v2.2.0), we'll add a unique index on actors usernames to fix some federation bugs.
10 Please check now if you have conflicts using:
a56053a2 11 * Go inside your database using `psql` and run `select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) > 1`
8b7bd166
C
12 * If you have some results, it seems you have duplicate channels/accounts.
13 For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique).
14 The updated actors could have some federations issues
15 * We now use Buster for the docker image, so the image name changed:
366b21f1
C
16 * `production-stretch` becomes `production-buster`
17 * `v2.x.x-stretch` becomes `v2.x.x-buster`
7cde3b9c 18 * Users cannot create more than 20 channels now to avoid UX and actor name squatting issues
8b7bd166
C
19 * We added a warning if the `videos` directory is the same than the `redundancy` one in your configuration file: it can create some bugs
20
21### Documentation
22
23We added some sections in the documentation website:
24
25 * S3 remote storage: https://docs.joinpeertube.org/#/admin-remote-storage
26 * Instances redundancy: https://docs.joinpeertube.org/#/admin-following-instances
27 * Moderate your instance: https://docs.joinpeertube.org/#/admin-moderation
28 * Customize your instance (install plugins & themes): https://docs.joinpeertube.org/#/admin-customize-instance
29 * PeerTube logs (standard log/audit log): https://docs.joinpeertube.org/#/admin-logs
30 * Mute accounts/instances: https://docs.joinpeertube.org/#/use-mute
31 * Controlled player embed API: https://docs.joinpeertube.org/#/api-em
32
33### Docker
34
35 * Sticking to one env-var management system ([@Leopere](https://github.com/Leopere)) (See https://github.com/Chocobozzz/PeerTube/pull/2247)
36 * Simplify Dockerfile and slim Docker image ([@Nutomic](https://github.com/nutomic))
37 * Add HLS support in Docker container by using the latest Debian stable (Buster) image
38
39### Plugins/Themes API
40
366b21f1
C
41 * Add checkbox and textarea as possible input types for settings ([@rigelk](https://github.com/rigelk))
42 * Add `isLoggedIn` helper to client plugins ([@rigelk](https://github.com/rigelk))
8b7bd166
C
43 * Add client plugin hooks:
44 * `action:video-watch.player.loaded` with player instance
45 * `action:video-watch.video.loaded` with a videojs instance
46 * `action:signup.register.init` ([@rigelk](https://github.com/rigelk))
47 * `filter:api.signup.registration.create.params` ([@rigelk](https://github.com/rigelk))
48 * `filter:internal.video-watch.player.build-options.params`
49 * `filter:internal.video-watch.player.build-options.result`
50 * `filter:internal.common.svg-icons.get-content.params`
51 * `filter:internal.common.svg-icons.get-content.result`
52 * Add server plugins hooks:
53 * `action:api.user.blocked`
54 * `action:api.user.unblocked`
55 * `action:api.user.registered`
56 * `action:api.user.created`
57 * `action:api.user.deleted`
58 * `action:api.user.updated`
59 * `action:api.user.oauth2-got-token`
60 * Accept `.` `_` and `0-9` characters in plugin names
61
62### Maintenance
63
64 * PeerTube moved translations from Zanata to Weblate. Here is the new translations website URL: https://weblate.framasoft.org/projects/peertube/
65 * We now provide a JavaScript library to control a PeerTube embed: https://www.npmjs.com/package/@peertube/embed-api
366b21f1 66 * Add ability to generate HLS videos using `create-transcoding-job` script (see [the documentation](https://docs.joinpeertube.org/#/maintain-tools?id=create-transcoding-jobjs))
8b7bd166
C
67 * Update nginx template: (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx))
68 * Add streaming playlists endpoint
69 * Add `client_body_temp_path` hint
70 * Relax TLS/SSL ciphers hardening to allow Android 4.4.2 to use the PeerTube instance API
71 * Add `maxFileSize`, `maxFiles` and `anonymizeIP` log options in configuration file
72
73### Features
74
75 * :tada: Add *internal* video privacy mode. *Internal* videos are only available to other logged in users of your instance, and are not federated
366b21f1 76 * :tada: Add hyperlink video timestamps in comments & video descriptions ([@Lesterpig](https://github.com/lesterpig) & [@rigelk](https://github.com/rigelk))
8b7bd166
C
77 * :tada: Comments improvements:
78 * Support basic markdown
79 * Soft delete video comments instead of destroying them ([@alcalyn](https://github.com/alcalyn))
80 * Add commentator name alongside fid for video comments ([@rigelk](https://github.com/rigelk))
366b21f1 81 * Add a cancel button in comment form ([@rigelk](https://github.com/rigelk))
8b7bd166
C
82 * Show number of comments under a video in watch page ([@rigelk](https://github.com/rigelk))
83 * Add user moderation dropdown ([@rigelk](https://github.com/rigelk))
84 * Add ability to sort comments by *total replies* or *created date* ([@rigelk](https://github.com/rigelk))
85 * Add *total replies from video author* indicator ([@rigelk](https://github.com/rigelk))
86 * Comment name emphasis for video author ([@rigelk](https://github.com/rigelk))
87 * Add "Watch later" button in video miniature overlay ([@rigelk](https://github.com/rigelk))
88 * Add ability to transcode videos in an audio only video container ([@Yetangitu](https://github.com/Yetangitu))
89 * Add playlist search input in *add to playlist* dropdown ([@rigelk](https://github.com/rigelk))
90 * Add search bars for a user's videos and playlist library ([@rigelk](https://github.com/rigelk))
91 * Support playlists in share modal
92 * Better UI for a better world:
93 * Add play/pause bezels to the video player ([@rigelk](https://github.com/rigelk))
94 * Use icons instead of buttons in watch page (like/dislike, support...) ([@rigelk](https://github.com/rigelk))
95 * Improve *PeerTube* section in About page and add links to the documentation
96 * Improve comment tree in Watch page
97 * Improve dropdown box shadow ([@rigelk](https://github.com/rigelk))
98 * Add channel avatar to watch view ([@rigelk](https://github.com/rigelk))
99 * Improve likes-dislikes bar usability
366b21f1
C
100 * Alter titles section header style ([@rigelk](https://github.com/rigelk))
101 * Enhance jobs list display on smaller screens ([@alcalyn](https://github.com/alcalyn))
8b7bd166 102 * Performances improvements:
366b21f1 103 * Lazy load categories, licences, languages and video/playlist privacies in the client
8b7bd166
C
104 * Only update remote actor avatar if the filename changed
105 * Optimize transcoding by using the lowest resolution as input file
106 * Speedup embed first paint
107 * Small videos list SQL query optimization
108 * Optimize local videos list SQL query
366b21f1 109 * Cache `peertube` instance actor SQL result
8b7bd166
C
110 * Cache HLS/WebTorrent InfoHash SQL result
111 * Improve search filters: ([@rigelk](https://github.com/rigelk))
112 * Add ability to sort results
366b21f1 113 * Improve tags filter inputs
8b7bd166
C
114 * Add a button to reset filters
115 * Improve autoplay: ([@rigelk](https://github.com/rigelk))
116 * Autoplay next video switch for both user and visitors
117 * Add *up next* screen on autoplay
118 * Autoplay next video support for playlists
119 * Add *next* video button to the player
120 * Add loop setting when watching a playlist
121 * Add ability to search a video directly by its UUID
122 * Case insensitive tags search
123 * Add ability to disable WebTorrent (and only enable HLS) (**experimental and breaks federation with PeerTube instances < 2.1**)
124 * Don't seed if the client is on a cellular network in the HLS player
125 * Load HLS player in embed by default if enabled
126 * Admin panels:
127 * Add ability to sort by *state*, *score* and *redundancy allowed* columns in following/followers admin table
128 * Add ability to filter per job type in admin
129 * Add *Audit logs* section in admin Logs panel
130 * Improve Media-RSS support ([@rigelk](https://github.com/rigelk))
131 * Explicit the tag limit in video form ([@bikepunk](https://github.com/bikepunk))
132 * Add a warning when uploading videos using root
133 * Clearer video quota label in user settings
134 * Pause the video when the user opens a modal
135 * Handle basic HTML in account descriptions
136 * Support `m4v` videos
137 * Improve 4k resolution bitrate
138 * Add missing hotkeys documentation in the watch page
139 * Add a button to copy the channel handle ([@rigelk](https://github.com/rigelk))
140 * Add server config to the nodeinfo metadata ([@rigelk](https://github.com/rigelk))
141 * Improve notification popup interactivity ([@rigelk](https://github.com/rigelk))
142
143### Bug fixes
144
145 * Don't notify if the account in on a muted instance
146 * Don't leak other notified addresses in notification emails
147 * Allow the embed iframe to open links
148 * Add missing button roles for the language chooser and keyboard shortcut menu items [@MarcoZehe](https://github.com/MarcoZehe)
149 * Fix overflow when creating a channel
150 * Fix "copy magnet URI" in player
151 * Fix text overflow in menu
152 * Fix player focus
153 * Only display accepted followers/followings instances in about page
154 * Fix brackets truncation in video description
155 * Fix channel playlist miniatures overflow
156 * Fix background color on some screens
157 * Fix captions upload issue depending on the caption name
158 * Fix file download when the video is private
159 * Fix dropdown on video miniature for unlogged users
160 * Fix video support field in update form
161 * Fix video import having a long thumbnail url (Facebook for example)
162
163
eeaeab4f
C
164## v2.0.0
165
166**Since v1.4.1**
167
168### IMPORTANT NOTES
169
170 * Removed old JSON LD signature implementation. There will be some **federation incompatibilities** with forwarded activities sent
171 by PeerTube instances < v2.0.0
172 * Replaced configuration key `email.object` with `email.subject`: https://github.com/Chocobozzz/PeerTube/commit/916937d7daf386e4e2d37b2ca22db07b644b02df
173
174### Plugins/Themes API
175
176 * Add plugin hook on registration `filter:api.user.signup.allowed.result`
177
178### Docker
179
180 * Fix traefik version docker compose (**you need to update your `docker-compose.yml` file**: https://github.com/Chocobozzz/PeerTube/commit/f1b38883922fd59b36f093e44a5091e090d20862)
181
182### Maintenance
183
8b7bd166 184 * Add `--tmpdir`, `--first`, `--last` and `--verbose [level]` parameters to peertube-import-videos script ([@Yetangitu](https://github.com/Yetangitu))
eeaeab4f
C
185 * Improve REST API documentation ([@frankstrater](https://github.com/frankstrater))
186 * Improve plugin management documentation
187
188### Features
189
190 * Better instance admin responsibility:
191 * Add ability to set more information about your instance. This will be used in the future on https://joinpeertube.org to help people find
192 the appropriate PeerTube instance on which they can register:
193 * Main **Categories**
194 * **Languages** you/your moderators speak
195 * **Code of Conduct**
196 * **Moderation information** (who moderates your instance, NSFW policy etc)
197 * Who is **behind the instance** (a single person? non-profit?)
198 * Why did the admin **create this instance**
199 * How long the admin plan to **maintain the instance**
200 * How the administrator **will finance** the PeerTube server
201 * **Hardware** information
202 * Add these information in the about page and in the signup page
203 * Add a welcome modal at first admin login with some explanations of PeerTube and some useful links
204 * Add warning modal when administrators enable or enabled signup but did not fill some important instance information
205 (for now the instance **name**, **terms**, **administrator** and **maintenance lifetime** information)
206 * Add ability to automatically follow back other instances
207 * Add ability to automatically follow [the public registry](https://instances.joinpeertube.org/) instances
208 * Add *Most liked videos* page ([@alcalyn](https://github.com/alcalyn))
209 * Add a drag&drop delay on playlist videos to allow user scroll on small screens ([@alcalyn](https://github.com/alcalyn))
210 * Allow to toggle video publication date to display absolute date ([@alcalyn](https://github.com/alcalyn))
211 * Add statistics in about page ([@alcalyn](https://github.com/alcalyn))
212 * Improve the *feature table* in about page
213 * Add contributors in about page
214 * Clearer warning of IP address leaking on embedded videos ([@robinkooli](https://github.com/robinkooli))
215 * Case insensitive search on video tags
216 * Add video name in "video publish notification"
217 * Add ability to autoplay next recommended video (opt in) ([@LoveIsGrief](https://github.com/LoveIsGrief))
218 * Add link behind the subscribe via RSS button ([@frankstrater](https://github.com/frankstrater))
219 * Support text/plain caption files
220 * Speedup theme injection
221 * Add ability to enable HLS in the admin panel
222
223### Bug fixes
224
225 * Fix audio upload
226 * Handle video reports from mastodon
227 * Fix videos redundancy exceeding the limit
228 * Fix search when user defined video languages in their preferences
229 * Don't quick transcode with the wrong pixel format
230 * Hide videos abuses of muted accounts
231 * Fix account avatar widths
232 * Fix default `commentsEnabled` and `downloadEnabled` values on video upload/import ([@frankstrater](https://github.com/frankstrater))
233 * Disable auto complete of email field when editing another user information in admin panel ([@Knackie](https://github.com/Knackie))
234 * Fix federation issues with some actors (that have long descriptions, or missing optional AP fields)
235 * Remove down redundancy endpoints in HLS player
236 * Fix user notifications with multiple opened tabs
237 * Replace "overview" by "discover" in webpage titles
238 * Clearer IP debug message in admin panel
239 * Fix checkbox styles when using a theme
240 * Don't redirect on verify account page after login
241 * Fix player captions menu after choosing a subtitle
242 * Fix CLI scripts with URLs ending with a `/`
243 * Fix `--since` and `--until` timezone in `peertube-import-videos` script
244 * Avoid circular error in logger
245 * Fix start/stop of first element when loading a playlist
246
247***Since v2.0.0-rc.1***
248
249### Features
250
251 * Improve welcome/warning modals
252 * Add ability to enable HLS in the admin panel
253
254### Bug fixes
255
256 * Fix auto index follow
257 * Fix CLI scripts with URLs ending with a `/`
8c8f00e0 258 * Fix `--since` and `--until` timezone in `peertube-import-videos` script ([@fflorent](https://github.com/fflorent))
eeaeab4f
C
259 * Avoid circular error in logger
260 * Fix start/stop of first element when loading a playlist
261
262
e0d8e5d6
C
263## v1.4.1
264
265### Bug fixes
266
267 * Fix too fast redundancy eviction
268 * Fix broken auto blacklist page
269 * Rename signup steps
270 * Fix menu x overflow
271
272
d8319c63
C
273## v1.4.0
274
ee41d06e 275**Since v1.3.1**
d8319c63
C
276
277### IMPORTANT NOTES
278
279 * **Important** Add `plugins` directory in configuration file. **You should configure it in your production.yaml**
280 * **Important:** Deprecate NodeJS 8 (support ends on [December 2019](https://github.com/nodejs/Release#release-schedule)). Please upgrade to NodeJS 10.
281 * **Important:** Updated nginx template (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx))
282 * Fix long server responses on dual stack servers: https://github.com/Chocobozzz/PeerTube/commit/fd2ddcae8ff4eb10bf7168ac3c8801f06b37627f
283 * Improve images HTTP cache: https://github.com/Chocobozzz/PeerTube/commit/c928e1364fbdff87f27fd982710b95426a250491
284 * **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)
285 from their admin panel, and then users can choose this theme in their settings
286 * Changed the playlist REST API to fix various issues. See https://github.com/Chocobozzz/PeerTube/pull/1998 for more information
287 * Removed magnet URI support in download modal since most of the BitTorrent clients do not understand the `xs` parameter
288 * Renamed `Overview` page to `Discover`
289
290### Security
291
292 * Moderators can only create and update regular users (thanks GGC-Project)
293
294### Maintenance
295
296 * Create a dedicated `package.json` for CLI tools to reduce server dependencies size
297 * Add ability to set root password by environment at first start ([@darnuria](https://github.com/darnuria))
298 * Removed unused `uuid` actor field (we already have a unique identifier that is the `preferredUsername`)
299 * Add ability to disable PeerTube log rotation ([@NassimBounouas](https://github.com/NassimBounouas))
300 * Speedup font display ([@BO41](https://github.com/BO41))
301 * Improve static files HTTP cache
302 * Add `--since` and `--until` parameters to import videos script to easily sync external channels ([@fflorent](https://github.com/fflorent))
303 * Optimize `/watch/:uuid` endpoint
304 * Optimize Sequelize (SQL ORM) queries generation (consumes less CPU)
305 * Prune script is faster and can prune avatar files
ee41d06e 306
d8319c63
C
307### Features
308
309 * :tada: Support Finnish, Greek and Scottish Gaelic languages
310 * :tada: Add basic plugins and themes support (**beta**): https://docs.joinpeertube.org/#/contribute-plugins
311 * Install plugins or themes from the administration panel
312 * Choose a default theme for your instance
313 * Users can choose the theme they want among the list of themes their administrator installed
314 * :tada: Add ability to upload audio files: PeerTube will merge the audio file and the thumbnail to create a video
315 * Multi step registration:
316 * Add ability for new users to create their default channel
317 * Guess the account username/channel username according to their display name
318 * Add explanations about what the purpose of a username/channel name is, and what a channel is
319 * Improve account video channels page:
320 * Set it as the default page for the account page in order to avoid confusion between the account homepage and the video channel homepage
321 * Display channels in rows with some of their videos
322 * Support more URL parameters in embeds: `muted`, `loop`, `peertubeLink`
323 * Redesign share modal and add customizations:
324 * Start/stop at a specific timestamp
325 * Automatically play/mute/loop the video
326 * Set a specific subtitle by default
327 * Group subscriptions and recently added videos in chronological order
328 * Add ability for users to change their email address
329 * Add ability to update the support field of all channel videos when we update the channel support field
330 * Add a language filter in user preferences to display only videos in specific languages
331 * Add instance follows list in a dedicated tab in the "About" page
332 * Add ability to set to private a public/unlisted video or video playlist
333 * Transcode in the `tmp` directory for s3fs compatibility ([@libertysoft3](https://github.com/libertysoft3))
334 * Add a button to copy account username ([@NassimBounouas](https://github.com/NassimBounouas))
335 * Redirect to "Local videos" page when going to the `peertube` account page
336 * Rearrange search filter options ([@realityfabric](https://github.com/realityfabric))
337 * Close modal after clicking on download ([@LeoMouyna](https://github.com/LeoMouyna))
338 * Add ability for admins to customize emails object prefix and body signature ([@yohanboniface](https://github.com/yohanboniface))
339 * Support 4K transcoding
340 * Add link of the follower profile in administration ([@NassimBounouas](https://github.com/NassimBounouas))
341 * Add subject field in contact form ([@NassimBounouas](https://github.com/NassimBounouas))
342 * Add rate limit to registration and API endpoints
343 * Add "video quota used" sortable column in user admin list ([@darnuria](https://github.com/darnuria))
344 * Automatically update the playlist thumbnail according to the video at the first position (if the user did not set a specific thumbnail)
345 * Automatically remove dead followings
346 * Federate comment deletion if the comment was deleted by the video owner
ee41d06e 347
d8319c63
C
348### Bug fixes
349
350 * Fix transcoding information in features table ([LiPek](https://github.com/LiPeK))
351 * Fix tools auth with remote instances
352 * Fix various issues in upload/import scripts
353 * Fix redundancy exceeded quota
354 * Fix login with email ([@NassimBounouas](https://github.com/NassimBounouas))
355 * Fix quota display in features table
356 * Fix transcoding help placement
357 * Fix invisible videos in playlists
358 * Fix HLS transcoding in lower resolutions
359 * Fix various federation issues
360 * Fix mute badge labels
361 * Fix broken follow notification when the actor is deleted
362 * Fix overflow and playlist block width in the watch page
363 * Fix search results overflow on mobile
364 * Fix infinite scroll on big screens
365 * Fix start time on some HLS videos
366 * Fix socket notification with multiple user tabs
367 * Fix redundancy if the instance has already the file on disk
368 * Fix image and plugin CSP
369 * Fix video rows overflow
370 * Dismiss modals on pop state
371 * Go back when cancel NSFW modal
372
373
374***Since v1.4.0-rc.1***
375
376### Features
377
378 * Add Finnish language support
379
380### Bug fixes
381
382 * Fix broken front end on Firefox ESR (60)
383 * Fix prune storage script when using a same directory for multiple storage keys
384 * Relax plugin `package.json` validation
385 * Replace "overview" by "discover" in client titles
386 * Change configuration: `email.object` becomes `email.subject`
387 * Fix user creation by moderators
388 * Fix video playlist element removal
389 * Fix plugin card background color with dark theme
390 * Fix lazy static route with unknown avatars (404 instead of 500)
391 * Fix socket notification with multiple user tabs
392 * Fix redundancy if the instance has already the file on disk
393 * Fix image and plugin CSP
394 * Fix video rows overflow
395 * Dismiss modals on pop state
396 * Go back when cancel NSFW modal
397
398
ba8d7ee1
C
399## v1.3.1
400
401### Bug fixes
402
403 * Fix Mastodon remote interactions
404 * Fix missing video download button
405 * Fix error in video upload/update form when scheduling publication
406 * Fix black theme on some pages
407 * Fix video import if auto blacklist is enabled
ee41d06e 408
ba8d7ee1 409
41dad651
C
410## v1.3.0
411
412**Since v1.2.0**
413
414### IMPORTANT NOTES
415
416 * **nginx** Remove `text/html` from `gzip_types`: https://github.com/Chocobozzz/PeerTube/commit/7eeb6a0ba4028d0e20847b846332dd0b7747c7f8 [@bnjbvr](https://github.com/bnjbvr)
417 * Add `streaming_playlists` directory in configuration file. **You should configure it in your production.yaml**
ee41d06e
C
418 * CSP configuration changed: it's now in a [dedicated section](https://github.com/Chocobozzz/PeerTube/blob/develop/config/production.yaml.example#L110)
419
21289872 420### Maintenance
41dad651
C
421
422 * 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
423 * Add reminder to restart PeerTube in upgrade script ([@ldidry](https://github.com/ldidry))
424 * Add argument to dockerfile to pass options to npm run build ([@NaPs](https://github.com/NaPs))
425 * Add `NOCLIENT` env support to only install server dependencies. Example: `NOCLIENT=true yarn install --pure-lockfile` ([@rigelk](https://github.com/rigelk))
426
427### Docker
ee41d06e 428
41dad651 429 * **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)
ee41d06e 430 * **Important**: Add a network section to [docker-compose.yml template](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/docker-compose.yml)
41dad651
C
431and 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))
432 * Fix SMTP default configuration ([@Nutomic](https://github.com/nutomic))
433
434### Features
ee41d06e 435
41dad651
C
436 * Add video playlist support
437 * A user has a default `Watch-later` playlist
438 * A user can create private, unlisted or public playlists
439 * An element in this playlist can start or stop at specific timestamps (you can create some kind of zapping for example)
440 * 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.
441 It's useful to organize your videos, or create a playlist of videos you like and share the link on the web etc
442 * Add quarantine videos (auto blacklist videos on upload) feature :tada: ([@joshmorel](https://github.com/joshmorel))
443 * Add Japanese & Nederlands & Português (Portugal) support
444 * Add experimental HLS support
445 * Better playback
446 * Better bandwidth management (for both client & server)
447 * 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)
448 * Requires ffmpeg >= 4
449 * Better instance's followers management:
450 * Add ability to remove an instance's follower
451 * Add ability to forbid all new instance's followers
452 * Add ability to manually approve new instance's followers
453 * Add notification on new instance's follower
454 * Improve UI:
455 * Increase player default height
456 * Reduce big play button border width
457 * Increase thumbnail sizes
458 * Add hover effect on video miniature
459 * Add "my library" section in menu
460 * Add missing icons in some buttons/dropdown
461 * 2 rows per overview section
462 * Increase video thumbnail blur ([@Zig-03](https://github.com/Zig-03))
463 * Improve video miniatures list on mobile
464 * Add animation when opening user notifications
465 * Add ability for admins to disable the tracker (and so the P2P aspect of PeerTube, in order to improve users privacy for example)
466 * Add original publication date attribute to videos, and add ability to filter on it (Andrés Maldonado)
467 * Add video miniature dropdown
468 * Add ability for admins to declare their instance as dedicated to NSFW content
469 * Improve SEO (there is still work to be done)
470 * Login is now case insensitive (if using official web client)
471 * Add NSFW policy & users signup policy & auto blacklist strategy in features table in about page
472 * Improve comment deletion warning
473 * Restore videos list component on history back
474 * Add ability to consult server logs in admin
475 * Allow administrators to change/reset a user's password ([@rigelk](https://github.com/rigelk))
476 * Add a debug page to help admins to fix IP configuration issues
477 * Add ability for admins to limit users videos history size
478 * Add ability for admins to delete old remote videos views (reduce database size)
479 * Optimize video update page load
480 * Less refresh jobs
481 * Cleanup invalid AP rates/comments/shares
482 * Better videos redundancy config error handling
483 * Check emails are enabled if the admin requires email verification ([@joshmorel](https://github.com/joshmorel))
484 * Add `Add /accounts/:username/ratings endpoint` ([@yohanboniface](https://github.com/yohanboniface))
485 * Allow to control API rates limit from configuration ([@yohanboniface](https://github.com/yohanboniface))
486
487### Bug fixes
488
489 * Don't notify prior to scheduled update ([@joshmorel](https://github.com/joshmorel))
490 * Fix account description database error
491 * Fix Pleroma follow
492 * Fix greek label
493 * Fix email notification for some users
494 * Fix translation of "Copy magnet URI"
495 * Fix negative seconds by displaying 0 instead [@zacharystenger](https://github.com/zacharystenger)
496 * Fix URL in video import notification
497 * Don't close help popover when clicking on it
498 * Fix `tmp` directory cleanup
499 * Fix custom CSS help
500 * Fix JSONLD context
501 * Fix privacy label display in upload form
502 * Fix my account settings responsiveness
503 * Fix keyboard icon transparency ([@gbip](https://github.com/gbip))
504 * Fix contact admin button overflow
505 * Wait config to be loaded before loading login/signup
506 * Privacy is optional in upload API endpoint
507 * Fix hotkeys help popup overflow
508
509***Since v1.3.0-rc.2***
510
511### Bug fixes
512
513 * Fix duplicates in playlist add component
514 * Fix crash in files cache
515 * Fix playlist view/update 403
516 * Fix search with bad webfinger handles
37cea24e 517
2ed67a7d 518
52f659f2
C
519## v1.2.1
520
3cc8f8cc 521### Bug fixes
52f659f2
C
522
523 * **Important** Fix invalid `From` email header in contact form that could lead to the blacklisting of your SMTP server
524 * Fix too long display name overflow in menu
525 * Fix mention notification when a remote account mention a local account that has the same username than yours
526 * Fix access to muted servers table for moderators
527 * Don't crash notification popup on bug
528 * Fix reset password script that leaks password on invalid value
529
530
a3526828 531## v1.2.0
b3079978
C
532
533### BREAKING CHANGES
534
535 * **Docker:** `PEERTUBE_TRUST_PROXY` env variable is now an array ([LecygneNoir](https://github.com/LecygneNoir))
a3526828 536 * **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
4d7d240c 537 * **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**
a3526828 538 * **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**
b3079978
C
539 * Moderators can manage users now (add/delete/update/block)
540 * Add `tmp` and `redundancy` directories in configuration file. **You should configure them in your production.yaml**
541
542### Maintenance
543
544 * Check free storage before upgrading in upgrade script ([@Nutomic](https://github.com/nutomic))
4d7d240c 545 * Explain that PeerTube must be stopped in prune storage script
b3079978
C
546 * Add some security directives in the systemd unit configuration file ([@rigelk](https://github.com/rigelk) & [@mkoppmann](https://github.com/mkoppmann))
547 * Update FreeBSD startup script ([@gegeweb](https://github.com/gegeweb))
548
549### Docker
550
551 * Patch docker entrypoint to speed up the chown at startup ([LecygneNoir](https://github.com/LecygneNoir))
552
553### Features
554
4d7d240c 555 * Add Russian, Polish and Italian languages
b3079978
C
556 * Add user notifications:
557 * Notification types:
558 * Comment on my video
559 * New video from my subscriptions
560 * New video abuses (for moderators)
561 * Blacklist/Unblacklist on my video
562 * Video import finished (error or success)
563 * Pending video published (after transcoding or a scheduled update)
564 * My account or one of my channel has a new follower
565 * Someone (except muted accounts) mentioned me in comments
566 * A user registered on the instance (for moderators)
567 * Notification actions:
568 * Add a web notification
569 * Send an english email
570 * Add contact form in about page (**enabled by default**)
571 * Add ability to unfederate a local video in blacklist modal (**checkbox checked by default**)
b3079978
C
572 * Support additional video extensions if transcoding is enabled (**enabled by default**)
573 * Redirect to the last url on login
574 * Add ability to automatically set the video caption in URL. Example: https://peertube2.cpy.re/videos/watch/9c9de5e8-0a1e-484a-b099-e80766180a6d?subtitle=ru
4d7d240c 575 * Automatically enable the last selected caption when watching a video
b3079978 576 * Add ability to disable, clear and list user videos history
b3079978 577 * Add a button to help to translate peertube
4d7d240c 578 * Add text in the report modal to explain to whom the report will be sent
b3079978
C
579 * Open my account menu entries on hover
580 * Explain what features are enabled on the instance in the about page
581 * Add an error message in the forgot password modal if the instance email system is not configured
582 * Add sitemap
583 * Add well known url to change password ([@rigelk](https://github.com/rigelk))
584 * 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))
585 * Add CSP ([@rigelk](https://github.com/rigelk) & [@Nutomic](https://github.com/nutomic))
586 * Update title and description HTML tags when rendering video HTML page
587 * Add webfinger support for remote follows ([@acid-chicken](https://github.com/acid-chicken))
588 * Add tooltip to explain how the trending algorithm works ([@auberanger](https://github.com/auberanger))
4d7d240c 589 * Warn users when they want to delete a channel because they will not be able to create another channel with the same name
b3079978 590 * Warn users when they leave the video upload/update (on page refresh/tab close)
4d7d240c 591 * Set max user name, user display name, channel name and channel display name lengths to 50 characters ([@McFlat](https://github.com/mcflat))
b3079978
C
592 * Increase video abuse length to 3000 characters
593 * Add totalLocalVideoFilesSize in the stats endpoint
594
3cc8f8cc 595### Bug fixes
b3079978
C
596
597 * Fix the addition of captions to a video
598 * Fix federation of some videos
599 * Fix NSFW blur on search
600 * Add error message when trying to upload .ass subtitles
601 * Fix default homepage in the progressive web application
602 * Don't crash on queue error
4d7d240c
C
603 * Fix EXDEV errors if you have multiple mount points
604 * Fix broken audio in transcoding with some videos
b3079978
C
605 * Fix crash on getVideoFileStream issue
606 * Fix followers search
607 * Remove trailing `/` in CLI import script ([@HesioZ](https://github.com/HesioZ/))
608 * Use origin video url in canonical tag
609 * Fix captions in HTTP fallback
610 * Automatically refresh remote actors to fix deleted remote actors that are still displayed on some instances
4d7d240c 611 * Add missing translations in video embed page
b3079978
C
612 * Fix some styling issues in dark mode
613 * Fix transcoding issues with some videos
a3526828
C
614 * Fix Mac OS mkv/avi upload
615 * Fix menu overflow on mobile
616 * Fix ownership button icons ([@joshmorel](https://github.com/joshmorel))
b3079978
C
617
618
556ec6d0
C
619## v1.1.0
620
ebb675b4 621***Since v1.0.1***
556ec6d0 622
8d00889b 623### BREAKING CHANGES
b3079978 624
8d00889b
C
625 * **Docker:** `PEERTUBE_TRUST_PROXY` env variable is now an array ([LecygneNoir](https://github.com/LecygneNoir))
626
556ec6d0
C
627### Maintenance
628
46e9407c
C
629 * Improve REST API documentation ([@rigelk](https://github.com/rigelk))
630 * Add basic ActivityPub documentation ([@rigelk](https://github.com/rigelk))
556ec6d0
C
631 * Add CLI option to run PeerTube without client ([@rigelk](https://github.com/rigelk))
632 * Add manpage to peertube CLI ([@rigelk](https://github.com/rigelk))
633 * Make backups of files in optimize-old-videos script ([@Nutomic](https://github.com/nutomic))
634 * Allow peertube-import-videos.ts CLI script to run concurrently ([@McFlat](https://github.com/mcflat))
635
636### Scripts
637
638 * Use DB information from config/production.yaml in upgrade script ([@ldidry](https://github.com/ldidry))
639 * Add REPL script ([@McFlat](https://github.com/mcflat))
640
641### Docker
642
643 * Add search and import settings env settings env variables ([@kaiyou](https://github.com/kaiyou))
644 * Add docker dev image ([@am97](https://github.com/am97))
645 * Improve docker compose template ([@Nutomic](https://github.com/nutomic))
646 * Add postfix image
647 * Redirect HTTP -> HTTPS
648 * Disable Træfik web UI
556ec6d0
C
649
650### Features
ee41d06e 651
556ec6d0
C
652 * Automatically resume videos if the user is logged in
653 * Hide automatically the menu when the window is resized ([@BO41](https://github.com/BO41))
654 * Remove confirm modal for JavaScript/CSS injection ([@scanlime](https://github.com/scanlime))
655 * Set bitrate limits for transcoding ([@Nutomic](https://github.com/nutomic))
656 * Add moderation tools in the account page
657 * Add bulk actions in users table (Delete/Ban for now)
658 * Add search filter in admin users table
659 * Add search filter in admin following
660 * Add search filter in admin followers
661 * Add ability to list all local videos
662 * Add ability for users to mute an account or an instance
663 * Add ability for administrators to mute an account or an instance
664 * Rename "News" category to "News & Politics" ([@daker](https://github.com/daker))
665 * Add explicit error message when changing video ownership ([@lucas-dclrcq](https://github.com/lucas-dclrcq))
666 * Improve description of the HTTP video import feature ([@rigelk](https://github.com/rigelk))
667 * Set shorter keyframe interval for transcoding (2 seconds) ([@Nutomic](https://github.com/nutomic))
668 * Add ability to disable webtorrent (as a user) ([@rigelk](https://github.com/rigelk))
669 * Make abuse-delete clearer ([@barbeque](https://github.com/barbeque))
670 * Adding minimum signup age conforming to ceiling GPDR age ([@rigelk](https://github.com/rigelk))
671 * Feature/description support fields length 1000 ([@McFlat](https://github.com/mcflat))
672 * Add background effect to activated menu entry
673 * Improve video upload error handling
674 * Improve message visibility on signup
675 * Auto login user on signup if email verification is disabled
676 * Speed up PeerTube startup (in particular the first one)
677 * Delete invalid or deleted remote videos
678 * Add ability to admin to set email as verified ([@joshmorel](https://github.com/joshmorel))
679 * Add separators in user moderation dropdown
680
681### Bug fixes
682
683 * AP mimeType -> mediaType
684 * PeerTube is not in beta anymore
685 * PeerTube is not in alpha anymore :p
686 * Fix optimize old videos script
687 * Check follow constraints when getting a video
8b7bd166 688 * Fix application-config initialization in CLI tools ([@Yetangitu](https://github.com/Yetangitu))
556ec6d0
C
689 * Fix video pixel format compatibility (using yuv420p) ([@rigelk](https://github.com/rigelk))
690 * Fix video `state` AP context ([tcitworld](https://github.com/tcitworld))
691 * Fix Linked Signature compatibility
692 * Fix AP collections pagination
693 * Fix too big thumbnails (when using URL import)
694 * Do not host remote AP objects: use redirection instead
695 * Fix video miniature with a long name
696 * Fix video views inconsistencies inside the federation
697 * Fix video embed in Wordpress Gutenberg
698 * Fix video channel videos url when scrolling
699 * Fix player progress bar/seeking when changing resolution
700 * Fix search tab title with no search
701 * Fix YouTube video import with some videos
702
ebb675b4 703***Since v1.1.0-rc.1***
556ec6d0
C
704
705### Bug fixes
706
707 * Fix AP infinite redirection
708 * Fix trending page
709
710
1c4e716e
C
711## v1.0.1
712
3aa5001e 713### Security/Maintenance/Federation
ee41d06e 714
1c4e716e
C
715 * Add HTTP Signature in addition to Linked Signature:
716 * It's faster
717 * Will allow us to use RSA Signature 2018 in the future without too much incompatibilities in the peertube federation
37cea24e 718
26370ce4 719
a21b1e00
C
720## v1.0.0
721
98d9ada2
C
722### SECURITY
723
724 * Add more headers to HTTP signature to avoid actor impersonation by replaying modified signed HTTP requests (thanks Thibaut Girka)
a21b1e00
C
725
726### Bug fixes
727
728 * Check video exists before extending expiration
729 * Correctly delete redundancy files
730 * Fix account URI in remote comment modal ([@rigelk](https://github.com/rigelk))
731 * Fix avatar update
732 * Avoid old issue regarding duplicated hosts in database
733
734
bbc45810
C
735## v1.0.0-rc.2
736
737### Bug fixes
738
739 * Fix config endpoint
740
741
e4b9deac
C
742## v1.0.0-rc.1
743
744### Features
745
746 * Allow specification of channel ID in `peertube-upload.js` ([@anoadragon453](https://github.com/anoadragon453))
747 * Show last commit hash alongside server version in footer ([@rigelk](https://github.com/rigelk))
748 * Add comment feeds in watch page
749
750### Bug fixes
751
752 * Fix dnt route (yes again, but now we have unit tests for this route :D)
753 * Check video channel name is unique when creating a new one
754 * Fix video fps validator (prevent redundancy/refresh of some old videos)
755 * Allow empty search on client side ([@rigelk](https://github.com/rigelk))
756 * Correctly forward comment deletion
757
758
ba2a95d6
C
759## v1.0.0-beta.16
760
761### BREAKING CHANGES
762
763 * Add prompt to upgrade.sh to install pre-release version ([@Nutomic](https://github.com/nutomic))
764
765### Features
766
767 * Add shortcuts icon in menu
768 * Improve overview section titles
769 * Check old password before change ([@BO41](https://github.com/BO41))
2a27c451 770 * Adding frame-by-frame hotkey support in player ([@rigelk](https://github.com/rigelk))
ba2a95d6
C
771
772### Bug fixes
773
2a27c451
C
774 * Stop seeding torrents after a failed import
775 * Fix player crashing the web browser
776 * Fix player performance with small devices
777 * Fix some untranslated strings
ba2a95d6
C
778 * Fix video files duplicated when fps is null ([@rigelk](https://github.com/rigelk))
779 * Fix video import of some youtube videos
780 * Fix (long) video description when importing by url
781 * Fix Mastodon federation with a comment reply
782 * Correctly delete directories on import
783 * Remove duplicated videos on unfollow/delete redundancy
784 * Fix 404 on manifest
785 * Hide useless error when destroying fake renderer
786 * Display other videos on big screens on the right of the watch page
787 * Fix no other videos displayed on some videos
2a27c451
C
788 * Fix hidden advanced options in upload form
789 * Fix message space on video upload cancel ([@rigelk](https://github.com/rigelk))
790 * Fix error when updating many video captions
791 * Fix "my account" subtitles
792 * Fix error when clicking on the disabled publish button
793 * Increase timeout on upload endpoint
794 * Fix redundancy with videos already duplicated by another instance(s)
795 * Correctly delete files on failed import
ee41d06e 796
ba2a95d6 797
3d446046
C
798## v1.0.0-beta.15
799
800### Features
801
802 * Improve subscription button ([@rigelk](https://github.com/rigelk))
803 * Display it for unlogged users
804 * Add RSS feed
805 * Allow remote follow
806 * Allow remote comment ([@rigelk](https://github.com/rigelk))
807 * Support Simplified Chinese ([@SerCom-KC](https://github.com/SerCom-KC))
808
809### Bug fixes
810
811 * Fix redundancy with old PeerTube torrents
812 * Fix crash with `/static/dnt-policy/dnt-policy-1.0.txt` route
813 * Fix redundancy totalVideos stats
814 * Reduce video import TTL to 1 hour
815 * Only duplicate public videos
ee41d06e 816
3d446046 817
00dd6642
C
818## v1.0.0-beta.14
819
820### Features
821
46e9407c 822 * Video redundancy system (experimental)
00dd6642
C
823 * Add peertube script (see [the doc](/support/doc/tools.md#cli-wrapper)) ([@rigelk](https://github.com/rigelk))
824 * Improve download modal ([@rigelk](https://github.com/rigelk))
825 * Add redirect after login ([@BO41](https://github.com/BO41))
826 * Improve message when removing a user
827 * Improve responsive on small screens
828 * Improve performance:
16c73bb4
C
829 * Overview endpoint
830 * SQL requests of watch page endpoints
831 * SQL requests of ActivityPub endpoints
832 * Cache user token
833 * Videos infinite scroll in the web browser
00dd6642
C
834 * Add warning if one of the storage directory is in the peertube production directory
835 * Auto focus first field on login ([@rigelk](https://github.com/rigelk))
836 * Add chevron hotkeys to change playback rate ([@rigelk](https://github.com/rigelk))
837
838### Bug fixes
ee41d06e 839
00dd6642
C
840 * Fix 24 hours delay to process views
841 * Fix tag search on overview page
842 * Handle actors search beginning with '@'
843 * Fix "no results" on overview page
844 * Fix iOS player playback/subtitles menu
845 * Fix description/comments that break the video watch page
846 * Don't get recommended videos twice
847 * Fix admin access to moderators
848 * Fix nav tab and tag color in dark theme ([@rigelk](https://github.com/rigelk))
849 * Fix help popover overflow ([@rigelk](https://github.com/rigelk))
850 * Fix comment deletion with mastodon (only with new comments)
851
852
64eb8064
C
853## v1.0.0-beta.13
854
855### Features
856
857 * Improve keyboard navigation ([@rigelk](https://github.com/rigelk))
858 * Remember theme in local storage ([@rigelk](https://github.com/rigelk))
ee41d06e 859
64eb8064
C
860### Bug fixes
861
862 * Fix upgrade/installation on node 8.12 (bcrypt issue)
863 * Fix video channel deletion
864 * Fix video channel RSS
865 * Fix video views increment
ee41d06e 866
64eb8064 867
65cb4bb4
C
868## v1.0.0-beta.12
869
870**If you have not updated to v1.0.0-beta.10, see the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade**
871
872### BREAKING CHANGES
873
ee41d06e 874 * Users can now use the name they want for their channel.
65cb4bb4
C
875 We will therefore favour the display of video channel handles/names instead of account in the future.
876
877### Documentation
878
879 * Add SECURITY.md document
880 * Add TCP/IP tuning template to prevent buffer bloat/latency ([@scanlime](https://github.com/scanlime))
881 * Add `parse-log` admin tool documentation
882 * Improve README schemas ([@Edznux](https://github.com/edznux))
883
884### nginx template
885
886 * Add gzip support ([@scanlime](https://github.com/scanlime))
ee41d06e 887
65cb4bb4 888### Docker template
ee41d06e 889
65cb4bb4
C
890 * Add quota to the docker configuration values ([@kaiyou](https://github.com/kaiyou))
891
892### Features
893
894 * Add portuguese and swedish languages
895 * Support user subscriptions
896 * Add ability to search videos or channels with their URL/handle (can be opt-out by the admin)
897 * Add "videos overview" page (pick randomly some categories/tags/channels and display their videos)
898 * Add ability to set a name (left part of the handle) to a channel instead of UUID
899 * Users can "give" their videos to other local users (WIP, feedback welcome) ([@grizio](https://github.com/grizio))
900 * Add keyboard shortcuts (press `?` to see them) ([@rigelk](https://github.com/rigelk))
901 * Add ability to set daily video upload quota to users ([@Nutomic](https://github.com/nutomic))
902 * Add user email verification (can be opt-in by the admin) ([@joshmorel](https://github.com/joshmorel))
903 * Improve video watch page style ([@rigelk](https://github.com/rigelk))
904 * Trending page takes into account views from the last x days (defined by the admin in the configuration file)
905 * Add "start at" checkbox in the video share modal
906 * Add instance capabilities table in the signup page ([@rigelk](https://github.com/rigelk))
907 * Improve video abuses display in admin ([@Nutomic](https://github.com/nutomic))
908 * Add "my videos" shortcut in menu ([@LeoMouyna](https://github.com/LeoMouyna))
909 * Support 0.75 and 1.25 playback speeds ([@Glandos](https://github.com/Glandos))
910 * Improve error message on actor name conflict
911 * Improve videos list/search SQL query (split it into 2 queries)
912 * Make left menu show the scrollbar only on hover/focus ([@rigelk](https://github.com/rigelk))
913 * Other videos column in watch page show related tagged videos if possible ([@jorropo](https://github.com/jorropo))
914 * Password change errors more friendly ([@jorropo](https://github.com/jorropo))
915 * Improve labels for video privacies (video upload/update)
916 * Add theming via CSS custom properties ([@rigelk](https://github.com/rigelk))
917 * Add dark theme ([@rigelk](https://github.com/rigelk))
918 * Add input color to cope with browser themes ([@rigelk](https://github.com/rigelk))
919
920### Bug fixes
921
922 * Fix player video playback (videos never ends or infinite load after seeking)
923 * Fix video URL import with videos having a small title
924 * Make HSTS opt-in and leave it to the reverse-proxy ([@rigelk](https://github.com/rigelk))
925 * Fix search results on mobile
926 * Do not import live streaming
927 * Fix NSFW filter when the instance decides to hide them and the user decides to list them
928 * Delete highlighted comment too if needed
929 * Fix ffmpeg auto thread admin configuration ([@jorropo](https://github.com/jorropo))
930 * ActivityPub: use height instead of width to represent the video resolution
931 * Fix thumbnail/preview in upload.js script
932 * Fix import-videos.js duplicate detection
933 * Fix occitan language label
ee41d06e 934
65cb4bb4 935
a4829f0f
C
936## v1.0.0-beta.11
937
938**If you have not updated to v1.0.0-beta.10, see the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade**
939
940### Features
941
3256a4a6 942 * Add ability to import videos from a URL (YouTube, Dailymotion, Vimeo, raw file etc) or torrent file/magnet.
a4829f0f
C
943 Should be explicitly enabled by the administrator in the configuration file
944 * Add german, spanish, taiwan (traditional chinese) and occitan languages
945 * Add ability to delete our account
946 * Add ability to ban a user
947 * Add ability to set a moderation comment to an abuse
948 * Add state (pending, accepted, rejected) attribute to an abuse
949 * Add ability to set a reason when blacklisting a video
950 * Add ability to blacklist local videos
951 * Improve abuse and blacklist tables
952 * Add user quota used in users list
953 * Tracker only accept known infohash (avoid people to use your tracker for files unrelated to PeerTube)
954 * Add database pool configuration ([@rigelk](https://github.com/rigelk))
955 * Add audit log ([@Nautigsam](https://github.com/Nautigsam))
3256a4a6 956 * Add ffmpeg nice and auto thread ([@jorropo](https://github.com/jorropo))
a4829f0f
C
957 * Upgrade to bootstrap 4
958 * DNT support
959
960### Bug fixes
3256a4a6 961
a4829f0f
C
962 * Fix videos FPS federation
963 * Cleanup request files on bad request
964 * Handle truncated markdown links
965 * Fix dropdown position in menu
966 * Translate subtitle languages in player
967 * Translate player according the language of the interface
968 * Fix reset my password button ([@joshmorel](https://github.com/joshmorel))
969
970
d3736b8d
C
971## v1.0.0-beta.10
972
973**See the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade**
974
975### Bug fixes (from beta.10.pre.3)
976
977 * Fix caption upload on Mac OS
978
979
cc6373e6
C
980## v1.0.0-beta.10.pre.3
981
982**See the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade**
983
984### Bug fixes (from beta.10.pre.2)
985
986 * Try to fix the infinite creation of Delete actor jobs by deleting kue migration
987 * Cleanup SQL indexes
988 * Try to optimize SQL search query
989 * Try to optimize videos list SQL query
990 * Add more logs and fix logger when having an error
991 * Move subscription helper in the account line in video watch page
992 * Fix responsive on videos search
993 * Refresh orphan actors
3256a4a6 994 * Don't send a follow request if the follow was already accepted
cc6373e6
C
995
996
2da00d2a
C
997## v1.0.0-beta.10.pre.2
998
999**See the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade**
1000
cc6373e6 1001### Bug fixes (from beta.10.pre.1)
2da00d2a
C
1002
1003 * Fix captions/subtitles freeze in player
1004 * Fix attribute label width in video watch page
1005 * Fix player playback in Chrome
1006 * Revert SQL optimization when listing videos: it breaks the connection pool of some instances
1007
1008
039fd8bc
C
1009## v1.0.0-beta.10.pre.1
1010
1011This version is a pre release because it contains many important changes, and requires manual steps before upgrading.
1012
6af6cf83 1013**Important:** Before upgrading run the following commands (no need to stop PeerTube) on your PeerTube database (in this example it's *peertube_prod*):
039fd8bc
C
1014
1015```
1016$ sudo -u postgres psql peertube_prod -c 'CREATE EXTENSION IF NOT EXISTS unaccent;'
1017$ sudo -u postgres psql peertube_prod -c 'CREATE EXTENSION IF NOT EXISTS pg_trgm;'
1018```
0933bb4a
C
1019
1020You will need [PostgreSQL Contrib](https://www.postgresql.org/docs/9.6/static/contrib.html).
3256a4a6 1021
039fd8bc
C
1022### BREAKING CHANGES
1023
1024 * Require `unaccent` and `pg_trgm` PostgreSQL extension for the PeerTube database
1025 * `category` filter param is replaced by `categoryOneOf`
0933bb4a
C
1026 * Switch job queue to [Bull](https://github.com/OptimalBits/bull). **PeerTube will not migrate your old pending jobs in this new queue manager**
1027 * Update nginx template (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx))
039fd8bc 1028 * Update default cache size configurations
6104adc3 1029 * Update search API route: `/videos/search` becomes `/search/videos`
47c951b7 1030 * Needs Redis >= 2.8.18
3256a4a6 1031
039fd8bc
C
1032### Features
1033
1034 * Add ability to change the language of the interface (currently available: english, french, basque, catalan, czech and esperanto)
1035 * Subtitles/captions support (.srt and .vtt)
1036 * Add advanced search
1037 * Add ability to click on category/language/licence/tags in watch page
1038 * Improve explanations of P2P & Privacy section in about page
1039 * Avoid design latency when the admin set custom CSS
1040 * Add ability to update video channel avatar
1041 * Limit video resolution depending on the video element size (Nitesh Sawant)
1042 * Show "Other videos" on a <1300px viewport ([@Simounet](https://github.com/simounet))
1043 * Add QR code to share videos URL ([@DeeJayBro](https://github.com/DeeJayBro))
1044 * Add "agree to the terms" checkbox in registration form
1045 * Add tracker rate limiter
1046 * Add author URL in OEmbed response
1047 * Display username instead of email in menu
1048 * Clarifying what extensions are accepted for upload ([@rigelk](https://github.com/rigelk))
1049 * Thumbnail support for RSS feeds ([@rigelk](https://github.com/rigelk))
1050 * Open CORS on API and static resources ([@rezonant](https://github.com/rezonant)
1051 * B-adapt 1 and B-frames 16 on ffmpeg transcoding: ([@Anton-Latukha](https://github.com/Anton-Latukha)). See https://github.com/Chocobozzz/PeerTube/pull/774 for more information
1052 * Support Redis socket ([@rigelk](https://github.com/rigelk))
1053 * Improve video `start` param to support string times (for example: 2m42s))
1054 * Display table next/prev/first/last icons in admin tables
1055 * NodeInfo support ([@rigelk](https://github.com/rigelk))
1056 * Improve HTTP headers security ([@rigelk](https://github.com/rigelk))
1057 * Improve client accessibility (for screen reader users etc)
1058 * Optimize SQL requests (in particular the one to list videos)
1059 * Optimize images ([@jorropo](https://github.com/jorropo))
1060 * Add esperanto, lojban, klingon and kotava (audio/subtitle) languages
1061 * Allow uploads of videos <8GB (*experimental*)
1062 * Handle FPS > 30 (*experimental*)
1063
1064### Bug fixes
1065
1066 * Fix avatars/thumbnails update (cache issue)
1067 * Fix pagination on admin job table when changing the job state
1068 * Fix SQL transaction retryer log
1069 * Correctly handle error when remote instance is down
1070 * Fix account videos URL when scrolling
1071 * Avoid commenting twice by disabling comment submit button when sending the comment
1072 * Reset confirm component input when closing it
1073 * Fix video speed when video resolutions changes ([@grizio](https://github.com/grizio))
1074 * Disable hotkeys modifiers for numbers ([@rigelk](https://github.com/rigelk))
1075 * Reset published date on video publish (scheduled or after a transcoding)
1076 * Avoid 404 title on the first page load
1077 * Fix forgot password message regarding email
1078 * Remove scroll to top when closing the menu ([@ebrehault](https://github.com/ebrehault))
1079 * Use UUID for channel link in watch page
1080
1081### Docker
1082
1083 * Add PEERTUBE_SMTP_DISABLE_STARTTLS config env
3256a4a6 1084
039fd8bc 1085
7ba442d4
C
1086## v1.0.0-beta.9
1087
1088### Features
1089
1090 * Theater/Cinema mode in player
1091 * Add ability to wait transcoding before publishing it
1092 * Add ability for uploaders to schedule video update
1093 * Add time display to see where we seek the video
1094 * Add title in player peers info to show total downloaded/uploaded data
1095 * Provide magnet URI in player and download modal ([@rigelk](https://github.com/rigelk))
11fa7d39 1096 * Add warning if the domain name is different from the one of the first start of Peertube
7ba442d4
C
1097 * Add resolution to create-transcoding-job script ([@fflorent](https://github.com/fflorent))
1098
1099### Bug fixes
1100
1101 * Fix dislikes number in video watch page
1102 * Fix import when the imported file has the same extension than an already existing file
1103 * Fix bad RSS descriptions when filtering videos by account or channel
1104 * Fix RSS results limit
1105 * Fix glitch when updating player volume
1106 * Use local object URLs for feeds
1107 * Automatically jump to the highlighted thread
1108 * Fix account link width on video view ([@sesn](https://github.com/sesn))
1109 * Prevent commenting twice
1110 * Blue links color in comments
1111 * Fix quota precision in users list
1112 * Handle markdown in account/video channel pages
1113 * Fix avatar image in channel page
1114 * Fix slow HTTP fallback on Firefox
1115 * Do not create a user with the same username than another actor name
1116 * Reset search on page change
1117 * Fix images size limit
1118 * Log torrent errors/warnings in the console, instead of disturbing users
1119
1120
f3c65a51
C
1121## v1.0.0-beta.8
1122
1123### Features
1124
1125 * Docker:
1126 * Add disable_starttls and transcoding configuration variables
1127 * `.env` file to define env variables (instead of defining them in `docker-compose.yml`)
1128 * Some improvements that should make the upgrades less painful
1129 * Add ability to manually run transcoding jobs (admin with CLI)
1130 * Add ability to import a video file (admin with CLI)
1131 * Add context menu to the player
1132 * Add number of videos published by an account/video channel
1133 * Improve player progress bar
1134 * Improve Twitter configuration help tooltips
1135 * Pick average video file instead of max quality in "Auto" resolution mode
1136 * Increase access token lifetime to 1 day
1137 * Add video comments RSS
1138
1139### Bug fixes
1140
1141 * Clicking on "Download" correctly opens a popup to download the video
1142 (instead of opening the video in a new tab)
1143 * Fix frequent logout
1144 * Fix `publishedAt` video attribute when following a new instance
1145 * Correctly resumes the video on "PeerTube" link click in embed
1146 * Fix markdown links truncation
1147 * Fix account/channel pages not updated if we only change the account/channel
1148 * Fix player resolution change that plays even if the video was paused
1149 * Fix posting view in embed that contains search params
1150 * Fix video watch tooltips regarding subscriptions by using the account name
1151 instead of the display name
1152 * Rename "my settings" to "my account" in menu
1153
1154
77a87fec
C
1155## v1.0.0-beta.7
1156
1157### BREAKING CHANGES
1158
1159 * Account client URLs are now `/accounts/{username}/` (and not `/accounts/{id}/`)
1160
1161### Documentation
1162
1163 * Better documentation on how to deploy with Docker: https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/docker.md
1164
1165### Features
1166
1167 * Add short description in about page
1168 * Add owner account name in video channel page
1169 * Improve performance in ActivityPub controllers
1170 * Video **support** field inherits video channel **support** field when uploading/updating a video
1171 * Resume video when clicking on "PeerTube" link in embed
1172
1173### Bug fixes
1174
1175 * Fix player on Android
1176 * Fix player when Firefox has cookies disabled
1177 * Reload "my videos" after a delete
1178 * Fix missing key configuration when upgrading with Docker
1179 * Fix CC audience in Activity Pub objects/activities
1180
1181
265fb1bc
C
1182## v1.0.0-beta.6
1183
1184### Features
1185
1186 * Handle concurrent requests in cache middleware
1187 * Add ability to enable registration by IP
1188
1189### Bug fixes
1190
1191 * Fix insane SQL request when loading all video attributes
1192
1193
67477ee4
C
1194## v1.0.0-beta.5
1195
1196### BREAKING CHANGES
1197
1198 * Update Docker Compose (https://github.com/Chocobozzz/PeerTube/commit/fd5e57bbe2accbdb16b6aa65337c5ef44b5bd8fb)
1199 * Rename client routes:
1200 * `/admin/users/add` to `/admin/users/create`
1201 * `/videos/edit/:uuid` to `/videos/update/:uuid`
1202 * `/admin/users/:id/update` to `/admin/users/update/:id`
1203
1204
1205### Features
1206
1207 * Adding basic helpers to guide users for comments/subscribe to accounts
1208 * Add ability to move a video in another channel
1209 * Improve web browser RAM consumption when watching (long) videos
1210 * Support robots.txt in configuration
1211 * Add ability to select the Redis database in configuration
1212
1213
1214### Bug fixes
1215
1216 * Fix error message on token expiration
1217 * Increase menu icon size
1218 * Add timeout and TTL to request jobs to fix stuck job
1219 * Fix responsive account about page
1220 * Fix updating description account
1221 * Account/video channel descriptions are not required anymore
1222 * Fix video channel description and support max length (500 characters now)
1223 * Fix "..." for buttons (delete/edit) in admin tables
1224 * Fix overflow in markdown textarea preview
1225 * Add ability to embed videos in a Twitter card
1226 * Use `publishedAt` attribute when sorting videos
1227 * Fix concurrent requests in videos list
1228 * Fix player on iOS
1229
1230
9309c3df
C
1231## v1.0.0-beta.4
1232
1233### BREAKING CHANGES
1234
1235 * Hide by default NSFW videos. Update the `instance.default_nsfw_policy` configuration to `blur` to keep the old behaviour
48dce1c9 1236 * Move video channels routes:
cc918ac3 1237 * `/videos/channels` routes to `/video-channels`
48dce1c9 1238 * `/videos/accounts/{accountId}/channels` route to `/accounts/{accountId}/video-channels`
82e392f8 1239 * PeerTube now listen on 127.0.0.1 by default
9309c3df 1240 * Use ISO 639 for language (*en*, *es*, *fr*...)
3186046d
C
1241 * Tools (`import-videos`...) need the language ISO639 code instead of a number
1242 * API (`upload`, `update`, `list`...) need/return the language ISO639 code instead of a number
9309c3df
C
1243
1244### Features
1245
1246 * Add `publishedAt` attribute to videos
1247 * Improve player:
3186046d
C
1248 * Smooth progress bar
1249 * Settings menu
1250 * Automatic resolution (depending on the user bandwidth)
1251 * Some animations/effects
1252 * More reactive when clicking on play
1253 * Handle autoplay blocking by some web browsers
1254 * Better responsive
1255 * Add ability to link a specific timestamp. Example: https://peertube2.cpy.re/videos/watch/f78a97f8-a142-4ce1-a5bd-154bf9386504?start=58
9309c3df
C
1256 * Add an id to the body to override current CSS (for custom CSS)
1257 * Add privacy argument to `upload.ts` script
1258 * RSS/Atom/JSON-feed for videos recently-added/trending/account
1259 * Support hostname binding in the configuration
1260 * Add ability to click on an account in the video watch page (link to a search)
1261 * Better responsive on many comment replies
1262 * Move follows in the job queue
1263 * Add ability to choose the NSFW videos policy: hide, blur or display. Could be overrode by the user
1264 * Add video privacy information in *my videos page*
1265 * Use the video name for the torrent file name instead of the UUID
1266 * Handle errors in embed (video not found, server error...)
2297b239
C
1267 * Account view (videos uploaded by this account + video channel owned by this account + about pages)
1268 * Video channel view (videos uploaded in this channel + about pages)
f6dcad4f 1269 * Video channel management (avatar update is still missing)
9309c3df
C
1270
1271### Bug fixes
1272
1273 * Fix "show more" description on video change
1274 * Accept unlisted comments
1275 * Don't start application until all components were initialized
1276 * Fix word-break in video description and video comments
1277 * Don't add a `.` after the URL in the "forgot password" email
1278
1279
1280
8e03c5f4 1281## v1.0.0-beta.3
d8c2e379
C
1282
1283### Features
1284
1285 * Add hover background color in menu
1286 * Add info about the initial user quota in the registration form
1287 * Add link to register in the login form
1288 * Prevent brute force login attack
1289
1290### Bug fixes
1291
1292 * Fix bad federation with videos with special utf characters in description (again)
1293 * Fix views system behind a reverse proxy
1294
1295
05b49c1d
C
1296## v1.0.0-beta.2
1297
1298### Features
1299
1300 * More logging in SMTP module
1301 * Add option to disable starttls in SMTP module
1302 * Update STUN servers (using framasoft.org and stunprotocol.org now)
1303 * Min comment length is 1 now (useful for emoji...)
1304 * Better embed video player in small screens
1305 * Reduce display time of title/description/control bar in embed on inactivity
1306 * Add sign languages for videos attribute
1307 * Add autoplay parameter for embed
1308 * Videos search on account username and host too
1309 * Redirect to homepage on empty search
1310
1311### Bug fixes
1312
1313 * Fix mentions in comment replies
1314 * Logo/Title redirects to the default route
1315 * Fix bad federation with videos with special utf characters in description
1316 * Fix pagination on mobile
1317 * Use instance name for page titles
1318 * Fix bad id for Create activities (ActivityPub)
1319 * Handle inner actors instead of just handling actor ids (ActivityPub)
1320 * Fallback to torrent file if infohash is incorrect
1321 * Fix admin config errors display/validation
1322 * Add public to Announces (ActivityPub)
1323 * Fix inability to run client when cookies are disabled
1324 * Fix words breaking in videos description
1325 * Graceful exit when import videos script fails
1326 * Fix import videos with long names
1327 * Fix login with a password containing special characters
1328 * Fix player error flickering with an unsupported video format
1329 * Fix comment delete federation
1330 * Fix communication of a PeerTube instance and Mastodon
1331 * Fix custom configuration with number values
1332
d8c2e379 1333
164e6c87
C
1334## v1.0.0-beta.1
1335
3256a4a6 1336Nothing new here, but PeerTube is stable enough for being in beta now.
164e6c87
C
1337
1338
09700934
C
1339## v1.0.0-alpha.9
1340
1341### BREAKING CHANGES
1342
a7977280 1343 * Update videos list/search/get API response:
09700934
C
1344 * Removed `resolution` field
1345 * Removed `resolutionLabel` field
1346 * Removed `category` field
1347 * Removed `categoryLabel` field
1348 * Removed `licence` field
1349 * Removed `licenceLabel` field
1350 * Removed `language` field
1351 * Removed `languageLabel` field
1352 * Removed `privacy` field
1353 * Removed `privacyLabel` field
1354 * Added `resolution.id` field
1355 * Added `resolution.label` field
1356 * Added `category.id` field
1357 * Added `category.label` field
1358 * Added `licence.id` field
1359 * Added `licence.label` field
1360 * Added `language.id` field
1361 * Added `language.label` field
1362 * Added `privacy.id` field
1363 * Added `privacy.label` field
1364
a7977280
C
1365### Bug fixes
1366
1367 * Fix video_share_url duplicate key on failed transcoding job
1368
09700934 1369
cd139178
C
1370## v1.0.0-alpha.8
1371
1372### Features
1373
3256a4a6 1374 * Add ability to set a short instance description
cd139178
C
1375
1376
19a3b914
C
1377## v1.0.0-alpha.7
1378
1379### BREAKING CHANGES
1380
1381 * Update videos list/search API response:
1382 * Removed `accountName` field
1383 * Removed `serverHost` field
1384 * Added `account.name` field
1385 * Added `account.displayName` field
1386 * Added `account.host` field
1387 * Added `account.url` field
1388 * Added `account.avatar` field
1389 * Update video abuses API response:
1390 * Removed `reporterUsername` field
1391 * Removed `reporterServerHost` field
1392 * Removed `videoId` field
1393 * Removed `videoUUID` field
1394 * Removed `videoName` field
1395 * Added `reporterAccount` field
1396 * Added `video.id` field
1397 * Added `video.name` field
1398 * Added `video.uuid` field
1399 * Added `video.url` field
1400
066e94c5
C
1401### Features
1402
a7977280 1403 * Add "Local" in menu that lists only local videos
066e94c5 1404
19a3b914 1405
774ec2a9
C
1406## v1.0.0-alpha.4
1407
1408### Features
1409
1410 * Add iOS support
1411
1412
99915ae3 1413## v1.0.0-alpha.1
82828fb4
C
1414
1415### Features
1416
1417 * Add messages about privacy and P2P
1418 * Add stats route
1419 * Add playback setting
1420
1421
20b40b19
C
1422## v0.0.29-alpha
1423
1424### BREAKING CHANGES
1425
1426 * Use only 1 thread for transcoding by default
1427
1428### Features
1429
1430 * Add help to JS/CSS custom configuration inputs
1431 * Keep ratio in video thumbnail generation
1432 * Handle video in portrait mode
1433
1434### Bug fixes
1435
1436 * Fix complete description on some videos
1437 * Fix job sorting in administration
1438
1439
73c69591
C
1440## v0.0.28-alpha
1441
1442### BREAKING CHANGES
1443
1444 * Enable original file transcoding by default in configuration
1445 * Disable transcoding in other definitions in configuration
1446
1447### Features
1448
1449 * Fallback to HTTP if video cannot be loaded
1450 * Limit to 30 FPS in transcoding
1451
1452
86ec3e53
C
1453## v0.0.27-alpha
1454
78967fca
C
1455### Features
1456
1457 * Add ability for admin to inject custom JavaScript/CSS
ab998f7b 1458 * Add help tooltip on some fields
78967fca 1459
86ec3e53
C
1460### Bug fixes
1461
1462 * Fix comment reply highlighting
1463
b6a4fd6b 1464
61b3e146
C
1465## v0.0.26-alpha
1466
1467### BREAKING CHANGES
1468
1469 * Renamed script `import-youtube.js` to `import-videos.js`
1470 * Renamed `import-video.js` argument `youtube-url` to `target-url`
1471
1472### Features
1473
1474 * Add "Support" attribute/button on videos
1475 * Add ability to import from all [supported sites](https://rg3.github.io/youtube-dl/supportedsites.html) of youtube-dl
1476
1477### Bug fixes
1478
1479 * Fix custom instance name overflow
1480
1481
b6a4fd6b
C
1482## v0.0.25-alpha
1483
1263fc4e
C
1484### Features
1485
3256a4a6 1486 * Add ability to link a specific comment
1263fc4e 1487
b6a4fd6b
C
1488### Bug fixes
1489
1490 * Fix avatars on video watch page
1491
1492
e33b53ab
C
1493## v0.0.24-alpha
1494
1495### Features
1496
1497* Publish comments with *ctrl + enter*
1498
1499### Bug fixes
1500
1501* Don't stuck on active jobs
1502* Fix deleting a video with comments
1503* Fix infinite scroll (videos list)