a116439ad9cb76789c5cf87e9950cade05bf8003
[oweals/peertube.git] / CHANGELOG.md
1 # Changelog
2
3 ## v1.0.0-beta.10.pre.3
4
5 **See the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade**
6
7 ### Bug fixes (from beta.10.pre.2)
8
9  * Try to fix the infinite creation of Delete actor jobs by deleting kue migration
10  * Cleanup SQL indexes
11  * Try to optimize SQL search query
12  * Try to optimize videos list SQL query
13  * Add more logs and fix logger when having an error
14  * Move subscription helper in the account line in video watch page
15  * Fix responsive on videos search
16  * Refresh orphan actors
17  * Don't send a follow request if the follow was already accepted 
18
19
20 ## v1.0.0-beta.10.pre.2
21
22 **See the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade**
23
24 ### Bug fixes (from beta.10.pre.1)
25
26  * Fix captions/subtitles freeze in player
27  * Fix attribute label width in video watch page
28  * Fix player playback in Chrome
29  * Revert SQL optimization when listing videos: it breaks the connection pool of some instances
30
31
32 ## v1.0.0-beta.10.pre.1
33
34 This version is a pre release because it contains many important changes, and requires manual steps before upgrading.
35
36 **Important:** Before upgrading run the following commands (no need to stop PeerTube) on your PeerTube database (in this example it's *peertube_prod*):
37
38 ```
39 $ sudo -u postgres psql peertube_prod -c 'CREATE EXTENSION IF NOT EXISTS unaccent;'
40 $ sudo -u postgres psql peertube_prod -c 'CREATE EXTENSION IF NOT EXISTS pg_trgm;'
41 ```
42
43 You will need [PostgreSQL Contrib](https://www.postgresql.org/docs/9.6/static/contrib.html).
44   
45 ### BREAKING CHANGES
46
47  * Require `unaccent` and `pg_trgm` PostgreSQL extension for the PeerTube database
48  * `category` filter param is replaced by `categoryOneOf`
49  * Switch job queue to [Bull](https://github.com/OptimalBits/bull). **PeerTube will not migrate your old pending jobs in this new queue manager**
50  * Update nginx template (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx))
51  * Update default cache size configurations
52  * Update search API route: `/videos/search` becomes `/search/videos`
53  
54 ### Features
55
56  * Add ability to change the language of the interface (currently available: english, french, basque, catalan, czech and esperanto)
57  * Subtitles/captions support (.srt and .vtt)
58  * Add advanced search
59  * Add ability to click on category/language/licence/tags in watch page
60  * Improve explanations of P2P & Privacy section in about page
61  * Avoid design latency when the admin set custom CSS
62  * Add ability to update video channel avatar
63  * Limit video resolution depending on the video element size (Nitesh Sawant)
64  * Show "Other videos" on a <1300px viewport ([@Simounet](https://github.com/simounet))
65  * Add QR code to share videos URL ([@DeeJayBro](https://github.com/DeeJayBro))
66  * Add "agree to the terms" checkbox in registration form
67  * Add tracker rate limiter
68  * Add author URL in OEmbed response
69  * Display username instead of email in menu
70  * Clarifying what extensions are accepted for upload ([@rigelk](https://github.com/rigelk))
71  * Thumbnail support for RSS feeds ([@rigelk](https://github.com/rigelk))
72  * Open CORS on API and static resources ([@rezonant](https://github.com/rezonant)
73  * 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
74  * Support Redis socket ([@rigelk](https://github.com/rigelk))
75  * Improve video `start` param to support string times (for example: 2m42s))
76  * Display table next/prev/first/last icons in admin tables
77  * NodeInfo support ([@rigelk](https://github.com/rigelk))
78  * Improve HTTP headers security ([@rigelk](https://github.com/rigelk))
79  * Improve client accessibility (for screen reader users etc)
80  * Optimize SQL requests (in particular the one to list videos)
81  * Optimize images ([@jorropo](https://github.com/jorropo))
82  * Add esperanto, lojban, klingon and kotava (audio/subtitle) languages
83  * Allow uploads of videos <8GB (*experimental*)
84  * Handle FPS > 30 (*experimental*)
85
86 ### Bug fixes
87
88  * Fix avatars/thumbnails update (cache issue)
89  * Fix pagination on admin job table when changing the job state
90  * Fix SQL transaction retryer log
91  * Correctly handle error when remote instance is down
92  * Fix account videos URL when scrolling
93  * Avoid commenting twice by disabling comment submit button when sending the comment
94  * Reset confirm component input when closing it
95  * Fix video speed when video resolutions changes ([@grizio](https://github.com/grizio))
96  * Disable hotkeys modifiers for numbers ([@rigelk](https://github.com/rigelk))
97  * Reset published date on video publish (scheduled or after a transcoding)
98  * Avoid 404 title on the first page load
99  * Fix forgot password message regarding email
100  * Remove scroll to top when closing the menu ([@ebrehault](https://github.com/ebrehault))
101  * Use UUID for channel link in watch page
102
103 ### Docker
104
105  * Add PEERTUBE_SMTP_DISABLE_STARTTLS config env
106  
107
108 ## v1.0.0-beta.9
109
110 ### Features
111
112  * Theater/Cinema mode in player
113  * Add ability to wait transcoding before publishing it
114  * Add ability for uploaders to schedule video update
115  * Add time display to see where we seek the video
116  * Add title in player peers info to show total downloaded/uploaded data
117  * Provide magnet URI in player and download modal ([@rigelk](https://github.com/rigelk))
118  * Add warning if the domain name is different from the one of the first start of Peertube
119  * Add resolution to create-transcoding-job script ([@fflorent](https://github.com/fflorent))
120
121 ### Bug fixes
122
123  * Fix dislikes number in video watch page
124  * Fix import when the imported file has the same extension than an already existing file
125  * Fix bad RSS descriptions when filtering videos by account or channel
126  * Fix RSS results limit
127  * Fix glitch when updating player volume
128  * Use local object URLs for feeds
129  * Automatically jump to the highlighted thread
130  * Fix account link width on video view ([@sesn](https://github.com/sesn))
131  * Prevent commenting twice
132  * Blue links color in comments
133  * Fix quota precision in users list
134  * Handle markdown in account/video channel pages
135  * Fix avatar image in channel page
136  * Fix slow HTTP fallback on Firefox
137  * Do not create a user with the same username than another actor name
138  * Reset search on page change
139  * Fix images size limit
140  * Log torrent errors/warnings in the console, instead of disturbing users
141
142
143 ## v1.0.0-beta.8
144
145 ### Features
146
147  * Docker:
148    * Add disable_starttls and transcoding configuration variables
149    * `.env` file to define env variables (instead of defining them in `docker-compose.yml`)
150    * Some improvements that should make the upgrades less painful
151  * Add ability to manually run transcoding jobs (admin with CLI)
152  * Add ability to import a video file (admin with CLI)
153  * Add context menu to the player
154  * Add number of videos published by an account/video channel
155  * Improve player progress bar
156  * Improve Twitter configuration help tooltips
157  * Pick average video file instead of max quality in "Auto" resolution mode
158  * Increase access token lifetime to 1 day
159  * Add video comments RSS
160
161 ### Bug fixes
162
163  * Clicking on "Download" correctly opens a popup to download the video
164  (instead of opening the video in a new tab)
165  * Fix frequent logout
166  * Fix `publishedAt` video attribute when following a new instance
167  * Correctly resumes the video on "PeerTube" link click in embed
168  * Fix markdown links truncation
169  * Fix account/channel pages not updated if we only change the account/channel
170  * Fix player resolution change that plays even if the video was paused
171  * Fix posting view in embed that contains search params
172  * Fix video watch tooltips regarding subscriptions by using the account name
173  instead of the display name
174  * Rename "my settings" to "my account" in menu
175
176
177 ## v1.0.0-beta.7
178
179 ### BREAKING CHANGES
180
181  * Account client URLs are now `/accounts/{username}/` (and not `/accounts/{id}/`)
182
183 ### Documentation
184
185  * Better documentation on how to deploy with Docker: https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/docker.md
186
187 ### Features
188
189  * Add short description in about page
190  * Add owner account name in video channel page
191  * Improve performance in ActivityPub controllers
192  * Video **support** field inherits video channel **support** field when uploading/updating a video
193  * Resume video when clicking on "PeerTube" link in embed
194
195 ### Bug fixes
196
197  * Fix player on Android
198  * Fix player when Firefox has cookies disabled
199  * Reload "my videos" after a delete
200  * Fix missing key configuration when upgrading with Docker
201  * Fix CC audience in Activity Pub objects/activities
202
203
204 ## v1.0.0-beta.6
205
206 ### Features
207
208  * Handle concurrent requests in cache middleware
209  * Add ability to enable registration by IP
210
211 ### Bug fixes
212
213  * Fix insane SQL request when loading all video attributes
214
215
216 ## v1.0.0-beta.5
217
218 ### BREAKING CHANGES
219
220  * Update Docker Compose (https://github.com/Chocobozzz/PeerTube/commit/fd5e57bbe2accbdb16b6aa65337c5ef44b5bd8fb)
221  * Rename client routes:
222    * `/admin/users/add` to `/admin/users/create`
223    * `/videos/edit/:uuid` to `/videos/update/:uuid`
224    * `/admin/users/:id/update` to `/admin/users/update/:id`
225
226
227 ### Features
228
229  * Adding basic helpers to guide users for comments/subscribe to accounts
230  * Add ability to move a video in another channel
231  * Improve web browser RAM consumption when watching (long) videos
232  * Support robots.txt in configuration
233  * Add ability to select the Redis database in configuration
234
235
236 ### Bug fixes
237
238  * Fix error message on token expiration
239  * Increase menu icon size
240  * Add timeout and TTL to request jobs to fix stuck job
241  * Fix responsive account about page
242  * Fix updating description account
243  * Account/video channel descriptions are not required anymore
244  * Fix video channel description and support max length (500 characters now)
245  * Fix "..." for buttons (delete/edit) in admin tables
246  * Fix overflow in markdown textarea preview
247  * Add ability to embed videos in a Twitter card
248  * Use `publishedAt` attribute when sorting videos
249  * Fix concurrent requests in videos list
250  * Fix player on iOS
251
252
253 ## v1.0.0-beta.4
254
255 ### BREAKING CHANGES
256
257  * Hide by default NSFW videos. Update the `instance.default_nsfw_policy` configuration to `blur` to keep the old behaviour
258  * Move video channels routes:
259    * `/videos/channels` routes to `/video-channels`
260    * `/videos/accounts/{accountId}/channels` route to `/accounts/{accountId}/video-channels`
261  * PeerTube now listen on 127.0.0.1 by default
262  * Use ISO 639 for language (*en*, *es*, *fr*...)
263    * Tools (`import-videos`...) need the language ISO639 code instead of a number
264    * API (`upload`, `update`, `list`...) need/return the language ISO639 code instead of a number
265
266 ### Features
267
268  * Add `publishedAt` attribute to videos
269  * Improve player:
270    * Smooth progress bar
271    * Settings menu
272    * Automatic resolution (depending on the user bandwidth)
273    * Some animations/effects
274    * More reactive when clicking on play
275    * Handle autoplay blocking by some web browsers
276    * Better responsive
277    * Add ability to link a specific timestamp. Example: https://peertube2.cpy.re/videos/watch/f78a97f8-a142-4ce1-a5bd-154bf9386504?start=58
278  * Add an id to the body to override current CSS (for custom CSS)
279  * Add privacy argument to `upload.ts` script
280  * RSS/Atom/JSON-feed for videos recently-added/trending/account
281  * Support hostname binding in the configuration
282  * Add ability to click on an account in the video watch page (link to a search)
283  * Better responsive on many comment replies
284  * Move follows in the job queue
285  * Add ability to choose the NSFW videos policy: hide, blur or display. Could be overrode by the user
286  * Add video privacy information in *my videos page*
287  * Use the video name for the torrent file name instead of the UUID
288  * Handle errors in embed (video not found, server error...)
289  * Account view (videos uploaded by this account + video channel owned by this account + about pages)
290  * Video channel view (videos uploaded in this channel + about pages)
291  * Video channel management (avatar update is still missing)
292
293 ### Bug fixes
294
295  * Fix "show more" description on video change
296  * Accept unlisted comments
297  * Don't start application until all components were initialized
298  * Fix word-break in video description and video comments
299  * Don't add a `.` after the URL in the "forgot password" email
300
301
302
303 ## v1.0.0-beta.3
304
305 ### Features
306
307  * Add hover background color in menu
308  * Add info about the initial user quota in the registration form
309  * Add link to register in the login form
310  * Prevent brute force login attack
311
312 ### Bug fixes
313
314  * Fix bad federation with videos with special utf characters in description (again)
315  * Fix views system behind a reverse proxy
316
317
318 ## v1.0.0-beta.2
319
320 ### Features
321
322  * More logging in SMTP module
323  * Add option to disable starttls in SMTP module
324  * Update STUN servers (using framasoft.org and stunprotocol.org now)
325  * Min comment length is 1 now (useful for emoji...)
326  * Better embed video player in small screens
327  * Reduce display time of title/description/control bar in embed on inactivity
328  * Add sign languages for videos attribute
329  * Add autoplay parameter for embed
330  * Videos search on account username and host too
331  * Redirect to homepage on empty search
332
333 ### Bug fixes
334
335  * Fix mentions in comment replies
336  * Logo/Title redirects to the default route
337  * Fix bad federation with videos with special utf characters in description
338  * Fix pagination on mobile
339  * Use instance name for page titles
340  * Fix bad id for Create activities (ActivityPub)
341  * Handle inner actors instead of just handling actor ids (ActivityPub)
342  * Fallback to torrent file if infohash is incorrect
343  * Fix admin config errors display/validation
344  * Add public to Announces (ActivityPub)
345  * Fix inability to run client when cookies are disabled
346  * Fix words breaking in videos description
347  * Graceful exit when import videos script fails
348  * Fix import videos with long names
349  * Fix login with a password containing special characters
350  * Fix player error flickering with an unsupported video format
351  * Fix comment delete federation
352  * Fix communication of a PeerTube instance and Mastodon
353  * Fix custom configuration with number values
354
355
356 ## v1.0.0-beta.1
357
358 Nothing new here, but PeerTube is stable enough for being in beta now. 
359
360
361 ## v1.0.0-alpha.9
362
363 ### BREAKING CHANGES
364
365  * Update videos list/search/get API response:
366    * Removed `resolution` field
367    * Removed `resolutionLabel` field
368    * Removed `category` field
369    * Removed `categoryLabel` field
370    * Removed `licence` field
371    * Removed `licenceLabel` field
372    * Removed `language` field
373    * Removed `languageLabel` field
374    * Removed `privacy` field
375    * Removed `privacyLabel` field
376    * Added `resolution.id` field
377    * Added `resolution.label` field
378    * Added `category.id` field
379    * Added `category.label` field
380    * Added `licence.id` field
381    * Added `licence.label` field
382    * Added `language.id` field
383    * Added `language.label` field
384    * Added `privacy.id` field
385    * Added `privacy.label` field
386
387 ### Bug fixes
388
389  * Fix video_share_url duplicate key on failed transcoding job
390
391
392 ## v1.0.0-alpha.8
393
394 ### Features
395
396  * Add ability to set a short instance description 
397
398
399 ## v1.0.0-alpha.7
400
401 ### BREAKING CHANGES
402
403  * Update videos list/search API response:
404    * Removed `accountName` field
405    * Removed `serverHost` field
406    * Added `account.name` field
407    * Added `account.displayName` field
408    * Added `account.host` field
409    * Added `account.url` field
410    * Added `account.avatar` field
411  * Update video abuses API response:
412    * Removed `reporterUsername` field
413    * Removed `reporterServerHost` field
414    * Removed `videoId` field
415    * Removed `videoUUID` field
416    * Removed `videoName` field
417    * Added `reporterAccount` field
418    * Added `video.id` field
419    * Added `video.name` field
420    * Added `video.uuid` field
421    * Added `video.url` field
422
423 ### Features
424
425  * Add "Local" in menu that lists only local videos
426
427
428 ## v1.0.0-alpha.4
429
430 ### Features
431
432  * Add iOS support
433
434
435 ## v1.0.0-alpha.1
436
437 ### Features
438
439  * Add messages about privacy and P2P
440  * Add stats route
441  * Add playback setting
442
443
444 ## v0.0.29-alpha
445
446 ### BREAKING CHANGES
447
448  * Use only 1 thread for transcoding by default
449
450 ### Features
451
452  * Add help to JS/CSS custom configuration inputs
453  * Keep ratio in video thumbnail generation
454  * Handle video in portrait mode
455
456 ### Bug fixes
457
458  * Fix complete description on some videos
459  * Fix job sorting in administration
460
461
462 ## v0.0.28-alpha
463
464 ### BREAKING CHANGES
465
466  * Enable original file transcoding by default in configuration
467  * Disable transcoding in other definitions in configuration
468
469 ### Features
470
471  * Fallback to HTTP if video cannot be loaded
472  * Limit to 30 FPS in transcoding
473
474
475 ## v0.0.27-alpha
476
477 ### Features
478
479  * Add ability for admin to inject custom JavaScript/CSS
480  * Add help tooltip on some fields
481
482 ### Bug fixes
483
484  * Fix comment reply highlighting
485
486
487 ## v0.0.26-alpha
488
489 ### BREAKING CHANGES
490
491  * Renamed script `import-youtube.js` to `import-videos.js`
492  * Renamed `import-video.js` argument `youtube-url` to `target-url`
493
494 ### Features
495
496  * Add "Support" attribute/button on videos
497  * Add ability to import from all [supported sites](https://rg3.github.io/youtube-dl/supportedsites.html) of youtube-dl
498
499 ### Bug fixes
500
501  * Fix custom instance name overflow
502
503
504 ## v0.0.25-alpha
505
506 ### Features
507
508  * Add ability to link a specific comment 
509
510 ### Bug fixes
511
512  * Fix avatars on video watch page
513
514
515 ## v0.0.24-alpha
516
517 ### Features
518
519 * Publish comments with *ctrl + enter*
520
521 ### Bug fixes
522
523 * Don't stuck on active jobs
524 * Fix deleting a video with comments
525 * Fix infinite scroll (videos list)