| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 44 hours | Merge pull request #17763 from Shadowghost/fix-refresh-queue-and-directory-cache | Cody Robibero | |
| Fix items being lost from the refresh queue and bound the directory service caches | |||
| 2 days | Apply review suggestions | Shadowghost | |
| 3 days | Enforce dolby vision transfer check | gnattu | |
| Dolby vision files having unexpected transfers now also marked as invalid, and it will now get its base video range from its base layer color transfer, as not all invalid dolby vision files are HDR now. | |||
| 3 days | Merge pull request #17674 from Oggeb1/BDMV-pgs | Cody Robibero | |
| Fix PGS subtitles for BDMV with TrueHD | |||
| 3 days | Fix BDMV subtitles with external audio | Oggeb1 | |
| Co-authored-by: gnattu <gnattu@users.noreply.github.com> | |||
| 3 days | Merge pull request #17768 from ↵ | Cody Robibero | |
| Shadowghost/fix-livetv-hls-audio-codec-and-manifest-direct-play Fix Live TV HLS playback: bogus audio encoder and unplayable direct played manifests | |||
| 3 days | Merge pull request #17796 from fmarcac/fix/syncplay-shuffle-mode-crash | Cody Robibero | |
| Fix crash when SyncPlay shuffle mode is set to sorted twice | |||
| 3 days | Apply the SyncPlay resume delay floor in the correct unit | fmarcac | |
| 3 days | Fix crash when SyncPlay shuffle mode is set to sorted twice | fmarcac | |
| 3 days | Retire runners that are cancelled before they start | Shadowghost | |
| 3 days | Limit cache size again | Shadowghost | |
| Co-Authored-By: Cody Robibero <cody@robibe.ro> | |||
| 4 days | Invalidate the singleton DirectoryService cache on filesystem changes | Shadowghost | |
| 4 days | Fix the library scheduler never retiring its runners | Shadowghost | |
| 5 days | Reduce comments | Shadowghost | |
| 6 days | Never treat a manifest container as an audio codec or a direct play target | Shadowghost | |
| 6 days | Optimize Caches | Shadowghost | |
| Co-Authored-By: Cody Robibero <cody@robibe.ro> | |||
| 6 days | Bound the directory caches a singleton would otherwise hold for the process ↵ | Shadowghost | |
| lifetime | |||
| 7 days | Find dead people and artists by id, not by name | Shadowghost | |
| 7 days | Fix people validator not creating missing people | Shadowghost | |
| 7 days | Merge pull request #17752 from Shadowghost/fix-linkedchildren-recursive | Cody Robibero | |
| Fix recursive handling for LinkedChildren | |||
| 8 days | Fix recursive handling for LinkedChildren | Shadowghost | |
| 8 days | Fix formatting and test | Shadowghost | |
| 9 days | Merge commit from fork | Cody Robibero | |
| Fix broken access control in session management | |||
| 9 days | Merge commit from fork | Cody Robibero | |
| Secure library paths | |||
| 10 days | Count a season's episodes by the season they belong to | Shadowghost | |
| 10 days | Merge branch 'jellyfin:master' into BDMV-pgs | Oggeb1 | |
| 10 days | Fix BDMV with external subtitle | Oskar Bali | |
| GetSubtitleStreamIndexForFfmpeg treated external and internal subtitles the same. This made subtitles out of sync with the video. | |||
| 14 days | Delete a credit once no item maps to it any more | Shadowghost | |
| 14 days | Bind the folder name an item-by-name entity resolves to | Shadowghost | |
| 2026-08-25 | Secure library paths | Shadowghost | |
| 2026-08-23 | Merge pull request #17693 from Shadowghost/fix-series-merging | Cody Robibero | |
| Fix series merging leaking across libraries and under-counting merged children | |||
| 2026-08-22 | Merge remote-tracking branch 'upstream/master' into ↵ | Shadowghost | |
| fix-metadata-language-fallback | |||
| 2026-08-22 | Merge remote-tracking branch 'upstream/master' into fix-series-merging | Shadowghost | |
| 2026-08-21 | Fix series merging leaking across libraries and under-counting merged children | Shadowghost | |
| 2026-08-20 | Normalize fix, apply in more places | Cody Robibero | |
| 2026-08-20 | Fix GHSA-wwwm-px48-fpvq | Shadowghost | |
| # Conflicts: # MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs | |||
| 2026-08-19 | Fix BDMV PGS subtitles with TrueHD | Oskar Bali | |
| Add myself CONTRIBUTORS.md | |||
| 2026-08-14 | Use client-reported position for idle playback cleanup | itsb | |
| 2026-08-14 | Require session ownership for additional users, capabilities and viewing reports | Shadowghost | |
| 2026-08-12 | Fix English metadata blocking localized providers ranked below it | Shadowghost | |
| 2026-08-10 | Merge pull request #17579 from Shadowghost/fix-removal-notification | Cody Robibero | |
| Fix missing ItemRemoved events and search fallback after access filtering | |||
| 2026-08-10 | Merge pull request #17576 from obiwantoby/perf/batch-mediasourcecount-dto | Cody Robibero | |
| Bugfix: #17547 | Batching MediaSourceCount into one call | |||
| 2026-08-10 | Merge pull request #17569 from vavallee/fix/17056-no-image-upscaling | Cody Robibero | |
| Stop image endpoints from upscaling beyond the source resolution | |||
| 2026-08-10 | Update MediaBrowser.Controller/Drawing/ImageHelper.cs | Cody Robibero | |
| Co-authored-by: Tim Eisele <Tim_Eisele@web.de> | |||
| 2026-08-08 | Address review on MediaSourceCount batching | brandon | |
| Rename GetItemsWithAlternateVersions to GetItemIdsWithAlternateVersions across the interfaces and implementations since it returns ids. Return the hashset straight from the query instead of materializing an array first. Rename the DtoService guard to mayHaveAlternateVersions and invert it so the computed path is the explicit case. Assert the media source count value in the batch skip test and add a test covering an item that is in the returned set still resolving to the correct count. | |||
| 2026-08-08 | Fix missing ItemRemoved events and search fallback after access filtering | Shadowghost | |
| 2026-08-07 | Batch alternate version detection in DtoService to remove MediaSourceCount N+1 | brandon | |
| Browsing a page of videos with the MediaSourceCount field ran one alternate version query per item, each opening a fresh DbContext. On a large library that turned a single page into hundreds of sequential round trips and made the Items endpoint take tens of seconds while holding a request thread the whole time. Detect which videos own alternate versions once per page with a single query, mirroring the existing people batch. Videos absent from that set have a single media source, so the per item lookups are skipped for the common case. Behavior is unchanged: a video with no alternates already resolved to a count of one. Adds a regression test asserting the count resolves from the batch and the per item lookups are never called. | |||
| 2026-08-07 | Merge pull request #17571 from obiwantoby/perf/batch-people-dto | Cody Robibero | |
| Batch people lookups when building item DTOs | |||
| 2026-08-07 | Merge pull request #17536 from gnattu/fix-concurrent-racing | Cody Robibero | |
| Fix concurrent ffmpeg segment racing | |||
| 2026-08-07 | Batch people lookups when building item DTOs | brandon | |
| GetBaseItemDtos already batch fetches user data, child counts, played counts and artists before its per item loop, but AttachPeople still ran one GetPeople query per item. Rendering a page of items (for example a large playlist) fired one extra query per row. Add GetPeopleByItems to IPeopleRepository, which reads every requested item in a single query over the people mapping table and returns full PersonInfo (role, type and sort order) grouped by item id. GetBaseItemDtos prefetches this once when the People field is requested and passes it into AttachPeople, which reads from the batch instead of querying per item. The single item GetBaseItemDto path keeps its existing per item behaviour when no batch is supplied. Adds a DtoService test asserting people resolve from the batch and the per item GetPeople is never called. | |||
