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