Use case
.NET 10 is the current LTS release (GA Nov 2025, supported until Nov 10, 2028), while .NET 8 reaches end of support on Nov 10, 2026. The example projects and documentation in this repository still target .NET 8 — and several SAM templates were even still on the dotnet6 managed runtime while their .csproj already targeted net8.0 (a pre-existing inconsistency). New users following the examples are pointed at a runtime that is about to go out of support.
The production libraries under libraries/src/ already multi-target net8.0;net10.0, so the examples/docs are the part that lags behind.
Solution/User Experience
Migrate all example projects and documentation to .NET 10, without touching the production libraries:
- All example
.csproj net8.0 → net10.0
- SAM templates
Runtime dotnet6/dotnet8 → dotnet10
aws-lambda-tools-defaults.json function-runtime → dotnet10
- Container examples: Dockerfile base images repinned to real .NET 10 digests (MCR
dotnet/sdk:10.0, ECR Public lambda/dotnet:10.x, multi-arch) and publish path net6.0 → net10.0; DockerTag → dotnet10.0-v1
- Example READMEs and root README updated
- Add
docs/migration-guide-v4.md
After the change, users copying an example get a project that runs on the current LTS runtime out of the box.
Alternative solutions
- Keep examples on .NET 8 until closer to its EOL — rejected, since .NET 8 EOL is imminent and the libraries already support net10.0.
- Also modernize
libraries/src/ for .NET 10 / C# 14 in the same change — deferred; that is constrained by the shared net8.0+net10.0 source and LangVersion=default, and deserves its own discussion.
Use case
.NET 10 is the current LTS release (GA Nov 2025, supported until Nov 10, 2028), while .NET 8 reaches end of support on Nov 10, 2026. The example projects and documentation in this repository still target .NET 8 — and several SAM templates were even still on the
dotnet6managed runtime while their.csprojalready targetednet8.0(a pre-existing inconsistency). New users following the examples are pointed at a runtime that is about to go out of support.The production libraries under
libraries/src/already multi-targetnet8.0;net10.0, so the examples/docs are the part that lags behind.Solution/User Experience
Migrate all example projects and documentation to .NET 10, without touching the production libraries:
.csprojnet8.0→net10.0Runtimedotnet6/dotnet8→dotnet10aws-lambda-tools-defaults.jsonfunction-runtime→dotnet10dotnet/sdk:10.0, ECR Publiclambda/dotnet:10.x, multi-arch) and publish pathnet6.0→net10.0;DockerTag→dotnet10.0-v1docs/migration-guide-v4.mdAfter the change, users copying an example get a project that runs on the current LTS runtime out of the box.
Alternative solutions
libraries/src/for .NET 10 / C# 14 in the same change — deferred; that is constrained by the sharednet8.0+net10.0source andLangVersion=default, and deserves its own discussion.