Partager via


Comparer les versions du runtime Azure Functions

Azure Functions prend actuellement en charge deux versions de l’hôte runtime. Le tableau suivant détaille les versions d’exécution actuellement prises en charge, leur niveau de prise en charge et quand les utiliser :

Version Niveau de support Descriptif
4.x GA Version d’exécution recommandée pour les fonctions dans toutes les langues. Consultez les versions de langue prises en charge.
1.x GA* Pris en charge uniquement pour les applications C# qui doivent utiliser .NET Framework. Cette version est en mode maintenance, et les améliorations ne seront apportées que dans les versions ultérieures. La prise en charge se termine pour la version 1.x le 14 septembre 2026.Migrez vos applications vers la version 4.x. Pour plus d’informations, consultez les versions linguistiques prises en charge.

* Le support se termine le 14 septembre 2026. Pour plus d’informations, consultez l’annonce du support version 1.x.

Azure Functions prend actuellement en charge uniquement la version 4.x de l’hôte runtime.

Important

Les versions 2.x et 3.x du runtime Azure Functions ne sont plus prises en charge. Si vous souhaitez obtenir plus d’informations, consultez Versions mises hors services.

Important

Les applications de fonction exécutant encore le runtime v3 de fin de vie sur Linux dans un plan de consommation cessent de s’exécuter après le 30 septembre 2026. Pour éviter toute interruption de service, migrez votre application vers le runtime v4.

L’option permettant d’héberger des applications de fonction sur Linux dans un plan Consommation est mise hors service le 30 septembre 2028. Le plan de consommation Linux ne reçoit aucune nouvelle fonctionnalité ni version de langage. Les applications s'exécutant sur Windows dans un plan Consommation ne sont actuellement pas affectées. Migrez vos applications vers le plan Flex Consumption avant la date de mise hors service.

Migrate applications de Azure Functions version 3.x à la version 4.x.

Niveaux de prise en charge

Il y a deux niveaux de prise en charge :

  • Disposition générale (GA) : entièrement pris en charge et approuvé pour la production.
  • Préversion : pas encore pris en charge, mais le statut de disponibilité générale est prévu à l’avenir.

Langues

Toutes les fonctions d’une application de fonction doivent partager le même langage. Choisissez la langue des fonctions dans votre application de fonction lorsque vous créez l’application. Le langage de votre application de fonction est conservé dans le paramètre FUNCTIONS_WORKER_RUNTIME et ne peut pas être modifié lorsqu’il existe des fonctions existantes.

Veillez à sélectionner votre langage de développement préféré en haut de l’article.

Le tableau suivant présente les versions .NET prises en charge par Azure Functions.

La version prise en charge de .NET dépend à la fois de votre version du runtime Functions et de votre modèle d’exécution sélectionné.

Votre code d’application de fonction s’exécute dans un processus de travail .NET distinct. Utiliser avec les versions prises en charge de .NET et .NET Framework. Pour plus d’informations, consultez Guide pour l’exécution de Azure Functions C# dans le modèle worker isolé.

Version prise en charge Niveau de support Date de fin de support attendue
.NET 10 GA 14 novembre 2028
.NET 9 GA 10 novembre 20261
.NET 8 GA 10 novembre 2026
.NET Framework 4.8.1 GA Consultez la Stratégie de support du .NET Framework

1 .NET 9 avait déjà eu une date de fin de support attendue du 12 mai 2026. Pendant la fenêtre de service .NET 9, l’équipe .NET a étendu la prise en charge des versions STS à 24 mois, à compter de .NET 9. Pour plus d’informations, consultez le billet de blog.

Note

.NET 9 est la dernière version .NET prise en charge pour les applications de plan consommation Linux. Les versions plus récentes de .NET ne sont pas ajoutées à l'environnement Linux Consumption. Pour plus d’informations, consultez Migrer les applications du plan Consommation vers le plan Flex Consumption.

.NET 6 a atteint la fin du soutien officiel le 12 novembre 2024.

.NET 7 a atteint la fin du support officiel le 14 mai 2024.

Pour plus d’informations, consultez Guide pour l’exécution de Azure Functions C# dans le modèle worker isolé.

Le tableau suivant présente les versions linguistiques prises en charge pour les applications de fonction Java :

Version prise en charge Niveau de support Pris en charge jusqu’à
Java 25 Preview En attente*
Java 21 GA Consultez la feuille de route de mise en production et de maintenance
Java 17 GA Consultez la feuille de route de mise en production et de maintenance
Java 11 GA Consultez la feuille de route de mise en production et de maintenance
Java 8 GA Voir la page de support Temurin

* La date de fin du support pour Java 25 est déterminée lorsque la disponibilité générale (GA) est déclarée.

Note

Java 21 est la dernière version Java prise en charge pour les applications de plan consommation Linux. Les versions plus récentes de Java ne sont pas ajoutées à Linux Consumption. Pour plus d’informations, consultez Migrer les applications du plan Consommation vers le plan Flex Consumption.

Pour plus d’informations sur le développement et l’exécution d’applications de fonction Java, consultez Azure Functions Java guide du développeur.

Le tableau suivant présente les versions des langages prises en charge pour les applications de fonction Node.js :

Version prise en charge Niveau de support Date de fin de support attendue
Node.js 24 Preview 30 avril 2028
Node.js 22 GA 30 avril 2027
Node.js 20 GA 30 avril 2026

TypeScript est pris en charge via la transpilation en JavaScript. Pour plus d’informations, consultez Azure Functions Node.js guide du développeur.

Note

Node.js 22 est la dernière version Node.js prise en charge pour les applications de plan consommation Linux. Les versions plus récentes de Node.js ne sont pas ajoutées au plan de consommation Linux. Pour plus d’informations, consultez Migrer les applications du plan Consommation vers le plan Flex Consumption.

Le tableau suivant présente les versions des langages prises en charge pour les applications de fonction PowerShell :

Version prise en charge Niveau de support Date de fin de support attendue
PowerShell 7.4 GA 10 novembre 2026

Note

PowerShell 7.4 est la dernière version de PowerShell prise en charge pour les applications de plan consommation Linux. Les versions plus récentes de PowerShell ne sont pas ajoutées à l'environnement Linux Consumption. Pour plus d’informations, consultez Migrer les applications du plan Consommation vers le plan Flex Consumption.

Pour plus d’informations, consultez Azure Functions guide du développeur PowerShell.

Le tableau suivant présente les versions linguistiques prises en charge pour les applications de fonction Python :

Version prise en charge Niveau de support Date de fin de support attendue
Python 3.142 Preview En attente1
Python 3.13 GA Octobre 2029
Python 3.12 GA Octobre 2028
Python 3.11 GA Octobre 2027
Python 3.10 GA Octobre 2026

1 La date de fin du support pour Python 3.14 est déterminée lorsque la disponibilité générale est déclarée. 2 Le support de compilation à distance pour Python 3.14 n'est pas encore disponible lors de l'exécution dans un plan Flex Consumption.

Note

Python 3.12 est la dernière version Python prise en charge pour les applications de plan consommation Linux. Les versions les plus récentes de Python ne sont pas intégrées dans l'environnement d'exécution Linux. Pour plus d’informations, consultez Migrer les applications du plan Consommation vers le plan Flex Consumption.

Pour plus d’informations, consultez Azure Functions Python guide du développeur.

Pour plus d’informations sur les modifications planifiées apportées à la prise en charge linguistique, consultez les mises à jour de la feuille de route Azure.

Pour plus d’informations sur les versions linguistiques des versions du runtime Functions précédemment prises en charge, consultez Les versions du runtime supprimées.

Exécuter sur une version spécifique

Le paramètre d’application FUNCTIONS_EXTENSION_VERSION détermine la version du runtime Functions utilisée dans Azure. Dans certains cas et pour certaines langues, d’autres paramètres peuvent s’appliquer.

Par défaut, les applications de fonction créées dans le portail Azure, par l’Azure CLI ou à partir de Visual Studio outils sont définies sur la version 4.x. Vous pouvez modifier cette version en fonction de vos besoins. Vous pouvez repasser à la version 1.x du runtime seulement après avoir créé votre application de fonction et avant d’ajouter des fonctions. Vous pouvez effectuer une mise à jour vers une version majeure ultérieure, même avec des applications qui ont des fonctions existantes.

Migrer des applications de fonction existantes

Lorsque votre application comporte des fonctions existantes, vous devez prendre des précautions avant de passer à une version majeure plus récente du runtime. Les articles suivants détaillent les changements cassants entre les versions majeures, notamment les changements cassants spécifiques à un langage. On vous fournit également des instructions pas à pas pour une migration réussie de votre application de fonction existante.

Modifier la version des applications dans Azure

Les valeurs des versions majeures du runtime suivantes sont utilisées :

Valeur Cible du runtime
~4 4.x
~1 1.x

Important

Ne modifiez pas arbitrairement ce paramètre d’application, car d’autres modifications des paramètres de l’application et d’autres modifications du code dans vos fonctions peuvent être nécessaires. Pour les applications de fonction existantes, suivez les instructions de migration.

Épingler à une version mineure spécifique

Pour résoudre les problèmes que votre application de fonction peut avoir lors de l’exécution sur la dernière version principale, vous devez épingler temporairement votre application à une version mineure spécifique. L’épinglage vous donne le temps de faire le nécessaire pour que votre application s’exécute correctement sur la dernière version majeure. La façon dont vous attribuez une version mineure diffère entre Windows et Linux. Pour plus d’informations, consultez How to target Azure Functions runtime versions.

Les versions mineures les plus anciennes sont régulièrement supprimées de Functions. Pour connaître les dernières nouvelles sur les versions Azure Functions, notamment la suppression de versions mineures plus anciennes spécifiques, surveillez les annonces Azure App Service.

Versions d’extension minimales

Il n’existe pas techniquement de corrélation entre les versions d’extension de liaison et la version du runtime Functions. Toutefois, à compter de la version 4.x, le runtime Functions applique une version minimale pour toutes les extensions de déclencheur et de liaison.

Si vous recevez un avertissement sur un package qui ne répond pas à une version minimale requise, vous devez mettre à jour ce package NuGet vers la version minimale comme vous le feriez normalement. Recherchez la configuration minimale requise pour les extensions utilisées dans Functions v4.x dans le fichier de configuration lié.

Pour le script C#, mettez à jour la référence du bundle d’extensions dans le host.json:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Il n’existe pas techniquement de corrélation entre les versions du pack d’extensions et la version du runtime Functions. Toutefois, à compter de la version 4.x, le runtime Functions applique une version minimale pour les bundles d’extensions.

Si vous recevez un avertissement concernant la version de votre offre groupée d’extensions ne répondant pas à une version minimale requise, mettez à jour votre référence d’offre groupée d’extensions existante dans l' host.json comme suit :

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Pour en savoir plus sur les packs d’extensions, consultez Packs d’extensions.

Versions supprimées

Important

Support se termine pour la version 1.x du runtime de Azure Functions le 14 septembre 2026. Nous vous recommandons vivement de migrer vos applications vers la version 4.x pour bénéficier d’une prise en charge complète.

Ces versions de Functions runtime ont atteint la fin de la prise en charge étendue le 13 décembre 2022.

Version Niveau de prise en charge actuelle Niveau de prise en charge précédent
3.x Hors support GA
2.x Hors support GA

Migrez vos applications vers la version 4.x dès que possible pour obtenir une prise en charge complète. Pour obtenir un ensemble complet d’instructions de migration spécifiques au langage, consultez Migrate apps to Azure Functions version 4.x.

Les applications utilisant les versions 2.x et 3.x peuvent toujours être créées et déployées à partir de votre pipeline CI/CD DevOps, et les applications existantes continuent à s’exécuter sans rupture, à l’exception des applications v3 sur la consommation Linux, qui cesseront de s’exécuter après le 30 septembre 2026. Vos applications ne sont pas éligibles pour les nouvelles fonctionnalités, les correctifs de sécurité et les optimisations des performances. Vous ne pouvez bénéficier de la prise en charge des services associés qu’après avoir mis à niveau vos applications vers la version 4.x.

Versions d’une application développée en local

Apportez les mises à jour suivantes aux applications de fonction pour modifier localement les versions ciblées.

Visual Studio versions du runtime

Dans Visual Studio, vous sélectionnez la version du runtime lorsque vous créez un projet. Les outils Azure Functions pour Visual Studio prennent en charge les deux principales versions d'environnement d'exécution. La version appropriée est utilisée au moment du débogage et de la publication, en fonction des paramètres de projet. Les paramètres de version sont définis dans le fichier .csproj dans les propriétés suivantes :

<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>

Si vous utilisez le modèle de Worker isolé, vous pouvez choisir net9.0, net8.0 ou net48 en tant qu’infrastructure cible. Vous pouvez également choisir d’utiliser la prise en charge de préversion pour net10.0. Si vous utilisez le modèle in-process, vous pouvez choisir net8.0 ou net6.0, et vous devez inclure l'extension Microsoft.NET.Sdk.Functions définie sur au moins 4.4.0. .NET 10 n'est pas pris en charge par le modèle in-process ; si vous êtes sur le modèle in-process et que vous souhaitez utiliser .NET 10, migratiez votre application au modèle worker isolé.

.NET 6 a été précédemment pris en charge par le modèle de travail isolé et le modèle en processus, mais il est arrivé à la fin de son support officiel le 12 novembre 2024.

.NET 7 a été précédemment pris en charge sur le modèle de travail isolé, mais a atteint la fin du support officiel le 14 mai 2024.

outils de base Visual Studio Code et Azure Functions

Azure Functions Core Tools est utilisé pour le développement en ligne de commande et également par l’extension Azure Functions pour Visual Studio Code. Pour plus d’informations, consultez Installer Azure Functions Core Tools.

Pour le développement avec Visual Studio Code, vous devrez peut-être également mettre à jour le paramètre utilisateur de azureFunctions.projectRuntime pour qu’il corresponde à la version des outils installés. Ce paramètre met également à jour les modèles et les langages utilisés lors de la création de l’application de fonction.