Skip to content

[FEATURE] Upgrade to .NET 10 LTS #368

@nanotaboada

Description

@nanotaboada

Problem

.NET 8 LTS support ends in November 2026 (~9 months remaining). The project needs to migrate to .NET 10 LTS to ensure continued support, security updates, and access to the latest performance improvements and features for the next 2.7+ years.

Proposed Solution

Upgrade the entire solution from .NET 8 to .NET 10 LTS, leveraging new runtime performance improvements, C# 14 language features, and enhanced SDK capabilities while maintaining backward compatibility and existing functionality.

Suggested Approach

  1. Update Target Framework

    • Modify all .csproj files to target net10.0
    • Update global.json to specify .NET 10 SDK version
  2. Update Dependencies

    • Upgrade all NuGet packages to .NET 10 compatible versions
    • Update ASP.NET Core packages to 10.0.x
    • Update Entity Framework Core (if used) to 10.0.x
    • Review and update test framework packages
  3. Docker Configuration

    • Update Dockerfile base images to .NET 10 SDK and runtime
    • Update compose.yaml if it references specific .NET versions
  4. CI/CD Pipeline Updates

    • Update azure-pipelines.yml to use .NET 10 SDK
    • Update GitHub Actions workflows (if any) to use .NET 10
  5. Code Modernization (Optional)

    • Leverage C# 14 features where beneficial (field-backed properties, extension blocks)
    • Review and apply new performance optimizations
    • Consider WebSocketStream for WebSocket implementations
    • Evaluate post-quantum cryptography APIs if applicable
  6. Testing & Validation

    • Run existing test suite to ensure compatibility
    • Perform regression testing
    • Update unit tests if behavior changes are detected
    • Load/performance testing to validate improvements

Acceptance Criteria

  • All projects target net10.0 framework
  • All NuGet packages updated to .NET 10 compatible versions
  • Dockerfile uses .NET 10 SDK and runtime images
  • CI/CD pipelines successfully build with .NET 10
  • All existing unit tests pass
  • All integration tests pass
  • Application runs successfully in local development environment
  • Docker container builds and runs successfully
  • No breaking changes introduced to public APIs
  • README.md updated to reflect .NET 10 requirement
  • CHANGELOG.md updated with upgrade notes

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency filedotnetPull requests that update .NET codeplanningEnables automatic issue planning with CodeRabbit

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions