Deprecation Schedule

Information about deprecated features and the dates they will be no longer supported.

Container-Based Managed Runners

Date Deprecated: 1/25/21

Removed After: 7/31/21

Managed runners were previously hosted as serverless containers (Azure Container Instances). These were replaced by virtual machines, which are more flexible, can run Docker containers in pipelines, and provide more CPU and RAM resources.

Changes Required

After the removal date, all container-based runners will be automatically converted to virtual machine runners. As a result, existing container-based runners will be stopped and destroyed. To limit the impact of this change, it is highly recommended to replace your container runners with virtual machine runners before this date.

To upgrade your runners, visit the “Account Settings” page and navigate to the “Runners” tab. Container-based runners will show a “Container” label in the runner list. For each container runner, note the project assignments and other settings, delete the runner, and then create a new virtual machine runner with the same project assignments and settings.

This change does not affect self-hosted runners.

Per-Step Tool Installers

Removed After: 7/26/21

Pipeline step modules that have an associated tool have an option to specify the tool version for individual steps. The behavior of these per-step tool versions is currently different from the equivalent dedicated tool installer step module, where for some step modules, the per-step tool version attempts to isolate installation to the step, rather than modifying the global environment.

This implementation has led to some confusion about how tool installers work, as well as some difficult to debug issues related to environment configuration, such as with virtualenv (e.g., Python packages not resolving correctly).

We are changing the per-step tool version to have an identical implementation to the dedicated tool installer step modules. That is, the tool version will now install tools globally on the runner machine, rather than attempting to isolate the installation per-step.

Changes Required

We estimate that most users are already utilizing the global tool installer modules. To ensure a smooth transition, check if any of your pipeline steps are using the tool version configured on the step. For these pipelines, remove the per-step tool version and add an installer step to the beginning of your pipeline. After this update, you can return to using the per-step version, as it will have the same behavior as the dedicated tool installer step modules.

Bearer Token Credential Type

Date Deprecated: 2/15/21

Removed After: 7/24/21

The “Bearer Token” credential type was replaced with the “API Token” credential type to represent more types of single-string token type credentials than simply HTTP bearer tokens. The types behave identically, but have a different type ID which is referenced by pipeline variables and steps. The “Bearer Token” credential type is still supported but does not appear in many UI dropdowns.

Changes Required

Look for any pipelines in your projects that use the “Bearer Token” (type ID: bearer_token) credential type in any variables or pipeline steps. A quick way to do this is to search for bearer_token in the pipeline YAML. Change the bearer_token type to api_token, then save the pipeline and update any jobs referencing it.

Kubernetes Step Module

Date Deprecated: 10/11/20

Removed After: 7/24/21

The original Kubernetes step module was replaced by the “kubectl” module to support more kubectl actions and use cases.

Changes Required

We estimate there are no or very few users still using the Kubernetes step module in their pipelines.