🚀 Jellyfin Server 10.9.0
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 can find more details about and discuss this release on our forums.
Changelog
🔒 Security
- Fix library access [PR jellyfin#8732], by @thornbill
🌟 Highlights
- feat: Fully support hardware filters on Apple VideoToolbox [PR jellyfin#11014], by @gnattu
- Add full HWA transcoding pipeline for Rockchip RKMPP [PR jellyfin#10748], by @nyanmisaka
- Move DLNA to Plugin (Part 2) [PR jellyfin#10558], by @barronpm
- Update to .NET 8 [PR jellyfin#10463], by @Bond-009
- Trickplay preview images [PR jellyfin#9554], by @nicknsy
- Add AV1 hardware and software encoding [PR jellyfin#9907], by @nyanmisaka
- Add support for ffmpeg's segment deletion for HLS [PR jellyfin#8744], by @DomiStyle
- refactor: admin users must have a non-empty password [PR jellyfin#9821], by @cvium
- chore: deprecate EasyPassword as it isn't very secure [PR jellyfin#9820], by @cvium
- Audio normalization [PR jellyfin#9222], by @TelepathicWalrus
- Add Lyrics API Endpoint [PR jellyfin#8381], by @1hitsong
- Add hearing impaired subtitle stream indicator [PR jellyfin#7379], by @1337joe
🏗️ Enhancements
- Fix the fragile segment deletion [PR jellyfin#11161], by @nyanmisaka
- Enable nullable for more files [PR jellyfin#11149], by @Bond-009
- Catch delete encoded media file exceptions [PR jellyfin#11165], by @vessd
- Add ability to enable/disable libraries [PR jellyfin#11037], by @btopherjohnson
- Add LSR/CITY to artist whitelist [PR jellyfin#11160], by @1337joe
- Add MediaStreamProtocol enum [PR jellyfin#10153], by @nielsvanvelzen
- Move userId in API from route to optional query parameter [PR jellyfin#11074], by @crobibero
- Fix the preproc filters for dvbsub burn-in [PR jellyfin#11034], by @nyanmisaka
- Add EqualsAny for VideoCodecTag condition [PR jellyfin#10965], by @nyanmisaka
- Correct VIDEO-RANGE field for HLG content [PR jellyfin#10968], by @nyanmisaka
- AsyncKeyedLock migration [PR jellyfin#10801], by @MarkCiliaVincenti
- Extract all subtitle streams simultaneously [PR jellyfin#10884], by @alltilla
- Feature/ghcs ffmpegversion [PR jellyfin#10888], by @JPVenson
- Fixed some issues in PGSSUB and ASS subtitle burn-in [PR jellyfin#10924], by @nyanmisaka
- Remove UserManager Cache [PR jellyfin#10781], by @barronpm
- Use -noauto{scale,rotate} for disabling auto filters [PR jellyfin#10810], by @nyanmisaka
- Make TMDb api key configurable, fix missing/wrong image urls [PR jellyfin#10737], by @1337joe
- Update /Device endpoint to return CustomName [PR jellyfin#10422], by @scampower3
- Use
eof_action=pass
when overlaying subtitles [PR jellyfin#10710], by @jkhsjdhjs - Fix Nullability for INetworkManager.GetBindAddress [PR jellyfin#10659], by @barronpm
- Move Jellyfin.Networking [PR jellyfin#10660], by @barronpm
- Make "activeWithinSeconds" independent from "controllableByUserId" parameter [PR jellyfin#10649], by @felix920506
- Fix A53 CC SEI breaking H26x_VAAPI hardware encode [PR jellyfin#10275], by @nyanmisaka
- Fix performance loss of QSV HDR tone-mapping on Windows [PR jellyfin#10151], by @nyanmisaka
- Add option to include resumable items in next up requests [PR jellyfin#10200], by @thornbill
- Remove one session per device id limitation [PR jellyfin#10197], by @thornbill
- Fix AV1 NVENC encoder profile option [PR jellyfin#10199], by @nyanmisaka
- Fix AV1 playback in LiveTV [PR jellyfin#10183], by @nyanmisaka
- Fix MJPEG video is recognized as embedded image [PR jellyfin#10173], by @nyanmisaka
- Fix the issue that audio bsf only takes effect for remuxing [PR jellyfin#10172], by @nyanmisaka
- Expand AMD VA-API Vulkan filtering support to Polaris/gfx8 [PR jellyfin#10074], by @nyanmisaka
- Only disable the global_header for AMD HEVC encoder [PR jellyfin#10045], by @nyanmisaka
- Rearrage the Amd vaapi-vulkan pipeline for synchronization [PR jellyfin#9882], by @nyanmisaka
- Use default files to remove index.html from url [PR jellyfin#9776], by @thornbill
- Fix vaapi-vulkan subtitle tearing issue [PR jellyfin#9584], by @nyanmisaka
- Adapt Vulkan filtering to 6.0 [PR jellyfin#9429], by @nyanmisaka
- Improve the Vulkan based subtitle burn-in performance [PR jellyfin#9402], by @nyanmisaka
- Disable splash screen image by default [PR jellyfin#9060], by @thornbill
📈 General Changes
- fix: make sure the dimension is divisible by two for zscale [PR jellyfin#11185], by @gnattu
- refactor: use Channels as queueing mechanism for periodic websocket messages [PR jellyfin#11092], by @cvium
- Convert bump_version to bumper only [PR jellyfin#11184], by @joshuaboniface
- Restore bump_version script [PR jellyfin#11177], by @crobibero
- Remove legacy build utilities [PR jellyfin#11162], by @crobibero
- fix: skip library folders that are inaccessible or empty [PR jellyfin#9291], by @cvium
- Fixes 'replace missing metadata' overwrites existing metadata that does exist [PR jellyfin#11136], by @scampower3
- IIS Hosting [PR jellyfin#11120], by @kimboslice99
- Add a github action to automatically precheck new issues for problems [PR jellyfin#11154], by @felix920506
- Add lyric files to supported extensions [PR jellyfin#11163], by @robert-hamilton36
- Fix parsing of audio PremiereDate property [PR jellyfin#11155], by @sel10ut
- Change parsing logic of audio track title [PR jellyfin#11156], by @sel10ut
- chore: remove repetitive words [PR jellyfin#11159], by @standstaff
- Don't attempt to calculate blurhash for svg [PR jellyfin#11127], by @crobibero
- Specify file as concat when extracting attachments [PR jellyfin#11129], by @crobibero
- Added logging for where config logs and cache directories are stored [PR jellyfin#11124], by @PeachesMLG
- Lowercase MediaStreamProtocol for backwards compatibility [PR jellyfin#11126], by @crobibero
- Cleanup PhotoProvider.cs using new .NET 8 features [PR jellyfin#11119], by @PeachesMLG
- Remove Azure pipelines CI [PR jellyfin#11121], by @joshuaboniface
- Add migration for new plugin repo [PR jellyfin#11100], by @crobibero
- Extract and cache all media attachments in bulk [PR jellyfin#11029], by @alltilla
- Precache livetv program images [PR jellyfin#11083], by @crobibero
- Add support for converting from svg to other image types [PR jellyfin#11077], by @crobibero
- Save embedded lyrics when probing audio [PR jellyfin#11081], by @crobibero
- Always use ffmpeg codec for bluray [PR jellyfin#11079], by @crobibero
- Collect candidate audio streams if no audio index is specified [PR jellyfin#11046], by @dmitrylyzo
- Return backdrops with text as thumb for tmdb [PR jellyfin#11078], by @crobibero
- fix replace missing metadata for music [PR jellyfin#10691], by @bhowe34
- Rename route parameters that are id to be more descriptive [PR jellyfin#11068], by @crobibero
- Store lyrics in the database as media streams [PR jellyfin#9951], by @crobibero
- Remove "Media Playback" option from new issues [PR jellyfin#11033], by @felix920506
- LiveTV MediaSourceProvider refactor [PR jellyfin#11054], by @barronpm
- Add item id to download activity [PR jellyfin#11055], by @crobibero
- Do not dispose the ffmpeg process [PR jellyfin#11064], by @Shadowghost
- Always make userId query parameter optional [PR jellyfin#11024], by @nielsvanvelzen
- Make userId optional in GetProgramsDto [PR jellyfin#11028], by @nielsvanvelzen
- LiveTV Recordings Refactor [PR jellyfin#11045], by @barronpm
- Add PlaybackOrder to Session state [PR jellyfin#10934], by @dkacperski97
- Add IListingsManager Service [PR jellyfin#10981], by @barronpm
- Add missing MIME types for comicbook formats [PR jellyfin#11010], by @rluetzner
- Fix tiles playlist not using relative paths [PR jellyfin#11000], by @nicknsy
- BDMV fixes [PR jellyfin#10990], by @Shadowghost
- Make the bitrate of the fallback stream the same as the original [PR jellyfin#9121], by @dmitrylyzo
- Add icon for Jellyfin Windows build [PR jellyfin#10997], by @nyanmisaka
- Fix tests: discard webm from test mkvs if there is an unsupported codec [PR jellyfin#10999], by @dmitrylyzo
- Escape subtitle extraction input path [PR jellyfin#10992], by @felix920506
- Correct m4b mimetype [PR jellyfin#10980], by @felix920506
- Discard WebM if there is an unsupported codec [PR jellyfin#10772], by @dmitrylyzo
- Update issue report.yml [PR jellyfin#10946], by @felix920506
- Replace IServerEntryPoint with IHostedService [PR jellyfin#10976], by @barronpm
- SchedulesDirect fix [PR jellyfin#10847], by @barronpm
- Fix some incompatible API deprecations [PR jellyfin#10973], by @nielsvanvelzen
- Progress cleanup [PR jellyfin#10969], by @barronpm
- Update README to include default web client urls [PR jellyfin#10949], by @beakerandjake
- Fix InvalidOperationException if log file not found [PR jellyfin#10956], by @beakerandjake
- Live TV DI [PR jellyfin#10951], by @barronpm
- Fix NFO parser to be able to read corrct STRM URL format [PR jellyfin#10870], by @MaVdbussche
- Add IGuideManager service [PR jellyfin#10878], by @barronpm
- Fix long live tv load times, Fixes jellyfin#10761 [PR jellyfin#10881], by @TelepathicWalrus
- Use NuGetAuthenticate@1 [PR jellyfin#10882], by @crobibero
- Fix action building [PR jellyfin#10899], by @Gauvino
- Refactor Dockerfile and build [PR jellyfin#10603], by @Gauvino
- Use helper function to compare guid [PR jellyfin#10825], by @crobibero
- Add ITunerHostManager service and minor LiveTv cleanup [PR jellyfin#10858], by @barronpm
- Fix incorrect path check in CleanupCollectionAndPlaylistPathsTask [PR jellyfin#10876], by @Bond-009
- Fixed disposable not being called [PR jellyfin#10613], by @JPVenson
- Move Live TV code to Jellyfin.LiveTv [PR jellyfin#10838], by @barronpm
- Remove DLNA-specific DeviceProfile code [PR jellyfin#10850], by @barronpm
- Specify DateTimeKind when pulling a DateTime out of the database [PR jellyfin#10823], by @crobibero
- Respond with Service Unavailable if not in correct network [PR jellyfin#10822], by @crobibero
- Detect audio spatial format [PR jellyfin#9996], by @mohd-akram
- Add option to use replaygain tags for audio [PR jellyfin#10566], by @TelepathicWalrus
- Fix NU1507 to allow only nuget.org via nuget.config [PR jellyfin#10396], by @DaveSenn
- Feature/enable gh codespaces [PR jellyfin#10324], by @JPVenson
- Auto Discovery Cleanup [PR jellyfin#10793], by @barronpm
- Fix More Live TV Warnings [PR jellyfin#10818], by @barronpm
- Remove some unused client capabilities and sync code [PR jellyfin#10812], by @nielsvanvelzen
- Fix broken code coverage [PR jellyfin#10788], by @Bond-009
- Add ITranscodeManager [PR jellyfin#10758], by @barronpm
- Fix Somalia's display name [PR jellyfin#10765], by @st3v3nmw
- Fix StreamBuilder tests [PR jellyfin#10757], by @dmitrylyzo
- Fix some warnings in LiveTV [PR jellyfin#10682], by @barronpm
- Quote bash paths to prevent word splitting [PR jellyfin#10672], by @Erotemic
- Fully specify github action versions [PR jellyfin#10738], by @1337joe
- Convert CollectionType to use lowercase enum names [PR jellyfin#10702], by @crobibero
- Remove OpenAPI artifact upload from test workflow [PR jellyfin#10736], by @nielsvanvelzen
- Add new API endpoint to view/update Item UserData [PR jellyfin#10573], by @arabcoders
- Remove unused DLNA models [PR jellyfin#10685], by @barronpm
- Fix: Plugin Installed Alerts missing from Admin Dashboard jellyfin#10620 [PR jellyfin#10625], by @ilovepilav
- Allow persons on books [PR jellyfin#10371], by @Pithaya
- Query Improvements [PR jellyfin#10617], by @barronpm
- LibraryChangedNotifier Cleanup [PR jellyfin#10592], by @barronpm
- Use new .NET 8 features [PR jellyfin#10591], by @Bond-009
- Fix action building [PR jellyfin#10590], by @Gauvino
- Move DLNA to Plugin (Part 1 (Part 2)) [PR jellyfin#10574], by @barronpm
- Convert string MediaType to enum MediaType [PR jellyfin#9762], by @crobibero
- Move DLNA to Plugin (Part 1) [PR jellyfin#10557], by @barronpm
- Add GH Workflow for CI Tests [PR jellyfin#10392], by @DavidFair
- Validate AuthenticationProviderId and PasswordResetProviderId [PR jellyfin#10553], by @Chris-Codes-It
- Convert CollectionType, SpecialFolderType to enum [PR jellyfin#9764], by @crobibero
- Convert ItemSortBy to enum [PR jellyfin#9765], by @crobibero
- Revert SkiaSharp upgrade, fix library scan crashes [PR jellyfin#10544], by @justin-sleep
- Update link to Jellyfin website [PR jellyfin#10501], by @methbkts
- Combine Title and Overview for multi-episodes files for the TMDB provider [PR jellyfin#10078], by @scampower3
- Add IDisposableAnalyzers to more projects [PR jellyfin#10531], by @Bond-009
- Add MALLOC_TRIM_THRESHOLD_ to default ENV [PR jellyfin#10454], by @Shadowghost
- Update SkiaSharp to v2.88.6 [PR jellyfin#10513], by @Bond-009
- Correct docstring for /Upcoming [PR jellyfin#10519], by @s-t-e-v-e-n-k
- Forward user_agent config to ffprobe [PR jellyfin#10448], by @vincent
- jellyfin#10333 Fix for stale PRs check: increase operations, process ascending [PR jellyfin#10473], by @jacobslusser
- Don't remove all tokens if invalid header is provided [PR jellyfin#10490], by @crobibero
- refactor: cache the resize image filter [PR jellyfin#10472], by @cvium
- chore(deps): use Svg.Skia instead of the deprecated SkiaSharp.Svg [PR jellyfin#10471], by @cvium
- Add auto close of an inactive session after X minutes [PR jellyfin#10357], by @herby2212
- add EnableSubtitleManagement permission [PR jellyfin#10410], by @Ch1nkara
- jellyfin#10333 Increases operations per run of GitHub 'stale' action [PR jellyfin#10447], by @jacobslusser
- Fix mismatch between intel VAAPI UMD/KMD in rare cases [PR jellyfin#10451], by @nyanmisaka
- add IAsyncDisposable to DisplayPreferencesManager [PR jellyfin#10455], by @cvium
- chore(deps): downgrade IDisposableAnalyzers to 4.0.4 [PR jellyfin#10457], by @cvium
- Fix fuzz projects [PR jellyfin#10416], by @Bond-009
- Fix a few resharper warnings and appy a few its suggestions [PR jellyfin#10366], by @goremykin
- Customizable Cast Receiver [PR jellyfin#10270], by @crobibero
- Dlna cleanup [PR jellyfin#10391], by @barronpm
- Enable CodeAnalysisTreatWarningsAsErrors for MediaBrowser.Common [PR jellyfin#10389], by @Bond-009
- Multiple Stream changes [PR jellyfin#10390], by @Bond-009
- StreamingHelpers.GetOutputFileExtension should never return null [PR jellyfin#10387], by @Bond-009
- Deprecate CanLaunchWebBrowser [PR jellyfin#10381], by @Bond-009
- Empty Guids shouldn't make it into the refresh queue [PR jellyfin#10379], by @Bond-009
- Refactor URI overrides [PR jellyfin#10051], by @Shadowghost
- Fix HLS playback of m4a files with mjpeg stream [PR jellyfin#10069], by @lonebyte
- XML Parsing Cleanup [PR jellyfin#10352], by @barronpm
- Use Process.WaitForExitAsync added in .NET 5 [PR jellyfin#10378], by @Bond-009
- Fix using movie.nfo first when .nfo also exists [PR jellyfin#10339], by @leovan
- Jellyfin.Drawing minor improvements [PR jellyfin#10347], by @Bond-009
- Add SystemManager service [PR jellyfin#10337], by @barronpm
- Combine Title and Overview for multi-episodes files for NFO file [PR jellyfin#10080], by @scampower3
- Fix multiple FLAC HTTP Live Streaming issues [PR jellyfin#10067], by @lonebyte
- Use CryptoStream to convert stream from base64 [PR jellyfin#10346], by @Bond-009
- Don't create non existent persons in LibraryManager.GetPerson [PR jellyfin#10345], by @Bond-009
- Reduce string allocations [PR jellyfin#10348], by @Bond-009
- Use Authorization header in integration tests [PR jellyfin#10336], by @Bond-009
- Add support for transcode audio file to PCM format [PR jellyfin#10321], by @feilongfl
- Add full version tag for renovate [PR jellyfin#10370], by @1337joe
- Fix/probesize [PR jellyfin#10255], by @thomasjohansen
- Fixed probesize argument passing to FFmpeg [PR jellyfin#10135], by @0x25CBFC4F
- jellyfin#10333 Updates issue stale action to fix issues with not running [PR jellyfin#10334], by @jacobslusser
- Fix JELLYFIN_FFMPEG_OPT is not enabled in fedora ExecStart [PR jellyfin#10330], by @nyanmisaka
- Minor cleanup [PR jellyfin#10331], by @barronpm
- Add book related values to the PersonKind enum [PR jellyfin#10325], by @Pithaya
- Add shebang to jellyfin.init [PR jellyfin#10318], by @MartinWilkerson
- PhotoResolver: change how generated images are detected [PR jellyfin#10222], by @Bond-009
- Allow repeated same tv guide channels on M3U tuner [PR jellyfin#10323], by @hagaygo
- Use IHostLifetime for Shutdown/Restart [PR jellyfin#10261], by @barronpm
- Ignore .zfs folder [PR jellyfin#10219], by @Bond-009
- Add We;Na to artist split whitelist [PR jellyfin#10329], by @1337joe
- Fix sed failing on Docker builds for CentOS/Fedora [PR jellyfin#10285], by @DavidFair
- fix: use TryGetString to avoid crashing, fixes jellyfin#10306 [PR jellyfin#10308], by @cvium
- Update node versions [PR jellyfin#10305], by @thornbill
- CollectionFolder: replace Dictionary + locks with ConcurrentDictionary [PR jellyfin#10276], by @Bond-009
- Make startup script more portable [PR jellyfin#10212], by @brianjmurrell
- Add missing LocalAccessOrRequiresElevationHandler [PR jellyfin#10268], by @crobibero
- Downgrade SkiaSharp to prevent segfault [PR jellyfin#10264], by @Bond-009
- Start adding IDisposableAnalyzers to projects [PR jellyfin#10266], by @Bond-009
- Fully specify version tags for renovate [PR jellyfin#10263], by @1337joe
- Downgrade SkiaSharp.NativeAssets.Linux to prevent segfault [PR jellyfin#10257], by @Bond-009
- Minor LibraryMonitor improvements [PR jellyfin#10218], by @Bond-009
- Extend collections cleanup task to include playlists too [PR jellyfin#10234], by @Shadowghost
- fix: open the connection when using SqliteConnection directly [PR jellyfin#10230], by @cvium
- add auto-bump_version workflow [PR jellyfin#6209], by @h1dden-da3m0n
- Run collect script on failures [PR jellyfin#10217], by @thornbill
- Avoid shell expansion issues [PR jellyfin#10211], by @brianjmurrell
- Update Swashbuckle.AspNetCore.ReDoc to 6.5.0 [PR jellyfin#10210], by @Bond-009
- Add program directories to JELLYFIN_ARGS for sysvinit compatibility [PR jellyfin#10039], by @hugueslarrive
- Add a small Bash script to launch Jellyfin, instead of a symlink. [PR jellyfin#10169], by @gandihar
- Enable nullable for more files [PR jellyfin#10056], by @Bond-009
- Add global.json to specify dotnet version [PR jellyfin#10207], by @crobibero
- Removed nesting levels through block-scoped
using
statement [PR jellyfin#10025], by @Lehonti - Fix typo in NetworkConfiguration.cs [PR jellyfin#10190], by @eltociear
- Add new Spain content rating ERI [PR jellyfin#10165], by @danimart1991
- refactor: use Microsoft.Data.Sqlite instead of SQLitePCL.pretty [PR jellyfin#10138], by @cvium
- Use the correct trancode path [PR jellyfin#10158], by @Bond-009
- Fix a few multiple enumerations [PR jellyfin#10154], by @goremykin
- Enable nullable for more files and add tests [PR jellyfin#10141], by @Bond-009
- Fix debian/ubuntu arm64 build error,runtime argument missing [PR jellyfin#10139], by @FantasyGmm
- Reduce log spam on failed logins [PR jellyfin#10137], by @Bond-009
- Reduce the amount of allocations in GetWhereClauses [PR jellyfin#10114], by @Bond-009
- fix: accessing Standard* of a Process requires manually disposing them afterwards [PR jellyfin#10125], by @cvium
- refactor: use ConcurrentDictionary when IMemoryCache isn't needed [PR jellyfin#10122], by @cvium
- Album gain [PR jellyfin#10085], by @TelepathicWalrus
- Fix French parental rating system [PR jellyfin#10117], by @Elu43
- Add Slovak parental ratings [PR jellyfin#10120], by @sambartik
- Fixes metadata refresh problems with NFO files [PR jellyfin#10090], by @scampower3
- Fix subtitle encoder if webvtt is requested [PR jellyfin#9669], by @sleepycatcoding
- Add parsing for dates with spaces [PR jellyfin#10053], by @christianlegge
- Fix error in test preventing Moq update (jellyfin#10096) [PR jellyfin#10097], by @Bond-009
- Add support for more remote subtitle info [PR jellyfin#10035], by @MBR-0001
- Fix the probing of m4a metadata with missing composer [PR jellyfin#10062], by @lonebyte
- Fix album art extraction for multi-disc music albums [PR jellyfin#10029], by @tallbl0nde
- Fix the is-local check when resetting the password [PR jellyfin#10060], by @lonebyte
- Various improvements [PR jellyfin#9875], by @Shadowghost
- Fix Jellyfin.Networking.Tests [PR jellyfin#10055], by @Bond-009
- Add ability to upload (and save) SDH subtitles [PR jellyfin#10036], by @MBR-0001
- Fix format normalizer for multiple input formats [PR jellyfin#10049], by @Shadowghost
- Change: Add TinyMediaManager compatibility for german parental rating [PR jellyfin#9992], by @Blackskyliner
- Fix Australian parental rating system [PR jellyfin#10006], by @Shadowghost
- fix: set memorystream position after copying [PR jellyfin#10022], by @cvium
- fix jellyfin#9983 MigrateNetworkConfiguration error [PR jellyfin#9987], by @Sky-High
- Extract networking constants [PR jellyfin#9958], by @Shadowghost
- Use RegexGenerator where possible [PR jellyfin#9799], by @Bond-009
- Rewrite NetworkManager and incorporate various fixes from open PRs [PR jellyfin#8147], by @Shadowghost
- Augment tag searching to consider individual ItemValues instead of the delimited tags field [PR jellyfin#8914], by @bradbeattie
- Fix sending websocket messages [PR jellyfin#9948], by @crobibero
- Disable global_header on AMD VA-API encoder [PR jellyfin#9928], by @nyanmisaka
- Add a way to handle more invalid characters when sanitizing a filename [PR jellyfin#9219], by @ProfessionalismIsMyMiddleName
- Disable real time monitoring by default [PR jellyfin#9447], by @Bond-009
- Add support for lyric provider plugins [PR jellyfin#9920], by @nielsvanvelzen
- Fix Websocket OpenApi [PR jellyfin#9935], by @crobibero
- Added CleanupCollection task [PR jellyfin#9231], by @JPVenson
- Migrate VideoRange and VideoRangeType to Enum [PR jellyfin#9890], by @Shadowghost
- Do HEAD request to get content type instead of checking for extension [PR jellyfin#8823], by @Bond-009
- Fixed RTL text not beeing rendered properly on Lib images [PR jellyfin#9612], by @JPVenson
- chore(ci): add labels to docker images [PR jellyfin#9210], by @candrews
- Don't ignore parentId for playlists [PR jellyfin#9909], by @Bond-009
- Add default value to OpenAPI specification for UserPolicy.EnableCollectionManagement [PR jellyfin#9933], by @nielsvanvelzen
- Update stylecop.analyzers to v1.2.0-beta.507 [PR jellyfin#9915], by @Bond-009
- Reduce bottlenecks scan code [PR jellyfin#9863], by @Bond-009
- Move hardcoded LibraryUpdateDuration to ServerConfiguration. [PR jellyfin#9894], by @fhriley
- Use intermediate env for openapi workflow [PR jellyfin#9906], by @crobibero
- Fix jellyfin#9642 backport [PR jellyfin#9902], by @nyanmisaka
- Fix multiple codec checking in CodecProfiles conditions [PR jellyfin#9723], by @dmitrylyzo
- Fix the brightness of VPP tonemap and add the tonemap mode [PR jellyfin#9642], by @nyanmisaka
- Fix the canvas size for DVBSUB and DVDSUB subtitles [PR jellyfin#9671], by @nyanmisaka
- Fix nvenc preset order [PR jellyfin#9538], by @TheTyrius
- Fix codec checking in CodecProfiles conditions [PR jellyfin#9411], by @nyanmisaka
- Whitelist plugin dlls [PR jellyfin#9564], by @AmbulantRex
- Add all websocket messages to generated openapi spec [PR jellyfin#9682], by @crobibero
- Fix InvalidOpEx while trying to read HttpResponseContent 2x [PR jellyfin#9861], by @Bond-009
- Make LUFS property nullable in BaseItemDto [PR jellyfin#9858], by @nielsvanvelzen
- Mock configuration to get SqliteCacheSizeKey during test [PR jellyfin#9857], by @crobibero
- Source SQLite cache_size from an Environment Variable [PR jellyfin#9666], by @Silvenga
- Increase journal_size_limit Defaults [PR jellyfin#9667], by @Silvenga
- Fix TotalRecordCount calculation [PR jellyfin#9818], by @Shadowghost
- Implement NFO named season parsing [PR jellyfin#8203], by @Shadowghost
- Check for Imdb id for series [PR jellyfin#9803], by @Bond-009
- Set removed and added tags recursively [PR jellyfin#9771], by @Shadowghost
- Fix readonlyspan usage [PR jellyfin#9775], by @crobibero
- Rescue malformed Xml response in DLNA PlayTo [PR jellyfin#9759], by @seaeagle1
- Fix playlists library and migration [PR jellyfin#9770], by @Shadowghost
- Fix access to playlists not created by a user [PR jellyfin#9746], by @Shadowghost
- Happy Eyeballs (IP6 fallback to IP4) implementation of http client. [PR jellyfin#8598], by @Neuheit
- Remove ExtendedFileSystemInfo [PR jellyfin#9749], by @Bond-009
- Fix local JPG primary image for video being overwritten by screen grabber [PR jellyfin#9552], by @SenorSmartyPants
- Fix MigrateRatingLevels [PR jellyfin#9461], by @Shadowghost
- Fix FirstTimeSetupHandler not failing on invalid user if not in setup mode [PR jellyfin#9747], by @Shadowghost
- Fix pull request jellyfin#9485 - scaleFactor limitation to 1 [PR jellyfin#9738], by @olanwe
- Whitelist Smith/Kotzen [PR jellyfin#9729], by @1337joe
- sql connection pool [PR jellyfin#9643], by @Bond-009
- Add artist to artist split whitelist [PR jellyfin#9705], by @fuchsmich
- Add artist to artist split whitelist [PR jellyfin#9659], by @pogmommy
- fix: dead link [PR jellyfin#9626], by @brettpetch
- Fix null parental rating comparison [PR jellyfin#9618], by @bradbeattie
- Update issue template to help HWA debugging [PR jellyfin#9645], by @nyanmisaka
- Properly dispose prepared statements [PR jellyfin#9635], by @Bond-009
- jellyfin#7626 Added handling for common FormatExceptions with Skia loading sv… [PR jellyfin#9581], by @JPVenson
- Fix analyzers warnings and suggestions [PR jellyfin#9607], by @goremykin
- Augment similarity with person matches [PR jellyfin#9613], by @bradbeattie
- Use minby and maxby [PR jellyfin#9583], by @goremykin
- Fix migration for MusicBrainz [PR jellyfin#9559], by @IDisposable
- Implement check to hide all libraries when user has no access [PR jellyfin#9536], by @elmuffo
- Add action to close PRs with merge conflicts [PR jellyfin#9561], by @thornbill
- Don't add .spc audio files (jellyfin#9034) [PR jellyfin#9545], by @Bond-009
- Fix item deletion with api key (jellyfin#7610) [PR jellyfin#9541], by @Bond-009
- Fix playlist creation and removal [PR jellyfin#9466], by @Shadowghost
- Add merge conflict comment [PR jellyfin#9529], by @thornbill
- Convert Person.Type to use PersonKind enum [PR jellyfin#9487], by @crobibero
- Fix audio VBR calculation [PR jellyfin#9522], by @knackebrot
- Extras: Clean filename and process NFOs [PR jellyfin#9403], by @SenorSmartyPants
- Multiple HLS codec and bitrate fixes [PR jellyfin#9388], by @Shadowghost
- Don't overwrite NFO images [PR jellyfin#9452], by @SenorSmartyPants
- Fix pre-existing chapter images not being deleted [PR jellyfin#9103], by @DarrenRuane
- Fix file stacking [PR jellyfin#9496], by @mammo0
- Fix jellyfin#9378 [PR jellyfin#9505], by @Bond-009
- Update workflow actions to specify full version [PR jellyfin#9502], by @1337joe
- Reduce usage of GetAwaiter().GetResult() [PR jellyfin#9418], by @Bond-009
- Extend country code rating matching [PR jellyfin#9460], by @Shadowghost
- Fix the bitrate scale factor for h264-to-hevc transcoding [PR jellyfin#9485], by @nyanmisaka
- Add config option to disable dummy chapter generation [PR jellyfin#9410], by @Shadowghost
- Fall back to using "logo" attrib if "tvg-logo" is mssing in M3U-tuner [PR jellyfin#9475], by @gitteric
- Add manual web builds [PR jellyfin#9468], by @thornbill
- Save TVChannel Height if set [PR jellyfin#8777], by @SenorSmartyPants
- Fix DVD and BD folder playback [PR jellyfin#9254], by @Shadowghost
- Fix Live TV hardware decoding [PR jellyfin#9430], by @nyanmisaka
- Fix stream map when using filter_complex with unlabeled output [PR jellyfin#9422], by @nyanmisaka
- Fix H.264 baseline hwaccel and enable enhanced Nvdec by default [PR jellyfin#9391], by @nyanmisaka
- Some VAAPI VPP and OpenCL fixes [PR jellyfin#9355], by @nyanmisaka
- Fix EqualsAny condition check for int and double [PR jellyfin#9351], by @Shadowghost
- Escape the path to pass as a command line argument [PR jellyfin#9178], by @dmitrylyzo
- Enable nullable for more files [PR jellyfin#9449], by @Bond-009
- Audiobook grouping fixes [PR jellyfin#9446], by @1337joe
- Allow webp for local images [PR jellyfin#9454], by @Bond-009
- Ignore avg critic rating Rotten Tomatoes [PR jellyfin#9448], by @Bond-009
- Allocate fewer Lists [PR jellyfin#9416], by @Bond-009
- Reduce log spam [PR jellyfin#9417], by @Bond-009
- Add SeasonProviderIds to EpisodeInfo [PR jellyfin#9407], by @nalsai
- Fix auth endpoints using api key [PR jellyfin#9408], by @crobibero
- Enable nullable for more files [PR jellyfin#9397], by @Bond-009
- Catch Exception when disposing connection [PR jellyfin#9326], by @ipitio
- Enable nullable for more files [PR jellyfin#9381], by @Bond-009
- Simplify audio transcode channel lookup [PR jellyfin#9389], by @crobibero
- Copy IsAutomated option when making MetadataRefreshOptions copy. [PR jellyfin#9385], by @nicknsy
- Overhaul content rating handling [PR jellyfin#8526], by @Shadowghost
- Fix jellyfin#7516 [PR jellyfin#9365], by @Bond-009
- Improve alternate ordering [PR jellyfin#9336], by @Bond-009
- Various fixes [PR jellyfin#9361], by @Shadowghost
- Optimize tryparse [PR jellyfin#9356], by @Bond-009
- Change transcoderChannelLimit default to 8 [PR jellyfin#9266], by @holow29
- Enable nullable for more files [PR jellyfin#9322], by @Bond-009
- Various MusicBrainz fixes [PR jellyfin#9352], by @Shadowghost
- Add rule and tests to fix jellyfin#9341 [PR jellyfin#9343], by @Lenart12
- Fix MusicBrainz default server [PR jellyfin#9349], by @Shadowghost
- Reduce string allocations by regex [PR jellyfin#9337], by @Bond-009
- Validate requested user id [PR jellyfin#8812], by @crobibero
- Fix use after dispose [PR jellyfin#9340], by @Bond-009
- Verify ContentType of uploaded images [PR jellyfin#9061], by @Bond-009
- Make exact match primary video [PR jellyfin#9319], by @Bond-009
- Fix NRE in DisposeAsyncCore [PR jellyfin#9320], by @MBR-0001
- Fix LocalAccessOrRequiresElevationHandler [PR jellyfin#9315], by @Shadowghost
- Backport jellyfin#9130 [PR jellyfin#9160], by @Shadowghost
- Enable nullable for more files [PR jellyfin#9310], by @Bond-009
- Fix jellyfin#9300 [PR jellyfin#9312], by @Bond-009
- Add permissions for collection management [PR jellyfin#8887], by @Shadowghost
- Fix locked item metadata updates [PR jellyfin#9306], by @1337joe
- refactor: simplify authz [PR jellyfin#9282], by @cvium
- Fix error in XmlTvListingsProviderTests [PR jellyfin#9302], by @Bond-009
- Always run code analyzers for tests projects [PR jellyfin#9304], by @Bond-009
- Return NotFound when itemId isn't found [PR jellyfin#9253], by @Bond-009
- LiveTV fixes [PR jellyfin#9297], by @crobibero
- Add "Allowed Tags" to Parental Controls [PR jellyfin#9139], by @Jpuc1143
- Use one AssemblyLoadContext per plugin [PR jellyfin#9115], by @barronpm
- Remove .npmrc and nuget.config files [PR jellyfin#9284], by @Bond-009
- Implement hardware filters for videotoolbox, use Apple AAC encoder when available [PR jellyfin#7807], by @gnattu
- Fix backdrop image fetching to prioritize non-language images [PR jellyfin#8982], by @bradbeattie
- Specify required movflags when encoding M4A audio [PR jellyfin#9249], by @jmshrv
- Fix transcoded audio not playing [PR jellyfin#9263], by @TelepathicWalrus
- fix: swap to
jellyfin-ffmpeg5
[PR jellyfin#9256], by @brettpetch - Simplify CreateApplicationPaths [PR jellyfin#9171], by @Bond-009
- Migrate Jellyfin.Api to scoped namespace [PR jellyfin#9215], by @Shadowghost
- Use Directory.Packages.props [PR jellyfin#9135], by @zcsizmadia
- ApplicationHost cleanup [PR jellyfin#9191], by @barronpm
- Fix audio codec not being used in UniversalAudio [PR jellyfin#9192], by @jmshrv
- fix: require current password when admin changes their own password [PR jellyfin#9238], by @cvium
- fix: don't allow exceptions to propagate from Refresh progress event handlers [PR jellyfin#9228], by @cvium
- Improve ffprobe json parsing and don't log error for Codec Type attachment [PR jellyfin#9227], by @Bond-009
- Add 404 response to MarkPlayedItem/MarkUnplayedItem [PR jellyfin#9211], by @chrisb92
- Remove Emby.Notifications [PR jellyfin#9147], by @barronpm
- Remove ability to add a played indicator to images [PR jellyfin#9186], by @crobibero
- Add Phantom/Ghost to normalizer whitelist [PR jellyfin#9180], by @lstrojny
- Remove restart.sh dependencies from packaging [PR jellyfin#9164], by @ykgmfq
- Save modified userData after parsing an nfo [PR jellyfin#9176], by @ProfessionalismIsMyMiddleName
- Simplify AlphanumericComparator [PR jellyfin#9170], by @Bond-009
- Remove OS information from System Info [PR jellyfin#9175], by @barronpm
- Remove CustomHeaderNames [PR jellyfin#9143], by @barronpm
- Fix PGS position issue in Vulkan pipeline [PR jellyfin#9146], by @nyanmisaka
- Minor improvements [PR jellyfin#9156], by @Bond-009
- Fix debug builds [PR jellyfin#9154], by @Bond-009
- Fix PGS position issue in sw decoding jellyfin#8602 [PR jellyfin#9145], by @nyanmisaka
- Don't add additional entries if HEVC encoding is disabled [PR jellyfin#9092], by @dmitrylyzo
- Fix transcode reasons [PR jellyfin#9051], by @dmitrylyzo
- Update workaround for i915 hang in linux 5.18 to 6.1.3 [PR jellyfin#9050], by @nyanmisaka
- Add more codecs requiring ffmpeg strict -2 [PR jellyfin#9049], by @Shadowghost
- Revert 'Fix interlace check for H.264 MBAFF coded MP4 files' (jellyfin#6222) [PR jellyfin#9126], by @Bond-009
- Remove DvdLib [PR jellyfin#9068], by @barronpm
- Change log level for bind address usage to debug [PR jellyfin#9066], by @barronpm
- Increase stale bot operations per run [PR jellyfin#9133], by @Shadowghost
- Fix packaging to remove
restart.sh
script [PR jellyfin#9124], by @Shadowghost - EF Core Cleanup [PR jellyfin#9108], by @barronpm
- Refactor Startup + Enable in-process restarting [PR jellyfin#9100], by @barronpm
- Allow limiting parallel image encodings to reduce memory usage [PR jellyfin#8783], by @hannesbraun
- Fine tune DB settings [PR jellyfin#9044], by @Bond-009
- Fix client supported image formats [PR jellyfin#9071], by @teobaranga
- Update test dependencies [PR jellyfin#9094], by @barronpm
- Migrate to IHost [PR jellyfin#9078], by @barronpm
- Add stereo downmix algorithm selection. [PR jellyfin#9001], by @Shadowghost
- Fix all warnings in MediaBrowser.MediaEncoding [PR jellyfin#9073], by @Bond-009
- Use file-scoped namespaces in Drawing projects [PR jellyfin#9065], by @barronpm
- Fix all warnings in Jellyfin.Server.Implementations and MediaBrowser.Providers [PR jellyfin#9070], by @Bond-009
- Rename Emby.Drawing and move to src [PR jellyfin#9054], by @barronpm
- Move Jellyfin.Drawing.Skia to src [PR jellyfin#9064], by @barronpm
- Add Chinese Bilingual language [PR jellyfin#7623], by @MBR-0001
- Add dts to list of audio codecs which require ffmpeg strict -2 [PR jellyfin#9029], by @DavidFair
- Fix recursive children lookup of folders [PR jellyfin#8678], by @EgorBakanov
- Fixing similar parental rating calculation [PR jellyfin#8959], by @bradbeattie
- Fix all warnings in Jellyfin.Api [PR jellyfin#9003], by @Bond-009
- Use EventManager for AuthenticationSuccess, AuthenticationFailure [PR jellyfin#8960], by @crobibero
- Deduplicate media stream ordering code [PR jellyfin#9014], by @Bond-009
- Use nfo provided remote images on initial scan [PR jellyfin#8995], by @daullmer
- DVR: Add options to disable NFO and image saving [PR jellyfin#8775], by @SenorSmartyPants
- Add jellyfin to the render and video groups for HWA [PR jellyfin#9006], by @nyanmisaka
- Give stale action write permission for issues [PR jellyfin#8990], by @Bond-009
- Add support for .sup subtitle [PR jellyfin#8808], by @crobibero
- Checkout common ancestor for comparison in OpenAPI workflow [PR jellyfin#8985], by @nielsvanvelzen
- Fix
multi
cleaning [PR jellyfin#8978], by @Xavier-Do - Use custom database healthcheck [PR jellyfin#8973], by @crobibero
- Cleanup and refactor streambuilder [PR jellyfin#7494], by @Shadowghost
- Fix image searching to prioritize explicit language match if searching in English [PR jellyfin#8946], by @bradbeattie
- Use Diacritics.NET [PR jellyfin#8964], by @Bond-009
- Correct path to installation guide [PR jellyfin#8948], by @mason-mcglothlin
- Remove unused notification endpoints [PR jellyfin#8952], by @nielsvanvelzen
- Authentication API deprecations [PR jellyfin#8927], by @nielsvanvelzen
- Remove unused ImageByName API [PR jellyfin#8928], by @nielsvanvelzen
- Use DistinctBy introduced in .NET 6 [PR jellyfin#8922], by @Bond-009
- Adding "creation_time" as a tag lookup for FFProbe for premiere date [PR jellyfin#8884], by @bradvolen
- Use Order() introduced in .NET 7 [PR jellyfin#8923], by @Bond-009
- Correct systemd dynamic directory [PR jellyfin#8924], by @joshuaboniface
- Default to no bitrate limit if no maxBitrate is set [PR jellyfin#8850], by @Shadowghost
- Improve DB perf for everyone not using debug logging [PR jellyfin#8827], by @Bond-009
- Use static methods StopWatch where it makes sense [PR jellyfin#8898], by @Bond-009
- Fix debug builds [PR jellyfin#8909], by @Bond-009
- Fix Windows FFmpeg download link [PR jellyfin#8901], by @Shadowghost
- Change log level for slow HTTP responses from WRN TO DBG [PR jellyfin#8826], by @Bond-009
- Add option to allow extras to use embedded titles [PR jellyfin#7767], by @1337joe
- Augment search to consider tags [PR jellyfin#8842], by @bradbeattie
- Fix fedora and centos nightly [PR jellyfin#8875], by @Bond-009
- Fix nightly builds [PR jellyfin#8870], by @Bond-009
- Remove dependency on OptimizedPriorityQueue [PR jellyfin#8868], by @Bond-009
- Fix to make sure that UDF streams are opened with Share.Read (jellyfin#8276) [PR jellyfin#8867], by @stanionascu
- Always log when starting ffprobe [PR jellyfin#8866], by @Bond-009
- Check HTTP status code before writing response to file [PR jellyfin#8863], by @Bond-009
- Add admin login to QuickConnect API [PR jellyfin#8734], by @nielsvanvelzen
- feat: macOS arm64 build support [PR jellyfin#8515], by @gnattu
- Target .NET 7 [PR jellyfin#8547], by @Bond-009
- Use is and is not when comparing with null [PR jellyfin#8511], by @Bond-009
- Add support for avif and webp for photos [PR jellyfin#8857], by @f5xs-0000a
- Fix build [PR jellyfin#8859], by @Bond-009
- Fix some warnings and only disable TreatWarningsAsErrors for CodeAnalysis [PR jellyfin#8709], by @Bond-009
- Add support for OPUS and fixes for FLAC case issue in HLS [PR jellyfin#8546], by @nyanmisaka
- Allow non-ASCII in downloaded filenames [PR jellyfin#8825], by @potatodiet
- Add MusicBrainz server validation and fallback [PR jellyfin#8833], by @Shadowghost
- Harden GitHub Workflows security [PR jellyfin#8664], by @sashashura
- Add delay_moov flag for progressive mp4 transcoding [PR jellyfin#8836], by @thornbill
- The -autoscale option was added in FFmpeg 4.4 [PR jellyfin#8813], by @Bond-009
- Fix CI [PR jellyfin#8824], by @Bond-009
- Offset API Played Indicator to correct position [PR jellyfin#8819], by @photonconvergence
- Minor search update - full word titles matches first [PR jellyfin#8757], by @SteveTheGrey
- Chapter Image settings(back-end): [PR jellyfin#8137], by @negulici-r-barnabas
- Investigate some TODO comments [PR jellyfin#8790], by @Bond-009
- Fix last CA1305 error [PR jellyfin#8806], by @Bond-009
- Add missing format providers (fix CA1305 errors) [PR jellyfin#8745], by @Terrance
- Providermanager cleanup [PR jellyfin#7039], by @1337joe
- Sort external files when scanning [PR jellyfin#8695], by @JeWe37
- DVR: Prefer HD channels then earliest showing when handling duplicate showings. [PR jellyfin#8768], by @SenorSmartyPants
- Don't cancel DVR recordings when adjusting settings [PR jellyfin#8752], by @SenorSmartyPants
- Add xmldocs for TMDb provider, correct provider spelling [PR jellyfin#7602], by @Shadowghost
- Don't auto-update if plugin is pending restart [PR jellyfin#8727], by @crobibero
- Change LocalizationOption for Traditional Chinese [PR jellyfin#8737], by @TheBlueKingLP
- Fix integration tests [PR jellyfin#8742], by @Bond-009
- remove JellyfinDbProvider and add second level caching [PR jellyfin#8601], by @cvium
- Fix secondary audio [PR jellyfin#8666], by @dmitrylyzo
- Add support for "Digital Media" album splits [PR jellyfin#8713], by @trentks
- HDHomeRun - Fix incorrect starting offset of buffer span in CheckTunerAvailability. [PR jellyfin#8726], by @swedishborgie
- Add SeriesStatus.Unreleased [PR jellyfin#8661], by @nielsvanvelzen
- Add regression test for jellyfin#8696 [PR jellyfin#8698], by @Bond-009
- Don't throw exception if program.Title is null [PR jellyfin#8696], by @crobibero
- Fix double assignment [PR jellyfin#8670], by @jvitkauskas
- Fix URI creation in redirection middleware [PR jellyfin#8551], by @Shadowghost
- Enable OMDB plot for non-English languages as fallback [PR jellyfin#8667], by @daullmer
- fix: use a combination of ParentIndexNumber and IndexNumber to determine next up episodes [PR jellyfin#8662], by @cvium
- Clean up some unnecessary ToLists and deprecated function [PR jellyfin#8618], by @j-griffiths
- Fix extra type differentiation [PR jellyfin#8638], by @photonconvergence
- Fix the DG2 HDR TM tearing issue on Windows [PR jellyfin#8620], by @nyanmisaka
- Fix TranscodeReasons type in OpenAPI output [PR jellyfin#8611], by @nielsvanvelzen
- Use Token for SchedulesDirect Images and Image Index [PR jellyfin#8609], by @anthonylavado
- fix: kill ffprobe if keyframe parsing fails [PR jellyfin#8516], by @cvium
- Add index for DateCreated on ActivityLogs [PR jellyfin#8608], by @cvium
- fix: set MinIndexNumber for the next up query [PR jellyfin#8501], by @cvium
- Allow direct play even if no audio stream is available [PR jellyfin#8411], by @Maxr1998
- Fix Docker healthcheck output [PR jellyfin#8529], by @jjlin
- chore: add Basque to the list of localization options [PR jellyfin#8499], by @cvium
- Revert dependency updates to Azure Pipelines [PR jellyfin#8627], by @crobibero
- Migrate MusicBrainz plugin to MetaBrainz.MusicBrainz [PR jellyfin#7603], by @Shadowghost
- Prevent host lookup on GetSmartUrl for HTTP requests (master) [PR jellyfin#8603], by @Shadowghost
- Add Vulkan filtering support for AMD VAAPI (Vega/gfx9+) [PR jellyfin#7708], by @nyanmisaka
- Skip missing symlink instead of breaking out of directory scan [PR jellyfin#8521], by @1337joe
- Rewrite BaseItem.ModifySortChunks [PR jellyfin#8540], by @Bond-009
- Fix some things that slipped through the cracks [PR jellyfin#8541], by @Bond-009
- Fix subtitle selection behaviour [PR jellyfin#8472], by @j-griffiths
- Use System.IO.Compression instead of SharpCompress for gzips [PR jellyfin#7840], by @adrez99
- Skip generic shows from duplicate removal actions [PR jellyfin#8370], by @abpei
- Add extras with "Other" as a label [PR jellyfin#8520], by @anthonylavado
- Update embedded image names to match docs [PR jellyfin#8522], by @1337joe
- Remove r3 from clean strings [PR jellyfin#8027], by @Bond-009
- Extend music parsing [PR jellyfin#7514], by @Shadowghost
- Fix hearing impaired localization lookup [PR jellyfin#8512], by @1337joe
- Update fuzzing projects to .net6 [PR jellyfin#8510], by @Bond-009
- Redirect natively if no baseurl is set [PR jellyfin#8408], by @Shadowghost
- Fix DLNA UpdateProfile test [PR jellyfin#6751], by @Bond-009
- Fixed a few compiler warnings (jellyfin#2149) [PR jellyfin#8505], by @JJS
- Use ArgumentNullException.ThrowIfNull helper method [PR jellyfin#8503], by @Bond-009
- fix: use HttpContext and ClaimsPrincipal instead of IAuthorizationContext [PR jellyfin#8500], by @cvium
- Remove redundant using directives [PR jellyfin#8469], by @hannesbraun
- Update to dotnet 6.0.9 [PR jellyfin#8433], by @crobibero
- Added handling of streams of type "data" [PR jellyfin#8483], by @crobibero
- Respect visibility for people items (rebased) [PR jellyfin#8399], by @cvium
- Fix systemd not breaking whitespace in env vars [PR jellyfin#8321], by @strugee
- Revert "Revert "refactor: use season number and episode number for NextUp ordering instead of SortName"" [PR jellyfin#8348], by @cvium
- Fix ffmpeg analyze duration env var taking priority over media source [PR jellyfin#8280], by @thornbill
- Make userId truly optional in UniversalAudioController [PR jellyfin#8214], by @nielsvanvelzen
- Fix high single thread usage in throttler [PR jellyfin#8213], by @nyanmisaka
- Fix GetItems IndexOutOfRangeException when IDs do not exist [PR jellyfin#8189], by @lukefor
- Remove libraspberrypi0 package from arm Dockerfile [PR jellyfin#8402], by @Bond-009
- Remove LGTM badge [PR jellyfin#8410], by @Bond-009
- Use record for AudioBookFilePathParserResult [PR jellyfin#8409], by @Bond-009
- Fix HTML for badges in README [PR jellyfin#8407], by @hannesbraun
- Fix special features not being sorted [PR jellyfin#8401], by @ZachPhelan
- Add Sweden, Finland and Norway content rating [PR jellyfin#7846], by @hogenf
- Pass referer parameter to ffmpeg [PR jellyfin#8144], by @joseph39
- Drop transitional package apt-transport-https [PR jellyfin#5950], by @ypid
- Add more artists to '/' separator whitelist [PR jellyfin#8386], by @justjakka
- Don't allow throwing System.Exception [PR jellyfin#8378], by @Bond-009
- Require properly typed ActionResult [PR jellyfin#8382], by @crobibero
- Add A/T/O/S to '/' separator whitelist [PR jellyfin#8384], by @justjakka
- Fixes for FFProbe Keyframe extraction [PR jellyfin#8335], by @eglia
- Make Password Reset case sensitive [PR jellyfin#8377], by @Bond-009
- Minor cleanup [PR jellyfin#8250], by @Bond-009
- Fix musl publish command [PR jellyfin#8376], by @crobibero
- Simplify UniversalAudioController code, remove redundant null checks [PR jellyfin#8359], by @nielsvanvelzen
- Fix musl build permissions [PR jellyfin#8375], by @crobibero
- Add musl-linux-arm64 support [PR jellyfin#8112], by @JinYi-Tsinghua
- Use Guid type for UserConfiguration fields [PR jellyfin#8325], by @nielsvanvelzen
- Fix QuickConnect operation names [PR jellyfin#8360], by @nielsvanvelzen
- JELLYFIN_NOWEBAPP_OPT is now --nowebclient [PR jellyfin#8313], by @brianjmurrell
- Fix regression in DlnaHttpClient [PR jellyfin#8300], by @Bond-009
- Rework SsdpHttpClient [PR jellyfin#7433], by @Bond-009
- Fix various typos [PR jellyfin#8267], by @luzpaz
- Make IgnoreDts configurable for M3U tuner [PR jellyfin#7903], by @knackebrot
- don't require a user id for items api call using api key [PR jellyfin#7965], by @jasongdove
- Increase (really) timeout for subtitle extraction to 30min [PR jellyfin#8259], by @RealGreenDragon
- fix: single video folder during photos lib scan [PR jellyfin#7845], by @utkuozdemir
- Fix operation name in SearchController and correct nullability for SearchHint [PR jellyfin#8279], by @nielsvanvelzen
- Use guid for adjacentTo API parameter [PR jellyfin#8261], by @nielsvanvelzen
- Use guid for seriesId API parameter [PR jellyfin#8262], by @nielsvanvelzen
- Use separate args for dotnet publish commands [PR jellyfin#8257], by @joshuaboniface
- update to dotnet 6.0.8 [PR jellyfin#8234], by @crobibero
- Move Fedora service hardening options to override config [PR jellyfin#8219], by @nyanmisaka
- Add resolution text for 384 sized video [PR jellyfin#8212], by @SenorSmartyPants
- Fix series query including missing episodes when it should not [PR jellyfin#8209], by @Shadowghost
- fix: remove Virtual episodes when their physical counterpart exists [PR jellyfin#8191], by @cvium
- Extract external subs from container before determining characterset [PR jellyfin#8182], by @Shadowghost
- Disable auto inserted SW scaler for HW decoders [PR jellyfin#8174], by @nyanmisaka
- Don't refresh playlists on album refresh [PR jellyfin#8163], by @daullmer
- Add back library scan from library manager [PR jellyfin#8167], by @crobibero
- Workaround for linux 5.18+ i915 hang at cost of performance [PR jellyfin#8127], by @nyanmisaka
- Fix intel dx11-ocl interop taking too long to initialize on windows [PR jellyfin#8061], by @nyanmisaka
- feat: make subtitleeditparser generic [PR jellyfin#8087], by @cvium
- Bind @userid only when it's in the statement [PR jellyfin#8166], by @joseph39
- Fix support for rtsp streams over tcp [PR jellyfin#8152], by @thornbill
- Add resolution text output for more resolutions [PR jellyfin#8104], by @Shadowghost
- Update to dotnet 6.0.7 [PR jellyfin#8115], by @crobibero
- Fix to make web sockets close gracefully on server shutdown [PR jellyfin#7732], by @LewkyB
- Fix password change during parental control schedule [PR jellyfin#8013], by @daullmer
- Change allow higher opus, vorbis transcode bitrates [PR jellyfin#8092], by @Andy2244
- fix copy&paste error for requestedRangeTypes preventing stream copy [PR jellyfin#8078], by @Andy2244
- Move transcodes to be under CachePath [PR jellyfin#8107], by @candrews
- Add escape hatch for Series merging [PR jellyfin#8008], by @revam
- Jellyfin 10.9.0 [PR jellyfin#8118], by @crobibero
- Remove mount and unmount permissions for jellyfin group from sudoers [PR jellyfin#8038], by @Shadowghost
- Fix the broken transcoding throttler [PR jellyfin#7994], by @nyanmisaka
- Fix yuvj420p pixel format hardware decoding [PR jellyfin#8001], by @nyanmisaka
- Catch external streams exceptions [PR jellyfin#7988], by @nyanmisaka
- Upgrade to dotnet 6.0.6, update remaining dependencies [PR jellyfin#7984], by @crobibero
- Override the VAAPI driver env if i965 device is known [PR jellyfin#7975], by @nyanmisaka
- Fix HWA decoders are not applied to BluRay folders [PR jellyfin#7968], by @nyanmisaka
- Add DoVi side data parsing [PR jellyfin#7964], by @nyanmisaka
- Fix subtitle encoder if subrip is requested [PR jellyfin#7960], by @Shadowghost
- Fix output extension if user has no transcoding permission [PR jellyfin#7955], by @nyanmisaka
- fix: use proper bind address for DLNA location url (jellyfin#7953) [PR jellyfin#7954], by @cvium
- Brighter VPP tone-mapping on Intel [PR jellyfin#7950], by @nyanmisaka
- feat: partially handle SVG files and remove exceptions from blurhash and dimensions [PR jellyfin#7946], by @cvium
- Add VideoRangeType to video conditions [PR jellyfin#7947], by @nyanmisaka
- Fix the int overflow issue and the wrong map index of external audio [PR jellyfin#7941], by @nyanmisaka
- Fix recommendations [PR jellyfin#7940], by @Shadowghost
- Move service hardening options to override config [PR jellyfin#7887], by @joshuaboniface
- Rework Fedora build [PR jellyfin#7614], by @mihawk90
- Enable XmlReaderSettings.Async, fixes jellyfin#7929 [PR jellyfin#7934], by @Bond-009
- Fix splashscreen [PR jellyfin#7895], by @crobibero
- Remove MPEG4 hwaccel from AMF [PR jellyfin#7925], by @nyanmisaka
- fix: read configuration during Invoke instead of during construction [PR jellyfin#7913], by @cvium
- Improve AMF tonemap speed when using sw decoding [PR jellyfin#7924], by @nyanmisaka
- fix: only use keyframes when remuxing video [PR jellyfin#7911], by @cvium
- Switch to FirstOrDefault extension [PR jellyfin#7894], by @crobibero
- fix: tv shows do not support multi edition [PR jellyfin#7892], by @cvium
- Prevent 400 error when using navigation buttons. [PR jellyfin#7885], by @iwalton3
- fix: respect the image refresh options when parsing remote images from NFO [PR jellyfin#7873], by @cvium
- Add tests for preferred audio language selection [PR jellyfin#7682], by @1337joe
- chore: disable DLNA by default [PR jellyfin#7868], by @cvium
- Don't add
MigrationOptions
to the api spec [PR jellyfin#7867], by @crobibero - chore: enable on demand keyframe extraction for mkv [PR jellyfin#7854], by @cvium
- Fix Dolby Vision profile 5 and 8 to SDR HW tone-mapping [PR jellyfin#7828], by @nyanmisaka
- Fix the PNG image decoding issue in Skia [PR jellyfin#7852], by @nyanmisaka
- Backport all dependency updates [PR jellyfin#7842], by @crobibero
- IAsyncDisposable is one big pitfall [PR jellyfin#7810], by @Bond-009
- Exclude streams with mismatched types in external files [PR jellyfin#7802], by @nyanmisaka
- Fix closing livetv stream on session end [PR jellyfin#7781], by @crobibero
- Conditionally include platform specific Skia assets [PR jellyfin#7792], by @crobibero
- Clear TranscodingInfo if play method changed [PR jellyfin#7785], by @dmitrylyzo
- Support searching with tv program filters [PR jellyfin#7780], by @1337joe
- Manually describe Version for openapi [PR jellyfin#7775], by @crobibero
- Enable SupportsTranscoding if device has transcoding profiles [PR jellyfin#7784], by @crobibero
- Fix to allow for episode numbering over 999 in certain scenarios [PR jellyfin#7741], by @LewkyB
- Fix the mismatched resolution in sw PGS burn-in [PR jellyfin#7736], by @nyanmisaka
- Don't let permission denied kill library scans [PR jellyfin#7724], by @jtcasper
- Populate authentication info with server details if using API key [PR jellyfin#7774], by @crobibero
- Update to dotnet 6.0.5 [PR jellyfin#7766], by @crobibero
- fix: disable "Automatically add to collection" by default [PR jellyfin#7749], by @cvium
- Update TMDbLib to 1.9.2 [PR jellyfin#7723], by @crobibero
- Fix the disordered color in Dolby Vision remuxing on Safari [PR jellyfin#7718], by @nyanmisaka
- Respect limited opus sampling rates when building trancoding command [PR jellyfin#7716], by @Shadowghost
- Fix the issue that HEVC transcoding can't be disabled [PR jellyfin#7712], by @nyanmisaka
- Fix streambuilder reasons for direct playback checks [PR jellyfin#7699], by @Shadowghost
- Don't migrate auth token if user doesn't exist [PR jellyfin#7693], by @crobibero
- Fixes diacritics regression jellyfin#7484 jellyfin#7450 jellyfin#7560 [PR jellyfin#7604], by @Jellifi007
- Fix DVR error: too long filename [PR jellyfin#7544], by @jaantaponen
- Properly handle stream addition and removal for strm use cases [PR jellyfin#7529], by @Shadowghost
- Fix Matrix badge link to space instead of community [PR jellyfin#7744], by @n-peugnet
- Prefer MetadataProvider enum as provider id key over arbitrary strings [PR jellyfin#7654], by @Shadowghost
- Fix H264 level on safari fmp4 [PR jellyfin#7643], by @nyanmisaka
- Add libssl3 as an alternative dependency for Ubuntu 22.04 LTS [PR jellyfin#7648], by @nyanmisaka
- Fix quick connect tests [PR jellyfin#7638], by @1337joe
- Only delete xmltv cache file if exist [PR jellyfin#7625], by @crobibero
- Correct LocalTrailerCount in API [PR jellyfin#7634], by @neilsb
- Enable Quick Connect by default [PR jellyfin#7624], by @nielsvanvelzen
- Fix xmltv caching part 2 [PR jellyfin#7592], by @1337joe
- Add missing properties to PlaybackStart, PlaybackStop [PR jellyfin#7605], by @crobibero
- Update Jellyfin.XmlTv to 10.8.0 [PR jellyfin#7591], by @1337joe
- Fix the wrong external audio map index if text subtitle exists [PR jellyfin#7580], by @nyanmisaka
- Remove mp2 from video file extensions [PR jellyfin#7578], by @Shadowghost
- Update to dotnet 6.0.4 [PR jellyfin#7590], by @crobibero
- Fix xmltv caching [PR jellyfin#7567], by @cvium
- Require elevation to save list of plugin repositories [PR jellyfin#7569], by @crobibero
- Fix NamedConfiguration API Generation [PR jellyfin#7561], by @DMouse10462
- Add fallback for image downloads with bad reported MediaType [PR jellyfin#7521], by @1337joe
- Write UTC Date to .nfo files [PR jellyfin#7543], by @daullmer
- Fix StreamBuilder [PR jellyfin#7537], by @dmitrylyzo
- Fix PGS burn-in on certain iGPU such as Iris Plus 655 [PR jellyfin#7557], by @nyanmisaka
- Optimize GetMD5 function [PR jellyfin#7575], by @Bond-009
- fix: remove (incorrect) negation of bool expression [PR jellyfin#7551], by @cvium
- fix: use IPAddress.IsLoopback instead of custom [PR jellyfin#7549], by @cvium
- Fix album index sorts [PR jellyfin#7548], by @1337joe
- Make recording stop at scheduled stop time [PR jellyfin#7542], by @1337joe
- Fix media path saving to wrong library when name duplicated [PR jellyfin#7525], by @1337joe
- Remove video file from file list before processing external files [PR jellyfin#7527], by @Shadowghost
- Allow media without streams to playback [PR jellyfin#7523], by @crobibero
- Fix StudioImageProvider [PR jellyfin#7507], by @crobibero
- Add new priority level to ResolverPriority for plugins [PR jellyfin#7519], by @nielsvanvelzen
- Catch checksum mismatch when updating plugins [PR jellyfin#7512], by @crobibero
- Add 10.8.0 to issue template [PR jellyfin#7513], by @1337joe
- Safely get/set User permission/preference [PR jellyfin#7506], by @crobibero