Skip to content

Releases: recyclarr/recyclarr

v8.4.0

06 Mar 01:25

Choose a tag to compare

Added

  • CLI: --details flag for list custom-format-groups to show member CFs and their
    required/default/optional status
  • Sync: select_all option for custom format groups to include all CFs regardless of default
    status (#722)

Changed

  • Sync: Custom formats and quality profiles that already exist in the service are now automatically
    replaced by Recyclarr. The state repair --adopt workflow is no longer needed.
  • Docker: The latest tag is no longer published to Docker Hub or GHCR. Use a major version tag
    (e.g. 8) instead to receive updates within a major version.

Deprecated

  • CLI: The state repair command is deprecated and will be removed in a future release. Sync now
    handles all state reconciliation automatically.

Fixed

  • Sync: Unmatched trash_ids in custom_format_groups.skip silently ignored instead of warning
  • Migrate: Cache-to-state migration failure on cross-filesystem moves (e.g. Docker volume mounts)

v8.3.2

25 Feb 22:39

Choose a tag to compare

Fixed

  • Sync: Default CF groups now apply to all profile variants sharing the same trash_id (#735)
  • Sync: CF group assign_scores_to now accepts profile names for guide-backed profiles, enabling
    selective assignment to specific profile variants (#734)

v8.3.1

25 Feb 01:01

Choose a tag to compare

Fixed

  • CLI: State repair crash when multiple quality profiles share the same trash_id.

v8.3.0

24 Feb 20:37

Choose a tag to compare

Added

  • Sync: The same guide-backed quality profile trash_id can now be used multiple times with
    different names, allowing variations of the same profile on a single instance.

Fixed

  • Config: Empty YAML nodes (e.g. custom_formats: with all entries commented out) are now treated
    as no-ops instead of validation errors.
  • CLI: RECYCLARR_APP_DATA deprecation message is now displayed cleanly instead of being buried in
    a stack trace.
  • Config: YAML errors now show specific, actionable messages instead of generic "Exception at line"
    text (#728).
  • Sync: CF group assign_scores_to with name no longer requires the profile to be in
    quality_profiles (#726).
  • Sync: Quality profile names are now updated when the config or guide name differs from the service
    (#729).

v8.2.1

22 Feb 19:19

Choose a tag to compare

Fixed

  • Config: Removed properties like replace_existing_custom_formats now produce a deprecation
    warning instead of silently preventing sync.
  • Config: Using the same quality profile trash_id multiple times now produces a validation error
    instead of silently corrupting sync state.
  • Sync: assign_scores_to with trash_id no longer requires the target profile to be in the CF
    group's include list (#726).

v8.2.0

21 Feb 21:27

Choose a tag to compare

Added

  • CLI: list custom-format-groups now shows the contents of each group and supports filtering by
    name (#720).
  • CLI: list quality-profiles now supports --details to show included custom formats and
    --filter to search by name.

Fixed

  • Notifications: Empty sync results (all zeros, no errors) no longer trigger notifications in normal
    mode.
  • Sync: Overriding custom format scores from guide-backed profiles no longer produces a spurious
    warning in sync diagnostics.

v8.1.0

21 Feb 01:36

Choose a tag to compare

Added

  • Custom Formats: CF group assign_scores_to now accepts name to target custom (non-guide-backed)
    quality profiles, in addition to the existing trash_id for guide-backed profiles.
  • Sync: exclude option for custom format groups to opt out of specific default custom formats.

Fixed

  • Custom Formats: Adding a CF group where all custom formats are optional no longer silently
    produces nothing; a warning is now shown advising to use select.
  • Sync: Diagnostic messages (errors, warnings, deprecations) were invisible when using --log,
    including the state repair --adopt suggestion for quality profile conflicts.
  • Config: Helpful migration messages for removed config properties (e.g. replace_existing_custom_formats,
    quality_profiles) were never shown due to an internal wiring mistake.
  • Config: YAML parsing errors (unknown properties, bad values) were silently swallowed, causing
    sync to produce no output instead of reporting the problem.

Changed

  • Sync: select in custom format groups now adds non-default custom formats alongside defaults,
    instead of replacing them. Use exclude to remove unwanted defaults.

Deprecated

  • CLI: The migrate command is deprecated. Migrations now run automatically at startup.

v8.0.1

20 Feb 04:52

Choose a tag to compare

Fixed

  • State Repair: Quality profiles with a config name override were not matched to service profiles
    during state repair --adopt
  • Sync: assign_scores_to with trash_id instead of name failed to resolve to the correct
    quality profile
  • Sync: Crash when previewing quality profiles or quality sizes with square brackets in names

v8.0.0

20 Feb 02:43

Choose a tag to compare

This release contains BREAKING CHANGES. See the v8.0 Upgrade Guide for required
changes you may need to make.

Added

  • Media Management: New media_management configuration section with propers_and_repacks setting
    to control how Sonarr/Radarr handles Propers and Repacks (#225).
  • Quality Profiles: Support for trash_id to sync TRaSH Guide quality profile definitions. When
    specified, qualities, custom formats, scores, and language are automatically configured from the
    guide, significantly reducing YAML complexity.
  • Custom Formats: Support for custom_format_groups to sync TRaSH Guide CF groups. Groups marked
    default: true are automatically synced when using a guide-backed quality profile. Use
    custom_format_groups.skip to opt-out or custom_format_groups.add to opt-in to non-default
    groups.
  • Custom Formats: assign_scores_to now accepts trash_id as an alternative to name for
    referencing guide-backed quality profiles (#251).
  • Settings: Local resource providers now support relative paths, resolved against the app data
    directory.
  • CLI: New --log [level] option for explicit log output control. Valid levels: debug, info
    (default), warn.
  • CLI: New state repair command to rebuild cache mappings by matching configured resources (custom
    formats, quality profiles) to service resources by name.
  • CLI: New list custom-format-groups command to discover available CF group trash_ids.
  • CLI: New list score-sets command to list available score sets for custom formats.
  • CLI: New list quality-profiles command to discover available quality profile trash_ids.
  • CLI: New --raw option for list commands outputs TSV format for scripting.
  • Sync: Unified diagnostics panel displayed at end of sync, consolidating all errors and warnings.
  • Sync: Live progress display showing real-time status of all instances and pipelines during sync.
  • Settings: Git resource providers now support both main and master as default branches.
  • Config: New RECYCLARR_CONFIG_DIR environment variable for user configuration directory.
  • Config: New RECYCLARR_DATA_DIR environment variable for ephemeral data (resources, logs),
    enabling backup separation from user configuration (#699).

Changed

  • CLI: BREAKING List commands now display formatted tables instead of plain text. Use --raw
    for the previous behavior (now TSV format for scripting).
  • CLI: BREAKING The global --raw option has been removed. It is now specific to list commands.
  • CLI: BREAKING The --score-sets option on list custom-formats has been removed. Use list score-sets instead.
  • Sync: Simplified custom format matching logic. Cached IDs are now trusted over name matching,
    reducing complexity and resolving edge cases like multiple CFs with case-variant names (#672).
  • Sync: Preview mode now shows instance name in section headers and a visual separator between
    instances, making multi-instance output easier to navigate.
  • Custom Formats: Preview now displays a table with action, name, and trash ID columns instead of
    log-style output.
  • Quality Sizes: Preview now only displays items that will be changed.

Removed

  • Config: BREAKING The replace_existing_custom_formats option has been removed. Use recyclarr state repair --adopt to adopt manually-created custom formats.
  • Config: BREAKING The deprecated quality_profiles element under custom_formats has been
    removed.
  • Config: BREAKING Include templates in the configs directory are no longer supported. Move
    include files to the includes directory.
  • Settings: BREAKING The deprecated repositories setting has been removed. Use
    resource_providers instead.
  • Migrate: BREAKING macOS users upgrading from versions prior to v6.0 must manually move app
    data from ~/.config/recyclarr to ~/Library/Application Support/recyclarr.
  • CLI: BREAKING The --app-data option has been removed. Use RECYCLARR_CONFIG_DIR environment
    variable instead.
  • Config: BREAKING The RECYCLARR_APP_DATA environment variable has been removed. Use
    RECYCLARR_CONFIG_DIR instead.

Fixed

  • CLI: delete custom-formats command failed when config used include templates.
  • CLI: config create --template incorrectly logged "Replacing existing file" when creating new
    files.

v7.5.2

30 Nov 22:08

Choose a tag to compare

Added

  • Installation: Homebrew is now supported on macOS and Linux. See the
    installation docs for details.

Fixed

  • Sync: Crash when using --preview flag after rendering quality sizes table.
  • Sync: Custom formats being updated on every run even when unchanged.