Skip to main content

Version 8.0 (Unreleased)

info

This version has not been released yet.

To prevent information redundancy across upgrade guide pages, deprecation notices within Recyclarr are systematically linked to the upgrade guide for the forthcoming unreleased major version. This strategy serves as a living document that details all anticipated breaking changes, providing users with adequate time to make necessary modifications prior to the implementation of these changes.

Features have been removed or behavior changed. Most of the items here would have been deprecated in the past. Deprecations are always mentioned in release notes for feature releases.

Dedicated Includes Directory

The root directory for relative local include paths has changed. Previously, relative paths provided to the config include directive were rooted in ${appdatadir}/configs. Putting includes in the configs directory is no longer supported. Going forward, all includes should reside in ${appdatadir}/includes.

Migrating to the new directory is simple. Simply cut & paste any subdirectories containing include template YAML files to the new includes subdirectory. Assume you have the current structure:

.
├── configs/
│ ├── config1.yml
│ ├── config2.yml
│ └── local/
│ ├── my-include1.yml
│ └── my-include2.yml
└── includes/

An empty top-level includes will be created for you by Recyclarr. In the example above, we need to move the local directory to this top-level includes directory. The final structure should look like this:

.
├── configs/
│ ├── config1.yml
│ └── config2.yml
└── includes/
└── local/
├── my-include1.yml
└── my-include2.yml

By doing this, the relative paths in your templates section does not need to change:

include:
- config: local/my-include1.yml
- config: local/my-include2.yml

Recommended File Structure Changes (Optional)

If you followed the recommended file structure for your includes, then chances are you already have a configs/include directory. To avoid having the path look weird, such as includes/include/my-include1.yml, it is recommended that you remove the intermediate include directory or rename it. For example, you could change this:

include:
- config: include/my-include1.yml
- config: include/my-include2.yml

To:

include:
- config: my-include1.yml
- config: my-include2.yml

And have your filesystem change from:

.
├── configs/
│ ├── config1.yml
│ └── config2.yml
└── includes/
└── include/
├── my-include1.yml
└── my-include2.yml

To this:

.
├── configs/
│ ├── config1.yml
│ └── config2.yml
└── includes/
├── my-include1.yml
└── my-include2.yml

YAML: Custom Formats quality_profiles Renamed

Prior to this major release, two quality_profiles nodes existed in YAML:

  • The top-level version, which defined quality profiles to sync
  • The one under custom_formats, which instructed Recyclarr which profile the CF scores should be synced to.

The fact that quality_profiles existed in two places with distinct meanings created a lot of confusion, especially in support channels. Starting with this major release, quality_profiles under custom_formats must be changed to assign_scores_to.

Before v8.0, if you had YAML like this:

radarr:
movies:
base_url: http://localhost:7878
api_key: 123abc

quality_profiles:
- name: SD

custom_formats:
- trash_ids:
- ed38b889b31be83fda192888e2286d83 # BR-DISK
- 90cedc1fea7ea5d11298bebd3d1d3223 # EVO (no WEBDL)
quality_profiles:
- name: HD-1080p
- name: HD-720p
score: -1000
- trash_ids:
- 496f355514737f7d83bf7aa4d24f8169 # TrueHD ATMOS
- 2f22d89048b01681dde8afe203bf2e95 # DTS X
quality_profiles:
- name: SD

You are required to change it to this:

radarr:
movies:
base_url: http://localhost:7878
api_key: 123abc

quality_profiles:
- name: SD

custom_formats:
- trash_ids:
- ed38b889b31be83fda192888e2286d83 # BR-DISK
- 90cedc1fea7ea5d11298bebd3d1d3223 # EVO (no WEBDL)
assign_scores_to: # <<< RENAMED
- name: HD-1080p
- name: HD-720p
score: -1000
- trash_ids:
- 496f355514737f7d83bf7aa4d24f8169 # TrueHD ATMOS
- 2f22d89048b01681dde8afe203bf2e95 # DTS X
assign_scores_to: # <<< RENAMED
- name: SD

Refer to the RENAMED comments in the above example for exact lines that changed.