Commit Graph

2076 Commits

Author SHA1 Message Date
jakobkukla
37350282cc Run tree-wide dotnet format 2026-05-21 20:48:41 +02:00
Bond-009
4209b3ba51 Add support for filtering boxsets by parentId (#16882) 2026-05-21 19:32:39 +02:00
Ethan Pippin
40485aa2f6 Have device deletion take list of ids (#12834)
* add delete multiple devices via id

* make atomic

* use Add

* Update Jellyfin.Api/Controllers/DevicesController.cs

Co-authored-by: JPVenson <ger-delta-07@hotmail.de>

* remove model binding, use functional device selection

* use singular id

* use BadRequest instead

---------

Co-authored-by: JPVenson <ger-delta-07@hotmail.de>
2026-05-21 19:30:24 +02:00
Bond-009
11ca3ade86 Merge pull request #16855 from Shadowghost/fix-local-plugin-images
Fix integrated provider images
2026-05-21 19:27:46 +02:00
Shadowghost
9dfcc0918f Add support for filtering boxsets by parentId 2026-05-20 11:34:45 +02:00
Bruno Ferreira
2f8bf92fb8 fix: add null check for non-existent program in GetProgram (#16858)
fix: add null check for non-existent program in GetProgram
2026-05-17 14:01:39 +02:00
Shadowghost
09e607db99 Fix integrated provider images 2026-05-15 18:42:11 +02:00
Bond-009
9d420271ad Merge pull request #9787 from TheMelmacian/feature/language_filters
New filters for audio and subtitle languages
2026-05-15 15:44:22 +02:00
TheMelmacian
fae4950ac2 Apply suggestions from code review
Co-authored-by: Bond-009 <bond.009@outlook.com>
2026-05-15 12:00:00 +02:00
Bond-009
8e602f982f Merge pull request #15970 from Shadowghost/similarity
Implement similarity providers
2026-05-15 10:00:53 +02:00
Cody Robibero
0a5a1f135f Add Accept-Language header support and cleanup translations (#16488)
* Add Accept-Language header support for per-request localization

* Use native middleware

* Cleanup

* Add Fallback

* Build BCP47 map reflexively

* Address review comments
2026-05-14 18:57:11 -04:00
TheMelmacian
068b3fd58d remove language filters from old Items endpoint 2026-05-14 01:01:56 +02:00
dkanada
843e0f0c84 return music artists from person endpoints 2026-05-13 09:37:18 +09:00
Shadowghost
4be3f5f1f9 Add Accept-Language header support for per-request localization 2026-05-12 23:18:38 +02:00
Bond-009
27a3ccb7e4 consolidate OpenAPI categories and deprecate startup routes (#16757) 2026-05-12 18:13:11 +02:00
TheMelmacian
39049a726e move language filters from QueryFiltersLegacy to QueryFilters 2026-05-12 02:12:14 +02:00
TheMelmacian
2b7f641163 feat: language filters for subtitles and audio 2026-05-10 12:41:57 +02:00
dkanada
8437866ffa consolidate OpenAPI categories and deprecate startup routes 2026-05-08 12:53:26 +09:00
Erik W
e1e18e8da0 Add OriginalLanguage as option to PreferredAudioLanguage (#12579)
* Add OriginalLanguage as option to PreferredAudioLanguage

* Support for multiple original languages

* Add original audio stream indicator

* Fetch OriginalLanguage from TMDB

* Adapt to EFCore refactor

* Fix PlayDefaultAudioTrack OriginalLanguage behavior

* Fix better PlayDefaultAudioTrack OriginalLanguage behavior

* Add comment to ItemFields

* Improved PlayDefaultAudioTrack behavior

* Add migration for original language

* Use sting.Equals for string comparisons

* Always set dto OriginalLanguage

* Remove OriginalLanguage from ItemFields

---------

Co-authored-by: Lampan-git <lampan-git@users.noreply.github.com>
2026-05-07 20:07:23 +02:00
JPVenson
ec054f6a34 Backport changes from #15368 2026-05-05 17:57:27 +00:00
Shadowghost
57c0fcd674 Merge remote-tracking branch 'upstream/master' into epg-fixes 2026-05-04 21:26:26 +02:00
Niels van Velzen
d359d2f7a8 Merge pull request #16166 from Shadowghost/ignore-caching
Implement ignore rule caching
2026-05-04 17:59:48 +02:00
Niels van Velzen
dcba6c3659 Merge pull request #16616 from dkanada/fix-person-limit
fix person TotalRecordCount when limit is applied
2026-05-04 17:58:27 +02:00
dkanada
ec990be12a fix person TotalRecordCount when limit is applied 2026-05-04 12:06:11 +09:00
Shadowghost
4ebce39070 Implement Similarity providers 2026-05-03 23:43:01 +02:00
Shadowghost
d20c775daf Implement ignore rule caching 2026-05-03 23:35:33 +02:00
Shadowghost
d68d0fa962 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-05-03 13:31:23 +02:00
Seven Rats
f5f75ed2e1 feat/audiobook_chapters (#16518)
feat/audiobook_chapters
2026-05-03 12:18:20 +02:00
tcsenpai
58e7ff7f9d Use symmetric 15s default for skip forward/backward lengths
Previously the default skip forward was 30s while skip backward was 10s.
This asymmetry is unexpected for most users and causes a poor UX,
especially on mobile/TV clients that rely on these server-side defaults.

Both values now default to 15000ms (15s), keeping a single consistent
behaviour until the user explicitly customizes them.
2026-05-01 22:09:26 +02:00
Shadowghost
68ab585894 Merge remote-tracking branch 'upstream/master' into epg-fixes 2026-04-29 22:18:47 +02:00
dkanada
c59d3bb21a hide HLS controllers and update obsolete endpoints 2026-04-27 21:45:40 +09:00
Bond-009
48299ff694 Merge pull request #16698 from dkanada/api-tags
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Artifact (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
improve openapi endpoint categorization
2026-04-26 17:57:26 +02:00
dkanada
a9117bcda4 use decorators to improve openapi endpoint categories 2026-04-26 16:13:22 +09:00
Shadowghost
b717754ed8 Merge remote-tracking branch 'upstream/master' into epg-fixes 2026-04-20 08:16:45 +02:00
Shadowghost
8a1ad14faf Fix review comment 2026-04-19 10:27:23 +02:00
Shadowghost
e71bb7e904 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-04-19 10:23:34 +02:00
Niels van Velzen
6a85961816 Merge pull request #13491 from gnattu/disallow-trailing-leading-space-library-name
Don't allow library name with leading or trailing space
2026-04-15 19:20:06 +02:00
dkanada
bb265cd403 add NameStartsWithOrGreater parameter to Persons endpoint 2026-04-13 13:50:04 +09:00
Shadowghost
5b4882c102 More generic collection folder filter handling 2026-04-12 18:46:35 +02:00
dkanada
22644075e7 add NameStartsWith and NameLessThan filters to Person search 2026-04-12 12:42:49 +09:00
Shadowghost
e0f50f504a Merge remote-tracking branch 'upstream/master' into epg-fixes 2026-04-11 17:48:00 +02:00
Shadowghost
d8bbb4dfe8 Fix filters 2026-04-11 17:42:27 +02:00
Shadowghost
24a0df9a39 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-04-07 21:36:07 +02:00
Shadowghost
740e9f8749 Lock down tuner API to be admin-only 2026-04-06 11:37:45 +02:00
Shadowghost
0bf7653e36 Fix GHSA-jh22-fw8w-2v9x 2026-04-06 11:37:45 +02:00
Shadowghost
b846958f2c Add additional validations 2026-04-06 11:37:45 +02:00
Shadowghost
3c2833e3e8 Fix GHSA v2jv-54xj-h76w 2026-04-06 11:37:45 +02:00
Bond-009
42a0892022 Merge pull request #16490 from theguymadmax/fix-nested-boxsets-query
Some checks failed
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Artifact (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
Fix BoxSet parentId being ignored in item queries
2026-04-05 16:53:44 +02:00
dkanada
80df5dc984 add StartIndex and ParentId to person search 2026-04-05 15:40:18 +09:00
NoFear0411
e5bbb1ea0c Add spec-compliant dvh1 HLS variant for Dolby Vision Profile 5 (#16362)
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
* Add spec-compliant dvh1 HLS variant for Dolby Vision Profile 5

DV Profile 5 has no backward-compatible base layer, so
SUPPLEMENTAL-CODECS cannot be used. The master playlist
currently labels P5 streams as hvc1 in the CODECS field,
even though DynamicHlsController already passes
-tag✌️0 dvh1 -strict -2 to FFmpeg for P5 copy-codec
streams, writing a dvh1 FourCC and dvvC configuration box
into the fMP4 init segment. This mismatch between the
manifest (hvc1) and the bitstream (dvh1) causes
spec-compliant clients like Apple TV and webOS 24+ to set
up an HDR10 pipeline instead of a Dolby Vision one.

Add a dvh1 variant before the existing hvc1 variant for P5
copy-codec streams. Both variants point to the same stream
URL. Spec-compliant clients select dvh1 and activate the
DV decoder path. Legacy clients that reject dvh1 in CODECS
fall through to the hvc1 variant and detect DV from the
init segment, preserving existing behavior.

Fixes #16179

* Address review: support AV1 DoVi P10, add client capability check

- GetDoviString: add isAv1 parameter, return dav1 FourCC for AV1 DoVi
  (P10 bl_compat_id=0) and dvh1 for HEVC DoVi (P5)
- Remove redundant IsDovi() check; VideoRangeType.DOVI is sufficient
  and correctly limits to profiles without a compatible base layer
- Replace IsDoviRemoved() with client capability check using
  GetRequestedRangeTypes(state.VideoStream.Codec) to only emit the
  dvh1/dav1 variant for clients that declared DOVI support
- Update comments and doc summary to reflect P5 + P10/bl0 scope

* Use codec string instead of boolean for DoVi FourCC mapping

Replace bool isAv1 with string codec in GetDoviString for
future-proofing when DoVi extends to H.266/VVC or AV2.

* Move AppendDoviPlaylist next to AppendPlaylist

* Fix SA1508: remove blank line before closing brace

* Use AppendLine() instead of Append(Environment.NewLine)
2026-03-28 22:12:06 +01:00