Skip to content

Commit 55d7386

Browse files
authored
Merge pull request #220608 from cloudmelon/01122022-dotnet-migration-retirements
01122022 dotnet migration retirements
2 parents fd8192b + 245561a commit 55d7386

File tree

3 files changed

+39
-11
lines changed

3 files changed

+39
-11
lines changed

.openpublishing.publish.config.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,12 @@
152152
"branch": "master",
153153
"branch_mapping": {}
154154
},
155+
{
156+
"path_to_root": "functions-azure-product",
157+
"url": "https://github.com/Azure/Azure-Functions",
158+
"branch": "main",
159+
"branch_mapping": {}
160+
},
155161
{
156162
"path_to_root": "functions-pytorch",
157163
"url": "https://github.com/Azure-Samples/functions-python-pytorch-tutorial",

articles/azure-functions/functions-versions.md

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,10 @@ zone_pivot_groups: programming-languages-set-functions
1414
| Version | Support level | Description |
1515
| --- | --- | --- |
1616
| 4.x | GA | **_Recommended runtime version for functions in all languages._** Check out [Supported language versions](#languages). |
17-
| 3.x | GA | Supports all languages. Check out [Supported language versions](#languages).|
18-
| 2.x | GA | Supported for [legacy version 2.x apps](#pinning-to-version-20). This version is in maintenance mode, with enhancements provided only in later versions.|
17+
| 3.x | GA | Supported all languages (see [Supported language versions](#languages)). Reached the end of life (EOL) for extended support on December 13, 2022. We highly recommend you [migrating your apps from Azure Functions version 3.x to version 4.x](migrate-version-3-version-4.md) for full support. |
18+
| 2.x | GA | Supported for [legacy version 2.x apps](#pinning-to-version-20). This version is in maintenance mode, with enhancements provided only in later versions. Reached the end of life (EOL) on December 13, 2022. We highly recommend you [migrating your apps from Azure Functions version 3.x to version 4.x](migrate-version-3-version-4.md) for full support. |
1919
| 1.x | GA | Recommended only for C# apps that must use .NET Framework and only supports development in the Azure portal, Azure Stack Hub portal, or locally on Windows computers. This version is in maintenance mode, with enhancements provided only in later versions. |
2020

21-
> [!IMPORTANT]
22-
> Beginning on December 3, 2022, function apps running on versions 2.x and 3.x of the Azure Functions runtime can no longer be supported. Before that time, please test, verify, and migrate your function apps to version 4.x of the Functions runtime. For more information, see [Migrate apps from Azure Functions version 3.x to version 4.x](migrate-version-3-version-4.md). After the deadline, function apps can be created and deployed, and existing apps continue to run. However, your apps won't be eligible for new features, security patches, performance optimizations, and support until you upgrade them to version 4.x.
23-
>
24-
>End of support for these runtime versions is due to the ending of support for .NET Core 3.1, which is required by these older runtime versions. This requirement affects all Azure Functions runtime languages.
25-
>Functions version 1.x is still supported for C# function apps that require the .NET Framework. Preview support is now available in Functions 4.x to [run C# functions on .NET Framework 4.8](dotnet-isolated-process-guide.md#supported-versions).
26-
2721
This article details some of the differences between these versions, how you can create each version, and how to change the version on which your functions run.
2822

2923
[!INCLUDE [functions-support-levels](../../includes/functions-support-levels.md)]
@@ -44,14 +38,14 @@ By default, function apps created in the Azure portal, by the Azure CLI, or from
4438

4539
### Migrating existing function apps
4640

47-
When your app has existing functions, you must take precautions before moving to a later runtime version. The following articles detail breaking changes between versions, including language-specific breaking changes. They also provide you with step-by-step instructions for a successful migration of you existing function app.
41+
When your app has existing functions, you must take precautions before moving to a later runtime version. The following articles detail breaking changes between versions, including language-specific breaking changes. They also provide you with step-by-step instructions for a successful migration of your existing function app.
4842

4943
+ [Migrate from runtime version 3.x to version 4.x](./migrate-version-3-version-4.md)
5044
+ [Migrate from runtime version 1.x to version 4.x](./migrate-version-1-version-4.md)
5145

5246
### Changing version of apps in Azure
5347

54-
The following major runtime version values are supported:
48+
The following major runtime version values are used:
5549

5650
| Value | Runtime target |
5751
| ------ | -------- |

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

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,24 @@ zone_pivot_groups: programming-languages-set-functions
1111

1212
Azure Functions version 4.x is highly backwards compatible to version 3.x. Most apps should safely upgrade to 4.x without requiring significant code changes. For more information about Functions runtime versions, see [Azure Functions runtime versions overview](./functions-versions.md).
1313

14+
> [!IMPORTANT]
15+
> Beginning on December 13, 2022, function apps running on versions 2.x and 3.x of the Azure Functions runtime have reached the end of life (EOL) of extended support.
16+
>
17+
> After the deadline, function apps can be created and deployed from your CI/CD DevOps pipeline, and all existing apps continue to run without breaking changes. However, your apps are not eligible for new features, security patches, and performance optimizations. You'll get related service support once you upgraded them to version 4.x.
18+
>
19+
>End of support for these runtime versions is due to the ending of support for .NET Core 3.1, which is required by these older runtime versions. This requirement affects all Azure Functions runtime languages (e.g .NET, Python, node.js, PowerShell etc).
20+
>
21+
>We highly recommend you migrating your function apps to version 4.x of the Functions runtime by following this article.
22+
>
23+
>Functions version 1.x is still supported for C# function apps that require the .NET Framework. Preview support is now available in Functions 4.x to [run C# functions on .NET Framework 4.8](dotnet-isolated-process-guide.md#supported-versions).
24+
25+
1426
This article walks you through the process of safely migrating your function app to run on version 4.x of the Functions runtime. Because project upgrade instructions are language dependent, make sure to choose your development language from the selector at the [top of the article](#top).
1527

1628
::: zone pivot="programming-language-csharp"
1729
## Choose your target .NET
1830

31+
1932
On version 3.x of the Functions runtime, your C# function app targets .NET Core 3.1. When you migrate your function app to version 4.x, you have the opportunity to choose the target version of .NET. You can upgrade your C# project to one of the following versions of .NET, all of which can run on Functions version 4.x:
2033

2134
| .NET version | Process model<sup>*</sup> |
@@ -24,7 +37,14 @@ On version 3.x of the Functions runtime, your C# function app targets .NET Core
2437
| .NET 6 | [Isolated worker process](./dotnet-isolated-process-guide.md) |
2538
| .NET 6 | [In-process](./functions-dotnet-class-library.md) |
2639

27-
<sup>*</sup> [In-process execution](./functions-dotnet-class-library.md) is only supported for Long Term Support (LTS) releases of .NET. Non-LTS releases and .NET Framework require you to run in an [isolated worker process](./dotnet-isolated-process-guide.md).
40+
<sup>*</sup> [In-process execution](./functions-dotnet-class-library.md) is only supported for Long Term Support (LTS) releases of .NET. Standard Terms Support (STS) releases and .NET Framework are supported .NET Azure functions [isolated worker process](./dotnet-isolated-process-guide.md).
41+
42+
> [!TIP]
43+
> On version 3.x of the Functions runtime, if you're on .NET 5, we recommend you upgrade to .NET 7. If you're on .NET Core 3.1, we recommend you upgrade to .NET 6 (in-process) for a quick upgrade path.
44+
>
45+
> If you're looking for moving to a Long Term Support (LTS) .NET release, we recommend you upgrade to .NET 6 .
46+
>
47+
> Migrating to .NET Isolated worker model to get all benefits provided by Azure Functions .NET isolated worker process. For more information about .NET isolated worker process advantages see [.NET isolated worker process enhancement](./dotnet-isolated-in-process-differences.md). For more information about .NET version support, see [Supported versions](./dotnet-isolated-process-guide.md#supported-versions).
2848
2949
Upgrading from .NET Core 3.1 to .NET 6 running in-process requires minimal updates to your project and virtually no updates to code. Switching to the isolated worker process model requires you to make changes to your code, but provides the flexibility of being able to easily run on any future version of .NET. For a feature and functionality comparison between the two process models, see [Differences between in-process and isolate worker process .NET Azure Functions](./dotnet-isolated-in-process-differences.md).
3050
::: zone-end
@@ -35,6 +55,7 @@ Before you upgrade your app to version 4.x of the Functions runtime, you should
3555

3656
* Review the list of [breaking changes between 3.x and 4.x](#breaking-changes-between-3x-and-4x).
3757
* [Run the pre-upgrade validator](#run-the-pre-upgrade-validator).
58+
* Identify the list of v2&v3 Function Apps in your current Azure Subscription by using the [Azure PowerShell](#identify-function-apps-to-upgrade).
3859
* When possible, [upgrade your local project environment to version 4.x](#upgrade-your-local-project). Fully test your app locally using version 4.x of the [Azure Functions Core Tools](functions-run-local.md).
3960
* Upgrade your function app in Azure to the new version. If you need to minimize downtime, consider using a [staging slot](functions-deployment-slots.md) to test and verify your migrated app in Azure on the new runtime version. You can then deploy your app with the updated version settings to the production slot. For more information, see [Migrate using slots](#upgrade-using-slots).
4061
* Republished your migrated project to the upgraded function app. When you use Visual Studio to publish a version 4.x project to an existing function app at a lower version, you're prompted to let Visual Studio upgrade the function app to version 4.x during deployment. This upgrade uses the same process defined in [Migrate without slots](#upgrade-without-slots).
@@ -51,6 +72,13 @@ Azure Functions provides a pre-upgrade validator to help you identify potential
5172

5273
1. After validation completes, review the recommendations and address any issues in your app. If you need to make changes to your app, make sure to validate the changes against version 4.x of the Functions runtime, either [locally using Azure Functions Core Tools v4](#upgrade-your-local-project) or by [using a staging slot](#upgrade-using-slots).
5374

75+
76+
## Identify function apps to upgrade
77+
78+
Use the following PowerShell script to generate a list of function apps in your subscription that currently target versions 2.x or 3.x:
79+
80+
:::code language="powershell" source="~/functions-azure-product/EOLHostMigration/CheckEOLAppsPerAzSub.ps1" range="4-20":::
81+
5482
## Upgrade your local project
5583

5684
Upgrading instructions are language dependent. If you don't see your language, choose it from the selector at the [top of the article](#top).

0 commit comments

Comments
 (0)