]>
Commit | Line | Data |
---|---|---|
e33b53ab C |
1 | # Changelog |
2 | ||
6ea641be C |
3 | ## v5.0.1 |
4 | ||
5 | ### IMPORTANT NOTES | |
6 | ||
7 | * If you upgrade from PeerTube **< 5.0.0**, please follow 5.0.0 IMPORTANT NOTES | |
8 | ||
9 | ### Bug fixes | |
10 | ||
11 | * Fix HLS player infinite loading when the live stream/video ends | |
12 | * Do not autoplay live without autoplay setting | |
13 | * Fix private/internal video playback from Cloudflare object storage | |
14 | * Fix local channel stats/OpenTelemetry metric | |
15 | * Also display dropdown for videos from the homepage | |
16 | * Fix broken P2P with live stream coming from object storage | |
17 | * Fix responsive of table pagination | |
18 | ||
19 | ||
d604e245 | 20 | ## v5.0.0 |
a5858c3e C |
21 | |
22 | ### IMPORTANT NOTES | |
23 | ||
24 | * **Important** Private and internal video files are now protected. See [#5370](https://github.com/Chocobozzz/PeerTube/pull/5370) for more information, but see below for most important information: | |
25 | * For private/internal videos on filesystem: | |
26 | * These videos are now under a `private/` subdirectory in `videos/` and `streaming-playlists/` directories | |
27 | * Nginx doesn't serve these private files anymore, the requests are forwarded to PeerTube that will check authentication | |
28 | * For private/internal videos in object storage: | |
29 | * These videos have now a private ACL | |
30 | * PeerTube proxifies requests to private object storage (using pre-signed URLs is not possible as explained in [#5370](https://github.com/Chocobozzz/PeerTube/pull/5370)) | |
31 | * Torrent files and magnet URIs of private/internal videos don't contain a webseed URL anymore since they require authentication | |
32 | * **Important** You need to manually execute a migration script after your upgrade to migrate private/internal video files: | |
33 | * Classic installation: `cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-5.0.js` | |
34 | * Docker installation: `cd /var/www/peertube-docker && docker-compose exec -u peertube peertube node dist/scripts/migrations/peertube-5.0.js` | |
21e73020 | 35 | * Configuration changes (`config/production.yaml`): |
28a398d6 C |
36 | * There is a new `secrets.peertube` configuration. You must fill it before running PeerTube v5: https://github.com/Chocobozzz/PeerTube/blob/v5.0.0/config/production.yaml.example#L14 |
37 | * `object_storage.upload_acl` is now a parent key that you must update: https://github.com/Chocobozzz/PeerTube/blob/v5.0.0/config/production.yaml.example#L153 | |
a5858c3e | 38 | * You must update your nginx configuration: |
28a398d6 C |
39 | * We introduced a new `location` for plugin websocket routes: https://github.com/Chocobozzz/PeerTube/blob/v5.0.0/support/nginx/peertube#L135 |
40 | * We introduced a new `location` for private videos files: https://github.com/Chocobozzz/PeerTube/blob/v5.0.0/support/nginx/peertube#L217 | |
a5858c3e C |
41 | |
42 | ### Documentation | |
43 | ||
44 | * Add [Monitoring/Observability documentation](https://docs.joinpeertube.org/maintain-observability) using PeerTube OpenTelemetry feature | |
45 | ||
46 | ### Maintenance | |
47 | ||
48 | * REST API breaking change: | |
49 | * `role` is now `role.id` and `roleLabel` is `role.label` in user response | |
50 | * We now store the complete remote video description: | |
51 | * Deprecate `description` in favour of `truncatedDescription` when listing videos | |
52 | * Complete description is sent by the server in `description` when getting a specific video | |
53 | * Deprecate `/api/v1/videos/:id/description` endpoint | |
54 | * `search.disable_local_search` disables local search in client search bar only and doesn't disable it on server side anymore [#5411](https://github.com/Chocobozzz/PeerTube/pull/5411) | |
55 | ||
56 | ### Plugins/Themes/Embed API | |
57 | ||
58 | * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): | |
59 | * `filter:activity-pub.remote-video-comment.create.accept.result` | |
60 | * Add server plugin helpers | |
61 | * `socket.sendNotification` and `socket.sendVideoLiveNewState` [#5239](https://github.com/Chocobozzz/PeerTube/pull/5239) | |
62 | * Add ability for plugins to register a websocket route using `registerWebSocketRoute` | |
63 | * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): | |
64 | * `filter:internal.player.p2p-media-loader.options.result` [#5318](https://github.com/Chocobozzz/PeerTube/pull/5318) | |
65 | ||
66 | ### CLI tools | |
67 | ||
68 | * Add ability to install alpha/beta/rc plugin versions | |
69 | ||
70 | ### Features | |
71 | ||
72 | * :tada: Support object storage for live streams :tada: | |
73 | * :tada: Support Two Factor authentication (OTP) :tada: | |
74 | * UX: | |
75 | * Add explanation on disk space used for user quota admin config [#5305](https://github.com/Chocobozzz/PeerTube/pull/5305) | |
76 | * Display channel in my videos list | |
77 | * Show which playlists videos are added to in my videos list | |
78 | * Add *Channels* link in left menu | |
79 | * Add `...` after the truncated video name in miniature | |
80 | * Add object storage info badge in videos admin overview | |
81 | * Add links to video files in videos admin overview | |
82 | * Better indicate the live ended in embed by displaying a message and the live preview | |
83 | * Force live autoplay by muting the video if necessary when the user was waiting for the live | |
84 | * Handle network issues in video player [#5138](https://github.com/Chocobozzz/PeerTube/pull/5138) | |
85 | * Cache chunks to upload in server to resume upload later [#5224](https://github.com/Chocobozzz/PeerTube/pull/5224) | |
86 | * Add ability to serve custom static files under `/.well-known` URL path [#5214](https://github.com/Chocobozzz/PeerTube/pull/5214) | |
87 | * Use account/channel avatar in account/channel RSS feeds [#5325](https://github.com/Chocobozzz/PeerTube/pull/5325) | |
88 | * Add filter to sort videos by name [#5351](https://github.com/Chocobozzz/PeerTube/pull/5351) | |
89 | * Add ability to configure OpenTelemetry Prometheus exporter listening hostname | |
90 | ||
91 | ### Bug fixes | |
92 | ||
93 | * Hide all user email block if we can't change it (remote auth for example) | |
94 | * Display an error if trying to reset password of user configured to use a remote authentication | |
95 | * Fix peers info width in live | |
96 | * Fix video job error when video has been deleted | |
97 | * Fix user channels list with increased max counter | |
98 | * More robust channel/playlist import/sync | |
99 | * Hide useless *Wait Transcoding* input for lives | |
100 | * Fix responsive in account channels list | |
101 | * Fix slow page response when listing many videos | |
102 | * Reload data when deleting a blocked video | |
103 | * Prevent error with metrics in HTTP player if no P2P info is available | |
104 | * Fix playlist overflow in account channels page | |
105 | * Fix invalid date display for jobs | |
106 | * Fix conflict with player hotkeys and `alt + number` web browser hotkey | |
107 | * Fix horizontal overflow on rtl languages | |
108 | * Fix actor follow constraint error on remote videos when *Allow users to do remote URI/handle search* is disabled | |
109 | * Fix running again transcoding on a video that doesn't contain audio or on a video that doesn't contain video | |
110 | * Fix re-transcoding of video with odd resolution | |
111 | * Fix embed API with playlists | |
112 | * Fix not working P2P with permanent live | |
113 | * Fix following/fetching remote Pleroma actor | |
114 | * Prevent high Redis memory usage when having many jobs | |
115 | * Fix overall viewers stats with start/end dates | |
d604e245 | 116 | * Remove limit of countries displayed in video/live stats |
a5858c3e C |
117 | |
118 | ||
387ce48e C |
119 | ## v4.3.1 |
120 | ||
121 | ### IMPORTANT NOTES | |
122 | ||
123 | * If you upgrade from PeerTube **< 4.3.0**, please follow 4.3.0 IMPORTANT NOTES | |
124 | ||
125 | ### SECURITY | |
126 | ||
127 | * Prevent XSS in sort select on pages that list videos. Thanks to Anthony Roth who reported the vulnerability! | |
128 | ||
129 | ### Bug fixes | |
130 | ||
131 | * Fix broken embed player on live reload | |
132 | * Fix channel follow when manually approve instance followers is enabled | |
133 | * Fix input with number overflow on small screen | |
134 | * Fix moderation dropdown overflow on mobile | |
135 | * Clearer instance subscription page title in admin | |
136 | * Prevent "Cannot use same state" video error | |
137 | * Correctly handle RTMP streams without audio | |
138 | * Correctly process broadcast parallel job in parallel | |
139 | ||
140 | ||
eb0b30a2 | 141 | ## v4.3.0 |
5f016383 | 142 | |
9ef3aeac C |
143 | ### IMPORTANT NOTES |
144 | ||
145 | * Redis **<** 5.x is not supported anymore | |
aca96f80 | 146 | * FFmpeg **<** 4.3 is not supported anymore |
9ef3aeac | 147 | |
5f016383 C |
148 | ### Maintenance |
149 | ||
150 | * Use `yt-dlp` by default instead of `youtube-dl` for new installations (because of much more dev activity) | |
151 | * Support NodeJS 18 | |
152 | * Improved PeerTube logs: | |
153 | * Reduce amount of PeerTube error logs | |
154 | * Introduce `log.log_tracker_unknown_infohash` setting to disable "Unknown infoHash" warnings | |
155 | * Web browsers send their error logs to the server that writes them in its own logs. Can be disabled by `log.accept_client_log` setting | |
156 | * Introduce experimental support of [OpenTelemetry](https://opentelemetry.io/) | |
157 | * Enable metrics export using a Prometheus exporter | |
158 | * Enable tracing export using a Jaeger exporter | |
159 | * Automatically rebuild native plugin modules on NodeJS ABI change | |
160 | ||
161 | ### Docker | |
162 | ||
163 | * Add ability to easily use the docker compose stack on localhost | |
164 | ||
165 | ### Plugins/Themes/Embed API | |
166 | ||
167 | * Theme: | |
08d27610 | 168 | * Removed unused `--secondaryColor` CSS variable |
5f016383 C |
169 | * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): |
170 | * `filter:api.my-library.video-playlist-elements.list.params` & `filter:api.my-library.video-playlist-elements.list.result` [#5098](https://github.com/Chocobozzz/PeerTube/pull/5098) | |
171 | * `action:video-channel-create.init` | |
172 | * `action:video-channel-update.init` & `action:video-channel-update.video-channel.loaded` | |
173 | * `action:video-channel-videos.init` & `action:video-channel-videos.video-channel.loaded` & `action:video-channel-videos.videos.loaded` | |
174 | * `action:video-channel-playlists.init` & `action:video-channel-playlists.video-channel.loaded` & `action:video-channel-playlists.playlists.loaded` | |
175 | * `filter:share.video-embed-code.build.params` & `filter:share.video-embed-code.build.result` & `filter:share.video-playlist-embed-code.build.params` & `filter:share.video-playlist-embed-code.build.result` | |
176 | * `filter:share.video-embed-url.build.params` & `filter:share.video-embed-url.build.result` & `filter:share.video-playlist-embed-url.build.params` & `filter:share.video-playlist-embed-url.build.result` | |
177 | * `filter:share.video-url.build.params` & `filter:share.video-url.build.result` & `filter:share.video-playlist-url.build.params` & `filter:share.video-playlist-url.build.result` | |
178 | * `action:modal.share.shown` | |
179 | * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): | |
180 | * `filter:job-queue.process.params` & `filter:job-queue.process.result` | |
181 | * `filter:transcoding.manual.resolutions-to-transcode.result` & `filter:transcoding.auto.resolutions-to-transcode.result` | |
182 | * `action:api.video-channel.created` & `action:api.video-channel.updated` & `action:api.video-channel.deleted` | |
183 | * `action:notifier.notification.created` | |
184 | * Add HTML placeholder (https://docs.joinpeertube.org/contribute-plugins?id=html-placeholder-elements): | |
185 | * `share-modal-playlist-settings` & `share-modal-video-settings` | |
186 | ||
187 | ### Features | |
188 | ||
08d27610 | 189 | * :tada: Add ability for users to synchronize a remote channel [#5135](https://github.com/Chocobozzz/PeerTube/pull/5135) :tada: |
5f016383 C |
190 | * Automatically import all videos of a remote channel in your PeerTube channel |
191 | * PeerTube will watch for new publications and automatically import these new videos | |
192 | * UI: | |
08d27610 C |
193 | * Redesigned *Create an account* steps |
194 | * Improved *Login* page | |
195 | * Use a lighter font color | |
196 | * Use a bigger font size | |
197 | * Don't display form errors in red while typing but only when we unfocus the input | |
5f016383 | 198 | * Display an error message when the user is unauthorized to view a page [#5097](https://github.com/Chocobozzz/PeerTube/pull/5097) |
08d27610 C |
199 | * Display latest upload date for captions |
200 | * Add an information if the live will be saved as a replay when displaying live sessions | |
5f016383 | 201 | * Move search bar at the center of the header |
08d27610 | 202 | * Add *Toki Pona* and *Croatian* locales in client |
5f016383 | 203 | * Embed: |
08d27610 C |
204 | * Display a message and automatically start live streams in embed |
205 | * Use the instance name instead of "PeerTube" in embed control bar | |
5f016383 C |
206 | * Reuse current watch page query parameters for embed when using OEmbed [#5023](https://github.com/Chocobozzz/PeerTube/pull/5023) |
207 | * Instance follows: | |
08d27610 C |
208 | * Introduce a *Rejected* state for follow requests to not reprocess already rejected follow requests |
209 | * Add bulk actions on instance following/followers () | |
5f016383 C |
210 | * Admins: |
211 | * Add ability to disable original resolution transcoding of the uploaded video/live stream | |
212 | * Add ability to delete a specific video file in videos overview | |
08d27610 C |
213 | * Display *Last Login* column by default in users overview |
214 | * Remember last selected columns in users overview | |
215 | * Add ability to set a custom video import timeout | |
216 | * Add ability to set the default feed (Atom, RSS...) items count | |
217 | * Admins and moderators now bypass API rate limits | |
218 | * Add ability to list comments on local videos in comments overview | |
5f016383 | 219 | * Limit video import resolution depending on enabled VOD transcoding resolutions |
08d27610 C |
220 | * Store and display the uploaded video original filename [#4885](https://github.com/Chocobozzz/PeerTube/pull/4885) |
221 | * Add *Total views* in the my channels list [#5007](https://github.com/Chocobozzz/PeerTube/pull/5007) | |
222 | * Add *Original Publication Date* video sort option [#4959](https://github.com/Chocobozzz/PeerTube/pull/4959) | |
5f016383 C |
223 | * Performance: |
224 | * Optimized view/watching endpoint | |
08d27610 C |
225 | * Optimized video feed SQL query |
226 | * Process images (resize, convert...) in a dedicated worker thread | |
227 | * Optimized emoji markup list rendering in client | |
cef2306a | 228 | * Use a worker thread to send ActivityPub Broadcast requests |
08d27610 | 229 | * Suffix external auth username/channel name on conflict instead of throwing an exception |
5f016383 C |
230 | |
231 | ### Bug fixes | |
232 | ||
08d27610 C |
233 | * Fix users overview *Last login* sort in admin |
234 | * More robust *move to object storage* job failure | |
5f016383 C |
235 | * Fix comment add avatar with a unauthenticated user |
236 | * Fix fetching unlisted video in client | |
08d27610 | 237 | * Fix comments/download enabled attributes when importing a video |
5f016383 C |
238 | * Fix total instance views stats |
239 | * Fix HLS player infinite buffering on seek | |
240 | * Reset table pagination on search | |
08d27610 C |
241 | * *Host* search filter can also search into channels and playlists in global search |
242 | * Fix *My videos* invalid counter | |
5f016383 | 243 | * Prevent error on highlighted thread |
08d27610 | 244 | * Fix *Jobs*, *Account blocklist* and *Server blocklist* hidden columns on Safari |
5f016383 | 245 | * Fix live stream max bitrate |
08d27610 | 246 | * Fix incompatibility with OpenSSL 3 |
5f016383 C |
247 | * Don't crash on redis connection error |
248 | * Transcoding: | |
249 | * Fix failed transcoding with a mp3 file that contains a cover image | |
250 | * Prevent duplicated HLS playlist when running transcoding | |
251 | * Regenerate video file names when running transcoding manually | |
252 | * Prevent job failures resulting in broken videos on concurrent transcoding | |
253 | * Fix transcoding of videos with quad audio channels | |
254 | * ActivityPub | |
08d27610 C |
255 | * Fix random invalid HTTP signature generation |
256 | * Use unique AP id for *Accept*/*Reject* activities | |
257 | * Correctly handle remote actors that don't have follow counters | |
5f016383 C |
258 | * Correctly handle unknown remote actor image size |
259 | * Add years in graph legend when grouping video views stats by month | |
260 | * Prevent creating multiple lives when clicking multiple times on the "Go Live" button | |
08d27610 | 261 | * Fix *undefined" resolution in player *Stats for nerds* |
cef2306a C |
262 | * Fix not displayed error message in administrator web config |
263 | * More robust S3 upload [#5231](https://github.com/Chocobozzz/PeerTube/pull/5231) | |
264 | * Fix broken saved live stream with only one resolution | |
265 | * Fix `removeEventListener` player embed api | |
eb0b30a2 C |
266 | * Progressively cleanup actor images without width from the database |
267 | * Fix broken dates on localized pages | |
268 | * Prevent job queue to be started before plugins | |
269 | * Fix old database enum names | |
270 | * Don't display remove file icon in admin videos overviews if we can't delete the file | |
5f016383 C |
271 | |
272 | ||
4644ad30 C |
273 | ## v4.2.2 |
274 | ||
275 | ### IMPORTANT NOTES | |
276 | ||
277 | * If you upgrade from PeerTube **< 4.2.0**, please follow 4.2.0 IMPORTANT NOTES | |
278 | ||
279 | ### SECURITY | |
280 | ||
281 | * Upgrade vulnerable server dependencies | |
282 | ||
283 | ### Bug fixes | |
284 | ||
285 | * Fix fast restream in permanent live | |
286 | * Fix latency mode setting when creating a live | |
287 | * Fix unique constraint tag violation when importing videos | |
288 | * Fix latest live sessions order | |
289 | * Fix server crash feed when accessing feeds that contains a live | |
290 | * Fix `false` boolean attribute (`data-is-live` etc) in custom markup | |
291 | ||
292 | ||
d47b1807 C |
293 | ## v4.2.1 |
294 | ||
295 | ### IMPORTANT NOTES | |
296 | ||
297 | * If you upgrade from PeerTube **< 4.2.0**, please follow 4.2.0 IMPORTANT NOTES | |
298 | ||
299 | ### Bug fixes | |
300 | ||
301 | * Fix live ending job that breaks new live session | |
302 | * Fix search filters counter | |
303 | * Fix upload banner icon margin | |
304 | * Fix button icon margin | |
305 | * Fix my import expander icon that should only be displayed on import error | |
306 | * Fix select components styling inconsistency | |
307 | * Increase max watch section to avoid too much warnings in server | |
308 | * Optimize broadcast job creation | |
309 | * Optimize `View` activities delivery using a dedicated broadcast job queue that can be run in parallel | |
310 | * Fix video selection buttons placement | |
311 | * Fix searching into account blocklist | |
312 | * Fix incorrect instance stats | |
313 | * Fix broken player on ICE error | |
314 | * Relax views federation | |
494081f8 C |
315 | * Fix peertube user in docker |
316 | * Fix playlist element federation with a deleted video | |
d47b1807 C |
317 | |
318 | ||
cc4efef7 | 319 | ## v4.2.0 |
02cae5bd C |
320 | |
321 | ### IMPORTANT NOTES | |
322 | ||
c2b1ffa7 | 323 | * **Important** You need to execute manually a migration script (can be executed after your upgrade, while your PeerTube instance is running) to generate smaller avatar miniatures: |
02cae5bd C |
324 | * Classic installation: `cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-4.2.js` |
325 | * Docker installation: `cd /var/www/peertube-docker && docker-compose exec -u peertube peertube node dist/scripts/migrations/peertube-4.2.js` | |
c501cdef C |
326 | * **Important** SQL migrations (in particular `0685-multiple-actor-images`) can take several minutes to complete |
327 | * **Important** You must update your nginx configuration to support video web editor: https://docs.joinpeertube.org/install-any-os?id=nginx | |
02cae5bd C |
328 | * REST API: |
329 | * `PUT /api/v1/videos/{id}/watching` is deprecated, use `POST /api/v1/videos/videos/{id}/views` instead: https://docs.joinpeertube.org/api-rest-reference.html#operation/addView | |
330 | ||
331 | ### Maintenance | |
332 | ||
333 | * Add `client.videos.resumable_upload.max_chunk_size` config option [#4857](https://github.com/Chocobozzz/PeerTube/pull/4857) | |
334 | * Add `object_storage.upload_acl` config option [#4861](https://github.com/Chocobozzz/PeerTube/pull/4861) | |
335 | * Add ability to set RTMP/RTMPS listening hostname using `rtmp.hostname`/`rtmps.hostname` and public RTMP/RTMPS hostname using `rtmp.public_hostname`/`rtmps.public_hostname` | |
010382b6 | 336 | * Removed `best` default trending algorithm. It is automatically used if using `hot` algorithm with a logged in user |
02cae5bd C |
337 | |
338 | ### Docker | |
339 | ||
340 | * Use NodeJS 16 in PeerTube docker image: administrators may have to reinstall PeerTube plugins that use native NodeJS dependencies | |
341 | * Support readonly tmp directory (if you want to use `tmp` directory as a volume) | |
342 | ||
343 | ### Plugins/Themes/Embed API | |
344 | ||
345 | * Theme: | |
346 | * Add `--mainBackgroundHoverColor` and `--greySecondaryBackgroundColor` CSS variables | |
347 | * Add server plugin hooks | |
348 | * `filter:api.video-playlist.videos.list.params` and `filter:api.video-playlist.videos.list.result` | |
349 | * Support `getSettings()`, `isLoggedIn()` and `getAuthHeader()` client plugin helpers in embed | |
c2b1ffa7 C |
350 | * Player URL query parameters: |
351 | * Support `controlBar=0` to hide player control bar. See [the documentation](https://docs.joinpeertube.org/api-embed-player?id=url-parameters) for more information | |
02cae5bd C |
352 | |
353 | ### Features | |
354 | ||
355 | * :tada: Add video edition from the PeerTube web interface :tada: | |
356 | * Cut the video (set a new start/new end) | |
357 | * Add an intro at the beginning and/or an outro at the end of the video | |
358 | * Add an icon/watermark in the top right corner of the video | |
359 | * PeerTube will automatically transcode the new video and replace the original one | |
c2b1ffa7 | 360 | * :sparkles: *Funded by "la Direction du numérique du Ministère de l'Éducation Nationale, de la Jeunesse et des Sports"* :sparkles: |
f4120aea | 361 | * :tada: Add advanced statistics of a specific video :tada: |
02cae5bd C |
362 | * Provide *Average watch time*, *Total watch time* and *Peak viewers* video statistics |
363 | * Display total viewers, aggregated watch time and audience retention in interactive time series graphs | |
f4120aea | 364 | * Display viewer countries in bar chart if not disabled by admins |
c2b1ffa7 | 365 | * :sparkles: *Funded by HowlRound Theatre Commons at Emerson College* :sparkles: |
02cae5bd C |
366 | * :tada: Add latency setting support for lives (small latency without P2P or high latency to increase P2P ratio) :tada: |
367 | * :tada: Add ability to save a replay of every streaming session of a permanent live :tada: | |
c2b1ffa7 | 368 | * :sparkles: *Funded by HowlRound Theatre Commons at Emerson College* :sparkles: |
02cae5bd C |
369 | * Add simple subtitle edition from video captions tab in video edition form [#4666](https://github.com/Chocobozzz/PeerTube/pull/4666) |
370 | * Display live streaming sessions details in permanent live information modal | |
f6b89d8e | 371 | * Add ability to also mute users when banning them [#4660](https://github.com/Chocobozzz/PeerTube/pull/4660) |
02cae5bd C |
372 | * UI improvements: |
373 | * Add ability for admins to display author avatar in video miniatures [#4639](https://github.com/Chocobozzz/PeerTube/pull/4639) [#4823](https://github.com/Chocobozzz/PeerTube/pull/4823) | |
374 | * Display author avatar in embed | |
375 | * Move admin comments list in *Overviews* menu | |
376 | * Add a *Refresh* button to admin comments list | |
377 | * Add ability to sort videos by total views | |
378 | * Add *Persian* locale support | |
c2b1ffa7 C |
379 | * Add previous page redirection support on external auth login |
380 | * Support proxy for object storage [#4973](https://github.com/Chocobozzz/PeerTube/pull/4973) | |
381 | * Add "Only display embed URL" checkbox in share modal | |
02cae5bd C |
382 | |
383 | ### Bug fixes | |
384 | ||
385 | * Video uploads fixes: | |
386 | * Fix invalid token during long uploads | |
387 | * Fix upload on server with a slow disk | |
388 | * Fix upload of some videos with unknown duration (`.m2v` for example) | |
389 | * Fix 2 hours limit on uploads | |
390 | * Fix upload page title [#4904](https://github.com/Chocobozzz/PeerTube/pull/4904) | |
c2b1ffa7 | 391 | * Fix video upload with some characters in filename |
02cae5bd C |
392 | * Fix `.ac3` and `.mts` upload on some OS |
393 | * Fix avatar with account username starting with a number | |
394 | * Fix client html cache on theme update | |
395 | * Disallow unlisted video indexation | |
396 | * Allow oembed to fetch unlisted videos | |
397 | * Stop removing remote Mastodon rates | |
398 | * Fix email links displayed twice in text version | |
399 | * Fix user quota inconsistencies in admin when users use lives | |
400 | * Fix admin instance following list when sorting by *Redundancy allowed* | |
401 | * More reliable object storage upload when using multipart [#4903](https://github.com/Chocobozzz/PeerTube/pull/4903) | |
402 | * Correctly handle HTTP signature draft 11 requests (without `date` header but with `(created)`) | |
c2b1ffa7 | 403 | * Fix `ctrl + 0-9` player hotkeys conflicting with web browser hotkeys |
02cae5bd C |
404 | |
405 | ||
ff36d20a C |
406 | ## v4.1.1 |
407 | ||
408 | ### Security | |
409 | ||
a0cc70a4 | 410 | * Strip EXIF data when processing images |
ff36d20a C |
411 | |
412 | ### Docker | |
413 | ||
414 | * Fix videos import by installing python 3 | |
415 | * Install `git` package (may be needed to install some plugins) | |
416 | ||
417 | ### Bug fixes | |
418 | ||
419 | * Fix error when updating a live | |
420 | * Fix performance regression when rendering HTML and feeds | |
421 | * Fix player stuck by HTTP request error | |
422 | ||
423 | ||
8d8b6510 | 424 | ## v4.1.0 |
6e0ee5a5 C |
425 | |
426 | ### IMPORTANT NOTES | |
427 | ||
5cad2ca9 | 428 | * PeerTube does not support NodeJS 12 anymore |
6e0ee5a5 C |
429 | |
430 | ### Plugins/Themes/Embed API | |
431 | ||
432 | * Introduce ability for plugins to create client pages: https://docs.joinpeertube.org/contribute-plugins?id=create-client-page | |
433 | * Plugins that register custom video fields can choose in which tab they want to display them and can report errors: https://docs.joinpeertube.org/contribute-plugins?id=add-custom-fields-to-video-form | |
434 | * Add new client plugin id selectors | |
435 | * Add `#plugin-selector-about-instance-moderation`, `#plugin-selector-about-instance-other-information`, `#plugin-selector-about-instance-features`, `#plugin-selector-about-instance-statistics`, `#plugin-selector-about-menu-instance`, `#plugin-selector-about-menu-peertube`, `#plugin-selector-about-menu-network` in about page [#4597](https://github.com/Chocobozzz/PeerTube/pull/4597) | |
436 | * Add `#plugin-selector-menu-user-dropdown-language-item` in menu [#4597](https://github.com/Chocobozzz/PeerTube/pull/4597) | |
437 | * Add client plugin hooks | |
438 | * `filter:login.instance-about-plugin-panels.create.result` and `filter:signup.instance-about-plugin-panels.create.result` to add custom instance information in login/signup pages | |
439 | * Add server plugin hooks | |
440 | * `filter:api.server.stats.get.result` | |
441 | * `filter:api.video.upload.video-attribute.result`, `filter:api.video.import-url.video-attribute.result`, `filter:api.video.import-torrent.video-attribute.result`, `filter:api.video.live.video-attribute.result` when creating a video object | |
442 | * `action:api.video-caption.created` and `action:api.video-caption.deleted` [#4650](https://github.com/Chocobozzz/PeerTube/pull/4650) | |
443 | * Server helpers | |
444 | * `videos.getFiles(videoId: number)` to list video files (webtorrent, hls and thumbnail files) | |
445 | * `videos.ffprobe(path: string)` to get `ffprobe` JSON result | |
446 | * Publish [@peertube/peertube-type](https://www.npmjs.com/package/@peertube/peertube-types) NPM module that can be used by TypeScript plugins | |
447 | * Add ability to disable P2P in embed using `p2p` query parameter in embed URL | |
448 | ||
449 | ### Maintenance | |
450 | ||
451 | * REST API | |
452 | * Deprecate `webTorrentEnabled` in favour of `p2pEnabled` for user model | |
453 | * Add ability to pause/resume the job queue | |
454 | * Also publish stable releases on https://builds.joinpeertube.org/release | |
455 | * Add ability for admins to specify `youtube-dl`/`yt-dlp` python binary path [#4706](https://github.com/Chocobozzz/PeerTube/pull/4706) | |
456 | * PeerTube server startup is faster | |
457 | ||
85e0961c C |
458 | ### Security |
459 | ||
460 | * Check video privacy before listing or accepting captions, comments or rates | |
461 | * Check video import target URL does not resolve to internal IP. This technique has some limits so if you have private HTTP services on your server/network publicly accessible, we recommend to use a proxy or a dedicated interface for PeerTube | |
462 | ||
6e0ee5a5 C |
463 | ### CLI tools |
464 | ||
465 | * Also remove HLS files when using `prune-storage` script | |
466 | * Support `--plugin-version` option when installing a plugin [#4599](https://github.com/Chocobozzz/PeerTube/pull/4599) | |
467 | ||
468 | ### Features | |
469 | ||
470 | * :tada: Player improvements | |
471 | * Increase control bar size on desktop & mobile | |
472 | * Add overlay on tap to easily play/pause the video on mobile | |
473 | * Automatically move to landscape when full screen a video on mobile | |
474 | * Add fast forward/rewind on double tap on mobile | |
475 | * Cleanup, fix and add player hotkeys | |
476 | * Keep control bar displayed when settings panel is opened | |
477 | * Faster hiding transition for control bar | |
478 | * Stop confusing *peer* indication in control bar when p2p is disabled | |
479 | * Try to fast forward video on HLS decode error | |
480 | * :tada: More admin customizations | |
481 | * Specify default *Publish* video attributes (download enabled, comments enabled, privacy, licence) | |
482 | * Choose to automatically redirect users on the external auth platform on login button click | |
483 | * Set default P2P policy for the player | |
484 | * Search improvements | |
485 | * Add *Result type* filter in search (videos, channels or playlists) | |
486 | * Display only video results when searching on video metadata (tags, categories etc) | |
487 | * Video imports | |
488 | * Users can cancel and delete video imports | |
489 | * Add ability to filter video imports by target URL | |
490 | * Add ability for users to delete individual elements in videos history | |
491 | * Show date and views counter in playlist element miniature [#4396](https://github.com/Chocobozzz/PeerTube/issues/4396) | |
492 | * Add *norsk* locale support | |
493 | * Check mute status and display mute badges in channel and account pages | |
494 | * Add *No linguistic content* video language option [#4631](https://github.com/Chocobozzz/PeerTube/pull/4631) | |
495 | * Don't send notifications to admins/moderators if an admin/moderator reported an abuse | |
496 | * Add ability for moderators/admins to edit any channel [#4608](https://github.com/Chocobozzz/PeerTube/pull/4608) | |
497 | * Add a refresh button to admin videos overview page [#4753](https://github.com/Chocobozzz/PeerTube/pull/4753) | |
498 | * Add *Official* badge to official plugins in admin plugin pages | |
499 | * Automatically clean unavailable remote ActivityPub resources | |
7c330d60 C |
500 | * Media RSS feed displays video file as default enclosure instead of torrent |
501 | * Use white background for PeerTube icons (instead of transparency) | |
502 | * Show private badge for private videos in playlists [#4767](https://github.com/Chocobozzz/PeerTube/pull/4767) | |
6e0ee5a5 C |
503 | |
504 | ### Bug fixes | |
505 | ||
506 | * Fix weird `require` bug on plugin upgrade | |
507 | * Fix plugin storage return value when storing a JSON array [#4640](https://github.com/Chocobozzz/PeerTube/pull/4640) | |
508 | * Decrease delay to cleanup resumable uploads (to 1 hour) | |
509 | * Update torrent metadata on video update | |
510 | * Fix HLS player with videos that have stream duration inconsistencies | |
511 | * Fix player crash if the video contains only audio resolution | |
512 | * Fix ffmpeg crash when using a transcoding plugin encoder that doesn't support PeerTube B-frame strategy | |
513 | * Fix transcoding failure for audio only uploads | |
514 | * Don't run HLS transcoding when running manually WebTorrent transcoding from the admin | |
515 | * Don't run audio transcoding with video only file | |
516 | * Correctly send new HLS files after re-transcoding to object storage | |
517 | * Fix stuck state when move transcoding job failed | |
518 | * Correctly display internal videos of internal subscriptions | |
519 | * Correctly display all videos history to users | |
520 | * Fix video upload with big preview file | |
521 | * Fix description/comment timestamp click of external video | |
522 | * Add missing `mediaType` information to AP objects | |
523 | * Fix abuse list crash on deleted reporter account | |
524 | * Convert markdown to HTML/plain text for RSS feeds | |
525 | * Search on tags is now case insensitive | |
526 | * Forbid comments/captions listing of private/internal videos | |
527 | * Prevent video import on non unicast ips | |
7c330d60 C |
528 | * Improve markdown to plain text converter, especially when handling lists |
529 | * Fix scheduled publication on upload | |
85e0961c C |
530 | * Fix youtube-dl max buffer size error |
531 | * Hide remote subscribe if user is logged in | |
532 | * Fix video file `storage` column inconsistency | |
6e0ee5a5 C |
533 | |
534 | ||
41ec03fc | 535 | ## v4.0.0 |
5098098d C |
536 | |
537 | ### IMPORTANT NOTES | |
538 | ||
63e4d84f C |
539 | * **Important** You need to execute manually a migration script (can be executed after your upgrade, while your PeerTube instance is running) to migrate HLS files name: |
540 | * Classic installation: `cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-4.0.js` | |
541 | * Docker installation: `cd /var/www/peertube-docker && docker-compose exec -u peertube peertube node dist/scripts/migrations/peertube-4.0.js` | |
5098098d C |
542 | * **Important** We fixed configuration inconsistencies and added some keys. **You must change/add them in your production.yaml** |
543 | * `log.rotation.maxFileSize` becomes `log.rotation.max_file_size` | |
544 | * `log.rotation.maxFiles` becomes `log.rotation.max_files` | |
545 | * `log.anonymizeIP` becomes `log.anonymize_ip` | |
546 | * Removed `import.http.proxy` configuration: use `HTTP_PROXY` and `HTTPS_PROXY` environment variables instead | |
547 | * Added `storage.bin` in configuration file | |
548 | * REST API: Deprecate `filter` videos list query parameter in favour of `isLocal` and `include` | |
549 | * PeerTube **is compatible** with ffmpeg 4.4.1 but **is not compatible** with ffmpeg 4.4.0 | |
550 | * Removed deprecated `/static/torrents` route | |
551 | * We changed the live `views` and `viewers` system, that could lead to federation inconsistencies with instances < 4.0.0 for these specific counters | |
552 | ||
553 | ### Maintenance | |
554 | ||
555 | * Add ability for sysadmins to disable web configuration edition [#4315](https://github.com/Chocobozzz/PeerTube/pull/4315) | |
556 | * YoutubeDL: | |
557 | * Support [yt-dlp](https://github.com/yt-dlp/yt-dlp/) (recommended due to unmaintained [youtube-dl](https://github.com/ytdl-org/youtube-dl)) | |
558 | * Add ability to set release URL in configuration | |
559 | * Add ability to override `default-playlist.png`, `default-avatar-account.png`, `default-avatar-video-channel.png` using `storage.client_overrides` configuration [#4392](https://github.com/Chocobozzz/PeerTube/pull/4392) | |
560 | ||
561 | ### Plugins/Themes/Embed API | |
562 | ||
563 | *Documentation: https://docs.joinpeertube.org/api-plugins* | |
564 | ||
565 | * Add client plugin hooks: | |
566 | * `filter:api.video-watch.video-playlist-elements.get.params` and `filter:api.video-watch.video-playlist-elements.get.result` [#4387](https://github.com/Chocobozzz/PeerTube/pull/4387) | |
1ffb7622 C |
567 | * Introduce plugin id selectors: https://docs.joinpeertube.org/contribute-plugins?id=plugin-selector-on-html-elements |
568 | * Add `#plugin-selector-login-form` to login form | |
5098098d C |
569 | |
570 | ### Docker | |
571 | ||
572 | * We now use Bullseye for Docker images, so the image name changed: | |
573 | * `production-buster` becomes `production-bullseye` | |
574 | * `v4.x.x-buster` becomes `v4.x.x-bullseye` | |
575 | * Allow configuration to be static/readonly [#4315](https://github.com/Chocobozzz/PeerTube/pull/4315) | |
576 | ||
577 | ### CLI tools | |
578 | ||
579 | * Add [create-move-video-storage-jobs](https://docs.joinpeertube.org/maintain-tools?id=create-move-video-storage-jobjs) script to move local video files in object storage [#4481](https://github.com/Chocobozzz/PeerTube/pull/4481) | |
580 | * Removed `peertube-repl` and `peertube-watch` scripts | |
581 | * Apply import interval only when reasonable [#4552](https://github.com/Chocobozzz/PeerTube/pull/4552) | |
582 | ||
583 | ### Features | |
584 | ||
585 | * :tada: Add videos overview in admin | |
586 | * List all available videos on the instance | |
587 | * Display video information summary: file type, file size, privacy, state, embed... | |
588 | * Many filters available: videos with/without HLS/WebTorrent, remote/local videos, exclude muted accounts... | |
589 | * Run WebTorrent/HLS transcoding | |
590 | * Remove WebTorrent/HLS video files | |
591 | * Bulk actions: remove, block, run transcoding, delete video files... | |
592 | * Correctly generate thumbnails/previews for portrait videos | |
593 | * Keep input image ratio for banners, avatars, thumbnails... | |
594 | * Support 144p transcoding [#4492](https://github.com/Chocobozzz/PeerTube/pull/4492) | |
595 | * Support RTMPS | |
596 | * UI: | |
597 | * Live: | |
598 | * Specify live type at first step | |
599 | * Improve *Permanent live* label using *Recurring live* expression | |
600 | * Clearer moderation dropdowns using section titles | |
601 | * Improve admin tables responsive | |
602 | * Add warning when trying to share a private playlist/video [#4469](https://github.com/Chocobozzz/PeerTube/pull/4469) | |
603 | * Change *Sort by views* to *Sort by recent views* [#4483](https://github.com/Chocobozzz/PeerTube/pull/4483) | |
604 | * Add *Next video to be played* in watch page if autoplay is enabled [#4497](https://github.com/Chocobozzz/PeerTube/pull/4497) | |
605 | * Add embed preview in share modal | |
606 | * Add user username in modal when deleting a user | |
607 | * Add video name in modal when blocking/removing a video | |
1ffb7622 | 608 | * Improve notification settings organization |
5098098d C |
609 | * Video/live views: |
610 | * Add ability for admins to change local buffer update interval | |
611 | * Add ability for admins to change view expiration for a specific IP | |
612 | * Introduce `viewers` attribute for live videos and reduce delay to see `viewers` update in the interface | |
613 | * Take into accounts `views` created during the live when saving replay | |
614 | * Add markdown support for playlist description [#4489](https://github.com/Chocobozzz/PeerTube/pull/4489) | |
615 | * Improve video playback when having invalid redundancy URLs | |
616 | * Load video resolutions before video starts in player settings menu | |
617 | * Optimize federation: | |
618 | * Correctly set HTTP request timeout | |
619 | * Process slow/bad targets in a dedicated queue | |
620 | * Optimize ActivityPub outbox fetch | |
1ffb7622 | 621 | * Automatically update `publishedAt` attribute when re-streaming in a permanent live |
5098098d C |
622 | * Add ability for users to view their followers |
623 | * Add ability for users to filter their videos per channel | |
624 | * Add ability for admins to show author display name instead of username in video miniatures [#4422](https://github.com/Chocobozzz/PeerTube/pull/4422) | |
625 | * Add ability for admins to filter logs by tags | |
626 | * Add ability for admins to configure per user channels limit [#4491](https://github.com/Chocobozzz/PeerTube/pull/4491) | |
627 | * Add available instance themes and plugins in `/about/peertube` page | |
628 | * Remove contributors list from `/about/peertube` since some contributors don't want their name to be displayed on unknown PeerTube instances | |
629 | * Add *Transcoding failed* video state [#4525](https://github.com/Chocobozzz/PeerTube/pull/4525) | |
630 | * Add ability to make a search using a URL containing query parameters | |
631 | * Optimize *channel with video* component in homepage | |
632 | ||
633 | ### Bug fixes | |
634 | ||
635 | * Alert user when aborting video upload | |
636 | * Fix youtube-dl update with proxy | |
637 | * Fix *My videos* search on page refresh | |
638 | * Fix homepage request error when having many elements (channels, videos...) | |
639 | * Prevent multiple post-process triggering of upload-resumable [#4175](https://github.com/Chocobozzz/PeerTube/pull/4175) | |
640 | * Fix remote interaction on remote content | |
641 | * Fix HLS transcoding job when running `create-transcoding-job` CLI | |
642 | * Fix import error log on failed import | |
643 | * Fix transcoding with very low input bitrate | |
644 | * Update `updatedAt` video attribute on thumbnail update | |
645 | * Fix local video concurrent update | |
646 | * Fix redundancy error when PeerTube tries to extend/remove redundancy | |
647 | * Fix account switch in account channels page | |
648 | * Hide job progress information for jobs that don't support it | |
649 | * Fix player settings menu keyboard navigation | |
1ffb7622 C |
650 | * Fix player placeholder width |
651 | * Fix playlist miniature size with big description | |
55cb8bc7 | 652 | * Correctly escape meta tags |
41ec03fc C |
653 | * Fix audio upload client bug if not enabled by instance |
654 | * Add header Vary Accept-Language [#4588](https://github.com/Chocobozzz/PeerTube/pull/4588) | |
655 | * Fix additional extensions admin config description | |
656 | * Fix upload of video with long filename | |
657 | * Fix pending transcoding counter with failed job | |
658 | * Fix client header search on ios | |
659 | * Fix iframe attribute `allow-popups` for oembed | |
660 | * Fix theme update when logged in | |
661 | * Fix homepage title | |
5098098d C |
662 | |
663 | ||
7373e969 C |
664 | ## v3.4.1 |
665 | ||
666 | ### Bug fixes | |
667 | ||
668 | * Fix broken PeerTube when cookies are disabled or if the embed iframe does not have appropriate options | |
669 | * Fix search by channel's handle with an handle containing the local host | |
670 | * Don't display autoblock message in upload page it is not enabled by the admin | |
671 | * Don't index `/about/peertube` page | |
672 | * Correctly handle OEmbed with an URL containing query parameters | |
673 | * More robust youtube-dl thumbnail import | |
674 | * Don't send a new video notification when using create transcoding CLI script | |
675 | ||
676 | ||
c5042955 | 677 | ## v3.4.0 |
2a21507a C |
678 | |
679 | ### IMPORTANT NOTES | |
680 | ||
681 | * **Important:** Due to a bug in ffmpeg, PeerTube is not compatible with ffmpeg 4.4. See https://github.com/Chocobozzz/PeerTube/issues/3990 | |
4d557df5 | 682 | * **Debian Bullseye admins:** Debian Bullseye removed `python` binary/link in favour of explicit `python2`/`python3` binaries. But `youtube-dl` used by PeerTube needs it so you'll have to install [python-is-python2](https://packages.debian.org/bullseye/python-is-python2) or [python-is-python3](https://packages.debian.org/bullseye/python-is-python3) **before** upgrading PeerTube |
2a21507a C |
683 | * PeerTube now supports NodeJS 16 |
684 | ||
685 | ### Plugins/Themes/Embed API | |
686 | ||
687 | *Documentation: https://docs.joinpeertube.org/api-plugins* | |
688 | ||
689 | * Server helpers | |
690 | * **Deprecate** `videoLanguageManager.addLanguage` and `videoLanguageManager.deleteLanguage`: use `videoLanguageManager.addConstant` and `videoLanguageManager.deleteConstant` instead | |
fbd2d423 | 691 | * **Deprecate** `videoCategoryManager.addCategory` and `videoCategoryManager.deleteCategory`: use `videoCategoryManager.addConstant` and `videoCategoryManager.deleteConstant` instead |
692 | * **Deprecate** `videoLicenceManager.addLicence` and `videoLicenceManager.deleteLicence`: use `videoLicenceManager.addConstant` and `videoLicenceManager.deleteConstant` instead | |
693 | * **Deprecate** `videoPrivacyManager.deletePrivacy`: `videoPrivacyManager.deleteConstant` instead | |
694 | * **Deprecate** `playlistPrivacyManager.deletePlaylistPrivacy`: `playlistPrivacyManager.deleteConstant` instead | |
2a21507a C |
695 | * Introduce `.getConstantValue()`, `.getConstants()` and `.resetConstants()` for `videoLanguageManager`, `videoCategoryManager`, `videoLicenceManager`, `videoPrivacyManager` and `playlistPrivacyManager` |
696 | * Add server plugin hooks: | |
697 | * `filter:api.overviews.videos.list.params` and `filter:api.overviews.videos.list.result` | |
698 | ||
699 | ### Custom markup API | |
700 | ||
701 | *Documentation: https://docs.joinpeertube.org/api-custom-client-markup* | |
702 | ||
703 | * Add ability to only display VOD or live videos in `<peertube-videos-list>` element | |
704 | * `<peertube-container>` fills all available width. Can be changed using `data-justify-content` attribute | |
705 | ||
706 | ### Maintenance | |
707 | ||
708 | * Remove `StandardOutput` and `StandardError` settings from systemd service template [#4300](https://github.com/Chocobozzz/PeerTube/pull/4300) | |
709 | * Use random UUIDs for video, torrent and streaming playlist files | |
6d94d866 | 710 | * Filename is regenerated when the file content changes: allows admins to use aggressive caching |
2a21507a C |
711 | |
712 | ### CLI tools | |
713 | ||
714 | * Remove unmaintened `optimize-old-videos.js` script | |
715 | * Add short UUID support in video scripts | |
716 | ||
717 | ### Features | |
718 | ||
719 | * :tada: Add video filters to common video pages (account videos, channel videos, recently added/local/trending videos...) | |
720 | * Change video sort (recently added, hot, views...) | |
721 | * Only display live/VOD videos | |
722 | * Filter by languages/categories | |
723 | * Hide or display sensitive content | |
724 | * Choose to display all videos or only local videos | |
725 | * :tada: **Beta:** Add support for saving video files in object storage [#4290](https://github.com/Chocobozzz/PeerTube/pull/4290) | |
726 | * Check the documentation: https://docs.joinpeertube.org/admin-remote-storage | |
727 | * :tada: Add ability for instances to follow any actor (so specific accounts and channels) | |
728 | * Updated HLS.js (library to play HLS playlists in PeerTube player) to V1: | |
729 | * Remember last bandwidth to prevent resolution change at the beginning of the video | |
730 | * Automatically downgrade resolution if bandwidth is too low | |
731 | * Add latency metric for live videos in stats for nerd card | |
732 | * Immediate quality change when the user clicks on a specific resolution | |
733 | * Add ability to search by PeerTube host in search filters | |
734 | * Disallow search engine indexation of remote channels/accounts | |
735 | * Transcoding: | |
736 | * Improve bitrate calculation using "bit per pixel" method | |
737 | * Limit live bitrate to input bitrate | |
738 | * Accessibility/UI: | |
739 | * Alert user for low quota and video auto-block on upload page [#4336](https://github.com/Chocobozzz/PeerTube/pull/4336) | |
740 | * Display a modal when logged in to explain why and where set up the account profile [#4352](https://github.com/Chocobozzz/PeerTube/pull/4352) | |
741 | * Display messages to inform why and where set up channels in *My library* pages [#4352](https://github.com/Chocobozzz/PeerTube/pull/4352) | |
742 | * Display a warning when using capitalized letter for the email/username in the login form | |
c5042955 | 743 | * Display a message in embed on unsupported web browser |
2a21507a | 744 | * Support out proxy using env variables (`HTTP_PROXY` and `HTTPS_PROXY`) [#4346](https://github.com/Chocobozzz/PeerTube/pull/4346) |
c5042955 | 745 | * Support *Latin* language for videos |
2a21507a C |
746 | |
747 | ### Bug fixes | |
748 | ||
749 | * Fix PeerTube button link in embed | |
750 | * Don't remove existing redundancies on host redundancy update | |
6d94d866 | 751 | * Remove thumbnail flash when autoplay is enabled in embed |
2a21507a C |
752 | * Fetch data in bulk for the homepage, fixing API rate limit errors |
753 | * Fix channel name validator consistency between client and server | |
754 | * Fix resumable upload without preview file in the body | |
755 | * Fix redundancy of big HLS files | |
756 | * Fix stats for nerd card label width | |
757 | * Fix stats for nerd card resolution | |
758 | * Fix uploading videos with empty tags in CLI tools | |
6d94d866 C |
759 | * Fix HLS player on non HTTPS instances |
760 | * Hide schedule privacy if private was removed by a plugin | |
761 | * Fix moderation embeds | |
762 | * Fix description timestamp click | |
763 | * Fix privacy descriptions | |
c5042955 C |
764 | * Safer avatar, banner and video preview |
765 | * Fix broken delete buttons of admin federation lists [#4378](https://github.com/Chocobozzz/PeerTube/pull/4378) | |
766 | * More robust webtorrent redundancy download | |
767 | * Fix hls redundancy in pruning script | |
768 | * Fix compat' with old web browsers (Pale Moon, Safari 11, iOS 11, old webkit...)) | |
6770ae4c C |
769 | * Fix silent 500 after resumable upload |
770 | * Fix HTML config injection with custom HTML/CSS | |
771 | * Fix video upload on iOS | |
2a21507a C |
772 | |
773 | ||
fadfe842 | 774 | ## v3.3.0 |
50cebb54 C |
775 | |
776 | ### IMPORTANT NOTES | |
777 | ||
778 | * **Important:** v3.2.0 introduced a `pg_dump` export bug in the auto upgrade script. v3.2.1 fixed this bug. To upgrade from v3.2.**0**: | |
779 | * You can upgrade manually https://docs.joinpeertube.org/install-any-os?id=manually | |
780 | * Or you can apply the changes introduced in this commit: https://github.com/Chocobozzz/PeerTube/commit/86dc0b9cc9374cba7548bb613ff43d92f90570a8 and then use the auto upgrade script | |
c2082122 C |
781 | * **Important:** Due to a bug in ffmpeg, PeerTube is not compatible with ffmpeg 4.4. See https://github.com/Chocobozzz/PeerTube/issues/3990 |
782 | ||
50cebb54 C |
783 | |
784 | ### Maintenance | |
785 | ||
c2082122 | 786 | * Increase max image/caption/torrent upload size to `4MB`. You need to update your nginx configuration to handle this change |
50cebb54 C |
787 | * Increase fetcher job concurrency to `3` |
788 | ||
789 | ### Docker | |
790 | ||
791 | * Support log level env parameter `PEERTUBE_LOG_LEVEL` [#4149](https://github.com/Chocobozzz/PeerTube/pull/4149) | |
792 | ||
793 | ### Plugins/Themes/Embed API | |
794 | ||
795 | * Add client helpers: | |
796 | * `getBaseRouterRoute()` [#4153](https://github.com/Chocobozzz/PeerTube/pull/4153) | |
797 | * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): | |
798 | * `filter:left-menu.links.create.result` to add/remove left menu links | |
799 | * `filter:internal.player.videojs.options.result` to filter options sent to videojs player [#4126](https://github.com/Chocobozzz/PeerTube/pull/4126) | |
800 | * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): | |
801 | * `action:api.video-playlist-element.created` | |
802 | ||
803 | ||
804 | ### Features | |
805 | ||
806 | * :tada: Add ability to create a custom homepage using HTML, markdown and [custom HTML tags](https://docs.joinpeertube.org/api-custom-client-markup) [#4007](https://github.com/Chocobozzz/PeerTube/pull/4007) | |
807 | * :tada: Add ability to search playlists in PeerTube instance and [SepiaSearch](https://sepiasearch.org/) | |
808 | * :tada: Shorter public URLs (old URLs are still supported): | |
809 | * Handle short UUID (`8r4jooaQpHp8tw1E1qpSeYq` instead of `3caf7bea-5ceb-4959-81a0-b44d184e897c`) for playlists and videos | |
810 | * Use `/w/:id` instead of `/videos/watch/:id` and `/w/p/:id` instead of `/videos/watch/playlist/:id` | |
811 | * Use `/a/:accountName` instead of `/accounts/:accountName` and `/c/:channelName` instead of `/video-channels/:channelName` [#4009](https://github.com/Chocobozzz/PeerTube/pull/4009) | |
812 | * Provide `/@:username` page that automatically redirect to the account or channel page [#4009](https://github.com/Chocobozzz/PeerTube/pull/4009) | |
813 | * :tada: Add RTL layout support | |
814 | * Add ability to use HTML, markdown and [custom HTML tags](https://docs.joinpeertube.org/api-custom-client-markup) in instance description | |
815 | * Default to dark theme (if available) if requested by the web browser | |
693c6586 | 816 | * Add ability for admins to configure minimum age required in signup page [#4010](https://github.com/Chocobozzz/PeerTube/pull/4010) |
50cebb54 C |
817 | * Use a dedicated URL for each tab in publish page |
818 | * Add ability to prefill contact form using query parameters in URL [#4161](https://github.com/Chocobozzz/PeerTube/pull/4161) | |
819 | * Accessibility/UI: | |
820 | * Show logo in mobile view [#4141](https://github.com/Chocobozzz/PeerTube/pull/4141) | |
821 | * Improve download modal to download video subtitles | |
822 | * Better error message when trying to import a torrent containing multiple files | |
823 | * REST API errors: | |
824 | * Use [RFC 7807](https://datatracker.ietf.org/doc/html/rfc7807) format to display errors [#4143](https://github.com/Chocobozzz/PeerTube/pull/4143) | |
825 | * Improve date format error messages | |
826 | * Improve video name and tag error messages | |
827 | * Performance: | |
828 | * Use raw SQL to fetch a video from database (~ latency / 2) | |
829 | * Inject server config in HTML | |
830 | * Speed up client plugin loading | |
831 | * Cache refresh actor promises | |
832 | * Optimize activity pub video update | |
833 | * Relax some database transactions | |
b98f39c4 C |
834 | * Use an internal cache for DNS resolution. |
835 | This should speed up federation and fix weird acquire timeouts in sequelize pool (causing slowness in the client interface) | |
50cebb54 C |
836 | |
837 | ### Bug fixes | |
838 | ||
839 | * Fix video upload with a capitalized extension | |
840 | * Fix "height not divisible by 2" ffmpeg error | |
841 | * Don't count deleted comment for replies | |
842 | * Fix UI bug when a plugin deleted the public privacy setting [#4163](https://github.com/Chocobozzz/PeerTube/pull/4163) | |
843 | * Fix `player.getResolutions()` embed API when the video is has not been played yet | |
844 | * Fix live placeholder image aspect ratio in theatre mode | |
845 | * Fix plugin modal/notifier | |
846 | * Fix some 404 errors for remote avatar | |
847 | * Fix daily quota display | |
848 | * Fix ownership change with a live video | |
b98f39c4 C |
849 | * Correctly handle broken plugin install |
850 | * Fix channel deletion when it has videos | |
851 | * Force TLS for webfinger in production | |
fadfe842 C |
852 | * Correctly support `wav` mimetype |
853 | * Fix default video privacy when plugins deleted private video privacy | |
854 | * Fix subscribe hotkey | |
855 | * Fix HTTP fallback with a video that does not have webtorrent files | |
856 | * Fill video information when importing a peertube video | |
50cebb54 C |
857 | |
858 | ||
721a6737 C |
859 | ## v3.2.1 |
860 | ||
861 | ### IMPORTANT NOTES | |
862 | ||
9f2d7a78 | 863 | * **Important:** v3.2.0 introduced a `pg_dump` export bug in the auto upgrade script. To upgrade from v3.2.0: |
721a6737 | 864 | * You can upgrade manually https://docs.joinpeertube.org/install-any-os?id=manually |
9f2d7a78 | 865 | * Or you can apply the changes introduced in this commit: https://github.com/Chocobozzz/PeerTube/commit/86dc0b9cc9374cba7548bb613ff43d92f90570a8 and then use the auto upgrade script |
721a6737 C |
866 | |
867 | ### Bug fixes | |
868 | ||
869 | * Fix create account button style | |
870 | * Fix auto upgrade script | |
871 | * Fix live image aspect ratio in theatre mode | |
872 | ||
873 | ||
e3b7b054 | 874 | ## v3.2.0 |
16de9ff4 C |
875 | |
876 | ### IMPORTANT NOTES | |
877 | ||
b62ce47c | 878 | * **Important:** You must update your nginx configuration to add the `upload-resumable` endpoint: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube#L81 |
4b18c7dc | 879 | * **Important:** Due to a bug in ffmpeg, PeerTube is not compatible with ffmpeg 4.4. See https://github.com/Chocobozzz/PeerTube/issues/3990 |
b62ce47c C |
880 | * **Important:** Drop NodeJS 10 support |
881 | * PeerTube is not compatible with NodeJS 16 yet | |
16de9ff4 C |
882 | * By default, HLS transcoding is now enabled and webtorrent is disabled. We suggest you to reflect this change. |
883 | See [the documentation](https://docs.joinpeertube.org/admin-configuration?id=webtorrent-transcoding-or-hls-transcoding) for more information | |
884 | * PeerTube client now displays bigger video thumbnails. | |
885 | To fix old thumbnails quality, run `regenerate-thumbnails` script after your PeerTube upgrade: https://docs.joinpeertube.org/maintain-tools?id=regenerate-thumbnailsjs | |
886 | ||
e3b7b054 C |
887 | ### Docker |
888 | ||
889 | * Support SSL database env parameter [#4114](https://github.com/Chocobozzz/PeerTube/pull/4114) | |
890 | ||
16de9ff4 C |
891 | ### Maintenance |
892 | ||
893 | * Support `X-Frame-Options` header, enabled by default in the configuration | |
894 | * Directly use `node` in [systemd template](https://github.com/Chocobozzz/PeerTube/blob/develop/support/systemd/peertube.service) | |
895 | * Check ffmpeg version at PeerTube startup | |
b62ce47c | 896 | * Add `upload-resumable` nginx endpoint: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube#L81 |
16de9ff4 C |
897 | |
898 | ### CLI tools | |
899 | ||
900 | * Add `regenerate-thumbnails` script to regenerate thumbnails of local videos | |
901 | ||
902 | ### Plugins/Themes/Embed API | |
903 | ||
904 | * Theme: | |
905 | * `--submenuColor` becomes `--submenuBackgroundColor` | |
906 | * Support HTML placeholders for plugins. See [the documentation](https://docs.joinpeertube.org/contribute-plugins?id=html-placeholder-elements) for more information | |
907 | * `player-next` next to the PeerTube player | |
908 | * Support storing files for plugins in a dedicated directory. See [the documentation](https://docs.joinpeertube.org/contribute-plugins?id=storage) for more information | |
909 | * Transcoding: | |
910 | * Add `inputOptions` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917) | |
911 | * Add `scaleFilter.name` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917) | |
912 | * Plugin settings: | |
913 | * Add ability to register `html` and `select` setting | |
914 | * Add ability to hide a plugin setting depending on the form state | |
915 | * Plugin form fields (to add inputs to video form...): | |
916 | * Add ability to hide a plugin field depending on the form state using `.hidden` property | |
917 | * Add client helpers: | |
918 | * `getServerConfig()` | |
919 | * `getAuthHeader()` | |
920 | * Add server helpers: | |
921 | * `config.getServerConfig()` | |
922 | * `plugin.getBaseStaticRoute()` | |
923 | * `plugin.getBaseRouterRoute()` | |
924 | * `plugin.getDataDirectoryPath()` | |
925 | * `user.getAuthUser()` | |
926 | * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): | |
927 | * `action:modal.video-download.shown` | |
928 | * `action:video-upload.init` | |
929 | * `action:video-url-import.init` | |
930 | * `action:video-torrent-import.init` | |
931 | * `action:go-live.init` | |
932 | * `action:auth-user.logged-in` & `action:auth-user.logged-out` | |
933 | * `action:auth-user.information-loaded` | |
934 | * `action:admin-plugin-settings.init` | |
935 | * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): | |
936 | * `filter:api.download.video.allowed.result` & `filter:api.download.torrent.allowed.result` to forbid download | |
937 | * `filter:html.embed.video-playlist.allowed.result` & `filter:html.embed.video.allowed.result` to forbid embed | |
938 | * `filter:api.search.videos.local.list.params` & `filter:api.search.videos.local.list.result` | |
939 | * `filter:api.search.videos.index.list.params` & `filter:api.search.videos.index.list.result` | |
940 | * `filter:api.search.video-channels.local.list.params` & `filter:api.search.video-channels.local.list.result` | |
941 | * `filter:api.search.video-channels.index.list.params` & `filter:api.search.video-channels.index.list.result` | |
942 | ||
943 | ### Features | |
944 | ||
5c48aa8c | 945 | * :tada: More robust uploads using a resumable upload endpoint [#3933](https://github.com/Chocobozzz/PeerTube/pull/3933) |
16de9ff4 C |
946 | * Accessibility/UI: |
947 | * :tada: Redesign channel and account page | |
948 | * :tada: Increase video miniature size | |
949 | * :tada: Add channel banner support | |
950 | * Use a square avatar for channels and a round avatar for accounts | |
951 | * Use account initial as default account avatar [#4002](https://github.com/Chocobozzz/PeerTube/pull/4002) | |
952 | * Prefer channel display in video miniature | |
953 | * Add *support* button in channel page | |
954 | * Set direct download as default in video download modal [#3880](https://github.com/Chocobozzz/PeerTube/pull/3880) | |
955 | * Show less information in video download modal by default [#3890](https://github.com/Chocobozzz/PeerTube/pull/3890) | |
956 | * Autofocus admin plugin search input | |
957 | * Add `1.75` playback rate to player [#3888](https://github.com/Chocobozzz/PeerTube/pull/3888) | |
958 | * Add `title` attribute to embed code [#3901](https://github.com/Chocobozzz/PeerTube/pull/3901) | |
959 | * Don't pause player when opening a modal [#3909](https://github.com/Chocobozzz/PeerTube/pull/3909) | |
960 | * Add link below the player to open the video on origin instance [#3624](https://github.com/Chocobozzz/PeerTube/issues/3624) | |
961 | * Notify admins on new available PeerTube version | |
962 | * Notify admins on new available plugin version | |
b62ce47c | 963 | * Sort channels by last uploaded videos |
16de9ff4 | 964 | * Video player: |
ea868761 C |
965 | * Add loop toggle to context menu [#3949](https://github.com/Chocobozzz/PeerTube/pull/3949) |
966 | * Add icons to context menu [#3955](https://github.com/Chocobozzz/PeerTube/pull/3955) | |
967 | * Add a *Previous* button in playlist watch page [#3485](https://github.com/Chocobozzz/PeerTube/pull/3485) | |
968 | * Automatically close the settings menu when clicking outside the player | |
969 | * Add "stats for nerds" panel in context menu [#3958](https://github.com/Chocobozzz/PeerTube/pull/3958) | |
16de9ff4 C |
970 | * Add channel and playlist stats to stats endpoint [#3747](https://github.com/Chocobozzz/PeerTube/pull/3747) |
971 | * Support `playlistPosition=last` and negative index (`playlistPosition=-2`) URL query parameters for playlists [#3974](https://github.com/Chocobozzz/PeerTube/pull/3974) | |
972 | * My videos: | |
973 | * Add ability to sort videos (publication date, most viewed...) | |
974 | * Add ability to only display live videos | |
975 | * Automatically resume videos for non logged-in users [#3885](https://github.com/Chocobozzz/PeerTube/pull/3885) | |
976 | * Admin plugins: | |
977 | * Show a modal when upgrading a plugin to a major version | |
978 | * Display a setting button after plugin installation | |
979 | * Add ability to search live videos | |
980 | * Use bigger thumbnails for feeds | |
981 | * Parse video description markdown for Opengraph/Twitter/HTML elements | |
982 | * Open the remote interaction modal when replying to a comment if we are logged-out | |
983 | * Handle `.srt` captions with broken durations | |
984 | * Performance: | |
985 | * Player now lazy loads video captions | |
986 | * Faster admin table filters | |
b62ce47c | 987 | * Optimize feed endpoint |
16de9ff4 C |
988 | |
989 | ### Bug fixes | |
990 | ||
991 | * More robust comments fetcher of remote video | |
992 | * Fix database ssl connection | |
993 | * Remove unnecessary black border above and below video in player [#3920](https://github.com/Chocobozzz/PeerTube/pull/3920) | |
994 | * Reduce tag input excessive padding [#3927](https://github.com/Chocobozzz/PeerTube/pull/3927) | |
995 | * Fix disappearing hamburger menu for narrow screens [#3929](https://github.com/Chocobozzz/PeerTube/pull/3929) | |
996 | * Fix Youtube subtitle import with some languages | |
997 | * Fix transcoding profile update in admin config | |
998 | * Fix outbox fetch with subtitled videos | |
999 | * Correctly unload a plugin on update/uninstall [#3940](https://github.com/Chocobozzz/PeerTube/pull/3940) | |
1000 | * Ensure to install plugins that are supported by PeerTube | |
1001 | * Fix welcome/warning modal displaying twice | |
1002 | * Fix h265 video import using CLI | |
1003 | * Fix context menu when watching a playlist | |
1004 | * Fix transcoding job priority preventing video publication when there are many videos to transcode | |
b62ce47c C |
1005 | * Fix remote account/channel "joined at" |
1006 | * Fix CLI plugins list command options [#4055](https://github.com/Chocobozzz/PeerTube/pull/4055) | |
e3b7b054 C |
1007 | * Fix HTTP player defaulting to audio resolution |
1008 | * Logger warning level is "warn" | |
1009 | * Fix default boolean plugin setting [#4107](https://github.com/Chocobozzz/PeerTube/pull/4107) | |
1010 | * Fix duplicate ffmpeg preset option for live | |
1011 | * Avoid federation error when file has no torrent file | |
1012 | * Fix local user auth select | |
1013 | * Fix live ending banner display | |
1014 | * Fix redundancy max size | |
1015 | * Fix broken lives handling | |
16de9ff4 C |
1016 | |
1017 | ||
1018 | ||
3cc20a1a | 1019 | ## v3.1.0 |
35fbb418 C |
1020 | |
1021 | ### IMPORTANT NOTES | |
1022 | ||
3dd1f61b | 1023 | * **Important:** Drop PostgreSQL 9.6 support |
35fbb418 C |
1024 | * **Important:** Deprecate NodeJS 10 |
1025 | * Support NodeJS 14 and 15 | |
1026 | * Remove ES5 module support (breaks compatibility with web browsers we didn't support) | |
1027 | * PeerTube releases now contain client source maps helping client debugging (for developers and admins). | |
1028 | It's the reason why the release size is bigger (we think it's worth it) | |
1029 | * Remove deprecated static routes (`/static/avatars/`, `/static/previews/` and `/static/video-captions/`) | |
1030 | * PeerTube now uses a unique name for thumbnails, previews and captions allowing to correctly cache these resources. | |
1031 | It could break some third party clients that guessed these filenames depending on the video UUID. We'll continue this work in the future | |
1032 | for video filenames, so admins can easily cache these files (using multiple reverse proxies etc) | |
1033 | ||
919b16ba C |
1034 | ### Maintenance |
1035 | ||
1036 | * Fix nginx max body size configuration | |
35fbb418 C |
1037 | |
1038 | ### CLI tools | |
1039 | ||
1040 | * Add script printing command to generate a resolution for a given file [#3507](https://github.com/Chocobozzz/PeerTube/pull/3507) | |
1041 | * Add `--wait-interval <seconds>` option to video-import script to wait between two video imports [#3310](https://github.com/Chocobozzz/PeerTube/pull/3310) | |
1042 | ||
1043 | ### Plugins/Themes/Embed API | |
1044 | ||
1045 | * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): | |
1046 | * `filter:api.user.me.videos.list.params` and `filter:api.user.me.videos.list.result` | |
1047 | * Add server helpers: | |
1048 | * `videos.loadByIdOrUUID` | |
1049 | * Add server transcoding helpers (https://docs.joinpeertube.org/contribute-plugins?id=add-new-transcoding-profiles): | |
1050 | * `transcodingManager.addVODProfile` | |
1051 | * `transcodingManager.addVODEncoderPriority` | |
1052 | * `transcodingManager.addLiveProfile` | |
1053 | * `transcodingManager.addLiveEncoderPriority` | |
1054 | ||
1055 | ### Features | |
1056 | ||
1057 | * Transcoding: | |
1058 | * Fair transcoding jobs priority: give an higher priority to `optimize` jobs and decrease priority of transcoding jobs depending on the amount of videos uploaded by the user during the last 7 days [#3637](https://github.com/Chocobozzz/PeerTube/pull/3637) | |
1059 | * Higher niceness priority for live transcoding compared to vod transcoding [#3577](https://github.com/Chocobozzz/PeerTube/pull/3577) | |
1060 | * Allow admins to choose a transcoding profile. New transcoding profiles can be added by PeerTube plugins that can inject custom ffmpeg encoders/parameters | |
1061 | * Add transcoding support for 1440p (Quad HD/QHD/WQHD) videos [#3518](https://github.com/Chocobozzz/PeerTube/pull/3518) | |
1062 | * Add transcoding progress in admin transcoding jobs list | |
1063 | * Use `veryfast` preset for default transcoding profile (same result size but faster) | |
1064 | * Transcode audio uploads to lower configured resolutions | |
1065 | * Transcode HLS playlists in a `tmp` directory (less bugs/inconsistencies) | |
1066 | * Allow admins to choose the transcoding jobs concurrency | |
3cc20a1a | 1067 | * Support Albanian locale |
35fbb418 C |
1068 | * Video upload: |
1069 | * Async torrent creation on video upload. We hope that it should fix some weird upload errors | |
1070 | * Add `.m4a` audio upload support | |
1071 | * Accessibility/UI: | |
1072 | * Move orange admin buttons on the left side | |
1073 | * Hide title to left menu toggle icon | |
1074 | * Add username information in profile settings | |
1075 | * Improve about page layout | |
1076 | * Add refresh button in jobs list | |
1077 | * Add ability to set a custom user quota | |
1078 | * Rewrite prose for JavaScript disabled message [#3684](https://github.com/Chocobozzz/PeerTube/pull/3684) | |
1079 | * Video import: | |
1080 | * Stricter youtube-dl format selectors for import (don't import HDR videos and cap to the max supported resolution) [#3516](https://github.com/Chocobozzz/PeerTube/pull/3516) | |
1081 | * Don't publish imported videos before the user submitted the second step form | |
1082 | * Allow admins to choose the import jobs concurrency | |
1083 | * Implement *hot* and *best* trending algorithms [#3625](https://github.com/Chocobozzz/PeerTube/pull/3625) & [#3681](https://github.com/Chocobozzz/PeerTube/pull/3681) | |
1084 | * Admin config: | |
1085 | * Add URL fragment support in admin config page to go on the appropriate tab | |
1086 | * Improve submit error message | |
1087 | * Allow admins to disable ping requests logging [#3550](https://github.com/Chocobozzz/PeerTube/pull/3550) | |
1088 | * Add a setting so PeerTube periodically cleans up remote AP interactions | |
1089 | * Add ability for admins to update plugin auth field of a particular user | |
1090 | * Support `webp` avatar upload | |
1091 | * Implement remote comment/subscription | |
1092 | * Register a service worker [#3464](https://github.com/Chocobozzz/PeerTube/pull/3464) | |
1093 | * Add ability to remove one's avatar for account and channels [#3467](https://github.com/Chocobozzz/PeerTube/pull/3467) | |
1094 | * Show first decimal for video views above a thousand [#3564](https://github.com/Chocobozzz/PeerTube/pull/3564) | |
1095 | * Allow user to search through their watch history [#3576](https://github.com/Chocobozzz/PeerTube/pull/3576) | |
1096 | * Allow users/visitors to search through an account's videos [#3589](https://github.com/Chocobozzz/PeerTube/pull/3589) | |
1097 | * Use an HTML link to display feed url | |
1098 | * Allow AP resolution for default account/channel pages (`/accounts/:name/video-channels` and `/video-channels/:name/videos`) | |
1099 | * Redirect to login on 401, display 403 variant [#3632](https://github.com/Chocobozzz/PeerTube/pull/3632) | |
1100 | * Performance: | |
1101 | * Optimize videos list API endpoint | |
1102 | * Optimize videos list views sort SQL query | |
1103 | * Avoid as much as possible to process remote thumbnail | |
1104 | * Proxify remote torrent requests from local clients (like we do for captions and previews) | |
1105 | * Optimize rate POST endpoint | |
1106 | * Tighten hotkeys definitions to not conflict with the web browser hotkeys [#3702](https://github.com/Chocobozzz/PeerTube/pull/3702) | |
1107 | * Add more AP stats to stats endpoint | |
1108 | * Increase jobs request timeout to 7 seconds | |
1109 | * Increase broadcast request concurrency to 30 | |
1110 | ||
1111 | ### Bug fixes | |
1112 | ||
1113 | * Fix remote subscribe input alignment | |
1114 | * Fix loading bar for HTTP requests | |
1115 | * Fix table header overflow | |
1116 | * Disable wait transcoding checkbox instead of hiding it when uploading an incompatible video for the web | |
1117 | * Fix sendmail emailer configuration | |
1118 | * Add missing niceness to ffmpeg thumbnail process | |
1119 | * Videos with only HLS files: | |
1120 | * Fix RSS feed | |
1121 | * Correctly wait transcoding before federating | |
1122 | * Fix redundancy | |
1123 | * Correctly remove torrents | |
1124 | * Localize decimal separator in video miniatures [#3643](https://github.com/Chocobozzz/PeerTube/pull/3643) | |
1125 | * Check banned status on external authentication | |
1126 | * Remove all video redundancies when purging the cache | |
1127 | * Fix URI search admin config update | |
1128 | * Fix broken HLS playback with videos that contain an unknown channel layout | |
1129 | * Fix HLS generation after file import script | |
1130 | * Ensure we don't receive things from local actors | |
1131 | * Try to recover from network errors in HLS player | |
1132 | * Fix comments sorting dropdown z-index | |
1133 | * Fix create transcoding job script depending on the transcoding configuration | |
1134 | * Fix NSFW policy in my videos, account videos and channel videos pages | |
1135 | * Fix complete description loading of a previous video | |
1136 | * Fix video comments display with deleted comments | |
1137 | * Don't override preview image on import | |
1138 | * Fix Accept AP messages sending to previously accepted followers | |
1139 | * Fix import script when using the instance uses the search index | |
1140 | * Fix player freeze on Safari with a video that has many subtitles | |
1141 | * Fix anonymous user settings | |
1142 | * Fix preview upload with capitalized ext | |
1143 | * Fix abuses list crash on deleted video | |
1144 | * More robust channel change federation | |
1145 | * Fix emptying video tags | |
1146 | * Fix broken local actors that do not have a public/private key | |
919b16ba | 1147 | * Fix bad PeerTube URL for playlist embed |
35fbb418 C |
1148 | * Live: |
1149 | * Don't update live attributes if they did not change (allowing to update live metadata even if the live has started) | |
1150 | * Fix live RAM usage when ffmpeg is too slow to transcode the RTMP stream | |
1151 | * Correctly load live information (description and preview) when not started | |
3cc20a1a C |
1152 | * Fix mention notification with deleted comment |
1153 | * Fix default boolean plugin setting | |
1154 | * Fix long text on modals [#3840](https://github.com/Chocobozzz/PeerTube/pull/3840) | |
35fbb418 | 1155 | |
51133b50 C |
1156 | ## v3.0.1 |
1157 | ||
1158 | ### SECURITY | |
1159 | ||
35fbb418 | 1160 | * **Important:** Fix retrieving data of another user if the username contains `_` when fetching *my information* |
51133b50 C |
1161 | |
1162 | ### Docker | |
1163 | ||
1164 | * Fix [upgrade documentation](https://docs.joinpeertube.org/install-docker?id=upgrade) | |
1165 | * Add live RTMP port in docker compose | |
1166 | ||
1167 | ### Bug fixes | |
1168 | ||
1169 | * Fix account feed URL | |
1170 | * Log RTMP server error (address already in use) | |
1171 | * Fix NPM theme links in admin theme page | |
1172 | * Don't reject AP actors with empty description | |
1173 | * Fix twitter admin config description | |
1174 | * Fix duplicate entry in job list page | |
1175 | * Fix `nl-NL` broken admin config page | |
1176 | * Fix bad tracker client IP when using a reverse proxy | |
1177 | ||
1178 | ||
f5ea4dac C |
1179 | ## v3.0.0 |
1180 | ||
1181 | **Since v2.4.0** | |
3a735f7d C |
1182 | |
1183 | ### IMPORTANT NOTES | |
1184 | ||
98d68ebd | 1185 | * Update the default configuration to not federate unlisted videos. We recommend to admins to update [this setting](https://github.com/Chocobozzz/PeerTube/blob/develop/config/production.yaml.example#L196) |
3a735f7d C |
1186 | * Update the default configuration to remove remote video views to reduce DB size and improve performances. We recommend to admins to update [this setting](https://github.com/Chocobozzz/PeerTube/blob/develop/config/production.yaml.example#L170) |
1187 | * Remove deprecated video abuse API | |
1188 | ||
1189 | ### Maintenance | |
1190 | ||
1191 | * Refresh nginx configuration [#3313](https://github.com/Chocobozzz/PeerTube/pull/3313) | |
1192 | ||
1193 | ### Docker | |
1194 | ||
f5ea4dac C |
1195 | * Replace traefik by nginx in our docker-compose template: |
1196 | * Better consistency with our default setup (we now use the same stack) | |
1197 | * Use our default nginx template enabling many optimizations | |
1198 | * Update the documentation to take into account this change: https://docs.joinpeertube.org/install-docker | |
3a735f7d C |
1199 | |
1200 | ### Plugins/Themes/Embed API | |
1201 | ||
1202 | * Add ability for auth plugins to redirect user on logout [#32](https://framagit.org/framasoft/peertube/PeerTube/-/merge_requests/32) & [#33](https://framagit.org/framasoft/peertube/PeerTube/-/merge_requests/33) | |
1203 | * Add `input-password` setting to plugins [#3375](https://github.com/Chocobozzz/PeerTube/issues/3375) | |
7cf88d09 | 1204 | * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): |
c0481610 C |
1205 | * `filter:api.accounts.videos.list.params` |
1206 | * `filter:api.accounts.videos.list.result` | |
1207 | * `filter:api.video-channels.videos.list.params` | |
1208 | * `filter:api.video-channels.videos.list.result` | |
1209 | * Authenticate the user if possible in plugin router [#3400](https://github.com/Chocobozzz/PeerTube/pull/3400) | |
3a735f7d C |
1210 | |
1211 | ### Features | |
1212 | ||
c0481610 | 1213 | * :tada: :tada: :tada: Support live streaming :tada: :tada: :tada: [#3250](https://github.com/Chocobozzz/PeerTube/pull/3250) |
3a735f7d C |
1214 | * Create a live video using the PeerTube interface and start streaming using your favorite streaming software (OBS, ffmpeg...) |
1215 | * If the admin allows it, add ability for users to save a replay of their live | |
1216 | * Support live transcoding in multiple resolutions | |
1217 | * Admins can set a limit of created lives per user/instance and a duration limit | |
1218 | * This is the first step of live streaming, we'll consolidate the feature next year | |
f5ea4dac | 1219 | * Support Galician locale |
3a735f7d C |
1220 | * Update left menu [#3296](https://github.com/Chocobozzz/PeerTube/pull/3296) |
1221 | * Add *My settings*, *My library*, *Administration* (if admin) below the username | |
1222 | * Rename section titles to *In my account*, and *On instance name* for better block scopes identification | |
1223 | * Removed confusing *Account settings* and *Channel settings* from user dropdown | |
1224 | * Add *My notifications* in user dropdown | |
1225 | * Split account horizontal menu in two [#3296](https://github.com/Chocobozzz/PeerTube/pull/3296) | |
1226 | * *My library* containing *Channels*, *Videos*, *Imports*, *Ownership changes*, *Playlists*, *Subscriptions* and *History* | |
1227 | * *My settings* containing *Account settings*, *Notifications* and *Moderation* tools | |
1228 | * Add page in admin to manage video comments of the instance | |
1229 | * List latest comments | |
1230 | * Delete comments of a specific user | |
1231 | * Delete comments in bulk | |
1232 | * Delete notifications related to muted accounts/instances | |
1233 | * Add ability for moderators to display all videos (not yet published, private...) in channels/accounts pages | |
1234 | * Support GIF avatars upload and federation [#3329](https://github.com/Chocobozzz/PeerTube/pull/3329) | |
1235 | * Automatically enable auto block of new videos if the admin enables signups in the admin interface | |
1236 | * Allow private syndication feed of videos from subscriptions [#3074](https://github.com/Chocobozzz/PeerTube/pull/3074) | |
1237 | * Improve default account and channel avatars [#3326](https://github.com/Chocobozzz/PeerTube/pull/3326) | |
1238 | * Accessibility/UI: | |
c0481610 C |
1239 | * More explicit error messages for file uploads [#3347](https://github.com/Chocobozzz/PeerTube/pull/3347) |
1240 | * Allow to retry a failed video upload [#3347](https://github.com/Chocobozzz/PeerTube/pull/3347) | |
3a735f7d C |
1241 | * Improve jobs and logs view [#3127](https://github.com/Chocobozzz/PeerTube/pull/3127) |
1242 | * Use badges for *NSFW* and *Unfederated* labels in video block list table | |
1243 | * Improved video rating popover text if the user is not logged-in [#3168](https://github.com/Chocobozzz/PeerTube/pull/3168) | |
1244 | * Improve markdown-it emoji list column display [#3253](https://github.com/Chocobozzz/PeerTube/pull/3253) | |
1245 | * Add help popup for choosing a licence [#3306](https://github.com/Chocobozzz/PeerTube/pull/3306) | |
1246 | * Change *Upload* button to *Publish* | |
c0481610 | 1247 | * More player download/upload title details [#3394](https://github.com/Chocobozzz/PeerTube/pull/3394) |
3a735f7d | 1248 | * Create a dedicated transcoding tab in admin config |
c0481610 C |
1249 | * Improve 404 page |
1250 | * Improve login form [#3357](https://github.com/Chocobozzz/PeerTube/pull/3357) | |
3a735f7d C |
1251 | * Add a title attribute on views element to see the view counter [#3365](https://github.com/Chocobozzz/PeerTube/pull/3365) |
1252 | * Clearer titles for periods in recently added and videos from subscriptions pages | |
1253 | * Select first available channel when accepting ownership change [#3382](https://github.com/Chocobozzz/PeerTube/pull/3382) | |
c0481610 | 1254 | * Hide channel registration step if default quota is 0 [#3393](https://github.com/Chocobozzz/PeerTube/pull/3393) |
3a735f7d C |
1255 | * Add possibility to share origin URL to video if it's not local [#3201](https://github.com/Chocobozzz/PeerTube/pull/3201) |
1256 | * Render markdown in email notifications for new comments [#3255](https://github.com/Chocobozzz/PeerTube/pull/3255) | |
1257 | * Add an admin setting to force ipv4 in youtube-dl [#3311](https://github.com/Chocobozzz/PeerTube/pull/3311) | |
1258 | * Add ability for admins to put markdown in all fields of *About* page [#3371](https://github.com/Chocobozzz/PeerTube/pull/3371) | |
f5ea4dac | 1259 | * Support `activeMonth` and `activeHalfyear` in nodeinfo |
3a735f7d C |
1260 | |
1261 | ### Bug fixes | |
1262 | ||
1263 | * Fix inability to delete a channel due to a bug in the confirm modal | |
f5ea4dac | 1264 | * Fix views processing for hour 0 |
3a735f7d C |
1265 | * Fix ownership change modal accept button |
1266 | * Fix incorrect ActivityPub IDs | |
1267 | * Do not transcode videos to an higher bitrate than the source | |
1268 | * Fix video display of muted accounts on overview page | |
1269 | * Fix transcoding errors in readonly docker containers [#3198](https://github.com/Chocobozzz/PeerTube/pull/3198) | |
1270 | * Fix running another transcoding job using the CLI on a video that was already transcoded | |
1271 | * Fix embed on Brave web browser | |
1272 | * Fix break line display for re-draft comments [#3261](https://github.com/Chocobozzz/PeerTube/pull/3261) | |
1273 | * Fix hidden loading bar | |
1274 | * Fix jobs pagination | |
1275 | * Fix missing player localized strings | |
1276 | * Fix instance file size stats when the admin enabled HLS | |
1277 | * Fix embed of HLS videos on non HTTPS websites | |
1278 | * Hide embed dock when title/description are disabled | |
1279 | * Fix follow notification when the follower has been deleted | |
1280 | * Fix client override endpoint in nginx configuration [#3297](https://github.com/Chocobozzz/PeerTube/pull/3297) | |
1281 | * Fix overflow of some dropdowns | |
1282 | * Fix infinite scrollin in channel's playlists page | |
1283 | * Fix anchors scrolling in About page | |
c0481610 | 1284 | * Fix canonical URLs of videos and playlists [#3406](https://github.com/Chocobozzz/PeerTube/pull/3406) |
3a735f7d C |
1285 | * Fix CLI import script when importing Youtube channels |
1286 | * Fix video tag min length validator | |
1287 | * Fix user notification preferences column width [#3352](https://github.com/Chocobozzz/PeerTube/pull/3352) | |
1288 | * Fix forgotten/reset password UI [#3351](https://github.com/Chocobozzz/PeerTube/pull/3351) | |
1289 | * Fix 00:00 player timecode in video description and comments | |
1290 | * Avoid too large federation cert error messages in logs | |
1291 | * Fix registration form width on mobile [#3274](https://github.com/Chocobozzz/PeerTube/pull/3274) | |
1292 | * Fix "Too many packets buffered for output stream" ffmpeg error with some videos | |
1293 | * Fix 500 error when fetching unknown video thread | |
1294 | * Fix infinite scroll in *Local videos* page when enabling the *Display all videos* checkbox on big screens | |
1295 | * Fix menu theme colors [#3376](https://github.com/Chocobozzz/PeerTube/pull/3376) | |
1296 | * Fix playlist list `name`/`displayName` sort field [#3385](https://github.com/Chocobozzz/PeerTube/pull/3385) | |
1297 | * Fix 401 error display in embeds | |
c0481610 | 1298 | * Do not crash if SMTP server is down, instead log an error [#3457](https://github.com/Chocobozzz/PeerTube/issues/3457) |
f5ea4dac C |
1299 | * Fix redundancy federation in specific cases |
1300 | * Stop CLI auth failure with extra `/` [#3520](https://github.com/Chocobozzz/PeerTube/issues/3520) | |
1301 | * Add missing audit log if the user deletes its account | |
1302 | * Don't crash on youtube-dl update write error | |
1303 | * Fix video auto block notification issue | |
1304 | ||
1305 | **Since v3.0.0-rc.1** | |
1306 | ||
1307 | ### Features | |
1308 | ||
1309 | * Support Galician locale | |
1310 | * Support `activeMonth` and `activeHalfyear` in nodeinfo | |
1311 | ||
1312 | ### Bug fixes | |
3a735f7d | 1313 | |
f5ea4dac C |
1314 | * Fix views processing for hour 0 |
1315 | * Fix follows pages (in admin and about) | |
1316 | * Don't display live max duration if disabled by admin | |
1317 | * Correctly display live badge in videos list | |
1318 | * Fix redundancy federation in specific cases | |
1319 | * Fix live miniatures | |
1320 | * Don't update player timestamp when clicking on a timecode in comments/descriptions for a live | |
1321 | * Fix admin table filters | |
1322 | * Fix some accessibility issues | |
1323 | * Stop CLI auth failure with extra `/` [#3520](https://github.com/Chocobozzz/PeerTube/issues/3520) | |
1324 | * Fix login error display | |
1325 | * Don't display log level in audit logs view | |
1326 | * Add missing audit log if the user deletes its account | |
1327 | * Don't crash on youtube-dl update write error | |
1328 | * Fix video auto block notification issue | |
3a735f7d C |
1329 | |
1330 | ||
2af1f9be C |
1331 | ## v2.4.0 |
1332 | ||
1333 | **Since v2.3.0** | |
9a0d813e C |
1334 | |
1335 | ### IMPORTANT NOTES | |
1336 | ||
1337 | * The minimum ffmpeg version required is now 4.1 | |
20dcfd74 C |
1338 | * Deprecate static routes that will be removed in 3.0 (you may not have to do anything if you used paths returned by the video REST API): |
1339 | * `/static/avatars/`: use `/lazy-static/avatars/` instead | |
1340 | * `/static/previews/`: use `/lazy-static/previews/` instead | |
1341 | * `/static/video-captions/`: use `/lazy-static/video-captions/` instead | |
9a0d813e C |
1342 | * Use `playlistPosition` URL parameter for playlists instead of `videoId` to set the current playlist position |
1343 | ||
1344 | ### Maintenance | |
1345 | ||
1346 | * Better error message on PostgreSQL connection error | |
1347 | * Add `ssl` option support for PostgreSQL connection | |
1348 | ||
1349 | ### Official PeerTube plugins | |
1350 | ||
1351 | * [Player video annotation (alpha)](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-video-annotation) | |
1352 | ||
1353 | ### Plugins/Themes/Embed API | |
1354 | ||
7cf88d09 | 1355 | * Add embed API (https://docs.joinpeertube.org/api-embed-player): |
9a0d813e C |
1356 | * `playNextVideo` method |
1357 | * `playPreviousVideo` method | |
1358 | * `getCurrentPosition` method | |
1359 | * Embed URL parameters | |
1360 | * Add ability to disable PeerTube link in embed using an URL param (`peertubeLink=0`) | |
1361 | * Add plugins support in embed | |
7cf88d09 | 1362 | * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): |
9a0d813e | 1363 | * `action:embed.player.loaded` (for embed) |
7cf88d09 | 1364 | * Add custom fields in video update/upload form using `registerVideoField` (https://docs.joinpeertube.org/contribute-plugins?id=add-custom-fields-to-video-form) |
9a0d813e C |
1365 | |
1366 | ### Features | |
1367 | ||
1368 | * Moderation: | |
1369 | * :tada: Add ability to report comments and accounts | |
1370 | * :tada: Add messaging system between local reporter of an abuse and moderators so they can easily communicate | |
1371 | * :tada: Users can now see their abuse reports, and have notifications when an abuse state changed (accepted/rejected) or when moderators added a new message | |
1372 | * Add embed to block list details [@rigelk in #2926](https://github.com/Chocobozzz/PeerTube/pull/2926) | |
1373 | * Video playlists: | |
1374 | * :tada: Add ability to embed playlists | |
1375 | * :tada: Add ability to put a video multiple times in a playlist (with different startAt/stopAt parameters or not) | |
1376 | * Video comments: | |
1377 | * Add uni-code emojis native display in comments [@Kimsible in #3046](https://github.com/Chocobozzz/PeerTube/pull/3046) | |
1378 | * Add delete and re-draft action on a comment that doesn't have replies [@Kimsible in #3046](https://github.com/Chocobozzz/PeerTube/pull/3046) | |
1379 | * Hide deleted comments when there aren't replies [@Kimsible in #3046](https://github.com/Chocobozzz/PeerTube/pull/3046) | |
1380 | * Accessibility/UI: | |
1381 | * Disable vertical scroll instead of hide on desktop browsers [@Kimsible in #2962](https://github.com/Chocobozzz/PeerTube/pull/2962) | |
1382 | * Update my-account sub-menus icons [@Kimsible in #2977](https://github.com/Chocobozzz/PeerTube/pull/2977) | |
1383 | * Improve navigation sub-menu and tabs effects [@Kimsible in #2971](https://github.com/Chocobozzz/PeerTube/pull/2971) | |
1384 | * Hide generic channel display name and avatar on watch view [@Kimsible in #2988](https://github.com/Chocobozzz/PeerTube/pull/2988) | |
1385 | * Display user quota progress bars above upload form [@Kimsible in #2981](https://github.com/Chocobozzz/PeerTube/pull/2981) | |
1386 | * Improve mobile accessibility by moving table action cells on the left [@Kimsible in #2980](https://github.com/Chocobozzz/PeerTube/pull/2980) | |
1387 | * Directly display download button in watch page on logged-out users [@rigelk in #2919](https://github.com/Chocobozzz/PeerTube/pull/2919) | |
1388 | * Improve users list table display in admin (add badge, progress bar) [@rigelk in #2991](https://github.com/Chocobozzz/PeerTube/pull/2991) | |
1389 | * Add dynamic column display for users list table in admin [@rigelk in #2991](https://github.com/Chocobozzz/PeerTube/pull/2991) | |
1390 | * Add anchor links to about/instance [@Kimsible in #3064](https://github.com/Chocobozzz/PeerTube/pull/3064) | |
1391 | * Improve select components [@rigelk in #3035](https://github.com/Chocobozzz/PeerTube/pull/3035) | |
1392 | * Add content overlay for opened menu on touchscreens [@Kimsible in #3088](https://github.com/Chocobozzz/PeerTube/pull/3088) | |
1393 | * Add alert and hide upload view when no upload is possible [@Kimsible in #2966](https://github.com/Chocobozzz/PeerTube/pull/2966) | |
1394 | * Allow sorting notifications by unread/newest **@rigelk** | |
1395 | * Add open-graph and twitter-card metas for accounts, video-channels and playlists urls [@Kimsible in #2996](https://github.com/Chocobozzz/PeerTube/pull/2996) | |
1396 | * Add channel name to create-user admin form [@Kimsible in #2984](https://github.com/Chocobozzz/PeerTube/pull/2984) | |
1397 | * Support Kabile for video languages/captions | |
1398 | * Translate page titles | |
2f161df1 | 1399 | * Add `.ac3`, `.aac`, `.qt`, `.mqv`, `.3gpp`, `.3gpp2`, `.m1v`, `.mpg`, `.mpe`, `.vob` extensions support on upload if transcoding is enabled **@rigelk** |
9a0d813e | 1400 | * Performance: |
2f161df1 | 1401 | * Improved front-end performance by reducing localized bundle sizes (~ 2MB instead of 3MB for the homepage) |
9a0d813e C |
1402 | * Optimize comments RSS feed SQL query |
1403 | * Optimize default sort SQL query when listing videos | |
1404 | ||
1405 | ||
1406 | ### Bug fixes | |
1407 | ||
1408 | * Handle webp images from youtube-dl | |
1409 | * Fix embed p2p warning localization | |
1410 | * iOS fixes: | |
1411 | * Fix HLS only videos playback | |
1412 | * Fix fullscreen | |
1413 | * Fix iPad desktop mode playback | |
1414 | * Try to fix autoplay with iOS/Safari | |
1415 | * Fix anonymous user theme | |
1416 | * Fix player hotkeys after mouse interaction | |
1417 | * Fix resolution transcoding for portrait videos | |
1418 | * Do not display videojs poster when video is starting to avoid blinking effect [@Kimsible in #3056](https://github.com/Chocobozzz/PeerTube/pull/3056) | |
1419 | * Correctly scroll to anchors in my-settings [@Kimsible in #3032](https://github.com/Chocobozzz/PeerTube/pull/3032) | |
1420 | * Forbid reset password links reuse | |
1421 | * Fix low default resolution on webtorrent videos | |
1422 | * Fix instance features table responsive in about page [@test2a in #3090](https://github.com/Chocobozzz/PeerTube/pull/3090) | |
1423 | * Fix playlist element deletion/edition in my account | |
1424 | * Fix video playlist playback resuming | |
1425 | * Correctly display error message for Internet Explorer | |
1426 | * Fix videos RSS feed when HLS only is enabled | |
2af1f9be C |
1427 | * Add site_name to opengraph tags |
1428 | ||
1429 | ||
1430 | **Since v2.4.0-rc.1** | |
1431 | ||
1432 | ### Bug fixes | |
1433 | ||
1434 | * Add site_name to opengraph tags | |
1435 | * Fix privacy/channel select on upload | |
1436 | ||
9a0d813e | 1437 | |
73f07d38 C |
1438 | ## v2.3.0 |
1439 | ||
1440 | **Since v2.2.0** | |
b512a845 C |
1441 | |
1442 | ### IMPORTANT NOTES | |
1443 | ||
99d031a2 | 1444 | * Add `client_overrides` directory in configuration file. **You must configure it in your production.yaml** |
d9b068ca C |
1445 | * Deprecate `/videos/abuse` endpoint. |
1446 | A new endpoint to report videos will be created in PeerTube 2.4 and will also allow to report accounts and comments (`/videos/abuse` will be removed in 3.0) | |
b512a845 C |
1447 | * Renamed videos blacklist feature to videos blocks/blocklist |
1448 | ||
1449 | ||
1450 | ### Documentation | |
1451 | ||
1452 | * Add feeds routes to the openapi spec **@rigelk** | |
1453 | * Add notifications routes to the openapi spec **@rigelk** | |
1454 | * Add redundancy routes to the openapi spec **@rigelk** | |
1455 | * Add plugins routes to the openapi spec **@rigelk** | |
1456 | * Add examples, descriptions and missing filters for abuses routes in the openapi spec **@rigelk** | |
1457 | * Update CentOS insutructions in dependencies.md [@cgarwood82 in 2904](https://github.com/Chocobozzz/PeerTube/pull/2904) | |
1458 | ||
1459 | ### Maintenance | |
1460 | ||
1461 | * Switched image processing library from native dependency `sharp` to pure JS implementation `jimp`. Admins don't have to compile `sharp` anymore and `jimp` is lighter | |
1462 | * Provide specific engine boundaries for NodeJS and Yarn [@rigelk in 0c4bacb](https://github.com/Chocobozzz/PeerTube/commit/0c4bacbff53bc732f5a2677d62a6ead7752e2405) | |
1463 | * Add ability to set `database.name` config option [@gramakri in #2898](https://github.com/Chocobozzz/PeerTube/pull/2898) | |
1464 | ||
1465 | ||
1466 | ### Docker | |
1467 | ||
1468 | * Fix `POSTGRES` env variables in docker-compose ([@kimsible in #2538](https://github.com/Chocobozzz/PeerTube/pull/2538/files)) | |
1469 | * Fix OpenDKIM permissions in docker-compose setup [@kimsible in #2868](https://github.com/Chocobozzz/PeerTube/pull/2868) | |
1470 | ||
1471 | ||
1472 | ### Official PeerTube plugins | |
1473 | ||
1474 | * [Auto block videos (alpha)](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auto-block-videos) | |
1475 | ||
1476 | ||
99d031a2 C |
1477 | ### Plugins/Themes/Embed API |
1478 | ||
1479 | * Add ability to override client assets: logo - favicon - PWA icons - PWA manifest name and description [@kimsible in #2897](https://github.com/Chocobozzz/PeerTube/pull/2897) | |
1480 | ||
b512a845 C |
1481 | ### Features |
1482 | ||
1483 | * :tada: Add global search support (has to be explicitely enabled by admins) | |
1484 | * :tada: Add ability for admins to display a banner on their instance | |
1485 | * :tada: Support Vietnamese and Kabyle languages. Also re-establish Occitan language locale despite lack of support in Angular | |
1486 | * Federation: | |
1487 | * Make federation of unlisted videos an instance-level server preference [@Tak in #2802](https://github.com/Chocobozzz/PeerTube/pull/2802) | |
1488 | * Sort ActivityPub video object files by resolution in descending order (fix issue with Pleroma) | |
1489 | * Send complete video description in ActivityPub video objects | |
1490 | * Moderation: | |
1491 | * Add ability to bulk delete comments of an account | |
1492 | * Add ability to mute accounts from video miniature | |
1493 | * Improve report modal: [@rigelk in #2842](https://github.com/Chocobozzz/PeerTube/pull/2842) | |
1494 | * Add ability to provide predefined reasons | |
1495 | * Embed of the video in the modal | |
1496 | * Add ability to set a **startAt** parameter | |
1497 | * Accessibility: | |
1498 | * Add lang attribute in languages list menu [@Pandoraaa in #2832](https://github.com/Chocobozzz/PeerTube/pull/2832) | |
1499 | * Add aria-hidden to non-descriptive icons [@Pandoraaa in #2844](https://github.com/Chocobozzz/PeerTube/pull/2844) | |
1500 | * Change focus color instead of opacity of video play button [@Pandoraaa in #2845](https://github.com/Chocobozzz/PeerTube/pull/2845) | |
1501 | * Add explicit step and aria-current attribute in register form [@Pandoraaa in #2861](https://github.com/Chocobozzz/PeerTube/pull/2861) | |
1502 | * Add scope tags and aria-labels in instance features table [@Pandoraaa in #2866](https://github.com/Chocobozzz/PeerTube/pull/2866) | |
1503 | * Add keyboard navigation in video watch page buttons [@Pandoraaa in #2854 with @rigelk](https://github.com/Chocobozzz/PeerTube/pull/2854) | |
1504 | * Replaced softies icons by feather icons **@rigelk** | |
1505 | * Support player hotkeys when it is not focused | |
1506 | * Improve video miniature grids to fill the space as much as possible **@rigelk** | |
1507 | * Add video miniature dropdown in *Discover* page | |
1508 | * Add channel information in *My videos* page | |
1509 | * Add videos count per channel in *My channels* page | |
1510 | * Improve channel deletion warning by explaining how many videos will be deleted | |
1511 | * Simplify navigation within most admin menus **@rigelk** | |
1512 | * Tracker: | |
1513 | * Log IP requesting unknown infoHash [@JohnXLivingston in | |
1514 | 212e17a ](https://github.com/Chocobozzz/PeerTube/commit/212e17a1892162a69138c0b9c0a1bd88f95209a8) | |
1515 | * Block IP of infohash spammers [db48de8](https://github.com/Chocobozzz/PeerTube/commit/db48de8597897e5024f8e9ed5acb1a8f40748169) | |
1516 | * Allow limiting video-comments rss feeds to an account or video channel [@rigelk in 00494d6](https://github.com/Chocobozzz/PeerTube/commit/00494d6e2ae915741f47869dcd359d9728a0af91) | |
1517 | ||
1518 | ### Bug fixes | |
1519 | ||
73f07d38 C |
1520 | * Fix default anonymous theme that should use instance default |
1521 | * Fix configuration form issue when auto follow index URL is empty | |
1522 | * Fix URL import of some videos | |
1523 | * Fix quota representation in profile settings **@rigelk** | |
1524 | * Exclude 0p from auto webtorrent quality | |
1525 | * Fix scroll on some pages with hash in URL | |
1526 | * Fix search filter in video reports | |
1527 | * Fix anonymous user nsfw policy | |
1528 | * Don't cache embed HTML page resulting in broken embed after a PeerTube upgrade | |
1529 | * Accessibility: | |
b512a845 C |
1530 | * Add lang in document to match current locale [@rigelk in #2822](https://github.com/Chocobozzz/PeerTube/pull/2822) |
1531 | * Prevent duplicate id attributes for `.svg` [@rigelk in #2822](https://github.com/Chocobozzz/PeerTube/pull/2822) | |
1532 | * Fix headings order or add missing ones [@Pandoraaa in #2871](https://github.com/Chocobozzz/PeerTube/pull/2871) | |
1533 | * Remove uneccessary details to link titles [@Pandoraaa in #2879](https://github.com/Chocobozzz/PeerTube/pull/2879) | |
73f07d38 C |
1534 | * Fix accessibility action buttons and display on imports and followers list [@kimsible in #2986](https://github.com/Chocobozzz/PeerTube/pull/2986) |
1535 | * Fix iOS player with HLS-only videos | |
1536 | * Fix action buttons selection mode styles [@kimsible in #2983](https://github.com/Chocobozzz/PeerTube/pull/2983) | |
1537 | ||
1538 | ||
1539 | **Since v2.3.0-rc.1** | |
1540 | ||
1541 | ### Bug fixes | |
1542 | ||
1543 | * Fix broken locales | |
1544 | * Fix embed URL in share modal | |
1545 | * Handle webp images from youtube-dl | |
1546 | * Fix iOS player with HLS-only videos | |
1547 | * Fix popup issues on video miniature click when searching on the global index | |
1548 | * Fix username in password-reset email [@kimsible in #2960](https://github.com/Chocobozzz/PeerTube/pull/2960) | |
1549 | * Fix maximized icon padding in markdown textarea [@kimsible in #2963](https://github.com/Chocobozzz/PeerTube/pull/2963) | |
1550 | * Fix action buttons selection mode styles [@kimsible in #2983](https://github.com/Chocobozzz/PeerTube/pull/2983) | |
1551 | * Fix user creation in admin [@kimsible in #2985](https://github.com/Chocobozzz/PeerTube/pull/2985) | |
1552 | * Fix accessibility action buttons and display on imports and followers list [@kimsible in #2986](https://github.com/Chocobozzz/PeerTube/pull/2986) | |
b512a845 C |
1553 | |
1554 | ||
f3e887e5 C |
1555 | ## v2.2.0 |
1556 | ||
1557 | **Since v2.1.0** | |
1109826d C |
1558 | |
1559 | ## IMPORTANT NOTES | |
1560 | ||
1561 | * **/!\ VERY IMPORTANT /!\\** We added a unique index on actors usernames to fix some federation bugs. | |
1562 | Please check now if you have conflicts: | |
1563 | * Go inside your database using `sudo -u postgres psql peertube_prod` and run `select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) > 1;` | |
1564 | * If you have some results, it seems you have duplicate channels/accounts. | |
1565 | For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique). | |
1566 | The updated actors could have some federations issues | |
1567 | * Changed `auto_follow_index` setting configuration: you now have to use the complete URL in `index_url`. | |
ec401ba0 RK |
1568 | If you used the default one, you now need to use `https://instances.joinpeertube.org/api/v1/instances/hosts`. |
1569 | This way, you can also use a direct raw URL (Gitlab, Github, pastebin, etc.) using [a simple text format](https://framagit.org/framasoft/peertube/instances-peertube#peertube-auto-follow) and easily maintain small communities or instance recommendation lists. | |
1109826d C |
1570 | * PeerTube requires NodeJS v10 or v12 |
1571 | ||
1572 | ### CLI tools | |
1573 | ||
7cf88d09 | 1574 | * Add redundancy CLI: https://docs.joinpeertube.org/maintain-tools?id=peertube-redundancyjs |
1109826d C |
1575 | * Add ability to pass remaining options to youtube-dl binary in peertube-import script ([@drzraf](https://github.com/drzraf)) |
1576 | ||
1577 | ### Docker | |
1578 | ||
35fbb418 | 1579 | * **Important:** Fix HLS storage configuration ([@xcffl](https://github.com/xcffl)): https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/production.yaml#L48 |
1109826d C |
1580 | * Add DKIM support to Docker ([@kimsible](https://github.com/kimsible)) |
1581 | ||
1582 | ### Maintenance | |
1583 | ||
7cf88d09 | 1584 | * Add nginx configuration to redirect videos to an S3 bucket ([@rigelk](https://github.com/rigelk)) and update of the [corresponding documentation](https://docs.joinpeertube.org/admin-remote-storage). |
1109826d C |
1585 | |
1586 | ### Plugins/Themes/Embed API | |
1587 | ||
7cf88d09 | 1588 | * Add embed API (https://docs.joinpeertube.org/api-embed-player): |
1109826d C |
1589 | * `playbackState` can be `ended` |
1590 | * `playbackStatusUpdate` has a `duration` field | |
1591 | * `setCaption` and `getCaptions` methods | |
7cf88d09 | 1592 | * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): |
1109826d C |
1593 | * `action:login.init` |
1594 | * `action:video-watch.video-threads.loaded` | |
1595 | * `action:video-watch.video-thread-replies.loaded` ([@ipbc-dev](https://github.com/ipbc-dev)) | |
7cf88d09 | 1596 | * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): |
7d47ff90 C |
1597 | * `filter:api.video.pre-import-url.accept.result` |
1598 | * `filter:api.video.pre-import-torrent.accept.result` | |
1599 | * `filter:api.video.post-import-url.accept.result` | |
1600 | * `filter:api.video.post-import-torrent.accept.result` | |
1109826d C |
1601 | * Add server helpers: |
1602 | * `database.query` to do SQL queries | |
1603 | * `videos.removeVideo` | |
1604 | * `config.getWebserverUrl` | |
1605 | * `moderation.blockServer`, `moderation.unblockServer`, `moderation.blockAccount`, `moderation.unblockAccount`, `moderation.blacklistVideo`, `moderation.unblacklistVideo` | |
1606 | * Add client helpers: | |
1607 | * `notifier` to notify users using the toast component ([@kimsible](https://github.com/kimsible)) | |
1608 | * `showModal` to show a modal ([@kimsible](https://github.com/kimsible)) | |
1609 | * `markdownRenderer` to render markdown ([@kimsible](https://github.com/kimsible)) | |
1610 | * Add ability for plugins to define custom routes | |
1611 | * Add ability for plugins to remove video/playlist privacies | |
1612 | * Add ability for plugins to support additional auth methods | |
1613 | * Add `onSettingsChange` support | |
1614 | ||
1615 | ### Official PeerTube plugins | |
1616 | ||
1617 | * [OpenID Connect](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auth-openid-connect) | |
1618 | * [LDAP](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auth-ldap) | |
1619 | * [SAML2](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auth-saml2) | |
1620 | * [Auto mute accounts/instances (alpha)](https://framagit.org/framasoft/peertube/official-plugins/-/tree/master/peertube-plugin-auto-mute) | |
1621 | ||
1622 | ## Features | |
1623 | ||
ec401ba0 RK |
1624 | * :tada: Add HTML support in PeerTube emails, improve text-only version ([@rigelk](https://github.com/rigelk)) |
1625 | * :tada: Add settings panel for anonymous users so they can change NSFW/P2P/autoplay/displayed videos policy ([@rigelk](https://github.com/rigelk)) | |
1109826d C |
1626 | * :tada: Improve redundancy management: |
1627 | * Add quick action on video miniature to mirror a specific video using the web interface | |
1628 | * Add admin dashboard to list remote and local redundancies | |
1629 | * Add ability for admins to define remote redundancies policy (accept/reject) | |
1630 | * :tada: Many responsive & UI improvements: | |
1631 | * Add maximized mode to markdown textarea ([@kimsible](https://github.com/kimsible)) | |
ec401ba0 | 1632 | * Detect and prevent sub menu overflow on small screens using a dropdown or a modal ([@rigelk](https://github.com/rigelk)) |
1109826d C |
1633 | * Use a typeahead component for the search bar ([@rigelk](https://github.com/rigelk)) |
1634 | * Use a modal instead of a dropdown menu in small/mobile views ([@kimsible](https://github.com/kimsible)) | |
ec401ba0 | 1635 | * Improve display of accounts and channel pages on small and medium screens ([@rigelk](https://github.com/rigelk)) |
1109826d C |
1636 | * Improve forms layout ([@rigelk](https://github.com/rigelk)) |
1637 | * Replace helpers icons with descriptions in admin configuration ([@rigelk](https://github.com/rigelk)) | |
ec401ba0 | 1638 | * Improve tables on mobile devices to prevent layout breakage ([@kimsible](https://github.com/kimsible)) |
1109826d C |
1639 | * Fix multiple broken views on small screens ([@kimsible](https://github.com/kimsible)) |
1640 | * Make video add tabs scrollable on small devices ([@kimsible](https://github.com/kimsible)) | |
ec401ba0 | 1641 | * Better use of space and icons in the plugin administration interface ([@rigelk](https://github.com/rigelk)) |
1109826d | 1642 | * Restyle toast notifications to tone down colors ([@rigelk](https://github.com/rigelk)) |
ec401ba0 | 1643 | * Add/move links at the bottom of the left menu ([@rigelk](https://github.com/rigelk)) |
1109826d C |
1644 | * Improve avatar upload UI ([@rigelk](https://github.com/rigelk)) |
1645 | * Use progress bars for quota used in my account ([@rigelk](https://github.com/rigelk)) | |
ec401ba0 RK |
1646 | * Add variable pagination size to all tables ([@rigelk](https://github.com/rigelk)) |
1647 | * Add empty states to all tables ([@rigelk](https://github.com/rigelk)) | |
1648 | * Add generic text filter to all admin tables ([@rigelk](https://github.com/rigelk)) | |
1649 | * Fix `z-index` for tooltips, modals and their button to prevent overlaps ([@rigelk](https://github.com/rigelk)) | |
1109826d | 1650 | * And many others! |
94f0aef4 | 1651 | * :tada: Improve video abuses admin table ([@rigelk](https://github.com/rigelk)): |
ec401ba0 RK |
1652 | * Add in-text specific search filters |
1653 | * Reports can be linked to directly | |
1109826d | 1654 | * Rich reporter field |
ec401ba0 RK |
1655 | * Add video thumbnail with abuse count for the video and position of the abuse in that list |
1656 | * Expand row to see more information about the video, the reporter and the reportee | |
1109826d C |
1657 | * Add many actions (on the video, on the reporter) |
1658 | * Don't remove a report when a video is deleted | |
ec401ba0 | 1659 | * Add information on a video abuse within its notification email ([@rigelk](https://github.com/rigelk)) |
1109826d C |
1660 | * Add ability for video owners to delete comments |
1661 | * Add filter inputs for blacklisted videos and muted accounts/servers ([@rigelk](https://github.com/rigelk)) | |
1662 | * Video import improvements: | |
1663 | * Support subtitles when importing a video ([@kimsible](https://github.com/kimsible)) | |
1664 | * Generate thumbnail/preview from URL and inject them in the video edit form ([@kimsible](https://github.com/kimsible)) | |
1665 | * Support `licence` and `language` fields | |
1666 | * Support audio file imports | |
1667 | * Support WMA and WAV audio files upload | |
1668 | * Support drag and drop for video upload/torrent import ([@rigelk](https://github.com/rigelk)) | |
1669 | * Add video file metadata to download modal ([@rigelk](https://github.com/rigelk)) | |
1670 | * Add views stats for channels ([@rigelk](https://github.com/rigelk)) | |
1671 | * Add more information about the user in the edit form ([@rigelk](https://github.com/rigelk)) | |
1672 | * Server optimizations: | |
1673 | * Add cache for some immutable models | |
1674 | * Don't refresh videos when processing a view | |
1675 | * Optimize view endpoint | |
ec401ba0 | 1676 | * Completely rewritten SQL query to list videos |
1109826d C |
1677 | * Optimize SQL request when broadcasting an activity |
1678 | * Support infinite scrolling in the discover page | |
1679 | * Add ability for admins to create a user without a password. PeerTube will send a reset password link to the user ([@JohnXLivingston](https://github.com/JohnXLivingston)) | |
1680 | * Improve embed title background opacity | |
1681 | * Add origin instance URL in watch page | |
1682 | * Clearer description of advanced search options | |
1683 | * Always copy full actor handle in video channels view ([@rigelk](https://github.com/rigelk)) | |
1684 | * Add `sendmail` support ([@immae](https://github.com/immae)) to `smtp` configuration | |
1685 | * Support `rel="me"` links in markdown | |
1686 | * Use `originallyPublishedAt` from body on import if it exists | |
1687 | * Sort outbox by *DESC createdAt* order | |
1688 | * Increase video comment max length limit | |
1689 | ||
1690 | ### Bug fixes | |
1691 | ||
1692 | * Update default user theme to `instance-default` (Jorge Silva) | |
1693 | * Fix user dropdown menu with long texts ([@rigelk](https://github.com/rigelk)) | |
1694 | * Fix load more comments on infinite scroll ([@ipbc-dev](https://github.com/ipbc-dev)) | |
1695 | * Fix CSP issue on WebFinger service ([@ZanyMonk](https://github.com/ZanyMonk)) | |
1696 | * Fix federation with Pleroma | |
7d47ff90 C |
1697 | * Fix Safari and iOS video play |
1698 | * Fix broken HLS player on old Edge | |
1109826d C |
1699 | * Fix running HLS transcoding on existing HLS video |
1700 | * Fix user role edition | |
1701 | * Fix video duration display | |
1702 | * Fix error when adding a video in a playlist that does not have a thumbnail | |
1703 | * Fix internal video display in playlists | |
1704 | * Fix add comment in threads with deleted comments | |
1705 | * Fix video codec in HLS playlist resulting in a broken video | |
1706 | * Fix torrent import on Windows | |
1707 | * Respect browser autoplay policy: don't autoplay videos in mute mode | |
1708 | * Fix playlist videos autoplay/next play ([@rigelk](https://github.com/rigelk)) | |
1709 | * Fix admin table column invalid sort error | |
1710 | * Fix outbox crawling max page/timeout (when an admin follows an instance with many videos) | |
1711 | * Add CORS to ActivityPub routes | |
1712 | * Fix my video imports table display when a video gets deleted ([@rigelk](https://github.com/rigelk)) | |
1713 | * Fix peertube/import scripts `comment-enabled`, `wait-transcoding` and `download-enabled` options | |
1714 | * Don't leak unlisted videos in comments feed | |
1715 | * Do not display deleted comments or muted accounts/instances in RSS feed | |
1716 | * Fix HLS audio only transcoding | |
1717 | * Fix playlist creation/update with a long description | |
1718 | * Fix links of same instance in video description | |
1719 | * Fix REPL script | |
f3e887e5 C |
1720 | * Fix broken client when cookies are disabled |
1721 | * Fix upload button color in dark mode | |
1722 | * Explicit theme colors for inputs and textarea | |
1723 | * Fix input/textarea themes | |
1724 | * Fix action button icons theme | |
1725 | * Fix grey color theme | |
1726 | * Fix regression scrollbar bgcolor mdtextarea maximized-mode ([@kimsible](https://github.com/kimsible)) | |
1727 | ||
1728 | ||
1729 | **since v2.2.0-rc.1** | |
1730 | ||
1731 | ### Bug fixes | |
1732 | ||
1733 | * Fix broken migration introduced in 2.2.0-rc.1 in docker | |
1734 | * Fix sort icons in tables | |
1735 | * Fix action button overflow in tables | |
1736 | * Fix broken client when cookies are disabled | |
1737 | * Fix upload button color in dark mode | |
1738 | * Explicit theme colors for inputs and textarea | |
1739 | * Fix input/textarea themes | |
1740 | * Fix dropdown menu overflow | |
1741 | * Fix notifications with dark theme | |
1742 | * Fix action button icons theme | |
1743 | * Fix grey color theme | |
1744 | * Fix regression scrollbar bgcolor mdtextarea maximized-mode ([@kimsible](https://github.com/kimsible)) | |
1745 | * Fix broken emails | |
1746 | ||
1109826d C |
1747 | |
1748 | ||
be9bb947 C |
1749 | ## v2.1.1 |
1750 | ||
1751 | ### Bug fixes | |
1752 | ||
1753 | * Fix youtube-dl in docker image | |
1754 | * Fix playlist creation/update | |
1755 | * Fix fetch of instance config in client | |
1756 | * Manual approves followers only for the instance (and not accounts/channels) | |
1757 | * Fix avatar update | |
1758 | * Fix CSP for embeds | |
1759 | * Fix scroll of the menu on mobile | |
1760 | * Fix CPU usage of PostgreSQL | |
1761 | * Fix embed for iOS | |
1109826d | 1762 | |
be9bb947 | 1763 | |
2ba7f3d1 C |
1764 | ## v2.1.0 |
1765 | ||
1766 | **Since v2.0.0** | |
1767 | ||
1768 | ### IMPORTANT NOTES | |
1769 | ||
1770 | * **/!\ 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: | |
1771 | * `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` | |
1772 | * **/!\ VERY IMPORTANT /!\\** In the next PeerTube release (v2.2.0), we'll add a unique index on actors usernames to fix some federation bugs. | |
1773 | Please check now if you have conflicts using: | |
1774 | * Go inside your database using `sudo -u postgres psql peertube_prod` and run `select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) > 1;` | |
1775 | * If you have some results, it seems you have duplicate channels/accounts. | |
1776 | For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique). | |
1777 | The updated actors could have some federations issues | |
1778 | * We now use Buster for the docker image, so the image name changed: | |
1779 | * `production-stretch` becomes `production-buster` | |
1780 | * `v2.x.x-stretch` becomes `v2.x.x-buster` | |
1781 | * Users cannot create more than 20 channels now to avoid UX and actor name squatting issues | |
1782 | * We added a warning if the `videos` directory is the same than the `redundancy` one in your configuration file: it can create some bugs | |
1109826d | 1783 | |
2ba7f3d1 C |
1784 | ### Documentation |
1785 | ||
1786 | We added some sections in the documentation website: | |
1787 | ||
7cf88d09 C |
1788 | * S3 remote storage: https://docs.joinpeertube.org/admin-remote-storage |
1789 | * Instances redundancy: https://docs.joinpeertube.org/admin-following-instances | |
1790 | * Moderate your instance: https://docs.joinpeertube.org/admin-moderation | |
1791 | * Customize your instance (install plugins & themes): https://docs.joinpeertube.org/admin-customize-instance | |
1792 | * PeerTube logs (standard log/audit log): https://docs.joinpeertube.org/admin-logs | |
1793 | * Mute accounts/instances: https://docs.joinpeertube.org/use-mute | |
1794 | * Controlled player embed API: https://docs.joinpeertube.org/api-embed-player | |
2ba7f3d1 C |
1795 | |
1796 | ### Docker | |
1797 | ||
1798 | * Sticking to one env-var management system ([@Leopere](https://github.com/Leopere)) (See https://github.com/Chocobozzz/PeerTube/pull/2247) | |
1799 | * Simplify Dockerfile and slim Docker image ([@Nutomic](https://github.com/nutomic)) | |
1800 | * Add HLS support in Docker container by using the latest Debian stable (Buster) image | |
1801 | ||
1802 | ### Plugins/Themes API | |
1803 | ||
1804 | * Add checkbox and textarea as possible input types for settings ([@rigelk](https://github.com/rigelk)) | |
1805 | * Add `isLoggedIn` helper to client plugins ([@rigelk](https://github.com/rigelk)) | |
1806 | * Add client plugin hooks: | |
1807 | * `action:video-watch.player.loaded` with player instance | |
1808 | * `action:video-watch.video.loaded` with a videojs instance | |
1809 | * `action:signup.register.init` ([@rigelk](https://github.com/rigelk)) | |
1810 | * `filter:api.signup.registration.create.params` ([@rigelk](https://github.com/rigelk)) | |
1811 | * `filter:internal.video-watch.player.build-options.params` | |
1812 | * `filter:internal.video-watch.player.build-options.result` | |
1813 | * `filter:internal.common.svg-icons.get-content.params` | |
1814 | * `filter:internal.common.svg-icons.get-content.result` | |
1815 | * Add server plugins hooks: | |
1816 | * `action:api.user.blocked` | |
1817 | * `action:api.user.unblocked` | |
1818 | * `action:api.user.registered` | |
1819 | * `action:api.user.created` | |
1820 | * `action:api.user.deleted` | |
1821 | * `action:api.user.updated` | |
1822 | * `action:api.user.oauth2-got-token` | |
1823 | * Accept `.` `_` and `0-9` characters in plugin names | |
1824 | ||
1825 | ### Maintenance | |
1826 | ||
1827 | * PeerTube moved translations from Zanata to Weblate. Here is the new translations website URL: https://weblate.framasoft.org/projects/peertube/ | |
1828 | * We now provide a JavaScript library to control a PeerTube embed: https://www.npmjs.com/package/@peertube/embed-api | |
7cf88d09 | 1829 | * Add ability to generate HLS videos using `create-transcoding-job` script (see [the documentation](https://docs.joinpeertube.org/maintain-tools?id=create-transcoding-jobjs)) |
2ba7f3d1 C |
1830 | * Update nginx template: (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx)) |
1831 | * Add streaming playlists endpoint | |
1832 | * Add `client_body_temp_path` hint | |
1833 | * Relax TLS/SSL ciphers hardening to allow Android 4.4.2 to use the PeerTube instance API | |
1834 | * Add `maxFileSize`, `maxFiles` and `anonymizeIP` log options in configuration file | |
1835 | ||
1836 | ### Features | |
1837 | ||
1838 | * :tada: Add *internal* video privacy mode. *Internal* videos are only available to other logged in users of your instance, and are not federated | |
1839 | * :tada: Add hyperlink video timestamps in comments & video descriptions ([@Lesterpig](https://github.com/lesterpig) & [@rigelk](https://github.com/rigelk)) | |
1840 | * :tada: Comments improvements: | |
1841 | * Support basic markdown | |
1842 | * Soft delete video comments instead of destroying them ([@alcalyn](https://github.com/alcalyn)) | |
1843 | * Add commentator name alongside fid for video comments ([@rigelk](https://github.com/rigelk)) | |
1844 | * Add a cancel button in comment form ([@rigelk](https://github.com/rigelk)) | |
1845 | * Show number of comments under a video in watch page ([@rigelk](https://github.com/rigelk)) | |
1846 | * Add user moderation dropdown ([@rigelk](https://github.com/rigelk)) | |
1847 | * Add ability to sort comments by *total replies* or *created date* ([@rigelk](https://github.com/rigelk)) | |
1848 | * Add *total replies from video author* indicator ([@rigelk](https://github.com/rigelk)) | |
1849 | * Comment name emphasis for video author ([@rigelk](https://github.com/rigelk)) | |
1850 | * Add "Watch later" button in video miniature overlay ([@rigelk](https://github.com/rigelk)) | |
1851 | * Add ability to transcode videos in an audio only video container ([@Yetangitu](https://github.com/Yetangitu)) | |
1852 | * Add playlist search input in *add to playlist* dropdown ([@rigelk](https://github.com/rigelk)) | |
1853 | * Add search bars for a user's videos and playlists ([@rigelk](https://github.com/rigelk)) | |
1854 | * Support playlists in share modal | |
1855 | * Better UI for a better world: | |
1856 | * Add play/pause bezels to the video player ([@rigelk](https://github.com/rigelk)) | |
1857 | * Use icons instead of buttons in watch page (like/dislike, support...) ([@rigelk](https://github.com/rigelk)) | |
1858 | * Improve *PeerTube* section in About page and add links to the documentation | |
1859 | * Improve comment tree in Watch page | |
1860 | * Improve dropdown box shadow ([@rigelk](https://github.com/rigelk)) | |
1861 | * Add channel avatar to watch view ([@rigelk](https://github.com/rigelk)) | |
1862 | * Improve likes-dislikes bar usability | |
1863 | * Alter titles section header style ([@rigelk](https://github.com/rigelk)) | |
1864 | * Enhance jobs list display on smaller screens ([@alcalyn](https://github.com/alcalyn)) | |
1865 | * Add a button in the videos from subscriptions page to manage subscriptions ([@rigelk](https://github.com/rigelk)) | |
1866 | * Add duration to video attributes in watch view ([@rigelk](https://github.com/rigelk)) | |
1867 | * Add a message in the login form when signup is disabled for people that are looking for an account ([@rigelk](https://github.com/rigelk)) | |
1868 | * Add "Manage" button in owned account and channels pages ([@rigelk](https://github.com/rigelk)) | |
1869 | * Improve password input accessibility ([@rigelk](https://github.com/rigelk)) | |
1870 | * Add descriptions in moderation dropdown ([@rigelk](https://github.com/rigelk)) | |
1871 | * Performances improvements: | |
1872 | * Lazy load categories, licences, languages and video/playlist privacies in the client | |
1873 | * Only update remote actor avatar if the filename changed | |
1874 | * Optimize transcoding by using the lowest resolution as input file | |
1875 | * Speedup embed first paint | |
1876 | * Optimize videos list SQL query | |
1877 | * Optimize local videos list SQL query | |
1878 | * Cache `peertube` instance actor SQL result | |
1879 | * Cache HLS/WebTorrent InfoHash SQL result | |
1880 | * Optimize notification endpoint on specific cases | |
1881 | * Optimize "list my playlists" SQL query | |
1882 | * Improve search filters: ([@rigelk](https://github.com/rigelk)) | |
1883 | * Add ability to sort results | |
1884 | * Improve tags filter inputs | |
1885 | * Add a button to reset filters | |
1886 | * Improve autoplay: ([@rigelk](https://github.com/rigelk)) | |
1109826d | 1887 | * Autoplay next video switch for both user and visitors |
2ba7f3d1 C |
1888 | * Add *up next* screen on autoplay |
1889 | * Autoplay next video support for playlists | |
1890 | * Add *next* video button to the player | |
1891 | * Add loop setting when watching a playlist | |
1892 | * Add option to download subtitles in download modal ([@rigelk](https://github.com/rigelk)) | |
1893 | * Add a button in account page to follow all account channels ([@rigelk](https://github.com/rigelk)) | |
1894 | * Add ability to search a video directly by its UUID | |
1895 | * Case insensitive tags search | |
1896 | * Add ability to disable WebTorrent (and only enable HLS) (**experimental and breaks federation with PeerTube instances < 2.1**) | |
1897 | * Don't seed if the client is on a cellular network in the HLS player | |
1898 | * Load HLS player in embed by default if enabled | |
1899 | * Admin panels: | |
1900 | * Add ability to sort by *state*, *score* and *redundancy allowed* columns in following/followers admin table | |
1901 | * Add ability to filter per job type in admin | |
1902 | * Add *Audit logs* section in admin Logs panel | |
1903 | * Improve Media-RSS support ([@rigelk](https://github.com/rigelk)) | |
1904 | * Explicit the tag limit in video form ([@bikepunk](https://github.com/bikepunk)) | |
1905 | * Add a warning when uploading videos using root | |
1906 | * Clearer video quota label in user settings | |
1907 | * Pause the video when the user opens a modal | |
1908 | * Handle basic HTML in account descriptions | |
1909 | * Support `m4v` videos | |
1910 | * Improve 4k resolution bitrate | |
1911 | * Add missing hotkeys documentation in the watch page | |
1912 | * Add a button to copy the channel handle ([@rigelk](https://github.com/rigelk)) | |
1913 | * Add server config to the nodeinfo metadata ([@rigelk](https://github.com/rigelk)) | |
1914 | * Improve notification popup interactivity ([@rigelk](https://github.com/rigelk)) | |
1915 | ||
1916 | ### Bug fixes | |
1917 | ||
1918 | * Don't notify if the account in on a muted instance | |
1919 | * Don't leak other notified addresses in notification emails | |
1920 | * Allow the embed iframe to open links | |
1921 | * Add missing button roles for the language chooser and keyboard shortcut menu items [@MarcoZehe](https://github.com/MarcoZehe) | |
1922 | * Fix overflow when creating a channel | |
1923 | * Fix "copy magnet URI" in player | |
1924 | * Fix text overflow in menu | |
1925 | * Fix player focus | |
1926 | * Only display accepted followers/followings instances in about page | |
1927 | * Fix brackets truncation in video description | |
1928 | * Fix channel playlist miniatures overflow | |
1929 | * Fix background color on some screens | |
1930 | * Fix captions upload issue depending on the caption name | |
1931 | * Fix file download when the video is private | |
1932 | * Fix dropdown on video miniature for unlogged users | |
1933 | * Fix video support field in update form | |
1934 | * Fix video import having a long thumbnail url (Facebook for example) | |
1935 | * Add correct HTTP status on not found video | |
1936 | * Fix bug on login when username has a special character (`_` for example) | |
1937 | * Fix plugin unregistration that did not remove properly its hooks ([@JohnXLivingston](https://github.com/JohnXLivingston)) | |
1938 | * Fix wrong audio only resolution label for hls | |
1939 | * Fix AP icon URL for imported videos | |
1940 | * Fix octet stream fallback for video ext | |
1109826d | 1941 | |
2ba7f3d1 C |
1942 | **since v2.1.0-rc.1** |
1943 | ||
1944 | ### Bug fixes | |
1945 | ||
1946 | * Fix wrong audio only resolution label for hls | |
1947 | * Fix AP icon URL for imported videos | |
1948 | * Fix embed on mastodon | |
1949 | * Fix octet stream fallback for video ext | |
1950 | ||
1951 | ||
eeaeab4f C |
1952 | ## v2.0.0 |
1953 | ||
1954 | **Since v1.4.1** | |
1955 | ||
1956 | ### IMPORTANT NOTES | |
1957 | ||
1958 | * Removed old JSON LD signature implementation. There will be some **federation incompatibilities** with forwarded activities sent | |
1959 | by PeerTube instances < v2.0.0 | |
1960 | * Replaced configuration key `email.object` with `email.subject`: https://github.com/Chocobozzz/PeerTube/commit/916937d7daf386e4e2d37b2ca22db07b644b02df | |
1961 | ||
1962 | ### Plugins/Themes API | |
1963 | ||
1964 | * Add plugin hook on registration `filter:api.user.signup.allowed.result` | |
1965 | ||
1966 | ### Docker | |
1967 | ||
1968 | * Fix traefik version docker compose (**you need to update your `docker-compose.yml` file**: https://github.com/Chocobozzz/PeerTube/commit/f1b38883922fd59b36f093e44a5091e090d20862) | |
1969 | ||
1970 | ### Maintenance | |
1971 | ||
8b7bd166 | 1972 | * Add `--tmpdir`, `--first`, `--last` and `--verbose [level]` parameters to peertube-import-videos script ([@Yetangitu](https://github.com/Yetangitu)) |
eeaeab4f C |
1973 | * Improve REST API documentation ([@frankstrater](https://github.com/frankstrater)) |
1974 | * Improve plugin management documentation | |
1975 | ||
1976 | ### Features | |
1977 | ||
1978 | * Better instance admin responsibility: | |
1979 | * Add ability to set more information about your instance. This will be used in the future on https://joinpeertube.org to help people find | |
1980 | the appropriate PeerTube instance on which they can register: | |
1981 | * Main **Categories** | |
1982 | * **Languages** you/your moderators speak | |
1983 | * **Code of Conduct** | |
1984 | * **Moderation information** (who moderates your instance, NSFW policy etc) | |
1985 | * Who is **behind the instance** (a single person? non-profit?) | |
1986 | * Why did the admin **create this instance** | |
1987 | * How long the admin plan to **maintain the instance** | |
1988 | * How the administrator **will finance** the PeerTube server | |
1989 | * **Hardware** information | |
1990 | * Add these information in the about page and in the signup page | |
1991 | * Add a welcome modal at first admin login with some explanations of PeerTube and some useful links | |
1992 | * Add warning modal when administrators enable or enabled signup but did not fill some important instance information | |
1993 | (for now the instance **name**, **terms**, **administrator** and **maintenance lifetime** information) | |
1994 | * Add ability to automatically follow back other instances | |
1995 | * Add ability to automatically follow [the public registry](https://instances.joinpeertube.org/) instances | |
1996 | * Add *Most liked videos* page ([@alcalyn](https://github.com/alcalyn)) | |
1997 | * Add a drag&drop delay on playlist videos to allow user scroll on small screens ([@alcalyn](https://github.com/alcalyn)) | |
1998 | * Allow to toggle video publication date to display absolute date ([@alcalyn](https://github.com/alcalyn)) | |
1999 | * Add statistics in about page ([@alcalyn](https://github.com/alcalyn)) | |
2000 | * Improve the *feature table* in about page | |
2001 | * Add contributors in about page | |
2002 | * Clearer warning of IP address leaking on embedded videos ([@robinkooli](https://github.com/robinkooli)) | |
2003 | * Case insensitive search on video tags | |
2004 | * Add video name in "video publish notification" | |
2005 | * Add ability to autoplay next recommended video (opt in) ([@LoveIsGrief](https://github.com/LoveIsGrief)) | |
2006 | * Add link behind the subscribe via RSS button ([@frankstrater](https://github.com/frankstrater)) | |
2007 | * Support text/plain caption files | |
2008 | * Speedup theme injection | |
2009 | * Add ability to enable HLS in the admin panel | |
1109826d | 2010 | |
eeaeab4f C |
2011 | ### Bug fixes |
2012 | ||
2013 | * Fix audio upload | |
2014 | * Handle video reports from mastodon | |
2015 | * Fix videos redundancy exceeding the limit | |
2016 | * Fix search when user defined video languages in their preferences | |
2017 | * Don't quick transcode with the wrong pixel format | |
2018 | * Hide videos abuses of muted accounts | |
2019 | * Fix account avatar widths | |
2020 | * Fix default `commentsEnabled` and `downloadEnabled` values on video upload/import ([@frankstrater](https://github.com/frankstrater)) | |
2021 | * Disable auto complete of email field when editing another user information in admin panel ([@Knackie](https://github.com/Knackie)) | |
2022 | * Fix federation issues with some actors (that have long descriptions, or missing optional AP fields) | |
2023 | * Remove down redundancy endpoints in HLS player | |
2024 | * Fix user notifications with multiple opened tabs | |
2025 | * Replace "overview" by "discover" in webpage titles | |
2026 | * Clearer IP debug message in admin panel | |
2027 | * Fix checkbox styles when using a theme | |
2028 | * Don't redirect on verify account page after login | |
2029 | * Fix player captions menu after choosing a subtitle | |
2030 | * Fix CLI scripts with URLs ending with a `/` | |
2031 | * Fix `--since` and `--until` timezone in `peertube-import-videos` script | |
2032 | * Avoid circular error in logger | |
2033 | * Fix start/stop of first element when loading a playlist | |
1109826d | 2034 | |
eeaeab4f C |
2035 | ***Since v2.0.0-rc.1*** |
2036 | ||
2037 | ### Features | |
1109826d | 2038 | |
eeaeab4f C |
2039 | * Improve welcome/warning modals |
2040 | * Add ability to enable HLS in the admin panel | |
1109826d | 2041 | |
eeaeab4f C |
2042 | ### Bug fixes |
2043 | ||
2044 | * Fix auto index follow | |
2045 | * Fix CLI scripts with URLs ending with a `/` | |
8c8f00e0 | 2046 | * Fix `--since` and `--until` timezone in `peertube-import-videos` script ([@fflorent](https://github.com/fflorent)) |
eeaeab4f C |
2047 | * Avoid circular error in logger |
2048 | * Fix start/stop of first element when loading a playlist | |
1109826d | 2049 | |
eeaeab4f | 2050 | |
e0d8e5d6 C |
2051 | ## v1.4.1 |
2052 | ||
2053 | ### Bug fixes | |
2054 | ||
2055 | * Fix too fast redundancy eviction | |
2056 | * Fix broken auto blacklist page | |
2057 | * Rename signup steps | |
2058 | * Fix menu x overflow | |
2059 | ||
2060 | ||
d8319c63 C |
2061 | ## v1.4.0 |
2062 | ||
ee41d06e | 2063 | **Since v1.3.1** |
d8319c63 C |
2064 | |
2065 | ### IMPORTANT NOTES | |
2066 | ||
35fbb418 | 2067 | * **Important:** Add `plugins` directory in configuration file. **You should configure it in your production.yaml** |
d8319c63 C |
2068 | * **Important:** Deprecate NodeJS 8 (support ends on [December 2019](https://github.com/nodejs/Release#release-schedule)). Please upgrade to NodeJS 10. |
2069 | * **Important:** Updated nginx template (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx)) | |
2070 | * Fix long server responses on dual stack servers: https://github.com/Chocobozzz/PeerTube/commit/fd2ddcae8ff4eb10bf7168ac3c8801f06b37627f | |
2071 | * Improve images HTTP cache: https://github.com/Chocobozzz/PeerTube/commit/c928e1364fbdff87f27fd982710b95426a250491 | |
2072 | * **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) | |
2073 | from their admin panel, and then users can choose this theme in their settings | |
2074 | * Changed the playlist REST API to fix various issues. See https://github.com/Chocobozzz/PeerTube/pull/1998 for more information | |
2075 | * Removed magnet URI support in download modal since most of the BitTorrent clients do not understand the `xs` parameter | |
2076 | * Renamed `Overview` page to `Discover` | |
2077 | ||
2078 | ### Security | |
2079 | ||
2080 | * Moderators can only create and update regular users (thanks GGC-Project) | |
2081 | ||
2082 | ### Maintenance | |
2083 | ||
2084 | * Create a dedicated `package.json` for CLI tools to reduce server dependencies size | |
2085 | * Add ability to set root password by environment at first start ([@darnuria](https://github.com/darnuria)) | |
2086 | * Removed unused `uuid` actor field (we already have a unique identifier that is the `preferredUsername`) | |
2087 | * Add ability to disable PeerTube log rotation ([@NassimBounouas](https://github.com/NassimBounouas)) | |
2088 | * Speedup font display ([@BO41](https://github.com/BO41)) | |
2089 | * Improve static files HTTP cache | |
2090 | * Add `--since` and `--until` parameters to import videos script to easily sync external channels ([@fflorent](https://github.com/fflorent)) | |
2091 | * Optimize `/watch/:uuid` endpoint | |
2092 | * Optimize Sequelize (SQL ORM) queries generation (consumes less CPU) | |
2093 | * Prune script is faster and can prune avatar files | |
ee41d06e | 2094 | |
d8319c63 C |
2095 | ### Features |
2096 | ||
2097 | * :tada: Support Finnish, Greek and Scottish Gaelic languages | |
7cf88d09 | 2098 | * :tada: Add basic plugins and themes support (**beta**): https://docs.joinpeertube.org/contribute-plugins |
d8319c63 C |
2099 | * Install plugins or themes from the administration panel |
2100 | * Choose a default theme for your instance | |
2101 | * Users can choose the theme they want among the list of themes their administrator installed | |
2102 | * :tada: Add ability to upload audio files: PeerTube will merge the audio file and the thumbnail to create a video | |
2103 | * Multi step registration: | |
2104 | * Add ability for new users to create their default channel | |
2105 | * Guess the account username/channel username according to their display name | |
2106 | * Add explanations about what the purpose of a username/channel name is, and what a channel is | |
2107 | * Improve account video channels page: | |
2108 | * Set it as the default page for the account page in order to avoid confusion between the account homepage and the video channel homepage | |
2109 | * Display channels in rows with some of their videos | |
2110 | * Support more URL parameters in embeds: `muted`, `loop`, `peertubeLink` | |
2111 | * Redesign share modal and add customizations: | |
2112 | * Start/stop at a specific timestamp | |
2113 | * Automatically play/mute/loop the video | |
2114 | * Set a specific subtitle by default | |
2115 | * Group subscriptions and recently added videos in chronological order | |
2116 | * Add ability for users to change their email address | |
2117 | * Add ability to update the support field of all channel videos when we update the channel support field | |
2118 | * Add a language filter in user preferences to display only videos in specific languages | |
2119 | * Add instance follows list in a dedicated tab in the "About" page | |
2120 | * Add ability to set to private a public/unlisted video or video playlist | |
2121 | * Transcode in the `tmp` directory for s3fs compatibility ([@libertysoft3](https://github.com/libertysoft3)) | |
2122 | * Add a button to copy account username ([@NassimBounouas](https://github.com/NassimBounouas)) | |
2123 | * Redirect to "Local videos" page when going to the `peertube` account page | |
2124 | * Rearrange search filter options ([@realityfabric](https://github.com/realityfabric)) | |
2125 | * Close modal after clicking on download ([@LeoMouyna](https://github.com/LeoMouyna)) | |
2126 | * Add ability for admins to customize emails object prefix and body signature ([@yohanboniface](https://github.com/yohanboniface)) | |
2127 | * Support 4K transcoding | |
2128 | * Add link of the follower profile in administration ([@NassimBounouas](https://github.com/NassimBounouas)) | |
2129 | * Add subject field in contact form ([@NassimBounouas](https://github.com/NassimBounouas)) | |
2130 | * Add rate limit to registration and API endpoints | |
2131 | * Add "video quota used" sortable column in user admin list ([@darnuria](https://github.com/darnuria)) | |
2132 | * Automatically update the playlist thumbnail according to the video at the first position (if the user did not set a specific thumbnail) | |
2133 | * Automatically remove dead followings | |
2134 | * Federate comment deletion if the comment was deleted by the video owner | |
ee41d06e | 2135 | |
d8319c63 C |
2136 | ### Bug fixes |
2137 | ||
2138 | * Fix transcoding information in features table ([LiPek](https://github.com/LiPeK)) | |
2139 | * Fix tools auth with remote instances | |
2140 | * Fix various issues in upload/import scripts | |
2141 | * Fix redundancy exceeded quota | |
2142 | * Fix login with email ([@NassimBounouas](https://github.com/NassimBounouas)) | |
2143 | * Fix quota display in features table | |
2144 | * Fix transcoding help placement | |
2145 | * Fix invisible videos in playlists | |
2146 | * Fix HLS transcoding in lower resolutions | |
2147 | * Fix various federation issues | |
2148 | * Fix mute badge labels | |
2149 | * Fix broken follow notification when the actor is deleted | |
2150 | * Fix overflow and playlist block width in the watch page | |
2151 | * Fix search results overflow on mobile | |
2152 | * Fix infinite scroll on big screens | |
2153 | * Fix start time on some HLS videos | |
2154 | * Fix socket notification with multiple user tabs | |
2155 | * Fix redundancy if the instance has already the file on disk | |
2156 | * Fix image and plugin CSP | |
2157 | * Fix video rows overflow | |
2158 | * Dismiss modals on pop state | |
2159 | * Go back when cancel NSFW modal | |
2160 | ||
2161 | ||
2162 | ***Since v1.4.0-rc.1*** | |
2163 | ||
2164 | ### Features | |
2165 | ||
2166 | * Add Finnish language support | |
2167 | ||
2168 | ### Bug fixes | |
2169 | ||
2170 | * Fix broken front end on Firefox ESR (60) | |
2171 | * Fix prune storage script when using a same directory for multiple storage keys | |
2172 | * Relax plugin `package.json` validation | |
2173 | * Replace "overview" by "discover" in client titles | |
2174 | * Change configuration: `email.object` becomes `email.subject` | |
2175 | * Fix user creation by moderators | |
2176 | * Fix video playlist element removal | |
2177 | * Fix plugin card background color with dark theme | |
2178 | * Fix lazy static route with unknown avatars (404 instead of 500) | |
2179 | * Fix socket notification with multiple user tabs | |
2180 | * Fix redundancy if the instance has already the file on disk | |
2181 | * Fix image and plugin CSP | |
2182 | * Fix video rows overflow | |
2183 | * Dismiss modals on pop state | |
2184 | * Go back when cancel NSFW modal | |
2185 | ||
2186 | ||
ba8d7ee1 C |
2187 | ## v1.3.1 |
2188 | ||
2189 | ### Bug fixes | |
2190 | ||
2191 | * Fix Mastodon remote interactions | |
2192 | * Fix missing video download button | |
2193 | * Fix error in video upload/update form when scheduling publication | |
2194 | * Fix black theme on some pages | |
2195 | * Fix video import if auto blacklist is enabled | |
ee41d06e | 2196 | |
ba8d7ee1 | 2197 | |
41dad651 C |
2198 | ## v1.3.0 |
2199 | ||
2200 | **Since v1.2.0** | |
2201 | ||
2202 | ### IMPORTANT NOTES | |
2203 | ||
2204 | * **nginx** Remove `text/html` from `gzip_types`: https://github.com/Chocobozzz/PeerTube/commit/7eeb6a0ba4028d0e20847b846332dd0b7747c7f8 [@bnjbvr](https://github.com/bnjbvr) | |
2205 | * Add `streaming_playlists` directory in configuration file. **You should configure it in your production.yaml** | |
ee41d06e C |
2206 | * CSP configuration changed: it's now in a [dedicated section](https://github.com/Chocobozzz/PeerTube/blob/develop/config/production.yaml.example#L110) |
2207 | ||
21289872 | 2208 | ### Maintenance |
41dad651 C |
2209 | |
2210 | * 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 | |
2211 | * Add reminder to restart PeerTube in upgrade script ([@ldidry](https://github.com/ldidry)) | |
2212 | * Add argument to dockerfile to pass options to npm run build ([@NaPs](https://github.com/NaPs)) | |
2213 | * Add `NOCLIENT` env support to only install server dependencies. Example: `NOCLIENT=true yarn install --pure-lockfile` ([@rigelk](https://github.com/rigelk)) | |
2214 | ||
2215 | ### Docker | |
ee41d06e | 2216 | |
35fbb418 C |
2217 | * **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) |
2218 | * **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 |
2219 | and update your [.env](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/.env#L8) to fix IP forwarding issue ([@Nutomic](https://github.com/nutomic)) |
2220 | * Fix SMTP default configuration ([@Nutomic](https://github.com/nutomic)) | |
2221 | ||
2222 | ### Features | |
ee41d06e | 2223 | |
41dad651 C |
2224 | * Add video playlist support |
2225 | * A user has a default `Watch-later` playlist | |
2226 | * A user can create private, unlisted or public playlists | |
2227 | * An element in this playlist can start or stop at specific timestamps (you can create some kind of zapping for example) | |
2228 | * 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. | |
2229 | It's useful to organize your videos, or create a playlist of videos you like and share the link on the web etc | |
2230 | * Add quarantine videos (auto blacklist videos on upload) feature :tada: ([@joshmorel](https://github.com/joshmorel)) | |
2231 | * Add Japanese & Nederlands & Português (Portugal) support | |
2232 | * Add experimental HLS support | |
2233 | * Better playback | |
2234 | * Better bandwidth management (for both client & server) | |
2235 | * 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) | |
2236 | * Requires ffmpeg >= 4 | |
2237 | * Better instance's followers management: | |
2238 | * Add ability to remove an instance's follower | |
2239 | * Add ability to forbid all new instance's followers | |
2240 | * Add ability to manually approve new instance's followers | |
2241 | * Add notification on new instance's follower | |
2242 | * Improve UI: | |
2243 | * Increase player default height | |
2244 | * Reduce big play button border width | |
2245 | * Increase thumbnail sizes | |
2246 | * Add hover effect on video miniature | |
2247 | * Add "my library" section in menu | |
2248 | * Add missing icons in some buttons/dropdown | |
2249 | * 2 rows per overview section | |
2250 | * Increase video thumbnail blur ([@Zig-03](https://github.com/Zig-03)) | |
2251 | * Improve video miniatures list on mobile | |
2252 | * Add animation when opening user notifications | |
2253 | * Add ability for admins to disable the tracker (and so the P2P aspect of PeerTube, in order to improve users privacy for example) | |
2254 | * Add original publication date attribute to videos, and add ability to filter on it (Andrés Maldonado) | |
2255 | * Add video miniature dropdown | |
2256 | * Add ability for admins to declare their instance as dedicated to NSFW content | |
2257 | * Improve SEO (there is still work to be done) | |
2258 | * Login is now case insensitive (if using official web client) | |
2259 | * Add NSFW policy & users signup policy & auto blacklist strategy in features table in about page | |
2260 | * Improve comment deletion warning | |
2261 | * Restore videos list component on history back | |
2262 | * Add ability to consult server logs in admin | |
2263 | * Allow administrators to change/reset a user's password ([@rigelk](https://github.com/rigelk)) | |
2264 | * Add a debug page to help admins to fix IP configuration issues | |
2265 | * Add ability for admins to limit users videos history size | |
2266 | * Add ability for admins to delete old remote videos views (reduce database size) | |
2267 | * Optimize video update page load | |
2268 | * Less refresh jobs | |
2269 | * Cleanup invalid AP rates/comments/shares | |
2270 | * Better videos redundancy config error handling | |
2271 | * Check emails are enabled if the admin requires email verification ([@joshmorel](https://github.com/joshmorel)) | |
2272 | * Add `Add /accounts/:username/ratings endpoint` ([@yohanboniface](https://github.com/yohanboniface)) | |
2273 | * Allow to control API rates limit from configuration ([@yohanboniface](https://github.com/yohanboniface)) | |
2274 | ||
2275 | ### Bug fixes | |
2276 | ||
2277 | * Don't notify prior to scheduled update ([@joshmorel](https://github.com/joshmorel)) | |
2278 | * Fix account description database error | |
2279 | * Fix Pleroma follow | |
2280 | * Fix greek label | |
2281 | * Fix email notification for some users | |
2282 | * Fix translation of "Copy magnet URI" | |
2283 | * Fix negative seconds by displaying 0 instead [@zacharystenger](https://github.com/zacharystenger) | |
2284 | * Fix URL in video import notification | |
2285 | * Don't close help popover when clicking on it | |
2286 | * Fix `tmp` directory cleanup | |
2287 | * Fix custom CSS help | |
2288 | * Fix JSONLD context | |
2289 | * Fix privacy label display in upload form | |
2290 | * Fix my account settings responsiveness | |
2291 | * Fix keyboard icon transparency ([@gbip](https://github.com/gbip)) | |
2292 | * Fix contact admin button overflow | |
2293 | * Wait config to be loaded before loading login/signup | |
2294 | * Privacy is optional in upload API endpoint | |
2295 | * Fix hotkeys help popup overflow | |
2296 | ||
2297 | ***Since v1.3.0-rc.2*** | |
2298 | ||
2299 | ### Bug fixes | |
2300 | ||
2301 | * Fix duplicates in playlist add component | |
2302 | * Fix crash in files cache | |
2303 | * Fix playlist view/update 403 | |
2304 | * Fix search with bad webfinger handles | |
1109826d | 2305 | |
2ed67a7d | 2306 | |
52f659f2 C |
2307 | ## v1.2.1 |
2308 | ||
3cc8f8cc | 2309 | ### Bug fixes |
52f659f2 | 2310 | |
35fbb418 | 2311 | * **Important:** Fix invalid `From` email header in contact form that could lead to the blacklisting of your SMTP server |
52f659f2 C |
2312 | * Fix too long display name overflow in menu |
2313 | * Fix mention notification when a remote account mention a local account that has the same username than yours | |
2314 | * Fix access to muted servers table for moderators | |
2315 | * Don't crash notification popup on bug | |
2316 | * Fix reset password script that leaks password on invalid value | |
2317 | ||
2318 | ||
a3526828 | 2319 | ## v1.2.0 |
b3079978 C |
2320 | |
2321 | ### BREAKING CHANGES | |
2322 | ||
2323 | * **Docker:** `PEERTUBE_TRUST_PROXY` env variable is now an array ([LecygneNoir](https://github.com/LecygneNoir)) | |
a3526828 | 2324 | * **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 | 2325 | * **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 | 2326 | * **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 |
2327 | * Moderators can manage users now (add/delete/update/block) |
2328 | * Add `tmp` and `redundancy` directories in configuration file. **You should configure them in your production.yaml** | |
2329 | ||
2330 | ### Maintenance | |
2331 | ||
2332 | * Check free storage before upgrading in upgrade script ([@Nutomic](https://github.com/nutomic)) | |
4d7d240c | 2333 | * Explain that PeerTube must be stopped in prune storage script |
b3079978 C |
2334 | * Add some security directives in the systemd unit configuration file ([@rigelk](https://github.com/rigelk) & [@mkoppmann](https://github.com/mkoppmann)) |
2335 | * Update FreeBSD startup script ([@gegeweb](https://github.com/gegeweb)) | |
2336 | ||
2337 | ### Docker | |
2338 | ||
2339 | * Patch docker entrypoint to speed up the chown at startup ([LecygneNoir](https://github.com/LecygneNoir)) | |
2340 | ||
2341 | ### Features | |
2342 | ||
4d7d240c | 2343 | * Add Russian, Polish and Italian languages |
b3079978 C |
2344 | * Add user notifications: |
2345 | * Notification types: | |
2346 | * Comment on my video | |
2347 | * New video from my subscriptions | |
2348 | * New video abuses (for moderators) | |
2349 | * Blacklist/Unblacklist on my video | |
2350 | * Video import finished (error or success) | |
2351 | * Pending video published (after transcoding or a scheduled update) | |
2352 | * My account or one of my channel has a new follower | |
2353 | * Someone (except muted accounts) mentioned me in comments | |
2354 | * A user registered on the instance (for moderators) | |
2355 | * Notification actions: | |
2356 | * Add a web notification | |
2357 | * Send an english email | |
2358 | * Add contact form in about page (**enabled by default**) | |
2359 | * Add ability to unfederate a local video in blacklist modal (**checkbox checked by default**) | |
b3079978 C |
2360 | * Support additional video extensions if transcoding is enabled (**enabled by default**) |
2361 | * Redirect to the last url on login | |
2362 | * 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 | 2363 | * Automatically enable the last selected caption when watching a video |
b3079978 | 2364 | * Add ability to disable, clear and list user videos history |
b3079978 | 2365 | * Add a button to help to translate peertube |
4d7d240c | 2366 | * Add text in the report modal to explain to whom the report will be sent |
b3079978 C |
2367 | * Open my account menu entries on hover |
2368 | * Explain what features are enabled on the instance in the about page | |
2369 | * Add an error message in the forgot password modal if the instance email system is not configured | |
2370 | * Add sitemap | |
2371 | * Add well known url to change password ([@rigelk](https://github.com/rigelk)) | |
2372 | * 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)) | |
2373 | * Add CSP ([@rigelk](https://github.com/rigelk) & [@Nutomic](https://github.com/nutomic)) | |
2374 | * Update title and description HTML tags when rendering video HTML page | |
2375 | * Add webfinger support for remote follows ([@acid-chicken](https://github.com/acid-chicken)) | |
2376 | * Add tooltip to explain how the trending algorithm works ([@auberanger](https://github.com/auberanger)) | |
4d7d240c | 2377 | * Warn users when they want to delete a channel because they will not be able to create another channel with the same name |
b3079978 | 2378 | * Warn users when they leave the video upload/update (on page refresh/tab close) |
4d7d240c | 2379 | * Set max user name, user display name, channel name and channel display name lengths to 50 characters ([@McFlat](https://github.com/mcflat)) |
b3079978 C |
2380 | * Increase video abuse length to 3000 characters |
2381 | * Add totalLocalVideoFilesSize in the stats endpoint | |
2382 | ||
3cc8f8cc | 2383 | ### Bug fixes |
b3079978 C |
2384 | |
2385 | * Fix the addition of captions to a video | |
2386 | * Fix federation of some videos | |
2387 | * Fix NSFW blur on search | |
2388 | * Add error message when trying to upload .ass subtitles | |
2389 | * Fix default homepage in the progressive web application | |
2390 | * Don't crash on queue error | |
4d7d240c C |
2391 | * Fix EXDEV errors if you have multiple mount points |
2392 | * Fix broken audio in transcoding with some videos | |
b3079978 C |
2393 | * Fix crash on getVideoFileStream issue |
2394 | * Fix followers search | |
2395 | * Remove trailing `/` in CLI import script ([@HesioZ](https://github.com/HesioZ/)) | |
2396 | * Use origin video url in canonical tag | |
2397 | * Fix captions in HTTP fallback | |
2398 | * Automatically refresh remote actors to fix deleted remote actors that are still displayed on some instances | |
4d7d240c | 2399 | * Add missing translations in video embed page |
b3079978 C |
2400 | * Fix some styling issues in dark mode |
2401 | * Fix transcoding issues with some videos | |
a3526828 C |
2402 | * Fix Mac OS mkv/avi upload |
2403 | * Fix menu overflow on mobile | |
2404 | * Fix ownership button icons ([@joshmorel](https://github.com/joshmorel)) | |
b3079978 C |
2405 | |
2406 | ||
556ec6d0 C |
2407 | ## v1.1.0 |
2408 | ||
ebb675b4 | 2409 | ***Since v1.0.1*** |
556ec6d0 | 2410 | |
8d00889b | 2411 | ### BREAKING CHANGES |
b3079978 | 2412 | |
8d00889b C |
2413 | * **Docker:** `PEERTUBE_TRUST_PROXY` env variable is now an array ([LecygneNoir](https://github.com/LecygneNoir)) |
2414 | ||
556ec6d0 C |
2415 | ### Maintenance |
2416 | ||
46e9407c C |
2417 | * Improve REST API documentation ([@rigelk](https://github.com/rigelk)) |
2418 | * Add basic ActivityPub documentation ([@rigelk](https://github.com/rigelk)) | |
556ec6d0 C |
2419 | * Add CLI option to run PeerTube without client ([@rigelk](https://github.com/rigelk)) |
2420 | * Add manpage to peertube CLI ([@rigelk](https://github.com/rigelk)) | |
2421 | * Make backups of files in optimize-old-videos script ([@Nutomic](https://github.com/nutomic)) | |
2422 | * Allow peertube-import-videos.ts CLI script to run concurrently ([@McFlat](https://github.com/mcflat)) | |
2423 | ||
2424 | ### Scripts | |
2425 | ||
2426 | * Use DB information from config/production.yaml in upgrade script ([@ldidry](https://github.com/ldidry)) | |
2427 | * Add REPL script ([@McFlat](https://github.com/mcflat)) | |
2428 | ||
2429 | ### Docker | |
2430 | ||
2431 | * Add search and import settings env settings env variables ([@kaiyou](https://github.com/kaiyou)) | |
2432 | * Add docker dev image ([@am97](https://github.com/am97)) | |
2433 | * Improve docker compose template ([@Nutomic](https://github.com/nutomic)) | |
2434 | * Add postfix image | |
2435 | * Redirect HTTP -> HTTPS | |
2436 | * Disable Træfik web UI | |
556ec6d0 C |
2437 | |
2438 | ### Features | |
ee41d06e | 2439 | |
556ec6d0 C |
2440 | * Automatically resume videos if the user is logged in |
2441 | * Hide automatically the menu when the window is resized ([@BO41](https://github.com/BO41)) | |
2442 | * Remove confirm modal for JavaScript/CSS injection ([@scanlime](https://github.com/scanlime)) | |
2443 | * Set bitrate limits for transcoding ([@Nutomic](https://github.com/nutomic)) | |
2444 | * Add moderation tools in the account page | |
2445 | * Add bulk actions in users table (Delete/Ban for now) | |
2446 | * Add search filter in admin users table | |
2447 | * Add search filter in admin following | |
2448 | * Add search filter in admin followers | |
2449 | * Add ability to list all local videos | |
2450 | * Add ability for users to mute an account or an instance | |
2451 | * Add ability for administrators to mute an account or an instance | |
2452 | * Rename "News" category to "News & Politics" ([@daker](https://github.com/daker)) | |
2453 | * Add explicit error message when changing video ownership ([@lucas-dclrcq](https://github.com/lucas-dclrcq)) | |
2454 | * Improve description of the HTTP video import feature ([@rigelk](https://github.com/rigelk)) | |
2455 | * Set shorter keyframe interval for transcoding (2 seconds) ([@Nutomic](https://github.com/nutomic)) | |
2456 | * Add ability to disable webtorrent (as a user) ([@rigelk](https://github.com/rigelk)) | |
2457 | * Make abuse-delete clearer ([@barbeque](https://github.com/barbeque)) | |
2458 | * Adding minimum signup age conforming to ceiling GPDR age ([@rigelk](https://github.com/rigelk)) | |
2459 | * Feature/description support fields length 1000 ([@McFlat](https://github.com/mcflat)) | |
2460 | * Add background effect to activated menu entry | |
2461 | * Improve video upload error handling | |
2462 | * Improve message visibility on signup | |
2463 | * Auto login user on signup if email verification is disabled | |
2464 | * Speed up PeerTube startup (in particular the first one) | |
2465 | * Delete invalid or deleted remote videos | |
2466 | * Add ability to admin to set email as verified ([@joshmorel](https://github.com/joshmorel)) | |
2467 | * Add separators in user moderation dropdown | |
2468 | ||
2469 | ### Bug fixes | |
2470 | ||
2471 | * AP mimeType -> mediaType | |
2472 | * PeerTube is not in beta anymore | |
2473 | * PeerTube is not in alpha anymore :p | |
2474 | * Fix optimize old videos script | |
2475 | * Check follow constraints when getting a video | |
8b7bd166 | 2476 | * Fix application-config initialization in CLI tools ([@Yetangitu](https://github.com/Yetangitu)) |
556ec6d0 C |
2477 | * Fix video pixel format compatibility (using yuv420p) ([@rigelk](https://github.com/rigelk)) |
2478 | * Fix video `state` AP context ([tcitworld](https://github.com/tcitworld)) | |
2479 | * Fix Linked Signature compatibility | |
2480 | * Fix AP collections pagination | |
2481 | * Fix too big thumbnails (when using URL import) | |
2482 | * Do not host remote AP objects: use redirection instead | |
2483 | * Fix video miniature with a long name | |
2484 | * Fix video views inconsistencies inside the federation | |
2485 | * Fix video embed in Wordpress Gutenberg | |
2486 | * Fix video channel videos url when scrolling | |
2487 | * Fix player progress bar/seeking when changing resolution | |
2488 | * Fix search tab title with no search | |
2489 | * Fix YouTube video import with some videos | |
2490 | ||
ebb675b4 | 2491 | ***Since v1.1.0-rc.1*** |
556ec6d0 C |
2492 | |
2493 | ### Bug fixes | |
2494 | ||
2495 | * Fix AP infinite redirection | |
2496 | * Fix trending page | |
2497 | ||
2498 | ||
1c4e716e C |
2499 | ## v1.0.1 |
2500 | ||
3aa5001e | 2501 | ### Security/Maintenance/Federation |
ee41d06e | 2502 | |
1c4e716e C |
2503 | * Add HTTP Signature in addition to Linked Signature: |
2504 | * It's faster | |
2505 | * Will allow us to use RSA Signature 2018 in the future without too much incompatibilities in the peertube federation | |
1109826d | 2506 | |
26370ce4 | 2507 | |
a21b1e00 C |
2508 | ## v1.0.0 |
2509 | ||
98d9ada2 C |
2510 | ### SECURITY |
2511 | ||
2512 | * Add more headers to HTTP signature to avoid actor impersonation by replaying modified signed HTTP requests (thanks Thibaut Girka) | |
a21b1e00 C |
2513 | |
2514 | ### Bug fixes | |
2515 | ||
2516 | * Check video exists before extending expiration | |
2517 | * Correctly delete redundancy files | |
2518 | * Fix account URI in remote comment modal ([@rigelk](https://github.com/rigelk)) | |
2519 | * Fix avatar update | |
2520 | * Avoid old issue regarding duplicated hosts in database | |
2521 | ||
2522 | ||
bbc45810 C |
2523 | ## v1.0.0-rc.2 |
2524 | ||
2525 | ### Bug fixes | |
2526 | ||
2527 | * Fix config endpoint | |
2528 | ||
2529 | ||
e4b9deac C |
2530 | ## v1.0.0-rc.1 |
2531 | ||
2532 | ### Features | |
2533 | ||
2534 | * Allow specification of channel ID in `peertube-upload.js` ([@anoadragon453](https://github.com/anoadragon453)) | |
2535 | * Show last commit hash alongside server version in footer ([@rigelk](https://github.com/rigelk)) | |
2536 | * Add comment feeds in watch page | |
2537 | ||
2538 | ### Bug fixes | |
2539 | ||
2540 | * Fix dnt route (yes again, but now we have unit tests for this route :D) | |
2541 | * Check video channel name is unique when creating a new one | |
2542 | * Fix video fps validator (prevent redundancy/refresh of some old videos) | |
2543 | * Allow empty search on client side ([@rigelk](https://github.com/rigelk)) | |
2544 | * Correctly forward comment deletion | |
2545 | ||
2546 | ||
ba2a95d6 C |
2547 | ## v1.0.0-beta.16 |
2548 | ||
2549 | ### BREAKING CHANGES | |
2550 | ||
2551 | * Add prompt to upgrade.sh to install pre-release version ([@Nutomic](https://github.com/nutomic)) | |
2552 | ||
2553 | ### Features | |
2554 | ||
2555 | * Add shortcuts icon in menu | |
2556 | * Improve overview section titles | |
2557 | * Check old password before change ([@BO41](https://github.com/BO41)) | |
2a27c451 | 2558 | * Adding frame-by-frame hotkey support in player ([@rigelk](https://github.com/rigelk)) |
ba2a95d6 C |
2559 | |
2560 | ### Bug fixes | |
2561 | ||
2a27c451 C |
2562 | * Stop seeding torrents after a failed import |
2563 | * Fix player crashing the web browser | |
2564 | * Fix player performance with small devices | |
2565 | * Fix some untranslated strings | |
ba2a95d6 C |
2566 | * Fix video files duplicated when fps is null ([@rigelk](https://github.com/rigelk)) |
2567 | * Fix video import of some youtube videos | |
2568 | * Fix (long) video description when importing by url | |
2569 | * Fix Mastodon federation with a comment reply | |
2570 | * Correctly delete directories on import | |
2571 | * Remove duplicated videos on unfollow/delete redundancy | |
2572 | * Fix 404 on manifest | |
2573 | * Hide useless error when destroying fake renderer | |
2574 | * Display other videos on big screens on the right of the watch page | |
2575 | * Fix no other videos displayed on some videos | |
2a27c451 C |
2576 | * Fix hidden advanced options in upload form |
2577 | * Fix message space on video upload cancel ([@rigelk](https://github.com/rigelk)) | |
2578 | * Fix error when updating many video captions | |
2579 | * Fix "my account" subtitles | |
2580 | * Fix error when clicking on the disabled publish button | |
2581 | * Increase timeout on upload endpoint | |
2582 | * Fix redundancy with videos already duplicated by another instance(s) | |
2583 | * Correctly delete files on failed import | |
ee41d06e | 2584 | |
ba2a95d6 | 2585 | |
3d446046 C |
2586 | ## v1.0.0-beta.15 |
2587 | ||
2588 | ### Features | |
2589 | ||
2590 | * Improve subscription button ([@rigelk](https://github.com/rigelk)) | |
2591 | * Display it for unlogged users | |
2592 | * Add RSS feed | |
2593 | * Allow remote follow | |
2594 | * Allow remote comment ([@rigelk](https://github.com/rigelk)) | |
2595 | * Support Simplified Chinese ([@SerCom-KC](https://github.com/SerCom-KC)) | |
2596 | ||
2597 | ### Bug fixes | |
2598 | ||
2599 | * Fix redundancy with old PeerTube torrents | |
2600 | * Fix crash with `/static/dnt-policy/dnt-policy-1.0.txt` route | |
2601 | * Fix redundancy totalVideos stats | |
2602 | * Reduce video import TTL to 1 hour | |
2603 | * Only duplicate public videos | |
ee41d06e | 2604 | |
3d446046 | 2605 | |
00dd6642 C |
2606 | ## v1.0.0-beta.14 |
2607 | ||
2608 | ### Features | |
2609 | ||
46e9407c | 2610 | * Video redundancy system (experimental) |
00dd6642 C |
2611 | * Add peertube script (see [the doc](/support/doc/tools.md#cli-wrapper)) ([@rigelk](https://github.com/rigelk)) |
2612 | * Improve download modal ([@rigelk](https://github.com/rigelk)) | |
2613 | * Add redirect after login ([@BO41](https://github.com/BO41)) | |
2614 | * Improve message when removing a user | |
2615 | * Improve responsive on small screens | |
2616 | * Improve performance: | |
16c73bb4 C |
2617 | * Overview endpoint |
2618 | * SQL requests of watch page endpoints | |
2619 | * SQL requests of ActivityPub endpoints | |
2620 | * Cache user token | |
2621 | * Videos infinite scroll in the web browser | |
00dd6642 C |
2622 | * Add warning if one of the storage directory is in the peertube production directory |
2623 | * Auto focus first field on login ([@rigelk](https://github.com/rigelk)) | |
2624 | * Add chevron hotkeys to change playback rate ([@rigelk](https://github.com/rigelk)) | |
2625 | ||
2626 | ### Bug fixes | |
ee41d06e | 2627 | |
00dd6642 C |
2628 | * Fix 24 hours delay to process views |
2629 | * Fix tag search on overview page | |
2630 | * Handle actors search beginning with '@' | |
2631 | * Fix "no results" on overview page | |
2632 | * Fix iOS player playback/subtitles menu | |
2633 | * Fix description/comments that break the video watch page | |
2634 | * Don't get recommended videos twice | |
2635 | * Fix admin access to moderators | |
2636 | * Fix nav tab and tag color in dark theme ([@rigelk](https://github.com/rigelk)) | |
2637 | * Fix help popover overflow ([@rigelk](https://github.com/rigelk)) | |
2638 | * Fix comment deletion with mastodon (only with new comments) | |
2639 | ||
2640 | ||
64eb8064 C |
2641 | ## v1.0.0-beta.13 |
2642 | ||
2643 | ### Features | |
2644 | ||
2645 | * Improve keyboard navigation ([@rigelk](https://github.com/rigelk)) | |
2646 | * Remember theme in local storage ([@rigelk](https://github.com/rigelk)) | |
ee41d06e | 2647 | |
64eb8064 C |
2648 | ### Bug fixes |
2649 | ||
2650 | * Fix upgrade/installation on node 8.12 (bcrypt issue) | |
2651 | * Fix video channel deletion | |
2652 | * Fix video channel RSS | |
2653 | * Fix video views increment | |
ee41d06e | 2654 | |
64eb8064 | 2655 | |
65cb4bb4 C |
2656 | ## v1.0.0-beta.12 |
2657 | ||
2658 | **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** | |
2659 | ||
2660 | ### BREAKING CHANGES | |
2661 | ||
ee41d06e | 2662 | * Users can now use the name they want for their channel. |
65cb4bb4 C |
2663 | We will therefore favour the display of video channel handles/names instead of account in the future. |
2664 | ||
2665 | ### Documentation | |
2666 | ||
2667 | * Add SECURITY.md document | |
2668 | * Add TCP/IP tuning template to prevent buffer bloat/latency ([@scanlime](https://github.com/scanlime)) | |
2669 | * Add `parse-log` admin tool documentation | |
2670 | * Improve README schemas ([@Edznux](https://github.com/edznux)) | |
2671 | ||
2672 | ### nginx template | |
2673 | ||
2674 | * Add gzip support ([@scanlime](https://github.com/scanlime)) | |
ee41d06e | 2675 | |
65cb4bb4 | 2676 | ### Docker template |
ee41d06e | 2677 | |
65cb4bb4 C |
2678 | * Add quota to the docker configuration values ([@kaiyou](https://github.com/kaiyou)) |
2679 | ||
2680 | ### Features | |
2681 | ||
2682 | * Add portuguese and swedish languages | |
2683 | * Support user subscriptions | |
2684 | * Add ability to search videos or channels with their URL/handle (can be opt-out by the admin) | |
2685 | * Add "videos overview" page (pick randomly some categories/tags/channels and display their videos) | |
2686 | * Add ability to set a name (left part of the handle) to a channel instead of UUID | |
2687 | * Users can "give" their videos to other local users (WIP, feedback welcome) ([@grizio](https://github.com/grizio)) | |
2688 | * Add keyboard shortcuts (press `?` to see them) ([@rigelk](https://github.com/rigelk)) | |
2689 | * Add ability to set daily video upload quota to users ([@Nutomic](https://github.com/nutomic)) | |
2690 | * Add user email verification (can be opt-in by the admin) ([@joshmorel](https://github.com/joshmorel)) | |
2691 | * Improve video watch page style ([@rigelk](https://github.com/rigelk)) | |
2692 | * Trending page takes into account views from the last x days (defined by the admin in the configuration file) | |
2693 | * Add "start at" checkbox in the video share modal | |
2694 | * Add instance capabilities table in the signup page ([@rigelk](https://github.com/rigelk)) | |
2695 | * Improve video abuses display in admin ([@Nutomic](https://github.com/nutomic)) | |
2696 | * Add "my videos" shortcut in menu ([@LeoMouyna](https://github.com/LeoMouyna)) | |
2697 | * Support 0.75 and 1.25 playback speeds ([@Glandos](https://github.com/Glandos)) | |
2698 | * Improve error message on actor name conflict | |
2699 | * Improve videos list/search SQL query (split it into 2 queries) | |
2700 | * Make left menu show the scrollbar only on hover/focus ([@rigelk](https://github.com/rigelk)) | |
2701 | * Other videos column in watch page show related tagged videos if possible ([@jorropo](https://github.com/jorropo)) | |
2702 | * Password change errors more friendly ([@jorropo](https://github.com/jorropo)) | |
2703 | * Improve labels for video privacies (video upload/update) | |
2704 | * Add theming via CSS custom properties ([@rigelk](https://github.com/rigelk)) | |
2705 | * Add dark theme ([@rigelk](https://github.com/rigelk)) | |
2706 | * Add input color to cope with browser themes ([@rigelk](https://github.com/rigelk)) | |
2707 | ||
2708 | ### Bug fixes | |
2709 | ||
2710 | * Fix player video playback (videos never ends or infinite load after seeking) | |
2711 | * Fix video URL import with videos having a small title | |
2712 | * Make HSTS opt-in and leave it to the reverse-proxy ([@rigelk](https://github.com/rigelk)) | |
2713 | * Fix search results on mobile | |
2714 | * Do not import live streaming | |
2715 | * Fix NSFW filter when the instance decides to hide them and the user decides to list them | |
2716 | * Delete highlighted comment too if needed | |
2717 | * Fix ffmpeg auto thread admin configuration ([@jorropo](https://github.com/jorropo)) | |
2718 | * ActivityPub: use height instead of width to represent the video resolution | |
2719 | * Fix thumbnail/preview in upload.js script | |
2720 | * Fix import-videos.js duplicate detection | |
2721 | * Fix occitan language label | |
ee41d06e | 2722 | |
65cb4bb4 | 2723 | |
a4829f0f C |
2724 | ## v1.0.0-beta.11 |
2725 | ||
2726 | **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** | |
2727 | ||
2728 | ### Features | |
2729 | ||
3256a4a6 | 2730 | * Add ability to import videos from a URL (YouTube, Dailymotion, Vimeo, raw file etc) or torrent file/magnet. |
a4829f0f C |
2731 | Should be explicitly enabled by the administrator in the configuration file |
2732 | * Add german, spanish, taiwan (traditional chinese) and occitan languages | |
2733 | * Add ability to delete our account | |
2734 | * Add ability to ban a user | |
2735 | * Add ability to set a moderation comment to an abuse | |
2736 | * Add state (pending, accepted, rejected) attribute to an abuse | |
2737 | * Add ability to set a reason when blacklisting a video | |
2738 | * Add ability to blacklist local videos | |
2739 | * Improve abuse and blacklist tables | |
2740 | * Add user quota used in users list | |
2741 | * Tracker only accept known infohash (avoid people to use your tracker for files unrelated to PeerTube) | |
2742 | * Add database pool configuration ([@rigelk](https://github.com/rigelk)) | |
2743 | * Add audit log ([@Nautigsam](https://github.com/Nautigsam)) | |
3256a4a6 | 2744 | * Add ffmpeg nice and auto thread ([@jorropo](https://github.com/jorropo)) |
a4829f0f C |
2745 | * Upgrade to bootstrap 4 |
2746 | * DNT support | |
2747 | ||
2748 | ### Bug fixes | |
3256a4a6 | 2749 | |
a4829f0f C |
2750 | * Fix videos FPS federation |
2751 | * Cleanup request files on bad request | |
2752 | * Handle truncated markdown links | |
2753 | * Fix dropdown position in menu | |
2754 | * Translate subtitle languages in player | |
2755 | * Translate player according the language of the interface | |
2756 | * Fix reset my password button ([@joshmorel](https://github.com/joshmorel)) | |
2757 | ||
2758 | ||
d3736b8d C |
2759 | ## v1.0.0-beta.10 |
2760 | ||
2761 | **See the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade** | |
2762 | ||
2763 | ### Bug fixes (from beta.10.pre.3) | |
2764 | ||
2765 | * Fix caption upload on Mac OS | |
2766 | ||
2767 | ||
cc6373e6 C |
2768 | ## v1.0.0-beta.10.pre.3 |
2769 | ||
2770 | **See the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade** | |
2771 | ||
2772 | ### Bug fixes (from beta.10.pre.2) | |
2773 | ||
2774 | * Try to fix the infinite creation of Delete actor jobs by deleting kue migration | |
2775 | * Cleanup SQL indexes | |
2776 | * Try to optimize SQL search query | |
2777 | * Try to optimize videos list SQL query | |
2778 | * Add more logs and fix logger when having an error | |
2779 | * Move subscription helper in the account line in video watch page | |
2780 | * Fix responsive on videos search | |
2781 | * Refresh orphan actors | |
3256a4a6 | 2782 | * Don't send a follow request if the follow was already accepted |
cc6373e6 C |
2783 | |
2784 | ||
2da00d2a C |
2785 | ## v1.0.0-beta.10.pre.2 |
2786 | ||
2787 | **See the v1.0.0-beta.10.pre.1 changelog, in particular how to upgrade** | |
2788 | ||
cc6373e6 | 2789 | ### Bug fixes (from beta.10.pre.1) |
2da00d2a C |
2790 | |
2791 | * Fix captions/subtitles freeze in player | |
2792 | * Fix attribute label width in video watch page | |
2793 | * Fix player playback in Chrome | |
2794 | * Revert SQL optimization when listing videos: it breaks the connection pool of some instances | |
2795 | ||
2796 | ||
039fd8bc C |
2797 | ## v1.0.0-beta.10.pre.1 |
2798 | ||
2799 | This version is a pre release because it contains many important changes, and requires manual steps before upgrading. | |
2800 | ||
6af6cf83 | 2801 | **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 |
2802 | |
2803 | ``` | |
2804 | $ sudo -u postgres psql peertube_prod -c 'CREATE EXTENSION IF NOT EXISTS unaccent;' | |
2805 | $ sudo -u postgres psql peertube_prod -c 'CREATE EXTENSION IF NOT EXISTS pg_trgm;' | |
2806 | ``` | |
0933bb4a C |
2807 | |
2808 | You will need [PostgreSQL Contrib](https://www.postgresql.org/docs/9.6/static/contrib.html). | |
3256a4a6 | 2809 | |
039fd8bc C |
2810 | ### BREAKING CHANGES |
2811 | ||
2812 | * Require `unaccent` and `pg_trgm` PostgreSQL extension for the PeerTube database | |
2813 | * `category` filter param is replaced by `categoryOneOf` | |
0933bb4a C |
2814 | * Switch job queue to [Bull](https://github.com/OptimalBits/bull). **PeerTube will not migrate your old pending jobs in this new queue manager** |
2815 | * Update nginx template (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx)) | |
039fd8bc | 2816 | * Update default cache size configurations |
6104adc3 | 2817 | * Update search API route: `/videos/search` becomes `/search/videos` |
47c951b7 | 2818 | * Needs Redis >= 2.8.18 |
3256a4a6 | 2819 | |
039fd8bc C |
2820 | ### Features |
2821 | ||
2822 | * Add ability to change the language of the interface (currently available: english, french, basque, catalan, czech and esperanto) | |
2823 | * Subtitles/captions support (.srt and .vtt) | |
2824 | * Add advanced search | |
2825 | * Add ability to click on category/language/licence/tags in watch page | |
2826 | * Improve explanations of P2P & Privacy section in about page | |
2827 | * Avoid design latency when the admin set custom CSS | |
2828 | * Add ability to update video channel avatar | |
2829 | * Limit video resolution depending on the video element size (Nitesh Sawant) | |
2830 | * Show "Other videos" on a <1300px viewport ([@Simounet](https://github.com/simounet)) | |
2831 | * Add QR code to share videos URL ([@DeeJayBro](https://github.com/DeeJayBro)) | |
2832 | * Add "agree to the terms" checkbox in registration form | |
2833 | * Add tracker rate limiter | |
2834 | * Add author URL in OEmbed response | |
2835 | * Display username instead of email in menu | |
2836 | * Clarifying what extensions are accepted for upload ([@rigelk](https://github.com/rigelk)) | |
2837 | * Thumbnail support for RSS feeds ([@rigelk](https://github.com/rigelk)) | |
2838 | * Open CORS on API and static resources ([@rezonant](https://github.com/rezonant) | |
2839 | * 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 | |
2840 | * Support Redis socket ([@rigelk](https://github.com/rigelk)) | |
2841 | * Improve video `start` param to support string times (for example: 2m42s)) | |
2842 | * Display table next/prev/first/last icons in admin tables | |
2843 | * NodeInfo support ([@rigelk](https://github.com/rigelk)) | |
2844 | * Improve HTTP headers security ([@rigelk](https://github.com/rigelk)) | |
2845 | * Improve client accessibility (for screen reader users etc) | |
2846 | * Optimize SQL requests (in particular the one to list videos) | |
2847 | * Optimize images ([@jorropo](https://github.com/jorropo)) | |
2848 | * Add esperanto, lojban, klingon and kotava (audio/subtitle) languages | |
2849 | * Allow uploads of videos <8GB (*experimental*) | |
2850 | * Handle FPS > 30 (*experimental*) | |
2851 | ||
2852 | ### Bug fixes | |
2853 | ||
2854 | * Fix avatars/thumbnails update (cache issue) | |
2855 | * Fix pagination on admin job table when changing the job state | |
2856 | * Fix SQL transaction retryer log | |
2857 | * Correctly handle error when remote instance is down | |
2858 | * Fix account videos URL when scrolling | |
2859 | * Avoid commenting twice by disabling comment submit button when sending the comment | |
2860 | * Reset confirm component input when closing it | |
2861 | * Fix video speed when video resolutions changes ([@grizio](https://github.com/grizio)) | |
2862 | * Disable hotkeys modifiers for numbers ([@rigelk](https://github.com/rigelk)) | |
2863 | * Reset published date on video publish (scheduled or after a transcoding) | |
2864 | * Avoid 404 title on the first page load | |
2865 | * Fix forgot password message regarding email | |
2866 | * Remove scroll to top when closing the menu ([@ebrehault](https://github.com/ebrehault)) | |
2867 | * Use UUID for channel link in watch page | |
2868 | ||
2869 | ### Docker | |
2870 | ||
2871 | * Add PEERTUBE_SMTP_DISABLE_STARTTLS config env | |
3256a4a6 | 2872 | |
039fd8bc | 2873 | |
7ba442d4 C |
2874 | ## v1.0.0-beta.9 |
2875 | ||
2876 | ### Features | |
2877 | ||
2878 | * Theater/Cinema mode in player | |
2879 | * Add ability to wait transcoding before publishing it | |
2880 | * Add ability for uploaders to schedule video update | |
2881 | * Add time display to see where we seek the video | |
2882 | * Add title in player peers info to show total downloaded/uploaded data | |
2883 | * Provide magnet URI in player and download modal ([@rigelk](https://github.com/rigelk)) | |
11fa7d39 | 2884 | * Add warning if the domain name is different from the one of the first start of Peertube |
7ba442d4 C |
2885 | * Add resolution to create-transcoding-job script ([@fflorent](https://github.com/fflorent)) |
2886 | ||
2887 | ### Bug fixes | |
2888 | ||
2889 | * Fix dislikes number in video watch page | |
2890 | * Fix import when the imported file has the same extension than an already existing file | |
2891 | * Fix bad RSS descriptions when filtering videos by account or channel | |
2892 | * Fix RSS results limit | |
2893 | * Fix glitch when updating player volume | |
2894 | * Use local object URLs for feeds | |
2895 | * Automatically jump to the highlighted thread | |
2896 | * Fix account link width on video view ([@sesn](https://github.com/sesn)) | |
2897 | * Prevent commenting twice | |
2898 | * Blue links color in comments | |
2899 | * Fix quota precision in users list | |
2900 | * Handle markdown in account/video channel pages | |
2901 | * Fix avatar image in channel page | |
2902 | * Fix slow HTTP fallback on Firefox | |
2903 | * Do not create a user with the same username than another actor name | |
2904 | * Reset search on page change | |
2905 | * Fix images size limit | |
2906 | * Log torrent errors/warnings in the console, instead of disturbing users | |
2907 | ||
2908 | ||
f3c65a51 C |
2909 | ## v1.0.0-beta.8 |
2910 | ||
2911 | ### Features | |
2912 | ||
2913 | * Docker: | |
2914 | * Add disable_starttls and transcoding configuration variables | |
2915 | * `.env` file to define env variables (instead of defining them in `docker-compose.yml`) | |
2916 | * Some improvements that should make the upgrades less painful | |
2917 | * Add ability to manually run transcoding jobs (admin with CLI) | |
2918 | * Add ability to import a video file (admin with CLI) | |
2919 | * Add context menu to the player | |
2920 | * Add number of videos published by an account/video channel | |
2921 | * Improve player progress bar | |
2922 | * Improve Twitter configuration help tooltips | |
2923 | * Pick average video file instead of max quality in "Auto" resolution mode | |
2924 | * Increase access token lifetime to 1 day | |
2925 | * Add video comments RSS | |
2926 | ||
2927 | ### Bug fixes | |
2928 | ||
2929 | * Clicking on "Download" correctly opens a popup to download the video | |
2930 | (instead of opening the video in a new tab) | |
2931 | * Fix frequent logout | |
2932 | * Fix `publishedAt` video attribute when following a new instance | |
2933 | * Correctly resumes the video on "PeerTube" link click in embed | |
2934 | * Fix markdown links truncation | |
2935 | * Fix account/channel pages not updated if we only change the account/channel | |
2936 | * Fix player resolution change that plays even if the video was paused | |
2937 | * Fix posting view in embed that contains search params | |
2938 | * Fix video watch tooltips regarding subscriptions by using the account name | |
2939 | instead of the display name | |
2940 | * Rename "my settings" to "my account" in menu | |
2941 | ||
2942 | ||
77a87fec C |
2943 | ## v1.0.0-beta.7 |
2944 | ||
2945 | ### BREAKING CHANGES | |
2946 | ||
2947 | * Account client URLs are now `/accounts/{username}/` (and not `/accounts/{id}/`) | |
2948 | ||
2949 | ### Documentation | |
2950 | ||
2951 | * Better documentation on how to deploy with Docker: https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/docker.md | |
2952 | ||
2953 | ### Features | |
2954 | ||
2955 | * Add short description in about page | |
2956 | * Add owner account name in video channel page | |
2957 | * Improve performance in ActivityPub controllers | |
2958 | * Video **support** field inherits video channel **support** field when uploading/updating a video | |
2959 | * Resume video when clicking on "PeerTube" link in embed | |
2960 | ||
2961 | ### Bug fixes | |
2962 | ||
2963 | * Fix player on Android | |
2964 | * Fix player when Firefox has cookies disabled | |
2965 | * Reload "my videos" after a delete | |
2966 | * Fix missing key configuration when upgrading with Docker | |
2967 | * Fix CC audience in Activity Pub objects/activities | |
2968 | ||
2969 | ||
265fb1bc C |
2970 | ## v1.0.0-beta.6 |
2971 | ||
2972 | ### Features | |
2973 | ||
2974 | * Handle concurrent requests in cache middleware | |
2975 | * Add ability to enable registration by IP | |
2976 | ||
2977 | ### Bug fixes | |
2978 | ||
2979 | * Fix insane SQL request when loading all video attributes | |
2980 | ||
2981 | ||
67477ee4 C |
2982 | ## v1.0.0-beta.5 |
2983 | ||
2984 | ### BREAKING CHANGES | |
2985 | ||
2986 | * Update Docker Compose (https://github.com/Chocobozzz/PeerTube/commit/fd5e57bbe2accbdb16b6aa65337c5ef44b5bd8fb) | |
2987 | * Rename client routes: | |
2988 | * `/admin/users/add` to `/admin/users/create` | |
2989 | * `/videos/edit/:uuid` to `/videos/update/:uuid` | |
2990 | * `/admin/users/:id/update` to `/admin/users/update/:id` | |
2991 | ||
2992 | ||
2993 | ### Features | |
2994 | ||
2995 | * Adding basic helpers to guide users for comments/subscribe to accounts | |
2996 | * Add ability to move a video in another channel | |
2997 | * Improve web browser RAM consumption when watching (long) videos | |
2998 | * Support robots.txt in configuration | |
2999 | * Add ability to select the Redis database in configuration | |
3000 | ||
3001 | ||
3002 | ### Bug fixes | |
3003 | ||
3004 | * Fix error message on token expiration | |
3005 | * Increase menu icon size | |
3006 | * Add timeout and TTL to request jobs to fix stuck job | |
3007 | * Fix responsive account about page | |
3008 | * Fix updating description account | |
3009 | * Account/video channel descriptions are not required anymore | |
3010 | * Fix video channel description and support max length (500 characters now) | |
3011 | * Fix "..." for buttons (delete/edit) in admin tables | |
3012 | * Fix overflow in markdown textarea preview | |
3013 | * Add ability to embed videos in a Twitter card | |
3014 | * Use `publishedAt` attribute when sorting videos | |
3015 | * Fix concurrent requests in videos list | |
3016 | * Fix player on iOS | |
3017 | ||
3018 | ||
9309c3df C |
3019 | ## v1.0.0-beta.4 |
3020 | ||
3021 | ### BREAKING CHANGES | |
3022 | ||
3023 | * Hide by default NSFW videos. Update the `instance.default_nsfw_policy` configuration to `blur` to keep the old behaviour | |
48dce1c9 | 3024 | * Move video channels routes: |
cc918ac3 | 3025 | * `/videos/channels` routes to `/video-channels` |
48dce1c9 | 3026 | * `/videos/accounts/{accountId}/channels` route to `/accounts/{accountId}/video-channels` |
82e392f8 | 3027 | * PeerTube now listen on 127.0.0.1 by default |
9309c3df | 3028 | * Use ISO 639 for language (*en*, *es*, *fr*...) |
3186046d C |
3029 | * Tools (`import-videos`...) need the language ISO639 code instead of a number |
3030 | * API (`upload`, `update`, `list`...) need/return the language ISO639 code instead of a number | |
9309c3df C |
3031 | |
3032 | ### Features | |
3033 | ||
3034 | * Add `publishedAt` attribute to videos | |
3035 | * Improve player: | |
3186046d C |
3036 | * Smooth progress bar |
3037 | * Settings menu | |
3038 | * Automatic resolution (depending on the user bandwidth) | |
3039 | * Some animations/effects | |
3040 | * More reactive when clicking on play | |
3041 | * Handle autoplay blocking by some web browsers | |
3042 | * Better responsive | |
3043 | * Add ability to link a specific timestamp. Example: https://peertube2.cpy.re/videos/watch/f78a97f8-a142-4ce1-a5bd-154bf9386504?start=58 | |
9309c3df C |
3044 | * Add an id to the body to override current CSS (for custom CSS) |
3045 | * Add privacy argument to `upload.ts` script | |
3046 | * RSS/Atom/JSON-feed for videos recently-added/trending/account | |
3047 | * Support hostname binding in the configuration | |
3048 | * Add ability to click on an account in the video watch page (link to a search) | |
3049 | * Better responsive on many comment replies | |
3050 | * Move follows in the job queue | |
3051 | * Add ability to choose the NSFW videos policy: hide, blur or display. Could be overrode by the user | |
3052 | * Add video privacy information in *my videos page* | |
3053 | * Use the video name for the torrent file name instead of the UUID | |
3054 | * Handle errors in embed (video not found, server error...) | |
2297b239 C |
3055 | * Account view (videos uploaded by this account + video channel owned by this account + about pages) |
3056 | * Video channel view (videos uploaded in this channel + about pages) | |
f6dcad4f | 3057 | * Video channel management (avatar update is still missing) |
9309c3df C |
3058 | |
3059 | ### Bug fixes | |
3060 | ||
3061 | * Fix "show more" description on video change | |
3062 | * Accept unlisted comments | |
3063 | * Don't start application until all components were initialized | |
3064 | * Fix word-break in video description and video comments | |
3065 | * Don't add a `.` after the URL in the "forgot password" email | |
3066 | ||
3067 | ||
3068 | ||
8e03c5f4 | 3069 | ## v1.0.0-beta.3 |
d8c2e379 C |
3070 | |
3071 | ### Features | |
3072 | ||
3073 | * Add hover background color in menu | |
3074 | * Add info about the initial user quota in the registration form | |
3075 | * Add link to register in the login form | |
3076 | * Prevent brute force login attack | |
3077 | ||
3078 | ### Bug fixes | |
3079 | ||
3080 | * Fix bad federation with videos with special utf characters in description (again) | |
3081 | * Fix views system behind a reverse proxy | |
3082 | ||
3083 | ||
05b49c1d C |
3084 | ## v1.0.0-beta.2 |
3085 | ||
3086 | ### Features | |
3087 | ||
3088 | * More logging in SMTP module | |
3089 | * Add option to disable starttls in SMTP module | |
3090 | * Update STUN servers (using framasoft.org and stunprotocol.org now) | |
3091 | * Min comment length is 1 now (useful for emoji...) | |
3092 | * Better embed video player in small screens | |
3093 | * Reduce display time of title/description/control bar in embed on inactivity | |
3094 | * Add sign languages for videos attribute | |
3095 | * Add autoplay parameter for embed | |
3096 | * Videos search on account username and host too | |
3097 | * Redirect to homepage on empty search | |
3098 | ||
3099 | ### Bug fixes | |
3100 | ||
3101 | * Fix mentions in comment replies | |
3102 | * Logo/Title redirects to the default route | |
3103 | * Fix bad federation with videos with special utf characters in description | |
3104 | * Fix pagination on mobile | |
3105 | * Use instance name for page titles | |
3106 | * Fix bad id for Create activities (ActivityPub) | |
3107 | * Handle inner actors instead of just handling actor ids (ActivityPub) | |
3108 | * Fallback to torrent file if infohash is incorrect | |
3109 | * Fix admin config errors display/validation | |
3110 | * Add public to Announces (ActivityPub) | |
3111 | * Fix inability to run client when cookies are disabled | |
3112 | * Fix words breaking in videos description | |
3113 | * Graceful exit when import videos script fails | |
3114 | * Fix import videos with long names | |
3115 | * Fix login with a password containing special characters | |
3116 | * Fix player error flickering with an unsupported video format | |
3117 | * Fix comment delete federation | |
3118 | * Fix communication of a PeerTube instance and Mastodon | |
3119 | * Fix custom configuration with number values | |
3120 | ||
d8c2e379 | 3121 | |
164e6c87 C |
3122 | ## v1.0.0-beta.1 |
3123 | ||
3256a4a6 | 3124 | Nothing new here, but PeerTube is stable enough for being in beta now. |
164e6c87 C |
3125 | |
3126 | ||
09700934 C |
3127 | ## v1.0.0-alpha.9 |
3128 | ||
3129 | ### BREAKING CHANGES | |
3130 | ||
a7977280 | 3131 | * Update videos list/search/get API response: |
09700934 C |
3132 | * Removed `resolution` field |
3133 | * Removed `resolutionLabel` field | |
3134 | * Removed `category` field | |
3135 | * Removed `categoryLabel` field | |
3136 | * Removed `licence` field | |
3137 | * Removed `licenceLabel` field | |
3138 | * Removed `language` field | |
3139 | * Removed `languageLabel` field | |
3140 | * Removed `privacy` field | |
3141 | * Removed `privacyLabel` field | |
3142 | * Added `resolution.id` field | |
3143 | * Added `resolution.label` field | |
3144 | * Added `category.id` field | |
3145 | * Added `category.label` field | |
3146 | * Added `licence.id` field | |
3147 | * Added `licence.label` field | |
3148 | * Added `language.id` field | |
3149 | * Added `language.label` field | |
3150 | * Added `privacy.id` field | |
3151 | * Added `privacy.label` field | |
3152 | ||
a7977280 C |
3153 | ### Bug fixes |
3154 | ||
3155 | * Fix video_share_url duplicate key on failed transcoding job | |
3156 | ||
09700934 | 3157 | |
cd139178 C |
3158 | ## v1.0.0-alpha.8 |
3159 | ||
3160 | ### Features | |
3161 | ||
3256a4a6 | 3162 | * Add ability to set a short instance description |
cd139178 C |
3163 | |
3164 | ||
19a3b914 C |
3165 | ## v1.0.0-alpha.7 |
3166 | ||
3167 | ### BREAKING CHANGES | |
3168 | ||
3169 | * Update videos list/search API response: | |
3170 | * Removed `accountName` field | |
3171 | * Removed `serverHost` field | |
3172 | * Added `account.name` field | |
3173 | * Added `account.displayName` field | |
3174 | * Added `account.host` field | |
3175 | * Added `account.url` field | |
3176 | * Added `account.avatar` field | |
3177 | * Update video abuses API response: | |
3178 | * Removed `reporterUsername` field | |
3179 | * Removed `reporterServerHost` field | |
3180 | * Removed `videoId` field | |
3181 | * Removed `videoUUID` field | |
3182 | * Removed `videoName` field | |
3183 | * Added `reporterAccount` field | |
3184 | * Added `video.id` field | |
3185 | * Added `video.name` field | |
3186 | * Added `video.uuid` field | |
3187 | * Added `video.url` field | |
3188 | ||
066e94c5 C |
3189 | ### Features |
3190 | ||
a7977280 | 3191 | * Add "Local" in menu that lists only local videos |
066e94c5 | 3192 | |
19a3b914 | 3193 | |
774ec2a9 C |
3194 | ## v1.0.0-alpha.4 |
3195 | ||
3196 | ### Features | |
3197 | ||
3198 | * Add iOS support | |
3199 | ||
3200 | ||
99915ae3 | 3201 | ## v1.0.0-alpha.1 |
82828fb4 C |
3202 | |
3203 | ### Features | |
3204 | ||
3205 | * Add messages about privacy and P2P | |
3206 | * Add stats route | |
3207 | * Add playback setting | |
3208 | ||
3209 | ||
20b40b19 C |
3210 | ## v0.0.29-alpha |
3211 | ||
3212 | ### BREAKING CHANGES | |
3213 | ||
3214 | * Use only 1 thread for transcoding by default | |
3215 | ||
3216 | ### Features | |
3217 | ||
3218 | * Add help to JS/CSS custom configuration inputs | |
3219 | * Keep ratio in video thumbnail generation | |
3220 | * Handle video in portrait mode | |
3221 | ||
3222 | ### Bug fixes | |
3223 | ||
3224 | * Fix complete description on some videos | |
3225 | * Fix job sorting in administration | |
3226 | ||
3227 | ||
73c69591 C |
3228 | ## v0.0.28-alpha |
3229 | ||
3230 | ### BREAKING CHANGES | |
3231 | ||
3232 | * Enable original file transcoding by default in configuration | |
3233 | * Disable transcoding in other definitions in configuration | |
3234 | ||
3235 | ### Features | |
3236 | ||
3237 | * Fallback to HTTP if video cannot be loaded | |
3238 | * Limit to 30 FPS in transcoding | |
3239 | ||
3240 | ||
86ec3e53 C |
3241 | ## v0.0.27-alpha |
3242 | ||
78967fca C |
3243 | ### Features |
3244 | ||
3245 | * Add ability for admin to inject custom JavaScript/CSS | |
ab998f7b | 3246 | * Add help tooltip on some fields |
78967fca | 3247 | |
86ec3e53 C |
3248 | ### Bug fixes |
3249 | ||
3250 | * Fix comment reply highlighting | |
3251 | ||
b6a4fd6b | 3252 | |
61b3e146 C |
3253 | ## v0.0.26-alpha |
3254 | ||
3255 | ### BREAKING CHANGES | |
3256 | ||
3257 | * Renamed script `import-youtube.js` to `import-videos.js` | |
3258 | * Renamed `import-video.js` argument `youtube-url` to `target-url` | |
3259 | ||
3260 | ### Features | |
3261 | ||
3262 | * Add "Support" attribute/button on videos | |
3263 | * Add ability to import from all [supported sites](https://rg3.github.io/youtube-dl/supportedsites.html) of youtube-dl | |
3264 | ||
3265 | ### Bug fixes | |
3266 | ||
3267 | * Fix custom instance name overflow | |
3268 | ||
3269 | ||
b6a4fd6b C |
3270 | ## v0.0.25-alpha |
3271 | ||
1263fc4e C |
3272 | ### Features |
3273 | ||
3256a4a6 | 3274 | * Add ability to link a specific comment |
1263fc4e | 3275 | |
b6a4fd6b C |
3276 | ### Bug fixes |
3277 | ||
3278 | * Fix avatars on video watch page | |
3279 | ||
3280 | ||
e33b53ab C |
3281 | ## v0.0.24-alpha |
3282 | ||
3283 | ### Features | |
3284 | ||
3285 | * Publish comments with *ctrl + enter* | |
3286 | ||
3287 | ### Bug fixes | |
3288 | ||
3289 | * Don't stuck on active jobs | |
3290 | * Fix deleting a video with comments | |
3291 | * Fix infinite scroll (videos list) |