| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-09-06 | Resolve migration routine loggers from the application container | Shadowghost | |
| 2026-09-06 | Merge pull request #17762 from Shadowghost/fix-scan-memory-leak | Cody Robibero | |
| Bound change batches during a scan; keep ffprobe and image saves from failing | |||
| 2026-09-06 | 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. | |||
| 2026-09-05 | Fix handling of unordered multi-episode NFOs | Shadowghost | |
| 2026-09-05 | Merge pull request #17746 from kfarnung/fix/vobsub-idx-subtitle-language | Cody Robibero | |
| Probe .idx instead of .sub for external VobSub subtitle language detection | |||
| 2026-09-05 | 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 | |||
| 2026-09-05 | Merge pull request #17796 from fmarcac/fix/syncplay-shuffle-mode-crash | Cody Robibero | |
| Fix crash when SyncPlay shuffle mode is set to sorted twice | |||
| 2026-09-05 | Merge pull request #17800 from fmarcac/fix/syncplay-active-session-counter | Cody Robibero | |
| Fix SyncPlay active session counter leaking on rejoin | |||
| 2026-09-05 | Clamp client reported ping in SyncPlay groups | fmarcac | |
| 2026-09-05 | Apply the SyncPlay resume delay floor in the correct unit | fmarcac | |
| 2026-09-05 | Fix crash when SyncPlay shuffle mode is set to sorted twice | fmarcac | |
| 2026-09-05 | Fix SyncPlay active session counter leaking on rejoin | fmarcac | |
| 2026-09-05 | Retire runners that are cancelled before they start | Shadowghost | |
| 2026-09-05 | Don't dispose application singletons after running a code migration | Shadowghost | |
| 2026-09-05 | Limit cache size again | Shadowghost | |
| Co-Authored-By: Cody Robibero <cody@robibe.ro> | |||
| 2026-09-04 | Invalidate the singleton DirectoryService cache on filesystem changes | Shadowghost | |
| 2026-09-04 | Fix the library scheduler never retiring its runners | Shadowghost | |
| 2026-09-04 | Use platform separators in the DirectoryService path tests | Shadowghost | |
| 2026-09-03 | Merge pull request #17757 from felixfoertsch/fix/legacy-filter-tag-query | Cody Robibero | |
| Fix UI stalls caused by large tag and genre sets | |||
| 2026-09-03 | Reduce comments | Shadowghost | |
| 2026-09-02 | Apply the resize sharpening kernel directly instead of via SKImageFilter | Albert | |
| Since the SkiaSharp 3 update the MatrixConvolution image filter used in SkiaEncoder.ResizeImage no longer has a fast CPU path: on the software rasterizer it takes about 4.5 seconds per megapixel-sized image, which turns every cold image request into a multi-second operation and makes first-time loads of a library view take minutes. Draw the resize without the paint filter and apply the identical 3x3 kernel (same weights, clamped edges, alpha included) directly on the resized pixels instead. This drops a cold 1000x1500 -> 663x995 poster render from ~4.6s to well under a second; the convolution pass itself takes ~86ms. Output is visually unchanged. | |||
| 2026-09-02 | avoid correlated item value name queries | Felix Förtsch | |
| 2026-09-02 | test legacy item value filter semantics | Felix Förtsch | |
| 2026-09-02 | Potential fix for pull request finding | Felix Förtsch | |
| Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> | |||
| 2026-09-02 | Never treat a manifest container as an audio codec or a direct play target | Shadowghost | |
| 2026-09-02 | Optimize Caches | Shadowghost | |
| Co-Authored-By: Cody Robibero <cody@robibe.ro> | |||
| 2026-09-01 | Bound the directory caches a singleton would otherwise hold for the process ↵ | Shadowghost | |
| lifetime | |||
| 2026-09-01 | Guard the refresh queue so concurrent callers cannot lose the items they queue | Shadowghost | |
| 2026-09-01 | Treat an item deleted mid-save as a no-op when saving its images | Shadowghost | |
| 2026-09-01 | Keep a media process and its exit state usable by the caller that started it | Shadowghost | |
| 2026-09-01 | Close a change batch on its own window so a library scan cannot grow it ↵ | Shadowghost | |
| without bound | |||
| 2026-09-01 | Find dead people and artists by id, not by name | Shadowghost | |
| 2026-09-01 | avoid correlated legacy item value filter queries | Felix Förtsch | |
| The legacy filter queries projected ItemValue before grouping tags and genres. EF Core translated that shape into duplicated correlated aggregates, causing multi-minute requests for libraries with many distinct values and blocking unrelated SQLite-backed API calls. Join ItemValuesMap directly to ItemValues before grouping. This preserves type and item filtering, clean-value grouping, minimum-value selection and ordering while producing one aggregate query. Add an in-memory SQLite regression test for result semantics and both SQL shapes. | |||
| 2026-08-31 | Merge pull request #17752 from Shadowghost/fix-linkedchildren-recursive | Cody Robibero | |
| Fix recursive handling for LinkedChildren | |||
| 2026-08-31 | Fix recursive handling for LinkedChildren | Shadowghost | |
| 2026-08-30 | Probe .idx instead of .sub for external VobSub subtitle language detection | Kyle Farnung | |
| External VobSub subtitle pairs (.idx and .sub) were only probed via the bare .sub file. In cases where multiple languages are present, this results in missing language metadata. Fix by detecting the matching .idx file during media info resolution to run ffprobe on that file and skip processing the .sub entirely. ffprobe will automatically find the matching (same directory, case-sensitive base) .sub file and process both. Added regression tests covering idx/sub pairing, unpaired files, cross-directory pairs, and language-flagged filenames. Fixes #17745 | |||
| 2026-08-30 | Fix formatting and test | Shadowghost | |
| 2026-08-30 | Merge commit from fork | Cody Robibero | |
| Fix broken access control in session management | |||
| 2026-08-30 | Merge commit from fork | Cody Robibero | |
| Secure library paths | |||
| 2026-08-30 | Merge commit from fork | Cody Robibero | |
| Prevent SSRF, local file disclosure and DoS via external references in SVG rendering | |||
| 2026-08-29 | Count a season's episodes by the season they belong to | Shadowghost | |
| 2026-08-28 | Support anime provider ids on season folders | Shadowghost | |
| 2026-08-28 | Apply review suggestions | Shadowghost | |
| 2026-08-26 | Fix children count on virtual items | Shadowghost | |
| 2026-08-25 | Merge pull request #17709 from Shadowghost/fix-people-task-peristv12.0-rc6 | Cody Robibero | |
| Persist the refresh stamp so the people task stops redoing its work | |||
| 2026-08-25 | Merge pull request #17715 from Shadowghost/fix-people-cleanup | Cody Robibero | |
| Delete credits nothing maps to and bound item-by-name folder names | |||
| 2026-08-25 | Merge pull request #17716 from Shadowghost/tmdb-aggregate-cast | Cody Robibero | |
| Build a TMDb series cast from the aggregated credits | |||
| 2026-08-25 | Merge pull request #17714 from Shadowghost/fix-localized-view-ids | Cody Robibero | |
| Stop deriving user view ids from their localized name | |||
| 2026-08-25 | Merge pull request #17713 from LTe/fix/sort-isplayed-series | Cody Robibero | |
| Fix IsPlayed and IsUnplayed sorting for shows and collections | |||
| 2026-08-25 | Build a TMDb series cast from the aggregated credits | Shadowghost | |
