AWS Lambda .NET 5, 6 and 8: Every Deprecation Date
People keep searching for "AWS Lambda .NET Core 5", and the honest answer starts with a correction: there is no such product. Microsoft dropped the word "Core" at version 5. There was also never a managed .NET 5 runtime on Lambda. .NET 5 ran on Lambda only as a container image, from December 2, 2020, and AWS's runtime table deprecates dotnet5.0 on May 10, 2022, the same day Microsoft's own .NET 5 support ended (May 10, 2022). The two columns AWS uses to force migrations, block function create and block function update, read "N/A" for it. Nothing was ever blocked, because a container function runs whatever base image it was built from. A .NET 5 Lambda still running today is not broken. It is unpatched, and has been for more than four years.
dotnet8 on November 10, 2026, the day Microsoft ends .NET 8 support (November 10, 2026), and blocks function updates from March 3, 2027. Deprecation is the date that matters for security: from then on AWS no longer patches the runtime. The block dates are the operational cliff, and as we wrote in August, AWS moved a whole set of them to 2027 without moving the security dates at all.All eight .NET runtimes, three AWS dates each
AWS publishes three dates per runtime. Deprecation is when Lambda stops applying security patches and support ends. Block function create and block function update come later and stop new deployments: first no new functions on the runtime, then no updates to existing ones, which is the date that ends the ability to ship a fix. Container-only runtimes have no block dates at all. Microsoft's date is the end of its own support for that .NET version, from our .NET page. Lambda dates are from AWS's runtime table as we serve them on the AWS Lambda page.
| Runtime | On Lambda since | AWS deprecation | Function creation blocked | Function updates blocked | Microsoft's end of support |
|---|---|---|---|---|---|
| .NET 10 (dotnet10) | January 8, 2026 | November 14, 2028 | December 14, 2028 | January 15, 2029 | November 14, 2028 |
| .NET 9 (container only) | December 9, 2024 | November 10, 2026 | Not scheduled (container) | Not scheduled (container) | November 10, 2026 |
| .NET 8 (dotnet8) | February 22, 2024 | November 10, 2026 | February 1, 2027 | March 3, 2027 | November 10, 2026 |
| .NET 7 (container only) | November 15, 2022 | May 14, 2024 | N/A (container) | N/A (container) | May 14, 2024 |
| .NET 6 (dotnet6) | February 24, 2022 | December 20, 2024 | February 1, 2027 | March 3, 2027 | November 12, 2024 |
| .NET 5 (container only) | December 2, 2020 | May 10, 2022 | N/A (container) | N/A (container) | May 10, 2022 |
| .NET Core 3.1 (dotnetcore3.1) | March 31, 2020 | April 3, 2023 | April 3, 2023 | May 3, 2023 | December 13, 2022 |
| .NET Core 2.1 (dotnetcore2.1) | July 9, 2018 | January 5, 2022 | January 5, 2022 | April 13, 2022 | August 21, 2021 |
Two patterns fall out of the table. First, AWS's deprecation date tracks Microsoft's end of support closely: to the day for .NET 5, 7, 8 and 10, five weeks later for .NET 6, and a few months later for the .NET Core lines. The runtime is only as patched as the framework under it. Second, the odd-numbered versions (5, 7, 9) were never managed runtimes at all. Microsoft ships those as short-term releases, and AWS supported each only as a container base image, with no block dates because there is nothing on AWS's side to block. The even-numbered, long-term versions (6, 8, 10) are the managed runtimes with the full three-date lifecycle.
What a .NET 5 Lambda function is today
A function built from the dotnet5.0 container image still deploys and still invokes; AWS never blocked it and says it will not. What it does not get is any runtime or framework patch: Microsoft stopped patching .NET 5 on May 10, 2022, and AWS's deprecation is the same day. The path off it is a rebuild of the image on a supported base, .NET 8 as a bridge or .NET 10 for the longest runway, and the code change from 5 to 8 or 10 is usually smaller than the operational change of moving from a container image to a managed runtime, which is worth doing at the same time so the next deprecation is a one-line runtime setting rather than a rebuild.
.NET 6 and .NET 8: same block date, different clocks
AWS gave dotnet6 and dotnet8 the same update-block date, March 3, 2027, which makes them look like one deadline. They are not. .NET 6 has been deprecated since December 20, 2024; a .NET 6 function has had no runtime security patches for the whole of 2025 and 2026, whatever the block date says. .NET 8 is patched until November 10, 2026 and then joins it. The block date is when AWS stops letting you deploy; the deprecation date is when AWS stops protecting what you deployed. Plan on the second one.
What to do
On .NET 8: move to dotnet10, deprecated November 14, 2028. Do it before November 10, 2026 if the function faces the internet; before March 3, 2027 at the latest, after which you cannot ship a fix to it at all.
On .NET 6: the same move, and it is already late; the runtime has been unpatched since December 20, 2024.
On .NET 5, 7 or 9 container images: rebuild on a .NET 10 base, or convert to the managed dotnet10 runtime. .NET 9's own deprecation is November 10, 2026, the same day as .NET 8's.
Everyone: the AWS Lambda page carries every runtime, not just .NET, with all three AWS dates, refreshed at every build. The .NET page has Microsoft's side.
Frequently Asked Questions
Does AWS Lambda support .NET 5 or .NET Core 5?
There is no product called .NET Core 5; Microsoft dropped the word Core at version 5. AWS never offered a managed .NET 5 Lambda runtime. .NET 5 ran on Lambda only as a container image, using the base image AWS published on December 2, 2020, and AWS's runtime table deprecates it on May 10, 2022, the same day Microsoft's own .NET 5 support ended. The block-create and block-update columns read N/A because container functions were never blocked; they keep running on whatever base image they were built from, unpatched.
When is the .NET 8 Lambda runtime deprecated?
AWS's Lambda runtime table lists the dotnet8 deprecation date as November 10, 2026, the same day Microsoft's .NET 8 support ends, with function updates blocked from March 3, 2027. After the deprecation date AWS no longer applies security patches to the runtime, even though existing functions keep running until the block dates.
Is .NET 6 still supported on AWS Lambda?
No. AWS deprecated the dotnet6 runtime on December 20, 2024, five weeks after Microsoft ended .NET 6 support on November 12, 2024. Existing .NET 6 functions still run and can still be updated until March 3, 2027, but they have received no runtime security patches since the deprecation date.
Which .NET runtime should a Lambda function move to?
.NET 10, the managed runtime AWS released on January 8, 2026. Its deprecation date is November 14, 2028, matching Microsoft's .NET 10 end of support, with function updates blocked from January 15, 2029. .NET 8 is a shorter bridge: its own deprecation is November 10, 2026.
Related
- AWS Lambda — every runtime with AWS's deprecation and block dates
- .NET — Microsoft's support dates for every .NET and .NET Core version
- AWS quietly moved Lambda's runtime cutoffs to 2027 — the block dates moved; the security dates did not
- How we verify our dates — the rules every number on this site is held to