diff --git a/release-notes/2021/general/sprint-192-update.md b/release-notes/2021/general/sprint-192-update.md new file mode 100644 index 00000000000..a6b4e1c5820 --- /dev/null +++ b/release-notes/2021/general/sprint-192-update.md @@ -0,0 +1,18 @@ +--- +title: Azure DevOps Release Notes - Azure DevOps Sprint 192 Update +description: See the Sprint 192 feature updates for Azure DevOps, including next steps. +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 09/07/2021 +--- + +# Azure DevOps - Sprint 192 Update + +## Features + +[!INCLUDE [sprint-192-update-links](../includes/general/sprint-192-update-links.md)] + +[!INCLUDE [sprint-192-update](../includes/general/sprint-192-update.md)] + +[!INCLUDE [nextsteps](../includes/nextsteps.md)] \ No newline at end of file diff --git a/release-notes/2021/includes/general/sprint-192-update-links.md b/release-notes/2021/includes/general/sprint-192-update-links.md new file mode 100644 index 00000000000..200a8851735 --- /dev/null +++ b/release-notes/2021/includes/general/sprint-192-update-links.md @@ -0,0 +1,9 @@ +--- +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 9/8/2021 +ms.topic: include +--- + +- [Support hyperlinks which contain German umlauts](#support-hyperlinks-which-contain-german-umlauts) \ No newline at end of file diff --git a/release-notes/2021/includes/general/sprint-192-update.md b/release-notes/2021/includes/general/sprint-192-update.md new file mode 100644 index 00000000000..38e8af93599 --- /dev/null +++ b/release-notes/2021/includes/general/sprint-192-update.md @@ -0,0 +1,10 @@ +--- +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 9/8/2021 +ms.topic: include +--- +### Support hyperlinks which contain German umlauts + +Azure DevOps users were receiving 500 errors whenever they visited hyperlinks that contained German umlauts and other special characters. We have fixed this issue so that users can access these URLs without errors. \ No newline at end of file diff --git a/release-notes/2021/includes/pipelines/sprint-192-update-links.md b/release-notes/2021/includes/pipelines/sprint-192-update-links.md new file mode 100644 index 00000000000..0dfac49b488 --- /dev/null +++ b/release-notes/2021/includes/pipelines/sprint-192-update-links.md @@ -0,0 +1,15 @@ +--- +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 9/8/2021 +ms.topic: include +--- + +- [New YAML conditional expressions](#new-yaml-conditional-expressions) +- [Support for wild cards in path filters](#support-for-wild-cards-in-path-filters) +- [Support for multiple statuses in Bitbucket](#support-for-multiple-statuses-in-bitbucket) +- [Allow contributors to skip seeking PR comments prior to build validation](#allow-contributors-to-skip-seeking-pr-comments-prior-to-build-validation) +- [Windows Server 2022 with Visual Studio 2022 is now available on Microsoft-hosted agents (preview)](#windows-server-2022-with-visual-studio-2022-is-now-available-on-microsoft-hosted-agents-preview) +- [General availability of macOS 11 Big Sur on Microsoft-hosted agents](#general-availability-of-macos-11-on-microsoft-hosted-agents) +- [Removal of Ubuntu 16.04 image on Microsoft-hosted agents](#removal-of-ubuntu-1604-image-on-microsoft-hosted-agents) \ No newline at end of file diff --git a/release-notes/2021/includes/pipelines/sprint-192-update.md b/release-notes/2021/includes/pipelines/sprint-192-update.md new file mode 100644 index 00000000000..12c150510be --- /dev/null +++ b/release-notes/2021/includes/pipelines/sprint-192-update.md @@ -0,0 +1,101 @@ +--- +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 9/8/2021 +ms.topic: include +--- + +### New YAML conditional expressions + +Writing conditional expressions in YAML files just got easier with the use of `${{ else }}` and `${{ elseif }}` expressions. Below are examples of how to use these expressions in YAML pipelines files. + +``` +steps: +- script: tool + env: + ${{ if parameters.debug }}: + TOOL_DEBUG: true + TOOL_DEBUG_DIR: _dbg + ${{ else }}: + TOOL_DEBUG: false + TOOL_DEBUG_DIR: _dbg +``` + +``` +variables: + ${{ if eq(parameters.os, 'win') }}: + testsFolder: windows + ${{ elseif eq(parameters.os, 'linux' }}: + testsFolder: linux + ${{ else }}: + testsFolder: mac +``` + +### Support for wild cards in path filters + +[Wild cards](https://docs.microsoft.com/azure/devops/pipelines/repos/azure-repos-git?view=azure-devops&tabs=yaml#wildcards) can be used when specifying inclusion and exclusion branches for CI or PR triggers in a pipeline YAML file. However, they cannot be used when specifying path filters. For instance, you cannot include all paths that match `src/app/**/myapp*`. This has been pointed out as an inconvenience by [several customers](https://developercommunity.visualstudio.com/t/support-wildcards-in-trigger-path-filters-1/366363). This update fills this gap. Now, you can use wild card characters (`**`, `*`, or `?`) when specifying path filters. +### Support for multiple statuses in Bitbucket + +Azure Pipelines integrates with Bitbucket repositories and supports CI and PR triggers. You can set up multiple pipelines from a single Bitbucket repository. However, when these pipelines were complete, you could only see one status in Bitbucket. We heard feedback from the [Developer Community](https://developercommunity.visualstudio.com/t/Bitbucket-Build-Status-with-Multiple-Pip/928225) asking to view the status of each pipeline separately in Bitbucket. With this update, we updated our API calls to Bitbucket and pass additional information about the name of the pipeline. + +> [!div class="mx-imgBorder"] +> ![Build status](../../media/192-pipelines-01.png) +### Allow contributors to skip seeking PR comments prior to build validation + +When using Azure Pipelines with GitHub repositories, we [recommend](https://docs.microsoft.com/azure/devops/pipelines/repos/github?view=azure-devops&tabs=yaml#contributions-from-forks) that you don't automatically run a PR validation pipeline for contributions received from a forked repository. The best practice here is to first have one of the collaborators of the repository review the change and then add a [comment](https://docs.microsoft.com/azure/devops/pipelines/repos/github?view=azure-devops&tabs=yaml#comment-triggers) to the PR to trigger the pipeline. You can configure these settings by selecting the Triggers menu (for YAML pipelines) or the Triggers tab (for classic build pipelines) in the pipeline web editor. Instead of requiring every PR from a fork to be first reviewed by a team member, you can also enforce this policy only on contributions that originate from non-team members. + +With this update, we are allowing you to skip seeking a PR comment from contributions received by any contributor. As a non-team member, when you create a fork and create a PR to the upstream, you are not considered a contributor to the upstream repository until your PR is merged. Once your PR is merged, you will be considered a contributor. By selecting the new option shown below, when a non-team member submits a PR from a fork for the first time, someone on your team would have to review the PR and add a comment to trigger the pipeline. But, once the PR is merged, any further contributions made by that non-team member will directly trigger the pipeline without waiting for a PR comment. + +> [!div class="mx-imgBorder"] +> ![Require a team member's comment before building a pull request](../../media/192-pipelines-03.png) + +### Windows Server 2022 with Visual Studio 2022 is now available on Microsoft-hosted agents (preview) + +Windows Server 2022 and [Visual Studio Enterprise 2022 Preview](https://visualstudio.microsoft.com/vs/preview/) are now available in preview on Microsoft-hosted agents. You can use it by referencing `windows-2022` as image in your pipeline. + +```yaml +pool: + vmImage: 'windows-2022' + +steps: +- task: NuGetToolInstaller@1 +- task: NuGetCommand@2 + inputs: + restoreSolution: '**/*.sln' +- task: VSBuild@1 # Visual Studio 2022 build + inputs: + solution: '**/*.sln' + msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"' + platform: 'Any CPU' + configuration: 'Release' +``` + +When you reference windows-latest pool in your YAML pipelines, it will still mean windows-2019 and not windows-2022, while the latter is in preview. + +The Windows Server 2022 pipeline image has different tools and tool versions when compared to Windows Server 2019. You can see the details in the software [announcement issue](https://github.com/actions/virtual-environments/issues/3949) and in the documentation [virtual-environments repository](https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md). + +If you find any issues with your pipelines when using Windows Server 2022, please let us know by creating an issue in the [virtual-environments repository](https://github.com/actions/virtual-environments/blob/main/docs/software-and-images-guidelines.md). + +### General availability of macOS 11 on Microsoft-hosted agents + +macOS 11 is now generally available on Microsoft-hosted agents. You can use it by referencing `macos-11` as image in your pipeline. + +```yaml +pool: + vmImage: macos-11 +``` + +The macOS 11 pipeline image has different tools and tool, to learn more about this version you can see the full documentation [here](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md). + +If you find any issues with your pipelines when using macOS 11, please let us know by creating an issue in the [virtual-environments repository](https://github.com/actions/virtual-environments/blob/main/docs/software-and-images-guidelines.md). + +### Removal of Ubuntu 16.04 image on Microsoft-hosted agents + +As announced [earlier](https://docs.microsoft.com/azure/devops/release-notes/2021/pipelines/sprint-187-update#ubuntu-1604-will-be-removed-from-microsoft-hosted-pools-in-september-2021), we will be removing Ubuntu 16.04 image from Microsoft-hosted agents on September 20, 2021. Traditional 5-years support of Ubuntu 16.04 by Canonical ended in April, 2021. You will need to migrate ubuntu-16.04 pipelines to ubuntu-18.04 or ubuntu-latest which will run on Ubuntu 20.04 LTS. + +Builds that use Ubuntu-16.04 already have a warning being logged in them. To make sure everyone is aware of this change, we scheduled 2 short "brownouts". Ubuntu 16.04 builds will fail during the brownout period. Therefore, it is recommended to migrate your workflows prior to the September 6, 2021. + +The brownouts are scheduled for the following dates and times (Note that these have been extended by an hour from the earlier announced times): +September 6, 2021 4:00pm UTC – 10:00pm UTC +September 14, 2021 4:00pm UTC – 10:00pm UTC \ No newline at end of file diff --git a/release-notes/2021/includes/repos/sprint-192-update-links.md b/release-notes/2021/includes/repos/sprint-192-update-links.md new file mode 100644 index 00000000000..482288d82e1 --- /dev/null +++ b/release-notes/2021/includes/repos/sprint-192-update-links.md @@ -0,0 +1,11 @@ +--- +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 9/8/2021 +ms.topic: include +--- + +- [New TFVC pages are generally available](#new-tfvc-pages-are-generally-available) +- [Configure branch creators to not get "Manage permissions" on their branches](#configure-branch-creators-to-not-get-manage-permissions-on-their-branches) +- [Prevent fork users from voting on their upstream PRs](#prevent-fork-users-from-voting-on-their-upstream-prs) \ No newline at end of file diff --git a/release-notes/2021/includes/repos/sprint-192-update.md b/release-notes/2021/includes/repos/sprint-192-update.md new file mode 100644 index 00000000000..717d3dadeef --- /dev/null +++ b/release-notes/2021/includes/repos/sprint-192-update.md @@ -0,0 +1,31 @@ +--- +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 9/8/2021 +ms.topic: include +--- + +### New TFVC pages are generally available + +We have been updating various pages in Azure DevOps to use a new web platform with the goal of making the experience more consistent and more accessible across the various services. TFVC pages have been updated to use the new web platform, and those changes have been in preview for several months now. With this update, we are making the new TFVC pages generally available. With this update, you will no longer see a preview feature called "New TFVC pages" in their user settings. + +### Configure branch creators to not get "Manage permissions" on their branches + +When you create a new branch, you get "Manage permissions" on that branch. This permission lets you change the permissions of other users or admit additional users to contribute to that branch. For instance, a branch creator may use this permission to allow another external user to make changes to the code. Or, they may allow a pipeline (build service identity) to change the code in that branch. In certain organizations with higher compliance requirements, users should not be able to make such changes. + +With this update, you can configure any and all repositories in your team project and restrict branch creators from getting the "Manage permissions" permission. To do this, navigate to the project settings, select Repositories, and then Settings for all repositories or a specific repository. + +> [!div class="mx-imgBorder"] +> ![All repositories settings](../../media/192-repos-02.png) + +This setting is on by default to mimic the existing behavior. But, you can turn it off if you wish to make use of this new security feature. + +## Prevent fork users from voting on their upstream PRs + +With Azure Repos, users with "read" permission on a repository can fork the repo and make changes in their fork. To submit a pull request with their changes to the upstream, users need "contribute to pull requests" permission on the upstream. However, this permission also governs who can vote on pull requests in the upstream repository. As a result, you can end up in situations where a user, who is not a contributor to the repository, can submit a pull request and cause it to be merged depending on how you set up the branch policies. + +In organizations that promote an inner-source model, fork-and-contribute is a common pattern. To secure and promote this pattern further, we are changing the permission to vote on a pull request from "contribute to pull requests" to "contribute". However, this change is not being made by default in all organizations. You have to opt-in and select a new policy on your repository, called "Strict Vote Mode" to switch this permission. We recommend that you do so if you rely on forks in Azure Repos. + +> [!div class="mx-imgBorder"] +> ![Repository settings](../../media/192-repos-02.png) \ No newline at end of file diff --git a/release-notes/2021/media/192-pipelines-01.png b/release-notes/2021/media/192-pipelines-01.png new file mode 100644 index 00000000000..bcc73c1bf84 Binary files /dev/null and b/release-notes/2021/media/192-pipelines-01.png differ diff --git a/release-notes/2021/media/192-pipelines-03.png b/release-notes/2021/media/192-pipelines-03.png new file mode 100644 index 00000000000..f1711a43081 Binary files /dev/null and b/release-notes/2021/media/192-pipelines-03.png differ diff --git a/release-notes/2021/media/192-repos-02.png b/release-notes/2021/media/192-repos-02.png new file mode 100644 index 00000000000..0c43682f289 Binary files /dev/null and b/release-notes/2021/media/192-repos-02.png differ diff --git a/release-notes/2021/pipelines/sprint-192-update.md b/release-notes/2021/pipelines/sprint-192-update.md new file mode 100644 index 00000000000..c04aebec736 --- /dev/null +++ b/release-notes/2021/pipelines/sprint-192-update.md @@ -0,0 +1,18 @@ +--- +title: Azure DevOps Release Notes - Azure Pipelines Sprint 192 Update +description: See the Sprint 192 feature updates for Azure Pipelines, including next steps. +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 09/08/2021 +--- + +# Azure Pipelines - Sprint 192 Update + +## Features + +[!INCLUDE [sprint-192-update-links](../includes/pipelines/sprint-192-update-links.md)] + +[!INCLUDE [sprint-192-update](../includes/pipelines/sprint-192-update.md)] + +[!INCLUDE [nextsteps](../includes/nextsteps.md)] \ No newline at end of file diff --git a/release-notes/2021/repos/sprint-192-update.md b/release-notes/2021/repos/sprint-192-update.md new file mode 100644 index 00000000000..987662f459b --- /dev/null +++ b/release-notes/2021/repos/sprint-192-update.md @@ -0,0 +1,18 @@ +--- +title: Azure DevOps Release Notes - Azure Repos Sprint 192 Update +description: See the Sprint 192 feature updates for Azure Repos, including next steps. +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 09/07/2021 +--- + +# Azure Repos - Sprint 192 Update + +## Features + +[!INCLUDE [sprint-192-update-links](../includes/repos/sprint-192-update-links.md)] + +[!INCLUDE [sprint-192-update](../includes/repos/sprint-192-update.md)] + +[!INCLUDE [nextsteps](../includes/nextsteps.md)] diff --git a/release-notes/2021/sprint-192-update.md b/release-notes/2021/sprint-192-update.md new file mode 100644 index 00000000000..54f61bad64e --- /dev/null +++ b/release-notes/2021/sprint-192-update.md @@ -0,0 +1,53 @@ +--- +title: Support for wild cards and conditional expressions in YAML pipeline files +author: gloridelmorales +ms.author: glmorale +ms.technology: devops-release-notes +ms.date: 09/08/2021 +description: In this sprint, we included support for wild cards and conditional expressions to YAML pipeline files. +--- + +# Support for wild cards and conditional expressions in YAML pipeline files + +In this sprint, we included support for wild cards and conditional expressions to YAML pipeline files. In addition, we've made multiple updates to the Azure Pipelines hosted images. + +Check out the following feature descriptions for details. + +### Azure Pipelines + +[!INCLUDE [sprint-192-update-links](includes/pipelines/sprint-192-update-links.md)] + +### Azure Repos + +[!INCLUDE [sprint-192-update-links](includes/repos/sprint-192-update-links.md)] + +## Azure Pipelines + +[!INCLUDE [sprint-192-update](includes/pipelines/sprint-192-update.md)] + +## Azure Repos + +[!INCLUDE [sprint-192-update](includes/repos/sprint-192-update.md)] + +## Next steps + +> [!NOTE] +> These features will roll out over the next two to three weeks. + +Head over to Azure DevOps and take a look. + +> [!div class="nextstepaction"] +> [Go to Azure DevOps](https://go.microsoft.com/fwlink/?LinkId=307137&campaign=o~msft~docs~product-vsts~release-notes) + +## How to provide feedback + +We would love to hear what you think about these features. Use the help menu to report a problem or provide a suggestion. + +> [!div class="mx-imgBorder"] +> ![Make a suggestion](../media/make-a-suggestion.png) + +You can also get advice and your questions answered by the community on [Stack Overflow](https://stackoverflow.com/questions/tagged/azure-devops). + +Thanks, + +Aaron Hallberg \ No newline at end of file diff --git a/release-notes/TOC.yml b/release-notes/TOC.yml index ab527aaa020..3e30a891060 100644 --- a/release-notes/TOC.yml +++ b/release-notes/TOC.yml @@ -6,6 +6,8 @@ - name: 2021 expanded: true items: + - name: September 8 + href: 2021/sprint-192-update.md - name: August 19 href: 2021/sprint-191-update.md - name: August 4 @@ -20,9 +22,9 @@ href: 2021/sprint-185-update.md - name: March 23 href: 2021/sprint-184-update.md - - name: March 03 + - name: March 3 href: 2021/sprint-183-update.md - - name: February 04 + - name: February 4 href: 2021/sprint-182-update.md - name: January 14 href: 2021/sprint-181-update.md @@ -493,6 +495,8 @@ - name: 2021 expanded: false items: + - name: September 8 + href: 2021/repos/sprint-192-update.md - name: June 17 href: 2021/repos/sprint-188-update.md - name: March 23 @@ -549,6 +553,8 @@ - name: 2021 expanded: false items: + - name: September 8 + href: 2021/pipelines/sprint-192-update.md - name: August 19 href: 2021/pipelines/sprint-191-update.md - name: August 4 @@ -561,9 +567,9 @@ href: 2021/pipelines/sprint-186-update.md - name: March 23 href: 2021/pipelines/sprint-184-update.md - - name: March 03 + - name: March 3 href: 2021/pipelines/sprint-183-update.md - - name: February 04 + - name: February 4 href: 2021/pipelines/sprint-182-update.md - name: January 14 href: 2021/pipelines/sprint-181-update.md diff --git a/release-notes/features-timeline.md b/release-notes/features-timeline.md index 6eb69d4a835..3455df49676 100644 --- a/release-notes/features-timeline.md +++ b/release-notes/features-timeline.md @@ -2,7 +2,7 @@ title: Azure DevOps Feature Timeline author: gloridelmorales ms.author: glmorale -ms.date: 8/4/2021 +ms.date: 8/7/2021 ms.topic: article ms.technology: devops-release-notes description: Azure DevOps feature updates roadmap, release notes, release timeline, and server build numbers @@ -107,6 +107,18 @@ You can also [view the build numbers for each version](#azure-devops-server-buil + 8 September 2021 + New YAML conditional expressionsPipelinesFuture + Support for wild cards in path filtersPipelinesFuture + Support for multiple statuses in BitbucketPipelinesFuture + Allow contributors to skip seeking PR comments prior to build validationPipelinesFuture + Windows Server 2022 with Visual Studio 2022 is now available on Microsoft-hosted agents (preview)PipelinesN/A + General availability of macOS 11 Big Sur on Microsoft-hosted agentsPipelinesN/A + Removal of Ubuntu 16.04 image on Microsoft-hosted agentsPipelinesN/A + New TFVC pages are generally availableReposFuture + Configure branch creators to not get "Manage permissions" on their branchesReposFuture + Prevent fork users from voting on their upstream PRsReposFuture + 19 August 2021 Improve web experience to better handle re-authentication requestsGeneralFuture Improvements to Delivery PlansBoardsFuture