Language runtime support policy

This article explains Azure functions language runtime support policy.

Retirement process

Azure Functions runtime is built around various components, including operating systems, the Azure Functions host, and language-specific workers. To maintain full-support coverages for function apps, Functions support aligns with end-of-life support for a given language. To achieve this goal, Functions implements a phased reduction in support as programming language versions reach their end-of-life dates. For most language versions, the retirement date coincides with the community end-of-life date.

Notification phase

The Functions team sends notification emails to function app users about upcoming language version retirements. When you receive the notification, you should prepare to upgrade functions 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 your apps aren't eligible for new features, security patches, and performance optimizations until you upgrade them to a supported language version.

Important

You're highly encouraged to upgrade the language version of your affected function apps to a supported version. If you're running functions apps using an unsupported runtime or language version, you may encounter issues and performance implications and will be required to upgrade before receiving support for your function app.

Retirement policy exceptions

Any Azure 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 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 level for specific Azure Functions runtime versions that are no longer supported:

Language 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: