Skip to content

Scryer 0.15.0 (Archived)

A big thanks to everyone who helped make this release better! Most of the work done was in response to folks on Reddit and Github sharing their experiences and pain points.

Scryer now supports Prowlarr as an indexer. Just connect Scryer to Prowlarr and all your indexers will be synced and work like you expect.

Scryer now has a dedicated Settings -> Backups page for creating, downloading, and deleting restorable backup bundles.

Automatic daily backups are also available. They run once per day at a configurable time, can use an optional saved backup key and retain up to 5 days of backup history.

Fresh instances can now start from Restore from Backup in the setup wizard. Restore from a previous backup file (.tar.zst or .enc) and Scryer will import it and automatically restart.

You can migrate from SQLite to/from PostgreSQL by creating a backup in one, switching the datastore engine and restoring from backup.

Remote path mapping and mounted download workflows

Section titled “Remote path mapping and mounted download workflows”

Download clients can now define remote path mappings in REMOTE => LOCAL form. Use this when a download client reports a completed path that is not the same path Scryer can read locally. This is an advanced use case that typically shows up when running containers on different machines.

0.15.0 also adds support for NzbDav and Decypharr-style stacks, including .strm pointer files and symlink-backed completed downloads.

You can also configure download client routing per library, which enables a .strm style stream library without impacting your existing downloaded media library.

Operators can provide SCRYER_DB_URL for SQLite, postgres, or postgresql URLs. PostgreSQL URLs require an explicit sslmode (enable or disable), and credentials can come from the URL, SCRYER_DB_USER, SCRYER_DB_PASSWORD, or SCRYER_DB_PASSWORD_FILE.

environment:
SCRYER_DB_URL: postgres://scryer:scryer@postgres:5432/scryer?sslmode=disable
  • ghcr.io/scryer-media/scryer:latest follows the latest stable release
  • ghcr.io/scryer-media/scryer:<minor>-latest tracks a stable release line, such as 15-latest for the 0.15.x series. Use this if you want to avoid automatic major upgrades.

Several settings pages now handle unsaved edits more carefully. Download clients, indexers, rules, notification channels, notification subscriptions, subtitle providers, quality profiles, delay profiles, and post-processing scripts all gained clearer create-new flows and discard-change prompts.

Rules also gained stronger validation against the documented input contract. If a rule references a field Scryer does not expose, the editor can now point at the bad path instead of letting a surprising rule fail later.

The release parser now stores video codecs as canonical values such as H.264, H.265, AV1, and VP9, while still accepting common aliases like x264, HEVC, and AVC1. That makes quality profiles, rename tokens, rules, and post-download scoring more consistent.

Import reliability also improves around file paths and release evidence. Scryer now handles non-UTF-8 filenames more defensively, reads useful title evidence from parent folders when a downloaded file name is weak, treats .strm files as stream pointers, and can synthesize enough media analysis for symlink or pointer workflows to proceed.

System jobs now include scheduled daily triggers, which supports automatic backups and makes job history more explicit. History and event detail views redact sensitive values more carefully.

The datastore changes made to support PostgreSQL also positively affect SQlite deployments. All database writes are now faster.

It may be worth making a backup of your SQlite db file before upgrading as 0.14.x didn’t have a backup/restore function yet. I have tested upgrading on linux hosts and it works fine.

Scryer 0.15.0 is less about one shiny screen and more about making the whole instance feel recoverable, inspectable, and ready for bigger libraries.

Backups make recovery a first-class workflow. Prowlarr support lets Scryer fit into existing indexer management. Remote path mapping acknowledges how media stacks are actually deployed. PostgreSQL support gives operators a path beyond a single SQLite file when they need it.

  • Import from Sonarr/Radarr now also has Prowlarr support and does not hang on the last step while it’s gathering monitored status from Sonarr
  • UTF-8 path handling across unix and windows
  • Many upgrades to the metadata gateway which should result in high quality matches on library scans
  • Restored mobile header and navigation behavior.
  • Fixed mobile global search results that could crash when a title had missing externalIds.
  • Fixed media library loading around library filters so title reloads use the intended selected library set instead of stale state.
  • Fixed missing default movie/series/anime libraries being repaired before saving library paths.
  • Fixed duplicate default-library grants for the default admin user.
  • Fixed library cleanup settings so library-level download-client routing overrides take precedence over broader facet cleanup flags.
  • Fixed legacy/incomplete download-client routing JSON so missing client entries fall back to safe defaults.
  • Fixed invalid library routing JSON being ignored instead of becoming a broken disabled override.
  • Fixed cutoff-unmet results when a title references a stale quality profile tag by falling back to the default profile.
  • Fixed title lookup edge cases for empty library allowlists, trimmed slugs, duplicate slugs, and external-ID based reuse.
  • Fixed direct Newznab/Torznab searches so they remain uncategorized when no routing categories are configured.
  • Fixed duplicate structured episode searches for series and anime by collapsing equivalent query variants.
  • Fixed acquisition and RSS cycles so they skip indexer searches when no download clients are enabled.
  • Fixed completed/imported download identity handling so imports are matched by client ID, client type, and item ID instead of colliding across clients.
  • Fixed import verification/artifact counting to use full source identity rather than only source type and item ID.
  • Fixed completed-download matching so clients with overlapping download item IDs do not cause false already-imported results.
  • Fixed obfuscated movie and episode imports to use the immediate parent release folder when the file name is unusable.
  • Fixed title evidence extraction for obfuscated video files so matching can use the release folder instead of junk filenames.
  • Fixed full library rescans so existing loose series file matches are preserved instead of being turned into unmatched/pending items.
  • Fixed stale pending import resolution when a movie file row is already bound to the correct title.
  • Fixed symlink imports so symlinks and their synthetic media traits are preserved.
  • Fixed SABnzbd base URL prefixes during connection tests.
  • Fixed SABnzbd queue/history parsing for responses that return top-level slots.
  • Fixed SABnzbd NZB submission fallback when gzip upload is rejected by retrying with a plain NZB.
  • Fixed SABnzbd gzip capability probing so accepted probe uploads are deleted remotely.
  • Fixed release parsing/scoring so video codec aliases like HEVC/H.265, AVC/H.264, and AV01/AV1 are canonicalized consistently.
  • Fixed quality profile video codec allowlist/blocklist matching to use canonical codec values instead of fragile strings.
  • Fixed size scoring so equivalent codec aliases receive identical scoring.
  • Fixed release parsing for hyphenated date releases.
  • Fixed anime absolute episode release parsing so release group and metadata boundaries are preserved.
  • Fixed multi-episode/range parsing for season-scoped and absolute-numbered releases.
  • Fixed target matching when an alias and episode title both point at a more specific title.
  • Fixed external import monitor snapshots so wanted state syncs once per title instead of duplicating work.
  • Fixed external import monitor snapshots so child-only monitor changes still emit title-updated events.
  • Fixed external import monitor snapshots so monitored episode overrides can re-enable their parent collection.
  • Fixed Rego/rule validation so unknown input paths are rejected during validate, create, and update.