{"id":68388,"date":"2024-02-16T07:27:19","date_gmt":"2024-02-16T15:27:19","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/devops\/?p=68388"},"modified":"2024-02-19T02:52:02","modified_gmt":"2024-02-19T10:52:02","slug":"azure-pipelines-deprecated-tasks-retirement-schedule","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/azure-pipelines-deprecated-tasks-retirement-schedule\/","title":{"rendered":"Azure Pipelines deprecated tasks retirement schedule"},"content":{"rendered":"<p>Azure Pipelines includes around <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/?view=azure-pipelines\">150 build &amp; release tasks<\/a> as well as many more <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/?view=azure-pipelines\">task extensions<\/a>. Various included tasks have multiple (major) versions bringing the total to over included 200 tasks.<\/p>\n<p>Some of these tasks have been deprecated for some time, as newer tasks have replaced them. Deprecation means the task is still supported, before it is retired. In this blog post we&#8217;ll communicate what will happen as deprecated tasks retire.<\/p>\n<h2>What tasks can I no longer use?<\/h2>\n<p>In November we <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/release-notes\/2023\/pipelines\/sprint-230-update?branch=main#announcing-retirement-of-deprecated-tasks\">announced<\/a> deprecated tasks will be retired after January 31st. If you are using some of the tasks listed below, please update your pipelines e.g. to use the suggested alternative. To help pipeline authors identify pipelines that use deprecated tasks, these tasks emit warnings that include guidance on how to replace the task. This is an example for the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/dotnet-core-installer-v0?view=azure-pipelines\">DotNetCoreInstaller@1<\/a> task: <a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/task-deprecation-message.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/task-deprecation-message.png\" alt=\"Image task deprecation message\" width=\"2330\" height=\"364\" class=\"aligncenter size-full wp-image-68548\" srcset=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/task-deprecation-message.png 2330w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/task-deprecation-message-300x47.png 300w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/task-deprecation-message-1024x160.png 1024w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/task-deprecation-message-768x120.png 768w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/task-deprecation-message-1536x240.png 1536w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/task-deprecation-message-2048x320.png 2048w\" sizes=\"(max-width: 2330px) 100vw, 2330px\" \/><\/a><\/p>\n<p>Here is the list of tasks that are deprecated and will be retired:<\/p>\n<table>\n<thead>\n<tr>\n<th>Task<\/th>\n<th>Deprecated since<\/th>\n<th>Guidance<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>ApacheJMeterLoadTest@1<\/td>\n<td>June 4, 2019<\/td>\n<td>Consider using the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/azure-load-test-v1?view=azure-pipelines\">AzureLoadTest@1<\/a> task<\/td>\n<\/tr>\n<tr>\n<td>AppCenterDistribute@1<\/td>\n<td>November 14, 2022<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/app-center-distribute-v3?view=azure-pipelines\">AppCenterDistribute@3<\/a> task<\/td>\n<\/tr>\n<tr>\n<td>AppCenterDistribute@2<\/td>\n<td>November 14, 2022<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/app-center-distribute-v3?view=azure-pipelines\">AppCenterDistribute@3<\/a> task<\/td>\n<\/tr>\n<tr>\n<td>AzureMonitor@0<\/td>\n<td>July 8, 2020<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/azure-monitor-v1?view=azure-pipelines\">AzureMonitor@1<\/a> task. See <a href=\"https:\/\/learn.microsoft.com\/azure\/azure-monitor\/alerts\/alerts-prepare-migration\">migration of classic alert rules<\/a>.<\/td>\n<\/tr>\n<tr>\n<td>Chef@1<\/td>\n<td>March 5, 2018<\/td>\n<td>To continue to use Chef, use the Chef CLI directly from a <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-bash?view=azure-pipelines\">bash<\/a>, <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-pwsh?view=azure-pipelines\">pwsh<\/a> or <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-script?view=azure-pipelines\">script<\/a> task. See <a href=\"https:\/\/github.com\/chef\/chef-cli\">Chef CLI<\/a>.<\/td>\n<\/tr>\n<tr>\n<td>ChefKnife@1<\/td>\n<td>March 5, 2018<\/td>\n<td>To continue to use Chef Knife, use the Knife client directly from a <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-bash?view=azure-pipelines\">bash<\/a>, <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-pwsh?view=azure-pipelines\">pwsh<\/a> or <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-script?view=azure-pipelines\">script<\/a> task. See <a href=\"https:\/\/docs.chef.io\/workstation\/knife_client\/\">Knife client<\/a>.<\/td>\n<\/tr>\n<tr>\n<td>CloudLoadTest@1<\/td>\n<td>June 4, 2019<\/td>\n<td>Consider using the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/azure-load-test-v1?view=azure-pipelines\">AzureLoadTest@1<\/a> task<\/td>\n<\/tr>\n<tr>\n<td>CondaEnvironment@1<\/td>\n<td>Feb 13, 2019<\/td>\n<td>Use the <a href=\"https:\/\/docs.conda.io\/projects\/conda\/en\/stable\/\">Conda CLI<\/a> (&#8216;conda&#8217;) directly from a <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-bash?view=azure-pipelines\">bash<\/a>, <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-pwsh?view=azure-pipelines\">pwsh<\/a> or <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-script?view=azure-pipelines\">script<\/a> task.<\/td>\n<\/tr>\n<tr>\n<td>DeployVisualStudioTestAgent@2<\/td>\n<td>Jan 10, 2018<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/vstest-v2?view=azure-pipelines\">VSTest@2<\/a> task instead.<\/td>\n<\/tr>\n<tr>\n<td>DotNetCoreInstaller@1<\/td>\n<td>Aug 22, 2019<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/use-dotnet-v2?view=azure-pipelines\">UseDotNet@2<\/a> task instead.<\/td>\n<\/tr>\n<tr>\n<td>DownloadPackage@0<\/td>\n<td>July 20, 2023<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/download-package-v1?view=azure-pipelines\">DownloadPackage@1<\/a> task<\/td>\n<\/tr>\n<tr>\n<td>IISWebAppDeployment@1<\/td>\n<td>Oct 5, 2018<\/td>\n<td>Use the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscs-rm.iiswebapp\">IIS Web App Deployment Using WinRM<\/a> extension instead.<\/td>\n<\/tr>\n<tr>\n<td>NuGet@0<\/td>\n<td>June 15, 2017<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/tasks\/reference\/nuget-command-v2?view=azure-pipelines\">NuGetCommand@2<\/a> task instead<\/td>\n<\/tr>\n<tr>\n<td>NuGetInstaller@0<\/td>\n<td>July 20, 2023<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/tasks\/reference\/nuget-command-v2?view=azure-pipelines\">NuGetCommand@2<\/a> or <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/nuget-tool-installer-v1?view=azure-pipelines\">NuGetToolInstaller@1<\/a> tasks instead, see <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/nuget-command-v2?view=azure-pipelines#migrate-from-nugetinstaller0-or-nugetrestore1\">Migrate from NuGetInstaller@0 or NuGetRestore@1<\/a><\/td>\n<\/tr>\n<tr>\n<td>NuGetPackager@0<\/td>\n<td>June 15, 2017<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/tasks\/reference\/nuget-command-v2?view=azure-pipelines\">NuGetCommand@2<\/a> task with the <code>pack<\/code> command instead<\/td>\n<\/tr>\n<tr>\n<td>NuGetPublisher@0<\/td>\n<td>June 15, 2017<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/tasks\/reference\/nuget-command-v2?view=azure-pipelines\">NuGetCommand@2<\/a> task with the <code>push<\/code> command instead<\/td>\n<\/tr>\n<tr>\n<td>NuGetRestore@1<\/td>\n<td>Aug 8, 2023<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/tasks\/reference\/nuget-command-v2?view=azure-pipelines\">NuGetCommand@2<\/a> task with the <code>restore<\/code> command instead, see <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/nuget-command-v2?view=azure-pipelines#migrate-from-nugetinstaller0-or-nugetrestore1\">Migrate from NuGetInstaller@0 or NuGetRestore@1<\/a><\/td>\n<\/tr>\n<tr>\n<td>QuickPerfTest@1<\/td>\n<td>June 4, 2019<\/td>\n<td>Consider using the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/azure-load-test-v1?view=azure-pipelines\">AzureLoadTest@1<\/a> task<\/td>\n<\/tr>\n<tr>\n<td>SqlServerDacpacDeployment@1<\/td>\n<td>Oct 5, 2018<\/td>\n<td>For SQL Server, use the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscs-rm.iiswebapp\">IIS Web App Deployment Using WinRM<\/a> extension instead. For Azure SQL Database use the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/sql-azure-dacpac-deployment-v1?view=azure-pipelines\">SqlAzureDacpacDeployment@1<\/a> task.<\/td>\n<\/tr>\n<tr>\n<td>XamarinTestCloud@1<\/td>\n<td>Jan 11, 2018<\/td>\n<td>Use the <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/app-center-distribute-v3?view=azure-pipelines\">AppCenterDistribute@3<\/a> task<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>What will happen after the retirement date?<\/h2>\n<p>To help pipeline authors identify pipelines in Azure DevOps Service that use one of the deprecated tasks listed above, we will temporarily fail tasks according to the following schedule:<\/p>\n<ul>\n<li>Tuesday February 20<\/li>\n<li>Thursday February 22<\/li>\n<li>Monday February 26<\/li>\n<li>Friday March 1 to Monday March 4<\/li>\n<li>Wednesday March 6<\/li>\n<li>Friday March 8<\/li>\n<li>Tuesday March 12 to Wednesday March 13<\/li>\n<li>Friday March 15 onwards<\/li>\n<\/ul>\n<p>During this schedule, tasks will execute their normal functionality but report an error:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-2.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-2.png\" alt=\"Image image 2\" width=\"1717\" height=\"451\" class=\"aligncenter size-full wp-image-68583\" srcset=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-2.png 1717w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-2-300x79.png 300w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-2-1024x269.png 1024w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-2-768x202.png 768w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-2-1536x403.png 1536w\" sizes=\"(max-width: 1717px) 100vw, 1717px\" \/><\/a><\/p>\n<p>The recommended action is to follow the guidance shown in the error message or otherwise update the pipeline to no longer use the deprecated task. To prevent the error temporarily without replacing the task, set the <code>continueOnError<\/code> <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/yaml-schema\/steps-task?view=azure-pipelines\">step<\/a> property to <code>true<\/code>:<\/p>\n<pre><code class=\"yaml\">- task: DotNetCoreInstaller@1\n  continueOnError: true\n  inputs:\n    packageType: 'sdk'\n    version: '3.1.x'\n<\/code><\/pre>\n<p>This will execute the tasks functionality without failing and continue the pipeline. <strong>Note any other errors will also be suppressed<\/strong>. To prevent ignoring legitimate issues, replace the task with its recommended alternative listed above instead.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-3.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-3.png\" alt=\"Image image 3\" width=\"1714\" height=\"375\" class=\"aligncenter size-full wp-image-68584\" srcset=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-3.png 1714w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-3-300x66.png 300w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-3-1024x224.png 1024w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-3-768x168.png 768w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2024\/02\/image-3-1536x336.png 1536w\" sizes=\"(max-width: 1714px) 100vw, 1714px\" \/><\/a><\/p>\n<p>In a future update to Azure DevOps Server we will also retire the tasks listed above.<\/p>\n<h2>Frequently Asked Questions<\/h2>\n<ul>\n<li>Q: What will happen if I don&#8217;t do anything?<br \/>\nA: Tasks will permanently fail in Azure DevOps Service after March 15, and in a future update to Azure DevOps Server.<\/li>\n<li>Q: I&#8217;m using Azure DevOps Server<br \/>\nA: We will announce retirement from Azure DevOps Server separately.<\/li>\n<li>Q: We have many pipelines. How can pipeline owners be made aware?<br \/>\nA: During the brownout schedule above failing tasks and pipelines let pipeline owners pinpoint pipelines using soon to be retired tasks.<\/li>\n<li>Q: I&#8217;m using the DownloadPackage@0\/NuGetInstaller@0\/NuGetRestore@1 task and it is failing. A: These tasks follow an accelerated retirement schedule, see <a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/release-notes\/2023\/artifacts\/sprint-229-update#deprecation-announcement-for-nuget-restore-v1-and-nuget-installer-v0-pipeline-tasks\">announcement<\/a>.<\/li>\n<\/ul>\n<h2>Resources<\/h2>\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/pipelines\/tasks\/reference\/?view=azure-pipelines\">Task Reference<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/azure\/devops\/release-notes\/2023\/pipelines\/sprint-230-update#announcing-retirement-of-deprecated-tasks\">Release Notes<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Azure Pipelines includes around 150 build &amp; release tasks as well as many more task extensions. Various included tasks have multiple (major) versions bringing the total to over included 200 tasks. Some of these tasks have been deprecated for some time, as newer tasks have replaced them. Deprecation means the task is still supported, before [&hellip;]<\/p>\n","protected":false},"author":26231,"featured_media":68587,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[226],"tags":[],"class_list":["post-68388","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ci"],"acf":[],"blog_post_summary":"<p>Azure Pipelines includes around 150 build &amp; release tasks as well as many more task extensions. Various included tasks have multiple (major) versions bringing the total to over included 200 tasks. Some of these tasks have been deprecated for some time, as newer tasks have replaced them. Deprecation means the task is still supported, before [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/68388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/26231"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=68388"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/68388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/68587"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=68388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=68388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=68388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}