Releases: recyclarr/recyclarr
Releases · recyclarr/recyclarr
Release list
v8.7.1
v8.7.0
Added
- Git resource providers automatically clean up accumulated storage when the
.gitdirectory
exceeds a configurable size threshold (cache_limit, default100MB) (#815)
Security
- Config: Template manifest entries from resource providers could escape the intended directories
via path traversal, enabling arbitrary file read and write outside the config directory
(GHSA-9wh7-8wrf-9x8r)
Fixed
- Sync: Crash when two custom formats from different providers resolve to the same service custom
format (e.g. a custom provider CF duplicating a TRaSH guide CF by name) - Sync: No warning when an explicitly-added CF group is skipped because the profile is not in its
compatibility list (#822) - CLI: Error messages not visible when stdout is redirected (e.g. piped commands, cron jobs, CI)
v8.6.0
Added
- Config: Entry-level
scoreoncustom_formatsentries sets a default score for every profile
underassign_scores_tothat does not define its ownscore(#736) - Sync: Error when the service type at
base_urldoes not match the configuration type (e.g. Radarr
config pointed at a Sonarr instance) - Notifications: New
verboseverbosity level that includes per-item Custom Format change details
(created/updated/deleted names) in the notification body (#541)
Changed
- Docker: Cron mode now uses log output instead of the interactive console UI (#779)
Fixed
- Notifications: Notification body too large when many custom formats or quality profiles are
adopted on first sync - CLI: Garbled output when stdout is redirected (e.g. cron jobs, piped commands) (#779)
- CLI: Crash when a resource provider error message contains special characters
- Config:
!filereferences failed with an error when the file contained a trailing newline - Config:
!filerelative paths resolved against the working directory instead of the configuration
directory
v8.5.1
Fixed
- CLI:
config create -tnamed output files after repo filename instead of template ID, causing
collisions between Radarr and Sonarr variants (#772) - Config: Trailing slash in
base_urlcaused HTTP 401 errors - Sync: Quality group rename from TRaSH Guides not applied, causing unnecessary profile updates
every sync (#774)
v8.5.0
Added
- Sync:
except_patternsoption forreset_unmatched_scoresto exclude custom formats by regex
pattern (#235)
Changed
- CLI: Show default/optional status for quality profiles in
list custom-format-groups --details
(#725)
Fixed
- Sync: Unnecessary warning when explicitly selecting default custom formats in CF groups
- Sync: Media naming status always showed as skipped for Radarr instances (#751)
v8.4.0
Added
- CLI:
--detailsflag forlist custom-format-groupsto show member CFs and their
required/default/optional status - Sync:
select_alloption 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. Thestate repair --adoptworkflow is no longer needed. - Docker: The
latesttag 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 repaircommand 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.skipsilently ignored instead of warning - Migrate: Cache-to-state migration failure on cross-filesystem moves (e.g. Docker volume mounts)
v8.3.2
v8.3.1
v8.3.0
Added
- Sync: The same guide-backed quality profile
trash_idcan 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_DATAdeprecation 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_towithnameno 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
Fixed
- Config: Removed properties like
replace_existing_custom_formatsnow produce a deprecation
warning instead of silently preventing sync. - Config: Using the same quality profile
trash_idmultiple times now produces a validation error
instead of silently corrupting sync state. - Sync:
assign_scores_towithtrash_idno longer requires the target profile to be in the CF
group's include list (#726).