Skip to main content

Version 5.0

Breaking 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 minor version bumps.

Instances Must Now Be Named

This was deprecated starting in v3.0. With this major release, array-style syntax support is now completely removed. Prior to the v3.0 release, your list of instances used array-style syntax, which look like this:

radarr:
- base_url: http://localhost:7878
api_key: 123abc
- base_url: http://localhost:7879
api_key: 789def

Going forward, all instances must use mapping-style syntax instead. Convert the above to something like this:

radarr:
instance1:
base_url: http://localhost:7878
api_key: 123abc
instance2:
base_url: http://localhost:7879
api_key: 789def

Where instance1 and instance2 can be any names you want as long as they are valid YAML. These names are useful for several reasons, such as:

  • They allow easier identification in logs, cache, and other places.
  • They are used by the CLI for selective updates.

Reset Unmatched Scores

The reset_unmatched_scores property has moved. Previously, you would have specified it like this:

radarr:
movies:
base_url: !secret radarr_nightly_url
api_key: !secret radarr_nightly_key

custom_formats:
- trash_ids:
- 90cedc1fea7ea5d11298bebd3d1d3223
- 90a6f9a284dff5103f6346090e6280c8
- dc98083864ea246d05a42df0d05f81cc
- b8cd450cbfa689c0259a01d9e29ba3d6
quality_profiles:
- name: SD
score: 1000
reset_unmatched_scores: true # This is no longer supported

Now you must specify it in the new quality_profiles section, like in the below example. You should repeat this for multiple profiles, if you have them, using the array-style syntax shown.

radarr:
movies:
base_url: !secret radarr_nightly_url
api_key: !secret radarr_nightly_key

# Create this section. It's an array of quality profiles that you have in your instance.
quality_profiles:
- name: SD
reset_unmatched_scores: true # Move it here

custom_formats:
- trash_ids:
- 90cedc1fea7ea5d11298bebd3d1d3223
- 90a6f9a284dff5103f6346090e6280c8
- dc98083864ea246d05a42df0d05f81cc
- b8cd450cbfa689c0259a01d9e29ba3d6
quality_profiles:
- name: SD
score: 1000

The reason for this change is due to quirky logic with specifying this flag multiple times for the same profile. Now that the flag is attached to a Quality Profile config, it will be more clear how the value will be set.

caution

At the moment, quality_profiles does not create quality profiles for you! You are still responsible for ensuring that the quality profile (in the above example, SD) exists.

Replace Existing Custom Formats

One of the principles of Recyclarr is that it does not touch manually created custom formats in Radarr or Sonarr. Unfortunately, the implementation wasn't completely respectful of this. There are scenarios where a custom format with the same name as one in the guide will be replaced / updated, even if Recyclarr didn't create that custom format itself.

Starting with this release, Recyclarr will be more strict about this behavior. If Recyclarr did not explicitly create a custom format to begin with, then it will refuse to update a custom format that already exists. This behavior is controlled by the replace_existing_custom_formats property, which previously defaulted to true. It now defaults to false. To keep the old behavior, you must explicitly set this property in your configuration:

radarr:
movies:
base_url: !secret radarr_nightly_url
api_key: !secret radarr_nightly_key

# Instruct recyclarr to replace custom formats (old behavior)
replace_existing_custom_formats: true

custom_formats:
- trash_ids:
- 90cedc1fea7ea5d11298bebd3d1d3223
- 90a6f9a284dff5103f6346090e6280c8
- dc98083864ea246d05a42df0d05f81cc
- b8cd450cbfa689c0259a01d9e29ba3d6
tip

If you're introducing Recyclarr for the first time and you've already set up custom formats from the guide by hand or via another tool, I recommend temporarily setting this to true otherwise it will skip every CF you manually created. I assume that at the start, you want Recyclarr to take ownership of all of those manually-added CFs from the guide. Once you run it once, you can delete this property or set it back to false and it won't replace manually created, same-named CFs going forward.

Removed Migration Steps

The below migration steps are removed. They are from very old versions of Recyclarr that shouldn't be in use anymore.

  • Rename app data directory from trash-updater to recyclarr
  • Rename default trash.yml file to recyclarr.yml

Removed CLI Commands

The following CLI commands were previously deprecated and now removed:

Removed CommandReplacement (New) Command
recyclarr radarrrecyclarr sync radarr
recyclarr sonarrrecyclarr sync sonarr
recyclarr create-configrecyclarr config create

Settings: Repository Changes

Repository setting structure has changed. The new structure allows for more repositories to be configured in the future. The old structure assumed that we'd only ever have one git repo in the app data directory. Use the before/after examples below to determine how to migrate your changes to the new structure. Note that no action is necessary if you never bothered with settings.

Before:

repository:
branch: master
clone_url: https://github.com/TRaSH-/Guides.git
sha1: abc123
git_path: /usr/bin/git

After:

git_path: /usr/bin/git

repositories:
trash_guide:
branch: master
clone_url: https://github.com/TRaSH-/Guides.git
sha1: abc123

Note that git_path is moved out of the repository configuration, as this setting should not be repeated for multiple repositories.