Skip to content

Commit 835a37b

Browse files
Merge pull request #248794 from mattchenderson/func-net8
adding Functions preview for .NET 8
2 parents 4e558c9 + 1a61d63 commit 835a37b

9 files changed

+24
-10
lines changed

articles/azure-functions/dotnet-isolated-in-process-differences.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Use the following table to compare feature and functional differences between th
2323

2424
| Feature/behavior | In-process<sup>3</sup> | Isolated worker process |
2525
| ---- | ---- | ---- |
26-
| [Supported .NET versions](#supported-versions) | Long Term Support (LTS) versions | Long Term Support (LTS) versions,<br/>Standard Term Support (STS) versions,<br/>.NET Framework |
26+
| [Supported .NET versions](#supported-versions) | Long Term Support (LTS) versions<sup>6</sup> | Long Term Support (LTS) versions<sup>6</sup>,<br/>Standard Term Support (STS) versions,<br/>.NET Framework |
2727
| Core packages | [Microsoft.NET.Sdk.Functions](https://www.nuget.org/packages/Microsoft.NET.Sdk.Functions/) | [Microsoft.Azure.Functions.Worker](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker/)<br/>[Microsoft.Azure.Functions.Worker.Sdk](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk) |
2828
| Binding extension packages | [Microsoft.Azure.WebJobs.Extensions.*](https://www.nuget.org/packages?q=Microsoft.Azure.WebJobs.Extensions) | [Microsoft.Azure.Functions.Worker.Extensions.*](https://www.nuget.org/packages?q=Microsoft.Azure.Functions.Worker.Extensions) |
2929
| Durable Functions | [Supported](durable/durable-functions-overview.md) | [Supported](durable/durable-functions-isolated-create-first-csharp.md?pivots=code-editor-visualstudio) (Support does not yet include Durable Entities) |
@@ -49,6 +49,8 @@ Use the following table to compare feature and functional differences between th
4949

5050
<sup>5</sup> ASP.NET Core types are not supported for .NET Framework.
5151

52+
<sup>6</sup> The isolated worker model supports .NET 8 as a preview, currently for Linux applications only. .NET 8 is not yet available for the in-process model. See the [Azure Functions Roadmap Update post](https://aka.ms/azure-functions-dotnet-roadmap) for more information about .NET 8 plans.
53+
5254
[HttpRequest]: /dotnet/api/microsoft.aspnetcore.http.httprequest
5355
[IActionResult]: /dotnet/api/microsoft.aspnetcore.mvc.iactionresult
5456
[HttpRequestData]: /dotnet/api/microsoft.azure.functions.worker.http.httprequestdata?view=azure-dotnet&preserve-view=true

articles/azure-functions/functions-versions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ In Visual Studio, you select the runtime version when you create a project. Azur
117117
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
118118
```
119119

120-
You can also choose `net6.0`, `net7.0`, or `net48` as the target framework if you are using [.NET isolated worker process functions](dotnet-isolated-process-guide.md). Support for `net7.0` and `net48` is currently in preview.
120+
You can also choose `net6.0`, `net7.0`, `net8.0`, or `net48` as the target framework if you are using [.NET isolated worker process functions](dotnet-isolated-process-guide.md). Support for `net8.0` is currently in preview.
121121

122122
> [!NOTE]
123123
> Azure Functions 4.x requires the `Microsoft.NET.Sdk.Functions` extension be at least `4.0.0`.

articles/azure-functions/migrate-dotnet-to-isolated-model.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ On version 4.x of the Functions runtime, your .NET function app targets .NET 6 w
4949
[!INCLUDE [functions-dotnet-migrate-v4-versions](../../includes/functions-dotnet-migrate-v4-versions.md)]
5050

5151
> [!TIP]
52-
> **We recommend upgrading to .NET 6 on the isolated worker model.** This provides a quick upgrade path with the longest support window from .NET.
52+
> **We recommend upgrading to .NET 6 on the isolated worker model.** This provides a quick upgrade path to the fully released version with the longest support window from .NET.
5353
5454
## Prepare for migration
5555

articles/azure-functions/migrate-version-1-version-4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ On version 1.x of the Functions runtime, your C# function app targets .NET Frame
7979
[!INCLUDE [functions-dotnet-migrate-v4-versions](../../includes/functions-dotnet-migrate-v4-versions.md)]
8080

8181
> [!TIP]
82-
> **Unless your app depends on a library or API only available to .NET Framework, we recommend upgrading to .NET 6 on the isolated worker model.** Many apps on version 1.x target .NET Framework only because that is what was available when they were created. Additional capabilities are available to more recent versions of .NET, and if your app is not forced to stay on .NET Framework due to a dependency, you should upgrade.
82+
> **Unless your app depends on a library or API only available to .NET Framework, we recommend upgrading to .NET 6 on the isolated worker model.** Many apps on version 1.x target .NET Framework only because that is what was available when they were created. Additional capabilities are available to more recent versions of .NET, and if your app is not forced to stay on .NET Framework due to a dependency, you should upgrade. .NET 6 is the fully released version with the longest support window from .NET.
8383
>
8484
> Migrating to the isolated worker model will require additional code changes as part of this migration, but it will give your app [additional benefits](./dotnet-isolated-in-process-differences.md), including the ability to more easily target future versions of .NET. If you are moving to an LTS or STS version of .NET using the isolated worker model, the [.NET Upgrade Assistant] can also handle many of the necessary code changes for you.
8585

articles/azure-functions/migrate-version-3-version-4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ On version 3.x of the Functions runtime, your C# function app targets .NET Core
3838
[!INCLUDE [functions-dotnet-migrate-v4-versions](../../includes/functions-dotnet-migrate-v4-versions.md)]
3939

4040
> [!TIP]
41-
> **If you're migrating from .NET 5 (on the isolated worker model), we recommend upgrading to .NET 6 on the isolated worker model.** This provides a quick upgrade path with the longest support window from .NET.
41+
> **If you're migrating from .NET 5 (on the isolated worker model), we recommend upgrading to .NET 6 on the isolated worker model.** This provides a quick upgrade path to the fully released version with the longest support window from .NET.
4242
>
4343
> **If you're migrating from .NET Core 3.1 (on the in-process model), we recommend upgrading to .NET 6 on the in-process model.** This provides a quick upgrade path. However, you might also consider upgrading to .NET 6 on the isolated worker model. Switching to the isolated worker model will require additional code changes as part of this migration, but it will give your app [additional benefits](./dotnet-isolated-in-process-differences.md), including the ability to more easily target future versions of .NET. If you are moving to an LTS or STS version of .NET using the isolated worker model, the [.NET Upgrade Assistant] can also handle many of the necessary code changes for you.
4444

includes/functions-dotnet-migrate-v4-versions.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@ When you migrate your function app, you have the opportunity to choose the targe
1010

1111
| .NET version | [.NET Official Support Policy] release type | Functions process model<sup>1</sup> |
1212
| --- | --- | --- |
13+
| .NET 8 (preview<sup>2</sup>) | LTS (preview) | [Isolated worker model] |
1314
| .NET 7 | STS (end of support May 14, 2024) | [Isolated worker model] |
1415
| .NET 6 | LTS (end of support November 12, 2024) | [Isolated worker model],<br/>[In-process model] |
1516
| .NET Framework 4.8 | [See policy][netfxpolicy] | [Isolated worker model] |
1617

1718
<sup>1</sup> The [isolated worker model] supports Long Term Support (LTS) and Standard Term Support (STS) versions of .NET, as well as .NET Framework. The [in-process model] only supports LTS releases of .NET. For a full feature and functionality comparison between the two models, see [Differences between in-process and isolate worker process .NET Azure Functions](../articles/azure-functions/dotnet-isolated-in-process-differences.md).
1819

20+
<sup>2</sup> Preview support for .NET 8 function apps is currently limited to Linux applications. To develop using .NET 8 Preview SDKs in Visual Studio, you must use [Visual Studio 2022 Preview](https://visualstudio.microsoft.com/vs/preview/).
21+
1922
[.NET Official Support Policy]: https://dotnet.microsoft.com/platform/support/policy
2023
[netfxpolicy]: https://dotnet.microsoft.com/platform/support/policy/dotnet-framework
2124
[Isolated worker model]: ../articles/azure-functions/dotnet-isolated-process-guide.md

includes/functions-dotnet-supported-versions.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,20 @@ Versions of the Functions runtime support specific versions of .NET. To learn mo
1313
>[!NOTE]
1414
>To learn how to change the Functions runtime version used by your function app, see [view and update the current runtime version](../articles/azure-functions/set-runtime-version.md#view-and-update-the-current-runtime-version).
1515
16-
The following table shows the highest level of .NET Core or .NET Framework that can be used with a specific version of Functions.
16+
The following table shows the highest level of .NET or .NET Framework that can be used with a specific version of Functions.
1717

1818
| Functions runtime version | In-process<br/>([.NET class library](../articles/azure-functions/functions-dotnet-class-library.md)) | Isolated worker process<br/>([.NET Isolated](../articles/azure-functions/dotnet-isolated-process-guide.md)) |
1919
| ---- | ---- | --- |
20-
| Functions 4.x | .NET 6.0<sup>1</sup> | .NET 6.0<sup>1</sup><br/>.NET 7.0 (GA)<sup>2,3</sup><br/>.NET Framework 4.8 (GA)<sup>3</sup> |
20+
| Functions 4.x | .NET 6.0<sup>1</sup> | .NET 6.0<sup>1</sup><br/>.NET 7.0<sup>2</sup><br/>.NET Framework 4.8<sup>3</sup><br/>.NET 8.0 (Preview)<sup>4</sup> |
2121
| Functions 1.x | .NET Framework 4.8 | n/a |
2222

2323
<sup>1</sup> Per the [.NET Official Support Policy], .NET 6 will reach end of support on November 12, 2024.
2424

2525
<sup>2</sup> Per the [.NET Official Support Policy], .NET 7 will reach end of support on May 14, 2024.
2626

27-
<sup>2</sup> Build process also requires [.NET 6 SDK](https://dotnet.microsoft.com/download).
27+
<sup>3</sup> Build process also requires [.NET 6 SDK](https://dotnet.microsoft.com/download).
28+
29+
<sup>4</sup> Preview support for .NET 8 function apps is currently limited to Linux applications. To develop using .NET 8 Preview SDKs in Visual Studio, you must use [Visual Studio 2022 Preview](https://visualstudio.microsoft.com/vs/preview/).
2830

2931
For the latest news about Azure Functions releases, including the removal of specific older minor versions, monitor [Azure App Service announcements](https://github.com/Azure/app-service-announcements/issues).
3032

includes/functions-portal-language-support.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ The following table shows which languages supported by Functions can run on Linu
1414
| Language | Runtime stack | Linux | Windows | In-portal editing |
1515
|:--- |:-- |:--|:--- |:--- |
1616
| [C# (in-process model)](../articles/azure-functions/functions-dotnet-class-library.md)|.NET||| |
17-
| [C# (isolated process model))](../articles/azure-functions/dotnet-isolated-process-guide.md) |.NET||| |
17+
| [C# (isolated worker model))](../articles/azure-functions/dotnet-isolated-process-guide.md) |.NET||<sup>2</sup> | |
1818
| [C# script](../articles/azure-functions/functions-reference-csharp.md) | .NET ||||
1919
| [JavaScript](../articles/azure-functions/functions-reference-node.md?tabs=javascript) | Node.js ||||
2020
| [Python](../articles/azure-functions/functions-reference-python.md)<sup>1</sup> | Python || ||
@@ -25,6 +25,8 @@ The following table shows which languages supported by Functions can run on Linu
2525

2626
<sup>1</sup> In-portal editing requires your function to be defined in a function.json file. Because the [Python v2 programming model](../articles/azure-functions/functions-reference-python.md?pivots=python-mode-decorators#programming-model) uses Python code decorators instead of function.json to define functions, only the Python v1 programming model is supported for in-portal development.
2727

28+
<sup>2</sup> The preview for .NET 8 on the isolated worker model currently only supports Linux. All other versions of .NET are supported on Windows.
29+
2830
For more information on operating system and language support, see [Operating system/runtime support](../articles/azure-functions/functions-scale.md#operating-systemruntime).
2931

3032
When in-portal editing isn't available, you must instead [develop your functions locally](../articles/azure-functions/functions-develop-local.md#local-development-environments).

includes/functions-supported-languages.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,20 @@ ms.custom: include file
99

1010
|Language |1.x |2.x<sup>1</sup> | 3.x<sup>1</sup> | 4.x |
1111
|-----------------------------------------|------------|---| --- | --- |
12-
|[C#](../articles/azure-functions/functions-dotnet-class-library.md)|GA (.NET Framework 4.8)|GA (.NET Core 2.1)| GA (.NET Core 3.1)<br/> | GA (.NET 6.0)<br/>[GA (.NET 7.0)](../articles/azure-functions/dotnet-isolated-process-guide.md)<br/>[GA (.NET Framework 4.8)](../articles/azure-functions/dotnet-isolated-process-guide.md) |
12+
|[C#](../articles/azure-functions/functions-dotnet-class-library.md)|GA (.NET Framework 4.8)|GA (.NET Core 2.1)| GA (.NET Core 3.1)<br/> | GA (.NET 6.0)<br/>[GA (.NET 7.0)][isolated]<br/>[GA (.NET Framework 4.8)][isolated]<br/>[Preview (.NET 8.0)][isolated]<sup>3</sup> |
1313
|[JavaScript](../articles/azure-functions/functions-reference-node.md?tabs=javascript)|GA (Node.js 6)|GA (Node.js 10 & 8)| GA (Node.js 14, 12, & 10) | GA (Node.js 18, 16, & 14) |
1414
|[Java](../articles/azure-functions/functions-reference-java.md)|N/A|GA (Java 8)| GA (Java 11 & 8)| GA (Java 11 & 8) <br/> GA (Java 17)|
1515
|[PowerShell](../articles/azure-functions/functions-reference-powershell.md) |N/A|N/A|N/A| GA (PowerShell 7.2)|
1616
|[Python](../articles/azure-functions/functions-reference-python.md#python-version)|N/A|GA (Python 3.7)| GA (Python 3.9, 3.8, 3.7)| Preview (Python 3.11)<br/>GA (Python 3.10, 3.9, 3.8, 3.7) |
1717
|[TypeScript](../articles/azure-functions/functions-reference-node.md?tabs=typescript)<sup>2</sup> |N/A|GA| GA | GA |
1818

1919
<sup>1</sup> Reached the end of life (EOL) on December 13, 2022. We highly recommend you [migrating your apps to version 4.x](../articles/azure-functions/migrate-version-3-version-4.md) for full support.
20+
2021
<sup>2</sup> Supported through transpiling to JavaScript.
2122

23+
<sup>3</sup> Preview support for .NET 8 function apps is currently limited to Linux applications. To develop using .NET 8 Preview SDKs in Visual Studio, you must use [Visual Studio 2022 Preview](https://visualstudio.microsoft.com/vs/preview/).
24+
2225
See the language-specific developer guide article for more details about supported language versions.
2326
For information about planned changes to language support, see [Azure roadmap](https://azure.microsoft.com/roadmap/?tag=functions).
27+
28+
[isolated]: ../articles/azure-functions/dotnet-isolated-process-guide.md

0 commit comments

Comments
 (0)