Commit Graph

2014 Commits

Author SHA1 Message Date
dkanada bb265cd403 add NameStartsWithOrGreater parameter to Persons endpoint 2026-04-13 13:50:04 +09:00
dkanada 22644075e7 add NameStartsWith and NameLessThan filters to Person search 2026-04-12 12:42:49 +09: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
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)
* 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:v: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
theguymadmax f33c039d1b Fix BoxSet parentId being ignored in item queries 2026-03-27 13:48:30 -04:00
Bond_009 946c6b9981 Return BadRequest when an invalid set of filters is given 2026-03-11 21:22:48 +01:00
Bond-009 08f9ec5d37 Merge pull request #16160 from Shadowghost/fix-itemvalues-uniqueness
Fix ItemValues Type checks
2026-03-10 21:26:05 +01:00
Bond-009 eb3f8b93d0 Merge pull request #16331 from JuanCalderon-17/first-contribution
Add missing ProducesResponseType(401) to QuickConnectController.InitiateQuickConnect
2026-03-08 11:35:46 +01:00
crimsonspecter 0ebf6a6db6 Backport pull request #16341 from jellyfin/release-10.11.z
Fix hls segment length adjustment for remuxed content

Original-merge: 09ba04662a

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-03-06 16:58:07 -05:00
Juan 44f7d2b854 Add missing ProducesResponseType(401) to InitiateQuickConnect
The InitiateQuickConnect endpoint returns HTTP 401 Unauthorized when
Quick Connect is disabled, and this was already documented in the XML
response comment, but the corresponding [ProducesResponseType] attribute
was missing, causing the OpenAPI/Swagger spec to omit it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 11:53:38 -05:00
Cosmin Dumitru 37b50fe13c Fix malformed query string in StreamInfo.ToUrl() causing 500 error via proxies
StreamInfo.ToUrl() generated URLs like `/master.m3u8?&DeviceId=...` (note `?&`)
because `?` was appended to the path and all parameters started with `&`. When
the first optional parameter (DeviceProfileId) was null, the result was a
malformed query string.

This is harmless when clients hit Jellyfin directly (ASP.NET Core tolerates `?&`),
but when accessed through a reverse proxy that parses and re-serializes the URL
(e.g. Home Assistant ingress via aiohttp/yarl), `?&` becomes `?=&` — introducing
an empty-key query parameter. ParseStreamOptions then crashes on `param.Key[0]`
with IndexOutOfRangeException.

Changes:
- StreamInfo.ToUrl(): Track query start position and replace the first `&` with
  `?` after all parameters are appended, producing valid query strings
- ParseStreamOptions: Guard against empty query parameter keys
- Tests: Remove .Replace("?&", "?") workaround that masked the bug

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 21:08:35 +01:00
Bond-009 29582ed461 Merge branch 'master' into issue15137 2026-02-14 12:07:30 +01:00
Bond-009 ca6d499680 Update Jellyfin.Api/Controllers/PlaylistsController.cs 2026-02-14 12:06:18 +01:00
theguymadmax 613d72fa26 Skip empty ViewType validation 2026-02-03 01:16:25 -05:00
Shadowghost 1dacb69d80 Fix Genre Uniqueness 2026-02-01 21:51:52 +01:00
Shadowghost 77ff451e60 Only save unique values of ProductionLocations, Studios, Tags, Artists and AlbumArtists 2026-02-01 21:23:13 +01:00
nielsvanvelzen 841e4dabb5 Backport pull request #16109 from jellyfin/release-10.11.z
Fix SessionInfoWebSocketListener not using SessionInfoDto

Original-merge: e65aff8bc6

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-28 12:11:30 -05:00
IceStormNG 5045c2e448 Backport pull request #16053 from jellyfin/release-10.11.z
Fix HLS playlist generation for transcodes with fractional framerate

Original-merge: 893a849f28

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-28 12:11:24 -05:00
Niels van Velzen b8d2f1f911 Remove unused usings 2026-01-27 11:13:32 +01:00
Niels van Velzen 874fd9ac0a Remove some deprecated API members 2026-01-25 21:39:57 +01:00
Collin-Swish afcaec0a89 Backport pull request #15965 from jellyfin/release-10.11.z
Add mblink creation logic to library update endpoint.

Original-merge: 22d593b8e9

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-18 11:30:39 -05:00
theguymadmax aa666565d1 Backport pull request #15808 from jellyfin/release-10.11.z
Trim music artist names

Original-merge: 093cfc3f3b

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-18 11:30:36 -05:00
Abitofevrything 8d052a6cb1 Merge pull request #15926 from abitofevrything/feat/accurate_hls_seeking
Refactor HLS transcode seeking
2026-01-18 12:17:06 +01:00
Bond_009 9e480f6efb Update to .NET 10.0 2026-01-14 18:55:47 +01:00
nyanmisaka 582a1d9866 Add TrueHD and DTS codes string for HLS
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2026-01-06 23:15:06 +08:00
gnattu 5c76dd26bc Backport pull request #15835 from jellyfin/release-10.11.z
Use hvc1 codectag for Dolby Vision 8.4

Original-merge: 18096e48e0

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28 07:22:37 -05:00
nyanmisaka 7f0e71578d Backport pull request #15833 from jellyfin/release-10.11.z
Fix missing H.264 and AV1 SDR fallbacks in HLS playlist

Original-merge: 01b20d3b75

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28 07:22:34 -05:00
theguymadmax f867ce3842 Backport pull request #15757 from jellyfin/release-10.11.z
Fix trickplay images using wrong item on alternate versions

Original-merge: 481ee03f35

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28 07:22:23 -05:00
martenumberto 1af1c72e81 Backport pull request #15690 from jellyfin/release-10.11.z
Fix: Add .ts fallback for video streams to prevent crash

Original-merge: 2a0b90e385

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28 07:22:18 -05:00
ivanjx 5d50ff5f81 Backport pull request #15681 from jellyfin/release-10.11.z
Fix symlinked file size

Original-merge: d32f487e8e

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28 07:22:15 -05:00
Bond-009 f9fec33048 Merge pull request #15797 from Smeagolworms4/fix-get-metadata-editor-info
Fix GET MetadataEditor ContentTypeOptions for mixed content
2025-12-24 10:28:58 +01:00
Björn Tenje Persson 84f66dd54e Fixed Multi Sort in New ActivityManager (#15820) 2025-12-19 20:36:38 -07:00
SmeagolWorms4 d0950c8f09 Fix GET MetadataEditor ContentTypeOptions for inheritedContentType 2025-12-15 23:11:01 +01:00
Niels van Velzen 6b6d54a07c Remove legacy API route middleware (#15669) 2025-12-13 08:26:22 -07:00
Cody Robibero 0b3d6676d1 Add ability to sort and filter activity log entries (#15583) 2025-12-08 21:01:32 -07:00
Bond-009 da3bff3edf Merge pull request #15433 from theguymadmax/fix-recently-added-shows
Fix episodes showing up on recently added shows
2025-12-08 18:38:50 +01:00
Niels van Velzen 6c507b77ae Remove DtoExtensions.AddClientFields (#15638) 2025-11-30 07:22:54 -07:00
theguymadmax 217ea488df Fix episode showing up on recently added shows 2025-11-07 09:39:23 -05:00
nyanmisaka 4258df4485 Backport pull request #15247 from jellyfin/release-10.11.z
Ignore initial delay in audio-only containers

Original-merge: 6bf88c049e

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2025-11-02 21:58:41 -05:00
crobibero 232c0399e2 Backport pull request #15164 from jellyfin/release-10.11.z
Fix XmlOutputFormatter

Original-merge: 2b94bb54aa

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27 15:43:19 -04:00
Kevin G 79061f4635 Change moveToTop in AddItemToPlaylistAsync to 0-based position
Signed-off-by: Kevin G <kevin@myplaceonline.com>
2025-10-23 19:27:34 -05:00
Kevin G cd9154f110 Add moveToTop option to IPlaylistManager.AddItemToPlaylistAsync
Signed-off-by: Kevin G <kevin@myplaceonline.com>
2025-10-22 22:17:28 -05:00
theguymadmax d6cebf1e67 Add tag filtering and random sorting to GetSimilarItems (#14918) 2025-10-01 17:26:48 -06:00
JPVenson a0b3e2b071 Optimize internal querying of UserData, other fixes (#14795) 2025-09-16 13:08:04 -06:00
KGT1 7c6cedd90a Allow non-admin users to subscribe to their own Sessions (#13767) 2025-09-12 14:15:00 -06:00