diff --git a/Directory.Packages.props b/Directory.Packages.props
index 0a9a239e..aa64d68a 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -24,7 +24,7 @@
-
+
diff --git a/src/Recyclarr.Cli/Pipelines/CustomFormat/Cache/CustomFormatCache.cs b/src/Recyclarr.Cli/Pipelines/CustomFormat/Cache/CustomFormatCache.cs
index 6be7679c..429fdae3 100644
--- a/src/Recyclarr.Cli/Pipelines/CustomFormat/Cache/CustomFormatCache.cs
+++ b/src/Recyclarr.Cli/Pipelines/CustomFormat/Cache/CustomFormatCache.cs
@@ -21,7 +21,7 @@ public class CustomFormatCache(IEnumerable mappings)
_mappings = _mappings
.DistinctBy(x => x.CustomFormatId)
.Where(x => transactions.DeletedCustomFormats.All(y => y.CustomFormatId != x.CustomFormatId))
- .FullOuterJoin(existingCfs, JoinType.Hash,
+ .FullOuterHashJoin(existingCfs,
l => l.CustomFormatId,
r => r.Id,
// Keep existing service CFs, even if they aren't in user config
diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhase.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhase.cs
index 09be4781..d54c2670 100644
--- a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhase.cs
+++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhase.cs
@@ -121,7 +121,7 @@ public class QualityProfileTransactionPhase(QualityProfileStatCalculator statCal
QualityProfileDto profileDto)
{
var scoreMap = profileData.CfScores
- .FullOuterJoin(profileDto.FormatItems, JoinType.Hash,
+ .FullOuterHashJoin(profileDto.FormatItems,
x => x.FormatId,
x => x.Format,
// Exists in config, but not in service (these are unusual and should be errors)
diff --git a/src/Recyclarr.Cli/Recyclarr.Cli.csproj b/src/Recyclarr.Cli/Recyclarr.Cli.csproj
index 5db8a5ca..5b875b68 100644
--- a/src/Recyclarr.Cli/Recyclarr.Cli.csproj
+++ b/src/Recyclarr.Cli/Recyclarr.Cli.csproj
@@ -15,6 +15,7 @@
+
diff --git a/src/Recyclarr.Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMerger.cs b/src/Recyclarr.Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMerger.cs
index 9dd40f0d..cd72ffde 100644
--- a/src/Recyclarr.Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMerger.cs
+++ b/src/Recyclarr.Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMerger.cs
@@ -91,7 +91,7 @@ public abstract class ServiceConfigMerger where T : ServiceConfigYaml
return Combine(a, b, (a1, b1) =>
{
return a1
- .FullOuterJoin(b1, JoinType.Hash,
+ .FullOuterHashJoin(b1,
x => x.Name,
x => x.Name,
l => l,
diff --git a/src/Recyclarr.TrashGuide/CustomFormat/CustomFormatDataComparer.cs b/src/Recyclarr.TrashGuide/CustomFormat/CustomFormatDataComparer.cs
index 990715fd..89cf2065 100644
--- a/src/Recyclarr.TrashGuide/CustomFormat/CustomFormatDataComparer.cs
+++ b/src/Recyclarr.TrashGuide/CustomFormat/CustomFormatDataComparer.cs
@@ -30,7 +30,7 @@ public sealed class CustomFormatDataEqualityComparer : IEqualityComparer x.Name, x => x.Name, _ => false, _ => false, SpecificationEqual)
+ .FullOuterHashJoin(second, x => x.Name, x => x.Name, _ => false, _ => false, SpecificationEqual)
.All(x => x);
}
@@ -53,7 +53,7 @@ public sealed class CustomFormatDataEqualityComparer : IEqualityComparer x.Name, x => x.Name, _ => false, _ => false, FieldEqual)
+ .FullOuterHashJoin(second, x => x.Name, x => x.Name, _ => false, _ => false, FieldEqual)
.All(x => x);
}