We are pleased to announce the latest stable release of Jellyfin, version 10.10.7! This minor release brings several bugfixes to improve your Jellyfin experience. THIS IS A SECURITY RELEASE - UPGRADIN
Configurations behind a reverse proxy that did not explicitly configure trusted proxies will not work after this release. This was never a supported configuration, so please ensure you correct your configuration before upgrading. See the updated docs here for more information.
Security
Fix validation of API parameters to FFmpeg [GHSA-2c3c-r7gp-q32m], by @Shadowghost
Fix trusting forward headers if none are configured [GHSA-qcmf-gmhm-rfv9], by @JPVenson
Note: GHSAs will be published seven (7) days after this release.
General Changes
Fix regression where "Search for missing metadata" not handling cast having multiple roles [PR #13720], by @Lampan-git
Clone fallback audio tags instead of use ATL.Track.set [PR #13694], by @gnattu
Backport 10.11 API enum changes [PR #13835], by @nielsvanvelzen
Support more rating formats [PR #13639], by @IDisposable
Fix stackoverflow in MediaSourceCount [PR #12907], by @JPVenson
Upgrade LrcParser to 2025.228.1 [PR #13659], by @congerh
Include Role and SortOrder in MergePeople to fix "Search for missing metadata" [PR #13618], by @Lampan-git
Delete children from cache on parent delete [PR #13601], by @Bond-009
Fix overwrite of PremierDate with a year-only value [PR #13598], by @IDisposable
Wait for ffmpeg to exit on Windows before we try deleting the concat file [PR #13593], by @Bond-009
Fix 4K filtering when grouping movies into collections [PR #13594], by @theguymadmax
Remove empty ParentIndexNumber workaround [PR #13611], by @Shadowghost
Update dependency z440.atl.core to 6.20.0 [PR #13845], by @Shadowghost
Configurations behind a reverse proxy that did not explicitly configure trusted proxies will not work after this release. This was never a supported configuration, so please ensure you correct your configuration before upgrading. See the updated docs here for more information.
Thanks for pointing this out! I probably would have missed this, since I didn't expect such a change for a patch release.
Their documentation mentions:
For jellyfin to know which reverse proxy is trusted, the IP, Hostname or Subnet has to be set in the Known Proxies (under Admin Dashboard -> Networking) setting.
Does this really mean, that the only way to configure this is through the web UI? This is kind of a problem when deploying it, since without the reverse proxy I can't reach the Jellyfin server. Is there no way of doing this outside the web UI, via a config file or something?
Edit: Apparently the configuration for the proxies is stored in Jellyfin's network.xml config file. So it should be possible to do this without manually configuring it via the web UI.
Another edit: It works. Adding <KnownProxies>[proxy ip or hostname]</KnownProxies> in place of the empty <KnownProxies/> key to that config file does the trick.
I don't know your exact setup, but you should add the IP that Jellyfin sees when the reverse proxy makes a request. That probably comes from the IP of your Traefik docker container.
Why wait? Just release it as a big number release. The version number doesn't define the size or cadence of a release, it just says whether there's a breaking change.
At least in my org we use semantic versioning ( Major.Minor.patch) where patch must either be a new feature, a fix, or something that is backwards compatible
Fuck no, ain't nobody got time for that! My self hosted stack has 40+ services. I lock them to minor releases (where semvers are used), deploy blind with automation, and fire alerts when breakages occur, which is thankfully rarely.
What you're suggesting works for small, very carefully curated environments. I grew past that years ago and doubly so when I had kids.
Jellyfin I use for video content. I find its music functions lackluster.
Navidrome I use (and my family uses) for personal listening.
Music around the house, like on one or more of my casting capable speakers / tvs I use Music Assistant. Also let's me do automations easily, and doesn't tie up an android phones media's output. Struggled with earbuds while casting taking over audio for too long before deploying Music Assistant!
If you're looking for more tinkering on the music around the house front, Lyrion music server + squeezelite players can be a very fun endeavor. I think it gets a little sketchy if you're favoring automation and casting, but as a network of players that will utilize a wide swath of hardware, it shines. I had a bunch of pi4s laying around and eventually repurposed them all into a multiroom audio gang.
Thanks! I thought most people don't use navidrome if they have multiple users because they can't create user-specific playlists. Is this not the case? What music features do you find limiting on Jellyfin? Also, how did you get your family to switch off music streaming for your navidrome server?
The streaming was easy, just declared I wasn't paying for it anymore lol. We still have a crappy version of Spotify for free because of another service (ISP or phone plan something like that), but it's purely used as a backup.
Jellyfin's interface is a bit clunky as a music client in my experience. FinAmp looks cool but it's still early on.
Navidrome does smart playlist, crossfading, gapless, flac streaming, and flac to opus transcoding. Those are sorta my core requirements, and Navidrome + the clients we use handles them all with aplomb.
And actually that's another great feature I enjoy for Navidrome, there are dozens of excellent clients, so if one of them falls short for someone they can find one that they enjoy.
As for the user playlist thing... I haven't seen anything like that but maybe I'm misunderstanding.
What's your hardware solution for that? I've reached the limit of my configuration and may need to look into more robust hardware (or moving things like jellyfin off to a dedicated machine)
I will add, what helped me the most with Plex/Jellyfin load was using Tdarr to normalize my library's formats into something easy to direct stream to any device without transcoding.
I ran tdarr for a while, eventually I found for most things that it was faster (and better quality) to re-download in better formats than to re-encode.
It's a crappy python script I packaged in a docker container lol. Turns out PBS kids uses an open unauthenticated CDN for serving videos to the website and apps.
I can share if you want, but it'll take me until tomorrow to make it public
So i got the container running, logs are showing the same error loop every couple of seconds. I'm wondering if it's because the video url don't match what's in your gitlab readme:
Hmmm. I just double checked and my episodes are still downloading. But maybe newer shows have a different format... What's the exact error? I'll try to reproduce and fix.