Azure Functions language stack support policy

This article explains the support policy for the language stacks supported by Azure Functions.

Retirement process

The Azure Functions runtime includes the Azure Functions host and programming language-specific workers. To maintain full-support coverage when running your functions in Azure, Functions support aligns with end-of-life support for a given language. To help you keep your apps up-to-date and supported, Functions implements a phased reduction in support as language stack versions reach their end-of-life dates. Generally, the retirement date coincides with the community end-of-life date of the given language.

  • Notification phase:

    The Functions team sends you notification emails about upcoming language version retirements that affect your function apps. When you receive this notification, you should prepare to upgrade these apps to use to a supported version.

  • Retirement phase:

    After the language end-of-life date, function apps that use retired language versions can still be created and deployed, and they continue to run on the platform. However, these apps aren't eligible for new features, security patches, and performance optimizations until after you upgrade them to a supported language version.

    Important

    If you're running function apps using an unsupported runtime or language version, you may encounter issues and performance implications and are required to upgrade before receiving support for your function app. Because of this, you're highly encouraged to upgrade the language version of such an app to a supported version. TO learn how, see Update language stack versions in Azure Functions.

Retirement policy exceptions

Any Functions-supported exceptions to language-specific retirement policies are documented here:

There are currently no exceptions to the general retirement policy.

Language version support timeline

To learn more about specific language version support policy timeline, visit the following external resources:

Configuring language versions

Language stack Configuration guides
C# (isolated worker model) link
C# (in-process model) link
Java link
Node link
PowerShell link
Python link

Retired runtime versions

This historical table shows the highest language stack level for no-longer-supported versions of the Functions runtime:

Language stack 2.x 3.x
C# GA (.NET Core 2.1) GA (.NET Core 3.1 & .NET 5*)
JavaScript/TypeScript GA (Node.js 10 & 8) GA (Node.js 14, 12, & 10)
Java GA (Java 8) GA (Java 11 & 8)
PowerShell N/A N/A
Python GA (Python 3.7) GA (Python 3.9, 3.8, 3.7)
TypeScript GA GA

*.NET 5 was only supported for C# apps running in the isolated worker model.

For the language levels currently supported by Azure Functions, see Languages by runtime version.

Next steps

To learn more about how to upgrade your functions apps language versions, see the following resources: