diff --git a/Jellyfin.Api/Controllers/ConfigurationController.cs b/Jellyfin.Api/Controllers/ConfigurationController.cs
index 8dcaebf6db..9e03fbeb06 100644
--- a/Jellyfin.Api/Controllers/ConfigurationController.cs
+++ b/Jellyfin.Api/Controllers/ConfigurationController.cs
@@ -3,8 +3,6 @@ using System.ComponentModel.DataAnnotations;
using System.Net.Mime;
using System.Text.Json;
using Jellyfin.Api.Attributes;
-using Jellyfin.Api.Constants;
-using Jellyfin.Api.Models.ConfigurationDtos;
using Jellyfin.Extensions.Json;
using MediaBrowser.Common.Api;
using MediaBrowser.Controller.Configuration;
@@ -143,22 +141,4 @@ public class ConfigurationController : BaseJellyfinApiController
return NoContent();
}
-
- ///
- /// Updates the path to the media encoder.
- ///
- /// Media encoder path form body.
- /// Media encoder path updated.
- /// Status.
- [Obsolete("This endpoint is obsolete.")]
- [ApiExplorerSettings(IgnoreApi = true)]
- [HttpPost("MediaEncoder/Path")]
- [Authorize(Policy = Policies.FirstTimeSetupOrElevated)]
- [ProducesResponseType(StatusCodes.Status204NoContent)]
- public ActionResult UpdateMediaEncoderPath([FromBody, Required] MediaEncoderPathDto mediaEncoderPath)
- {
- // API ENDPOINT DISABLED (NOOP) FOR SECURITY PURPOSES
- // _mediaEncoder.UpdateEncoderPath(mediaEncoderPath.Path, mediaEncoderPath.PathType);
- return NoContent();
- }
}
diff --git a/Jellyfin.Api/Controllers/EnvironmentController.cs b/Jellyfin.Api/Controllers/EnvironmentController.cs
index 284a97621d..70a8c72c0f 100644
--- a/Jellyfin.Api/Controllers/EnvironmentController.cs
+++ b/Jellyfin.Api/Controllers/EnvironmentController.cs
@@ -128,20 +128,6 @@ public class EnvironmentController : BaseJellyfinApiController
return NoContent();
}
- ///
- /// Gets network paths.
- ///
- /// Empty array returned.
- /// List of entries.
- [Obsolete("This endpoint is obsolete.")]
- [HttpGet("NetworkShares")]
- [ProducesResponseType(StatusCodes.Status200OK)]
- public ActionResult> GetNetworkShares()
- {
- _logger.LogWarning("Obsolete endpoint accessed: /Environment/NetworkShares");
- return Array.Empty();
- }
-
///
/// Gets available drives from the server's file system.
///
diff --git a/Jellyfin.Api/Controllers/QuickConnectController.cs b/Jellyfin.Api/Controllers/QuickConnectController.cs
index 14f5265aa7..2a15ff767c 100644
--- a/Jellyfin.Api/Controllers/QuickConnectController.cs
+++ b/Jellyfin.Api/Controllers/QuickConnectController.cs
@@ -65,16 +65,6 @@ public class QuickConnectController : BaseJellyfinApiController
}
}
- ///
- /// Old version of using a GET method.
- /// Still available to avoid breaking compatibility.
- ///
- /// The result of .
- [Obsolete("Use POST request instead")]
- [HttpGet("Initiate")]
- [ApiExplorerSettings(IgnoreApi = true)]
- public Task> InitiateQuickConnectLegacy() => InitiateQuickConnect();
-
///
/// Attempts to retrieve authentication information.
///
diff --git a/Jellyfin.Api/Controllers/TvShowsController.cs b/Jellyfin.Api/Controllers/TvShowsController.cs
index 2817e3cbc7..bd6d931b21 100644
--- a/Jellyfin.Api/Controllers/TvShowsController.cs
+++ b/Jellyfin.Api/Controllers/TvShowsController.cs
@@ -69,7 +69,6 @@ public class TvShowsController : BaseJellyfinApiController
/// Optional. Include user data.
/// Optional. Starting date of shows to show in Next Up section.
/// Whether to enable the total records count. Defaults to true.
- /// Whether to disable sending the first episode in a series as next up.
/// Whether to include resumable episodes in next up results.
/// Whether to include watched episodes in next up results.
/// A with the next up episodes.
@@ -88,7 +87,6 @@ public class TvShowsController : BaseJellyfinApiController
[FromQuery] bool? enableUserData,
[FromQuery] DateTime? nextUpDateCutoff,
[FromQuery] bool enableTotalRecordCount = true,
- [FromQuery][ParameterObsolete] bool disableFirstEpisode = false,
[FromQuery] bool enableResumable = true,
[FromQuery] bool enableRewatching = false)
{
diff --git a/Jellyfin.Api/Controllers/UserController.cs b/Jellyfin.Api/Controllers/UserController.cs
index d0ced277a0..536b95dbb5 100644
--- a/Jellyfin.Api/Controllers/UserController.cs
+++ b/Jellyfin.Api/Controllers/UserController.cs
@@ -337,29 +337,6 @@ public class UserController : BaseJellyfinApiController
[FromBody, Required] UpdateUserPassword request)
=> UpdateUserPassword(userId, request);
- ///
- /// Updates a user's easy password.
- ///
- /// The user id.
- /// The request.
- /// Password successfully reset.
- /// User is not allowed to update the password.
- /// User not found.
- /// A indicating success or a or a on failure.
- [HttpPost("{userId}/EasyPassword")]
- [Obsolete("Use Quick Connect instead")]
- [ApiExplorerSettings(IgnoreApi = true)]
- [Authorize]
- [ProducesResponseType(StatusCodes.Status204NoContent)]
- [ProducesResponseType(StatusCodes.Status403Forbidden)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public ActionResult UpdateUserEasyPassword(
- [FromRoute, Required] Guid userId,
- [FromBody, Required] UpdateUserEasyPassword request)
- {
- return Forbid();
- }
-
///
/// Updates a user.
///
diff --git a/Jellyfin.Api/Models/ConfigurationDtos/MediaEncoderPathDto.cs b/Jellyfin.Api/Models/ConfigurationDtos/MediaEncoderPathDto.cs
deleted file mode 100644
index 5a48345eb6..0000000000
--- a/Jellyfin.Api/Models/ConfigurationDtos/MediaEncoderPathDto.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-namespace Jellyfin.Api.Models.ConfigurationDtos;
-
-///
-/// Media Encoder Path Dto.
-///
-public class MediaEncoderPathDto
-{
- ///
- /// Gets or sets media encoder path.
- ///
- public string Path { get; set; } = null!;
-
- ///
- /// Gets or sets media encoder path type.
- ///
- public string PathType { get; set; } = null!;
-}
diff --git a/Jellyfin.Api/Models/StartupDtos/StartupRemoteAccessDto.cs b/Jellyfin.Api/Models/StartupDtos/StartupRemoteAccessDto.cs
index 9c29e372cf..2a1a312d54 100644
--- a/Jellyfin.Api/Models/StartupDtos/StartupRemoteAccessDto.cs
+++ b/Jellyfin.Api/Models/StartupDtos/StartupRemoteAccessDto.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
namespace Jellyfin.Api.Models.StartupDtos;
@@ -13,11 +12,4 @@ public class StartupRemoteAccessDto
///
[Required]
public bool EnableRemoteAccess { get; set; }
-
- ///
- /// Gets or sets a value indicating whether enable automatic port mapping.
- ///
- [Required]
- [Obsolete("No longer supported")]
- public bool EnableAutomaticPortMapping { get; set; }
}
diff --git a/Jellyfin.Api/Models/UserDtos/UpdateUserEasyPassword.cs b/Jellyfin.Api/Models/UserDtos/UpdateUserEasyPassword.cs
deleted file mode 100644
index f19d0b57a1..0000000000
--- a/Jellyfin.Api/Models/UserDtos/UpdateUserEasyPassword.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace Jellyfin.Api.Models.UserDtos;
-
-///
-/// The update user easy password request body.
-///
-public class UpdateUserEasyPassword
-{
- ///
- /// Gets or sets the new sha1-hashed password.
- ///
- public string? NewPassword { get; set; }
-
- ///
- /// Gets or sets the new password.
- ///
- public string? NewPw { get; set; }
-
- ///
- /// Gets or sets a value indicating whether to reset the password.
- ///
- public bool ResetPassword { get; set; }
-}
diff --git a/MediaBrowser.Model/Session/ClientCapabilities.cs b/MediaBrowser.Model/Session/ClientCapabilities.cs
index fc1f24ae16..9b243c1173 100644
--- a/MediaBrowser.Model/Session/ClientCapabilities.cs
+++ b/MediaBrowser.Model/Session/ClientCapabilities.cs
@@ -31,15 +31,5 @@ namespace MediaBrowser.Model.Session
public string AppStoreUrl { get; set; }
public string IconUrl { get; set; }
-
- // TODO: Remove after 10.9
- [Obsolete("Unused")]
- [DefaultValue(false)]
- public bool? SupportsContentUploading { get; set; } = false;
-
- // TODO: Remove after 10.9
- [Obsolete("Unused")]
- [DefaultValue(false)]
- public bool? SupportsSync { get; set; } = false;
}
}