From 2c6f7b34dea1cc6dab42ab8d8ba1c9c81f90013c Mon Sep 17 00:00:00 2001 From: gloridelmorales <45435641+gloridelmorales@users.noreply.github.com> Date: Wed, 8 Sep 2021 13:53:48 -0700 Subject: [PATCH] Azure DevOps Sprint 192 release notes (#3656) * Sprint 192 initial draft * Add title and update notes * Update summary * Fix warning * Reorder * Fix typo * Update general notes * Update general notes * Fix warning * Update timeline * Remove general section * Change publish date --- .../2021/general/sprint-192-update.md | 18 ++++ .../general/sprint-192-update-links.md | 9 ++ .../includes/general/sprint-192-update.md | 10 ++ .../pipelines/sprint-192-update-links.md | 15 +++ .../includes/pipelines/sprint-192-update.md | 101 ++++++++++++++++++ .../includes/repos/sprint-192-update-links.md | 11 ++ .../2021/includes/repos/sprint-192-update.md | 31 ++++++ release-notes/2021/media/192-pipelines-01.png | Bin 0 -> 12948 bytes release-notes/2021/media/192-pipelines-03.png | Bin 0 -> 12251 bytes release-notes/2021/media/192-repos-02.png | Bin 0 -> 38238 bytes .../2021/pipelines/sprint-192-update.md | 18 ++++ release-notes/2021/repos/sprint-192-update.md | 18 ++++ release-notes/2021/sprint-192-update.md | 53 +++++++++ release-notes/TOC.yml | 14 ++- release-notes/features-timeline.md | 14 ++- 15 files changed, 307 insertions(+), 5 deletions(-) create mode 100644 release-notes/2021/general/sprint-192-update.md create mode 100644 release-notes/2021/includes/general/sprint-192-update-links.md create mode 100644 release-notes/2021/includes/general/sprint-192-update.md create mode 100644 release-notes/2021/includes/pipelines/sprint-192-update-links.md create mode 100644 release-notes/2021/includes/pipelines/sprint-192-update.md create mode 100644 release-notes/2021/includes/repos/sprint-192-update-links.md create mode 100644 release-notes/2021/includes/repos/sprint-192-update.md create mode 100644 release-notes/2021/media/192-pipelines-01.png create mode 100644 release-notes/2021/media/192-pipelines-03.png create mode 100644 release-notes/2021/media/192-repos-02.png create mode 100644 release-notes/2021/pipelines/sprint-192-update.md create mode 100644 release-notes/2021/repos/sprint-192-update.md create mode 100644 release-notes/2021/sprint-192-update.md 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 0000000000000000000000000000000000000000..bcc73c1bf84a019a557b2e078c2c841a9b5bd311 GIT binary patch literal 12948 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 z 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 Mp00i_>zopr06?;r(f|Me literal 0 HcmV?d00001 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