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