Azure Functions runtime versions overview
There are two major versions of the Azure Functions runtime: 1.x and 2.x. Only 1.x is approved for production use. This article explains what's new in 2.x, which is in preview.
|1.x||Generally Available (GA)|
*To receive important updates on version 2.x, including breaking changes announcements, watch the Azure App Service announcements repository.
This article refers to the cloud service Azure Functions. For information about the product that lets you run Azure Functions on-premises, see the Azure Functions Runtime Overview.
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||N/A|
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 In 2.x, all bindings except HTTP, Timer, and Azure Storage must be registered. See Register binding extensions.
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.
For more information, see the following resources: