Skip to content

Commit e16db22

Browse files
Merge pull request #6800 from MicrosoftDocs/users/ckanyika/sprint240-releasenotes
Azure DevOps Sprint 240 Release Notes
2 parents dee22d5 + b765218 commit e16db22

26 files changed

+444
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: Azure DevOps Release Notes - Azure Boards Sprint 240 Update
3+
description: See the Sprint 240 feature updates for Azure Boards, including next steps.
4+
author: ckanyika
5+
ms.author: ckanyika
6+
ms.date: 6/14/2024
7+
---
8+
9+
# Azure Boards - Sprint 240 Update
10+
11+
## Features
12+
13+
[!INCLUDE [sprint-240-update-links](../includes/boards/sprint-240-update-links.md)]
14+
15+
[!INCLUDE [sprint-240-update](../includes/boards/sprint-240-update.md)]
16+
17+
[!INCLUDE [nextsteps](../includes/nextsteps.md)]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: Azure DevOps release notes - GitHub Advanced Security for Azure DevOps 240 Update
3+
description: See the Sprint 240 feature updates for GitHub Advanced Security for Azure DevOps, including next steps.
4+
author: ckanyika
5+
ms.author: ckanyika
6+
ms.date: 6/14/2024
7+
---
8+
9+
# GitHub Advanced Security for Azure DevOps - Sprint 240 Update
10+
11+
## Features
12+
13+
[!INCLUDE [sprint-240-update-links](../includes/ghazdo/sprint-240-update-links.md)]
14+
15+
[!INCLUDE [sprint-240-update](../includes/ghazdo/sprint-240-update.md)]
16+
17+
[!INCLUDE [nextsteps](../includes/nextsteps.md)]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
- [Change for deleting area and iteration paths](#change-for-deleting-area-and-iteration-paths)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
### Change for deleting area and iteration paths
9+
10+
Deleting an area or iteration path can be disruptive. It can move work items to a new path and may cause teams to lose access to their boards and backlogs. Despite warnings and prompts, paths are sometimes deleted without fully understanding the consequences. To address this, we changed the behavior: Area and Iteration paths can now only be deleted if they are no longer used by any work items.
11+
12+
> [!div class="mx-imgBorder"]
13+
> ![Screenshots of delete area.](../../media/240-boards-02.png "Screenshot of delete area path.")

release-notes/2024/includes/general/sprint-238-update-links.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ ms.date: 5/2/2024
55
ms.topic: include
66
---
77

8-
- [Improve search results with wildcard prefixes and substringss](#improve-search-results-with-wildcard-prefixes-and-substrings)
8+
- [Improve search results with wildcard prefixes and substrings](#improve-search-results-with-wildcard-prefixes-and-substrings)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
- [Security overview API documentation now available ](#security-overview-api-documentation-now-available)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
### Security overview API documentation now available
9+
10+
Documentation for the API powering the Advanced Security overview risk tab is now available. Use the endpoint `/{organization}/_apis/reporting/summary/alerts` to view a summary of alert criticality across all Advanced Security-enabled repositories. Ensure your ADO PAT has the `vso.advsec` permission, which grants the ability to read alerts, result instances, and analysis result instances.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
- [Access Azure Service Bus from Pipelines using Entra ID authentication](#access-azure-service-bus-from-pipelines-using-entra-id-authentication)
9+
- [Pipelines and tasks populate variables to customize Workload identity federation authentication](#pipelines-and-tasks-populate-variables-to-customize-workload-identity-federation-authentication)
10+
- [Retries for server tasks](#retries-for-server-tasks)
11+
- [Tasks that use an end-of-life Node runner version to execute emit warnings](#tasks-that-use-an-end-of-life-node-runner-version-to-execute-emit-warnings)
12+
- [DockerCompose0 uses Docker Compose v2 in v1 compatibility mode](#dockercompose0-uses-docker-compose-v2-in-v1-compatibility-mode)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
### Access Azure Service Bus from Pipelines using Entra ID authentication
9+
10+
You can now use [Entra ID authentication](https://learn.microsoft.com/azure/service-bus-messaging/service-bus-authentication-and-authorization#microsoft-entra-id) to access Azure Service Bus from Azure Pipelines. This allows you to take advantage of Workload identity federation to remove secrets management and Azure RBAC for fine grained access control.
11+
12+
Identities accessing Azure Service Bus need to be granted one of the [Azure built-in roles for Azure Service Bus](https://learn.microsoft.com/azure/service-bus-messaging/authenticate-application#azure-built-in-roles-for-azure-service-bus) on the Service Bus accessed.
13+
14+
15+
##### PublishToAzureServiceBus@2 task
16+
17+
The new PublishToAzureServiceBus@2 tasks can be configured using an Azure service connection. Create an [Azure service connection](https://learn.microsoft.com/azure/devops/pipelines/library/connect-to-azure?view=azure-devops&preserve-view=true) and populate the `serviceBusQueueName` and `serviceBusNamespace` properties of the new task:
18+
19+
```yaml
20+
- task: PublishToAzureServiceBus@2
21+
inputs:
22+
azureSubscription: my-azure-service-connection
23+
serviceBusQueueName: my-service-bus-queue
24+
serviceBusNamespace: my-service-bus-namespace
25+
useDataContractSerializer: false
26+
messageBody: |
27+
{
28+
"foo": "bar"
29+
}
30+
```
31+
32+
##### Server tasks
33+
34+
Custom server (agent-less) tasks that use `ServiceBus` execution can specify an Azure Service Connection as `EndpointId` and omit `ConnectionString`. See [Server task authoring](https://github.com/microsoft/azure-pipelines-tasks/blob/master/docs/authoring/servertaskauthoring.md#server-task-authoring).
35+
36+
### Pipelines and tasks populate variables to customize Workload identity federation authentication
37+
38+
The REST API endpoint for requesting OIDC tokens is now available in the `System.OidcRequestUri` pipeline variable. Task developers can leverage this variable to generate an idToken for authentication with Entra ID.
39+
40+
If you are using Marketplace tasks or custom tasks to deploy to Azure, please be aware that these tasks may not support workload identity federation yet. We recommend task developers to enable workload identity federation to improve security measures.
41+
42+
> [!div class="mx-imgBorder"]
43+
> ![Screenshot of oidc collaboration.](../../media/240-pipelines-01.png "Screenshot of oidc collaboration")
44+
45+
46+
Tasks that take a `connectedService:AzureRM` input in [task.json](https://learn.microsoft.com/azure/devops/extend/develop/integrate-build-task?view=azure-devops#custom-build-task-json) can be updated to support workload identity federation by following these steps:
47+
48+
* Utilize the [Oidctoken REST API](/azure/devops/distributedtask/oidctoken/create?view=azure-devops-rest-7.1&preserve-view=true) to request an idToken (arrow 1 in above diagram).
49+
* Exchange the idToken for an access token using the federated credential flow of the [OAuth API](/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow#third-case-access-token-request-with-a-federated-credential), specifying the idToken as `client_assertion` (arrows 2 & 4 in above diagram);
50+
or:
51+
* For tasks that act as a wrapper around a tool that performs authentication itself, use the tools' authentication method to specify the federated token.
52+
53+
Node tasks can use the [azure-pipelines-tasks-artifacts-common](https://www.npmjs.com/package/azure-pipelines-tasks-artifacts-common?activeTab=explore) npm package to obtain the idToken. Refer to the [code example](https://github.com/microsoft/azure-pipelines-terraform/blob/main/Tasks/TerraformTask/TerraformTaskV4/src/id-token-generator.ts) for implementation details.
54+
55+
56+
##### Requesting a fresh idToken
57+
58+
The `System.OidcRequestUri` pipeline variable and `AZURESUBSCRIPTION_SERVICE_CONNECTION_ID` environment variable exposed in the `AzureCLI@2` and `AzurePowerShell@5` tasks allow pipeline authors to authenticate from their own script:
59+
60+
##### PowerShell Az
61+
62+
```powershell
63+
- task: AzurePowerShell@5
64+
inputs:
65+
azureSubscription: 'my-azure-subscription'
66+
scriptType: inlineScript
67+
inline: |
68+
# Request fresh idToken
69+
Invoke-RestMethod -Headers @{
70+
Authorization = "Bearer $(System.AccessToken)"
71+
'Content-Type' = 'application/json'
72+
} `
73+
-Uri "${env:SYSTEM_OIDCREQUESTURI}?api-version=7.1&serviceConnectionId=${env:AZURESUBSCRIPTION_SERVICE_CONNECTION_ID}" `
74+
-Method Post `
75+
| Select-Object -ExpandProperty oidcToken
76+
| Set-Variable idToken
77+
78+
# Fetch current context
79+
$azContext = Get-AzContext
80+
81+
# Start new Az session
82+
Connect-AzAccount -ApplicationId $azContext.Account.Id `
83+
-TenantId $azContext.Tenant.Id `
84+
-SubscriptionId $azContext.Subscription.Id `
85+
-FederatedToken $idToken
86+
```
87+
88+
##### Azure CLI
89+
90+
```bash
91+
- task: AzureCLI@2
92+
inputs:
93+
addSpnToEnvironment: true
94+
azureSubscription: 'my-azure-subscription'
95+
scriptType: bash
96+
scriptLocation: inlineScript
97+
inlineScript: |
98+
# Request fresh idToken
99+
OIDC_REQUEST_URL="${SYSTEM_OIDCREQUESTURI}?api-version=7.1&serviceConnectionId=${AZURESUBSCRIPTION_SERVICE_CONNECTION_ID}"
100+
ARM_OIDC_TOKEN=$(curl -s -H "Content-Length: 0" -H "Content-Type: application/json" -H "Authorization: Bearer $(System.AccessToken)" -X POST $OIDC_REQUEST_URL | jq -r '.oidcToken')
101+
102+
# Save subscription context
103+
ARM_SUBSCRIPTION_ID=$(az account show --query id -o tsv)
104+
105+
# New az-cli session
106+
az login --service-principal -u $servicePrincipalId --tenant $tenantId --allow-no-subscriptions --federated-token $ARM_OIDC_TOKEN
107+
az account set --subscription $ARM_SUBSCRIPTION_ID
108+
```
109+
110+
### Retries for server tasks
111+
112+
Server tasks that call external systems, such as `AzureFunction` or `InvokeRESTAPI`, can occasionally fail due to transient errors like compute resource exhaustion. Previously, such failures would cause the entire job, and potentially the pipeline, to fail.
113+
114+
To improve resilience against transient errors, we have introduced support for the `retryCountOnTaskFailure` property in server tasks. Assume you have the following YAML code in your pipeline:
115+
116+
```yml
117+
- stage: deploy
118+
jobs:
119+
- job:
120+
pool: server
121+
steps:
122+
- task: AzureFunction@1
123+
retryCountOnTaskFailure: 2
124+
inputs:
125+
function: 'https://api.fabrikamfiber.com'
126+
key: $(functionKey)
127+
method: 'POST'
128+
waitForCompletion: 'false'
129+
```
130+
131+
If `https://api.fabrikamfiber.com` experiences a transient error, Azure Pipelines will retry the request up to three times (the initial attempt plus two retries specified by `retryCountOnTaskFailure`). Each retry includes an increasing wait period. The maximum number of retries allowed is 10.
132+
133+
The `retryCountOnTaskFailure` isn't available for the `ManualValidation` task and other tasks that don't involve external system calls.
134+
135+
### Tasks that use an end-of-life Node runner version to execute emit warnings
136+
137+
Pipeline tasks that rely on a Node version no longer [maintained](https://nodejs.org/en/about/previous-releases) will start receiving warnings:
138+
139+
> Task `TaskName` version `<version>` is dependent on a Node version (10) that is end-of-life. Contact the extension owner for an updated version of the task. Task maintainers should review Node upgrade guidance: https://aka.ms/node-runner-guidance
140+
141+
To suppress these warnings, you can set an environment or pipeline variable at either the pipeline (job) or task level. For example:
142+
143+
```yaml
144+
variables:
145+
AZP_AGENT_CHECK_IF_TASK_NODE_RUNNER_IS_DEPRECATED: false
146+
```
147+
148+
### DockerCompose@0 uses Docker Compose v2 in v1 compatibility mode
149+
150+
Docker Compose v1 will reach its end-of-life and be removed from Hosted Agents in July 2024. We have updated the [DockerCompose@0](https://learn.microsoft.com/azure/devops/pipelines/tasks/reference/docker-compose-v0?view=azure-pipelines) task to use Docker Compose v2 in v1 compatibility mode.

release-notes/2024/includes/repos/sprint-234-update-links.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: bjanousek
33
ms.author: bjanousek
4-
ms.date: 2/9/2023
4+
ms.date: 2/9/2024
55
ms.topic: include
66
---
77

release-notes/2024/includes/repos/sprint-234-update.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: bjanousek
33
ms.author: bjanousek
4-
ms.date: 2/9/2023
4+
ms.date: 2/9/2024
55
ms.topic: include
66
---
77

@@ -24,13 +24,13 @@ See the image below showing the pipeline named "Sandbox" disabled (greyed out) i
2424
> [!div class="mx-imgBorder"]
2525
> ![Screenshot of add build policy.](../../media/234-repos-02.png "Screenshot of add build policy")
2626
27-
When the build policy configured to run the pipeline named "Sandbox" already exists, then the user with no **Queue builds** permission will not be able to edit or view the build policy. This case is shown on the following image.
27+
When the build policy configured to run the pipeline named "Sandbox" already exists, then the user with no **Queue builds** permission won't be able to edit or view the build policy. This case is shown on the following image.
2828

2929

3030
> [!div class="mx-imgBorder"]
3131
> ![Screenshot of build validation.](../../media/234-repos-03.png "Screenshot of build validation")
3232
33-
When the user will try to delete such policy the pop-up dialog asking for deletion confirmation will be shown.
33+
When you try to delete this policy the pop-up dialog asking for deletion confirmation will be shown.
3434

3535
> [!div class="mx-imgBorder"]
3636
> ![Screenshot of confirm deletion.](../../media/234-repos-04.png "Screenshot of confirm deletion")

release-notes/2024/includes/repos/sprint-235-update-links.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: ckanyika
33
ms.author: ckanyika
4-
ms.date: 2/29/2023
4+
ms.date: 2/29/2024
55
ms.topic: include
66
---
77

release-notes/2024/includes/repos/sprint-235-update.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: ckanyika
33
ms.author: ckanyika
4-
ms.date: 2/29/2023
4+
ms.date: 2/29/2024
55
ms.topic: include
66
---
77

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
- [New setting to disable creation of TFVC repositories](#new-setting-to-disable-creation-of-tfvc-repositories)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
## New setting to disable creation of TFVC repositories
9+
10+
In recent years, no new features were added to Team Foundation Version Control (TFVC) because Git has become the preferred version control system in Azure Repos. All recent improvements in security, performance, and accessibility have been made exclusively to Git repositories, leading to a continuous decline in TFVC usage. While some still rely on TFVC and we don't intend to remove this feature set, we plan to phase out TFVC gradually for new projects and organizations, as well as for projects that currently don't use TFVC.
11+
12+
As part of this transition, we're introducing a new setting to "Disable creation of TFVC repositories," which will only affect the creation of new TFVC repositories and won't impact existing ones.
13+
14+
15+
> [!div class="mx-imgBorder"]
16+
> ![Gif to demo Disable creation of TFVC repositories.](../../media/240-repos-01.gif "gif to Disable creation of TFVC repositories")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
- [Test and Feedback extension in Manifest V3](#test-and-feedback-extension-in-manifest-v3)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
author: ckanyika
3+
ms.author: ckanyika
4+
ms.date: 6/14/2024
5+
ms.topic: include
6+
---
7+
8+
### Test and Feedback extension in Manifest V3
9+
10+
We're excited to announce a new update to the Azure DevOps Test and Feedback extension! This upgrade transitions our implementation from Manifest Version 2 to Version 3, aligning with Google's deprecation schedule for Manifest V2.
11+
12+
While the extension's core features remain unchanged, this update improves security and performance. The updated extension will roll out gradually to both Chrome and Edge browsers over the coming weeks. We will monitor performance and feedback to ensure a smooth transition before expanding the rollout based on the results.
13+
14+
For more details, check out our recent blog post about this update. [Test & Feedback Extension in Manifest V3](https://devblogs.microsoft.com/devops/test-feedback-extension-v3/)
15+
13 KB
Loading
204 KB
Loading
305 KB
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: Azure DevOps release notes - Azure Pipelines Sprint 240 update
3+
description: See the Sprint 240 feature updates for Azure Pipelines, including next steps.
4+
author: ckanyika
5+
ms.author: ckanyika
6+
ms.date: 6/14/2024
7+
---
8+
9+
# Azure Pipelines - Sprint 240 Update
10+
11+
## Features
12+
13+
[!INCLUDE [sprint-240-update-links](../includes/pipelines/sprint-240-update-links.md)]
14+
15+
[!INCLUDE [sprint-240-update](../includes/pipelines/sprint-240-update.md)]
16+
17+
[!INCLUDE [nextsteps](../includes/nextsteps.md)]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: Azure DevOps Release Notes - Azure Repos Sprint 240 Update
3+
description: See the Sprint 240 feature updates for Azure Repos, including next steps.
4+
author: ckanyika
5+
ms.author: ckanyika
6+
ms.date: 6/13/2024
7+
---
8+
9+
# Azure Repos - Sprint 240 Update
10+
11+
## Features
12+
13+
[!INCLUDE [sprint-240-update-links](../includes/repos/sprint-240-update-links.md)]
14+
15+
[!INCLUDE [sprint-240-update](../includes/repos/sprint-240-update.md)]
16+
17+
[!INCLUDE [nextsteps](../includes/nextsteps.md)]

0 commit comments

Comments
 (0)