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

117 lines
3.6 KiB
Markdown

# .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
### 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