DEV Community

Joe Steinbring
Joe Steinbring

Posted on

MS is EOLing Azure Functions which use .NET Core 3.1 on December 3

Earlier this month, Microsoft sent out an email stating that "On 3 December 2022, .NET Core 3.1 will be retired. As a result, Azure Functions runtime versions 2.x and 3.x, which use .NET Core 3.1, will also be retired on that date." They went on to encourage folks to update their Functions applications to use runtime version 4.x before then. My intention is to use this article to explore the differences between .NET Core 3.1 and more modern versions and ultimately figure out what changes you might need to make to your code.

Microsoft is infamous for supporting dependencies for a frighteningly long time. If we look back at the breaking changes between .NET Core 3.0 and 3.1, the biggest change was to how SameSite cookies (something supported since .NET Core 2.0) are handled. There was a change to the standards that meant that if the SameSite attribute is not specified, the cooke would default to SameSite=Lax. Previously, the default was that cookies were sent for all requests. With SameSite=Lax, cookies are not sent on normal cross-site subrequests. In .NET Core 3.1, it changed the behavior for SameSiteMode.None and added a new SameSiteMode.Unspecified value to deal with this change.

So, what version do you move to next?

.NET and .NET Core release lifecycle

3.1 was the old LTS (Long Term Support) version. With 5.0 going out of support on May 5th and 7.0 still being only a release candidate, your only remaining option seems to be the new LTS version (6.0.6). Version 6 goes out of support on November 12, 2024. Since .NET 6 isn't .Net Core 6, the upgrade path looks a little complicated, though. My suggestion would be to check out Migrate from ASP.NET Core 3.1 to 6.0 on the microsoft site.

Have any any additional advice for folks dealing with this upgrade? Have a question? Please feel free to drop a comment, below. I'm not normally a ".NET Guy", so I'm learning this stuff as I go too. :)

Top comments (2)

Collapse
 
dirq profile image
Dirk Watkins

You’re using cookies with a stateless .NET function?

Collapse
 
steinbring profile image
Joe Steinbring • Edited

What if you are / aren’t?