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 theAZCOPY_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
tovcpkg 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 thevcpkg-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
- Added documentation for
configuration
field in vcpkg.json files. (PR: Microsoft/vcpkg-docs#527). - Added documentation for
--dereference-symlinks
option for vcpkg export (PR: Microsoft/vcpkg-docs#524). - Added documentation for
x-azcopy
andx-azcopy-sas
binary caching sources (PR: Microsoft/vcpkg-docs#511).
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.
0 comments
Be the first to start the discussion.