|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## v8.1.0-rc.1 |
| 4 | + |
| 5 | +### IMPORTANT NOTES |
| 6 | + |
| 7 | + * You need to manually execute a migration script **after upgrading**, while PeerTube is running and the database migration is complete (`Migrations finished. New migration version schema: 1000` in PeerTube startup logs): |
| 8 | + * 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-8.1.js` |
| 9 | + * Docker installation: `cd /var/www/peertube-docker && docker compose exec -u peertube peertube node dist/scripts/migrations/peertube-8.1.js` |
| 10 | + * Running [regenerate-thumbnails](https://docs.joinpeertube.org/maintain/tools#regenerate-video-thumbnails) and [prune-storage](https://docs.joinpeertube.org/maintain/tools#prune-filesystem-object-storage) scripts after the upgrade and migration script is highly recommended |
| 11 | + |
| 12 | +### Maintenance |
| 13 | + |
| 14 | + * Migrate to the `sharp` NodeJS dependency to process images. This is a native dependency that provides prebuilt binaries, but some systems (like FreeBSD) may require an additional step after PeerTube dependencies installation: |
| 15 | + * Install `sharp` dependencies: https://sharp.pixelplumbing.com/install/#building-from-source |
| 16 | + * Run `npm explore sharp -- npm run build` in `peertube-latest` directory |
| 17 | + * Merge the `previews` directory into the `thumbnails` directory. The migration script will automatically move files |
| 18 | + The `previews` directory and configuration are kept for compatibility reasons |
| 19 | + * The `cache` directory is no longer deleted at PeerTube startup, to keep files cached from the previous run |
| 20 | + |
| 21 | +### Configuration |
| 22 | + |
| 23 | +*This section is not exhaustive* |
| 24 | + |
| 25 | + * **Important** Generate more thumbnail sizes for videos in `thumbnails.sizes`. We recommend admins apply the same settings |
| 26 | + * Update default object storage configuration to use different `prefix` values with the same `bucket_name` for each object type (`web_videos`, `user_exports`, etc.), so it is easier to add more object types in the future |
| 27 | + * Use the `lucide` player theme by default |
| 28 | + * `import.videos.http.force_ipv4` is now `true` by default to reduce rate limiting on some platforms |
| 29 | + * Add *On Primary* color configuration (`theme.customization.on_primary_color`) to choose the foreground color when the background color is *Primary* |
| 30 | + |
| 31 | +### Docker |
| 32 | + |
| 33 | + * Add `va-driver-all` to the PeerTube Docker image [#7346](https://github.com/Chocobozzz/PeerTube/pull/7346) |
| 34 | + |
| 35 | +### Plugins/Themes/Embed/REST APIs |
| 36 | + |
| 37 | + * REST API: |
| 38 | + * Deprecate `previewfile` when publishing a video. Use `thumbnailfile` instead |
| 39 | + * Deprecate `thumbnailPath` and `previewPath` `Video` fields. Use the `thumbnails` array instead |
| 40 | + * Deprecate the `thumbnailPath` `VideoPlaylist` field. Use the `thumbnails` array instead |
| 41 | + * Remove unused `fileUrl` from `UserExport` and `VideoSource` |
| 42 | + * Deprecate `/lazy-static/previews/:filename`. Use `/lazy-static/thumbnails/:filename` instead |
| 43 | + * Server plugin hooks (https://docs.joinpeertube.org/api/plugins): |
| 44 | + * Add `filter:feed.videos.list.result` [#7355](https://github.com/Chocobozzz/PeerTube/pull/7355) |
| 45 | + * Replace `torrentPath` with `torrentFilename` and `torrentStream` for remote torrents in `filter:api.download.torrent.allowed.result` context |
| 46 | + |
| 47 | +### Features |
| 48 | + |
| 49 | + * :tada: Allow uploaders to restrict domains where their video can be embedded :tada: |
| 50 | + * Add an admin config to ensure an optimized podcast audio file is transcoded |
| 51 | + * Support 3.0x playback speed for non-premium users :grin: |
| 52 | + * Optimize transcoding job queue: |
| 53 | + * Do not wait for all transcoding tasks to publish the video |
| 54 | + * Do not wait for all transcoding tasks to move video files in object storage |
| 55 | + * Lower priority on low video resolutions to avoid blocking video publication during bursts of uploads |
| 56 | + * More transcoding job parallelization |
| 57 | + * More reliable channel sync: |
| 58 | + * Reduce youtube-dl calls to reduce rate limiting |
| 59 | + * Handle cases where the video is not available/doesn't exist |
| 60 | + * Handle lives that are still being post-processed |
| 61 | + * Stop sync on get video info failure to retry at the same point next time |
| 62 | + * UX: |
| 63 | + * Support raw hex colors in color picker input [#7337](https://github.com/Chocobozzz/PeerTube/pull/7337) |
| 64 | + * Group notifications by date |
| 65 | + * Display blocked video information on the video manage page |
| 66 | + * Add a loading icon when updating the video |
| 67 | + * Improve the error message when the user password is too long |
| 68 | + * Add `g l` hotkey to go to the login page |
| 69 | + * Add ability to display video language on the `My Videos` page (column is hidden by default) |
| 70 | + * Improve video SEO |
| 71 | + * Support `png` and `webp` video thumbnails |
| 72 | + * Support `svg` logos for admins |
| 73 | + * Better email notification when a subscribed channel published a video [#7395](https://github.com/Chocobozzz/PeerTube/pull/7395) |
| 74 | + * Add compatibility with ActivityPub FEP-1b12 (used by Lemmy, PieFed, Mbin...) |
| 75 | + * Introduce a new cache system for remote thumbnails, storyboards, captions, and actor avatars/banners |
| 76 | + * Support Redis TLS connections [#7404](https://github.com/Chocobozzz/PeerTube/pull/7404) |
| 77 | + * Support PostgreSQL TLS connections [#7366](https://github.com/Chocobozzz/PeerTube/pull/7366) |
| 78 | + * Support path style requests for object storage |
| 79 | + * Improve channel collaboration: |
| 80 | + * An editor can now move a video they can manage to a channel they can manage (owner/editor) |
| 81 | + * An editor can send a *change ownership request* for a video they can manage |
| 82 | + * Editors can add videos to playlists of collaborated channels |
| 83 | + * Add quick actions (*Manage*, *Remove*) to the video dropdown for editors too |
| 84 | + * Performance: |
| 85 | + * Create video file torrents in a worker thread |
| 86 | + * Optimize videos list SQL query with complex sort (trending, hot, etc.) |
| 87 | + * When possible, send raw files directly instead of muxing when downloading a video |
| 88 | + * Improve podcast feed images compatibility with Apple Podcast |
| 89 | + |
| 90 | +### Bug fixes |
| 91 | + |
| 92 | + * Fix videos list inconsistencies when going back to that page |
| 93 | + * Do not display an empty details block in embed on error |
| 94 | + * Prevent incomplete segment reads for live streams [#7333](https://github.com/Chocobozzz/PeerTube/pull/7333) |
| 95 | + * Fix video download filename on Safari |
| 96 | + * Fix broken P2P when updating object storage base URL |
| 97 | + * Fix Redis sentinel support [#7365](https://github.com/Chocobozzz/PeerTube/pull/7365) |
| 98 | + * Correctly use header colors defined by the admin |
| 99 | + * Fix broken transcoding on remote runner when split video/audio is enabled |
| 100 | + * Fix server config not refreshing after admin settings save [#7413](https://github.com/Chocobozzz/PeerTube/pull/7413) |
| 101 | + * Prevent exception when the account is not loaded yet in the user moderation dropdown |
| 102 | + * Prevent black borders when embedding a video |
| 103 | + * Fix default scope defined by the admin when browsing videos |
| 104 | + * Force transcoding even if the video state is not compatible |
| 105 | + * Fix broken video studio task when updating video privacy at the same time |
| 106 | + * Reset selected rows when loading data in tables |
| 107 | + * Take into account channel owner video quota when an editor publishes a video to a collaborated channel |
| 108 | + * Fix watching a password protected video as an editor |
| 109 | + * Fix video metadata in `filter:api.video.upload.accept.result` context |
| 110 | + * Correctly take into account the user language filter when browsing videos |
| 111 | + * Fix `.ts` video file upload [#7458](https://github.com/Chocobozzz/PeerTube/pull/7458) |
| 112 | + * Fix `.mkv` video file upload on latest Chrome |
| 113 | + * Fix deleting all instance logo when deleting a specific logo |
| 114 | + * Fix getting unsupported Node.js from PATH with yt-dlp [#7468](https://github.com/Chocobozzz/PeerTube/pull/7468) |
| 115 | + |
| 116 | + |
| 117 | + |
| 118 | +## v8.0.2 |
| 119 | + |
| 120 | +### IMPORTANT NOTES |
| 121 | + |
| 122 | + * Follow v8.0.0 IMPORTANT NOTES if you upgrade from PeerTube <= v7.3.0 |
| 123 | + |
| 124 | +### Bug fixes |
| 125 | + |
| 126 | + * Fix PostgreSQL CPU usage and broken PeerTube instance on instances with a many subscriptions or big federation |
| 127 | + * Fix login URL in registration email |
| 128 | + * Remove the trailing comma in the plugins `package.json` files that broke the update/installation process |
| 129 | + * Fix broken channel sync if private privacy is removed by a plugin |
| 130 | + * Fix restoring *My Videos* sort after a search |
| 131 | + |
| 132 | + |
3 | 133 | ## v8.0.1 |
4 | 134 |
|
5 | 135 | ### IMPORTANT NOTES |
|
0 commit comments