diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b347a52..321990b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Print error information about HTTP 401 instead of "Unable to determine". - Improved wording of remote service error messages. +### Changed + +- `qualities` (inside `quality_profiles`) is now a "Replace" merge operation instead of "Add". This + means only one YAML file manages the full list of qualities. Either an include does it, or you + override the full list in your configuration file. There is no longer any combination. + ## [5.4.1] - 2023-09-12 ### Fixed diff --git a/src/Recyclarr.TrashLib.Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMerger.cs b/src/Recyclarr.TrashLib.Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMerger.cs index 07ec9e28..14d397d4 100644 --- a/src/Recyclarr.TrashLib.Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMerger.cs +++ b/src/Recyclarr.TrashLib.Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMerger.cs @@ -80,7 +80,7 @@ public abstract class ServiceConfigMerger where T : ServiceConfigYaml .Distinct(StringComparer.InvariantCultureIgnoreCase) .ToList())) }), - Qualities = Combine(a.Qualities, b.Qualities, (a1, b1) => a1.Concat(b1).ToList()) + Qualities = b.Qualities ?? a.Qualities }; } } diff --git a/src/tests/Recyclarr.TrashLib.Config.Tests/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs b/src/tests/Recyclarr.TrashLib.Config.Tests/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs index c926261d..caa96d4a 100644 --- a/src/tests/Recyclarr.TrashLib.Config.Tests/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs +++ b/src/tests/Recyclarr.TrashLib.Config.Tests/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs @@ -498,12 +498,6 @@ public class ServiceConfigMergerTest }, Qualities = new[] { - new QualityProfileQualityConfigYaml - { - Enabled = true, - Name = "quality1", - Qualities = new[] {"quality"} - }, new QualityProfileQualityConfigYaml { Enabled = false,