Jellyfin
Free software media system for organizing and streaming your movies, TV shows, and music
Alternative to: netflix, plex, emby
v12.0-rc1
2026-06-21:rocket: Jellyfin Server 12.0 RC1
We are pleased to announce the first release candidate preview release of Jellyfin 12.0!
This is a preview release, intended for those interested in testing 12.0 before it’s final public release. We welcome testers to help find as many bugs as we can before the final release.
As always, please ensure you stop your Jellyfin server and take a full backup before upgrading!
A note about versioning
Starting with this release, we are dropping the preceeding 10. from our versioning. Thus, 10.11.x -> [10.]12.x = 12.x. The reason is simple: at this point in the project, we don’t envision a hard break in the API like we planned way back in the early days, and this version scheme was causing a lot of confusion amongst users about what a “major” release was.
Thus, we are now on two digits:
- The first digit is the major release. Expect signifiant changes between major releases. Do not ever auto-update to a new major release without first checking the release notes, and always take a backup of your server data and config before a major release upgrade.
- The second digit is the minor release. These are primarily bug and security fix releases, and do not introduce significant feature or functionality changes. You can, usually, safely auto-update between minor releases and should not need a full backup, but it is prudent just in case. You should also ALWAYS strive to run the latest point release as security fixes are embargo’d for at most 2 weeks after the release.
What’s new?
The main goal of this release has been performance. 10.11.0 dropped a major backend rewrite, and while it was broadly functional, it had a lot of rough edges. This release seeks to polish out most of those rough edges and bring better performance to all users.
There are many other small fixes, improvements, changes, and translations. See our draft release notes here or below for the full list of pull requests.
Note: You must be on Jellyfin 10.11.x (ideally, 10.11.11) before upgrading! If you are not, the upgrade will fail. I have been informed that I was wrong here, and upgrades from 10.10.7 are also possible, same as 10.11.x!
Note: The initial load of Jellyfin 12.x will run a few migrations and will take several minutes. Please be patient and do not interrupt the process.
Note: If you install the RC, you should disable all plugins and reinstall using the unstable plugin repository, or plugins may fail to load and cause unintended side effects.
Installing
This preview release is distributed in all our traditional forms, though not automatically via our Apt repository or latest tag.
- For all non-Docker environments, you can find the files for manual download in our repository by selecting “Stable Preview” for your OS.
- For Docker, you can pull the
12.0-rc1orpreviewtags.
What’s Changed (since v10.11.x)
- Update CODEOWNERS to capture bump_version by @joshuaboniface in https://github.com/jellyfin/jellyfin/pull/15236
- Update Jellyfin Server version in issue template by @dpieski in https://github.com/jellyfin/jellyfin/pull/15398
- Add all 10.11 versions to issue template by @anthonylavado in https://github.com/jellyfin/jellyfin/pull/15565
- Add version to StartupUI by @JPVenson in https://github.com/jellyfin/jellyfin/pull/15246
- Disable legacy authorization methods by default by @nielsvanvelzen in https://github.com/jellyfin/jellyfin/pull/15559
- Deprecate HasPassword property on UserDto by @nielsvanvelzen in https://github.com/jellyfin/jellyfin/pull/14950
- Add support for more embedded metadata tags by @allmazz in https://github.com/jellyfin/jellyfin/pull/15437
- Fix TV Series parsing containing only numbers. by @CodyEngel in https://github.com/jellyfin/jellyfin/pull/14824
- refactor(StreamInfo): reorganize subtitle URL logic and conditions by @sususu98 in https://github.com/jellyfin/jellyfin/pull/13977
- Add milliseconds to default console output format by @kevgrig in https://github.com/jellyfin/jellyfin/pull/15227
- Remove special client behavior for API response fields by @nielsvanvelzen in https://github.com/jellyfin/jellyfin/pull/15638
- Add subtitle extraction timeout configuration option by @KarkaLT in https://github.com/jellyfin/jellyfin/pull/15538
- Add CPU to issue template by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/15704
- Fix episodes showing up on recently added shows by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/15433
- Fix: normalize punctuation when computing CleanName so searches without punctuation match (closes #1674) by @audrey-inglish in https://github.com/jellyfin/jellyfin/pull/14879
- Locking cleaning by @MarkCiliaVincenti in https://github.com/jellyfin/jellyfin/pull/15713
- Add ability to sort and filter activity log entries by @crobibero in https://github.com/jellyfin/jellyfin/pull/15583
- Fix typo in CheckOrCreateMarker exception by @Xinerki in https://github.com/jellyfin/jellyfin/pull/15341
- avoid Take(0) when Limit == 0 in https://github.com/jellyfin/jellyfin/pull/14608
- Proper pinning of SkiaSharp to prevent accidental updates by @MarkCiliaVincenti in https://github.com/jellyfin/jellyfin/pull/15736
- Optimize GetUniqueFlags
() by @stevenaw in https://github.com/jellyfin/jellyfin/pull/15774 - Remove legacy API route middleware by @nielsvanvelzen in https://github.com/jellyfin/jellyfin/pull/15669
- parse more information from book filenames by @dkanada in https://github.com/jellyfin/jellyfin/pull/15655
- Library: Async the SaveImages function by @luigi311 in https://github.com/jellyfin/jellyfin/pull/15718
- Update issue template version to 10.11.5 by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/15798
- Fixed Multi Sort in New ActivityManager by @bjorntp in https://github.com/jellyfin/jellyfin/pull/15820
- Add myself to CONTRIBUTORS.md by @allmazz in https://github.com/jellyfin/jellyfin/pull/15831
- Fix GET MetadataEditor ContentTypeOptions for mixed content by @Smeagolworms4 in https://github.com/jellyfin/jellyfin/pull/15797
- Fixed issue with ABI Compatability - Difference not completing by @PeachesMLG in https://github.com/jellyfin/jellyfin/pull/15924
- Upgrade Swashbuckle and fix OpenAPI spec by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/15886
- Optimize
StringHelper.FirstToUpper()by @stevenaw in https://github.com/jellyfin/jellyfin/pull/15916 - Fix API diff workflow by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/15888
- Fix KeyNotFoundException in CryptographyProvider when iterations parameter is missing by @ZeusCraft10 in https://github.com/jellyfin/jellyfin/pull/15958
- Add TrueHD and DTS codes string for HLS by @nyanmisaka in https://github.com/jellyfin/jellyfin/pull/15959
- fix: Handle unknown item types gracefully in DeserializeBaseItem by @ZeusCraft10 in https://github.com/jellyfin/jellyfin/pull/15956
- Update to .NET 10.0 by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/15475
- Refactor HLS transcode seeking by @abitofevrything in https://github.com/jellyfin/jellyfin/pull/15926
- Fix zh-CN subtitle language display by @ZeusCraft10 in https://github.com/jellyfin/jellyfin/pull/15947
- Fix typos in XML documentation comments by @vignesh1507 in https://github.com/jellyfin/jellyfin/pull/15997
- Update issue template version to 10.11.6 by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16059
- fix: prevent premature disposal of HTTP subtitle streams by @lostb1t in https://github.com/jellyfin/jellyfin/pull/14809
- SessionManager: Log when playback is started by @jpds in https://github.com/jellyfin/jellyfin/pull/15908
- extract local metadata from OPF and EPUB files by @dkanada in https://github.com/jellyfin/jellyfin/pull/15604
- Remove some deprecated API members by @nielsvanvelzen in https://github.com/jellyfin/jellyfin/pull/16110
- Fix: Resolve CA1849 synchronous IO in EpubImageProvider by @Gladtbam in https://github.com/jellyfin/jellyfin/pull/16124
- Fix TMDB language handling: support full ISO 639-1 + ISO 3166-1 codes (e.g. zh-CN, zh-TW) by @Daydreamer-riri in https://github.com/jellyfin/jellyfin/pull/16151
- Add curly brace and parentheses support for parsing attribute values by @nileshp87 in https://github.com/jellyfin/jellyfin/pull/14927
- Skip validation for empty landing preferences by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16178
- Trim names and roles for people by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16181
- Fix container and updated by @JPVenson in https://github.com/jellyfin/jellyfin/pull/16202
- Fix: Add ‘Kairon; IRSE!’ to artist whitelist by @loop95 in https://github.com/jellyfin/jellyfin/pull/14709
- Add moveToTop option to IPlaylistManager.AddItemToPlaylistAsync by @kevgrig in https://github.com/jellyfin/jellyfin/pull/15138
- TmdbSeriesProvider: Set ProductionYear field by @DerMaddis in https://github.com/jellyfin/jellyfin/pull/16144
- Fix episodes appearing in Season Unknown incorrectly and prevent unnecessary virtual season creation by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16236
- Mitigate pull_request_target privilege escalation by @andrewrabert in https://github.com/jellyfin/jellyfin/pull/16263
- Upgrade Swashbuckle to v10 by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16256
- Fix malformed query string in StreamInfo.ToUrl() causing 500 error via proxies by @cosu in https://github.com/jellyfin/jellyfin/pull/16255
- Revise note on hosting web client for development by @JPVenson in https://github.com/jellyfin/jellyfin/pull/16281
- Update JetBrains logo link in README.md by @anthonylavado in https://github.com/jellyfin/jellyfin/pull/16323
- AIFF support: add .aifc as audio file type, remove .aiff as image file type in https://github.com/jellyfin/jellyfin/pull/16274
- Use artist images for music library thumbnail by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16240
- Fix near-1:1 SAR values falsely flagged as anamorphic by @NoFear0411 in https://github.com/jellyfin/jellyfin/pull/16318
- Add missing ProducesResponseType(401) to QuickConnectController.InitiateQuickConnect by @JuanCalderon-17 in https://github.com/jellyfin/jellyfin/pull/16331
- Fix ItemValues Type checks by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16160
- Return BadRequest when an invalid set of filters is given by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16398
- Use generic Enum overloads to resolve CA2263 warnings by @jaxx2104 in https://github.com/jellyfin/jellyfin/pull/16395
- Respect library country code for parental ratings by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16388
- Fix remote image language priority to prefer English over no-language by @redinsch in https://github.com/jellyfin/jellyfin/pull/16368
- Recognize “.m4b”, “.m4a”, “.aac”, “.flac”, “.mp3”, and “.opus” as an audio-book formats by @lousando in https://github.com/jellyfin/jellyfin/pull/15377
- include external IDs and URLs for book providers by @dkanada in https://github.com/jellyfin/jellyfin/pull/15593
- Fix int32 overflow in QSV rate-control parameter computation by @scheilch in https://github.com/jellyfin/jellyfin/pull/16376
- fix crashes on devices that don’t support ipv6 by @JanzenJohn in https://github.com/jellyfin/jellyfin/pull/15841
- Fix filename truncation when bracketed tags appear mid-filename by @tyage in https://github.com/jellyfin/jellyfin/pull/16222
- Add spec-compliant dvh1 HLS variant for Dolby Vision Profile 5 by @NoFear0411 in https://github.com/jellyfin/jellyfin/pull/16362
- Fix attachment extraction of files without video or audio stream by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16312
- More robust date handling in Library DB migration by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16474
- Add ignore patterns for Hungarian sample files by @furdiburd in https://github.com/jellyfin/jellyfin/pull/16238
- fix: cap GetVideoBitrateParamValue at 400 Mbps by @scheilch in https://github.com/jellyfin/jellyfin/pull/16467
- recognize underscore and dot separators for multi-version grouping by @upscaylman in https://github.com/jellyfin/jellyfin/pull/16465
- split openapi workflows between pull request and merge by @dkanada in https://github.com/jellyfin/jellyfin/pull/16463
- Only set IsAvc for video streams by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16507
- Cleanup trickplay cache dir on failure by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16365
- remove nested directory for openapi workflows by @dkanada in https://github.com/jellyfin/jellyfin/pull/16524
- Update issue template version to 10.11.7 by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16530
- Add callback for segment data pruning to IMediaSegmentProvider by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16419
- fix openapi report and publish workflows by @dkanada in https://github.com/jellyfin/jellyfin/pull/16556
- Fix parental ratings not working on music albums by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16553
- Fix UDP Auto-Discovery returning IPv6 for cross-subnet IPv4 requests by @ZeusCraft10 in https://github.com/jellyfin/jellyfin/pull/15902
- fix invalid workflow on openapi report job by @dkanada in https://github.com/jellyfin/jellyfin/pull/16561
- edit openapi files in place with sed by @dkanada in https://github.com/jellyfin/jellyfin/pull/16569
- add StartIndex and ParentId to person search by @dkanada in https://github.com/jellyfin/jellyfin/pull/16397
- Add AlbumNormalizationGain field to BaseItemDto by @HeroBrine1st in https://github.com/jellyfin/jellyfin/pull/14745
- Reverse check for track changed by @bilbofroggins in https://github.com/jellyfin/jellyfin/pull/16501
- Fix BoxSet parentId being ignored in item queries by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16490
- Update issue template version to 10.11.8 by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16573
- Don’t spam debug log with items without rating by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16342
- Backport security fixes by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16577
- Fix FolderStorageInfo to show parent filesystem by @joshuaboniface in https://github.com/jellyfin/jellyfin/pull/16456
- Fix HDR tonemapping for BDMV content by @ddemarco5 in https://github.com/jellyfin/jellyfin/pull/16609
- Fix language display for ISO 639-2-only codes (e.g. mul, und, mis, zxx) by @shocklateboy92 in https://github.com/jellyfin/jellyfin/pull/16567
- Respect EnableSubtitleExtraction setting in subtitle delivery by @LTe in https://github.com/jellyfin/jellyfin/pull/16380
- add NameStartsWith and NameLessThan filters to Person search by @dkanada in https://github.com/jellyfin/jellyfin/pull/16619
- Fix in-process restart by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16482
- Fix artist metadata not being fetched on initial library scan by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16606
- chore(ci): Add permissions grant by @jsoref in https://github.com/jellyfin/jellyfin/pull/13443
- fix: retain subtitles spanning HLS segment boundaries by @LiHRaM in https://github.com/jellyfin/jellyfin/pull/16594
- Don’t allow library name with leading or trailing space by @gnattu in https://github.com/jellyfin/jellyfin/pull/13491
- Added Tanzania countries.json by @ewkonzo in https://github.com/jellyfin/jellyfin/pull/14406
- Move rename command permission check to script by @felix920506 in https://github.com/jellyfin/jellyfin/pull/11231
- Set XmlTvProgram.IsLive by @SenorSmartyPants in https://github.com/jellyfin/jellyfin/pull/8890
- Remove global subtitle configuration by @KGT1 in https://github.com/jellyfin/jellyfin/pull/14957
- Update to Jellyfin.XmlTv 10.12.0-pre1 by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16659
- Enable jellyfin.db customized path by @twsouthwick in https://github.com/jellyfin/jellyfin/pull/15355
- Include item path in provider error log messages by @johnpc in https://github.com/jellyfin/jellyfin/pull/16667
- Skip libraries without enabled subtitle providers in SubtitleScheduledTask by @MBR-0001 in https://github.com/jellyfin/jellyfin/pull/16649
- fix: add image/jpg to MIME type extension lookup by @jskoetsier in https://github.com/jellyfin/jellyfin/pull/16658
- Remove all JF contributors from Emby list by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16694
- Upgrade to xunit v3 by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16666
- Fix watched status resetting on re-watch by @MSalman5230 in https://github.com/jellyfin/jellyfin/pull/15762
- improve openapi endpoint categorization by @dkanada in https://github.com/jellyfin/jellyfin/pull/16698
- Fix IPv6 prefixes not recognized as proxy by @dwandw in https://github.com/jellyfin/jellyfin/pull/16672
- hide HLS controllers and deprecate unused endpoints by @dkanada in https://github.com/jellyfin/jellyfin/pull/16715
- fix: use symmetric 15s default for skip forward/backward lengths by @tcsenpai in https://github.com/jellyfin/jellyfin/pull/16739
- Avoid SSA to ASS conversion and loss of styles by @nyanmisaka in https://github.com/jellyfin/jellyfin/pull/16744
- feat/audiobook_chapters by @sevenrats in https://github.com/jellyfin/jellyfin/pull/16518
- Query Performance Improvements by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16062
- Fix FFProbeVideoInfo downloading subtitles without considering internal streams by @MBR-0001 in https://github.com/jellyfin/jellyfin/pull/16747
- Fix triple digit episode number handling by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16475
- fix person TotalRecordCount when limit is applied by @dkanada in https://github.com/jellyfin/jellyfin/pull/16616
- Fix Playlist and Boxset query, save and count performance by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16761
- Fix keyframe duration overshoot breaking playback by @dyld-w in https://github.com/jellyfin/jellyfin/pull/16704
- Implement ignore rule caching by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16166
- Honor episode NFO season during metadata merge by @itz4blitz in https://github.com/jellyfin/jellyfin/pull/16702
- Fix dummy chapter handling for videos with a single chapter or short duration. by @ExpctING in https://github.com/jellyfin/jellyfin/pull/16695
- Add CACHEDIR.tag support by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16478
- Keep legacy authorization enabled by @nielsvanvelzen in https://github.com/jellyfin/jellyfin/pull/16754
- Fix use of thread-unsafe List
.Sort() by @gabeluci in https://github.com/jellyfin/jellyfin/pull/16777 - Guard against null-overwrite of saved audio/subtitle track selections by @llaforest in https://github.com/jellyfin/jellyfin/pull/16769
- Speed-up LatestItems for Music by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16756
- Fix EPG issues by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16220
- Fix rewatch query by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16778
- Remove unnecessary ToList calls in TrickplayManager by @poytiis in https://github.com/jellyfin/jellyfin/pull/16322
- Add different Slovak and Czech translation of Season for parsing by @Biosias in https://github.com/jellyfin/jellyfin/pull/16646
- Add the filename to exceptions in DeserializeFromFile() by @lcorbasson in https://github.com/jellyfin/jellyfin/pull/16246
- Fix UserManager after EFcore refactor (backport #15368) by @JPVenson in https://github.com/jellyfin/jellyfin/pull/16782
- Fix subtitle save path by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16779
- Move MusicBrainz Query client to plugin instance by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16780
- Fix unique people response for query if no item ID is supplied by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16783
- Ignore season directories with no video for TV Shows by @LmanTW in https://github.com/jellyfin/jellyfin/pull/16611
- Fix #16308: Community ratings not updating after changing .nfo file. by @PERSONALPANCHIWIRIS in https://github.com/jellyfin/jellyfin/pull/16466
- Remove DigitalOcean from sponsors section by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16788
- Fix Canadian rating and fallback to unrated if we have a CountryCode but no matching rating by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16328
- Add startup mode to migrate or seed the database on cmd by @JPVenson in https://github.com/jellyfin/jellyfin/pull/16319
- Fix live stream consumer leak on negative PositionTicks by @WizardOfYendor1 in https://github.com/jellyfin/jellyfin/pull/16321
- Parse provider IDs from season and episode folder/file names by @IDisposable in https://github.com/jellyfin/jellyfin/pull/16472
- Fix MusicBrainz test. by @IDisposable in https://github.com/jellyfin/jellyfin/pull/16789
- fix person type exclusion in api response by @dkanada in https://github.com/jellyfin/jellyfin/pull/16784
- Switch to new version scheme by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16758
- Allow tmdb as an alias for tmdbid provider id by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16433
- Add OriginalLanguage as option to PreferredAudioLanguage by @Lampan-git in https://github.com/jellyfin/jellyfin/pull/12579
- Fix CA1051 and CA1815 warnings, Change public fields to auto properties by @tjwalkr3 in https://github.com/jellyfin/jellyfin/pull/14847
- Fix Segment Provider Configuration by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16798
- IOException with STRM HTTP URLs by @benbenmoss in https://github.com/jellyfin/jellyfin/pull/16290
- Fix artist duplicates by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16807
- Add videoRotation profile condition by @nyanmisaka in https://github.com/jellyfin/jellyfin/pull/16803
- Print warning on invalid Subnets in Network/Proxy configuration by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16793
- Suppress CA2213 false positive on ApplicationHost._pluginManager (#2149) by @bittoby in https://github.com/jellyfin/jellyfin/pull/16792
- Use SortName when sorting by name by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16804
- Safeguard against invalid GUIDs by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16813
- consolidate OpenAPI categories and deprecate startup routes by @dkanada in https://github.com/jellyfin/jellyfin/pull/16757
- Reference correct .NET version in README by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16831
- return music artists from person endpoints by @dkanada in https://github.com/jellyfin/jellyfin/pull/16721
- Update log for user session related concurrency update fails by @JPVenson in https://github.com/jellyfin/jellyfin/pull/16835
- Add Accept-Language header support and cleanup translations by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16488
- Implement similarity providers by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/15970
- Implement multiple versions for episodes. by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16828
- New filters for audio and subtitle languages by @TheMelmacian in https://github.com/jellyfin/jellyfin/pull/9787
- Set max rating for splashscreen to 13 by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16852
- Fix CA1819 warnings in ChannelFeatures by using IReadOnlyList by @jtvhd6 in https://github.com/jellyfin/jellyfin/pull/16853
- fix: add null check for non-existent program in GetProgram by @BrunoSync in https://github.com/jellyfin/jellyfin/pull/16858
- Misc fixes by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16837
- fix: write livetv recording NFO dateadded as UTC by @tayfun-akguc in https://github.com/jellyfin/jellyfin/pull/16863
- Embed external subtitles into MKV when transcoding by @LTe in https://github.com/jellyfin/jellyfin/pull/16448
- Use —batch —yes for installing jellyfin keyring in devcontainer by @IDisposable in https://github.com/jellyfin/jellyfin/pull/16878
- Fix integrated provider images by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16855
- Modernize version display in UI by @JPVenson in https://github.com/jellyfin/jellyfin/pull/16862
- Have device deletion take list of ids by @LePips in https://github.com/jellyfin/jellyfin/pull/12834
- Add support for filtering boxsets by parentId by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16882
- Reorder Migrations and fix failing migration by @JPVenson in https://github.com/jellyfin/jellyfin/pull/16861
- Add CI format check by @jakobkukla in https://github.com/jellyfin/jellyfin/pull/15250
- Fix Merge Conflict Labeler by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16892
- Add support for filtering playlists by parentId by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16893
- Update issue template version to 10.11.9 by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16897
- fix: suppress repeated PriorityClass warning in MediaEncoder by @psavarmattas in https://github.com/jellyfin/jellyfin/pull/16872
- Backport: Fix/user manager collation by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16919
- Update issue template version to 10.11.10 by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16927
- Fix inconsistent extradata generated by hevc_vaapi on AMD driver by @nyanmisaka in https://github.com/jellyfin/jellyfin/pull/16913
- Improve OriginalLanguage normalization and inheritance by @Lampan-git in https://github.com/jellyfin/jellyfin/pull/16829
- Fix movie recommendations by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16856
- Fix A/V desync when resuming HLS with video transcode + audio copy by @LTe in https://github.com/jellyfin/jellyfin/pull/16580
- Fix Merge Conflict Labeler #2 by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16963
- Add new viewtypes options by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16177
- Add a collection API for
Included Infeature by @XSAM in https://github.com/jellyfin/jellyfin/pull/15516 - Fix CA2007 warnings in InstallationManager by @jonesy827 in https://github.com/jellyfin/jellyfin/pull/16946
- Use ConfigureAwait(false) in CollectionController by @PCEWLKR in https://github.com/jellyfin/jellyfin/pull/16953
- Remove NowPlayingQueueFullItems from session DTOs by @PCEWLKR in https://github.com/jellyfin/jellyfin/pull/16976
- Compare old file byte-by-byte to new stream by @IDisposable in https://github.com/jellyfin/jellyfin/pull/16936
- Add support for VobSub subtitle streams by @altqx in https://github.com/jellyfin/jellyfin/pull/16552
- Fix inaccessible artist when they exist in multiple libraries by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16977
- Fix similarity by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16942
- Fix Schedules Direct API Error Codes by @arazilsongweaver in https://github.com/jellyfin/jellyfin/pull/16920
- Fix folders being identified as seasons in mixed libraries by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16259
- Only resolve symlinks on playback by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16965
- Re-disable legacy authorization methods by default by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16992
- Write subtitles using SubtitleEdit by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16805
- Fix recently added episode links and posters by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16967
- Trim tags by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16994
- Fix incorrect list capacity by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16996
- Only default recursive to true if we have includeItemTypes by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16999
- Make EncoderPreset non nullable by @nyanmisaka in https://github.com/jellyfin/jellyfin/pull/17007
- Extract attachments in one ffmpeg command when dumping by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16915
- Fix season unknown for flat TV structures by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/16995
- Improve Merge Conflict Labeler by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/17018
- Prefer subtitle extension over codec by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/16998
- Enforce parental filtering on additional endpoints by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/17019
- Fix playlist visibility by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/17025
- Fix subtitle replacement not invalidating cache by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/17028
- Fix external data pruning on item deletion by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16941
- Discover existing trickplay files on scan by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16945
- Update issue template version to 10.11.11 by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/17035
- Fix xUnit1051 in UserManagerLockHelperTests by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/17043
- fix(dto): prefer PlaylistsFolder primary image for playlists tiles by @beateixeira04 in https://github.com/jellyfin/jellyfin/pull/16520
- Implement search providers by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/16121
- Refresh live TV channel image when remapped (alt #7843) (fixes #7834) by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/10841
- Media source handling fixes by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/17041
- Prefer local alternate versions when deduplicating linked children by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/17042
- Add code assistance section to PR template by @nielsvanvelzen in https://github.com/jellyfin/jellyfin/pull/17054
- migrate local comic providers to server codebase by @dkanada in https://github.com/jellyfin/jellyfin/pull/16444
- Fix duplicate trickplay images for interlaced videos by @nyanmisaka in https://github.com/jellyfin/jellyfin/pull/17058
- Fix CleanName and CleanValue refresh by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/17064
- Assign correct season info to new episodes by @ivanjx in https://github.com/jellyfin/jellyfin/pull/17051
- Fix duplicate key collision by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/17083
- Fix AudioDb album description not displayed for English (mirror of #16606) by @Gadnief in https://github.com/jellyfin/jellyfin/pull/17081
- Add support for background images and episode thumbnails from XMLTV by @SheaSmith in https://github.com/jellyfin/jellyfin/pull/17077
- Fix AlbumIds filtering by Name instead of by Id by @matt-teahan in https://github.com/jellyfin/jellyfin/pull/17085
- Replace usage of SharpCompress by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/17089
- Fetch TV Shows creators from TMDB by @Rant423 in https://github.com/jellyfin/jellyfin/pull/17107
- Always apply recursive when filters are requested by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/17088
- Extend TranscodingReason reporting by @Shadowghost in https://github.com/jellyfin/jellyfin/pull/17106
- improve book resolution from filename by @dkanada in https://github.com/jellyfin/jellyfin/pull/17087
- Follow native interoperability best practices by @Bond-009 in https://github.com/jellyfin/jellyfin/pull/17099
- Fix episode air date offset after initial scan by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/17121
- Fix series year lost during name parsing by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/17112
- Fixed “Deleting media that is still being watched in SyncPlay results in errors” by @pokreman06 in https://github.com/jellyfin/jellyfin/pull/14935
- Skip parsing root-level folders in SeriesResolver by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/17116
- Deprecate the redundant /Trailers endpoint by @moontwister in https://github.com/jellyfin/jellyfin/pull/17094
- Fix audio sample rate forced to 48 kHz for non-Opus codecs by @moontwister in https://github.com/jellyfin/jellyfin/pull/17090
- Fix Identify returning wrong results by @theguymadmax in https://github.com/jellyfin/jellyfin/pull/17146
New Contributors
- @dpieski made their first contribution in https://github.com/jellyfin/jellyfin/pull/15398
- @allmazz made their first contribution in https://github.com/jellyfin/jellyfin/pull/15437
- @CodyEngel made their first contribution in https://github.com/jellyfin/jellyfin/pull/14824
- @kevgrig made their first contribution in https://github.com/jellyfin/jellyfin/pull/15227
- @KarkaLT made their first contribution in https://github.com/jellyfin/jellyfin/pull/15538
- @audrey-inglish made their first contribution in https://github.com/jellyfin/jellyfin/pull/14879
- @Xinerki made their first contribution in https://github.com/jellyfin/jellyfin/pull/15341
- @stevenaw made their first contribution in https://github.com/jellyfin/jellyfin/pull/15774
- @luigi311 made their first contribution in https://github.com/jellyfin/jellyfin/pull/15718
- @bjorntp made their first contribution in https://github.com/jellyfin/jellyfin/pull/15820
- @Smeagolworms4 made their first contribution in https://github.com/jellyfin/jellyfin/pull/15797
- @ZeusCraft10 made their first contribution in https://github.com/jellyfin/jellyfin/pull/15958
- @abitofevrything made their first contribution in https://github.com/jellyfin/jellyfin/pull/15926
- @vignesh1507 made their first contribution in https://github.com/jellyfin/jellyfin/pull/15997
- @jpds made their first contribution in https://github.com/jellyfin/jellyfin/pull/15908
- @Gladtbam made their first contribution in https://github.com/jellyfin/jellyfin/pull/16124
- @Daydreamer-riri made their first contribution in https://github.com/jellyfin/jellyfin/pull/16151
- @nileshp87 made their first contribution in https://github.com/jellyfin/jellyfin/pull/14927
- @loop95 made their first contribution in https://github.com/jellyfin/jellyfin/pull/14709
- @DerMaddis made their first contribution in https://github.com/jellyfin/jellyfin/pull/16144
- @cosu made their first contribution in https://github.com/jellyfin/jellyfin/pull/16255
- @NoFear0411 made their first contribution in https://github.com/jellyfin/jellyfin/pull/16318
- @JuanCalderon-17 made their first contribution in https://github.com/jellyfin/jellyfin/pull/16331
- @jaxx2104 made their first contribution in https://github.com/jellyfin/jellyfin/pull/16395
- @redinsch made their first contribution in https://github.com/jellyfin/jellyfin/pull/16368
- @lousando made their first contribution in https://github.com/jellyfin/jellyfin/pull/15377
- @scheilch made their first contribution in https://github.com/jellyfin/jellyfin/pull/16376
- @JanzenJohn made their first contribution in https://github.com/jellyfin/jellyfin/pull/15841
- @tyage made their first contribution in https://github.com/jellyfin/jellyfin/pull/16222
- @furdiburd made their first contribution in https://github.com/jellyfin/jellyfin/pull/16238
- @upscaylman made their first contribution in https://github.com/jellyfin/jellyfin/pull/16465
- @HeroBrine1st made their first contribution in https://github.com/jellyfin/jellyfin/pull/14745
- @bilbofroggins made their first contribution in https://github.com/jellyfin/jellyfin/pull/16501
- @ddemarco5 made their first contribution in https://github.com/jellyfin/jellyfin/pull/16609
- @shocklateboy92 made their first contribution in https://github.com/jellyfin/jellyfin/pull/16567
- @LTe made their first contribution in https://github.com/jellyfin/jellyfin/pull/16380
- @LiHRaM made their first contribution in https://github.com/jellyfin/jellyfin/pull/16594
- @ewkonzo made their first contribution in https://github.com/jellyfin/jellyfin/pull/14406
- @twsouthwick made their first contribution in https://github.com/jellyfin/jellyfin/pull/15355
- @johnpc made their first contribution in https://github.com/jellyfin/jellyfin/pull/16667
- @jskoetsier made their first contribution in https://github.com/jellyfin/jellyfin/pull/16658
- @MSalman5230 made their first contribution in https://github.com/jellyfin/jellyfin/pull/15762
- @dwandw made their first contribution in https://github.com/jellyfin/jellyfin/pull/16672
- @tcsenpai made their first contribution in https://github.com/jellyfin/jellyfin/pull/16739
- @sevenrats made their first contribution in https://github.com/jellyfin/jellyfin/pull/16518
- @dyld-w made their first contribution in https://github.com/jellyfin/jellyfin/pull/16704
- @itz4blitz made their first contribution in https://github.com/jellyfin/jellyfin/pull/16702
- @ExpctING made their first contribution in https://github.com/jellyfin/jellyfin/pull/16695
- @gabeluci made their first contribution in https://github.com/jellyfin/jellyfin/pull/16777
- @llaforest made their first contribution in https://github.com/jellyfin/jellyfin/pull/16769
- @poytiis made their first contribution in https://github.com/jellyfin/jellyfin/pull/16322
- @Biosias made their first contribution in https://github.com/jellyfin/jellyfin/pull/16646
- @lcorbasson made their first contribution in https://github.com/jellyfin/jellyfin/pull/16246
- @LmanTW made their first contribution in https://github.com/jellyfin/jellyfin/pull/16611
- @PERSONALPANCHIWIRIS made their first contribution in https://github.com/jellyfin/jellyfin/pull/16466
- @WizardOfYendor1 made their first contribution in https://github.com/jellyfin/jellyfin/pull/16321
- @benbenmoss made their first contribution in https://github.com/jellyfin/jellyfin/pull/16290
- @bittoby made their first contribution in https://github.com/jellyfin/jellyfin/pull/16792
- @jtvhd6 made their first contribution in https://github.com/jellyfin/jellyfin/pull/16853
- @BrunoSync made their first contribution in https://github.com/jellyfin/jellyfin/pull/16858
- @tayfun-akguc made their first contribution in https://github.com/jellyfin/jellyfin/pull/16863
- @psavarmattas made their first contribution in https://github.com/jellyfin/jellyfin/pull/16872
- @XSAM made their first contribution in https://github.com/jellyfin/jellyfin/pull/15516
- @jonesy827 made their first contribution in https://github.com/jellyfin/jellyfin/pull/16946
- @PCEWLKR made their first contribution in https://github.com/jellyfin/jellyfin/pull/16953
- @altqx made their first contribution in https://github.com/jellyfin/jellyfin/pull/16552
- @arazilsongweaver made their first contribution in https://github.com/jellyfin/jellyfin/pull/16920
- @beateixeira04 made their first contribution in https://github.com/jellyfin/jellyfin/pull/16520
- @Gadnief made their first contribution in https://github.com/jellyfin/jellyfin/pull/17081
- @SheaSmith made their first contribution in https://github.com/jellyfin/jellyfin/pull/17077
- @matt-teahan made their first contribution in https://github.com/jellyfin/jellyfin/pull/17085
- @Rant423 made their first contribution in https://github.com/jellyfin/jellyfin/pull/17107
- @pokreman06 made their first contribution in https://github.com/jellyfin/jellyfin/pull/14935
- @moontwister made their first contribution in https://github.com/jellyfin/jellyfin/pull/17094
Full Changelog: https://github.com/jellyfin/jellyfin/compare/v10.11.11…v12.0-rc1