Azure Pipelines deprecated tasks retirement schedule

Eric van Wijk

Azure Pipelines includes around 150 build & 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 it is retired. In this blog post we’ll communicate what will happen as deprecated tasks retire.

What tasks can I no longer use?

In November we announced 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 DotNetCoreInstaller@1 task: Image task deprecation message

Here is the list of tasks that are deprecated and will be retired:

Task Deprecated since Guidance
ApacheJMeterLoadTest@1 June 4, 2019 Consider using the AzureLoadTest@1 task
AppCenterDistribute@1 November 14, 2022 Use the AppCenterDistribute@3 task
AppCenterDistribute@2 November 14, 2022 Use the AppCenterDistribute@3 task
AzureMonitor@0 July 8, 2020 Use the AzureMonitor@1 task. See migration of classic alert rules.
Chef@1 March 5, 2018 To continue to use Chef, use the Chef CLI directly from a bash, pwsh or script task. See Chef CLI.
ChefKnife@1 March 5, 2018 To continue to use Chef Knife, use the Knife client directly from a bash, pwsh or script task. See Knife client.
CloudLoadTest@1 June 4, 2019 Consider using the AzureLoadTest@1 task
CondaEnvironment@1 Feb 13, 2019 Use the Conda CLI (‘conda’) directly from a bash, pwsh or script task.
DeployVisualStudioTestAgent@2 Jan 10, 2018 Use the VSTest@2 task instead.
DotNetCoreInstaller@1 Aug 22, 2019 Use the UseDotNet@2 task instead.
DownloadPackage@0 July 20, 2023 Use the DownloadPackage@1 task
IISWebAppDeployment@1 Oct 5, 2018 Use the IIS Web App Deployment Using WinRM extension instead.
NuGet@0 June 15, 2017 Use the NuGetCommand@2 task instead
NuGetInstaller@0 July 20, 2023 Use the NuGetCommand@2 or NuGetToolInstaller@1 tasks instead, see Migrate from NuGetInstaller@0 or NuGetRestore@1
NuGetPackager@0 June 15, 2017 Use the NuGetCommand@2 task with the pack command instead
NuGetPublisher@0 June 15, 2017 Use the NuGetCommand@2 task with the push command instead
NuGetRestore@1 Aug 8, 2023 Use the NuGetCommand@2 task with the restore command instead, see Migrate from NuGetInstaller@0 or NuGetRestore@1
QuickPerfTest@1 June 4, 2019 Consider using the AzureLoadTest@1 task
SqlServerDacpacDeployment@1 Oct 5, 2018 For SQL Server, use the IIS Web App Deployment Using WinRM extension instead. For Azure SQL Database use the SqlAzureDacpacDeployment@1 task.
XamarinTestCloud@1 Jan 11, 2018 Use the AppCenterDistribute@3 task

What will happen after the retirement date?

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:

  • Tuesday February 20
  • Thursday February 22
  • Monday February 26
  • Friday March 1 to Monday March 4
  • Wednesday March 6
  • Friday March 8
  • Tuesday March 12 to Wednesday March 13
  • Friday March 15 onwards

During this schedule, tasks will execute their normal functionality but report an error:

Image image 2

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 continueOnError step property to true:

- task: DotNetCoreInstaller@1
  continueOnError: true
  inputs:
    packageType: 'sdk'
    version: '3.1.x'

This will execute the tasks functionality without failing and continue the pipeline. Note any other errors will also be suppressed. To prevent ignoring legitimate issues, replace the task with its recommended alternative listed above instead.

Image image 3

In a future update to Azure DevOps Server we will also retire the tasks listed above.

Frequently Asked Questions

  • Q: What will happen if I don’t do anything?
    A: Tasks will permanently fail in Azure DevOps Service after March 15, and in a future update to Azure DevOps Server.
  • Q: I’m using Azure DevOps Server
    A: We will announce retirement from Azure DevOps Server separately.
  • Q: We have many pipelines. How can pipeline owners be made aware?
    A: During the brownout schedule above failing tasks and pipelines let pipeline owners pinpoint pipelines using soon to be retired tasks.
  • Q: I’m using the DownloadPackage@0/NuGetInstaller@0/NuGetRestore@1 task and it is failing. A: These tasks follow an accelerated retirement schedule, see announcement.

Resources

4 comments

Leave a comment

  • Mark Lawrence 2

    Is there not a better way to inform users than to selectively fail these tasks during a specific window? Not everyone runs all their pipelines particularly frequently. Likewise, not everyone reads these blogs regularly – I just came across this by chance this morning, for example.

    It would be great if there was an in-app notification or similar, for example, informing users of this change when we’re actually using DevOps, for example.

  • Jerry Hoffmeister 1

    We did get e-mail about this on Monday 2/19. Although the above suggests that these tasks would fail on Tuesday 2/20, they did not? I also see there are deprecation warnings in the logs.

    • Eric van WijkMicrosoft employee 1

      Hi Jerry. The failures roll out and are not enabled for every customers at exactly the same time.

  • hyesr 0

    Hi Eric,
    is there a way/tool/suggestion to generate a list with all pipelines that are using the deprecated tasks?

    Thanks

Feedback usabilla icon