What’s New in vcpkg (February 2024)

Augustin Popa

This blog post summarizes changes to the vcpkg package manager as part of the 2024.02.14 release and changes to vcpkg documentation throughout February. This month’s vcpkg release was mainly minor bug fixes, while several new documentation articles were added.

Some stats for this period:

  • There are now 2,396 total libraries available in the vcpkg public registry.
  • 22 new ports were added to the open-source registry. A port is a versioned recipe for building a package from source, such as a C or C++ library.
  • 388 updates 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 triplets.
  • 19 contributors submitted PRs, issues, or participated in discussions in the main repo.
  • The main vcpkg repo has over 5,800 forks and 21,000 stars on GitHub.

 

vcpkg changelog (2024.02.24 release)

  • The Arm64 for macOS community triplet (arm64-osx) was promoted to our CI testing suite. We will routinely test ports automatically with this triplet going forward. We automatically test any new or updated ports against 13 triplets.
  • Fixed a regression in x-script for the asset caching feature (PR: Microsoft/vcpkg-tool#1337).
  • Various minor bugfixes.

 

Documentation changes

If you have any suggestions for our documentation, please submit an issue in our GitHub repo or use the button “This page” at the bottom of a particular article.

A screenshot of a website Description automatically generated

 

Total ports available for tested triplets

triplet ports available
x64-windows 2,238
x86-windows 2,153
x64-windows-static 2,127
x64-windows-static-md 2,154
arm64-windows 1,818
x64-uwp 1,241
arm64-uwp 1,206
x64-linux 2,206
x64-osx 2,079
arm64-osx (new!) 2,023
arm-neon-android 1,533
x64-android 1,592
arm64-android 1,557

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:

  • jiayuehua (57 commits)
  • dg0yt (16 commits)
  • Thomas1664 (10 commits)
  • Neumann-A (10 commits)
  • autoantwort (9 commits)
  • SchaichAlonso (7 commits)
  • moritz-h (4 commits)
  • Osyotr (4 commits)
  • m-kuhn (3 commits)
  • omarhogni (2 commits)
  • alagoutte (2 commits)
  • Tradias (2 commits)
  • danielaparker (2 commits)
  • an-tao (2 commits)
  • yurybura (2 commits)
  • traversaro (2 commits)
  • xiaozhuai (2 commits)
  • HappySeaFox (1 commit)
  • daschuer (1 commit)
  • luncliff (1 commit)
  • AenBleidd (1 commit)
  • eao197 (1 commit)
  • RT2Code (1 commit)
  • chausner (1 commit)

 

Is your company looking for a better C/C++ dependency management experience?

We are partnering with companies to help them get started with vcpkg and overcome any initial hurdles. We have also been making product and documentation changes based on feedback we receive from these partnerships. If you are interested in trying out vcpkg or just have some thoughts to share with us, feel free to reach out at vcpkg@microsoft.com.

 

Learn more

You can find the full 2024.02.14 release notes on GitHub for the main repo. Recent updates to the vcpkg tool can be viewed on the vcpkg-tool Releases page. To contribute to 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.

 

1 comment

Leave a comment

  • krodor 0

    I have been considering whether I want to publish a public vcpkg port for my core library (a MIT licensed c++ header library) or just keep a private vcpkg local, since I did not see anyone else interested in it at all. I would probably setup a mirror for the library on github too, and have the vcpkg tied to that, if I did so. The process of making a vcpkg port, or even hosting a private one out of git, is pretty clear.

    The consumption side with a manifest seemed a bit less clear, especially since it’s not clear if its better to have a single manifest file with an embedded config manifest, or one file of each, which felt ugly. I also found it nessisary to specify the explicit commit of the master vcpkg repo, as well as the private one in the consuming manifest, with an embedded config manifest, rather than it just taking the latest commit by default, which is what I would have expected.

Feedback usabilla icon