# .NET 11 Migration Summary ## What Was Updated ### 1. All Project Files (.csproj) Changed `net10.0` to `net11.0` 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 ### Option A: Install .NET 11 SDK (Recommended) 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: ```powershell .\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