Skip to content

[migration] Migrate project to SDK 10 and fix deprecations#284

Open
marwannettour wants to merge 6 commits intomasterfrom
283-feature-infrastructure-migration-to-sdk-v100
Open

[migration] Migrate project to SDK 10 and fix deprecations#284
marwannettour wants to merge 6 commits intomasterfrom
283-feature-infrastructure-migration-to-sdk-v100

Conversation

@marwannettour
Copy link
Copy Markdown
Collaborator

@marwannettour marwannettour commented Apr 2, 2026

Description

Upgrades the entire ByteSync solution from .NET 8 to .NET 10, bringing in the latest runtime features, performance improvements, and long-term support.
All four library/application projects and all six test projects are updated in a single atomic change so the solution remains consistently targeted.

🛠️ Changes Made

Target framework bump (net8.0net10.0)

Project Type
ByteSync.Client Desktop app (Avalonia)
ByteSync.Common Shared business logic
ByteSync.Functions Azure Functions isolated-worker host
ByteSync.ServerCommon Server-side services
ByteSync.Client.UnitTests Unit tests
ByteSync.Client.IntegrationTests Integration tests
ByteSync.Common.Tests Tests
ByteSync.Functions.UnitTests Tests
ByteSync.Functions.IntegrationTests Tests
ByteSync.ServerCommon.Tests Tests
ByteSync.TestsCommon Shared test infrastructure

NuGet package upgrades

All Microsoft packages that are versioned alongside the runtime were updated to their .NET 10 equivalents:

Package Old version New version
Microsoft.AspNetCore.Authentication.JwtBearer 8.0.23 10.0.5
Microsoft.AspNetCore.SignalR.Client 8.0.23 10.0.5
Microsoft.Extensions.Configuration / .Json 8.0.x 10.0.5
Microsoft.Extensions.DependencyInjection 8.0.1 10.0.5
Microsoft.Extensions.Http 8.0.1 10.0.5
Microsoft.Extensions.Logging.Abstractions 8.0.3 10.0.5
Microsoft.Azure.Functions.Worker 1.24.0 2.51.0
Microsoft.Azure.Functions.Worker.Sdk 1.18.1 2.0.7
Microsoft.Azure.Functions.Worker.ApplicationInsights 1.4.0 2.50.0
Microsoft.Azure.AppConfiguration.AspNetCore 8.1.2 8.5.0
Microsoft.Azure.SignalR / .Management 1.32.0 1.33.0

Breaking change adaptations (Azure Functions Worker v2 API)

The WriteAsJsonAsync overload that accepted an explicit HttpStatusCode argument was removed in the Azure Functions Worker v2 SDK. All affected HTTP function handlers were updated to the new pattern: set the status code on the response object separately, then call WriteAsJsonAsync without the status parameter.

Files updated:

  • src/ByteSync.Functions/Http/AuthFunction.cs
  • src/ByteSync.Functions/Http/AnnouncementFunction.cs
  • src/ByteSync.Functions/Http/CloudSessionFunction.cs
  • src/ByteSync.Functions/Http/CloudSessionProfileFunction.cs
  • src/ByteSync.Functions/Http/FileTransferFunction.cs
  • src/ByteSync.Functions/Http/InventoryFunction.cs
  • src/ByteSync.Functions/Http/LobbyFunction.cs
  • src/ByteSync.Functions/Http/SessionMemberFunction.cs
  • src/ByteSync.Functions/Http/TrustFunction.cs
  • src/ByteSync.Functions/Helpers/Middlewares/JwtMiddleware.cs

🧪 How to Test?

  1. Fetch the branch:
    git fetch && git checkout 283-feature-infrastructure-migration-to-sdk-v100
    
  2. Ensure .NET 10 SDK is installed:
    dotnet --version   # should print 10.x.x
    
  3. Build the solution:
    dotnet build ByteSync.sln
    
  4. Run the full test suite:
    dotnet test ByteSync.sln
    
  5. Start the Azure Functions host locally and verify endpoints respond correctly (authentication, session creation, file transfer).

📌 Additional Notes

  • The Microsoft.Extensions.Http.Polly package (8.0.22) was intentionally left at its current version as no .NET 10-specific release is yet available; it remains compatible.
  • The Azure Functions isolated-worker model is fully supported on .NET 10 via the 2.x SDK and Worker packages.
  • No public API surface changes were introduced; all adaptations are internal to the HTTP response handling layer.

@marwannettour marwannettour linked an issue Apr 2, 2026 that may be closed by this pull request
@marwannettour marwannettour changed the title [ADD] SDK 8.0 --> SDK 10 [migration] Migrate project to SDK 10 and fix deprecations Apr 3, 2026
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 3, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
34.4% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feature] Infrastructure migration to SDK v10.0

1 participant