From cf5ee2c3277891de44d4fdbc97f44bcbfabfd867 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Sun, 14 Apr 2024 16:33:08 -0400 Subject: [PATCH 01/20] Add initial blog post for Release 10.9.0 --- .../04-28-jellyfin-release-10.9.0/index.mdx | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 blog/2024/04-28-jellyfin-release-10.9.0/index.mdx diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx new file mode 100644 index 000000000..e6da3a388 --- /dev/null +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -0,0 +1,124 @@ +--- +title: Jellyfin 10.9.0 +description: We are pleased to announce the latest stable release of Jellyfin, version 10.9.0! +authors: joshuaboniface +date: 2024-04-28 +slug: jellyfin-release-10.9.0 +tags: [release] +--- + +We are pleased to announce the latest stable release of Jellyfin, version 10.9.0! + +This major release brings many new features, improvements, and bugfixes to improve your Jellyfin experience. + +You may upgrade your Jellyfin instances at any time now, however please read on for a complete detailing of what's new and changed, including some very important release notes. For those who were running Unstable builds for testing, we thank you immensely, and you may now switch back to the Stable repository and forcibly reinstall/repull the latest version. + +Happy watching! + +\- Joshua + +{/* truncate */} + +## Key Release Notes/Breaking Changes + +There are several key changes with 10.9.0 that administrative users should be aware of, before getting into the more specific changes. + +* As always, **ensure you back up your Jellyfin data and configuration directories before upgrading**. With a major release, it's possible you will hit a bug and want to revert, and to do so, you will need to restore from a backup. + +* Ubuntu users: We have dropped support for non-LTS Ubuntu releases with 10.9.0. That is, we have not built 10.9.0 packages for any releases except 20.04 LTS, 22.04 LTS, and 24.04 LTS, and we will not publish builds for any new non-LTS releases going forward. For an explanation of why, please see [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). If you use another release, please upgrade to 24.04 LTS or switch to Docker packages. + +* Fedora/CentOS/RHEL/etc. users: We have dropped our official RPM packages and suggest moving to [the 3rd-party RPMFusion repository](https://admin.rpmfusion.org/pkgdb/package/free/jellyfin/). Support for RHEL-like distributions has been a major pain point for us for a very long time, and we feel that letting the community over at RPMFusion handle this is in our best interest going forward, similar to how Arch, Gentoo, etc. packages are handled. For more details, please see [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). + +* Docker users: We now offer GHCR as an alternative containter registry in addition to DockerHub. You can pull images from the new registry via URIs like `ghcr.io/jellyfin/jellyfin:latest`. Don't worry, we have no plans to drop DockerHub as a container registry, but we feel providing both gives users more choice and flexiblity. + +## The Big Changes + +This release has been nearly (over?) two years in the making, so we're really glad to finally get it out to you. The long cycle does mean quite an extensive changelog however, with well over 1100 pull requests merged into our `master` branch since 10.8.0 first dropped back in 2022. This section will detail all the big changes, broken up by general function and area of the system. In addition to these big items, there are hundreds of smaller bugfixes, quality-of-life tweaks, and other minor changes that we won't touch on here, but if you want to see the full list, you can do so over on the GitHub releases for [the core server](https://github.com/jellyfin-sandbox/jellyfin/releases/tag/v10.9.0) and [the Web UI](https://github.com/jellyfin-sandbox/jellyfin-web/releases/tag/v10.9.0). + +### General + +* We now support "trickplay" a.k.a. live video scrubbing. When scrubbing through a video with this enabled, you will be able to see a live preview of the video at that timestamp. + +* Web redirections are now handled more reliably, reducing the likelihood of hitting dead or invalid pages in the UI. Please ensure you force-refresh or clear any browser cache for your Jellyfin instance to see the full benefits. + +* DLNA support is now provided by a plugin and has been removed from the core server. This has several major benefits: first, it can be updated independently of the server to some degree; second, it will not be enabled for anyone unless they want it and explicitly install the plugin; and third, it reduces the potential of security holes around DLNA due to both previous benefits. + +* We now support AVIF and WEBP images for Pictures libraries. + +* Tags are now accounted for during searches, allowing one to search by tag. + +* We now support multiple simultaneous subtitle tracks (maximum of two, a primary and secondary) in the web player. + +### API & Security + +* All API endpoints now return proper return codes, ensuring that API endpoint results can be reliably interpreted without additional parsing. + +* Our API versioning scheme is now based off of the "last unstable build before a release" and uses a date-based version going forward, to help make it a bit clearer and assist in automating the circular dependencies in our API specifications. + +* Parental ratings are significantly improved, with better enforcement, inheritable ratings, and more. + +* LiveTV and Collection permissions are now discrete and configurable per-user. + +* All playback endpoints now enforce authentication, preventing anonymous users from streaming by potentially guessing item IDs (highly unlikely, but not impossible). + +* The EasyPassword feature has been removed as this was a big security risk especially for administrator accounts; PIN login is still supported. + +* User permission handling has been unified and numerous bugs fixed, ensuring a more secure server from untrusted users. + +### Core Server & Networking + +* The underlying .NET framework has been upgraded to version 8, the latest major and LTS release. This brings us many under-the-hood improvements and changes to help with our ongoing effort to streamline the codebase and improve overall performance. + +* Our minimum FFmpeg version has been bumped from 4.0 to 4.4 to take advantage of many new features. For users of our Jellyfin FFmpeg build (Docker, `.deb`/Debuntu repo, and Windows installs), you're already on an even newer version now with FFmpeg 6.0.1, but this minimum change would affect any other platforms. + +* The server now supports in-process restarting, and removes the old hacky `restart.sh` method. This should make things like installing plugins much more robust. + +* Uploaded images are now subject to much more verification, helping plug several security holes in this feature. + +* The backend SQLite database now supports connection pooling, which should improve performance for database operations. + +* Support for the HappyEyeballs engine improving dual-stack IPv4/IPV6 network support. + +* Improved handling of IP binding to fully respect these settings (including DLNA and SSDP). + +### Packaging + +* The `jellyfin` service user is now automatically added to the `render` and `video` groups on Debian/Ubuntu systems for new installs, helping improve the onboarding for hardware acceleration. + +* Packaging is now unified with a new CI system, as outlined in [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). As a normal user you should see no change here, but this helps massively improve the build process, and if you are building your own packages please reference [the new packaging repository](https://github.com/jellyfin/jellyfin-packaging) for the updated process. + +### Transcoding & FFmpeg + +* Several audio improvements: support for Opus, FLAC, and ALAC codecs in the HLS engine; improved support and handling for transcoding DTS and TrueHD audio streams; new codec enforcement; better bitrate calculations; new audio normalization features; and stereo downmixing algorithm selection. + +* FFmpeg segments are now automatically deleted during transcoding, reducing the space of the transcoding temporary directory. + +* Support for direct playback of DVD and BluRay data folders, prefered over ISOs. + +* Support for AV1 hardware and software encoding. + +* Support for RK3588 hardware acceleration via MPP. + +* Support for Vulkan-based tonemapping with AMD VA-API. + +* Support for hardware acceleration on Apple systems (both Apple Silicon and Intel). + +* Support for Dolby Vision playback remuxing. + +### Scanning, Library & Playlist Management + +* Support for lyric scanning and management. + +* Season names are now parsed from NFO files. + +* The MusicBrainz interface has been improved to better handle music libraries. + +* Support for hearing-impared subtitles (sdh/hi./cc). + +* Support for playlist ACLs with playlist sharing between users and enforcement of playlist ownership. + +* Invalid items will be automatically removed from playlists. + +### Clients + +* Major fixes for Chromecast, including better support for a self-hosted cast receiver, better local network detection, and connectivity improvements. **We need Chromecast client developers badly - if you are interested please reach out.** From ed114ad1106d24d488b1b6260a6730825dd68fa7 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Sun, 14 Apr 2024 21:43:50 -0400 Subject: [PATCH 02/20] Make spelling corrections --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index e6da3a388..0834d4bb7 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -29,7 +29,7 @@ There are several key changes with 10.9.0 that administrative users should be aw * Fedora/CentOS/RHEL/etc. users: We have dropped our official RPM packages and suggest moving to [the 3rd-party RPMFusion repository](https://admin.rpmfusion.org/pkgdb/package/free/jellyfin/). Support for RHEL-like distributions has been a major pain point for us for a very long time, and we feel that letting the community over at RPMFusion handle this is in our best interest going forward, similar to how Arch, Gentoo, etc. packages are handled. For more details, please see [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). -* Docker users: We now offer GHCR as an alternative containter registry in addition to DockerHub. You can pull images from the new registry via URIs like `ghcr.io/jellyfin/jellyfin:latest`. Don't worry, we have no plans to drop DockerHub as a container registry, but we feel providing both gives users more choice and flexiblity. +* Docker users: We now offer GHCR as an alternative container registry in addition to DockerHub. You can pull images from the new registry via URIs like `ghcr.io/jellyfin/jellyfin:latest`. Don't worry, we have no plans to drop DockerHub as a container registry, but we feel providing both gives users more choice and flexibility. ## The Big Changes @@ -93,7 +93,7 @@ This release has been nearly (over?) two years in the making, so we're really gl * FFmpeg segments are now automatically deleted during transcoding, reducing the space of the transcoding temporary directory. -* Support for direct playback of DVD and BluRay data folders, prefered over ISOs. +* Support for direct playback of DVD and BluRay data folders, preferred over ISOs. * Support for AV1 hardware and software encoding. @@ -113,7 +113,7 @@ This release has been nearly (over?) two years in the making, so we're really gl * The MusicBrainz interface has been improved to better handle music libraries. -* Support for hearing-impared subtitles (sdh/hi./cc). +* Support for hearing-impaired subtitles (sdh/hi./cc). * Support for playlist ACLs with playlist sharing between users and enforcement of playlist ownership. From f8e6ebbff96bca2626a9d07e028e2cc88cc1b6b6 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Mon, 15 Apr 2024 21:59:45 -0400 Subject: [PATCH 03/20] Add review suggestion changes 1. Fix bad release links 2. Mention --ffmpeg change 3. "direct playback" -> "direct stream playback" for completeness 4. Additional playlist ACL details --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index 0834d4bb7..3a915a67a 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -33,7 +33,7 @@ There are several key changes with 10.9.0 that administrative users should be aw ## The Big Changes -This release has been nearly (over?) two years in the making, so we're really glad to finally get it out to you. The long cycle does mean quite an extensive changelog however, with well over 1100 pull requests merged into our `master` branch since 10.8.0 first dropped back in 2022. This section will detail all the big changes, broken up by general function and area of the system. In addition to these big items, there are hundreds of smaller bugfixes, quality-of-life tweaks, and other minor changes that we won't touch on here, but if you want to see the full list, you can do so over on the GitHub releases for [the core server](https://github.com/jellyfin-sandbox/jellyfin/releases/tag/v10.9.0) and [the Web UI](https://github.com/jellyfin-sandbox/jellyfin-web/releases/tag/v10.9.0). +This release has been nearly (over?) two years in the making, so we're really glad to finally get it out to you. The long cycle does mean quite an extensive changelog however, with well over 1100 pull requests merged into our `master` branch since 10.8.0 first dropped back in 2022. This section will detail all the big changes, broken up by general function and area of the system. In addition to these big items, there are hundreds of smaller bugfixes, quality-of-life tweaks, and other minor changes that we won't touch on here, but if you want to see the full list, you can do so over on the GitHub releases for [the core server](https://github.com/jellyfin/jellyfin/releases/tag/v10.9.0) and [the Web UI](https://github.com/jellyfin/jellyfin-web/releases/tag/v10.9.0). ### General @@ -89,11 +89,13 @@ This release has been nearly (over?) two years in the making, so we're really gl ### Transcoding & FFmpeg +* The `--ffmpeg` command-line flag is now the primary method of setting FFmpeg paths, and configuration of the FFmpeg paths via `encoding.xml` is now deprecated. All official packaging will revert to defaults unless explicitly set before upgrade. + * Several audio improvements: support for Opus, FLAC, and ALAC codecs in the HLS engine; improved support and handling for transcoding DTS and TrueHD audio streams; new codec enforcement; better bitrate calculations; new audio normalization features; and stereo downmixing algorithm selection. * FFmpeg segments are now automatically deleted during transcoding, reducing the space of the transcoding temporary directory. -* Support for direct playback of DVD and BluRay data folders, preferred over ISOs. +* Support for direct stream playback of DVD and BluRay data folders, preferred over ISOs. * Support for AV1 hardware and software encoding. @@ -115,7 +117,7 @@ This release has been nearly (over?) two years in the making, so we're really gl * Support for hearing-impaired subtitles (sdh/hi./cc). -* Support for playlist ACLs with playlist sharing between users and enforcement of playlist ownership. +* Support for playlist ACLs with playlist sharing between users and enforcement of playlist ownership. Existing playlists will become owner-only, and playlist permissions can be set when made global/shared. Playlists from library files will be global. * Invalid items will be automatically removed from playlists. From 591d94926aed9bcaa94f86d1b0b7c94ddf58877e Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Mon, 15 Apr 2024 22:05:30 -0400 Subject: [PATCH 04/20] Mention dashboard UI changes --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index 3a915a67a..7a0ee71fa 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -49,6 +49,8 @@ This release has been nearly (over?) two years in the making, so we're really gl * We now support multiple simultaneous subtitle tracks (maximum of two, a primary and secondary) in the web player. +* We've revamped the administrative dashboard UI to help improve usability and ease of finding options. + ### API & Security * All API endpoints now return proper return codes, ensuring that API endpoint results can be reliably interpreted without additional parsing. From 7acf81b6b9c4e777ca6d9be16be3f122aa8ce630 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Tue, 16 Apr 2024 09:39:06 -0400 Subject: [PATCH 05/20] Mention client req for trickplay --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index 7a0ee71fa..36ab66033 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -37,7 +37,7 @@ This release has been nearly (over?) two years in the making, so we're really gl ### General -* We now support "trickplay" a.k.a. live video scrubbing. When scrubbing through a video with this enabled, you will be able to see a live preview of the video at that timestamp. +* We now support "trickplay" a.k.a. live video scrubbing. When scrubbing through a video with this enabled, you will be able to see a live preview of the video at that timestamp. Note that this requires explicit client support, which may require some time to become available depending on your client. * Web redirections are now handled more reliably, reducing the likelihood of hitting dead or invalid pages in the UI. Please ensure you force-refresh or clear any browser cache for your Jellyfin instance to see the full benefits. From 6d89b716ee82477a2c37508540cebf2ca6c816c7 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Tue, 16 Apr 2024 09:52:37 -0400 Subject: [PATCH 06/20] Tweak wording a bit more and add closing sections --- .../04-28-jellyfin-release-10.9.0/index.mdx | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index 36ab66033..6f8710c95 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -25,15 +25,15 @@ There are several key changes with 10.9.0 that administrative users should be aw * As always, **ensure you back up your Jellyfin data and configuration directories before upgrading**. With a major release, it's possible you will hit a bug and want to revert, and to do so, you will need to restore from a backup. -* Ubuntu users: We have dropped support for non-LTS Ubuntu releases with 10.9.0. That is, we have not built 10.9.0 packages for any releases except 20.04 LTS, 22.04 LTS, and 24.04 LTS, and we will not publish builds for any new non-LTS releases going forward. For an explanation of why, please see [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). If you use another release, please upgrade to 24.04 LTS or switch to Docker packages. +* Ubuntu users: We have dropped support for non-LTS Ubuntu releases with 10.9.0. That is, we have not built 10.9.0 packages for any releases except 20.04 LTS, 22.04 LTS, and 24.04 LTS, and we will not publish builds for any new non-LTS releases going forward. For an explanation of why, please see [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). If you use another release, please upgrade to 24.04 LTS or switch to the Docker container. -* Fedora/CentOS/RHEL/etc. users: We have dropped our official RPM packages and suggest moving to [the 3rd-party RPMFusion repository](https://admin.rpmfusion.org/pkgdb/package/free/jellyfin/). Support for RHEL-like distributions has been a major pain point for us for a very long time, and we feel that letting the community over at RPMFusion handle this is in our best interest going forward, similar to how Arch, Gentoo, etc. packages are handled. For more details, please see [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). +* Fedora/CentOS/RHEL/etc. users: We have dropped our official RPM packages and suggest switching to [the 3rd-party RPMFusion repository](https://admin.rpmfusion.org/pkgdb/package/free/jellyfin/) or the Docker container. Support for RHEL-like distributions has been a major pain point for us for a very long time, and we feel that letting the community over at RPMFusion handle this is in our best interest going forward, similar to how Arch, Gentoo, etc. packages are handled. For more details, please see [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). * Docker users: We now offer GHCR as an alternative container registry in addition to DockerHub. You can pull images from the new registry via URIs like `ghcr.io/jellyfin/jellyfin:latest`. Don't worry, we have no plans to drop DockerHub as a container registry, but we feel providing both gives users more choice and flexibility. ## The Big Changes -This release has been nearly (over?) two years in the making, so we're really glad to finally get it out to you. The long cycle does mean quite an extensive changelog however, with well over 1100 pull requests merged into our `master` branch since 10.8.0 first dropped back in 2022. This section will detail all the big changes, broken up by general function and area of the system. In addition to these big items, there are hundreds of smaller bugfixes, quality-of-life tweaks, and other minor changes that we won't touch on here, but if you want to see the full list, you can do so over on the GitHub releases for [the core server](https://github.com/jellyfin/jellyfin/releases/tag/v10.9.0) and [the Web UI](https://github.com/jellyfin/jellyfin-web/releases/tag/v10.9.0). +This release has been over two years in the making, so we're really glad to finally get it out to you. The long cycle does mean quite an extensive changelog however, with well over 1100 pull requests merged into our `master` branch since 10.8.0 first dropped back in 2022. This section will detail all the big changes, broken up by general function and area of the system. In addition to these big items, there are hundreds of smaller bugfixes, quality-of-life tweaks, and other minor changes that we won't touch on here, but if you want to see the full list, you can do so over on the GitHub releases for [the core server](https://github.com/jellyfin/jellyfin/releases/tag/v10.9.0) and [the Web UI](https://github.com/jellyfin/jellyfin-web/releases/tag/v10.9.0). ### General @@ -41,7 +41,7 @@ This release has been nearly (over?) two years in the making, so we're really gl * Web redirections are now handled more reliably, reducing the likelihood of hitting dead or invalid pages in the UI. Please ensure you force-refresh or clear any browser cache for your Jellyfin instance to see the full benefits. -* DLNA support is now provided by a plugin and has been removed from the core server. This has several major benefits: first, it can be updated independently of the server to some degree; second, it will not be enabled for anyone unless they want it and explicitly install the plugin; and third, it reduces the potential of security holes around DLNA due to both previous benefits. +* DLNA support is now provided by a plugin and has been removed from the core server. This has several major benefits: first, it can be updated independently of the server to some degree; second, it will not be enabled for anyone unless they want it and explicitly install the plugin; and third, it reduces the potential of security holes around DLNA due to both previous benefits. If you wish to use (or continue to use) DLNA, please install the plugin after upgrading. * We now support AVIF and WEBP images for Pictures libraries. @@ -73,7 +73,7 @@ This release has been nearly (over?) two years in the making, so we're really gl * Our minimum FFmpeg version has been bumped from 4.0 to 4.4 to take advantage of many new features. For users of our Jellyfin FFmpeg build (Docker, `.deb`/Debuntu repo, and Windows installs), you're already on an even newer version now with FFmpeg 6.0.1, but this minimum change would affect any other platforms. -* The server now supports in-process restarting, and removes the old hacky `restart.sh` method. This should make things like installing plugins much more robust. +* The server now supports in-process restarting, and removes the old hacky `restart.sh` method. This should make things like installing plugins much more robust and ensure a consistent restart experience regardless of platform or install method. * Uploaded images are now subject to much more verification, helping plug several security holes in this feature. @@ -95,7 +95,7 @@ This release has been nearly (over?) two years in the making, so we're really gl * Several audio improvements: support for Opus, FLAC, and ALAC codecs in the HLS engine; improved support and handling for transcoding DTS and TrueHD audio streams; new codec enforcement; better bitrate calculations; new audio normalization features; and stereo downmixing algorithm selection. -* FFmpeg segments are now automatically deleted during transcoding, reducing the space of the transcoding temporary directory. +* FFmpeg segments are now automatically deleted during transcoding, significantly reducing the space requirements of the transcoding temporary directory. * Support for direct stream playback of DVD and BluRay data folders, preferred over ISOs. @@ -126,3 +126,11 @@ This release has been nearly (over?) two years in the making, so we're really gl ### Clients * Major fixes for Chromecast, including better support for a self-hosted cast receiver, better local network detection, and connectivity improvements. **We need Chromecast client developers badly - if you are interested please reach out.** + +## The Next Version + +With our CI improvements outlined previously, we're quite confident that this will be our last "very long" release cycle. Our plan is for the next major version (10.10.0) to be released at most 6 months from now, some time in October. We hope this increased cadence will help alleviate the problems with large releases such as a very long time-to-stable for new features, translations, etc. + +## Final Thoughts + +We want to thank everyone who contributed to the 10.9.0 release. According to GitHub over 100 people contributed across both repositories, and Jellyfin wouldn't be what it is without your help. We're really proud of this project we've built as a community, and hope to continue to be the go-to FLOSS video streaming solution for a long time to come. Happy watching! From ea5e7025c5ce0caed7ad956cd0ea6baa938ce233 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Tue, 16 Apr 2024 09:54:58 -0400 Subject: [PATCH 07/20] Add another developer call --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index 6f8710c95..60a82e877 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -129,7 +129,7 @@ This release has been over two years in the making, so we're really glad to fina ## The Next Version -With our CI improvements outlined previously, we're quite confident that this will be our last "very long" release cycle. Our plan is for the next major version (10.10.0) to be released at most 6 months from now, some time in October. We hope this increased cadence will help alleviate the problems with large releases such as a very long time-to-stable for new features, translations, etc. +With our CI improvements outlined previously, we're quite confident that this will be our last "very long" release cycle. Our plan is for the next major version (10.10.0) to be released at most 6 months from now, some time in October. We hope this increased cadence will help alleviate the problems with large releases such as a very long time-to-stable for new features, translations, etc. and help lower the number of major bugs at each major release, streamlining the upgrade process. But this needs everyone's help. Back in October 2023, we made a call for developers, and we've gotten a lot of interest, but this is not a one-and-done event. We need contibutions now more than ever, especially around the web frontend to help implement our planned design changes. If this interests you, please reach out and we can help get you set up. ## Final Thoughts From f68adafaf783dbbe09e8f7a12690a9a31356cfae Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Thu, 18 Apr 2024 09:51:31 -0400 Subject: [PATCH 08/20] Add more detail to transcoding segment del --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index 60a82e877..2e7301a1b 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -95,7 +95,7 @@ This release has been over two years in the making, so we're really glad to fina * Several audio improvements: support for Opus, FLAC, and ALAC codecs in the HLS engine; improved support and handling for transcoding DTS and TrueHD audio streams; new codec enforcement; better bitrate calculations; new audio normalization features; and stereo downmixing algorithm selection. -* FFmpeg segments are now automatically deleted during transcoding, significantly reducing the space requirements of the transcoding temporary directory. +* FFmpeg segments can now be automatically deleted after the client requests them, significantly reducing the space requirements of the transcoding temporary directory. This optional feature is disabled by default and can be enabled in the transcoding settings. * Support for direct stream playback of DVD and BluRay data folders, preferred over ISOs. From 94ee73e6aeca37194c6825fe1dbb686add29e9f0 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Thu, 18 Apr 2024 18:06:30 -0400 Subject: [PATCH 09/20] Apply tweaks from suggestions --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index 2e7301a1b..b2a22b9a6 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -61,9 +61,7 @@ This release has been over two years in the making, so we're really glad to fina * LiveTV and Collection permissions are now discrete and configurable per-user. -* All playback endpoints now enforce authentication, preventing anonymous users from streaming by potentially guessing item IDs (highly unlikely, but not impossible). - -* The EasyPassword feature has been removed as this was a big security risk especially for administrator accounts; PIN login is still supported. +* The EasyPassword (PIN) feature has been removed as this was a big security risk especially for administrator accounts; QuickConnect login is still supported however. * User permission handling has been unified and numerous bugs fixed, ensuring a more secure server from untrusted users. @@ -105,7 +103,7 @@ This release has been over two years in the making, so we're really glad to fina * Support for Vulkan-based tonemapping with AMD VA-API. -* Support for hardware acceleration on Apple systems (both Apple Silicon and Intel). +* Support for complete hardware acceleration on Apple systems (both Apple Silicon and Intel; previously was partial). * Support for Dolby Vision playback remuxing. From 5f8b0529e476350638d1a35bb51ce781357ef0d8 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Fri, 26 Apr 2024 11:10:36 -0400 Subject: [PATCH 10/20] Apply suggestions from code review Co-authored-by: Niels van Velzen --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index b2a22b9a6..0916e661a 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -29,7 +29,7 @@ There are several key changes with 10.9.0 that administrative users should be aw * Fedora/CentOS/RHEL/etc. users: We have dropped our official RPM packages and suggest switching to [the 3rd-party RPMFusion repository](https://admin.rpmfusion.org/pkgdb/package/free/jellyfin/) or the Docker container. Support for RHEL-like distributions has been a major pain point for us for a very long time, and we feel that letting the community over at RPMFusion handle this is in our best interest going forward, similar to how Arch, Gentoo, etc. packages are handled. For more details, please see [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). -* Docker users: We now offer GHCR as an alternative container registry in addition to DockerHub. You can pull images from the new registry via URIs like `ghcr.io/jellyfin/jellyfin:latest`. Don't worry, we have no plans to drop DockerHub as a container registry, but we feel providing both gives users more choice and flexibility. +* Docker users: We now offer GitHub Container Registry (GHCR) as an alternative container registry in addition to DockerHub. You can pull images from the new registry via URIs like `ghcr.io/jellyfin/jellyfin:latest`. Don't worry, we have no plans to drop DockerHub as a container registry, but we feel providing both gives users more choice and flexibility. ## The Big Changes @@ -109,7 +109,7 @@ This release has been over two years in the making, so we're really glad to fina ### Scanning, Library & Playlist Management -* Support for lyric scanning and management. +* Support for scanning and displaying lyrics. * Season names are now parsed from NFO files. @@ -131,4 +131,4 @@ With our CI improvements outlined previously, we're quite confident that this wi ## Final Thoughts -We want to thank everyone who contributed to the 10.9.0 release. According to GitHub over 100 people contributed across both repositories, and Jellyfin wouldn't be what it is without your help. We're really proud of this project we've built as a community, and hope to continue to be the go-to FLOSS video streaming solution for a long time to come. Happy watching! +We want to thank everyone who contributed to the 10.9.0 release. According to GitHub over 100 people contributed across both repositories, and Jellyfin wouldn't be what it is without your help. We're really proud of this project we've built as a community, and hope to continue to be the go-to FLOSS media system solution for a long time to come. Happy watching! From 9bac6b5b1ea44fdc7d8796689b165c5f88f6f4df Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Fri, 26 Apr 2024 11:14:24 -0400 Subject: [PATCH 11/20] Fix Docker Hub name --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index 0916e661a..c8bc5756c 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -29,7 +29,7 @@ There are several key changes with 10.9.0 that administrative users should be aw * Fedora/CentOS/RHEL/etc. users: We have dropped our official RPM packages and suggest switching to [the 3rd-party RPMFusion repository](https://admin.rpmfusion.org/pkgdb/package/free/jellyfin/) or the Docker container. Support for RHEL-like distributions has been a major pain point for us for a very long time, and we feel that letting the community over at RPMFusion handle this is in our best interest going forward, similar to how Arch, Gentoo, etc. packages are handled. For more details, please see [our previous blog post](https://jellyfin.org/posts/new-ci-new-repo). -* Docker users: We now offer GitHub Container Registry (GHCR) as an alternative container registry in addition to DockerHub. You can pull images from the new registry via URIs like `ghcr.io/jellyfin/jellyfin:latest`. Don't worry, we have no plans to drop DockerHub as a container registry, but we feel providing both gives users more choice and flexibility. +* Docker users: We now offer GitHub Container Registry (GHCR) as an alternative container registry in addition to Docker Hub. You can pull images from the new registry via URIs like `ghcr.io/jellyfin/jellyfin:latest`. Don't worry, we have no plans to drop Docker Hub as a container registry, but we feel providing both gives users more choice and flexibility. ## The Big Changes From 0c76a7574fe0713cfce4bcbf0d94f307d99ba5d7 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Fri, 26 Apr 2024 11:39:29 -0400 Subject: [PATCH 12/20] Update blog/2024/04-28-jellyfin-release-10.9.0/index.mdx Co-authored-by: Tim Gels <43609220+TimGels@users.noreply.github.com> --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index c8bc5756c..27e7d2b3f 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -69,7 +69,7 @@ This release has been over two years in the making, so we're really glad to fina * The underlying .NET framework has been upgraded to version 8, the latest major and LTS release. This brings us many under-the-hood improvements and changes to help with our ongoing effort to streamline the codebase and improve overall performance. -* Our minimum FFmpeg version has been bumped from 4.0 to 4.4 to take advantage of many new features. For users of our Jellyfin FFmpeg build (Docker, `.deb`/Debuntu repo, and Windows installs), you're already on an even newer version now with FFmpeg 6.0.1, but this minimum change would affect any other platforms. +* Our minimum FFmpeg version has been bumped from 4.0 to 4.4 to take advantage of many new features. For users of our Jellyfin FFmpeg build (Docker, `.deb`/Debuntu repo, and Windows installs), you're already on a newer version with FFmpeg 6.0.1, but this minimum change would affect any other platforms. * The server now supports in-process restarting, and removes the old hacky `restart.sh` method. This should make things like installing plugins much more robust and ensure a consistent restart experience regardless of platform or install method. From d00e2edb2df38023f280c66fe57187b6b0c33782 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Mon, 29 Apr 2024 11:18:49 -0400 Subject: [PATCH 13/20] Remove date from post metadata --- blog/2024/04-28-jellyfin-release-10.9.0/index.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx index 27e7d2b3f..76d4bd194 100644 --- a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx @@ -2,7 +2,6 @@ title: Jellyfin 10.9.0 description: We are pleased to announce the latest stable release of Jellyfin, version 10.9.0! authors: joshuaboniface -date: 2024-04-28 slug: jellyfin-release-10.9.0 tags: [release] --- From 3d2377ed3d6a2c8d7cdb3a36a35ba1b442b696d6 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Mon, 29 Apr 2024 11:19:20 -0400 Subject: [PATCH 14/20] Rename blog post date to new date --- .../index.mdx | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename blog/2024/{04-28-jellyfin-release-10.9.0 => 05-05-jellyfin-release-10.9.0}/index.mdx (100%) diff --git a/blog/2024/04-28-jellyfin-release-10.9.0/index.mdx b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx similarity index 100% rename from blog/2024/04-28-jellyfin-release-10.9.0/index.mdx rename to blog/2024/05-05-jellyfin-release-10.9.0/index.mdx From f8e0271cfcd5fc6869878884a18566c2d953032a Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Tue, 30 Apr 2024 22:53:06 -0400 Subject: [PATCH 15/20] Clarify lyric feature --- blog/2024/05-05-jellyfin-release-10.9.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx index 76d4bd194..fbcb39cc8 100644 --- a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx @@ -108,7 +108,7 @@ This release has been over two years in the making, so we're really glad to fina ### Scanning, Library & Playlist Management -* Support for scanning and displaying lyrics. +* Support for scanning and displaying local lyric files (embedded or external files; Internet lyric provider searching is planned for 10.10). * Season names are now parsed from NFO files. From c9a63a4921f55910bf712c2ef572a3709e1e2ac7 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Wed, 1 May 2024 15:54:36 -0400 Subject: [PATCH 16/20] Update blog/2024/05-05-jellyfin-release-10.9.0/index.mdx Co-authored-by: Niels van Velzen --- blog/2024/05-05-jellyfin-release-10.9.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx index fbcb39cc8..64d4d344d 100644 --- a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx @@ -66,7 +66,7 @@ This release has been over two years in the making, so we're really glad to fina ### Core Server & Networking -* The underlying .NET framework has been upgraded to version 8, the latest major and LTS release. This brings us many under-the-hood improvements and changes to help with our ongoing effort to streamline the codebase and improve overall performance. +* The .NET version has been upgraded to version 8, the latest major and LTS release. This brings us many under-the-hood improvements and changes to help with our ongoing effort to streamline the codebase and improve overall performance. * Our minimum FFmpeg version has been bumped from 4.0 to 4.4 to take advantage of many new features. For users of our Jellyfin FFmpeg build (Docker, `.deb`/Debuntu repo, and Windows installs), you're already on a newer version with FFmpeg 6.0.1, but this minimum change would affect any other platforms. From 28c4c2da763c06bdcc285c0f9977446d3ffa3156 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Wed, 1 May 2024 15:55:17 -0400 Subject: [PATCH 17/20] Update blog/2024/05-05-jellyfin-release-10.9.0/index.mdx Co-authored-by: Niels van Velzen --- blog/2024/05-05-jellyfin-release-10.9.0/index.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx index 64d4d344d..9a7bd92e2 100644 --- a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx @@ -120,9 +120,13 @@ This release has been over two years in the making, so we're really glad to fina * Invalid items will be automatically removed from playlists. -### Clients +### Casting -* Major fixes for Chromecast, including better support for a self-hosted cast receiver, better local network detection, and connectivity improvements. **We need Chromecast client developers badly - if you are interested please reach out.** +* Better local network detection +* Connectivity improvements +* Ability to self-host cast receiver + +We're looking for contributors for our [cast receiver](https://github.com/jellyfin/jellyfin-chromecast/). This is the application that loads on a TV when using the "Google Cast" feature. Please reach out if you're interested. ## The Next Version From 1e1df1e8e1d1b867c2ee92c52ef60ad648df443e Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Wed, 1 May 2024 15:55:34 -0400 Subject: [PATCH 18/20] Update blog/2024/05-05-jellyfin-release-10.9.0/index.mdx Co-authored-by: Niels van Velzen --- blog/2024/05-05-jellyfin-release-10.9.0/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx index 9a7bd92e2..d27eb3ea9 100644 --- a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx @@ -130,7 +130,7 @@ We're looking for contributors for our [cast receiver](https://github.com/jellyf ## The Next Version -With our CI improvements outlined previously, we're quite confident that this will be our last "very long" release cycle. Our plan is for the next major version (10.10.0) to be released at most 6 months from now, some time in October. We hope this increased cadence will help alleviate the problems with large releases such as a very long time-to-stable for new features, translations, etc. and help lower the number of major bugs at each major release, streamlining the upgrade process. But this needs everyone's help. Back in October 2023, we made a call for developers, and we've gotten a lot of interest, but this is not a one-and-done event. We need contibutions now more than ever, especially around the web frontend to help implement our planned design changes. If this interests you, please reach out and we can help get you set up. +With our continuous integrations improvements outlined previously, we're quite confident that this will be our last "very long" release cycle. Our plan is for the next major version (10.10.0) to be released at most 6 months from now, some time in October. We hope this increased cadence will help alleviate the problems with large releases such as a very long time-to-stable for new features, translations, etc. and help lower the number of major bugs at each major release, streamlining the upgrade process. But this needs everyone's help. Back in October 2023, we made a call for developers, and we've gotten a lot of interest, but this is not a one-and-done event. We need contributions now more than ever, especially around the web frontend to help implement our planned design changes. If this interests you, please reach out and we can help get you set up. ## Final Thoughts From b66beca27699f2f3b86591e76f39bc49daf7d3bb Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Sun, 5 May 2024 22:58:40 -0400 Subject: [PATCH 19/20] Remove entry about API versioning --- blog/2024/05-05-jellyfin-release-10.9.0/index.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx index d27eb3ea9..cf51f6f20 100644 --- a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx @@ -54,8 +54,6 @@ This release has been over two years in the making, so we're really glad to fina * All API endpoints now return proper return codes, ensuring that API endpoint results can be reliably interpreted without additional parsing. -* Our API versioning scheme is now based off of the "last unstable build before a release" and uses a date-based version going forward, to help make it a bit clearer and assist in automating the circular dependencies in our API specifications. - * Parental ratings are significantly improved, with better enforcement, inheritable ratings, and more. * LiveTV and Collection permissions are now discrete and configurable per-user. From 577a673f57ac8728d3f3bcdac31c42700621f0f3 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Tue, 7 May 2024 10:09:45 -0400 Subject: [PATCH 20/20] Update blog/2024/05-05-jellyfin-release-10.9.0/index.mdx Co-authored-by: Niels van Velzen --- blog/2024/05-05-jellyfin-release-10.9.0/index.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx index cf51f6f20..adbb077f3 100644 --- a/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx +++ b/blog/2024/05-05-jellyfin-release-10.9.0/index.mdx @@ -114,7 +114,9 @@ This release has been over two years in the making, so we're really glad to fina * Support for hearing-impaired subtitles (sdh/hi./cc). -* Support for playlist ACLs with playlist sharing between users and enforcement of playlist ownership. Existing playlists will become owner-only, and playlist permissions can be set when made global/shared. Playlists from library files will be global. +* The visibility of playlists can now be made private + * User playlists are now private by default + * We're working on playlist sharing for a future release * Invalid items will be automatically removed from playlists.