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