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:
- .NET - dotnet.microsoft.com
- Node - github.com
- Java - Microsoft technical documentation
- PowerShell - Microsoft technical documentation
- Python - devguide.python.org
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: