aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-07-03Match VobSub MKS subtitle profiles by containeraltqx
2026-07-02Update Microsoft to 5.6.0renovate[bot]
2026-07-02Fix folder viewtheguymadmax
2026-07-02Close sessions for lost WebSockets to prevent zombie SyncPlay groups (#17079)Enea D'Angiò
Close sessions for lost WebSockets to prevent zombie SyncPlay groups
2026-07-02Merge pull request #17209 from theguymadmax/update-swedish-ratingsBond-009
Fix Swedish rating
2026-07-02Merge pull request #17206 from zachhide/fix/livetv-hls-null-mediasourceBond-009
Fix NullReferenceException in GetStreamingState for closed live streams
2026-07-02Fix review commentsShadowghost
2026-07-01Translated using Weblate (Albanian)m4st3r-0day
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sq/
2026-06-30Add missing Swedish ratingstheguymadmax
2026-06-30Merge pull request #17175 from obrenoalvim/fix/use-leftjoin-ef10Bond-009
Use Enumerable.LeftJoin for activity log user query
2026-06-30Use Enumerable.LeftJoin for activity log user queryBreno Alvim
2026-06-30Fix NullReferenceException in GetStreamingState for closed live streamszachhide
When a client polls the HLS playlist (e.g. live.m3u8) after a live stream has been disposed because its consumer count dropped to zero, GetLiveStreamWithDirectStreamProvider returns a null MediaSource. The live branch of GetStreamingState then dereferenced it unconditionally, throwing a NullReferenceException and returning HTTP 500 for every poll until the client re-opens the stream. Guard against the null MediaSource and throw ResourceNotFoundException so the request returns 404 instead of crashing. Fixes #17009 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29Merge pull request #17170 from Shadowghost/better-bitratesBond-009
Rework bitrate reporting
2026-06-29Merge pull request #15954 from IDisposable/fix/booksBond-009
Fix Book collections speed issues
2026-06-29Sort trailers for TV Showstheguymadmax
2026-06-28Use IItemTypeLookup and QueryPartitionHelpersJohn Corser
Address review feedback: - Replace typeof(Person).FullName with IItemTypeLookup.BaseItemKindNames - Replace foreach+ToListAsync with PartitionEagerAsync for batched iteration with built-in progress reporting - Check HasImage/HasOverview on the loaded domain Person object instead of projecting from the DB query
2026-06-28Project hasImage/hasOverview from DB queryJohn Corser
Instead of re-checking image/overview on the domain object after loading, project the values directly from the database query as part of the anonymous type selection. This avoids redundant checks since the DB already has this information.
2026-06-28Move people filtering to database queryJohn Corser
Instead of loading all people names and checking each one in memory, query the database directly for Person items that need refresh: - Missing primary image OR missing overview - Not refreshed within the last 30 days This reduces the operation from N+1 queries (1 for all names + 1 per person to load) to a single filtered query returning only the IDs that need work.
2026-06-28Fix actor images not displayed until clickedJohn Corser
Move image refresh logic from PeopleValidator (which runs during library scans) into PeopleValidationTask (the "Refresh People" scheduled task). This keeps library scans fast while ensuring the scheduled task fetches missing images from remote providers like TMDB. People missing a Primary image or overview get refreshed with MetadataRefreshMode.Default instead of ValidationOnly, with a 30-day cooldown to avoid hammering providers for people they have no data for. Fixes jellyfin#8103
2026-06-28Add testsMarc Brooks
Also fixed a sibling directory that matches the prefix.
2026-06-28Translated using Weblate (Swahili)v12.0-rc2Ricky Kimani
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sw/
2026-06-28Merge pull request #17131 from jellyfin/renovate/actions-checkout-7.xBond-009
Update actions/checkout action to v7
2026-06-28Merge pull request #17141 from jellyfin/renovate/swashbuckle-aspnetcore-monorepoBond-009
Update swashbuckle-aspnetcore monorepo to 10.2.3
2026-06-28Merge pull request #17167 from jellyfin/renovate/microsoftBond-009
Update dependency Microsoft.NET.Test.Sdk to 18.7.0
2026-06-28Merge pull request #17176 from jellyfin/renovate/ci-depsBond-009
Update CI dependencies
2026-06-27Merge pull request #17140 from theguymadmax/clean-orphaned-peopleCody Robibero
Remove orphaned people
2026-06-27Merge pull request #17162 from Shadowghost/batch-duplicate-cleanup-deletesCody Robibero
Batch duplicate-cleanup deletes in merge migrations
2026-06-27Merge branch 'master' into clean-orphaned-peopleCody Robibero
2026-06-27Merge pull request #17013 from dfederm/dfederm/fix-jellyfin-16899Cody Robibero
Reject unsafe plugin package names in installer
2026-06-27Merge pull request #16914 from danieltutuianu/fix/livetv-channel-icon-refreshCody Robibero
Live TV: re-fetch channel icons on guide refresh
2026-06-27Merge pull request #17174 from obrenoalvim/fix/use-tohexstringlowerCody Robibero
Use Convert.ToHexStringLower for Schedules Direct password hash
2026-06-27Merge pull request #17154 from joshuaboniface/enhance-startup-uxCody Robibero
Revamp startup UI for visual style and usability
2026-06-27Merge pull request #17134 from theguymadmax/replace-embedded-lyricsCody Robibero
Fix embedded lyrics not updating on replace all refresh
2026-06-27Merge pull request #17187 from Shadowghost/fix-localization-lookupCody Robibero
Fix localization lookup
2026-06-27Merge pull request #17178 from jellyfin/fix-livetv-sessionsCody Robibero
Fix Live TV tuner not releasing
2026-06-27Merge pull request #17188 from Shadowghost/fix-local-pluginsCody Robibero
Fix local Comic book plugin registration
2026-06-27Merge pull request #17182 from Shadowghost/vacuum-noscanCody Robibero
Don't run heavy DB tasks while scan is running
2026-06-27Translated using Weblate (Galician)Manuel Cid
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gl/
2026-06-26Fix path transversal exposure in PluginsMarc Brooks
The request path is not validated to a valid path and could allow escaping the transcode path and downloading of any arbitrary file in GetHlsPlaylistLegacy . GetHlsAudioSegmentLegacy and GetHlsVideoSegmentLegacy have the same issue, and are NOT behind an Authorize so they are publicly exploitable. Added a ValidateTranscodePath that verifies that requested file paths start with the transcode path setting. Also ensure that all filename comparisons are OrdinalIgnoreCase because we might be running on a filesystem where filename-casing doesn't have to match. Switched from InvariantCulture because the underlying OS filename comparisons are always byte-wise (with case insensitivity here). Fixed a similar issue in GetPluginImage
2026-06-26Fix Book collections scanning all itemsMarc Brooks
Added static method GetBaseItemKindsForCollectionType in ItemsController (moved from ContentFolderImageProvider to be shared) Added AudioBook to GetRepresentativeItemTypes for CollectionType.books for consistency Added GetBooks to GetUserItems for CollectionType.books which gets BaseItemKind.Book and BaseItemKind.AudioBook Move GetBaseItemKindsForCollectionType to DtoExtensions Cleaned up the missing null checks and used new collection expressions. Associate Person to Book and AudioBook for related items.
2026-06-26Fix local plugin registrationShadowghost
2026-06-26Fix localization lookupShadowghost
2026-06-26Skip backups whens can is runningShadowghost
2026-06-26Translated using Weblate (Korean)cloudharps
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2026-06-26Merge pull request #17153 from ↵Joshua M. Boniface
joshuaboniface/fix-FixIncorrectOwnerIdRelationships Fix too many SQL variables in DeleteItem for large batch deletes
2026-06-26Update CI dependenciesrenovate[bot]
2026-06-25Only process items with tmdb idShadowghost
2026-06-25Don't run heavy DB tasks while scan is runningShadowghost
2026-06-25Set TMDb id in season providerShadowghost
2026-06-25Add TMDb missing episode providerShadowghost