{"id":35369,"date":"2025-04-08T18:05:06","date_gmt":"2025-04-08T18:05:06","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=35369"},"modified":"2025-04-08T18:05:06","modified_gmt":"2025-04-08T18:05:06","slug":"whats-new-in-vcpkg-march-2025","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/whats-new-in-vcpkg-march-2025\/","title":{"rendered":"What\u2019s New in vcpkg (March 2025)"},"content":{"rendered":"<p>This blog post summarizes changes to the <a href=\"https:\/\/vcpkg.io\/\">vcpkg package manager<\/a> as part of the <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/releases\/tag\/2025.03.19\">2025.03.19<\/a> registry release, <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/releases\/tag\/2025-03-13\">2025-03-13<\/a> tool release, as well as changes to <a href=\"https:\/\/learn.microsoft.com\/vcpkg\/\">vcpkg documentation<\/a> throughout March. This release includes two new commands for our continuous integration system PR reviews, minor bugfixes, a new documentation article on authenticating to NuGet feeds, and a few other minor documentation fixes.<\/p>\n<p>Some stats for this period:<\/p>\n<ul>\n<li>There are now <strong>2,564 total ports <\/strong>available in the vcpkg curated registry. A <a href=\"https:\/\/learn.microsoft.com\/en-us\/vcpkg\/concepts\/ports\">port is a versioned recipe<\/a> for building a package from source, such as a C or C++ library.<\/li>\n<li><strong>40 new ports<\/strong> were added to the curated registry.<\/li>\n<li><strong>408 ports were updated<\/strong>. As always, we validate each change to a port by building all other ports that depend on or are depended by the library that is being updated for our 15 main <a href=\"https:\/\/learn.microsoft.com\/en-us\/vcpkg\/concepts\/triplets\">triplets<\/a>.<\/li>\n<li><strong>82 <\/strong>community contributors made commits.<\/li>\n<li>The main vcpkg repo has over <strong>6,800 forks<\/strong> and <strong>24,400 stars<\/strong> on GitHub.<\/li>\n<\/ul>\n<h2>vcpkg changelog (2025.03.19 release)<\/h2>\n<p>The following notable changes were made in March:<\/p>\n<ul>\n<li>Added two new commands: <code>x-test-features<\/code> and <code>format-feature-baseline<\/code> (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/802\">Microsoft\/vcpkg-tool#802<\/a>, thanks @autoantwort!).\n<ul>\n<li><code>x-test-features<\/code> is an experimental command that runs a series of tests on port features to verify that they work as expected. This will be used as part of our routine continuous integration runs. The commands accept a list of port names or <code>--all<\/code> to specify which ports are affected. Features which are unsupported or marked as cascade for the target triplet are skipped. The following tests are performed:\n<ul>\n<li>The core feature gets installed with default features disabled (or <code>--no-core<\/code>).<\/li>\n<li>Every feature gets installed with default features disabled (or <code>--no-separated<\/code>).<\/li>\n<li>All features combined get installed (or <code>--no-combined<\/code>).<\/li>\n<\/ul>\n<\/li>\n<li><code>vcpkg format-feature-baseline scripts\/ci.feature.baseline.txt<\/code> formats the feature baseline to enforce that all entries in a \u201cblock\u201d are sorted alphabetically.<\/li>\n<\/ul>\n<\/li>\n<li>Improve resiliency of concurrent use of the <em>downloads<\/em> directory (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1600\">Microsoft\/vcpkg-tool#1600<\/a>).<\/li>\n<li>Fixed a bug that impacted debugging with LLDB on MacOS \/ Apple Silicon (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1602\">Microsoft\/vcpkg-tool#1602<\/a>, thanks @ekilmer!).<\/li>\n<li>Other minor bug fixes.<\/li>\n<\/ul>\n<h2>Documentation changes<\/h2>\n<ul>\n<li>Added new article: <a href=\"https:\/\/learn.microsoft.com\/vcpkg\/consume\/third-party-authentication.nuget\">Authenticate to NuGet package feeds<\/a>. Explains how to use vcpkg features in cases where you need to authenticate to NuGet package feeds, such as for binary caching or asset caching (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/461\">Microsoft\/vcpkg-docs#461<\/a>).<\/li>\n<li>Reworked <a href=\"https:\/\/learn.microsoft.com\/vcpkg\/concepts\/asset-caching\">Asset caching concepts<\/a> article and added an example configuration (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/459\">Microsoft\/vcpkg-docs#459<\/a>).<\/li>\n<li>Fixed a bug in an example and minor wording improvements to <a href=\"https:\/\/learn.microsoft.com\/vcpkg\/consume\/asset-caching\">asset caching tutorial<\/a> and <a href=\"https:\/\/learn.microsoft.com\/vcpkg\/examples\/asset-caching-source-nuget\">asset caching with NuGet tutorial<\/a> (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/460\">Microsoft\/vcpkg-docs#460<\/a>).<\/li>\n<li>Other minor documentation improvements (thanks @autoantwort!).<\/li>\n<\/ul>\n<p>If you have any suggestions for our documentation, please <a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/issues\">submit an issue in our GitHub repo<\/a> or see the box at the bottom of a particular article.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-35371\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/04\/word-image-35369-1.png\" width=\"718\" height=\"211\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/04\/word-image-35369-1.png 1099w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/04\/word-image-35369-1-300x88.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/04\/word-image-35369-1-1024x301.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/04\/word-image-35369-1-768x226.png 768w\" sizes=\"(max-width: 718px) 100vw, 718px\" \/><\/p>\n<h2>Total ports available for tested triplets<\/h2>\n<table>\n<tbody>\n<tr>\n<td><strong>Triplet<\/strong><\/td>\n<td><strong>Ports available<\/strong><\/td>\n<\/tr>\n<tr>\n<td>x86-windows<\/td>\n<td>2346<\/td>\n<\/tr>\n<tr>\n<td>x64-windows<\/td>\n<td>2463<\/td>\n<\/tr>\n<tr>\n<td>x64-windows-release<\/td>\n<td>2463<\/td>\n<\/tr>\n<tr>\n<td>x64-windows-static<\/td>\n<td>2329<\/td>\n<\/tr>\n<tr>\n<td>x64-windows-static-md<\/td>\n<td>2381<\/td>\n<\/tr>\n<tr>\n<td>x64-uwp<\/td>\n<td>1375<\/td>\n<\/tr>\n<tr>\n<td>arm64-windows<\/td>\n<td>2057<\/td>\n<\/tr>\n<tr>\n<td>arm64-windows-static-md<\/td>\n<td>2036<\/td>\n<\/tr>\n<tr>\n<td>arm64-uwp<\/td>\n<td>1339<\/td>\n<\/tr>\n<tr>\n<td>x64-osx<\/td>\n<td>2322<\/td>\n<\/tr>\n<tr>\n<td>arm64-osx<\/td>\n<td>2246<\/td>\n<\/tr>\n<tr>\n<td>x64-linux<\/td>\n<td>2445<\/td>\n<\/tr>\n<tr>\n<td>arm-neon-android<\/td>\n<td>1730<\/td>\n<\/tr>\n<tr>\n<td>x64-android<\/td>\n<td>1806<\/td>\n<\/tr>\n<tr>\n<td>arm64-android<\/td>\n<td>1774<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>While vcpkg supports a much larger variety of target platforms and architectures (as <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/tree\/master\/triplets\/community\">community triplets<\/a>), the list above is validated exhaustively to ensure updated ports don\u2019t break other ports in the catalog.<\/p>\n<h2>Thank you to our contributors<\/h2>\n<p>vcpkg couldn\u2019t be where it is today without contributions from our open-source community. Thank you for your continued support! The following people contributed to the <a href=\"https:\/\/github.com\/microsoft\/vcpkg\">vcpkg<\/a>, <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\">vcpkg-tool<\/a>, or <a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\">vcpkg-docs<\/a> repos in this release (listed alphabetically by GitHub username):<\/p>\n<table>\n<tbody>\n<tr>\n<td>aelnosu<\/td>\n<td>ekilmer<\/td>\n<td>NikolayShegunov-Virtonomy<\/td>\n<\/tr>\n<tr>\n<td>AenBleidd<\/td>\n<td>eXpl0it3r<\/td>\n<td>njakob<\/td>\n<\/tr>\n<tr>\n<td>Agorath<\/td>\n<td>gershnik<\/td>\n<td>nlogozzo<\/td>\n<\/tr>\n<tr>\n<td>aixxe<\/td>\n<td>Gnefeij<\/td>\n<td>noahknegt<\/td>\n<\/tr>\n<tr>\n<td>ajtribick<\/td>\n<td>gittiver<\/td>\n<td>oleg-derevenetz<\/td>\n<\/tr>\n<tr>\n<td>alagoutte<\/td>\n<td>gwaldron<\/td>\n<td>paperchalice<\/td>\n<\/tr>\n<tr>\n<td>albertony<\/td>\n<td>HappySeaFox<\/td>\n<td>R3dByt3<\/td>\n<\/tr>\n<tr>\n<td>alfredh<\/td>\n<td>jeremy-rifkin<\/td>\n<td>redboltz<\/td>\n<\/tr>\n<tr>\n<td>amoeba<\/td>\n<td>jeremyko<\/td>\n<td>rmisev<\/td>\n<\/tr>\n<tr>\n<td>an-tao<\/td>\n<td>jmcnamara<\/td>\n<td>rremilian<\/td>\n<\/tr>\n<tr>\n<td>ankurvdev<\/td>\n<td>johnwason<\/td>\n<td>RT2Code<\/td>\n<\/tr>\n<tr>\n<td>AntonK47<\/td>\n<td>jpr42<\/td>\n<td>rursprung<\/td>\n<\/tr>\n<tr>\n<td>autoantwort<\/td>\n<td>kadirlua<\/td>\n<td>SunBlack<\/td>\n<\/tr>\n<tr>\n<td>benjamin-hodgson<\/td>\n<td>kblaschke<\/td>\n<td>swt2c<\/td>\n<\/tr>\n<tr>\n<td>bw-hro<\/td>\n<td>Krzmbrzl<\/td>\n<td>talregev<\/td>\n<\/tr>\n<tr>\n<td>bwrsandman<\/td>\n<td>liuzicheng1987<\/td>\n<td>tarcila<\/td>\n<\/tr>\n<tr>\n<td>c8ef<\/td>\n<td>llm96<\/td>\n<td>toge<\/td>\n<\/tr>\n<tr>\n<td>cenit<\/td>\n<td>m-kuhn<\/td>\n<td>tomconder<\/td>\n<\/tr>\n<tr>\n<td>chausner<\/td>\n<td>maharmstone<\/td>\n<td>Tradias<\/td>\n<\/tr>\n<tr>\n<td>chrismile<\/td>\n<td>martinweismann<\/td>\n<td>vijaiaeroastro<\/td>\n<\/tr>\n<tr>\n<td>constcuriosity<\/td>\n<td>mathgeekcoder<\/td>\n<td>vpetrigo<\/td>\n<\/tr>\n<tr>\n<td>cuiy0006<\/td>\n<td>metsma<\/td>\n<td>walbourn<\/td>\n<\/tr>\n<tr>\n<td>danielaparker<\/td>\n<td>miyanyan<\/td>\n<td>waywardmonkeys<\/td>\n<\/tr>\n<tr>\n<td>daschuer<\/td>\n<td>mtmk<\/td>\n<td>wolfgitpr<\/td>\n<\/tr>\n<tr>\n<td>Darkx32<\/td>\n<td>mvieth<\/td>\n<td>wpp2014<\/td>\n<\/tr>\n<tr>\n<td>dg0yt<\/td>\n<td>myd7349<\/td>\n<td>ytnuf<\/td>\n<\/tr>\n<tr>\n<td>dpasukhi<\/td>\n<td>Naville<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>eao197<\/td>\n<td>Neumann-A<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Learn more<\/h2>\n<p>You can find the <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/releases\">main release notes<\/a> on GitHub. Recent updates to the vcpkg tool can be viewed on the <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/releases\">vcpkg-tool Releases page<\/a>. To contribute to vcpkg documentation, visit the <a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\">vcpkg-docs repo<\/a>. If you\u2019re new to vcpkg or curious about how a package manager can make your life easier as a C\/C++ developer, check out the <a href=\"https:\/\/vcpkg.io\">vcpkg website \u2013 vcpkg.io<\/a>.<\/p>\n<p>If you would like to contribute to vcpkg and its library catalog, or want to give us feedback on anything, check out our <a href=\"https:\/\/github.com\/microsoft\/vcpkg\">GitHub repo<\/a>. Please report bugs or request updates to ports in our <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/issues\">issue tracker<\/a> or join more general discussion in our <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/discussions\">discussion forum<\/a>.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog post summarizes changes to the vcpkg package manager as part of the 2025.03.19 registry release, 2025-03-13 tool release, as well as changes to vcpkg documentation throughout March. This release includes two new commands for our continuous integration system PR reviews, minor bugfixes, a new documentation article on authenticating to NuGet feeds, and a [&hellip;]<\/p>\n","protected":false},"author":1063,"featured_media":28096,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,272],"tags":[273],"class_list":["post-35369","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","category-vcpkg","tag-vcpkg"],"acf":[],"blog_post_summary":"<p>This blog post summarizes changes to the vcpkg package manager as part of the 2025.03.19 registry release, 2025-03-13 tool release, as well as changes to vcpkg documentation throughout March. This release includes two new commands for our continuous integration system PR reviews, minor bugfixes, a new documentation article on authenticating to NuGet feeds, and a [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/35369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/1063"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=35369"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/35369\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/28096"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=35369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=35369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=35369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}