October 2nd, 2025
0 reactions

What’s New in vcpkg (September 2025)

Augustin Popa
Senior Product Manager

This blog post summarizes changes to the vcpkg package manager as part of the 2025.09.17 registry release, the 2025-08-29 and 2025-09-03 tool releases, as well as changes to vcpkg documentation throughout September. This month’s updates includes new binary caching sources x-azcopy and x-azcopy-sas, support for tvOS and watchOS target platforms, and minor improvements and bug fixes.

Some stats for this period:

  • There are now 2,673 total ports available in the vcpkg curated registry. A port is a versioned recipe for building a package from source, such as a C or C++ library.
  • 11 new ports were added to the curated registry.
  • 188 ports were updated. 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 triplets.
  • 59 community contributors made commits.
  • The main vcpkg repo has over 7,100 forks and 25,600 stars on GitHub.

vcpkg changelog (2025.09.17 release)

  • Added support for tvOS and watchOS target platforms (PR: Microsoft/vcpkg-tool#1747, thanks @wkornewald!).
  • Added two new binary caching sources that interact with Azure Storage blob containers using the azcopy executable:
    • x-azcopy-sas,<url>,<sas>[,<rw>]: Intended as a drop-in replacement for azblob, it uses SAS tokens for authentication.
    • x-azcopy,<url>[,<rw>]: Intended for non-SAS authentication methods like Microsoft Entra ID; requires preloading credentials and/or the AZCOPY_AUTO_LOGIN_TYPE.
    • Internally, we use the azcopy copy --from-to BlobLocal {destination} --include-path {files} argument to download multiple files in a single azcopy job. This improves performance and brings it more in line with azblob, that uses a single curl invocation to download a batch of files. Upload happens one file at a time in the background.
    • (PR: Microsoft/vcpkg-tool#1738)
  • Added a new option --dereference-symlinks to vcpkg export. This copies symlinks as regular files and directories in the exported results, which can be useful to continuous integration systems needing to restore vcpkg’s install tree (PR: Microsoft/vcpkg-tool#1705).
  • Added new vcpkg.json property: configuration. This is an alias for the vcpkg-configuration property, allowing you to embed vcpkg configuration properties that would otherwise have been specified in a separate vcpkg-configuration.json file (PR: Microsoft/vcpkg-tool#1766).
  • Added installed package files to SPDX SBOM files generated by vcpkg and removed repetition of relationships that is no longer present in v3 of the SPDX spec (PR: Microsoft/vcpkg-tool#1744, thanks @ekilmer!).
  • vcpkg no longer restores the original “last updated” times for restored files during binary caching operations on Windows to resolve issues where a build tool is expecting headers and binaries to have similar last updated times but thinks the restored binaries are too old. This was already previously fixed on Linux systems (PR: Microsoft/vcpkg-tool#1750, thanks @autoantwort!).
  • Fixed an issue where vcpkg was failing to detect conflicting installed files when the installed content has capital letters (PR: Microsoft/vcpkg-tool#1768).
  • Other minor improvements and bug fixes.

Documentation changes

If you have any suggestions for our documentation, please submit an issue in our GitHub repo or see the box at the bottom of a particular article.

Total ports available for tested triplets

triplet ports available
x86-windows 2463
x64-windows 2586
x64-windows-release 2587
x64-windows-static 2457
x64-windows-static-md 2514
x64-uwp 1458
arm64-windows 2189
arm64-windows-static-md 2171
arm64-uwp 1422
x64-osx 2416
arm64-osx 2385
x64-linux 2577
arm-neon-android 2011
x64-android 2071
arm64-android 2035

While vcpkg supports a much larger variety of target platforms and architectures (as community triplets), the list above is validated exhaustively to ensure updated ports don’t break other ports in the catalog.

Thank you to our contributors

vcpkg couldn’t be where it is today without contributions from our open-source community. Thank you for your continued support! The following people contributed to the vcpkg, vcpkg-tool, or vcpkg-docs repos in this release (listed by commit author or GitHub username):

Adam Glustein Connector Switch maredman talregev
Adam Johnson CQ_Undefine Markus Vieth tartanpaint
Adeel Kazmi Dr. Patrick Urbanke miyanyan Thomas1664
Adrien Bourdeaux Dzmitry Baryshau Nick D’Ademo Tiago Freitas
Albert Lee Egor Tyuvaev Nick Logozzo toge
albertony Emre Oleg Derevenetz Tom Conder
Alexander Smyslov Eric Kilmer PARK DongHa Victor Romero
Alexis La Goutte Erica pastdue Vitalii Koshura
Alexis Placet Ethan J. Musser Peter Hull Vladimir Petrigo
Alstruit evelance Rémy Tassoux Vpatakottu
autoantwort Francisco Facioni Robin WILS Waldemar Kornewald
Bas M. Jaap Aarts RPeschke Weihang Ding
Byoungchan Lee Jonathan Sweemer Saikari Zackery
Cadons Kai Pastor SunBlack 曹梦轩
Chuck Walbourn Kyle Benesch Takatoshi Kondo

Learn more

You can find the main release notes on GitHub. Recent updates to the vcpkg tool can be viewed on the vcpkg-tool Releases page. To contribute to vcpkg documentation, visit the vcpkg-docs repo. If you’re new to vcpkg or curious about how a package manager can make your life easier as a C/C++ developer, check out the vcpkg website – vcpkg.io.

If you would like to contribute to vcpkg and its library catalog, or want to give us feedback on anything, check out our GitHub repo. Please report bugs or request updates to ports in our issue tracker or join more general discussion in our discussion forum.

 

Category
C++Vcpkg
Topics
vcpkg

Author

Augustin Popa
Senior Product Manager

Product manager on the Microsoft C++ team, currently working on vcpkg.

0 comments