Azure Functions runtime versions overview
There are two major versions of the Azure Functions runtime.: 1.x and 2.x. This article explains how to choose which major version to use.
Runtime 1.x is the only version approved for production use.
|1.x||Generally Available (GA)|
For information about how to configure a function app or your development environment for a particular version, see How to target Azure Functions runtime versions and Code and test Azure Functions locally.
Runtime 1.x supports development and hosting only in the portal or on Windows. Runtime 2.x runs on .NET Core, which means it can run on all platforms supported by .NET Core, including macOS and Linux. This enables cross-platform development and hosting scenarios that aren't possible with 1.x.
|Batch (.cmd, .bat)||Experimental|
For information about planned changes to language support, see Azure roadmap.
For more information, see Supported languages.
Runtime 2.x uses a new binding extensibility model that offers these advantages:
- Support for third-party binding extensions.
- Decoupling of runtime and bindings. This allows binding extensions to be versioned and released independently. You can, for example, opt to upgrade to a version of an extension that relies on a newer version of an underlying SDK.
- A lighter execution environment, where only the bindings in use are known and loaded by the runtime.
All built-in Azure Functions bindings have adopted this model and are no longer included by default, except for the Timer trigger and the HTTP trigger. Those extensions are automatically installed when you create functions through tools like Visual Studio or through the portal.
The following table indicates which bindings are supported in each runtime version.
The following table shows the bindings that are supported in the two major versions of the Azure Functions runtime.
1 Must be registered as a binding extension in 2.x. See Known issues in 2.x.
2 Experimental — not supported and might be abandoned in the future.
Known issues in 2.x
For more information about bindings support and other functional gaps in 2.x, see Runtime 2.0 known issues.