The documentation here is for an unreleased version of Recyclarr.
Visit the documentation site for the Current Version instead.Version 8.0 (Unreleased)
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.
Settings: Repository Configuration Replaced
The legacy repositories configuration format has been completely removed and replaced with the new
resource_providers system. This change provides support for multiple repositories per content
type, local directory support, and enables future extensibility.
Old Format (Removed)
repositories:
trash_guides:
clone_url: https://github.com/TRaSH-Guides/Guides.git
branch: master
sha1: c611e9df00bf9261bddfc749219295fe189ae552
config_templates:
clone_url: https://github.com/recyclarr/config-templates.git
branch: master
New Format
resource_providers:
- name: trash-guides
type: trash-guides
clone_url: https://github.com/TRaSH-Guides/Guides.git
reference: c611e9df00bf9261bddfc749219295fe189ae552
replace_default: true
- name: config-templates
type: config-templates
clone_url: https://github.com/recyclarr/config-templates.git
reference: master
replace_default: true
Key Changes
| Old | New |
|---|---|
Nested structure (trash_guides:, config_templates:) | Flat list with explicit type property |
branch and sha1 properties | Unified reference property |
| Implicit replacement of official sources | Explicit replace_default: true required |
| Single repository per type | Multiple repositories per type supported |
| Git repositories only | Local directories also supported via path |
Migration Notes
- No
repositoriesconfig? No changes needed - official sources are included automatically - Had custom repositories? Add
typeproperty and usereplace_default: trueif you want to replace official sources, or omit it to use your repository as a supplement - Using forks? Consider using supplemental providers instead of replacing official sources - this lets you get official updates while adding your customizations
See the Resource Providers documentation for complete configuration details.