| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2 days | Only treat series and seasons as resumable folders | Shadowghost | |
| 3 days | Merge pull request #17456 from Shadowghost/fix-extras | Cody Robibero | |
| Fix extras naming and version assignment | |||
| 3 days | Merge pull request #17503 from theguymadmax/fix-sortby-name | Cody Robibero | |
| Use CleanName when sorting by name | |||
| 3 days | Merge pull request #17486 from Shadowghost/fix-adjacent | Cody Robibero | |
| Fix AdjacentTo being ignored on non-recursive item queries | |||
| 3 days | Merge pull request #17482 from Shadowghost/fix-stale-versions | Cody Robibero | |
| Fix video version links being read from stale serialised item data instead of the LinkedChildren table | |||
| 3 days | Merge pull request #17147 from Shadowghost/tmdb-missing-episodes | Cody Robibero | |
| Add Tmdb missing episode provider | |||
| 4 days | Merge remote-tracking branch 'upstream/master' into tmdb-missing-episodes | Shadowghost | |
| # Conflicts: # Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs | |||
| 4 days | Merge pull request #17500 from theguymadmax/fix-storage-lookup | Cody Robibero | |
| Fix storage info lookup for Windows | |||
| 4 days | Merge pull request #17463 from Shadowghost/fix-unplayed-filter | Cody Robibero | |
| Fix (Un)Played filter correctness and performance | |||
| 4 days | Merge pull request #17460 from Shadowghost/fix-user-items | Cody Robibero | |
| Queue person metadata refresh instead of blocking the item request and fix ItemCounts | |||
| 4 days | Merge pull request #17416 from Shadowghost/enable-duplicate-playlist-children | Cody Robibero | |
| Allow duplicate LinkedChildren for Playlists | |||
| 5 days | Use CleanName when sorting by name | theguymadmax | |
| 5 days | Fix storage lookup for Windows | theguymadmax | |
| 7 days | Fix playlist entries being lost on migration and library scans | Shadowghost | |
| 7 days | Fix AdjacentTo being ignored on non-recursive item queries | Shadowghost | |
| 7 days | Fixup | Shadowghost | |
| 7 days | Fix more filter cases | Shadowghost | |
| 7 days | Fix video version links being read from stale serialised item data instead ↵ | Shadowghost | |
| of the LinkedChildren table | |||
| 8 days | Fix played/unplayed filter for empty Series and BoxSets | Shadowghost | |
| 9 days | Queue person metadata refresh instead of blocking the item request and fix ↵ | Shadowghost | |
| ItemCounts | |||
| 9 days | Fix extras naming and version assignment | Shadowghost | |
| 10 days | Use DistinctBy where possible | Shadowghost | |
| 11 days | Fix favorite filter performance | Shadowghost | |
| 11 days | Fix DatePlayed sorting performance | Shadowghost | |
| 13 days | Reduce correlated subqueries to improve performance | Shadowghost | |
| 13 days | Allow duplicate LinkedChildren for Playlists | Shadowghost | |
| 2026-07-21 | Merge pull request #16980 from ↵ | Cody Robibero | |
| TheMelmacian/feature/library_specific_language_filter_values Improve language filters to only fetch language codes that match the requested items/libraries (follow up to #9787) | |||
| 2026-07-21 | fix: remove obsolete code | TheMelmacian | |
| 2026-07-21 | Merge pull request #17160 from 854562/truncate-language-strings | Cody Robibero | |
| Truncate ISO-639-2 language display names at first delimiter | |||
| 2026-07-21 | Merge pull request #17368 from Shadowghost/security-path-traversal-fixes | Bond-009 | |
| Backport and extend path traversal fixes | |||
| 2026-07-21 | Apply review suggestions | Shadowghost | |
| 2026-07-21 | Merge pull request #17367 from zerafachris/fix/backup-skip-corrupt-keyframe-data | Bond-009 | |
| fix: skip corrupt KeyframeData rows during full system backup | |||
| 2026-07-21 | Merge remote-tracking branch 'upstream/master' into ↵ | Shadowghost | |
| security-path-traversal-fixes # Conflicts: # Jellyfin.Api/Controllers/HlsSegmentController.cs # Jellyfin.Api/Controllers/PluginsController.cs | |||
| 2026-07-20 | Merge pull request #17377 from mbastian77/fix/person-visibility-allowed-tags | Cody Robibero | |
| Exempt people from the allowed tags visibility check | |||
| 2026-07-20 | Merge branch 'master' into fix/backup-skip-corrupt-keyframe-data | Cody Robibero | |
| 2026-07-20 | Remove comments about JSON error handling | Cody Robibero | |
| Removed comments explaining error handling for malformed JSON during backup. | |||
| 2026-07-20 | Merge pull request #17282 from TowyTowy/fix/13137-clear-profile-image | Cody Robibero | |
| Fix profile image being impossible to clear when its in-memory key is temporary | |||
| 2026-07-20 | Extract truncation logic to helper and add tests | 854562 | |
| 2026-07-20 | Merge pull request #17302 from ElianCodes/fix/lastlogindate-stale-entity | Bond-009 | |
| Keep authenticated user entity in sync with persisted login timestamps | |||
| 2026-07-18 | fix: log corrupt KeyframeData row read failures as errors, not warnings | zerafachris | |
| Per review feedback from cvium: failing to read/backup an entity due to corrupt underlying data is a significant event that should be surfaced as an error, not silently downgraded to a warning. | |||
| 2026-07-18 | Exempt people from the allowed tags visibility check | mbastian77 | |
| 2026-07-17 | Harden remaining path-construction sinks against traversal | Shadowghost | |
| 2026-07-17 | Skip corrupt KeyframeData rows during full system backup | zerafachris | |
| A single row with malformed KeyframeTicks JSON (e.g. a truncated array from an interrupted write) currently aborts the entire backup, because the try/catch in BackupService.CreateBackupAsync only wraps serialization of an already-materialized entity, not the enumeration itself. EF Core throws JsonReaderException from MoveNextAsync() while materializing the corrupt row, which propagates past that catch block. Switch to manual enumerator iteration so MoveNextAsync() failures can be caught per-row, logged as a warning identifying the affected table, and skipped, allowing the remaining rows and the rest of the backup to complete. Fixes #17216 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> | |||
| 2026-07-16 | Fix tie-breaker performance | Shadowghost | |
| 2026-07-11 | Keep authenticated user entity in sync with persisted login timestamps | Elian 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-09 | Fix profile image being impossible to clear when its in-memory key is temporary | TowyTowy | |
| 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-08 | Fix max login attempts | theguymadmax | |
| 2026-07-05 | Merge pull request #17228 from Shadowghost/fix-logout-concurrency | Cody Robibero | |
| Don't throw on logout if session does not exist | |||
| 2026-07-05 | Merge pull request #17044 from Shadowghost/version-model-and-handling | Cody Robibero | |
| Fixes for multi version handling | |||
| 2026-07-03 | Allow changing capitalization of usernames | Bond_009 | |
| Fixes #17195 Adds a regression test | |||
