{"id":35023,"date":"2025-01-06T18:49:14","date_gmt":"2025-01-06T18:49:14","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=35023"},"modified":"2025-01-06T18:49:14","modified_gmt":"2025-01-06T18:49:14","slug":"whats-new-in-vcpkg-december-2024","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/whats-new-in-vcpkg-december-2024\/","title":{"rendered":"What\u2019s New in vcpkg (December 2024)"},"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\/2024.12.16\">2024.12.16<\/a> registry release, <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/releases\/tag\/2024-12-09\">2024-12-09<\/a> tool release, as well as changes to <a href=\"https:\/\/learn.microsoft.com\/vcpkg\/\">vcpkg documentation<\/a> throughout December. This release includes a command line option to force vcpkg to use classic mode even if a manifest file is found along with bug fixes.<\/p>\n<p>Some stats for this period:<\/p>\n<ul>\n<li>There are now <strong>2,516 total ports <\/strong>available in the vcpkg curated registry. A <a href=\"https:\/\/learn.microsoft.com\/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>12 new ports<\/strong> were added to the curated registry.<\/li>\n<li><strong>309 updates<\/strong> were made to existing ports. 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 13 main <a href=\"https:\/\/learn.microsoft.com\/vcpkg\/concepts\/triplets\">triplets<\/a>.<\/li>\n<li><strong>27 <\/strong>contributors made commits (not counting the vcpkg maintainers).<\/li>\n<li>The main vcpkg repo has over <strong>6,500 forks<\/strong> and <strong>23,500 stars<\/strong> on GitHub.<\/li>\n<\/ul>\n<h1>vcpkg changelog (2024.12.16 release)<\/h1>\n<p>The following notable changes were made in December:<\/p>\n<ul>\n<li>Fixed several bugs with the SPDX generation feature (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1377\">Microsoft\/vcpkg-tool#1377<\/a>, thanks @Thomas1664!).<\/li>\n<li>Use GITHUB_SERVER_URL to change GitHub API host for dependency graph submission (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1547\">Microsoft\/vcpkg-tool#1547<\/a>, thanks @luncliff!).<\/li>\n<li>Other minor bug fixes.<\/li>\n<\/ul>\n<h1>Documentation changes<\/h1>\n<ul>\n<li><strong>New article:<\/strong> <a href=\"https:\/\/learn.microsoft.com\/vcpkg\/consume\/caching-workload-identity-federation\">Set up caching using Azure Storage and Azure DevOps<\/a>. Documents how to use Workload Identity Federation to configure binary and asset caching with Azure Storage containers and vcpkg. This is a mechanism where Azure DevOps takes care of secrets rotation and management for you that can be used with vcpkg. (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/426\">Microsoft\/vcpkg-docs#423<\/a>).<\/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-35024\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/01\/word-image-35023-1.png\" width=\"721\" height=\"212\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/01\/word-image-35023-1.png 1099w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/01\/word-image-35023-1-300x88.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/01\/word-image-35023-1-1024x301.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/01\/word-image-35023-1-768x226.png 768w\" sizes=\"(max-width: 721px) 100vw, 721px\" \/><\/p>\n<h1>Total ports available for tested triplets<\/h1>\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>x64-windows<\/td>\n<td>2,403<\/td>\n<\/tr>\n<tr>\n<td>x86-windows<\/td>\n<td>2,297<\/td>\n<\/tr>\n<tr>\n<td>x64-windows-static<\/td>\n<td>2,276<\/td>\n<\/tr>\n<tr>\n<td>x64-windows-static-md<\/td>\n<td>2,323<\/td>\n<\/tr>\n<tr>\n<td>arm64-windows<\/td>\n<td>2,006<\/td>\n<\/tr>\n<tr>\n<td>arm64-windows-static-md<\/td>\n<td>1,987<\/td>\n<\/tr>\n<tr>\n<td>x64-uwp<\/td>\n<td>1,319<\/td>\n<\/tr>\n<tr>\n<td>arm64-uwp<\/td>\n<td>1,295<\/td>\n<\/tr>\n<tr>\n<td>x64-linux<\/td>\n<td>2,376<\/td>\n<\/tr>\n<tr>\n<td>x64-osx<\/td>\n<td>2,250<\/td>\n<\/tr>\n<tr>\n<td>arm64-osx<\/td>\n<td>2,173<\/td>\n<\/tr>\n<tr>\n<td>arm-neon-android<\/td>\n<td>1,665<\/td>\n<\/tr>\n<tr>\n<td>x64-android<\/td>\n<td>1,743<\/td>\n<\/tr>\n<tr>\n<td>arm64-android<\/td>\n<td>1,710<\/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<h1>Thank you to our contributors<\/h1>\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<ul>\n<li>AenBleidd<\/li>\n<li>alanxz<\/li>\n<li>an-tao<\/li>\n<li>autoantwort<\/li>\n<li>buracchi<\/li>\n<li>c8ef<\/li>\n<li>deniskovalchuk<\/li>\n<li>dg0yt<\/li>\n<li>donny-dont<\/li>\n<li>erikyuzwa<\/li>\n<li>gwankyun<\/li>\n<li>jeremy-rifkin<\/li>\n<li>JoergAtGithub<\/li>\n<li>karastojko<\/li>\n<li>kp-cat<\/li>\n<li>lukasberbuer<\/li>\n<li>luncliff<\/li>\n<li>miyanyan<\/li>\n<li>mohit1234<\/li>\n<li>Neumann-A<\/li>\n<li>nlogozzo<\/li>\n<li>robojan<\/li>\n<li>talregev<\/li>\n<li>tandresen77<\/li>\n<li>ThijsWithaar<\/li>\n<li>Thomas1664<\/li>\n<li>tomconder<\/li>\n<li>Tradias<\/li>\n<li>wolfgitpr<\/li>\n<\/ul>\n<h1>Learn more<\/h1>\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","protected":false},"excerpt":{"rendered":"<p>This blog post summarizes changes to the vcpkg package manager as part of the 2024.12.16 registry release, 2024-12-09 tool release, as well as changes to vcpkg documentation throughout December. This release includes a command line option to force vcpkg to use classic mode even if a manifest file is found along with bug fixes. Some [&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-35023","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 2024.12.16 registry release, 2024-12-09 tool release, as well as changes to vcpkg documentation throughout December. This release includes a command line option to force vcpkg to use classic mode even if a manifest file is found along with bug fixes. Some [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/35023","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=35023"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/35023\/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=35023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=35023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=35023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}