diff --git a/Emby.Naming/obj/Emby.Naming.csproj.nuget.dgspec.json b/Emby.Naming/obj/Emby.Naming.csproj.nuget.dgspec.json
index b2e6d700..c5e78a26 100644
--- a/Emby.Naming/obj/Emby.Naming.csproj.nuget.dgspec.json
+++ b/Emby.Naming/obj/Emby.Naming.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1499,6 +1613,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1526,17 +1643,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2063,6 +2212,216 @@
}
}
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"version": "10.11.0",
"restore": {
@@ -2092,7 +2451,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2116,6 +2479,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2139,6 +2516,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2550,7 +2945,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2587,10 +2986,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.props b/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.props
+++ b/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.targets b/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.targets
index c9f67447..01ebd317 100644
--- a/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.targets
+++ b/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.targets
@@ -3,5 +3,6 @@
+
\ No newline at end of file
diff --git a/Emby.Naming/obj/project.assets.json b/Emby.Naming/obj/project.assets.json
index 1cb9d537..3541cc94 100644
--- a/Emby.Naming/obj/project.assets.json
+++ b/Emby.Naming/obj/project.assets.json
@@ -48,6 +48,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -82,6 +85,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -436,6 +446,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -445,11 +461,35 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
+ },
"Jellyfin.Common/10.12.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -465,7 +505,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -479,6 +521,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -495,6 +538,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -508,6 +552,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -591,6 +636,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -638,6 +698,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1198,6 +1326,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1212,6 +1370,50 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
+ },
"Jellyfin.Common/10.12.0": {
"type": "project",
"path": "../MediaBrowser.Common/MediaBrowser.Common.csproj",
@@ -1240,8 +1442,15 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
- "Jellyfin.Model >= 10.12.0"
+ "Jellyfin.Model >= 10.12.0",
+ "Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -1283,20 +1492,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -1307,6 +1509,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
diff --git a/Emby.Naming/obj/project.nuget.cache b/Emby.Naming/obj/project.nuget.cache
index ee09b7f3..1ef4bf68 100644
--- a/Emby.Naming/obj/project.nuget.cache
+++ b/Emby.Naming/obj/project.nuget.cache
@@ -1,14 +1,16 @@
{
"version": 2,
- "dgSpecHash": "0fSD+F6e3Ek=",
+ "dgSpecHash": "qWdnDCktJdY=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj",
"expectedPackageFiles": [
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -30,7 +32,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/Emby.Photos/obj/Emby.Photos.csproj.nuget.dgspec.json b/Emby.Photos/obj/Emby.Photos.csproj.nuget.dgspec.json
index c2300092..22cbb000 100644
--- a/Emby.Photos/obj/Emby.Photos.csproj.nuget.dgspec.json
+++ b/Emby.Photos/obj/Emby.Photos.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -478,6 +510,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -503,6 +538,38 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TagLibSharp": {
"target": "Package",
"version": "[2.3.0, )",
@@ -919,6 +986,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -946,10 +1016,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1364,6 +1471,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1388,6 +1498,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1951,6 +2100,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1983,15 +2135,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2407,6 +2591,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -2434,17 +2621,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3024,6 +3243,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3035,6 +3261,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3046,6 +3279,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3178,7 +3429,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3202,6 +3457,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3225,6 +3494,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3636,7 +3923,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3673,10 +3964,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.props b/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.props
+++ b/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.targets b/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.targets
index 693275db..fee5dc52 100644
--- a/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.targets
+++ b/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/Emby.Photos/obj/project.assets.json b/Emby.Photos/obj/project.assets.json
index d424921e..c8949983 100644
--- a/Emby.Photos/obj/project.assets.json
+++ b/Emby.Photos/obj/project.assets.json
@@ -61,6 +61,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -95,6 +98,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -502,6 +512,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -511,6 +527,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"TagLibSharp/2.3.0": {
"type": "package",
"compile": {
@@ -541,7 +566,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -558,6 +585,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -576,7 +604,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -590,6 +620,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -606,6 +637,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -634,6 +666,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -652,8 +685,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -750,6 +785,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -797,6 +847,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1438,6 +1556,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1452,6 +1600,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"TagLibSharp/2.3.0": {
"sha512": "Qo4z6ZjnIfbR3Us1Za5M2vQ97OWZPmODvVmepxZ8XW0UIVLGdO2T63/N3b23kCcyiwuIe0TQvMEQG8wUCCD1mA==",
"type": "package",
@@ -1517,8 +1704,14 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.Model >= 10.12.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556",
"TagLibSharp >= 2.3.0"
]
},
@@ -1561,6 +1754,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1586,6 +1782,38 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TagLibSharp": {
"target": "Package",
"version": "[2.3.0, )",
diff --git a/Emby.Photos/obj/project.nuget.cache b/Emby.Photos/obj/project.nuget.cache
index 93f9298a..db61bb8d 100644
--- a/Emby.Photos/obj/project.nuget.cache
+++ b/Emby.Photos/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "13ZizSBE6dI=",
+ "dgSpecHash": "DaMoU2oavX0=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Emby.Photos\\Emby.Photos.csproj",
"expectedPackageFiles": [
@@ -8,8 +8,10 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -34,7 +36,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\taglibsharp\\2.3.0\\taglibsharp.2.3.0.nupkg.sha512"
],
"logs": []
diff --git a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.dgspec.json b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.dgspec.json
index 462abd4d..e64fa6ee 100644
--- a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.dgspec.json
+++ b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -478,6 +510,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -503,6 +538,38 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TagLibSharp": {
"target": "Package",
"version": "[2.3.0, )",
@@ -952,6 +1019,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -1002,6 +1072,13 @@
"version": "[0.2.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Data.Sqlite": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -1027,6 +1104,24 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net.DotNetRuntime": {
"target": "Package",
"version": "[4.4.1, )",
@@ -1449,6 +1544,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
@@ -1479,6 +1577,13 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -1489,11 +1594,36 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[7.3.2, )",
@@ -1915,6 +2045,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -1942,10 +2075,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2367,6 +2537,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2405,10 +2578,47 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Relational": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2823,6 +3033,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2847,6 +3060,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -3410,6 +3662,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -3442,15 +3697,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3868,6 +4155,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3892,6 +4182,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4310,6 +4639,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -4345,16 +4677,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
@@ -4779,6 +5143,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -4806,17 +5173,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -5378,6 +5777,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -5408,6 +5810,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -5423,6 +5832,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -5443,6 +5859,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
@@ -5869,6 +6303,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -5893,6 +6330,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -6326,6 +6802,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -6337,6 +6820,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -6348,6 +6838,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -6480,7 +6988,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -6504,6 +7016,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -6527,6 +7053,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -6942,6 +7486,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -6969,6 +7516,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -6997,6 +7558,24 @@
"target": "Package",
"version": "[11.0.0-preview.1, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7412,6 +7991,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -7439,6 +8021,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -7462,6 +8058,24 @@
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7882,6 +8496,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -7912,10 +8529,42 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -8327,7 +8976,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -8364,10 +9017,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -9752,6 +10437,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -9776,6 +10464,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
diff --git a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.props b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.props
index b0a11e53..091c7860 100644
--- a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.props
+++ b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.props
@@ -15,8 +15,13 @@
+
C:\Users\wjones\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
\ No newline at end of file
diff --git a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.targets b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.targets
index 0ca139dd..12299813 100644
--- a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.targets
+++ b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.targets
@@ -5,5 +5,6 @@
+
\ No newline at end of file
diff --git a/Emby.Server.Implementations/obj/project.assets.json b/Emby.Server.Implementations/obj/project.assets.json
index 1114ba58..cf484bfd 100644
--- a/Emby.Server.Implementations/obj/project.assets.json
+++ b/Emby.Server.Implementations/obj/project.assets.json
@@ -309,6 +309,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.Data.Sqlite/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -1062,6 +1069,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"SourceGear.sqlite3/3.50.4.2": {
"type": "package",
"compile": {
@@ -1249,6 +1262,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Swashbuckle.AspNetCore/7.3.2": {
"type": "package",
"dependencies": {
@@ -1436,6 +1458,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"TagLibSharp": "2.3.0"
@@ -1451,6 +1474,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.MediaEncoding.Hls": "1.0.0",
"Jellyfin.Networking": "1.0.0",
@@ -1485,7 +1509,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1502,6 +1528,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -1520,7 +1547,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1534,6 +1563,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1548,6 +1578,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
@@ -1565,6 +1596,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
@@ -1582,6 +1614,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -1600,6 +1633,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1646,6 +1680,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1664,8 +1699,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1678,6 +1715,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0"
},
@@ -1693,12 +1731,14 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Database.Providers.Postgres": "1.0.0",
"Jellyfin.Database.Providers.Sqlite": "1.0.0",
"Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1712,8 +1752,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.LocalMetadata.dll": {}
@@ -1728,6 +1770,7 @@
"dependencies": {
"AsyncKeyedLock": "8.0.2",
"BDInfo": "0.8.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -1748,6 +1791,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"Jellyfin.Sdk": "2025.10.21",
@@ -1771,8 +1815,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.XbmcMetadata.dll": {}
@@ -2187,6 +2233,74 @@
"microsoft.aspnetcore.metadata.nuspec"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.Data.Sqlite/11.0.0-preview.1.26104.118": {
"sha512": "Cf3KD0fmQWE5YjiaP2x9HDd7hsUleXq3mpSQMBxO8B62vLyG2j13Xhg/t++wmjKC6kp7G6N0OIxvKb2FqLyeFQ==",
"type": "package",
@@ -3474,6 +3588,36 @@
"prometheus-net.dotnetruntime.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"SourceGear.sqlite3/3.50.4.2": {
"sha512": "eV9HwQ88WyoU+reGVxJz1SwME9NbYnl9h2LOY15j0LGdXN4JkTJDk8JRRg/yNgt00O3Cn5/qnska10FEZNoU5g==",
"type": "package",
@@ -3598,6 +3742,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Swashbuckle.AspNetCore/7.3.2": {
"sha512": "WEkW7Cl8bexT75eURuqrqM/TQx+ftWKOWlCHzmw3Fl3oAmxiBO/lDVOuuqZsaBCHQIBcZxA6BbyiG5dv2mD2tw==",
"type": "package",
@@ -3969,6 +4152,7 @@
"Emby.Photos >= 1.0.0",
"Ignore >= 0.2.1",
"Jellyfin.Api >= 1.0.0",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.Database.Implementations >= 10.11.0",
@@ -3980,11 +4164,15 @@
"MediaBrowser.MediaEncoding >= 1.0.0",
"MediaBrowser.Providers >= 1.0.0",
"MediaBrowser.XbmcMetadata >= 1.0.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
"Microsoft.Data.Sqlite >= 11.0.0-preview.1.26104.118",
"Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118",
"Microsoft.Extensions.Caching.Memory >= 11.0.0-preview.1.26104.118",
"Microsoft.Extensions.DependencyInjection >= 11.0.0-preview.1.26104.118",
"Microsoft.Extensions.Hosting.Abstractions >= 11.0.0-preview.1.26104.118",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556",
"prometheus-net.DotNetRuntime >= 4.4.1"
]
},
@@ -4055,6 +4243,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -4105,6 +4296,13 @@
"version": "[0.2.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Data.Sqlite": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -4130,6 +4328,24 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net.DotNetRuntime": {
"target": "Package",
"version": "[4.4.1, )",
diff --git a/Emby.Server.Implementations/obj/project.nuget.cache b/Emby.Server.Implementations/obj/project.nuget.cache
index 59fe7bbc..442aff73 100644
--- a/Emby.Server.Implementations/obj/project.nuget.cache
+++ b/Emby.Server.Implementations/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "p4SpuIo9S1w=",
+ "dgSpecHash": "zPBm14Az/RI=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Emby.Server.Implementations\\Emby.Server.Implementations.csproj",
"expectedPackageFiles": [
@@ -25,6 +25,7 @@
"C:\\Users\\wjones\\.nuget\\packages\\metabrainz.musicbrainz\\8.0.1\\metabrainz.musicbrainz.8.0.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.aspnetcore.authorization\\11.0.0-preview.1.26104.118\\microsoft.aspnetcore.authorization.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.aspnetcore.metadata\\11.0.0-preview.1.26104.118\\microsoft.aspnetcore.metadata.11.0.0-preview.1.26104.118.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite.core\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.core.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -69,12 +70,16 @@
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\prometheus-net\\3.1.2\\prometheus-net.3.1.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\prometheus-net.dotnetruntime\\4.4.1\\prometheus-net.dotnetruntime.4.4.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sourcegear.sqlite3\\3.50.4.2\\sourcegear.sqlite3.3.50.4.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\3.0.2\\sqlitepclraw.bundle_e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.config.e_sqlite3\\3.0.2\\sqlitepclraw.config.e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.core\\3.0.2\\sqlitepclraw.core.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\3.0.2\\sqlitepclraw.provider.e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore\\7.3.2\\swashbuckle.aspnetcore.7.3.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore.redoc\\6.9.0\\swashbuckle.aspnetcore.redoc.6.9.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\7.3.2\\swashbuckle.aspnetcore.swagger.7.3.2.nupkg.sha512",
diff --git a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.dgspec.json b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.dgspec.json
index 7d36ac4c..694e475d 100644
--- a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.dgspec.json
+++ b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -479,6 +511,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
@@ -509,6 +544,13 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -519,11 +561,36 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[7.3.2, )",
@@ -945,6 +1012,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -972,10 +1042,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1390,6 +1497,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1414,6 +1524,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1977,6 +2126,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -2009,15 +2161,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2438,6 +2622,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2473,16 +2660,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
@@ -2907,6 +3126,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -2934,17 +3156,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3524,6 +3778,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3535,6 +3796,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3546,6 +3814,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3678,7 +3964,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3702,6 +3992,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3725,6 +4029,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4136,7 +4458,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -4173,10 +4499,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -5561,6 +5919,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -5585,6 +5946,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
diff --git a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.props b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.props
index b604d0b4..ba1ca20d 100644
--- a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.props
+++ b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.props
@@ -17,8 +17,14 @@
+
C:\Users\wjones\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
\ No newline at end of file
diff --git a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.targets b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.targets
index 2d3f6fc4..a70c7b16 100644
--- a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.targets
+++ b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.targets
@@ -5,5 +5,6 @@
+
\ No newline at end of file
diff --git a/Jellyfin.Api/obj/project.assets.json b/Jellyfin.Api/obj/project.assets.json
index df5bd67f..9b6562b2 100644
--- a/Jellyfin.Api/obj/project.assets.json
+++ b/Jellyfin.Api/obj/project.assets.json
@@ -83,6 +83,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -170,6 +173,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -711,6 +721,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -720,6 +736,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Swashbuckle.AspNetCore/7.3.2": {
"type": "package",
"dependencies": {
@@ -866,7 +891,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -883,6 +910,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -901,7 +929,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -915,6 +945,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -931,6 +962,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -977,6 +1009,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -995,8 +1028,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1009,6 +1044,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0"
},
@@ -1025,6 +1061,7 @@
"dependencies": {
"AsyncKeyedLock": "8.0.2",
"BDInfo": "0.8.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -1168,6 +1205,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -1272,6 +1324,74 @@
"microsoft.aspnetcore.metadata.nuspec"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -2297,6 +2417,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -2311,6 +2461,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Swashbuckle.AspNetCore/7.3.2": {
"sha512": "WEkW7Cl8bexT75eURuqrqM/TQx+ftWKOWlCHzmw3Fl3oAmxiBO/lDVOuuqZsaBCHQIBcZxA6BbyiG5dv2mD2tw==",
"type": "package",
@@ -2564,13 +2753,19 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.MediaEncoding.Hls >= 1.0.0",
"Jellyfin.Networking >= 1.0.0",
"Jellyfin.Sdk >= 2025.10.21",
"MediaBrowser.MediaEncoding >= 1.0.0",
"Microsoft.AspNetCore.Authorization >= 11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
"Microsoft.Extensions.Http >= 11.0.0-preview.1.26104.118",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556",
"Swashbuckle.AspNetCore >= 7.3.2",
"Swashbuckle.AspNetCore.ReDoc >= 6.9.0"
]
@@ -2615,6 +2810,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
@@ -2645,6 +2843,13 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2655,11 +2860,36 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[7.3.2, )",
diff --git a/Jellyfin.Api/obj/project.nuget.cache b/Jellyfin.Api/obj/project.nuget.cache
index d5c7e415..3b4b499f 100644
--- a/Jellyfin.Api/obj/project.nuget.cache
+++ b/Jellyfin.Api/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "dj1RpwTBXfw=",
+ "dgSpecHash": "sEpjYe2J48k=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Api\\Jellyfin.Api.csproj",
"expectedPackageFiles": [
@@ -10,11 +10,13 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\libse\\4.0.12\\libse.4.0.12.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.aspnetcore.authorization\\11.0.0-preview.1.26104.118\\microsoft.aspnetcore.authorization.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.aspnetcore.metadata\\11.0.0-preview.1.26104.118\\microsoft.aspnetcore.metadata.11.0.0-preview.1.26104.118.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -46,7 +48,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore\\7.3.2\\swashbuckle.aspnetcore.7.3.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore.redoc\\6.9.0\\swashbuckle.aspnetcore.redoc.6.9.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\7.3.2\\swashbuckle.aspnetcore.swagger.7.3.2.nupkg.sha512",
diff --git a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.dgspec.json b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.dgspec.json
index 112d1417..cd4cea17 100644
--- a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.dgspec.json
+++ b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.dgspec.json
@@ -34,6 +34,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -61,10 +64,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -447,6 +487,216 @@
}
}
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"version": "10.11.0",
"restore": {
@@ -476,7 +726,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -500,6 +754,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -523,6 +791,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.props b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.props
+++ b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.targets b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.targets
index c9f67447..01ebd317 100644
--- a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.targets
+++ b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.targets
@@ -3,5 +3,6 @@
+
\ No newline at end of file
diff --git a/Jellyfin.Data/obj/project.assets.json b/Jellyfin.Data/obj/project.assets.json
index 14ecf0d5..2f81ca09 100644
--- a/Jellyfin.Data/obj/project.assets.json
+++ b/Jellyfin.Data/obj/project.assets.json
@@ -2,6 +2,37 @@
"version": 3,
"targets": {
"net11.0": {
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
+ "Jellyfin.Sdk/2025.10.21": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1",
+ "Microsoft.Kiota.Http.HttpClientLibrary": "1.20.1",
+ "Microsoft.Kiota.Serialization.Form": "1.20.1",
+ "Microsoft.Kiota.Serialization.Json": "1.20.1",
+ "Microsoft.Kiota.Serialization.Multipart": "1.20.1",
+ "Microsoft.Kiota.Serialization.Text": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Jellyfin.Sdk.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Jellyfin.Sdk.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -231,6 +262,102 @@
"buildTransitive/net10.0/_._": {}
}
},
+ "Microsoft.Kiota.Abstractions/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Std.UriTemplate": "2.0.5"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Abstractions.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Serialization.Form/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Serialization.Json/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Serialization.Multipart/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Serialization.Text/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll": {
+ "related": ".xml"
+ }
+ }
+ },
"Polly/8.6.5": {
"type": "package",
"dependencies": {
@@ -260,10 +387,48 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
+ "Std.UriTemplate/2.0.5": {
+ "type": "package",
+ "compile": {
+ "lib/net5.0/Std.UriTemplate.dll": {}
+ },
+ "runtime": {
+ "lib/net5.0/Std.UriTemplate.dll": {}
+ }
+ },
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
+ },
"Jellyfin.Database.Implementations/10.11.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -277,6 +442,108 @@
}
},
"libraries": {
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Jellyfin.Sdk/2025.10.21": {
+ "sha512": "1pG60suEiV3v77zqLd5fO9S8m8qryxj9mZYb24Me1XgSXlaCIt0SC1V1sbFKyoG70Q3n915wT4Ko4BUanorRug==",
+ "type": "package",
+ "path": "jellyfin.sdk/2025.10.21",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "jellyfin.sdk.nuspec",
+ "lib/net6.0/Jellyfin.Sdk.dll",
+ "lib/net6.0/Jellyfin.Sdk.xml",
+ "lib/net8.0/Jellyfin.Sdk.dll",
+ "lib/net8.0/Jellyfin.Sdk.xml",
+ "lib/netstandard2.0/Jellyfin.Sdk.dll",
+ "lib/netstandard2.0/Jellyfin.Sdk.xml",
+ "lib/netstandard2.1/Jellyfin.Sdk.dll",
+ "lib/netstandard2.1/Jellyfin.Sdk.xml"
+ ]
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -646,6 +913,142 @@
"useSharedDesignerContext.txt"
]
},
+ "Microsoft.Kiota.Abstractions/1.20.1": {
+ "sha512": "bv1n2gnxA/O+1a26h3YB6bgcc3ZSLCjRumMh7sVkFmksLaVonhcrJpUrEtBlnnYPrnHwzm/1BYQnYjCVG7A+fA==",
+ "type": "package",
+ "path": "microsoft.kiota.abstractions/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Abstractions.dll",
+ "lib/net5.0/Microsoft.Kiota.Abstractions.xml",
+ "lib/net6.0/Microsoft.Kiota.Abstractions.dll",
+ "lib/net6.0/Microsoft.Kiota.Abstractions.xml",
+ "lib/net8.0/Microsoft.Kiota.Abstractions.dll",
+ "lib/net8.0/Microsoft.Kiota.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Abstractions.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Abstractions.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Abstractions.xml",
+ "microsoft.kiota.abstractions.1.20.1.nupkg.sha512",
+ "microsoft.kiota.abstractions.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": {
+ "sha512": "pQzs+9n3QAG/FKFwgIaRE0EqOXfW3rWliOdk9XZbghyRdeAtiQjSbJbpascdZlf7uatLpPYA145q6MYpLxvsgA==",
+ "type": "package",
+ "path": "microsoft.kiota.http.httpclientlibrary/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net462/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net462/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/net5.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net5.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/net6.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net6.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/net8.0-browser1.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net8.0-browser1.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "microsoft.kiota.http.httpclientlibrary.1.20.1.nupkg.sha512",
+ "microsoft.kiota.http.httpclientlibrary.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Serialization.Form/1.20.1": {
+ "sha512": "n7izb8GZSoatmFSpMaHmh78U3oW+YdYb2gDwhkG86COHuiGWV9s0BKBeUlFakAV00CDwaH9iFqxCQ0veYVkG1A==",
+ "type": "package",
+ "path": "microsoft.kiota.serialization.form/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Form.xml",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Form.xml",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Form.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Form.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Form.xml",
+ "microsoft.kiota.serialization.form.1.20.1.nupkg.sha512",
+ "microsoft.kiota.serialization.form.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Serialization.Json/1.20.1": {
+ "sha512": "4MumZe45DI/o1YP+hq7wyArOHDhjkSiu14ysN4xWKe6vwlu43BUYydA/yT0CtjoPwbFW/6jfx/NVSvM3DzBzbg==",
+ "type": "package",
+ "path": "microsoft.kiota.serialization.json/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Json.xml",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Json.xml",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Json.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Json.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Json.xml",
+ "microsoft.kiota.serialization.json.1.20.1.nupkg.sha512",
+ "microsoft.kiota.serialization.json.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Serialization.Multipart/1.20.1": {
+ "sha512": "tP7ZxA1zsIi3FE8CHwfA5JnzlW1NYld+LpFihFq+S7IXFDv1x37I968lPKGIdEpWW9vWacuqDQVKIyJiKZ257A==",
+ "type": "package",
+ "path": "microsoft.kiota.serialization.multipart/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Multipart.xml",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Multipart.xml",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Multipart.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Multipart.xml",
+ "microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512",
+ "microsoft.kiota.serialization.multipart.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Serialization.Text/1.20.1": {
+ "sha512": "Cue4l9AeU0WgL2CdUW8K58BMwQOyiHgT7aCov2qGEKpmpeWQj7cmAWCgxDfPHYPkZtz1Ccbrw4/6KrDgCmrC3Q==",
+ "type": "package",
+ "path": "microsoft.kiota.serialization.text/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Text.xml",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Text.xml",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Text.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Text.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Text.xml",
+ "microsoft.kiota.serialization.text.1.20.1.nupkg.sha512",
+ "microsoft.kiota.serialization.text.nuspec"
+ ]
+ },
"Polly/8.6.5": {
"sha512": "VqtW2ZE/ALvQMAH1cQY3qZ2cF2OXa3oe/HKMdOv6Q02HCoEW0rsFNfcBONXlHBe1TnjWW1vdRxBEkPeq0/2FHA==",
"type": "package",
@@ -701,6 +1104,94 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Std.UriTemplate/2.0.5": {
+ "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
+ "type": "package",
+ "path": "std.uritemplate/2.0.5",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Readme.md",
+ "lib/net5.0/Std.UriTemplate.dll",
+ "lib/netstandard2.0/Std.UriTemplate.dll",
+ "std.uritemplate.2.0.5.nupkg.sha512",
+ "std.uritemplate.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
+ },
"Jellyfin.Database.Implementations/10.11.0": {
"type": "project",
"path": "../src/Jellyfin.Database/Jellyfin.Database.Implementations/Jellyfin.Database.Implementations.csproj",
@@ -709,8 +1200,15 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Database.Implementations >= 10.11.0",
- "Microsoft.Extensions.Logging >= 11.0.0-preview.1.26104.118"
+ "Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "Microsoft.Extensions.Logging >= 11.0.0-preview.1.26104.118",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -747,6 +1245,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -774,10 +1275,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/Jellyfin.Data/obj/project.nuget.cache b/Jellyfin.Data/obj/project.nuget.cache
index 42c9eafc..a35ad6a2 100644
--- a/Jellyfin.Data/obj/project.nuget.cache
+++ b/Jellyfin.Data/obj/project.nuget.cache
@@ -1,9 +1,12 @@
{
"version": 2,
- "dgSpecHash": "LTl0S9bshg4=",
+ "dgSpecHash": "V+/rEcS1v1k=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj",
"expectedPackageFiles": [
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -17,8 +20,19 @@
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\11.0.0-preview.1.26104.118\\microsoft.extensions.logging.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.options\\11.0.0-preview.1.26104.118\\microsoft.extensions.options.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.primitives\\11.0.0-preview.1.26104.118\\microsoft.extensions.primitives.11.0.0-preview.1.26104.118.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.abstractions\\1.20.1\\microsoft.kiota.abstractions.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.http.httpclientlibrary\\1.20.1\\microsoft.kiota.http.httpclientlibrary.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.form\\1.20.1\\microsoft.kiota.serialization.form.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.json\\1.20.1\\microsoft.kiota.serialization.json.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.multipart\\1.20.1\\microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.dgspec.json b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.dgspec.json
index e3baef69..2f60dd70 100644
--- a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.dgspec.json
+++ b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -925,6 +997,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -963,10 +1038,47 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Relational": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1381,6 +1493,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1405,6 +1520,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1968,6 +2122,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -2000,15 +2157,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2424,6 +2613,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -2451,17 +2643,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3041,6 +3265,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3052,6 +3283,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3063,6 +3301,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3195,7 +3451,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3219,6 +3479,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3242,6 +3516,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3657,6 +3949,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -3684,6 +3979,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -3712,6 +4021,24 @@
"target": "Package",
"version": "[11.0.0-preview.1, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4127,6 +4454,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -4154,6 +4484,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -4177,6 +4521,24 @@
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4588,7 +4950,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -4625,10 +4991,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.props b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.props
+++ b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.targets b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.targets
index 0ca139dd..12299813 100644
--- a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.targets
+++ b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.targets
@@ -5,5 +5,6 @@
+
\ No newline at end of file
diff --git a/Jellyfin.Server.Implementations/obj/project.assets.json b/Jellyfin.Server.Implementations/obj/project.assets.json
index f9b75139..c06665d1 100644
--- a/Jellyfin.Server.Implementations/obj/project.assets.json
+++ b/Jellyfin.Server.Implementations/obj/project.assets.json
@@ -74,6 +74,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -108,6 +111,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.Data.Sqlite.Core/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -621,6 +631,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"SourceGear.sqlite3/3.50.4.2": {
"type": "package",
"compile": {
@@ -808,6 +824,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.0",
@@ -825,7 +850,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -842,6 +869,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -860,7 +888,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -874,6 +904,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -888,6 +919,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
@@ -905,6 +937,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
@@ -923,6 +956,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -951,6 +985,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -969,8 +1004,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1094,6 +1131,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -1141,6 +1193,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.Data.Sqlite.Core/11.0.0-preview.1.26104.118": {
"sha512": "Wq/TlVr4AClalGUro9wS+5qmvPS9zteDo+zc7AOICye0TxgHbdwU46Ux4W0IaLKl5vTj9vXQrTK5t9OM1vJpLQ==",
"type": "package",
@@ -1889,6 +2009,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"SourceGear.sqlite3/3.50.4.2": {
"sha512": "eV9HwQ88WyoU+reGVxJz1SwME9NbYnl9h2LOY15j0LGdXN4JkTJDk8JRRg/yNgt00O3Cn5/qnska10FEZNoU5g==",
"type": "package",
@@ -2013,6 +2163,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
@@ -2072,13 +2261,20 @@
"projectFileDependencyGroups": {
"net11.0": [
"AsyncKeyedLock >= 8.0.2",
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.Data >= 10.12.0",
"Jellyfin.Database.Implementations >= 10.11.0",
"Jellyfin.Database.Providers.Postgres >= 1.0.0",
"Jellyfin.Database.Providers.Sqlite >= 1.0.0",
"Jellyfin.Model >= 10.12.0",
- "Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118"
+ "Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -2124,6 +2320,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2162,10 +2361,47 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Relational": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/Jellyfin.Server.Implementations/obj/project.nuget.cache b/Jellyfin.Server.Implementations/obj/project.nuget.cache
index b08b80b0..289a7b28 100644
--- a/Jellyfin.Server.Implementations/obj/project.nuget.cache
+++ b/Jellyfin.Server.Implementations/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "0qHzAH13fno=",
+ "dgSpecHash": "q38UsTgstaw=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj",
"expectedPackageFiles": [
@@ -9,8 +9,10 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite.core\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.core.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -41,12 +43,16 @@
"C:\\Users\\wjones\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\11.0.0-preview.1\\npgsql.entityframeworkcore.postgresql.11.0.0-preview.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sourcegear.sqlite3\\3.50.4.2\\sourcegear.sqlite3.3.50.4.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\3.0.2\\sqlitepclraw.bundle_e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.config.e_sqlite3\\3.0.2\\sqlitepclraw.config.e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.core\\3.0.2\\sqlitepclraw.core.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\3.0.2\\sqlitepclraw.provider.e_sqlite3.3.0.2.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/Jellyfin.Server/Migrations/JellyfinMigrationAttribute.cs b/Jellyfin.Server/Migrations/JellyfinMigrationAttribute.cs
index 9a0535e7..20527e13 100644
--- a/Jellyfin.Server/Migrations/JellyfinMigrationAttribute.cs
+++ b/Jellyfin.Server/Migrations/JellyfinMigrationAttribute.cs
@@ -50,6 +50,12 @@ public sealed class JellyfinMigrationAttribute : Attribute
///
public bool RunMigrationOnSetup { get; set; }
+ ///
+ /// Gets or Sets a value indicating whether the migration requires SQLite (legacy library.db).
+ /// If true, the migration will be skipped when using non-SQLite database providers.
+ ///
+ public bool RequiresSqlite { get; set; }
+
///
/// Gets or Sets the stage the annoated migration should be executed at. Defaults to .
///
diff --git a/Jellyfin.Server/Migrations/JellyfinMigrationService.cs b/Jellyfin.Server/Migrations/JellyfinMigrationService.cs
index f428bcb7..3f6d11f8 100644
--- a/Jellyfin.Server/Migrations/JellyfinMigrationService.cs
+++ b/Jellyfin.Server/Migrations/JellyfinMigrationService.cs
@@ -219,6 +219,18 @@ internal class JellyfinMigrationService
ICollection migrationStage = (Migrations.FirstOrDefault(e => e.Stage == stage) as ICollection) ?? [];
+ // Filter out SQLite-specific migrations when using non-SQLite providers
+ bool isSqliteProvider = _jellyfinDatabaseProvider is Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider;
+ if (!isSqliteProvider)
+ {
+ var sqliteSpecificMigrations = migrationStage.Where(m => m.Metadata.RequiresSqlite).ToList();
+ if (sqliteSpecificMigrations.Any())
+ {
+ logger.LogInformation("Skipping {Count} SQLite-specific migrations because current provider is not SQLite", sqliteSpecificMigrations.Count);
+ migrationStage = migrationStage.Where(m => !m.Metadata.RequiresSqlite).ToList();
+ }
+ }
+
var dbContext = await _dbContextFactory.CreateDbContextAsync().ConfigureAwait(false);
await using (dbContext.ConfigureAwait(false))
{
diff --git a/Jellyfin.Server/Migrations/Routines/MigrateActivityLogDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateActivityLogDb.cs
index d8511750..85b828c4 100644
--- a/Jellyfin.Server/Migrations/Routines/MigrateActivityLogDb.cs
+++ b/Jellyfin.Server/Migrations/Routines/MigrateActivityLogDb.cs
@@ -19,7 +19,7 @@ namespace Jellyfin.Server.Migrations.Routines
/// The migration routine for migrating the activity log database to EF Core.
///
#pragma warning disable CS0618 // Type or member is obsolete
- [JellyfinMigration("2025-04-20T07:00:00", nameof(MigrateActivityLogDb), "3793eb59-bc8c-456c-8b9f-bd5a62a42978")]
+ [JellyfinMigration("2025-04-20T07:00:00", nameof(MigrateActivityLogDb), "3793eb59-bc8c-456c-8b9f-bd5a62a42978", RequiresSqlite = true)]
public class MigrateActivityLogDb : IMigrationRoutine
#pragma warning restore CS0618 // Type or member is obsolete
{
diff --git a/Jellyfin.Server/Migrations/Routines/MigrateAuthenticationDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateAuthenticationDb.cs
index c3d8e950..16419ab9 100644
--- a/Jellyfin.Server/Migrations/Routines/MigrateAuthenticationDb.cs
+++ b/Jellyfin.Server/Migrations/Routines/MigrateAuthenticationDb.cs
@@ -20,7 +20,7 @@ namespace Jellyfin.Server.Migrations.Routines
/// A migration that moves data from the authentication database into the new schema.
///
#pragma warning disable CS0618 // Type or member is obsolete
- [JellyfinMigration("2025-04-20T14:00:00", nameof(MigrateAuthenticationDb), "5BD72F41-E6F3-4F60-90AA-09869ABE0E22")]
+ [JellyfinMigration("2025-04-20T14:00:00", nameof(MigrateAuthenticationDb), "5BD72F41-E6F3-4F60-90AA-09869ABE0E22", RequiresSqlite = true)]
public class MigrateAuthenticationDb : IMigrationRoutine
#pragma warning restore CS0618 // Type or member is obsolete
{
diff --git a/Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs
index e241a82d..e1ce036b 100644
--- a/Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs
+++ b/Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs
@@ -25,7 +25,7 @@ namespace Jellyfin.Server.Migrations.Routines
/// The migration routine for migrating the display preferences database to EF Core.
///
#pragma warning disable CS0618 // Type or member is obsolete
- [JellyfinMigration("2025-04-20T12:00:00", nameof(MigrateDisplayPreferencesDb), "06387815-C3CC-421F-A888-FB5F9992BEA8")]
+ [JellyfinMigration("2025-04-20T12:00:00", nameof(MigrateDisplayPreferencesDb), "06387815-C3CC-421F-A888-FB5F9992BEA8", RequiresSqlite = true)]
public class MigrateDisplayPreferencesDb : IMigrationRoutine
#pragma warning restore CS0618 // Type or member is obsolete
{
diff --git a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs
index e1fa4951..c40b3b0f 100644
--- a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs
+++ b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs
@@ -33,7 +33,7 @@ namespace Jellyfin.Server.Migrations.Routines;
///
/// The migration routine for migrating the userdata database to EF Core.
///
-[JellyfinMigration("2025-04-20T20:00:00", nameof(MigrateLibraryDb))]
+[JellyfinMigration("2025-04-20T20:00:00", nameof(MigrateLibraryDb), RequiresSqlite = true)]
[JellyfinMigrationBackup(JellyfinDb = true, LegacyLibraryDb = true)]
internal class MigrateLibraryDb : IDatabaseMigrationRoutine
{
diff --git a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDbCompatibilityCheck.cs b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDbCompatibilityCheck.cs
index f50e6a84..11118cec 100644
--- a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDbCompatibilityCheck.cs
+++ b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDbCompatibilityCheck.cs
@@ -18,7 +18,7 @@ namespace Jellyfin.Server.Migrations.Routines;
///
/// The migration routine for checking if the current instance of Jellyfin is compatiable to be upgraded.
///
-[JellyfinMigration("2025-04-20T19:30:00", nameof(MigrateLibraryDbCompatibilityCheck))]
+[JellyfinMigration("2025-04-20T19:30:00", nameof(MigrateLibraryDbCompatibilityCheck), RequiresSqlite = true)]
public class MigrateLibraryDbCompatibilityCheck : IAsyncMigrationRoutine
{
private const string DbFilename = "library.db";
diff --git a/Jellyfin.Server/Migrations/Routines/MigrateLibraryUserData.cs b/Jellyfin.Server/Migrations/Routines/MigrateLibraryUserData.cs
index 5e5988de..3996ca03 100644
--- a/Jellyfin.Server/Migrations/Routines/MigrateLibraryUserData.cs
+++ b/Jellyfin.Server/Migrations/Routines/MigrateLibraryUserData.cs
@@ -22,7 +22,7 @@ using Microsoft.Extensions.Logging;
namespace Jellyfin.Server.Migrations.Routines;
-[JellyfinMigration("2025-06-18T01:00:00", nameof(MigrateLibraryUserData))]
+[JellyfinMigration("2025-06-18T01:00:00", nameof(MigrateLibraryUserData), RequiresSqlite = true)]
[JellyfinMigrationBackup(JellyfinDb = true)]
internal class MigrateLibraryUserData : IAsyncMigrationRoutine
{
diff --git a/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs
index bb847af2..9d263f31 100644
--- a/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs
+++ b/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs
@@ -27,7 +27,7 @@ using JsonSerializer = System.Text.Json.JsonSerializer;
/// The migration routine for migrating the user database to EF Core.
///
#pragma warning disable CS0618 // Type or member is obsolete
-[JellyfinMigration("2025-04-20T10:00:00", nameof(MigrateUserDb), "5C4B82A2-F053-4009-BD05-B6FCAD82F14C")]
+[JellyfinMigration("2025-04-20T10:00:00", nameof(MigrateUserDb), "5C4B82A2-F053-4009-BD05-B6FCAD82F14C", RequiresSqlite = true)]
public class MigrateUserDb : IMigrationRoutine
#pragma warning restore CS0618 // Type or member is obsolete
{
diff --git a/Jellyfin.Server/Migrations/Routines/RemoveDuplicateExtras.cs b/Jellyfin.Server/Migrations/Routines/RemoveDuplicateExtras.cs
index 398b371e..1080bbd2 100644
--- a/Jellyfin.Server/Migrations/Routines/RemoveDuplicateExtras.cs
+++ b/Jellyfin.Server/Migrations/Routines/RemoveDuplicateExtras.cs
@@ -17,7 +17,7 @@ using Microsoft.Extensions.Logging;
/// Remove duplicate entries which were caused by a bug where a file was considered to be an "Extra" to itself.
///
#pragma warning disable CS0618 // Type or member is obsolete
-[JellyfinMigration("2025-04-20T08:00:00", nameof(RemoveDuplicateExtras), "ACBE17B7-8435-4A83-8B64-6FCF162CB9BD")]
+[JellyfinMigration("2025-04-20T08:00:00", nameof(RemoveDuplicateExtras), "ACBE17B7-8435-4A83-8B64-6FCF162CB9BD", RequiresSqlite = true)]
internal class RemoveDuplicateExtras : IMigrationRoutine
#pragma warning restore CS0618 // Type or member is obsolete
{
@@ -36,6 +36,14 @@ internal class RemoveDuplicateExtras : IMigrationRoutine
{
var dataPath = _paths.DataPath;
var dbPath = Path.Combine(dataPath, DbFilename);
+
+ // Skip this migration if using PostgreSQL or if library.db doesn't exist
+ if (!File.Exists(dbPath))
+ {
+ _logger.LogInformation("SQLite library.db not found, skipping SQLite-specific migration.");
+ return;
+ }
+
using var connection = new SqliteConnection($"Filename={dbPath}");
connection.Open();
using (var transaction = connection.BeginTransaction())
diff --git a/Jellyfin.Server/Migrations/Routines/ReseedFolderFlag.cs b/Jellyfin.Server/Migrations/Routines/ReseedFolderFlag.cs
index ed606075..46a16ce0 100644
--- a/Jellyfin.Server/Migrations/Routines/ReseedFolderFlag.cs
+++ b/Jellyfin.Server/Migrations/Routines/ReseedFolderFlag.cs
@@ -17,7 +17,7 @@ using Microsoft.Extensions.Logging;
namespace Jellyfin.Server.Migrations.Routines;
-[JellyfinMigration("2025-07-30T21:50:00", nameof(ReseedFolderFlag))]
+[JellyfinMigration("2025-07-30T21:50:00", nameof(ReseedFolderFlag), RequiresSqlite = true)]
[JellyfinMigrationBackup(JellyfinDb = true)]
internal class ReseedFolderFlag : IAsyncMigrationRoutine
{
diff --git a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.dgspec.json b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.dgspec.json
index 411ce350..7c642616 100644
--- a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.dgspec.json
+++ b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -478,6 +510,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -503,6 +538,38 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TagLibSharp": {
"target": "Package",
"version": "[2.3.0, )",
@@ -952,6 +1019,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -1002,6 +1072,13 @@
"version": "[0.2.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Data.Sqlite": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -1027,6 +1104,24 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net.DotNetRuntime": {
"target": "Package",
"version": "[4.4.1, )",
@@ -1449,6 +1544,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
@@ -1479,6 +1577,13 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -1489,11 +1594,36 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[7.3.2, )",
@@ -1915,6 +2045,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -1942,10 +2075,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2367,6 +2537,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2405,10 +2578,47 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Relational": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2827,6 +3037,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2874,6 +3087,25 @@
"version": "[2.9.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -2924,6 +3156,24 @@
"version": "[3.1.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net": {
"target": "Package",
"version": "[8.2.1, )",
@@ -3491,6 +3741,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3515,6 +3768,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4078,6 +4370,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -4110,15 +4405,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4536,6 +4863,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -4560,6 +4890,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4978,6 +5347,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -5013,16 +5385,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
@@ -5447,6 +5851,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -5474,17 +5881,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -6046,6 +6485,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -6076,6 +6518,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -6091,6 +6540,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -6111,6 +6567,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
@@ -6537,6 +7011,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -6561,6 +7038,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -6994,6 +7510,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -7005,6 +7528,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -7016,6 +7546,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7148,7 +7696,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -7172,6 +7724,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -7195,6 +7761,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7610,6 +8194,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -7637,6 +8224,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -7665,6 +8266,24 @@
"target": "Package",
"version": "[11.0.0-preview.1, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -8080,6 +8699,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -8107,6 +8729,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -8130,6 +8766,24 @@
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -8550,6 +9204,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -8593,11 +9250,31 @@
"version": "[8.3.1.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
"SkiaSharp": {
"target": "Package",
"version": "[3.116.1, 3.116.1]",
@@ -8613,6 +9290,18 @@
"version": "[3.116.1, 3.116.1]",
"versionCentrallyManaged": true
},
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Svg.Skia": {
"target": "Package",
"version": "[3.4.1, )",
@@ -9037,6 +9726,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -9067,10 +9759,42 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -9482,7 +10206,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -9519,10 +10247,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -9943,6 +10703,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -9973,6 +10736,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -9982,6 +10752,31 @@
"target": "Package",
"version": "[10.8.0, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -11366,6 +12161,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -11390,6 +12188,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
diff --git a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.props b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.props
index b0a11e53..ef668030 100644
--- a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.props
+++ b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.props
@@ -15,8 +15,14 @@
+
C:\Users\wjones\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
\ No newline at end of file
diff --git a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.targets b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.targets
index d678fb5c..5a84dd95 100644
--- a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.targets
+++ b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.targets
@@ -2,5 +2,6 @@
+
\ No newline at end of file
diff --git a/Jellyfin.Server/obj/project.assets.json b/Jellyfin.Server/obj/project.assets.json
index 95ca8a51..a6521394 100644
--- a/Jellyfin.Server/obj/project.assets.json
+++ b/Jellyfin.Server/obj/project.assets.json
@@ -315,6 +315,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"Ignore/0.2.1": {
"type": "package",
"compile": {
@@ -451,6 +454,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.Data.Sqlite/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -1109,6 +1119,9 @@
"lib/net7.0/Serilog.Sinks.Graylog.dll": {}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
"ShimSkiaSharp/3.4.1": {
"type": "package",
"compile": {
@@ -1231,6 +1244,9 @@
}
}
},
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"SourceGear.sqlite3/3.50.4.2": {
"type": "package",
"compile": {
@@ -1418,6 +1434,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Svg.Custom/3.4.1": {
"type": "package",
"dependencies": {
@@ -1644,6 +1669,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"TagLibSharp": "2.3.0"
@@ -1665,6 +1691,7 @@
"Emby.Photos": "1.0.0",
"Ignore": "0.2.1",
"Jellyfin.Api": "1.0.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
@@ -1691,6 +1718,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.MediaEncoding.Hls": "1.0.0",
"Jellyfin.Networking": "1.0.0",
@@ -1723,7 +1751,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1740,6 +1770,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -1757,7 +1788,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Database.Implementations": "10.11.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Data.dll": {}
@@ -1770,6 +1803,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1784,6 +1818,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
@@ -1801,6 +1836,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
@@ -1818,6 +1854,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -1837,6 +1874,7 @@
"BlurHashSharp": "1.4.0-pre.1",
"BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
"HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -1859,6 +1897,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1873,6 +1912,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -1923,6 +1963,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1941,8 +1982,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1955,6 +1998,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0"
},
@@ -1970,12 +2014,14 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Database.Providers.Postgres": "1.0.0",
"Jellyfin.Database.Providers.Sqlite": "1.0.0",
"Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1989,8 +2035,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.LocalMetadata.dll": {}
@@ -2005,6 +2053,7 @@
"dependencies": {
"AsyncKeyedLock": "8.0.2",
"BDInfo": "0.8.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -2024,6 +2073,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"Jellyfin.Sdk": "2025.10.21",
@@ -2045,8 +2095,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.XbmcMetadata.dll": {}
@@ -2475,6 +2527,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Ignore/0.2.1": {
"sha512": "Qw3s0pTwK3o6Iv6kTMjmxzOt91pczU533OmtAvFRsJ7PdCVMhGCRyUkMsCOI7ejxOtHJdRsj141HeZWeedlqkQ==",
"type": "package",
@@ -2637,6 +2704,74 @@
"package-icon.png"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.Data.Sqlite/11.0.0-preview.1.26104.118": {
"sha512": "Cf3KD0fmQWE5YjiaP2x9HDd7hsUleXq3mpSQMBxO8B62vLyG2j13Xhg/t++wmjKC6kp7G6N0OIxvKb2FqLyeFQ==",
"type": "package",
@@ -3754,6 +3889,21 @@
"serilog.sinks.graylog.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"ShimSkiaSharp/3.4.1": {
"sha512": "ab3J5OGdwYLyXnom90OghS9NyRPH9dtsRtW5B3mL+F43YTlxido3nUtiR9NjB/sI3jvG/J744C29bsSBQ28AfQ==",
"type": "package",
@@ -3925,6 +4075,21 @@
"skiasharp.nativeassets.win32.nuspec"
]
},
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"SourceGear.sqlite3/3.50.4.2": {
"sha512": "eV9HwQ88WyoU+reGVxJz1SwME9NbYnl9h2LOY15j0LGdXN4JkTJDk8JRRg/yNgt00O3Cn5/qnska10FEZNoU5g==",
"type": "package",
@@ -4049,6 +4214,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Svg.Custom/3.4.1": {
"sha512": "ksHa7Zv8X1InxSWAeM0sSSvZM2W6FWgneXjU0bdYrQ20Q6q0nl3g0uaSWe53i/CC1OmR+/JAxsp8E3/wigtcng==",
"type": "package",
@@ -4478,13 +4682,17 @@
"net11.0": [
"CommandLineParser >= 2.9.1",
"Emby.Server.Implementations >= 1.0.0",
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Database.Implementations >= 10.11.0",
"Jellyfin.Database.Providers.Postgres >= 1.0.0",
"Jellyfin.Drawing >= 1.0.0",
"Jellyfin.Drawing.Skia >= 1.0.0",
"Jellyfin.LiveTv >= 1.0.0",
"Jellyfin.MediaEncoding.Hls >= 1.0.0",
+ "Jellyfin.Sdk >= 2025.10.21",
"Jellyfin.Server.Implementations >= 1.0.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore >= 11.0.0-preview.1.26104.118",
"Morestachio >= 5.0.1.631",
"Serilog.AspNetCore >= 10.0.0",
@@ -4495,6 +4703,9 @@
"Serilog.Sinks.Console >= 6.1.1",
"Serilog.Sinks.File >= 7.0.0",
"Serilog.Sinks.Graylog >= 3.1.1",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556",
"prometheus-net >= 8.2.1",
"prometheus-net.AspNetCore >= 8.2.1"
]
@@ -4539,6 +4750,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -4586,6 +4800,25 @@
"version": "[2.9.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -4636,6 +4869,24 @@
"version": "[3.1.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net": {
"target": "Package",
"version": "[8.2.1, )",
diff --git a/Jellyfin.Server/obj/project.nuget.cache b/Jellyfin.Server/obj/project.nuget.cache
index e3d7f781..9e7ac7f0 100644
--- a/Jellyfin.Server/obj/project.nuget.cache
+++ b/Jellyfin.Server/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "01XaPNthLPs=",
+ "dgSpecHash": "t6WzRXE+TSE=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj",
"expectedPackageFiles": [
@@ -23,6 +23,7 @@
"C:\\Users\\wjones\\.nuget\\packages\\harfbuzzsharp.nativeassets.win32\\8.3.0.1\\harfbuzzsharp.nativeassets.win32.8.3.0.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\ignore\\0.2.1\\ignore.0.2.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
@@ -32,6 +33,7 @@
"C:\\Users\\wjones\\.nuget\\packages\\metabrainz.common\\4.1.1\\metabrainz.common.4.1.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\metabrainz.common.json\\7.2.0\\metabrainz.common.json.7.2.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\metabrainz.musicbrainz\\8.0.1\\metabrainz.musicbrainz.8.0.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite.core\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.core.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -75,18 +77,22 @@
"C:\\Users\\wjones\\.nuget\\packages\\serilog.sinks.debug\\3.0.0\\serilog.sinks.debug.3.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\serilog.sinks.file\\7.0.0\\serilog.sinks.file.7.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\serilog.sinks.graylog\\3.1.1\\serilog.sinks.graylog.3.1.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\shimskiasharp\\3.4.1\\shimskiasharp.3.4.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp\\3.116.1\\skiasharp.3.116.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp.harfbuzz\\3.116.1\\skiasharp.harfbuzz.3.116.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.linux\\3.116.1\\skiasharp.nativeassets.linux.3.116.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.macos\\3.116.1\\skiasharp.nativeassets.macos.3.116.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.win32\\3.116.1\\skiasharp.nativeassets.win32.3.116.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sourcegear.sqlite3\\3.50.4.2\\sourcegear.sqlite3.3.50.4.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\3.0.2\\sqlitepclraw.bundle_e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.config.e_sqlite3\\3.0.2\\sqlitepclraw.config.e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.core\\3.0.2\\sqlitepclraw.core.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\3.0.2\\sqlitepclraw.provider.e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\svg.custom\\3.4.1\\svg.custom.3.4.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\svg.model\\3.4.1\\svg.model.3.4.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\svg.skia\\3.4.1\\svg.skia.3.4.1.nupkg.sha512",
diff --git a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.dgspec.json b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.dgspec.json
index 72219970..e71d2654 100644
--- a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.dgspec.json
+++ b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.dgspec.json
@@ -34,6 +34,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -61,10 +64,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -479,6 +519,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -503,6 +546,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1060,6 +1142,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1087,17 +1172,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1624,6 +1741,216 @@
}
}
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"version": "10.11.0",
"restore": {
@@ -1653,7 +1980,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -1677,6 +2008,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -1700,6 +2045,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2111,7 +2474,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2148,10 +2515,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.props b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.props
+++ b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.targets b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.targets
index 3dc06ef3..d513a57a 100644
--- a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.targets
+++ b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.targets
@@ -1,2 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/MediaBrowser.Common/obj/project.assets.json b/MediaBrowser.Common/obj/project.assets.json
index 7ea6f1f9..1d6653ae 100644
--- a/MediaBrowser.Common/obj/project.assets.json
+++ b/MediaBrowser.Common/obj/project.assets.json
@@ -47,6 +47,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -81,6 +84,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -258,6 +268,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -267,11 +283,35 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
+ },
"Jellyfin.Data/10.12.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Database.Implementations": "10.11.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Data.dll": {}
@@ -284,6 +324,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -300,6 +341,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -313,6 +355,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -396,6 +439,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -443,6 +501,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -694,6 +820,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -708,6 +864,50 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
+ },
"Jellyfin.Data/10.12.0": {
"type": "project",
"path": "../Jellyfin.Data/Jellyfin.Data.csproj",
@@ -731,7 +931,14 @@
},
"projectFileDependencyGroups": {
"net11.0": [
- "Jellyfin.Model >= 10.12.0"
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
+ "Jellyfin.Model >= 10.12.0",
+ "Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -770,6 +977,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -794,6 +1004,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
diff --git a/MediaBrowser.Common/obj/project.nuget.cache b/MediaBrowser.Common/obj/project.nuget.cache
index 04c56074..a1d2a890 100644
--- a/MediaBrowser.Common/obj/project.nuget.cache
+++ b/MediaBrowser.Common/obj/project.nuget.cache
@@ -1,14 +1,16 @@
{
"version": 2,
- "dgSpecHash": "SyyOF/vUOXI=",
+ "dgSpecHash": "JKxQaRKDB/g=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj",
"expectedPackageFiles": [
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -21,7 +23,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.dgspec.json b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.dgspec.json
index a7f63c9b..3d3434f2 100644
--- a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.dgspec.json
+++ b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3190,7 +3442,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3227,10 +3483,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.props b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.props
+++ b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.targets b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.targets
index 693275db..fee5dc52 100644
--- a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.targets
+++ b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/MediaBrowser.Controller/obj/project.assets.json b/MediaBrowser.Controller/obj/project.assets.json
index 81fab8ef..4750d705 100644
--- a/MediaBrowser.Controller/obj/project.assets.json
+++ b/MediaBrowser.Controller/obj/project.assets.json
@@ -61,6 +61,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -95,6 +98,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -502,6 +512,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -511,6 +527,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.0",
@@ -528,7 +553,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -544,7 +571,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -558,6 +587,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -574,6 +604,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -602,6 +633,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -620,8 +652,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -718,6 +752,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -765,6 +814,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1406,6 +1523,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1420,6 +1567,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
@@ -1464,12 +1650,18 @@
"projectFileDependencyGroups": {
"net11.0": [
"BitFaster.Caching >= 2.5.4",
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
"Jellyfin.MediaEncoding.Keyframes >= 10.11.0",
"Jellyfin.Model >= 10.12.0",
"Jellyfin.Naming >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
- "Microsoft.Extensions.Configuration.Binder >= 11.0.0-preview.1.26104.118"
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "Microsoft.Extensions.Configuration.Binder >= 11.0.0-preview.1.26104.118",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -1515,6 +1707,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1547,15 +1742,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/MediaBrowser.Controller/obj/project.nuget.cache b/MediaBrowser.Controller/obj/project.nuget.cache
index 3f602b00..a8132c41 100644
--- a/MediaBrowser.Controller/obj/project.nuget.cache
+++ b/MediaBrowser.Controller/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "iRASh6VPJ/s=",
+ "dgSpecHash": "No+LvUzpMog=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj",
"expectedPackageFiles": [
@@ -8,8 +8,10 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -34,7 +36,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.dgspec.json b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.dgspec.json
index e68d7b94..7ffa0947 100644
--- a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.dgspec.json
+++ b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1963,6 +2112,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1987,6 +2139,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -2400,6 +2591,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -2427,17 +2621,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3017,6 +3243,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3028,6 +3261,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3039,6 +3279,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3171,7 +3429,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3195,6 +3457,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3218,6 +3494,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3629,7 +3923,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3666,10 +3964,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.props b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.props
+++ b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.targets b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.targets
index 693275db..fee5dc52 100644
--- a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.targets
+++ b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/MediaBrowser.LocalMetadata/obj/project.assets.json b/MediaBrowser.LocalMetadata/obj/project.assets.json
index c820a211..9cc69b11 100644
--- a/MediaBrowser.LocalMetadata/obj/project.assets.json
+++ b/MediaBrowser.LocalMetadata/obj/project.assets.json
@@ -61,6 +61,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -95,6 +98,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -502,6 +512,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -511,6 +527,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.0",
@@ -528,7 +553,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -545,6 +572,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -563,7 +591,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -577,6 +607,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -593,6 +624,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -621,6 +653,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -639,8 +672,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -737,6 +772,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -784,6 +834,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1425,6 +1543,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1439,6 +1587,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
@@ -1487,8 +1674,15 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Controller >= 10.12.0",
- "Jellyfin.Model >= 10.12.0"
+ "Jellyfin.Model >= 10.12.0",
+ "Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -1530,6 +1724,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1554,6 +1751,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
diff --git a/MediaBrowser.LocalMetadata/obj/project.nuget.cache b/MediaBrowser.LocalMetadata/obj/project.nuget.cache
index 9fe339fa..090e8528 100644
--- a/MediaBrowser.LocalMetadata/obj/project.nuget.cache
+++ b/MediaBrowser.LocalMetadata/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "4gGyFOFT00w=",
+ "dgSpecHash": "MUG8U7vEPzE=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.LocalMetadata\\MediaBrowser.LocalMetadata.csproj",
"expectedPackageFiles": [
@@ -8,8 +8,10 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -34,7 +36,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.dgspec.json b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.dgspec.json
index fe6aa04a..72a4b5bb 100644
--- a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.dgspec.json
+++ b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1966,6 +2115,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2001,16 +2153,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
@@ -2435,6 +2619,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -2462,17 +2649,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3052,6 +3271,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3063,6 +3289,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3074,6 +3307,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3206,7 +3457,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3230,6 +3485,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3253,6 +3522,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3664,7 +3951,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3701,10 +3992,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.props b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.props
index 6a808036..e4b0e878 100644
--- a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.props
+++ b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.props
@@ -25,5 +25,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.targets b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.targets
index b54b8aa0..81dfa627 100644
--- a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.targets
+++ b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/MediaBrowser.MediaEncoding/obj/project.assets.json b/MediaBrowser.MediaEncoding/obj/project.assets.json
index aee9c1a5..e5df65e9 100644
--- a/MediaBrowser.MediaEncoding/obj/project.assets.json
+++ b/MediaBrowser.MediaEncoding/obj/project.assets.json
@@ -83,6 +83,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -138,6 +141,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -655,6 +665,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -664,6 +680,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"System.Drawing.Common/9.0.2": {
"type": "package",
"dependencies": {
@@ -728,7 +753,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -745,6 +772,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -763,7 +791,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -777,6 +807,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -793,6 +824,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -821,6 +853,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -839,8 +872,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -977,6 +1012,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -1043,6 +1093,74 @@
"libse.nuspec"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1822,6 +1940,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1836,6 +1984,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"System.Drawing.Common/9.0.2": {
"sha512": "JU947wzf8JbBS16Y5EIZzAlyQU+k68D7LRx6y03s2wlhlvLqkt/8uPBrjv2hJnnaJKbdb0GhQ3JZsfYXhrRjyg==",
"type": "package",
@@ -1960,11 +2147,17 @@
"net11.0": [
"AsyncKeyedLock >= 8.0.2",
"BDInfo >= 0.8.0",
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.Model >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
"Microsoft.Extensions.Http >= 11.0.0-preview.1.26104.118",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556",
"UTF.Unknown >= 2.6.0",
"libse >= 4.0.12"
]
@@ -2011,6 +2204,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2046,16 +2242,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
diff --git a/MediaBrowser.MediaEncoding/obj/project.nuget.cache b/MediaBrowser.MediaEncoding/obj/project.nuget.cache
index f4df07d3..7d158cd5 100644
--- a/MediaBrowser.MediaEncoding/obj/project.nuget.cache
+++ b/MediaBrowser.MediaEncoding/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "C5WK5fbzlhs=",
+ "dgSpecHash": "GTQOs1iNxFU=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj",
"expectedPackageFiles": [
@@ -10,9 +10,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\libse\\4.0.12\\libse.4.0.12.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -42,7 +44,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.drawing.common\\9.0.2\\system.drawing.common.9.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\utf.unknown\\2.6.0\\utf.unknown.2.6.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\zlib.net-mutliplatform\\1.0.8\\zlib.net-mutliplatform.1.0.8.nupkg.sha512"
diff --git a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.dgspec.json b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.dgspec.json
index 79ea4993..9a5e1b61 100644
--- a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.dgspec.json
+++ b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.dgspec.json
@@ -34,6 +34,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -61,10 +64,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -480,6 +520,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -507,17 +550,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1044,6 +1119,216 @@
}
}
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"version": "10.11.0",
"restore": {
@@ -1073,7 +1358,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -1097,6 +1386,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -1120,6 +1423,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1531,7 +1852,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -1568,10 +1893,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.props b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.props
+++ b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.targets b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.targets
index 3dc06ef3..d513a57a 100644
--- a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.targets
+++ b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.targets
@@ -1,2 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/MediaBrowser.Model/obj/project.assets.json b/MediaBrowser.Model/obj/project.assets.json
index def154ea..621507d4 100644
--- a/MediaBrowser.Model/obj/project.assets.json
+++ b/MediaBrowser.Model/obj/project.assets.json
@@ -47,6 +47,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -81,6 +84,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -269,6 +279,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -278,11 +294,35 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
+ },
"Jellyfin.Data/10.12.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Database.Implementations": "10.11.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Data.dll": {}
@@ -295,6 +335,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -311,6 +352,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -389,6 +431,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -436,6 +493,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -705,6 +830,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -719,6 +874,50 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
+ },
"Jellyfin.Data/10.12.0": {
"type": "project",
"path": "../Jellyfin.Data/Jellyfin.Data.csproj",
@@ -737,10 +936,16 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Data >= 10.12.0",
"Jellyfin.Extensions >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
- "MimeTypes >= 2.5.2"
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "MimeTypes >= 2.5.2",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -780,6 +985,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -807,17 +1015,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/MediaBrowser.Model/obj/project.nuget.cache b/MediaBrowser.Model/obj/project.nuget.cache
index 0669a67f..1ad0211a 100644
--- a/MediaBrowser.Model/obj/project.nuget.cache
+++ b/MediaBrowser.Model/obj/project.nuget.cache
@@ -1,14 +1,16 @@
{
"version": 2,
- "dgSpecHash": "hr9ep8Sm1B8=",
+ "dgSpecHash": "xzRZKMjouOE=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj",
"expectedPackageFiles": [
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -22,7 +24,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\mimetypes\\2.5.2\\mimetypes.2.5.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.dgspec.json b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.dgspec.json
index 9ad2c7df..98cec57d 100644
--- a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.dgspec.json
+++ b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2560,6 +2744,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2590,6 +2777,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2605,6 +2799,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -2625,6 +2826,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
@@ -3069,6 +3288,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3080,6 +3306,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3091,6 +3324,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3223,7 +3474,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3247,6 +3502,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3270,6 +3539,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3681,7 +3968,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3718,10 +4009,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.props b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.props
+++ b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.targets b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.targets
index b54b8aa0..81dfa627 100644
--- a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.targets
+++ b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/MediaBrowser.Providers/obj/project.assets.json b/MediaBrowser.Providers/obj/project.assets.json
index 42a5629c..29a3bc2c 100644
--- a/MediaBrowser.Providers/obj/project.assets.json
+++ b/MediaBrowser.Providers/obj/project.assets.json
@@ -74,6 +74,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -167,6 +170,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -684,6 +694,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -693,6 +709,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"TMDbLib/2.3.0": {
"type": "package",
"dependencies": {
@@ -751,7 +776,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -768,6 +795,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -786,7 +814,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -800,6 +830,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -816,6 +847,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -844,6 +876,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -862,8 +895,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -987,6 +1022,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -1102,6 +1152,74 @@
"package-icon.png"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1896,6 +2014,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1910,6 +2058,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"TMDbLib/2.3.0": {
"sha512": "kapjC4/ao8mxJ/G5xcZHYNVFvmAzxwWEN2PDkGbbUzAQVfbf85DsA9AUDTrXahTHYq0R7jwGyARs/y6243EPLg==",
"type": "package",
@@ -2009,15 +2196,21 @@
"projectFileDependencyGroups": {
"net11.0": [
"AsyncKeyedLock >= 8.0.2",
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.Model >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
"LrcParser >= 2025.623.0",
"MetaBrainz.MusicBrainz >= 8.0.1",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
"Microsoft.Extensions.Caching.Abstractions >= 11.0.0-preview.1.26104.118",
"Microsoft.Extensions.Http >= 11.0.0-preview.1.26104.118",
"Newtonsoft.Json >= 13.0.4",
"PlaylistsNET >= 1.4.1",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556",
"TMDbLib >= 2.3.0",
"z440.atl.core >= 7.11.0"
]
@@ -2061,6 +2254,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2091,6 +2287,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2106,6 +2309,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -2126,6 +2336,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
diff --git a/MediaBrowser.Providers/obj/project.nuget.cache b/MediaBrowser.Providers/obj/project.nuget.cache
index d4bf7063..b799ccd6 100644
--- a/MediaBrowser.Providers/obj/project.nuget.cache
+++ b/MediaBrowser.Providers/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "s/np/KUi9KA=",
+ "dgSpecHash": "O+ANw3v7loA=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj",
"expectedPackageFiles": [
@@ -9,12 +9,14 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\lrcparser\\2025.623.0\\lrcparser.2025.623.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\metabrainz.common\\4.1.1\\metabrainz.common.4.1.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\metabrainz.common.json\\7.2.0\\metabrainz.common.json.7.2.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\metabrainz.musicbrainz\\8.0.1\\metabrainz.musicbrainz.8.0.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -45,7 +47,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\playlistsnet\\1.4.1\\playlistsnet.1.4.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\tmdblib\\2.3.0\\tmdblib.2.3.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\ude.netstandard\\1.2.0\\ude.netstandard.1.2.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\z440.atl.core\\7.11.0\\z440.atl.core.7.11.0.nupkg.sha512"
diff --git a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.dgspec.json b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.dgspec.json
index 5520f440..2c8d90bd 100644
--- a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.dgspec.json
+++ b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2560,6 +2744,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2584,6 +2771,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -3017,6 +3243,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3028,6 +3261,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3039,6 +3279,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3171,7 +3429,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3195,6 +3457,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3218,6 +3494,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3629,7 +3923,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3666,10 +3964,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.props b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.props
+++ b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.targets b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.targets
index 693275db..fee5dc52 100644
--- a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.targets
+++ b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/MediaBrowser.XbmcMetadata/obj/project.assets.json b/MediaBrowser.XbmcMetadata/obj/project.assets.json
index e0f0389c..a19cb2d9 100644
--- a/MediaBrowser.XbmcMetadata/obj/project.assets.json
+++ b/MediaBrowser.XbmcMetadata/obj/project.assets.json
@@ -61,6 +61,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -95,6 +98,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -502,6 +512,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -511,6 +527,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.0",
@@ -528,7 +553,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -545,6 +572,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -563,7 +591,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -577,6 +607,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -593,6 +624,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -621,6 +653,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -639,8 +672,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -737,6 +772,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -784,6 +834,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1425,6 +1543,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1439,6 +1587,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
@@ -1487,8 +1674,15 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Controller >= 10.12.0",
- "Jellyfin.Model >= 10.12.0"
+ "Jellyfin.Model >= 10.12.0",
+ "Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -1530,6 +1724,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1554,6 +1751,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
diff --git a/MediaBrowser.XbmcMetadata/obj/project.nuget.cache b/MediaBrowser.XbmcMetadata/obj/project.nuget.cache
index 98138c92..832e5504 100644
--- a/MediaBrowser.XbmcMetadata/obj/project.nuget.cache
+++ b/MediaBrowser.XbmcMetadata/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "0jKnFheQd6Y=",
+ "dgSpecHash": "rQazb3gGG1E=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj",
"expectedPackageFiles": [
@@ -8,8 +8,10 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -34,7 +36,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/docs/SQLITE_MIGRATION_FILTERING_FIX.md b/docs/SQLITE_MIGRATION_FILTERING_FIX.md
new file mode 100644
index 00000000..b6f54bf5
--- /dev/null
+++ b/docs/SQLITE_MIGRATION_FILTERING_FIX.md
@@ -0,0 +1,210 @@
+# SQLite-Specific Migration Filtering - Fix Summary
+
+## Problem
+
+When starting Jellyfin with PostgreSQL, the application was crashing with:
+```
+SQLite Error 1: 'no such table: TypedBaseItems'
+```
+
+**Root Cause:** Legacy migrations designed to migrate data from old SQLite database files (`library.db`, `users.db`, etc.) were trying to run when using PostgreSQL.
+
+## Solution
+
+### 1. Added `RequiresSqlite` Property to `JellyfinMigrationAttribute`
+
+**File:** `Jellyfin.Server\Migrations\JellyfinMigrationAttribute.cs`
+
+```csharp
+///
+/// Gets or Sets a value indicating whether the migration requires SQLite (legacy library.db).
+/// If true, the migration will be skipped when using non-SQLite database providers.
+///
+public bool RequiresSqlite { get; set; }
+```
+
+### 2. Updated Migration Service to Filter SQLite-Specific Migrations
+
+**File:** `Jellyfin.Server\Migrations\JellyfinMigrationService.cs`
+
+Added logic to skip SQLite-specific migrations when using PostgreSQL:
+
+```csharp
+// Filter out SQLite-specific migrations when using non-SQLite providers
+bool isSqliteProvider = _jellyfinDatabaseProvider is Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider;
+if (!isSqliteProvider)
+{
+ var sqliteSpecificMigrations = migrationStage.Where(m => m.Metadata.RequiresSqlite).ToList();
+ if (sqliteSpecificMigrations.Any())
+ {
+ logger.LogInformation("Skipping {Count} SQLite-specific migrations because current provider is not SQLite", sqliteSpecificMigrations.Count);
+ migrationStage = migrationStage.Where(m => !m.Metadata.RequiresSqlite).ToList();
+ }
+}
+```
+
+### 3. Marked SQLite-Specific Migrations
+
+Updated the following migrations with `RequiresSqlite = true`:
+
+| Migration | Purpose | Why SQLite-Specific |
+|-----------|---------|-------------------|
+| **MigrateActivityLogDb** | Migrate from `activitylog.db` | Reads old SQLite file |
+| **MigrateAuthenticationDb** | Migrate from `authentication.db` | Reads old SQLite file |
+| **MigrateDisplayPreferencesDb** | Migrate from `displaypreferences.db` | Reads old SQLite file |
+| **MigrateLibraryDb** | Migrate from `library.db` | Reads old SQLite file with `TypedBaseItems` table |
+| **MigrateLibraryDbCompatibilityCheck** | Check `library.db` compatibility | Accesses SQLite file |
+| **MigrateLibraryUserData** | Migrate user data from old `library.db` | Reads old SQLite file |
+| **MigrateUserDb** | Migrate from `users.db` | Reads old SQLite file |
+| **RemoveDuplicateExtras** | Clean up duplicates in `library.db` | Queries `TypedBaseItems` SQLite table |
+| **ReseedFolderFlag** | Fix folder flags in old `library.db` | Reads old SQLite file |
+
+### 4. Added Safety Check in RemoveDuplicateExtras
+
+Added explicit file existence check as additional safety:
+
+```csharp
+// Skip this migration if using PostgreSQL or if library.db doesn't exist
+if (!File.Exists(dbPath))
+{
+ _logger.LogInformation("SQLite library.db not found, skipping SQLite-specific migration.");
+ return;
+}
+```
+
+## What These Migrations Do
+
+These migrations are **data migration routines** that:
+- Read data from old SQLite database files (`.db` files)
+- Transform/clean the data
+- Write it to the new EF Core database
+
+**They are only relevant when:**
+- Upgrading from an older Jellyfin version that used separate SQLite files
+- The old `.db` files exist in the data directory
+
+**They should NOT run when:**
+- Starting fresh with PostgreSQL (no old SQLite files to migrate)
+- Using PostgreSQL (incompatible with SQLite-specific code)
+
+## Expected Behavior
+
+### With SQLite Provider
+
+```
+[INFO] There are 15 migrations for stage CoreInitialisation
+[INFO] Perform migration 20250420070000_MigrateActivityLogDb
+[INFO] Migrating data from activitylog.db...
+[INFO] Migration completed successfully
+...
+```
+
+### With PostgreSQL Provider
+
+```
+[INFO] Skipping 9 SQLite-specific migrations because current provider is not SQLite
+[INFO] There are 6 migrations for stage CoreInitialisation
+[INFO] Perform migration 20260222222702_InitialCreate
+[INFO] Migration completed successfully
+...
+```
+
+## Migration Categories
+
+### Legacy Data Migrations (SQLite-Specific) ✅ Now Skipped
+These migrate data from old `.db` files to EF Core:
+- MigrateActivityLogDb
+- MigrateAuthenticationDb
+- MigrateDisplayPreferencesDb
+- MigrateLibraryDb
+- MigrateUserDb
+- RemoveDuplicateExtras
+- ReseedFolderFlag
+- etc.
+
+### Configuration Migrations (Provider-Agnostic) ✅ Always Run
+These update configuration files:
+- AddDefaultCastReceivers
+- DisableTranscodingThrottling
+- MoveExtractedFiles
+- etc.
+
+### EF Core Schema Migrations (Provider-Specific) ✅ Always Run
+These create/update database schema:
+- 20260222222702_InitialCreate (PostgreSQL)
+- 20200514181226_AddActivityLog (SQLite)
+- etc.
+
+## Testing
+
+### Test 1: Fresh PostgreSQL Install
+
+```bash
+# No old SQLite files exist
+./jellyfin --database-type Jellyfin-PostgreSQL
+
+# Expected: 9 SQLite migrations skipped, PostgreSQL schema created
+```
+
+### Test 2: SQLite to PostgreSQL Migration
+
+⚠️ **Note:** These migrations only help with SQLite-to-SQLite EF Core migrations, not SQLite-to-PostgreSQL.
+
+For SQLite → PostgreSQL migration, users must:
+1. Export data from SQLite
+2. Configure PostgreSQL
+3. Re-scan library
+
+### Test 3: Normal SQLite Startup
+
+```bash
+# With existing library.db
+./jellyfin
+
+# Expected: All migrations run normally (including data migrations)
+```
+
+## Benefits
+
+### ✅ For PostgreSQL Users
+- No more "table does not exist" errors
+- Clean startup without irrelevant migrations
+- Faster startup (fewer migrations to check)
+- Clear logs showing what's skipped
+
+### ✅ For SQLite Users
+- No impact - migrations run normally
+- Data migration from old files still works
+- Backward compatible
+
+### ✅ For Developers
+- Clear separation between provider-specific logic
+- Easy to add future provider-specific migrations
+- Self-documenting code (attribute clearly shows intent)
+
+## Files Modified
+
+**Core Migration System:**
+- ✅ `JellyfinMigrationAttribute.cs` - Added `RequiresSqlite` property
+- ✅ `JellyfinMigrationService.cs` - Added filtering logic
+
+**Migration Routines Marked:**
+- ✅ `MigrateActivityLogDb.cs`
+- ✅ `MigrateAuthenticationDb.cs`
+- ✅ `MigrateDisplayPreferencesDb.cs`
+- ✅ `MigrateLibraryDb.cs`
+- ✅ `MigrateLibraryDbCompatibilityCheck.cs`
+- ✅ `MigrateLibraryUserData.cs`
+- ✅ `MigrateUserDb.cs`
+- ✅ `RemoveDuplicateExtras.cs`
+- ✅ `ReseedFolderFlag.cs`
+
+## Summary
+
+**Problem:** PostgreSQL crashing on SQLite-specific migrations
+**Solution:** Filter out SQLite migrations when using PostgreSQL
+**Status:** ✅ Fixed
+**Build:** ✅ Successful
+**Impact:** None on SQLite, fixes PostgreSQL startup
+
+Try running Jellyfin with PostgreSQL now - it should skip these 9 SQLite-specific migrations and successfully create the PostgreSQL schema! 🎉
diff --git a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll
index b8328f4f..c97a949c 100644
Binary files a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll and b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll differ
diff --git a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb
index 7c2f49bb..aab28535 100644
Binary files a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb and b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb differ
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs
index 8f76e22e..7eeb42bc 100644
--- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs
+++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Jellyfin.CodeAnalysis")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a3eb4b1b57d52c476844f5450856090d157dd64d")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8d39eb77e6f2c21547ee919c542c5f7bf520c9a5")]
[assembly: System.Reflection.AssemblyProductAttribute("Jellyfin.CodeAnalysis")]
[assembly: System.Reflection.AssemblyTitleAttribute("Jellyfin.CodeAnalysis")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache
index e09bd0de..7c5657bf 100644
--- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache
+++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache
@@ -1 +1 @@
-f7176bcf7aea11b16bb80b64a38fc257d68c9d69bf176d617c4175051a284bac
+46f31a434996f3f948113e0a45d718aef3a886077a49d1b3e5b5870d402fb364
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll
index b8328f4f..c97a949c 100644
Binary files a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll and b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll differ
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb
index 7c2f49bb..aab28535 100644
Binary files a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb and b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb differ
diff --git a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.dgspec.json b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.dgspec.json
index f7f60425..eb9ff6a3 100644
--- a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.dgspec.json
@@ -57,6 +57,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -68,6 +75,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -79,6 +93,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.props b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.props
index 57e06e48..10100b86 100644
--- a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.props
+++ b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.props
@@ -15,8 +15,14 @@
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.analyzers\3.11.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
\ No newline at end of file
diff --git a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.targets b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.targets
index 86130e83..bd09a332 100644
--- a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.targets
+++ b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/src/Jellyfin.CodeAnalysis/obj/project.assets.json b/src/Jellyfin.CodeAnalysis/obj/project.assets.json
index ab4f8104..fe4c3572 100644
--- a/src/Jellyfin.CodeAnalysis/obj/project.assets.json
+++ b/src/Jellyfin.CodeAnalysis/obj/project.assets.json
@@ -2,6 +2,9 @@
"version": 3,
"targets": {
".NETStandard,Version=v2.0": {
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"Jellyfin.Sdk/2025.10.21": {
"type": "package",
"dependencies": {
@@ -46,6 +49,13 @@
"buildTransitive/Microsoft.CodeAnalysis.Analyzers.targets": {}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.CodeAnalysis.Common/5.0.0": {
"type": "package",
"dependencies": {
@@ -301,6 +311,12 @@
"build/netstandard2.0/NETStandard.Library.targets": {}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -310,6 +326,15 @@
"lib/netstandard2.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"System.Buffers/4.6.0": {
"type": "package",
"compile": {
@@ -497,6 +522,21 @@
}
},
"libraries": {
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Jellyfin.Sdk/2025.10.21": {
"sha512": "1pG60suEiV3v77zqLd5fO9S8m8qryxj9mZYb24Me1XgSXlaCIt0SC1V1sbFKyoG70Q3n915wT4Ko4BUanorRug==",
"type": "package",
@@ -1239,6 +1279,74 @@
"tools/uninstall.ps1"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.CodeAnalysis.Common/5.0.0": {
"sha512": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==",
"type": "package",
@@ -1641,6 +1749,36 @@
"netstandard.library.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1655,6 +1793,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"System.Buffers/4.6.0": {
"sha512": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA==",
"type": "package",
@@ -1964,10 +2141,15 @@
},
"projectFileDependencyGroups": {
".NETStandard,Version=v2.0": [
+ "IDisposableAnalyzers >= 4.0.8",
"Jellyfin.Sdk >= 2025.10.21",
"Microsoft.CodeAnalysis.Analyzers >= 3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
"Microsoft.CodeAnalysis.CSharp >= 5.0.0",
- "NETStandard.Library >= 2.0.3"
+ "NETStandard.Library >= 2.0.3",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -2027,6 +2209,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2038,6 +2227,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2049,6 +2245,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache b/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache
index 273f9572..7cf6c8b2 100644
--- a/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache
+++ b/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache
@@ -1,12 +1,14 @@
{
"version": 2,
- "dgSpecHash": "kDhtP9b7ToA=",
+ "dgSpecHash": "OZOEm6CP/lY=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
"expectedPackageFiles": [
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.11.0\\microsoft.codeanalysis.analyzers.3.11.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.common\\5.0.0\\microsoft.codeanalysis.common.5.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp\\5.0.0\\microsoft.codeanalysis.csharp.5.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.abstractions\\1.20.1\\microsoft.kiota.abstractions.1.20.1.nupkg.sha512",
@@ -17,7 +19,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\netstandard.library\\2.0.3\\netstandard.library.2.0.3.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.buffers\\4.6.0\\system.buffers.4.6.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.collections.immutable\\9.0.0\\system.collections.immutable.9.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.diagnostics.diagnosticsource\\6.0.0\\system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512",
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.dgspec.json b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.dgspec.json
index 96efa409..fca497cd 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.dgspec.json
@@ -4,6 +4,216 @@
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {}
},
"projects": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"version": "10.11.0",
"restore": {
@@ -33,7 +243,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -57,6 +271,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -80,6 +308,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.props b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.props
index 3fe53b86..f8be4655 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.props
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.props
@@ -17,9 +17,15 @@
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.analyzers\3.11.0
C:\Users\wjones\.nuget\packages\microsoft.entityframeworkcore.tools\11.0.0-preview.1.26104.118
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
\ No newline at end of file
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.targets b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.targets
index 10221349..ba433888 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.targets
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.targets
@@ -5,5 +5,6 @@
+
\ No newline at end of file
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.assets.json b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.assets.json
index 5b031f4e..a6bb52b8 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.assets.json
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.assets.json
@@ -15,6 +15,30 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
+ "Jellyfin.Sdk/2025.10.21": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1",
+ "Microsoft.Kiota.Http.HttpClientLibrary": "1.20.1",
+ "Microsoft.Kiota.Serialization.Form": "1.20.1",
+ "Microsoft.Kiota.Serialization.Json": "1.20.1",
+ "Microsoft.Kiota.Serialization.Multipart": "1.20.1",
+ "Microsoft.Kiota.Serialization.Text": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Jellyfin.Sdk.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Jellyfin.Sdk.dll": {
+ "related": ".xml"
+ }
+ }
+ },
"Microsoft.Build.Framework/18.0.2": {
"type": "package",
"compile": {
@@ -35,6 +59,13 @@
"buildTransitive/Microsoft.CodeAnalysis.Analyzers.targets": {}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.CodeAnalysis.Common/5.0.0": {
"type": "package",
"dependencies": {
@@ -627,6 +658,102 @@
"buildTransitive/net10.0/_._": {}
}
},
+ "Microsoft.Kiota.Abstractions/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Std.UriTemplate": "2.0.5"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Abstractions.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Serialization.Form/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Serialization.Json/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Serialization.Multipart/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Kiota.Serialization.Text/1.20.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Kiota.Abstractions": "1.20.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll": {
+ "related": ".xml"
+ }
+ }
+ },
"Microsoft.VisualStudio.SolutionPersistence/1.0.52": {
"type": "package",
"compile": {
@@ -697,6 +824,30 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
+ "Std.UriTemplate/2.0.5": {
+ "type": "package",
+ "compile": {
+ "lib/net5.0/Std.UriTemplate.dll": {}
+ },
+ "runtime": {
+ "lib/net5.0/Std.UriTemplate.dll": {}
+ }
+ },
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"System.CodeDom/6.0.0": {
"type": "package",
"compile": {
@@ -822,6 +973,19 @@
"build": {
"buildTransitive/net8.0/_._": {}
}
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
}
}
},
@@ -847,6 +1011,40 @@
"logo.png"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Jellyfin.Sdk/2025.10.21": {
+ "sha512": "1pG60suEiV3v77zqLd5fO9S8m8qryxj9mZYb24Me1XgSXlaCIt0SC1V1sbFKyoG70Q3n915wT4Ko4BUanorRug==",
+ "type": "package",
+ "path": "jellyfin.sdk/2025.10.21",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "jellyfin.sdk.nuspec",
+ "lib/net6.0/Jellyfin.Sdk.dll",
+ "lib/net6.0/Jellyfin.Sdk.xml",
+ "lib/net8.0/Jellyfin.Sdk.dll",
+ "lib/net8.0/Jellyfin.Sdk.xml",
+ "lib/netstandard2.0/Jellyfin.Sdk.dll",
+ "lib/netstandard2.0/Jellyfin.Sdk.xml",
+ "lib/netstandard2.1/Jellyfin.Sdk.dll",
+ "lib/netstandard2.1/Jellyfin.Sdk.xml"
+ ]
+ },
"Microsoft.Build.Framework/18.0.2": {
"sha512": "sOSb+0J4G/jCBW/YqmRuL0eOMXgfw1KQLdC9TkbvfA5xs7uNm+PBQXJCOzSJGXtZcZrtXozcwxPmUiRUbmd7FA==",
"type": "package",
@@ -1575,6 +1773,74 @@
"tools/uninstall.ps1"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.CodeAnalysis.Common/5.0.0": {
"sha512": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==",
"type": "package",
@@ -2365,6 +2631,142 @@
"useSharedDesignerContext.txt"
]
},
+ "Microsoft.Kiota.Abstractions/1.20.1": {
+ "sha512": "bv1n2gnxA/O+1a26h3YB6bgcc3ZSLCjRumMh7sVkFmksLaVonhcrJpUrEtBlnnYPrnHwzm/1BYQnYjCVG7A+fA==",
+ "type": "package",
+ "path": "microsoft.kiota.abstractions/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Abstractions.dll",
+ "lib/net5.0/Microsoft.Kiota.Abstractions.xml",
+ "lib/net6.0/Microsoft.Kiota.Abstractions.dll",
+ "lib/net6.0/Microsoft.Kiota.Abstractions.xml",
+ "lib/net8.0/Microsoft.Kiota.Abstractions.dll",
+ "lib/net8.0/Microsoft.Kiota.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Abstractions.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Abstractions.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Abstractions.xml",
+ "microsoft.kiota.abstractions.1.20.1.nupkg.sha512",
+ "microsoft.kiota.abstractions.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": {
+ "sha512": "pQzs+9n3QAG/FKFwgIaRE0EqOXfW3rWliOdk9XZbghyRdeAtiQjSbJbpascdZlf7uatLpPYA145q6MYpLxvsgA==",
+ "type": "package",
+ "path": "microsoft.kiota.http.httpclientlibrary/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net462/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net462/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/net5.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net5.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/net6.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net6.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/net8.0-browser1.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net8.0-browser1.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Http.HttpClientLibrary.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Http.HttpClientLibrary.xml",
+ "microsoft.kiota.http.httpclientlibrary.1.20.1.nupkg.sha512",
+ "microsoft.kiota.http.httpclientlibrary.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Serialization.Form/1.20.1": {
+ "sha512": "n7izb8GZSoatmFSpMaHmh78U3oW+YdYb2gDwhkG86COHuiGWV9s0BKBeUlFakAV00CDwaH9iFqxCQ0veYVkG1A==",
+ "type": "package",
+ "path": "microsoft.kiota.serialization.form/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Form.xml",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Form.xml",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Form.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Form.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Form.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Form.xml",
+ "microsoft.kiota.serialization.form.1.20.1.nupkg.sha512",
+ "microsoft.kiota.serialization.form.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Serialization.Json/1.20.1": {
+ "sha512": "4MumZe45DI/o1YP+hq7wyArOHDhjkSiu14ysN4xWKe6vwlu43BUYydA/yT0CtjoPwbFW/6jfx/NVSvM3DzBzbg==",
+ "type": "package",
+ "path": "microsoft.kiota.serialization.json/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Json.xml",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Json.xml",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Json.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Json.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Json.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Json.xml",
+ "microsoft.kiota.serialization.json.1.20.1.nupkg.sha512",
+ "microsoft.kiota.serialization.json.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Serialization.Multipart/1.20.1": {
+ "sha512": "tP7ZxA1zsIi3FE8CHwfA5JnzlW1NYld+LpFihFq+S7IXFDv1x37I968lPKGIdEpWW9vWacuqDQVKIyJiKZ257A==",
+ "type": "package",
+ "path": "microsoft.kiota.serialization.multipart/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Multipart.xml",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Multipart.xml",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Multipart.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Multipart.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Multipart.xml",
+ "microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512",
+ "microsoft.kiota.serialization.multipart.nuspec"
+ ]
+ },
+ "Microsoft.Kiota.Serialization.Text/1.20.1": {
+ "sha512": "Cue4l9AeU0WgL2CdUW8K58BMwQOyiHgT7aCov2qGEKpmpeWQj7cmAWCgxDfPHYPkZtz1Ccbrw4/6KrDgCmrC3Q==",
+ "type": "package",
+ "path": "microsoft.kiota.serialization.text/1.20.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/net5.0/Microsoft.Kiota.Serialization.Text.xml",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/net6.0/Microsoft.Kiota.Serialization.Text.xml",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/net8.0/Microsoft.Kiota.Serialization.Text.xml",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/netstandard2.0/Microsoft.Kiota.Serialization.Text.xml",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Text.dll",
+ "lib/netstandard2.1/Microsoft.Kiota.Serialization.Text.xml",
+ "microsoft.kiota.serialization.text.1.20.1.nupkg.sha512",
+ "microsoft.kiota.serialization.text.nuspec"
+ ]
+ },
"Microsoft.VisualStudio.SolutionPersistence/1.0.52": {
"sha512": "oNv2JtYXhpdJrX63nibx1JT3uCESOBQ1LAk7Dtz/sr0+laW0KRM6eKp4CZ3MHDR2siIkKsY8MmUkeP5DKkQQ5w==",
"type": "package",
@@ -2485,6 +2887,89 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Std.UriTemplate/2.0.5": {
+ "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
+ "type": "package",
+ "path": "std.uritemplate/2.0.5",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Readme.md",
+ "lib/net5.0/Std.UriTemplate.dll",
+ "lib/netstandard2.0/Std.UriTemplate.dll",
+ "std.uritemplate.2.0.5.nupkg.sha512",
+ "std.uritemplate.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"System.CodeDom/6.0.0": {
"sha512": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==",
"type": "package",
@@ -2670,14 +3155,25 @@
"system.composition.typedparts.nuspec",
"useSharedDesignerContext.txt"
]
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
}
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
"Microsoft.EntityFrameworkCore.Design >= 11.0.0-preview.1.26104.118",
"Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118",
"Microsoft.EntityFrameworkCore.Tools >= 11.0.0-preview.1.26104.118",
- "Polly >= 8.6.5"
+ "Polly >= 8.6.5",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -2713,7 +3209,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2737,6 +3237,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2760,6 +3274,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache
index dd02443c..f5ae8bfc 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache
@@ -1,12 +1,15 @@
{
"version": 2,
- "dgSpecHash": "7telsQPsri4=",
+ "dgSpecHash": "wWhRHr+gc4I=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj",
"expectedPackageFiles": [
"C:\\Users\\wjones\\.nuget\\packages\\humanizer.core\\3.0.1\\humanizer.core.3.0.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.build.framework\\18.0.2\\microsoft.build.framework.18.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.11.0\\microsoft.codeanalysis.analyzers.3.11.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.common\\5.0.0\\microsoft.codeanalysis.common.5.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp\\5.0.0\\microsoft.codeanalysis.csharp.5.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\5.0.0\\microsoft.codeanalysis.csharp.workspaces.5.0.0.nupkg.sha512",
@@ -28,11 +31,22 @@
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\11.0.0-preview.1.26104.118\\microsoft.extensions.logging.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.options\\11.0.0-preview.1.26104.118\\microsoft.extensions.options.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.primitives\\11.0.0-preview.1.26104.118\\microsoft.extensions.primitives.11.0.0-preview.1.26104.118.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.abstractions\\1.20.1\\microsoft.kiota.abstractions.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.http.httpclientlibrary\\1.20.1\\microsoft.kiota.http.httpclientlibrary.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.form\\1.20.1\\microsoft.kiota.serialization.form.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.json\\1.20.1\\microsoft.kiota.serialization.json.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.multipart\\1.20.1\\microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.visualstudio.solutionpersistence\\1.0.52\\microsoft.visualstudio.solutionpersistence.1.0.52.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\mono.texttemplating\\3.0.0\\mono.texttemplating.3.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.codedom\\6.0.0\\system.codedom.6.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.composition\\9.0.0\\system.composition.9.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.composition.attributedmodel\\9.0.0\\system.composition.attributedmodel.9.0.0.nupkg.sha512",
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.dgspec.json b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.dgspec.json
index cd4323cb..9cb0bd7d 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.dgspec.json
@@ -34,6 +34,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -61,10 +64,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -479,6 +519,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -503,6 +546,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1060,6 +1142,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1087,17 +1172,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1624,6 +1741,216 @@
}
}
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"version": "10.11.0",
"restore": {
@@ -1653,7 +1980,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -1677,6 +2008,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -1700,6 +2045,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2115,6 +2478,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -2142,6 +2508,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2165,6 +2545,24 @@
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2576,7 +2974,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2613,10 +3015,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.props b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.props
index 3fe53b86..f8be4655 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.props
+++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.props
@@ -17,9 +17,15 @@
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.analyzers\3.11.0
C:\Users\wjones\.nuget\packages\microsoft.entityframeworkcore.tools\11.0.0-preview.1.26104.118
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
\ No newline at end of file
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.targets b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.targets
index bb9c164d..2ef0eb4f 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.targets
+++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.targets
@@ -6,5 +6,6 @@
+
\ No newline at end of file
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.assets.json b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.assets.json
index 238f0d82..61517c2c 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.assets.json
+++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.assets.json
@@ -61,6 +61,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -115,6 +118,13 @@
"buildTransitive/Microsoft.CodeAnalysis.Analyzers.targets": {}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.CodeAnalysis.Common/5.0.0": {
"type": "package",
"dependencies": {
@@ -929,6 +939,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"SourceGear.sqlite3/3.50.4.2": {
"type": "package",
"compile": {
@@ -1116,6 +1132,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"System.CodeDom/6.0.0": {
"type": "package",
"compile": {
@@ -1242,11 +1267,26 @@
"buildTransitive/net8.0/_._": {}
}
},
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
+ },
"Jellyfin.Common/10.12.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1262,7 +1302,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1276,6 +1318,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1292,6 +1335,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1305,6 +1349,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1409,6 +1454,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -2184,6 +2244,74 @@
"tools/uninstall.ps1"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.CodeAnalysis.Common/5.0.0": {
"sha512": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==",
"type": "package",
@@ -3276,6 +3404,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"SourceGear.sqlite3/3.50.4.2": {
"sha512": "eV9HwQ88WyoU+reGVxJz1SwME9NbYnl9h2LOY15j0LGdXN4JkTJDk8JRRg/yNgt00O3Cn5/qnska10FEZNoU5g==",
"type": "package",
@@ -3400,6 +3558,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"System.CodeDom/6.0.0": {
"sha512": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==",
"type": "package",
@@ -3586,6 +3783,11 @@
"useSharedDesignerContext.txt"
]
},
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
+ },
"Jellyfin.Common/10.12.0": {
"type": "project",
"path": "../../../MediaBrowser.Common/MediaBrowser.Common.csproj",
@@ -3614,12 +3816,18 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
"Jellyfin.Database.Implementations >= 10.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
"Microsoft.EntityFrameworkCore.Design >= 11.0.0-preview.1.26104.118",
"Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118",
"Microsoft.EntityFrameworkCore.Sqlite >= 11.0.0-preview.1.26104.118",
- "Microsoft.EntityFrameworkCore.Tools >= 11.0.0-preview.1.26104.118"
+ "Microsoft.EntityFrameworkCore.Tools >= 11.0.0-preview.1.26104.118",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -3659,6 +3867,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -3686,6 +3897,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3709,6 +3934,24 @@
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache
index a28ef1fe..c4a00c0e 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache
+++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "LobyjguNQ3I=",
+ "dgSpecHash": "7p0VjWNAkOM=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Providers.Sqlite\\Jellyfin.Database.Providers.Sqlite.csproj",
"expectedPackageFiles": [
@@ -8,10 +8,12 @@
"C:\\Users\\wjones\\.nuget\\packages\\humanizer.core\\3.0.1\\humanizer.core.3.0.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.build.framework\\18.0.2\\microsoft.build.framework.18.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.11.0\\microsoft.codeanalysis.analyzers.3.11.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.common\\5.0.0\\microsoft.codeanalysis.common.5.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp\\5.0.0\\microsoft.codeanalysis.csharp.5.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\5.0.0\\microsoft.codeanalysis.csharp.workspaces.5.0.0.nupkg.sha512",
@@ -47,12 +49,16 @@
"C:\\Users\\wjones\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sourcegear.sqlite3\\3.50.4.2\\sourcegear.sqlite3.3.50.4.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\3.0.2\\sqlitepclraw.bundle_e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.config.e_sqlite3\\3.0.2\\sqlitepclraw.config.e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.core\\3.0.2\\sqlitepclraw.core.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\3.0.2\\sqlitepclraw.provider.e_sqlite3.3.0.2.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.codedom\\6.0.0\\system.codedom.6.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.composition\\9.0.0\\system.composition.9.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\system.composition.attributedmodel\\9.0.0\\system.composition.attributedmodel.9.0.0.nupkg.sha512",
diff --git a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.dgspec.json b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.dgspec.json
index b10b2699..366661a8 100644
--- a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3199,6 +3451,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3242,11 +3497,31 @@
"version": "[8.3.1.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
"SkiaSharp": {
"target": "Package",
"version": "[3.116.1, 3.116.1]",
@@ -3262,6 +3537,18 @@
"version": "[3.116.1, 3.116.1]",
"versionCentrallyManaged": true
},
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Svg.Skia": {
"target": "Package",
"version": "[3.4.1, )",
@@ -3677,7 +3964,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3714,10 +4005,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.props b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.props
+++ b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.targets b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.targets
index 693275db..fee5dc52 100644
--- a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.targets
+++ b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/src/Jellyfin.Drawing.Skia/obj/project.assets.json b/src/Jellyfin.Drawing.Skia/obj/project.assets.json
index 3b11ac2e..c78c61fc 100644
--- a/src/Jellyfin.Drawing.Skia/obj/project.assets.json
+++ b/src/Jellyfin.Drawing.Skia/obj/project.assets.json
@@ -210,6 +210,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -244,6 +247,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -651,6 +661,9 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
"ShimSkiaSharp/3.4.1": {
"type": "package",
"compile": {
@@ -773,6 +786,9 @@
}
}
},
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -782,6 +798,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Svg.Custom/3.4.1": {
"type": "package",
"dependencies": {
@@ -838,7 +863,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -855,6 +882,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -873,7 +901,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -887,6 +917,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -903,6 +934,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -931,6 +963,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -949,8 +982,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1224,6 +1259,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -1271,6 +1321,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1912,6 +2030,21 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"ShimSkiaSharp/3.4.1": {
"sha512": "ab3J5OGdwYLyXnom90OghS9NyRPH9dtsRtW5B3mL+F43YTlxido3nUtiR9NjB/sI3jvG/J744C29bsSBQ28AfQ==",
"type": "package",
@@ -2083,6 +2216,21 @@
"skiasharp.nativeassets.win32.nuspec"
]
},
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -2097,6 +2245,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Svg.Custom/3.4.1": {
"sha512": "ksHa7Zv8X1InxSWAeM0sSSvZM2W6FWgneXjU0bdYrQ20Q6q0nl3g0uaSWe53i/CC1OmR+/JAxsp8E3/wigtcng==",
"type": "package",
@@ -2195,13 +2382,19 @@
"BlurHashSharp >= 1.4.0-pre.1",
"BlurHashSharp.SkiaSharp >= 1.4.0-pre.1",
"HarfBuzzSharp.NativeAssets.Linux >= 8.3.1.1",
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.Model >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
"SkiaSharp >= 3.116.1 <= 3.116.1",
"SkiaSharp.HarfBuzz >= 3.116.1 <= 3.116.1",
"SkiaSharp.NativeAssets.Linux >= 3.116.1 <= 3.116.1",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556",
"Svg.Skia >= 3.4.1"
]
},
@@ -2247,6 +2440,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2290,11 +2486,31 @@
"version": "[8.3.1.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
"SkiaSharp": {
"target": "Package",
"version": "[3.116.1, 3.116.1]",
@@ -2310,6 +2526,18 @@
"version": "[3.116.1, 3.116.1]",
"versionCentrallyManaged": true
},
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Svg.Skia": {
"target": "Package",
"version": "[3.4.1, )",
diff --git a/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache b/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache
index f7987e70..ef341c73 100644
--- a/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache
+++ b/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "PGvLbvvkpAo=",
+ "dgSpecHash": "HMW40QmobtY=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Drawing.Skia\\Jellyfin.Drawing.Skia.csproj",
"expectedPackageFiles": [
@@ -15,8 +15,10 @@
"C:\\Users\\wjones\\.nuget\\packages\\harfbuzzsharp.nativeassets.win32\\8.3.0.1\\harfbuzzsharp.nativeassets.win32.8.3.0.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -41,13 +43,17 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\shimskiasharp\\3.4.1\\shimskiasharp.3.4.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp\\3.116.1\\skiasharp.3.116.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp.harfbuzz\\3.116.1\\skiasharp.harfbuzz.3.116.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.linux\\3.116.1\\skiasharp.nativeassets.linux.3.116.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.macos\\3.116.1\\skiasharp.nativeassets.macos.3.116.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.win32\\3.116.1\\skiasharp.nativeassets.win32.3.116.1.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\svg.custom\\3.4.1\\svg.custom.3.4.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\svg.model\\3.4.1\\svg.model.3.4.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\svg.skia\\3.4.1\\svg.skia.3.4.1.nupkg.sha512"
diff --git a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.dgspec.json b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.dgspec.json
index 910f172c..86f121a6 100644
--- a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3199,6 +3451,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3229,10 +3484,42 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3644,7 +3931,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3681,10 +3972,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.props b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.props
+++ b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.targets b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.targets
index 693275db..fee5dc52 100644
--- a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.targets
+++ b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/src/Jellyfin.Drawing/obj/project.assets.json b/src/Jellyfin.Drawing/obj/project.assets.json
index 250cdb19..bfdf94b2 100644
--- a/src/Jellyfin.Drawing/obj/project.assets.json
+++ b/src/Jellyfin.Drawing/obj/project.assets.json
@@ -74,6 +74,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -108,6 +111,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -515,6 +525,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -524,6 +540,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.0",
@@ -541,7 +566,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -558,6 +585,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -576,7 +604,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -590,6 +620,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -606,6 +637,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -634,6 +666,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -652,8 +685,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -777,6 +812,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -824,6 +874,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1465,6 +1583,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1479,6 +1627,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"path": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
@@ -1528,10 +1715,16 @@
"projectFileDependencyGroups": {
"net11.0": [
"AsyncKeyedLock >= 8.0.2",
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.Model >= 10.12.0",
- "Jellyfin.Sdk >= 2025.10.21"
+ "Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -1576,6 +1769,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1606,10 +1802,42 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.Drawing/obj/project.nuget.cache b/src/Jellyfin.Drawing/obj/project.nuget.cache
index 32d4e703..63719595 100644
--- a/src/Jellyfin.Drawing/obj/project.nuget.cache
+++ b/src/Jellyfin.Drawing/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "tkToZnuYtmQ=",
+ "dgSpecHash": "kfdiYX/qdMo=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Drawing\\Jellyfin.Drawing.csproj",
"expectedPackageFiles": [
@@ -9,8 +9,10 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -35,7 +37,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.dgspec.json b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.dgspec.json
index 165ae5e1..fdac3f65 100644
--- a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.dgspec.json
@@ -4,6 +4,216 @@
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {}
},
"projects": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"version": "10.12.0",
"restore": {
@@ -33,7 +243,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -70,10 +284,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.props b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.props
index bc14df92..481be336 100644
--- a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.props
+++ b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.props
@@ -13,4 +13,14 @@
+
+
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.targets b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.targets
index 3dc06ef3..d513a57a 100644
--- a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.targets
+++ b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.targets
@@ -1,2 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Jellyfin.Extensions/obj/project.assets.json b/src/Jellyfin.Extensions/obj/project.assets.json
index 6415b9af..5d6b6a5e 100644
--- a/src/Jellyfin.Extensions/obj/project.assets.json
+++ b/src/Jellyfin.Extensions/obj/project.assets.json
@@ -48,6 +48,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -82,6 +85,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.Extensions.Caching.Abstractions/2.0.0": {
"type": "package",
"dependencies": {
@@ -255,6 +265,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -263,6 +279,28 @@
"runtime": {
"lib/net5.0/Std.UriTemplate.dll": {}
}
+ },
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
}
}
},
@@ -333,6 +371,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -380,6 +433,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.Extensions.Caching.Abstractions/2.0.0": {
"sha512": "kGMEV53Od1ES0BDh7OOKbTW9Zu5dbbQ72yI936dvvbHlde3puuq/WRKAccFgcB2PuRjox1HFhA9+t53RYqfuEA==",
"type": "package",
@@ -581,6 +702,36 @@
"microsoft.kiota.serialization.text.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -594,13 +745,63 @@
"std.uritemplate.2.0.5.nupkg.sha512",
"std.uritemplate.nuspec"
]
+ },
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
}
},
"projectFileDependencyGroups": {
"net11.0": [
"Diacritics >= 4.1.4",
"ICU4N.Transliterator >= 60.1.0-alpha.356",
- "Jellyfin.Sdk >= 2025.10.21"
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
+ "Jellyfin.Sdk >= 2025.10.21",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -636,7 +837,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -673,10 +878,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.Extensions/obj/project.nuget.cache b/src/Jellyfin.Extensions/obj/project.nuget.cache
index 4e4bfef1..af2e2577 100644
--- a/src/Jellyfin.Extensions/obj/project.nuget.cache
+++ b/src/Jellyfin.Extensions/obj/project.nuget.cache
@@ -1,14 +1,16 @@
{
"version": 2,
- "dgSpecHash": "1F9fNSdM5co=",
+ "dgSpecHash": "jFXUtLlrjTY=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj",
"expectedPackageFiles": [
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\2.0.0\\microsoft.extensions.caching.abstractions.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.caching.memory\\2.0.0\\microsoft.extensions.caching.memory.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\2.0.0\\microsoft.extensions.dependencyinjection.abstractions.2.0.0.nupkg.sha512",
@@ -20,7 +22,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.json\\1.20.1\\microsoft.kiota.serialization.json.1.20.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.multipart\\1.20.1\\microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.dgspec.json b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.dgspec.json
index 7c6ba6c8..61e1bb18 100644
--- a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3190,7 +3442,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3227,10 +3483,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3651,6 +3939,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3681,6 +3972,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3690,6 +3988,31 @@
"target": "Package",
"version": "[10.8.0, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.props b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.props
+++ b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.targets b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.targets
index 693275db..fee5dc52 100644
--- a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.targets
+++ b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/src/Jellyfin.LiveTv/obj/project.assets.json b/src/Jellyfin.LiveTv/obj/project.assets.json
index 0fb37b4f..513b5161 100644
--- a/src/Jellyfin.LiveTv/obj/project.assets.json
+++ b/src/Jellyfin.LiveTv/obj/project.assets.json
@@ -74,6 +74,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -121,6 +124,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -528,6 +538,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -537,6 +553,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.0",
@@ -554,7 +579,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -571,6 +598,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -589,7 +617,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -603,6 +633,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -619,6 +650,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -647,6 +679,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -665,8 +698,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -790,6 +825,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -852,6 +902,74 @@
"lib/netstandard2.1/Jellyfin.XmlTv.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1493,6 +1611,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1507,6 +1655,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"path": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
@@ -1556,11 +1743,17 @@
"projectFileDependencyGroups": {
"net11.0": [
"AsyncKeyedLock >= 8.0.2",
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.Model >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
- "Jellyfin.XmlTv >= 10.8.0"
+ "Jellyfin.XmlTv >= 10.8.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -1605,6 +1798,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1635,6 +1831,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -1644,6 +1847,31 @@
"target": "Package",
"version": "[10.8.0, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.LiveTv/obj/project.nuget.cache b/src/Jellyfin.LiveTv/obj/project.nuget.cache
index 758c65d8..96bf1989 100644
--- a/src/Jellyfin.LiveTv/obj/project.nuget.cache
+++ b/src/Jellyfin.LiveTv/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "U8eneO6Tg34=",
+ "dgSpecHash": "Wq1Uahcka68=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj",
"expectedPackageFiles": [
@@ -9,9 +9,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.xmltv\\10.8.0\\jellyfin.xmltv.10.8.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -36,7 +38,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/src/Jellyfin.MediaEncoding.Hls/obj/Jellyfin.MediaEncoding.Hls.csproj.nuget.dgspec.json b/src/Jellyfin.MediaEncoding.Hls/obj/Jellyfin.MediaEncoding.Hls.csproj.nuget.dgspec.json
index ab2e0839..499e0262 100644
--- a/src/Jellyfin.MediaEncoding.Hls/obj/Jellyfin.MediaEncoding.Hls.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.MediaEncoding.Hls/obj/Jellyfin.MediaEncoding.Hls.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3190,7 +3442,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3227,10 +3483,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.MediaEncoding.Hls/obj/project.assets.json b/src/Jellyfin.MediaEncoding.Hls/obj/project.assets.json
index dbf59ab3..ac23a92c 100644
--- a/src/Jellyfin.MediaEncoding.Hls/obj/project.assets.json
+++ b/src/Jellyfin.MediaEncoding.Hls/obj/project.assets.json
@@ -553,7 +553,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -570,6 +572,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -588,7 +591,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -602,6 +607,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -618,6 +624,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -646,6 +653,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -664,8 +672,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
diff --git a/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache b/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache
index 6df5a709..86ecdc7f 100644
--- a/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache
+++ b/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "S8QzujIGrtw=",
+ "dgSpecHash": "2kUNnZdwGG8=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj",
"expectedPackageFiles": [
diff --git a/src/Jellyfin.MediaEncoding.Keyframes/obj/Jellyfin.MediaEncoding.Keyframes.csproj.nuget.dgspec.json b/src/Jellyfin.MediaEncoding.Keyframes/obj/Jellyfin.MediaEncoding.Keyframes.csproj.nuget.dgspec.json
index f60f59da..7f88ae98 100644
--- a/src/Jellyfin.MediaEncoding.Keyframes/obj/Jellyfin.MediaEncoding.Keyframes.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.MediaEncoding.Keyframes/obj/Jellyfin.MediaEncoding.Keyframes.csproj.nuget.dgspec.json
@@ -57,6 +57,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -68,6 +75,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -79,6 +93,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
diff --git a/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache b/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache
index 3ea1f4c8..f6c37485 100644
--- a/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache
+++ b/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "phtk2RJzTyA=",
+ "dgSpecHash": "mTVFQQSIGo8=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj",
"expectedPackageFiles": [
diff --git a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.dgspec.json b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.dgspec.json
index a013a400..7879778f 100644
--- a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.dgspec.json
+++ b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3190,7 +3442,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3227,10 +3483,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4128,6 +4416,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -4152,6 +4443,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
diff --git a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.props b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.props
index 59d22c92..651d5bb6 100644
--- a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.props
+++ b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.props
@@ -15,5 +15,13 @@
+
+
+ C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556
+ C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31
+ C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0
+ C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0
+ C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8
+
\ No newline at end of file
diff --git a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.targets b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.targets
index 693275db..fee5dc52 100644
--- a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.targets
+++ b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.targets
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/src/Jellyfin.Networking/obj/project.assets.json b/src/Jellyfin.Networking/obj/project.assets.json
index 2783936d..1130314a 100644
--- a/src/Jellyfin.Networking/obj/project.assets.json
+++ b/src/Jellyfin.Networking/obj/project.assets.json
@@ -61,6 +61,9 @@
}
}
},
+ "IDisposableAnalyzers/4.0.8": {
+ "type": "package"
+ },
"J2N/2.0.0": {
"type": "package",
"compile": {
@@ -95,6 +98,13 @@
}
}
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "type": "package",
+ "build": {
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {},
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {}
+ }
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"type": "package",
"dependencies": {
@@ -502,6 +512,12 @@
}
}
},
+ "SerilogAnalyzer/0.15.0": {
+ "type": "package"
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "type": "package"
+ },
"Std.UriTemplate/2.0.5": {
"type": "package",
"compile": {
@@ -511,6 +527,15 @@
"lib/net5.0/Std.UriTemplate.dll": {}
}
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "type": "package",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "type": "package"
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.0",
@@ -528,7 +553,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -545,6 +572,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -563,7 +591,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -577,6 +607,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -593,6 +624,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -621,6 +653,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -639,8 +672,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -737,6 +772,21 @@
"unicode-icon-128x128.jpg"
]
},
+ "IDisposableAnalyzers/4.0.8": {
+ "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==",
+ "type": "package",
+ "path": "idisposableanalyzers/4.0.8",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/IDisposableAnalyzers.dll",
+ "idisposableanalyzers.4.0.8.nupkg.sha512",
+ "idisposableanalyzers.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"J2N/2.0.0": {
"sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==",
"type": "package",
@@ -784,6 +834,74 @@
"lib/netstandard2.1/Jellyfin.Sdk.xml"
]
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": {
+ "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==",
+ "type": "package",
+ "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "ThirdPartyNotices.txt",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll",
+ "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props",
+ "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md",
+ "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif",
+ "editorconfig/AllRulesDefault/.editorconfig",
+ "editorconfig/AllRulesDisabled/.editorconfig",
+ "editorconfig/AllRulesEnabled/.editorconfig",
+ "editorconfig/ApiDesignRulesDefault/.editorconfig",
+ "editorconfig/ApiDesignRulesEnabled/.editorconfig",
+ "editorconfig/DataflowRulesDefault/.editorconfig",
+ "editorconfig/DataflowRulesEnabled/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesDefault/.editorconfig",
+ "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig",
+ "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
+ "microsoft.codeanalysis.bannedapianalyzers.nuspec",
+ "rulesets/AllRulesDefault.ruleset",
+ "rulesets/AllRulesDisabled.ruleset",
+ "rulesets/AllRulesEnabled.ruleset",
+ "rulesets/ApiDesignRulesDefault.ruleset",
+ "rulesets/ApiDesignRulesEnabled.ruleset",
+ "rulesets/DataflowRulesDefault.ruleset",
+ "rulesets/DataflowRulesEnabled.ruleset",
+ "rulesets/PortedFromFxCopRulesDefault.ruleset",
+ "rulesets/PortedFromFxCopRulesEnabled.ruleset",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": {
"sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==",
"type": "package",
@@ -1425,6 +1543,36 @@
"polly.core.nuspec"
]
},
+ "SerilogAnalyzer/0.15.0": {
+ "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==",
+ "type": "package",
+ "path": "seriloganalyzer/0.15.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SerilogAnalyzer.dll",
+ "seriloganalyzer.0.15.0.nupkg.sha512",
+ "seriloganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": {
+ "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==",
+ "type": "package",
+ "path": "smartanalyzers.multithreadinganalyzer/1.1.31",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll",
+ "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "smartanalyzers.multithreadinganalyzer.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Std.UriTemplate/2.0.5": {
"sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"type": "package",
@@ -1439,6 +1587,45 @@
"std.uritemplate.nuspec"
]
},
+ "StyleCop.Analyzers/1.2.0-beta.556": {
+ "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "type": "package",
+ "path": "stylecop.analyzers/1.2.0-beta.556",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "stylecop.analyzers.nuspec"
+ ]
+ },
+ "StyleCop.Analyzers.Unstable/1.2.0.556": {
+ "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==",
+ "type": "package",
+ "path": "stylecop.analyzers.unstable/1.2.0.556",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "THIRD-PARTY-NOTICES.txt",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll",
+ "analyzers/dotnet/cs/StyleCop.Analyzers.dll",
+ "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll",
+ "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll",
+ "rulesets/StyleCopAnalyzersDefault.ruleset",
+ "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512",
+ "stylecop.analyzers.unstable.nuspec",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"path": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
@@ -1487,8 +1674,14 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "IDisposableAnalyzers >= 4.0.8",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
- "Jellyfin.Controller >= 10.12.0"
+ "Jellyfin.Controller >= 10.12.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
+ "SerilogAnalyzer >= 0.15.0",
+ "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31",
+ "StyleCop.Analyzers >= 1.2.0-beta.556"
]
},
"packageFolders": {
@@ -1530,6 +1723,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1554,6 +1750,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
diff --git a/src/Jellyfin.Networking/obj/project.nuget.cache b/src/Jellyfin.Networking/obj/project.nuget.cache
index 40e9d2de..bde2e2ce 100644
--- a/src/Jellyfin.Networking/obj/project.nuget.cache
+++ b/src/Jellyfin.Networking/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "Zk1SCbAayGM=",
+ "dgSpecHash": "o8ef9/49oOU=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj",
"expectedPackageFiles": [
@@ -8,8 +8,10 @@
"C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512",
@@ -34,7 +36,11 @@
"C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512",
"C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512",
- "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512"
+ "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512",
+ "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/tests/Jellyfin.Api.Tests/obj/Jellyfin.Api.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Api.Tests/obj/Jellyfin.Api.Tests.csproj.nuget.dgspec.json
index c0c7e5b6..d64bd8ff 100644
--- a/tests/Jellyfin.Api.Tests/obj/Jellyfin.Api.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Api.Tests/obj/Jellyfin.Api.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -479,6 +511,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
@@ -509,6 +544,13 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -519,11 +561,36 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[7.3.2, )",
@@ -945,6 +1012,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -972,10 +1042,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1397,6 +1504,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -1435,10 +1545,47 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Relational": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1853,6 +2000,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -1877,6 +2027,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -2440,6 +2629,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -2472,15 +2664,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2901,6 +3125,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2936,16 +3163,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
@@ -3370,6 +3629,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -3397,17 +3659,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3987,6 +4281,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3998,6 +4299,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -4009,6 +4317,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4141,7 +4467,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -4165,6 +4495,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -4188,6 +4532,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4603,6 +4965,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -4630,6 +4995,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -4658,6 +5037,24 @@
"target": "Package",
"version": "[11.0.0-preview.1, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -5073,6 +5470,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -5100,6 +5500,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -5123,6 +5537,24 @@
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -5534,7 +5966,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -5571,10 +6007,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -6959,6 +7427,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -6983,6 +7454,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -7398,6 +7903,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Api.Tests/obj/project.assets.json b/tests/Jellyfin.Api.Tests/obj/project.assets.json
index d618695e..c1f9aae5 100644
--- a/tests/Jellyfin.Api.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Api.Tests/obj/project.assets.json
@@ -2065,6 +2065,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.MediaEncoding.Hls": "1.0.0",
"Jellyfin.Networking": "1.0.0",
@@ -2099,7 +2100,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -2116,6 +2119,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -2134,7 +2138,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -2148,6 +2154,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -2162,6 +2169,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
@@ -2179,6 +2187,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
@@ -2197,6 +2206,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -2243,6 +2253,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -2261,8 +2272,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -2275,6 +2288,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0"
},
@@ -2290,12 +2304,14 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Database.Providers.Postgres": "1.0.0",
"Jellyfin.Database.Providers.Sqlite": "1.0.0",
"Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -2311,6 +2327,7 @@
"dependencies": {
"AsyncKeyedLock": "8.0.2",
"BDInfo": "0.8.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -5381,6 +5398,7 @@
"AutoFixture.AutoMoq >= 4.18.1",
"AutoFixture.Xunit2 >= 4.18.1",
"Jellyfin.Api >= 1.0.0",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Server.Implementations >= 1.0.0",
"Microsoft.AspNetCore.Mvc.Testing >= 11.0.0-preview.1.26104.118",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -5433,6 +5451,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Api.Tests/obj/project.nuget.cache b/tests/Jellyfin.Api.Tests/obj/project.nuget.cache
index 79fa0dfe..c3cdad2e 100644
--- a/tests/Jellyfin.Api.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Api.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "SgCjZHlPcPQ=",
+ "dgSpecHash": "O1YKQwWO1Jg=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Api.Tests\\Jellyfin.Api.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Common.Tests/obj/Jellyfin.Common.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Common.Tests/obj/Jellyfin.Common.Tests.csproj.nuget.dgspec.json
index 3a07c6c4..ae178975 100644
--- a/tests/Jellyfin.Common.Tests/obj/Jellyfin.Common.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Common.Tests/obj/Jellyfin.Common.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2560,6 +2744,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2590,6 +2777,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2605,6 +2799,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -2625,6 +2826,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
@@ -3069,6 +3288,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3080,6 +3306,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3091,6 +3324,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3223,7 +3474,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3247,6 +3502,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3270,6 +3539,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3681,7 +3968,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3718,10 +4009,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4619,6 +4942,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Common.Tests/obj/project.assets.json b/tests/Jellyfin.Common.Tests/obj/project.assets.json
index b91fc8f3..892a736f 100644
--- a/tests/Jellyfin.Common.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Common.Tests/obj/project.assets.json
@@ -1247,7 +1247,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1264,6 +1266,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -1282,7 +1285,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1296,6 +1301,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1312,6 +1318,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1340,6 +1347,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1358,8 +1366,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1373,6 +1383,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"Jellyfin.Sdk": "2025.10.21",
@@ -3222,6 +3233,7 @@
"projectFileDependencyGroups": {
"net11.0": [
"FsCheck.Xunit >= 3.3.2",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Common >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
"MediaBrowser.Providers >= 1.0.0",
@@ -3274,6 +3286,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Common.Tests/obj/project.nuget.cache b/tests/Jellyfin.Common.Tests/obj/project.nuget.cache
index d0fa205f..1562062a 100644
--- a/tests/Jellyfin.Common.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Common.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "4eCMyjDitNI=",
+ "dgSpecHash": "rSTC0c4hKeg=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Common.Tests\\Jellyfin.Common.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Controller.Tests/obj/Jellyfin.Controller.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Controller.Tests/obj/Jellyfin.Controller.Tests.csproj.nuget.dgspec.json
index a24523c0..b3ec3a48 100644
--- a/tests/Jellyfin.Controller.Tests/obj/Jellyfin.Controller.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Controller.Tests/obj/Jellyfin.Controller.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3190,7 +3442,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3227,10 +3483,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4125,6 +4413,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Controller.Tests/obj/project.assets.json b/tests/Jellyfin.Controller.Tests/obj/project.assets.json
index fc6d4155..d0f450b0 100644
--- a/tests/Jellyfin.Controller.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Controller.Tests/obj/project.assets.json
@@ -1000,7 +1000,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1017,6 +1019,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -1035,7 +1038,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1049,6 +1054,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1065,6 +1071,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1093,6 +1100,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1111,8 +1119,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -2694,6 +2704,7 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Controller >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -2743,6 +2754,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache b/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache
index 063819c9..6ab22ad8 100644
--- a/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "db2D+E3MrOA=",
+ "dgSpecHash": "rCzbZx73oRU=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Controller.Tests\\Jellyfin.Controller.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Extensions.Tests/obj/Jellyfin.Extensions.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Extensions.Tests/obj/Jellyfin.Extensions.Tests.csproj.nuget.dgspec.json
index 0b2e473a..0586067d 100644
--- a/tests/Jellyfin.Extensions.Tests/obj/Jellyfin.Extensions.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Extensions.Tests/obj/Jellyfin.Extensions.Tests.csproj.nuget.dgspec.json
@@ -34,6 +34,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -61,10 +64,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -480,6 +520,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -507,17 +550,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1044,6 +1119,216 @@
}
}
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"version": "10.11.0",
"restore": {
@@ -1073,7 +1358,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -1097,6 +1386,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -1120,6 +1423,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1531,7 +1852,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -1568,10 +1893,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1987,6 +2344,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
diff --git a/tests/Jellyfin.Extensions.Tests/obj/project.assets.json b/tests/Jellyfin.Extensions.Tests/obj/project.assets.json
index cbb3413c..0de148c6 100644
--- a/tests/Jellyfin.Extensions.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Extensions.Tests/obj/project.assets.json
@@ -954,11 +954,26 @@
"build/net6.0/xunit.runner.visualstudio.props": {}
}
},
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
+ },
"Jellyfin.Data/10.12.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -972,6 +987,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -988,6 +1004,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1001,6 +1018,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -2423,6 +2441,11 @@
"xunit.runner.visualstudio.nuspec"
]
},
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
+ },
"Jellyfin.Data/10.12.0": {
"type": "project",
"path": "../../Jellyfin.Data/Jellyfin.Data.csproj",
@@ -2447,6 +2470,7 @@
"projectFileDependencyGroups": {
"net11.0": [
"FsCheck.Xunit >= 3.3.2",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Extensions >= 10.12.0",
"Jellyfin.Model >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
@@ -2497,6 +2521,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
diff --git a/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache b/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache
index 1a95f5c9..7dd496fa 100644
--- a/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "LizuFfX8aRs=",
+ "dgSpecHash": "en/g4Rojfa8=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Extensions.Tests\\Jellyfin.Extensions.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.LiveTv.Tests/obj/Jellyfin.LiveTv.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.LiveTv.Tests/obj/Jellyfin.LiveTv.Tests.csproj.nuget.dgspec.json
index a85f4af4..4ca8ae70 100644
--- a/tests/Jellyfin.LiveTv.Tests/obj/Jellyfin.LiveTv.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.LiveTv.Tests/obj/Jellyfin.LiveTv.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3190,7 +3442,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3227,10 +3483,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3651,6 +3939,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3681,6 +3972,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3690,6 +3988,31 @@
"target": "Package",
"version": "[10.8.0, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4582,6 +4905,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj"
}
diff --git a/tests/Jellyfin.LiveTv.Tests/obj/project.assets.json b/tests/Jellyfin.LiveTv.Tests/obj/project.assets.json
index 58289616..365e0e72 100644
--- a/tests/Jellyfin.LiveTv.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.LiveTv.Tests/obj/project.assets.json
@@ -1120,7 +1120,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1137,6 +1139,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -1155,7 +1158,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1169,6 +1174,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1185,6 +1191,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1199,6 +1206,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -1231,6 +1239,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1249,8 +1258,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -3005,6 +3016,7 @@
"net11.0": [
"AutoFixture >= 4.18.1",
"AutoFixture.AutoMoq >= 4.18.1",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.LiveTv >= 1.0.0",
"Jellyfin.Sdk >= 2025.10.21",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -3053,6 +3065,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj"
}
diff --git a/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache b/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache
index 828b631c..2b70e0e0 100644
--- a/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "n8otvmfeqlY=",
+ "dgSpecHash": "YQ4opaxxEO8=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.LiveTv.Tests\\Jellyfin.LiveTv.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/Jellyfin.MediaEncoding.Hls.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/Jellyfin.MediaEncoding.Hls.Tests.csproj.nuget.dgspec.json
index 979936ff..6a75f39d 100644
--- a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/Jellyfin.MediaEncoding.Hls.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/Jellyfin.MediaEncoding.Hls.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3190,7 +3442,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3227,10 +3483,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4610,6 +4898,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
diff --git a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.assets.json b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.assets.json
index f483b138..e4ddf4fc 100644
--- a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.assets.json
@@ -942,7 +942,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -959,6 +961,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -977,7 +980,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -991,6 +996,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1007,6 +1013,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1053,6 +1060,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1071,8 +1079,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -2584,6 +2594,7 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.MediaEncoding.Hls >= 1.0.0",
"Jellyfin.MediaEncoding.Keyframes >= 10.11.0",
"Jellyfin.Sdk >= 2025.10.21",
@@ -2631,6 +2642,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
diff --git a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache
index 728603f3..8d750119 100644
--- a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "vyYiQiXdsdo=",
+ "dgSpecHash": "/lT1/xD3XnU=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.MediaEncoding.Hls.Tests\\Jellyfin.MediaEncoding.Hls.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/Jellyfin.MediaEncoding.Keyframes.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/Jellyfin.MediaEncoding.Keyframes.Tests.csproj.nuget.dgspec.json
index 04c9123f..5883721c 100644
--- a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/Jellyfin.MediaEncoding.Keyframes.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/Jellyfin.MediaEncoding.Keyframes.Tests.csproj.nuget.dgspec.json
@@ -57,6 +57,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -68,6 +75,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -79,6 +93,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -692,6 +724,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
diff --git a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.assets.json b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.assets.json
index 9b27332a..2b3f0be2 100644
--- a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.assets.json
@@ -1444,6 +1444,7 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.MediaEncoding.Keyframes >= 10.11.0",
"Jellyfin.Sdk >= 2025.10.21",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -1490,6 +1491,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
diff --git a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache
index 20e8f6e7..546f0827 100644
--- a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "Zd3h3rZ7uhE=",
+ "dgSpecHash": "0nvUEzLEN94=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.MediaEncoding.Keyframes.Tests\\Jellyfin.MediaEncoding.Keyframes.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.MediaEncoding.Tests/obj/Jellyfin.MediaEncoding.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.MediaEncoding.Tests/obj/Jellyfin.MediaEncoding.Tests.csproj.nuget.dgspec.json
index db7431d9..fd0dd105 100644
--- a/tests/Jellyfin.MediaEncoding.Tests/obj/Jellyfin.MediaEncoding.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.MediaEncoding.Tests/obj/Jellyfin.MediaEncoding.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1966,6 +2115,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2001,16 +2153,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
@@ -2435,6 +2619,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -2462,17 +2649,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3052,6 +3271,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3063,6 +3289,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3074,6 +3307,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3206,7 +3457,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3230,6 +3485,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3253,6 +3522,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3664,7 +3951,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3701,10 +3992,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4599,6 +4922,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.MediaEncoding.Tests/obj/project.assets.json b/tests/Jellyfin.MediaEncoding.Tests/obj/project.assets.json
index 5b3f4260..e5f18def 100644
--- a/tests/Jellyfin.MediaEncoding.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.MediaEncoding.Tests/obj/project.assets.json
@@ -1281,7 +1281,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1298,6 +1300,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -1316,7 +1319,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1330,6 +1335,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1346,6 +1352,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1374,6 +1381,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1392,8 +1400,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1408,6 +1418,7 @@
"dependencies": {
"AsyncKeyedLock": "8.0.2",
"BDInfo": "0.8.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3381,6 +3392,7 @@
"AutoFixture >= 4.18.1",
"AutoFixture.AutoMoq >= 4.18.1",
"AutoFixture.Xunit2 >= 4.18.1",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Sdk >= 2025.10.21",
"MediaBrowser.MediaEncoding >= 1.0.0",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -3430,6 +3442,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache b/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache
index d700c1f5..b4bb581b 100644
--- a/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "sHjNVVnFwko=",
+ "dgSpecHash": "SBmVy71j/UM=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.MediaEncoding.Tests\\Jellyfin.MediaEncoding.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Model.Tests/obj/Jellyfin.Model.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Model.Tests/obj/Jellyfin.Model.Tests.csproj.nuget.dgspec.json
index 55dd7a0c..8a5ebbea 100644
--- a/tests/Jellyfin.Model.Tests/obj/Jellyfin.Model.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Model.Tests/obj/Jellyfin.Model.Tests.csproj.nuget.dgspec.json
@@ -34,6 +34,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -61,10 +64,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -480,6 +520,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -507,17 +550,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1044,6 +1119,216 @@
}
}
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"version": "10.11.0",
"restore": {
@@ -1073,7 +1358,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -1097,6 +1386,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -1120,6 +1423,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1531,7 +1852,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -1568,10 +1893,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1986,6 +2343,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Model.Tests/obj/project.assets.json b/tests/Jellyfin.Model.Tests/obj/project.assets.json
index 7ecbb815..bee94196 100644
--- a/tests/Jellyfin.Model.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Model.Tests/obj/project.assets.json
@@ -1012,11 +1012,26 @@
"build/net6.0/xunit.runner.visualstudio.props": {}
}
},
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
+ },
"Jellyfin.Data/10.12.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1030,6 +1045,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1046,6 +1062,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1059,6 +1076,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -2556,6 +2574,11 @@
"xunit.runner.visualstudio.nuspec"
]
},
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
+ },
"Jellyfin.Data/10.12.0": {
"type": "project",
"path": "../../Jellyfin.Data/Jellyfin.Data.csproj",
@@ -2580,6 +2603,7 @@
"projectFileDependencyGroups": {
"net11.0": [
"FsCheck.Xunit >= 3.3.2",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Model >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -2629,6 +2653,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Model.Tests/obj/project.nuget.cache b/tests/Jellyfin.Model.Tests/obj/project.nuget.cache
index 1e48847a..ecc57c45 100644
--- a/tests/Jellyfin.Model.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Model.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "n/Uqe7ageCk=",
+ "dgSpecHash": "S2M6GE9E6Mw=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Model.Tests\\Jellyfin.Model.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Naming.Tests/obj/Jellyfin.Naming.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Naming.Tests/obj/Jellyfin.Naming.Tests.csproj.nuget.dgspec.json
index be3449fc..d04769e0 100644
--- a/tests/Jellyfin.Naming.Tests/obj/Jellyfin.Naming.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Naming.Tests/obj/Jellyfin.Naming.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1499,6 +1613,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1526,17 +1643,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2063,6 +2212,216 @@
}
}
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "projectName": "Jellyfin.CodeAnalysis",
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj",
+ "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\",
+ "projectStyle": "PackageReference",
+ "centralPackageVersionsManagementEnabled": true,
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "E:\\Projects\\pgsql-jellyfin\\NuGet.Config",
+ "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "allWarningsAsErrors": true,
+ "warnAsError": [
+ "NU1605"
+ ],
+ "warnNotAsError": [
+ "NU1902",
+ "NU1903"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "11.0.100"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[3.11.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.0.0, )",
+ "versionCentrallyManaged": true
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
+ "centralPackageVersions": {
+ "AsyncKeyedLock": "8.0.2",
+ "AutoFixture": "4.18.1",
+ "AutoFixture.AutoMoq": "4.18.1",
+ "AutoFixture.Xunit2": "4.18.1",
+ "BDInfo": "0.8.0",
+ "BitFaster.Caching": "2.5.4",
+ "BlurHashSharp": "1.4.0-pre.1",
+ "BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
+ "CommandLineParser": "2.9.1",
+ "coverlet.collector": "8.0.0",
+ "Diacritics": "4.1.4",
+ "DiscUtils.Udf": "0.16.13",
+ "DotNet.Glob": "3.1.3",
+ "FsCheck.Xunit": "3.3.2",
+ "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "ICU4N.Transliterator": "60.1.0-alpha.356",
+ "IDisposableAnalyzers": "4.0.8",
+ "Ignore": "0.2.1",
+ "Jellyfin.Sdk": "2025.10.21",
+ "Jellyfin.XmlTv": "10.8.0",
+ "libse": "4.0.12",
+ "LrcParser": "2025.623.0",
+ "MetaBrainz.MusicBrainz": "8.0.1",
+ "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118",
+ "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0",
+ "Microsoft.CodeAnalysis.Common": "5.0.0",
+ "Microsoft.CodeAnalysis.CSharp": "5.0.0",
+ "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118",
+ "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118",
+ "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118",
+ "Microsoft.NET.Test.Sdk": "18.0.1",
+ "MimeTypes": "2.5.2",
+ "Moq": "4.18.4",
+ "Morestachio": "5.0.1.631",
+ "NEbml": "1.1.0.5",
+ "Newtonsoft.Json": "13.0.4",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1",
+ "PlaylistsNET": "1.4.1",
+ "Polly": "8.6.5",
+ "prometheus-net": "8.2.1",
+ "prometheus-net.AspNetCore": "8.2.1",
+ "prometheus-net.DotNetRuntime": "4.4.1",
+ "Serilog.AspNetCore": "10.0.0",
+ "Serilog.Enrichers.Thread": "4.0.0",
+ "Serilog.Expressions": "5.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.Async": "2.1.0",
+ "Serilog.Sinks.Console": "6.1.1",
+ "Serilog.Sinks.File": "7.0.0",
+ "Serilog.Sinks.Graylog": "3.1.1",
+ "SerilogAnalyzer": "0.15.0",
+ "SharpFuzz": "2.2.0",
+ "SkiaSharp": "[3.116.1]",
+ "SkiaSharp.HarfBuzz": "[3.116.1]",
+ "SkiaSharp.NativeAssets.Linux": "[3.116.1]",
+ "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31",
+ "StyleCop.Analyzers": "1.2.0-beta.556",
+ "Svg.Skia": "3.4.1",
+ "Swashbuckle.AspNetCore": "7.3.2",
+ "Swashbuckle.AspNetCore.ReDoc": "6.9.0",
+ "System.Text.Json": "11.0.0-preview.1.26104.118",
+ "TagLibSharp": "2.3.0",
+ "TMDbLib": "2.3.0",
+ "UTF.Unknown": "2.6.0",
+ "xunit": "2.9.3",
+ "Xunit.Priority": "1.1.6",
+ "xunit.runner.visualstudio": "2.8.2",
+ "Xunit.SkippableFact": "1.5.61",
+ "z440.atl.core": "7.11.0"
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"version": "10.11.0",
"restore": {
@@ -2092,7 +2451,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2116,6 +2479,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2139,6 +2516,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2550,7 +2945,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2587,10 +2986,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3005,6 +3436,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Naming.Tests/obj/project.assets.json b/tests/Jellyfin.Naming.Tests/obj/project.assets.json
index 9063c4d5..e651d8c1 100644
--- a/tests/Jellyfin.Naming.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Naming.Tests/obj/project.assets.json
@@ -917,11 +917,26 @@
"build/net6.0/xunit.runner.visualstudio.props": {}
}
},
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Jellyfin.Sdk": "2025.10.21"
+ },
+ "compile": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Jellyfin.CodeAnalysis.dll": {}
+ }
+ },
"Jellyfin.Common/10.12.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -937,7 +952,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -951,6 +968,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -967,6 +985,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -980,6 +999,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -998,8 +1018,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -2433,6 +2455,11 @@
"xunit.runner.visualstudio.nuspec"
]
},
+ "Jellyfin.CodeAnalysis/1.0.0": {
+ "type": "project",
+ "path": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj",
+ "msbuildProject": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj"
+ },
"Jellyfin.Common/10.12.0": {
"type": "project",
"path": "../../MediaBrowser.Common/MediaBrowser.Common.csproj",
@@ -2466,6 +2493,7 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Naming >= 10.12.0",
"Jellyfin.Sdk >= 2025.10.21",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -2515,6 +2543,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache b/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache
index 96b74000..f9f28ac9 100644
--- a/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "N3m4/GDb7P0=",
+ "dgSpecHash": "aetk2kDndoI=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Naming.Tests\\Jellyfin.Naming.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Networking.Tests/obj/Jellyfin.Networking.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Networking.Tests/obj/Jellyfin.Networking.Tests.csproj.nuget.dgspec.json
index 498192e0..84591b64 100644
--- a/tests/Jellyfin.Networking.Tests/obj/Jellyfin.Networking.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Networking.Tests/obj/Jellyfin.Networking.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2578,6 +2762,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2589,6 +2780,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -2600,6 +2798,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2732,7 +2948,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -2756,6 +2976,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -2779,6 +3013,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3190,7 +3442,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3227,10 +3483,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4128,6 +4416,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -4152,6 +4443,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4562,6 +4887,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj"
}
diff --git a/tests/Jellyfin.Networking.Tests/obj/project.assets.json b/tests/Jellyfin.Networking.Tests/obj/project.assets.json
index 244eaad3..5acb6f93 100644
--- a/tests/Jellyfin.Networking.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Networking.Tests/obj/project.assets.json
@@ -1095,7 +1095,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1112,6 +1114,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -1130,7 +1133,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1144,6 +1149,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1160,6 +1166,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1188,6 +1195,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1206,8 +1214,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1220,6 +1230,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0"
},
@@ -2867,6 +2878,7 @@
"projectFileDependencyGroups": {
"net11.0": [
"FsCheck.Xunit >= 3.3.2",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Networking >= 1.0.0",
"Jellyfin.Sdk >= 2025.10.21",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -2914,6 +2926,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj"
}
diff --git a/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache b/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache
index 1fd118f1..3a22e8f1 100644
--- a/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "2beOD7YFSA8=",
+ "dgSpecHash": "VqeAp96kZ+8=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Networking.Tests\\Jellyfin.Networking.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Providers.Tests/obj/Jellyfin.Providers.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Providers.Tests/obj/Jellyfin.Providers.Tests.csproj.nuget.dgspec.json
index b42552c0..5965598e 100644
--- a/tests/Jellyfin.Providers.Tests/obj/Jellyfin.Providers.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Providers.Tests/obj/Jellyfin.Providers.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2560,6 +2744,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2590,6 +2777,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2605,6 +2799,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -2625,6 +2826,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
@@ -3069,6 +3288,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3080,6 +3306,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3091,6 +3324,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3223,7 +3474,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3247,6 +3502,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3270,6 +3539,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3681,7 +3968,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3718,10 +4009,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4616,6 +4939,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Providers.Tests/obj/project.assets.json b/tests/Jellyfin.Providers.Tests/obj/project.assets.json
index 1096f52a..97a2feee 100644
--- a/tests/Jellyfin.Providers.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Providers.Tests/obj/project.assets.json
@@ -1291,7 +1291,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1308,6 +1310,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -1326,7 +1329,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1340,6 +1345,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1356,6 +1362,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1384,6 +1391,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1402,8 +1410,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1417,6 +1427,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"Jellyfin.Sdk": "2025.10.21",
@@ -3391,6 +3402,7 @@
"AutoFixture >= 4.18.1",
"AutoFixture.AutoMoq >= 4.18.1",
"AutoFixture.Xunit2 >= 4.18.1",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Sdk >= 2025.10.21",
"MediaBrowser.Providers >= 1.0.0",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -3440,6 +3452,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache b/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache
index 84d5260d..612e547e 100644
--- a/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "fflBqbb1mUM=",
+ "dgSpecHash": "yVpchsJCVR8=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Providers.Tests\\Jellyfin.Providers.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Server.Implementations.Tests/obj/Jellyfin.Server.Implementations.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Server.Implementations.Tests/obj/Jellyfin.Server.Implementations.Tests.csproj.nuget.dgspec.json
index c198d612..67598761 100644
--- a/tests/Jellyfin.Server.Implementations.Tests/obj/Jellyfin.Server.Implementations.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Server.Implementations.Tests/obj/Jellyfin.Server.Implementations.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -478,6 +510,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -503,6 +538,38 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TagLibSharp": {
"target": "Package",
"version": "[2.3.0, )",
@@ -952,6 +1019,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -1002,6 +1072,13 @@
"version": "[0.2.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Data.Sqlite": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -1027,6 +1104,24 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net.DotNetRuntime": {
"target": "Package",
"version": "[4.4.1, )",
@@ -1449,6 +1544,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
@@ -1479,6 +1577,13 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -1489,11 +1594,36 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[7.3.2, )",
@@ -1915,6 +2045,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -1942,10 +2075,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2367,6 +2537,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2405,10 +2578,47 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Relational": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2827,6 +3037,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2874,6 +3087,25 @@
"version": "[2.9.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -2924,6 +3156,24 @@
"version": "[3.1.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net": {
"target": "Package",
"version": "[8.2.1, )",
@@ -3491,6 +3741,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3515,6 +3768,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4078,6 +4370,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -4110,15 +4405,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4536,6 +4863,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -4560,6 +4890,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4978,6 +5347,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -5013,16 +5385,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
@@ -5447,6 +5851,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -5474,17 +5881,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -6046,6 +6485,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -6076,6 +6518,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -6091,6 +6540,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -6111,6 +6567,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
@@ -6537,6 +7011,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -6561,6 +7038,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -6994,6 +7510,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -7005,6 +7528,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -7016,6 +7546,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7148,7 +7696,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -7172,6 +7724,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -7195,6 +7761,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7610,6 +8194,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -7637,6 +8224,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -7665,6 +8266,24 @@
"target": "Package",
"version": "[11.0.0-preview.1, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -8080,6 +8699,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -8107,6 +8729,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -8130,6 +8766,24 @@
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -8550,6 +9204,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -8593,11 +9250,31 @@
"version": "[8.3.1.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
"SkiaSharp": {
"target": "Package",
"version": "[3.116.1, 3.116.1]",
@@ -8613,6 +9290,18 @@
"version": "[3.116.1, 3.116.1]",
"versionCentrallyManaged": true
},
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Svg.Skia": {
"target": "Package",
"version": "[3.4.1, )",
@@ -9037,6 +9726,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -9067,10 +9759,42 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -9482,7 +10206,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -9519,10 +10247,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -9943,6 +10703,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -9973,6 +10736,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -9982,6 +10752,31 @@
"target": "Package",
"version": "[10.8.0, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -11366,6 +12161,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -11390,6 +12188,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -11806,6 +12638,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -12321,6 +13156,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Server.Implementations.Tests/obj/project.assets.json b/tests/Jellyfin.Server.Implementations.Tests/obj/project.assets.json
index 39074f95..2f31d52c 100644
--- a/tests/Jellyfin.Server.Implementations.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Server.Implementations.Tests/obj/project.assets.json
@@ -3011,6 +3011,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"TagLibSharp": "2.3.0"
@@ -3032,6 +3033,7 @@
"Emby.Photos": "1.0.0",
"Ignore": "0.2.1",
"Jellyfin.Api": "1.0.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
@@ -3063,12 +3065,14 @@
"dependencies": {
"CommandLineParser": "2.9.1",
"Emby.Server.Implementations": "1.0.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Database.Providers.Postgres": "1.0.0",
"Jellyfin.Drawing": "1.0.0",
"Jellyfin.Drawing.Skia": "1.0.0",
"Jellyfin.LiveTv": "1.0.0",
"Jellyfin.MediaEncoding.Hls": "1.0.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Jellyfin.Server.Implementations": "1.0.0",
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
"Morestachio": "5.0.1.631",
@@ -3097,6 +3101,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.MediaEncoding.Hls": "1.0.0",
"Jellyfin.Networking": "1.0.0",
@@ -3131,7 +3136,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -3148,6 +3155,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -3166,7 +3174,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -3180,6 +3190,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -3194,6 +3205,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
@@ -3211,6 +3223,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
@@ -3228,6 +3241,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3247,6 +3261,7 @@
"BlurHashSharp": "1.4.0-pre.1",
"BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
"HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3269,6 +3284,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -3283,6 +3299,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3333,6 +3350,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -3351,8 +3369,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -3365,6 +3385,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0"
},
@@ -3380,12 +3401,14 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Database.Providers.Postgres": "1.0.0",
"Jellyfin.Database.Providers.Sqlite": "1.0.0",
"Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -3402,6 +3425,7 @@
"AutoFixture": "4.18.1",
"AutoFixture.AutoMoq": "4.18.1",
"AutoFixture.Xunit2": "4.18.1",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21",
"Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118",
"Microsoft.NET.Test.Sdk": "18.0.1",
@@ -3422,8 +3446,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.LocalMetadata.dll": {}
@@ -3438,6 +3464,7 @@
"dependencies": {
"AsyncKeyedLock": "8.0.2",
"BDInfo": "0.8.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3458,6 +3485,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"Jellyfin.Sdk": "2025.10.21",
@@ -3481,8 +3509,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.XbmcMetadata.dll": {}
@@ -7816,6 +7846,7 @@
"AutoFixture >= 4.18.1",
"AutoFixture.AutoMoq >= 4.18.1",
"Emby.Server.Implementations >= 1.0.0",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Database.Implementations >= 10.11.0",
"Jellyfin.Sdk >= 2025.10.21",
"Jellyfin.Server.Implementations >= 1.0.0",
@@ -7872,6 +7903,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
diff --git a/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache b/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache
index 72a29b55..396ec6b5 100644
--- a/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "piiIPUfU31k=",
+ "dgSpecHash": "wBLLsvDPe+0=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Server.Implementations.Tests\\Jellyfin.Server.Implementations.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Server.Integration.Tests/obj/Jellyfin.Server.Integration.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Server.Integration.Tests/obj/Jellyfin.Server.Integration.Tests.csproj.nuget.dgspec.json
index 65b4c0dc..2c498de6 100644
--- a/tests/Jellyfin.Server.Integration.Tests/obj/Jellyfin.Server.Integration.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Server.Integration.Tests/obj/Jellyfin.Server.Integration.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -478,6 +510,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -503,6 +538,38 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TagLibSharp": {
"target": "Package",
"version": "[2.3.0, )",
@@ -952,6 +1019,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -1002,6 +1072,13 @@
"version": "[0.2.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Data.Sqlite": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -1027,6 +1104,24 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net.DotNetRuntime": {
"target": "Package",
"version": "[4.4.1, )",
@@ -1449,6 +1544,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
@@ -1479,6 +1577,13 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -1489,11 +1594,36 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[7.3.2, )",
@@ -1915,6 +2045,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -1942,10 +2075,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2367,6 +2537,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2405,10 +2578,47 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Relational": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2827,6 +3037,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2874,6 +3087,25 @@
"version": "[2.9.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -2924,6 +3156,24 @@
"version": "[3.1.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net": {
"target": "Package",
"version": "[8.2.1, )",
@@ -3491,6 +3741,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3515,6 +3768,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4078,6 +4370,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -4110,15 +4405,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4536,6 +4863,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -4560,6 +4890,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4978,6 +5347,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -5013,16 +5385,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
@@ -5447,6 +5851,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -5474,17 +5881,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -6046,6 +6485,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -6076,6 +6518,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -6091,6 +6540,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -6111,6 +6567,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
@@ -6537,6 +7011,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -6561,6 +7038,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -6994,6 +7510,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -7005,6 +7528,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -7016,6 +7546,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7148,7 +7696,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -7172,6 +7724,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -7195,6 +7761,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7610,6 +8194,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -7637,6 +8224,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -7665,6 +8266,24 @@
"target": "Package",
"version": "[11.0.0-preview.1, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -8080,6 +8699,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -8107,6 +8729,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -8130,6 +8766,24 @@
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -8550,6 +9204,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -8593,11 +9250,31 @@
"version": "[8.3.1.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
"SkiaSharp": {
"target": "Package",
"version": "[3.116.1, 3.116.1]",
@@ -8613,6 +9290,18 @@
"version": "[3.116.1, 3.116.1]",
"versionCentrallyManaged": true
},
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Svg.Skia": {
"target": "Package",
"version": "[3.4.1, )",
@@ -9037,6 +9726,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -9067,10 +9759,42 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -9482,7 +10206,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -9519,10 +10247,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -9943,6 +10703,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -9973,6 +10736,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -9982,6 +10752,31 @@
"target": "Package",
"version": "[10.8.0, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -11366,6 +12161,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -11390,6 +12188,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -11802,6 +12634,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Server.Integration.Tests/obj/project.assets.json b/tests/Jellyfin.Server.Integration.Tests/obj/project.assets.json
index adcc5218..945993f6 100644
--- a/tests/Jellyfin.Server.Integration.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Server.Integration.Tests/obj/project.assets.json
@@ -2981,6 +2981,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"TagLibSharp": "2.3.0"
@@ -3002,6 +3003,7 @@
"Emby.Photos": "1.0.0",
"Ignore": "0.2.1",
"Jellyfin.Api": "1.0.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
@@ -3033,12 +3035,14 @@
"dependencies": {
"CommandLineParser": "2.9.1",
"Emby.Server.Implementations": "1.0.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Database.Providers.Postgres": "1.0.0",
"Jellyfin.Drawing": "1.0.0",
"Jellyfin.Drawing.Skia": "1.0.0",
"Jellyfin.LiveTv": "1.0.0",
"Jellyfin.MediaEncoding.Hls": "1.0.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Jellyfin.Server.Implementations": "1.0.0",
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
"Morestachio": "5.0.1.631",
@@ -3067,6 +3071,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.MediaEncoding.Hls": "1.0.0",
"Jellyfin.Networking": "1.0.0",
@@ -3101,7 +3106,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -3118,6 +3125,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -3136,7 +3144,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -3150,6 +3160,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -3164,6 +3175,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
@@ -3181,6 +3193,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
@@ -3198,6 +3211,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3217,6 +3231,7 @@
"BlurHashSharp": "1.4.0-pre.1",
"BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
"HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3239,6 +3254,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -3253,6 +3269,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3303,6 +3320,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -3321,8 +3339,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -3335,6 +3355,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0"
},
@@ -3350,12 +3371,14 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Database.Providers.Postgres": "1.0.0",
"Jellyfin.Database.Providers.Sqlite": "1.0.0",
"Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -3369,8 +3392,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.LocalMetadata.dll": {}
@@ -3385,6 +3410,7 @@
"dependencies": {
"AsyncKeyedLock": "8.0.2",
"BDInfo": "0.8.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3405,6 +3431,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"Jellyfin.Sdk": "2025.10.21",
@@ -3428,8 +3455,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.XbmcMetadata.dll": {}
@@ -7719,6 +7748,7 @@
"AutoFixture >= 4.18.1",
"AutoFixture.AutoMoq >= 4.18.1",
"AutoFixture.Xunit2 >= 4.18.1",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Sdk >= 2025.10.21",
"Microsoft.AspNetCore.Mvc.Testing >= 11.0.0-preview.1.26104.118",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -7770,6 +7800,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache b/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache
index c5b3ff1e..5c2df665 100644
--- a/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "w91ZWhPlQGM=",
+ "dgSpecHash": "pAHS2jcV+/I=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Server.Integration.Tests\\Jellyfin.Server.Integration.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.Server.Tests/obj/Jellyfin.Server.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Server.Tests/obj/Jellyfin.Server.Tests.csproj.nuget.dgspec.json
index ff2828b1..985eb585 100644
--- a/tests/Jellyfin.Server.Tests/obj/Jellyfin.Server.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.Server.Tests/obj/Jellyfin.Server.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -478,6 +510,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -503,6 +538,38 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TagLibSharp": {
"target": "Package",
"version": "[2.3.0, )",
@@ -952,6 +1019,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -1002,6 +1072,13 @@
"version": "[0.2.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Data.Sqlite": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -1027,6 +1104,24 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net.DotNetRuntime": {
"target": "Package",
"version": "[4.4.1, )",
@@ -1449,6 +1544,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj"
},
@@ -1479,6 +1577,13 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -1489,11 +1594,36 @@
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[7.3.2, )",
@@ -1915,6 +2045,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -1942,10 +2075,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2367,6 +2537,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2405,10 +2578,47 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Relational": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2827,6 +3037,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
},
@@ -2874,6 +3087,25 @@
"version": "[2.9.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -2924,6 +3156,24 @@
"version": "[3.1.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"prometheus-net": {
"target": "Package",
"version": "[8.2.1, )",
@@ -3491,6 +3741,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3515,6 +3768,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4078,6 +4370,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -4110,15 +4405,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4536,6 +4863,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -4560,6 +4890,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -4978,6 +5347,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -5013,16 +5385,48 @@
"version": "[0.8.0, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"UTF.Unknown": {
"target": "Package",
"version": "[2.6.0, )",
@@ -5447,6 +5851,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -5474,17 +5881,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -6046,6 +6485,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -6076,6 +6518,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -6091,6 +6540,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -6111,6 +6567,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
@@ -6537,6 +7011,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -6561,6 +7038,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -6994,6 +7510,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -7005,6 +7528,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -7016,6 +7546,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7148,7 +7696,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -7172,6 +7724,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -7195,6 +7761,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -7610,6 +8194,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -7637,6 +8224,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -7665,6 +8266,24 @@
"target": "Package",
"version": "[11.0.0-preview.1, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -8080,6 +8699,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -8107,6 +8729,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -8130,6 +8766,24 @@
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -8550,6 +9204,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -8593,11 +9250,31 @@
"version": "[8.3.1.1, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
"SkiaSharp": {
"target": "Package",
"version": "[3.116.1, 3.116.1]",
@@ -8613,6 +9290,18 @@
"version": "[3.116.1, 3.116.1]",
"versionCentrallyManaged": true
},
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"Svg.Skia": {
"target": "Package",
"version": "[3.4.1, )",
@@ -9037,6 +9726,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -9067,10 +9759,42 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -9482,7 +10206,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -9519,10 +10247,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -9943,6 +10703,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -9973,6 +10736,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -9982,6 +10752,31 @@
"target": "Package",
"version": "[10.8.0, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -11366,6 +12161,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -11390,6 +12188,40 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -11802,6 +12634,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Server.Tests/obj/project.assets.json b/tests/Jellyfin.Server.Tests/obj/project.assets.json
index bb88a718..03f44b08 100644
--- a/tests/Jellyfin.Server.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.Server.Tests/obj/project.assets.json
@@ -2965,6 +2965,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"TagLibSharp": "2.3.0"
@@ -2986,6 +2987,7 @@
"Emby.Photos": "1.0.0",
"Ignore": "0.2.1",
"Jellyfin.Api": "1.0.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
@@ -3017,12 +3019,14 @@
"dependencies": {
"CommandLineParser": "2.9.1",
"Emby.Server.Implementations": "1.0.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Database.Providers.Postgres": "1.0.0",
"Jellyfin.Drawing": "1.0.0",
"Jellyfin.Drawing.Skia": "1.0.0",
"Jellyfin.LiveTv": "1.0.0",
"Jellyfin.MediaEncoding.Hls": "1.0.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Jellyfin.Server.Implementations": "1.0.0",
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
"Morestachio": "5.0.1.631",
@@ -3051,6 +3055,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.MediaEncoding.Hls": "1.0.0",
"Jellyfin.Networking": "1.0.0",
@@ -3085,7 +3090,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -3102,6 +3109,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -3120,7 +3128,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -3134,6 +3144,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -3148,6 +3159,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118",
@@ -3165,6 +3177,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
@@ -3182,6 +3195,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3201,6 +3215,7 @@
"BlurHashSharp": "1.4.0-pre.1",
"BlurHashSharp.SkiaSharp": "1.4.0-pre.1",
"HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3223,6 +3238,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -3237,6 +3253,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3287,6 +3304,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -3305,8 +3323,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -3319,6 +3339,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0"
},
@@ -3334,12 +3355,14 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Database.Providers.Postgres": "1.0.0",
"Jellyfin.Database.Providers.Sqlite": "1.0.0",
"Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -3353,8 +3376,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.LocalMetadata.dll": {}
@@ -3369,6 +3394,7 @@
"dependencies": {
"AsyncKeyedLock": "8.0.2",
"BDInfo": "0.8.0",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
@@ -3389,6 +3415,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"Jellyfin.Sdk": "2025.10.21",
@@ -3412,8 +3439,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.XbmcMetadata.dll": {}
@@ -7686,6 +7715,7 @@
"AutoFixture >= 4.18.1",
"AutoFixture.AutoMoq >= 4.18.1",
"AutoFixture.Xunit2 >= 4.18.1",
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Sdk >= 2025.10.21",
"Microsoft.AspNetCore.Mvc.Testing >= 11.0.0-preview.1.26104.118",
"Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0",
@@ -7736,6 +7766,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.Server.Tests/obj/project.nuget.cache b/tests/Jellyfin.Server.Tests/obj/project.nuget.cache
index 33567c84..edfbfa91 100644
--- a/tests/Jellyfin.Server.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.Server.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "DcxrFskonXc=",
+ "dgSpecHash": "gh1cw+kHS8I=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Server.Tests\\Jellyfin.Server.Tests.csproj",
"expectedPackageFiles": [
diff --git a/tests/Jellyfin.XbmcMetadata.Tests/obj/Jellyfin.XbmcMetadata.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.XbmcMetadata.Tests/obj/Jellyfin.XbmcMetadata.Tests.csproj.nuget.dgspec.json
index 0e087f91..23daf55f 100644
--- a/tests/Jellyfin.XbmcMetadata.Tests/obj/Jellyfin.XbmcMetadata.Tests.csproj.nuget.dgspec.json
+++ b/tests/Jellyfin.XbmcMetadata.Tests/obj/Jellyfin.XbmcMetadata.Tests.csproj.nuget.dgspec.json
@@ -39,20 +39,13 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
},
- "warningProperties": {
- "allWarningsAsErrors": true,
- "warnAsError": [
- "NU1605"
- ],
- "warnNotAsError": [
- "NU1902",
- "NU1903"
- ]
- },
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
@@ -63,6 +56,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -473,6 +505,9 @@
"net11.0": {
"targetAlias": "net11.0",
"projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj"
}
@@ -500,10 +535,47 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -918,6 +990,9 @@
"projectReferences": {
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -942,6 +1017,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -1505,6 +1619,9 @@
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj"
}
@@ -1537,15 +1654,47 @@
"version": "[2.5.4, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -1961,6 +2110,9 @@
"E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj"
},
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ },
"E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj"
}
@@ -1988,17 +2140,49 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"MimeTypes": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[2.5.2, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -2560,6 +2744,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -2590,6 +2777,13 @@
"version": "[8.0.2, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -2605,6 +2799,13 @@
"version": "[8.0.1, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.Extensions.Caching.Abstractions": {
"target": "Package",
"version": "[11.0.0-preview.1.26104.118, )",
@@ -2625,6 +2826,24 @@
"version": "[1.4.1, )",
"versionCentrallyManaged": true
},
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ },
"TMDbLib": {
"target": "Package",
"version": "[2.3.0, )",
@@ -3051,6 +3270,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
@@ -3075,6 +3297,45 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
+ "dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Jellyfin.Sdk": {
+ "target": "Package",
+ "version": "[2025.10.21, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
+ }
+ },
"centralPackageVersions": {
"AsyncKeyedLock": "8.0.2",
"AutoFixture": "4.18.1",
@@ -3508,6 +3769,13 @@
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
@@ -3519,6 +3787,13 @@
"version": "[3.11.0, )",
"versionCentrallyManaged": true
},
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.CodeAnalysis.CSharp": {
"suppressParent": "All",
"target": "Package",
@@ -3530,6 +3805,24 @@
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -3662,7 +3955,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -3686,6 +3983,20 @@
"net11.0": {
"targetAlias": "net11.0",
"dependencies": {
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
@@ -3709,6 +4020,24 @@
"target": "Package",
"version": "[8.6.5, )",
"versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -4120,7 +4449,11 @@
"frameworks": {
"net11.0": {
"targetAlias": "net11.0",
- "projectReferences": {}
+ "projectReferences": {
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
+ }
+ }
}
},
"warningProperties": {
@@ -4157,10 +4490,42 @@
"version": "[60.1.0-alpha.356, )",
"versionCentrallyManaged": true
},
+ "IDisposableAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.0.8, )",
+ "versionCentrallyManaged": true
+ },
"Jellyfin.Sdk": {
"target": "Package",
"version": "[2025.10.21, )",
"versionCentrallyManaged": true
+ },
+ "Microsoft.CodeAnalysis.BannedApiAnalyzers": {
+ "include": "Runtime, Build, Native, ContentFiles, Analyzers",
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[4.14.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SerilogAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[0.15.0, )",
+ "versionCentrallyManaged": true
+ },
+ "SmartAnalyzers.MultithreadingAnalyzer": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.1.31, )",
+ "versionCentrallyManaged": true
+ },
+ "StyleCop.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[1.2.0-beta.556, )",
+ "versionCentrallyManaged": true
}
},
"centralPackageVersions": {
@@ -5058,6 +5423,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.assets.json b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.assets.json
index 9d50aaf0..5fba36b9 100644
--- a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.assets.json
+++ b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.assets.json
@@ -1210,7 +1210,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.CodeAnalysis": "1.0.0",
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Common.dll": {}
@@ -1227,6 +1229,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"BitFaster.Caching": "2.5.4",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
"Jellyfin.MediaEncoding.Keyframes": "10.11.0",
"Jellyfin.Model": "10.12.0",
@@ -1245,7 +1248,9 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
+ "Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118"
},
"compile": {
@@ -1259,6 +1264,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118",
"Polly": "8.6.5"
},
@@ -1275,6 +1281,7 @@
"dependencies": {
"Diacritics": "4.1.4",
"ICU4N.Transliterator": "60.1.0-alpha.356",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Sdk": "2025.10.21"
},
"compile": {
@@ -1303,6 +1310,7 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Data": "10.12.0",
"Jellyfin.Extensions": "10.12.0",
"Jellyfin.Sdk": "2025.10.21"
@@ -1321,8 +1329,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Common": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/Jellyfin.Naming.dll": {}
@@ -1336,6 +1346,7 @@
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
"AsyncKeyedLock": "8.0.2",
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
"Jellyfin.Model": "10.12.0",
"Jellyfin.Sdk": "2025.10.21",
@@ -1359,8 +1370,10 @@
"type": "project",
"framework": ".NETCoreApp,Version=v11.0",
"dependencies": {
+ "Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Controller": "10.12.0",
- "Jellyfin.Model": "10.12.0"
+ "Jellyfin.Model": "10.12.0",
+ "Jellyfin.Sdk": "2025.10.21"
},
"compile": {
"bin/placeholder/MediaBrowser.XbmcMetadata.dll": {}
@@ -3220,6 +3233,7 @@
},
"projectFileDependencyGroups": {
"net11.0": [
+ "Jellyfin.CodeAnalysis >= 1.0.0",
"Jellyfin.Sdk >= 2025.10.21",
"MediaBrowser.Providers >= 1.0.0",
"MediaBrowser.XbmcMetadata >= 1.0.0",
@@ -3273,6 +3287,9 @@
},
"E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": {
"projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj"
+ },
+ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": {
+ "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj"
}
}
}
diff --git a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache
index 27891996..6aa62ef1 100644
--- a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache
+++ b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "ReVbGFytYdI=",
+ "dgSpecHash": "+lkQwnGRsbE=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.XbmcMetadata.Tests\\Jellyfin.XbmcMetadata.Tests.csproj",
"expectedPackageFiles": [