github openVESSL/Anchorr v1.5.0

6 hours ago

✨ What's New

Anime Library Toggle in Notification Mapping

Each library row in the Jellyfin notification mapping UI now has a compact Anime checkbox. Mark any library as an anime library directly in the dashboard — explicit and reliable regardless of how the library is named.

  • The flag is passed through all notification paths (webhook, poller, WebSocket) alongside the channel routing
  • Works independently of the automatic TMDB-based anime detection used for Seerr requests

Anime Quality Profiles & Server Selection

You can now configure separate default quality profiles and Radarr/Sonarr servers for anime content — both TV series and movies.

  • Automatic detection: Anime is identified via TMDB metadata (Animation genre + Japanese origin), matching Jellyseerr's own heuristic
  • Jellyseerr isAnime flag: Requests for anime content include isAnime: true, allowing Jellyseerr to route to your anime-configured Sonarr/Radarr instance
  • Graceful fallback: If no anime-specific config is set, the standard movie/TV defaults are used — existing setups are completely unaffected

New config options (Dashboard → Seerr)

Setting Description
Default Anime Quality Quality profile for anime TV series (Sonarr)
Default Anime Movie Quality Quality profile for anime movies (Radarr)
Default Anime Server Sonarr server for anime TV series
Default Anime Movie Server Radarr server for anime movies

Click Load Seerr Options in the dashboard to populate the new dropdowns.

CI: npm Audit Gate

The GitHub Actions pipeline now runs npm audit --audit-level=high before building the Docker image. Vulnerable dependencies block the build.


🐛 Fixes

  • Jellyfin library matching: Libraries with null or mixed CollectionType no longer get incorrectly skipped during notification path matching
  • Docker config volume permissions: Added entrypoint script to fix ownership on first run, preventing write failures for the non-root container user
  • Seerr error messages: Request failures now show specific messages (auth errors, server errors, connection refused) instead of generic "An error occurred"
  • Seerr checkMediaStatus: Network and 5xx errors are now propagated instead of silently returning "not found"
  • Silent failures in dashboard: Previously swallowed errors in the web dashboard now log at the appropriate level — bot status polling, logout, guild/channel loading, role loading, connection checks, and more
  • Legacy library config formats: Old JELLYFIN_NOTIFICATION_LIBRARIES formats (array of IDs, { libId: channelString }) are now migrated transparently at read time across all notification paths

🏗️ Code Quality

  • Shared library resolver: All three notification sources (webhook, poller, WebSocket) now use shared helper functions in jellyfin/libraryResolver.js, eliminating duplicated inline logic

🗑️ Removed

  • Legacy .env migration: The automatic .envconfig.json migration has been removed. If a .env file is still present, a warning is logged pointing to the web dashboard

Full Changelog: v1.4.9...v1.5.0

Don't miss a new Anchorr release

NewReleases is sending notifications on new releases.