- csproj: net9.0 -> net10.0, version 2.1.0.0 -> 3.0.0.0
- Jellyfin.Controller 10.*-* -> 12.*-* with ExcludeAssets="runtime"
- drop redundant Microsoft.Extensions.Http ref (NU1510 under the .NET 10 SDK;
IHttpClientFactory comes from the Microsoft.AspNetCore.App framework ref)
- NetAnalyzers 9.0.0 -> 10.0.100
- Endpoints: bare [Authorize] -> [Authorize(Policy = "DefaultAuthorization")]
now that legacy authorization is disabled by default
- drop unused using in AnilistApi.cs
- build.yaml + manifest.json: 3.0.0.0 / abi 12.0.0.0 entry
- gitignore local dist/ release-artifact dir
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
IServerEntryPoint was removed in favor of IHostedService; migrated
PlaybackScrobbler and updated PluginServiceRegistrator accordingly
(RegisterServices now takes IServerApplicationHost, AnilistApi moved
to a singleton so the hosted service can depend on it). Bumped
TargetFramework to net9.0 and targetAbi to 10.11.0.0.
Also fixed Endpoints.cs, which referenced an "DefaultAuthorization"
authorization policy that no longer resolves for plugin controllers
on 10.11, causing every API call to 500 instead of 401'ing when
unauthenticated. Verified end-to-end against a live 10.11.11 server:
plugin loads, OAuth re-auth works, and a real scrobble to Anilist
succeeded.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>