aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-22Added translation using Weblate (English (United States))Jensen
2026-06-22Make the startup log a bounded, soft-refreshing scrolling viewportJoshua M. Boniface
Order the startup log oldest-to-newest inside a height-bounded panel that scrolls internally and never extends past the bottom of the window. Refresh it with a background fetch that swaps the log list in place instead of reloading the whole page, preserving the user's scroll position and only following to the bottom when they are already there. A full page reload now happens only on the final transition to the running server or to the error state.
2026-06-22Restyle the startup UI and add a generic startup activity lineJoshua M. Boniface
Restyle the startup/migration holding page to match the Jellyfin dark theme, with the inline wordmark logo, a gradient spinner and a recolored startup log tree, and move the Morestachio template rendering into a reusable StartupUiRenderer. Add a curated, non-identifying "current activity" line to the always-visible header (for example "Initializing server" or "Running migration X of Y"), reported from the startup flow and the migration service so it never leaks server details to unauthenticated clients. Move the log download into a "Download logs" link in the log panel header, and show only the header, with no log hints, to non-local clients.
2026-06-21Add progress logging and batch deletion for logsJoshua M. Boniface
After resolving duplicates the migration deleted all items in one silent pass (per-id GetItemById plus a single DeleteItemsUnsafeFast), which looks hung for minutes on large libraries. Delete in batches of 500 and log progress per batch, which also avoids one oversized delete transaction.
2026-06-21Fix too many SQL variables in DeleteItem for large batch deletesJoshua M. Boniface
The FixIncorrectOwnerIdRelationships migration deletes all duplicate items in a single DeleteItemsUnsafeFast -> DeleteItem(ids) call. Inside DeleteItem, the owned-extras lookup used a raw HashSet.Contains, which EF inlines as one SQL variable per id and overflows SQLite's variable limit on large libraries. Use WhereOneOrMany so the id set is bound as a single json_each parameter, like the rest of the method, making bulk deletes work for unlimited library sizes.
2026-06-21Fix Identify returning wrong imagestheguymadmax
2026-06-21Merge pull request #17146 from theguymadmax/fix-identify-searchv12.0-rc1Bond-009
Fix Identify returning wrong results
2026-06-21Merge pull request #17090 from moontwister/fix/audio-sample-rate-non-opus-17026Bond-009
Fix audio sample rate forced to 48 kHz for non-Opus codecs
2026-06-21Merge pull request #17094 from ↵Bond-009
moontwister/fix/trailers-nullref-controllercontext-17065 Deprecate the redundant /Trailers endpoint
2026-06-21Fix audio sample rate forced to 48 kHz for non-Opus codecsdanne
GetProgressiveAudioFullCommandLine applied the libopus-only sample rate quantization to every codec except Opus, inverting the intended guard. A requested rate such as 44100 Hz was therefore snapped to 48000 Hz for AAC/MP3/FLAC, while Opus (which actually requires the quantization) was skipped entirely. Apply the quantization only when the output codec is Opus, and pass the requested sample rate through unchanged for all other codecs. Fixes #17026 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20Fix Identify returning wrong resultstheguymadmax
2026-06-21Merge pull request #17116 from theguymadmax/fix-root-folder-parsingBond-009
2026-06-20Translated using Weblate (Slovenian)Žiga Ules
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2026-06-20Translated using Weblate (Portuguese (Portugal))AfmanS
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2026-06-19Reorder ValidatePeopletheguymadmax
2026-06-19Surface the played version for resumeShadowghost
2026-06-19Remove orphaned peopletheguymadmax
2026-06-19Deprecate the redundant /Trailers endpointdanne
GET /Trailers is a thin alias for GET /Items with includeItemTypes=Trailer; it just forwards to the injected ItemsController. Per the PR review the agreed direction is to deprecate it rather than keep maintaining the delegation. Mark the action [Obsolete] so it is flagged as deprecated in the OpenAPI spec; clients should use the GetItems operation with includeItemTypes=Trailer instead. Re #17065
2026-06-18Fix embedded lyrics not updating on replace-all refreshtheguymadmax
2026-06-18Update actions/checkout action to v7renovate[bot]
2026-06-18Merge pull request #14935 from JadedRain/masterBond-009
Fixed "Deleting media that is still being watched in SyncPlay results in errors"
2026-06-18Merge pull request #17112 from theguymadmax/add-year-to-series-resolverBond-009
Fix series year lost during name parsing
2026-06-18Merge pull request #17121 from theguymadmax/fix-date-offsetBond-009
Fix episode air date offset after initial scan
2026-06-18Merge pull request #17099 from Bond-009/libraryimportBond-009
Follow native interoperability best practices
2026-06-17Apply review feedbacktheguymadmax
2026-06-17Merge pull request #17087 from dkanada/book-resolverBond-009
improve book resolution from filename
2026-06-17Merge pull request #17106 from Shadowghost/extend-transcoding-reason-reportingBond-009
Extend TranscodingReason reporting
2026-06-17Always apply recursive when filters are requested (#17088)Bond-009
2026-06-17Fetch TV Shows creators from TMDB (#17107)Rant423
Fetch TV Shows creators from TMDB
2026-06-17Merge pull request #17118 from jellyfin/renovate/sharpfuzz-2.xBond-009
Update dependency SharpFuzz to 2.3.0
2026-06-17Merge branch 'master' into fix/livetv-channel-icon-refreshDaniel Țuțuianu
Resolve GuideManager conflict by keeping LiveTvChannelImageHelper so channel icons re-fetch on every guide refresh, including when the URL is unchanged.
2026-06-16Fix episode air date offset after initial scantheguymadmax
2026-06-16Translated using Weblate (Indonesian)Darren
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2026-06-16Strip null-terminatorBond_009
2026-06-16Make sure we don't include the null terminatorBond_009
2026-06-16Update dependency SharpFuzz to 2.3.0renovate[bot]
2026-06-15Skip parsing root-level folders in SeriesResolvertheguymadmax
2026-06-15Translated using Weblate (Kannada)Rohith
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kn/
2026-06-15Add regression testBond_009
2026-06-15Fix type of length argumentsBond_009
2026-06-15Follow native interoperability best practicesBond_009
https://learn.microsoft.com/en-us/dotnet/standard/native-interop/best-practices
2026-06-15Merge pull request #17074 from jellyfin/renovate/sharpcompress-0.xBond-009
Update dependency SharpCompress to 0.49.1
2026-06-15await instead of returning TaskBond_009
2026-06-15fix build errorsBond_009
2026-06-15Update dependency SharpCompress to 0.49.1renovate[bot]
2026-06-15Merge pull request #17109 from ↵Bond-009
jellyfin/renovate/serilog.settings.configuration-10.x Update dependency Serilog.Settings.Configuration to 10.0.1
2026-06-15Merge pull request #17089 from Bond-009/sharpcompressBond-009
Replace usage of SharpCompress
2026-06-15Fix series year lost during parsingtheguymadmax
2026-06-15Fix testsShadowghost
2026-06-15Update dependency Serilog.Settings.Configuration to 10.0.1renovate[bot]