aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-07-12Fix 3D format detection when the tag is the last token of the pathTowyTowy
Format3DParser drops the last character of the final path token: when IndexOfAny finds no more delimiters, the slice is taken with 'index = path.Length - 1', so e.g. "hsbs" is compared as "hsb" and never matches any rule. File paths are unaffected because the extension is always the final token, but directory based media have no extension. For DVD/BluRay folder rips (BaseVideoResolver parses the folder path via Set3DFormat), a trailing 3D tag such as "Gravity (2013) 3d hsbs/BDMV" is silently ignored and Video3DFormat is never set. This is a regression from 42a2cc174 which replaced the string.Split based FlagParser with span slicing; the Split implementation kept the final token intact. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11Fix incorrect protocol used for subtitle charset detectiontheguymadmax
2026-07-11Reduce GetPlaybackInfo cognitive complexityWizardOfYendor1
2026-07-11Keep authenticated user entity in sync with persisted login timestampsElian Van Cutsem
ExecuteUpdateAsync bypasses the EF change tracker, so the user entity returned by AuthenticateUser still carried the old LastLoginDate and LastActivityDate. SessionManager.LogSessionActivity then saved that stale entity in full, reverting LastLoginDate (usually to null) milliseconds after every login. Setting the properties on the entity keeps the follow-up save consistent and lets the 60-second activity guard skip the redundant write during login. Fixes #17301
2026-07-11enable audiobook image saving to local folderdkanada
2026-07-10Add WizardOfYendor1 to contributorsWizardOfYendor1
2026-07-10Add Live TV published URL regression coverageWizardOfYendor1
2026-07-10Resolve Live TV client stream URLs per requestWizardOfYendor1
2026-07-10Fix host and port handling for published server URI overridesWizardOfYendor1
2026-07-10normalize common formats for creator names in OPF datadkanada
2026-07-10Update CI dependenciesrenovate[bot]
2026-07-10Fix potential garbled text in FFmpeg logs on Windowsnyanmisaka
Explicitly set StandardErrorEncoding and StandardOutputEncoding to Encoding.UTF8 when invoking the FFmpeg subprocess. This prevents log encoding issues and character corruption on Windows environments that default to non-UTF8 ANSI code pages. This fixes garbled metadata and font names in the FFmpeg logs. Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2026-07-10support external images for audiobooksdkanada
2026-07-09Fix profile image being impossible to clear when its in-memory key is temporaryTowyTowy
ClearProfileImageAsync removed the ProfileImage instance attached to the passed-in User, but that instance can carry a stale, never-persisted (temporary) key because UpdateUserAsync creates the persisted image on a separately loaded entity and never copies the generated key back. Removing that detached entity on a fresh DbContext made EF Core throw InvalidOperationException ('ImageInfo.Id has a temporary value'), leaving the profile image impossible to delete or replace. Load the tracked, persisted user and remove its actual ProfileImage, matching the removal pattern already used in UpdateUserAsync. Adds regression tests covering the temporary-key case and the no-image no-op (the first fails before this change and passes after). Fixes #13137 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09Cleanup PreferEpisodeParentPoster)Shadowghost
2026-07-09Remove episode image override hackShadowghost
2026-07-08Fix max login attemptstheguymadmax
2026-07-08Check numeric rating value after splitting country codetheguymadmax
2026-07-08Fix Greece parental ratingstheguymadmax
2026-07-08Use FrozenSettheguymadmax
2026-07-08Fix additional parts for non-adminsShadowghost
2026-07-08Replaced string.Empty with ReadOnlySpan<char>.EmptyJakub Schmidtke
2026-07-07Translated using Weblate (Icelandic)Shed Shedson
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/is/
2026-07-07Translated using Weblate (Icelandic)Shed Shedson
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/is/
2026-07-07Restore music collection image overridetheguymadmax
2026-07-07Added more aliases for attributesJakub Schmidtke
Adds tvdb alias for tvdbid and imdb alias for imdbid. It also fixes an issue where tmdb alias was being ignored if it was followed by something like "tmdbidfoo". The same issue prevented imdb pattern matching from working, if it was followed by something like "imdbidfoo". It also allows for detecting the first matching occurence, whether it was an alias or not. Finally, it ignores attributes with values consisting of only whitespaces.
2026-07-07Translated using Weblate (Japanese)yuuta0331
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2026-07-06Fix artists being displayed with albumstheguymadmax
2026-07-06Allow SeriesName to be editable from Item Metadata (books)Jordan Rushing
2026-07-06Add Novel job mapping to the Writing departmenttheguymadmax
2026-07-06Translated using Weblate (Chinese (Traditional Han script, Hong Kong))Lofuuzi
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2026-07-06Translated using Weblate (Danish)Ulrik
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2026-07-05Merge pull request #16668 from johnpc/fix/people-images-not-displayedCody Robibero
Fix actor images not displayed until clicked
2026-07-05Merge pull request #17228 from Shadowghost/fix-logout-concurrencyCody Robibero
Don't throw on logout if session does not exist
2026-07-05Merge pull request #17238 from iderex/fix/dateparse-format-providerCody Robibero
Use InvariantCulture when parsing machine-generated dates
2026-07-05Merge pull request #17044 from Shadowghost/version-model-and-handlingCody Robibero
Fixes for multi version handling
2026-07-05Merge pull request #17239 from theguymadmax/ratings-separatorCody Robibero
Fix parental rating lookup for multi-rating entries
2026-07-05Merge pull request #17231 from theguymadmax/fix-paths-not-being-deletedBond-009
Fix ghost entries when deleting library paths
2026-07-05Allow changing capitalization of usernames (#17229)Bond-009
Fixes #17195 Adds a regression test
2026-07-05Translated using Weblate (Chinese (Traditional Han script, Hong Kong))Lofuuzi
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2026-07-04Use InvariantCulture when parsing machine-generated datesNils Lehnen
DateTime.TryParse without an IFormatProvider falls back to the current thread culture, so the same string can parse differently (or fail) depending on the server's locale. None of these call sites deal with user-entered text - they parse dates that come from filenames, an HTTP header, ffprobe metadata and values the app itself wrote to the auth database - so InvariantCulture is the correct provider everywhere here. Fixes the S6580 / CA1305 warnings on these call sites. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04Fix parental rating lookup for multi-rating entriestheguymadmax
2026-07-04Translated using Weblate (Danish)Ulrik
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2026-07-04Merge pull request #17222 from theguymadmax/fix-folder-viewCody Robibero
Fix folder view
2026-07-04Merge pull request #17225 from jellyfin/renovate/microsoftCody Robibero
Update Microsoft to 5.6.0
2026-07-04Fix play queue index handling in SyncPlayEnea D'Angiò
Three index bugs in PlayQueueManager, two of which leave PlayingItemIndex out of bounds, making every subsequent Buffering/Ready request throw and leaving the group unusable until it empties: - RemoveFromPlaylist did not compensate for removed items preceding the playing item: removing the playing item together with earlier items could select the wrong item or crash with an out-of-bounds index. - Next/Previous on an empty playlist with RepeatOne/RepeatAll reported success or set PlayingItemIndex to 0 on an empty list, crashing downstream in Group and corrupting the index. - SetPlayingItemByIndex accepted an index equal to the playlist count (latent off-by-one, callers currently pre-validate).
2026-07-03Fix ghost entries when deleting library pathstheguymadmax
2026-07-03Allow changing capitalization of usernamesBond_009
Fixes #17195 Adds a regression test
2026-07-03Don't throw on logout if session does not existShadowghost
2026-07-03Translated using Weblate (Sinhala)Chamithu Mapalagama
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/si/