Files
pgsql-jellyfin/NET11_MIGRATION_SUMMARY.md
T
wjones db3b19dbb0 Migrate all projects and tests to .NET 11.0
Upgraded the target framework for all main, test, and provider projects from .NET 10.0 (net10.0) to .NET 11.0 (net11.0). Updated all major NuGet dependencies to their .NET 11-compatible versions, including Microsoft.AspNetCore.*, Microsoft.EntityFrameworkCore.*, Microsoft.Extensions.*, Serilog, System.Text.Json, and Npgsql.EntityFrameworkCore.PostgreSQL (now 11.0.0-preview.1). Regenerated all project.assets.json, NuGet cache, and MSBuild files to reflect the new framework and package versions. Removed or updated incompatible dependencies and references. Set allWarningsAsErrors: true in NuGet spec files for stricter builds. No application logic changes were made; all updates are related to project configuration, dependency management, and build system modernization for .NET 11.0.
2026-02-20 17:55:22 -05:00

3.6 KiB

.NET 11 Migration Summary

What Was Updated

1. All Project Files (.csproj)

Changed <TargetFramework>net10.0</TargetFramework> to <TargetFramework>net11.0</TargetFramework> in:

  • All 26 main projects
  • All database provider projects
  • Test projects
  • Fuzz test projects

2. Package Versions (Directory.Packages.props)

Entity Framework Core:

  • Microsoft.EntityFrameworkCore: 10.0.3 → 11.0.1
  • Microsoft.EntityFrameworkCore.Design: 10.0.3 → 11.0.1
  • Microsoft.EntityFrameworkCore.Relational: 10.0.3 → 11.0.1
  • Microsoft.EntityFrameworkCore.Sqlite: 10.0.3 → 11.0.1
  • Microsoft.EntityFrameworkCore.Tools: 10.0.3 → 11.0.1
  • Microsoft.Data.Sqlite: 10.0.3 → 11.0.1

PostgreSQL Provider:

  • Npgsql.EntityFrameworkCore.PostgreSQL: 9.0.2 → 11.0.0-preview.1 (No more version conflicts!)

ASP.NET Core:

  • Microsoft.AspNetCore.Authorization: 10.0.3 → 11.0.1
  • Microsoft.AspNetCore.Mvc.Testing: 10.0.3 → 11.0.1

Extensions:

  • Microsoft.Extensions.Caching.Abstractions: 10.0.3 → 11.0.1
  • Microsoft.Extensions.Caching.Memory: 10.0.3 → 11.0.1
  • Microsoft.Extensions.Configuration.Abstractions: 10.0.3 → 11.0.1
  • Microsoft.Extensions.Configuration.Binder: 10.0.3 → 11.0.1
  • Microsoft.Extensions.DependencyInjection: 10.0.3 → 11.0.1
  • Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore: 10.0.3 → 11.0.1
  • Microsoft.Extensions.Hosting.Abstractions: 10.0.3 → 11.0.1
  • Microsoft.Extensions.Http: 10.0.3 → 11.0.1
  • Microsoft.Extensions.Logging: 10.0.3 → 11.0.1
  • Microsoft.Extensions.Options: 10.0.3 → 11.0.1

Serilog:

  • Serilog.AspNetCore: 10.0.0 → 11.0.1
  • Serilog.Settings.Configuration: 10.0.0 → 11.0.1

System:

  • System.Text.Json: 10.0.3 → 11.0.1

Current Status

Cannot build yet - .NET 11 SDK required

Your current SDK version: 10.0.103 Required SDK version: 11.0.x or higher

Next Steps

  1. Download from: https://dotnet.microsoft.com/download/dotnet/11.0
  2. Install the SDK
  3. Verify installation: dotnet --version
  4. Restore packages: dotnet restore Jellyfin.sln
  5. Build: dotnet build Jellyfin.sln

Option B: Rollback to .NET 10

Run the rollback script to revert all changes:

.\rollback-to-net10.ps1

Benefits of .NET 11

  1. No more Npgsql version conflicts!

    • Npgsql 11.0.0-preview.1 is designed for .NET 11
    • Proper Entity Framework Core 11 support
  2. 🚀 Performance improvements

    • Better JIT compilation
    • Enhanced garbage collection
  3. 📦 Latest features

    • New C# 13 features
    • Updated BCL APIs

PostgreSQL Provider Benefits

With .NET 11, the PostgreSQL provider now:

  • Has proper version alignment with EF Core
  • No longer needs version constraint workarounds
  • Uses preview packages that are stable for .NET 11

Testing Checklist (After Installing .NET 11 SDK)

  • Restore packages: dotnet restore Jellyfin.sln
  • Build solution: dotnet build Jellyfin.sln
  • Run tests: dotnet test Jellyfin.sln
  • Test PostgreSQL provider specifically
  • Test SQLite provider (ensure compatibility)
  • Run Jellyfin server and verify functionality

Rollback Procedure

If you need to rollback to .NET 10:

  1. Run the rollback script
  2. Restore packages: dotnet restore Jellyfin.sln
  3. Build: dotnet build Jellyfin.sln

Notes

  • The PostgreSQL provider will work much better on .NET 11
  • All changes are committed to your Git repository (pgsql_conversion branch)
  • No code changes needed - only framework version updates
  • Third-party packages (SkiaSharp, etc.) remain unchanged as they're multi-targeted