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