{"id":72341,"date":"2026-01-16T11:34:04","date_gmt":"2026-01-16T19:34:04","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/devops\/?p=72341"},"modified":"2026-01-16T11:38:14","modified_gmt":"2026-01-16T19:38:14","slug":"whats-new-with-azure-repos","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/whats-new-with-azure-repos\/","title":{"rendered":"What&#8217;s new with Azure Repos?"},"content":{"rendered":"<p>We thought it was a good time to check in and highlight some of the work happening in Azure Repos. In this post, we\u2019ve covered several recent improvements, along with a preview of features that are coming soon. To stay up to date, be sure to visit the <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/release-notes\/features-timeline\">Azure DevOps Roadmap<\/a>.<\/p>\n<p>These changes have either already been released or are currently rolling out. Be sure to check the sprint release notes for full details.<\/p>\n<h3>Breaking Change: Disabling Obsolete TFVC Check-In Policies<\/h3>\n<p>Back in April 2025, <a href=\"https:\/\/devblogs.microsoft.com\/devops\/tfvc-policies-storage-updates\">we shared changes<\/a> to how TFVC check-in policies are stored. These updates affect TFVC projects using policies such as Build (require the last build to succeed), Work Item (require an associated work item), Changeset Comments (require users to add a comment to their check-in), and similar rules.<\/p>\n<p>Over the past year, we\u2019ve been guiding customers through migrating existing, obsolete policies to the new storage format and preventing the creation of new ones using the old model. With this release, any remaining check-in policies still using the obsolete format will be disabled. These policies will no longer function, and you\u2019ll need to migrate them to the new format for check-in policies to continue working.<\/p>\n<p>For full details and step-by-step migration guidance, be sure to review our earlier <a href=\"https:\/\/devblogs.microsoft.com\/devops\/tfvc-policies-storage-updates\">blog post<\/a>.<\/p>\n<h3>Improved Comment Navigation from Pull Request Links<\/h3>\n<p>We\u2019ve made improvements to how Azure DevOps handles deep links to pull request comments. When opening a pull request from a direct comment link, focus is now handled more reliably, especially for pull requests with a large number of comments.<\/p>\n<p>This makes it easier to jump directly to the feedback you care about without losing context.<\/p>\n<h3>Pull Request Notification Improvements<\/h3>\n<p>To help teams better focus on meaningful pull request activity, we\u2019ve updated Azure DevOps email notifications to reduce noise and improve clarity. Several low-value notifications, including draft state changes and auto-complete updates, have been removed entirely.<\/p>\n<p>For the notifications that remain, we\u2019ve simplified the content to highlight what actually changed, such as affected files, while removing redundant details like full reviewer and commit lists. The result is pull request emails that are easier to scan, more actionable, and better aligned with how teams collaborate during code reviews.<\/p>\n<h3>Pull Request Templates for Multi-Level Branches<\/h3>\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/repos\/git\/pull-request-templates?view=azure-devops\">Pull request templates<\/a> now support nested folder structures that align with multi-level branch names. When you open a pull request targeting a branch like <code>feature\/foo\/december<\/code>, Azure DevOps will look for a matching template in the following order:<\/p>\n<ol>\n<li><code>&lt;pull request template path&gt;\/branches\/feature\/foo\/december.md<\/code><\/li>\n<li><code>&lt;pull request template path&gt;\/branches\/feature\/foo.md<\/code><\/li>\n<li><code>&lt;pull request template path&gt;\/branches\/feature.md<\/code><\/li>\n<\/ol>\n<p>The most specific template available will be applied automatically. This makes it easier to tailor guidance and requirements based on branching conventions without duplicating templates.<\/p>\n<h3>Azure DevOps MCP Server<\/h3>\n<p>If you haven\u2019t checked it out yet, the <a href=\"https:\/\/github.com\/microsoft\/azure-devops-mcp\">local Azure DevOps MCP Server<\/a> continues to grow with new tools for working with Azure Repos. It enables you to interact with repositories, branches, commits, and pull requests directly from tools like VS Code and GitHub Copilot.<\/p>\n<p>For example, you can fetch repository metadata, list branches, inspect file contents, and explore commit history without navigating the Azure DevOps UI, making it easier to build intelligent tooling and workflows on top of Azure DevOps.<\/p>\n<p>For more information, check out the <a href=\"https:\/\/github.com\/microsoft\/azure-devops-mcp\">Azure DevOps MCP Server<\/a> repo.<\/p>\n<h2>\ud83c\udf89 Coming Soon<\/h2>\n<h3>Improved Git Policy Configuration API<\/h3>\n<p>We\u2019re working on improvements to the Git policy configuration APIs to make it easier and more efficient to retrieve all policies that apply to a specific repository. This includes policies defined at the repository level as well as those applied to individual branches or refs.<\/p>\n<p>These changes reduce unnecessary API calls and improve performance for services managing policies at scale, while preserving existing policy behavior.<\/p>\n<p>Learn more: <a href=\"https:\/\/learn.microsoft.com\/en-us\/rest\/api\/azure\/devops\/git\/policy-configurations\/get?view=azure-devops-rest-7.2\">Policy Configurations \u2013 Get \u2013 REST API (Azure DevOps Git) | Microsoft Learn<\/a><\/p>\n<h3>More Pull Request Improvements Ahead<\/h3>\n<p>We have several pull request improvements planned for upcoming sprints, many of which are driven directly by feedback from the <a href=\"https:\/\/developercommunity.visualstudio.com\/AzureDevOps\">Azure DevOps Community<\/a>. We\u2019re starting with reducing notification noise, as described above, but that\u2019s just the beginning.<\/p>\n<p>We\u2019re also working on improvements such as highlighting pull requests with outstanding comments, allowing authors to reset a pull request back to a \u201cready for review\u201d state, and adding the ability to filter pull requests by tags.<\/p>\n<p>Together, these changes are focused on making it easier to understand what needs attention and keep reviews moving efficiently.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We thought it was a good time to check in and highlight some of the work happening in Azure Repos. In this post, we\u2019ve covered several recent improvements, along with a preview of features that are coming soon. To stay up to date, be sure to visit the Azure DevOps Roadmap. These changes have either [&hellip;]<\/p>\n","protected":false},"author":921,"featured_media":72346,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[224],"tags":[],"class_list":["post-72341","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure"],"acf":[],"blog_post_summary":"<p>We thought it was a good time to check in and highlight some of the work happening in Azure Repos. In this post, we\u2019ve covered several recent improvements, along with a preview of features that are coming soon. To stay up to date, be sure to visit the Azure DevOps Roadmap. These changes have either [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/72341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/921"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=72341"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/72341\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/72346"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=72341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=72341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=72341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}