Jellyfin 12.0 removed the named "DefaultAuthorization" policy; it's now
options.DefaultPolicy (CustomAuthentication scheme + DefaultAuthorizationRequirement).
[Authorize(Policy = "DefaultAuthorization")] therefore threw
InvalidOperationException: "policy not found" on every /AnilistSync/* call.
Bare [Authorize] uses the default policy, which is the intended form.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- 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>
Was copied as 23:23:33Z instead of converting from the release's
actual 23:23:33+02:00, off by 2 hours.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Also fixes the plugin guid, which never matched Plugin.cs/build.yaml
(d02b875a... vs the real 18c2a8ea...), breaking repo-based update
detection for installed instances.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>