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