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