Skip to content

chore: upgrade to .NET 10 - #28

Merged
santidev21 merged 4 commits into
mainfrom
chore/upgrade-net10
Nov 2, 2026
Merged

santidev21 merged 4 commits into
mainfrom
chore/upgrade-net10

Conversation

@santidev21

Copy link
Copy Markdown
Owner

Summary

  • Target net10.0, pin the SDK in global.json, drop the LangVersion pin.
  • EF Core, Microsoft.Extensions.*, Mvc.Testing and dotnet-ef to 10.0.14; Npgsql EF provider 10.0.3; Serilog.AspNetCore 10.0.0; HealthChecks.NpgSql 9.0.0 (latest available).
  • Test tooling: Testcontainers 4.16.0 and Respawn 7.0.0, because the old versions pulled vulnerable transitive packages that NuGet audit now reports (test-only, nothing shipped).
  • Docker: aspnet:10.0-noble / sdk:10.0-noble (.NET 10 has no Debian slim image); ASPNETCORE_HTTP_PORTS replaces ASPNETCORE_URLS.
  • CI and SonarCloud use dotnet-version: 10.0.x; README and design doc updated.

Verification

  • dotnet build: 0 warnings; dotnet format --verify-no-changes: clean.
  • 864/864 tests, including PostgreSQL via Testcontainers and architecture tests.
  • has-pending-model-changes: none; no migration touched.
  • Domain, Application and Telegram tests also run inside sdk:10.0 with real ICU/tzdata.
  • Local stack from the new image: migrator exits 0, /health/ready 200, polling works end to end.
  • Trivy with the CI parameters: clean.

Deploy notes

No schema change. The runtime base moves from Debian to Ubuntu 24.04; watch the first start on the VPS. Rollback: redeploy the previous image tag.

🤖 Generated with Claude Code

santidev21 and others added 4 commits November 2, 2026 11:29
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Target net10.0 and drop the LangVersion pin. EF Core, Microsoft.Extensions.*,
Mvc.Testing and dotnet-ef move to 10.0.14, Npgsql EF provider to 10.0.3,
Serilog.AspNetCore to 10.0.0, HealthChecks.NpgSql to 9.0.0 (latest) and
TimeProvider.Testing to 10.11.0.

Testcontainers 3.10 and Respawn 6.2 pulled vulnerable transitive packages that
NuGet audit now reports, so they move to 4.16.0 and 7.0.0. The fixture uses the
image constructor of PostgreSqlBuilder (the parameterless one is obsolete).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The .NET 10 images no longer ship a Debian slim variant, so the runtime is
aspnet:10.0-noble (Ubuntu 24.04, ICU 74 and tzdata), pinned explicitly so the
distro never changes silently. The base image now sets ASPNETCORE_HTTP_PORTS, so
the Dockerfile uses it instead of ASPNETCORE_URLS to avoid the override warning.

CI and SonarCloud use dotnet-version 10.0.x. Docs that named the Debian image are
updated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Badge, runtime table, requirements, EF Core version and the test count (864).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@sonarqubecloud

sonarqubecloud Bot commented Nov 2, 2026

Copy link
Copy Markdown

@santidev21
santidev21 merged commit 04d98d6 into main Nov 2, 2026
10 checks passed
@santidev21
santidev21 deleted the chore/upgrade-net10 branch November 2, 2026 17:45
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.

1 participant