What’s New in the vcpkg 2023.11.20 Release
What’s New in the vcpkg 2023.11.20 Release
The 2023.11.20 release of the vcpkg package manager is available. This blog post summarizes changes from October 19th, 2023 to November 19th, 2023 for the Microsoft/vcpkg, Microsoft/vcpkg-tool, and Microsoft/vcpkg-docs GitHub repos.
Some stats for this period:
- 34 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.
- 268 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 nine main triplets.
- There are now 2,352 total libraries available in the vcpkg public registry.
- 22 contributors submitted PRs, issues, or participated in discussions in the main repo.
- The main vcpkg repo has over 5,800 forks and 20,200 stars on GitHub.
Key changes
This vcpkg update includes some bugfixes, documentation improvements, as well as a new community triplet. Notable changes for this release are summarized below.
Added mips64-linux community triplet
A community contributor has added a mips64-linux community triplet. MIPS stands for Microprocessor without Interlocked Pipelined Stages and is a “family of reduced instruction set computer (RISC) instruction set architectures (ISA)” (Source: MIPS architecture on Wikipedia). As someone who took courses in university where we wrote code targeting MIPS, I thought this was pretty neat! Also, as implied by the triplet name, this support is specifically for 64-bit MIPS.
PR: Microsoft/vcpkg#34392, Microsoft/vcpkg-tool#1226 (thanks @capric8416!)
Documentation changes
This month, our documentation changes at learn.microsoft.com/vcpkg include a glossary of terms and two new tutorials. The first tutorial covers exporting compiled dependencies, which is useful when you want to share libraries across multiple projects in a portable manner, without requiring the end user to install vcpkg to receive them. The second tutorial describes how to update an open-source vcpkg dependency to a new version and submit the changes to the vcpkg repo.
Documentation changelog:
- Added Glossary of terms.
- Added Tutorial: Export compiled dependencies. Describes how to export compiled dependencies using the vcpkg export command.
- Added Tutorial: Update an existing vcpkg dependency.
- Updated MSBuild integration article to describe properties for app-local DLL deployment.
- Fixed incorrect spelling to an “env” macro in a CMakePresets.json snippet (PR: Microsoft/vcpkg-docs#215, thanks @oraqlle!)
- Fixed a couple of links in the CMake integration page (PR: Microsoft/vcpkg-docs#212, thanks @randallpittman!)
- Other minor edits / typo fixes.
Bug fixes / performance improvements
- Fixed vcpkg activate failing when run with the –no-color switch in Visual Studio (PR: Microsoft/vcpkg-tool#1247).
- Fixed crash when running “vcpkg add port sqlite3[core]” (PR: Microsoft/vcpkg-tool#1163, thanks @autoantwort!)
- Other minor bugfixes.
Total ports available for tested triplets
We are re-building our ports for arm64-windows and x64-windows due to an error that occurred in the last CI run. The numbers for these will be updated shortly.
triplet | ports available |
x64-windows | Building… |
x86-windows | 2,122 |
x64-windows-static | 2,084 |
x64-windows-static-md | 2,108 |
arm64-windows | Building… |
x64-uwp | 1,217 |
arm64-uwp | 1,184 |
x64-linux | 2,158 |
x64-osx | 2,050 |
arm-neon-android | 1,496 |
x64-android | 1,555 |
arm64-android | 1,513 |
While vcpkg supports a much larger variety of target platforms and architectures, 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 (39 commits)
- autoantwort (27 commits)
- dg0yt (13 commits)
- talregev (7 commits)
- Neumann-A (5 commits)
- RT2Code (3 commits)
- eao197 (3 commits)
- luncliff (3 commits)
- Thomas1664 (3 commits)
- alagoutte (2 commits)
- Osyotr (2 commits)
- FtZPetruska (2 commits)
- Tradias (2 commits)
- AenBleidd (2 commits)
- DragonJoker (1 commit)
- m-kuhn (1 commit)
- evpobr (1 commit)
- RealTimeChris (1 commit)
- ex-purple (1 commit)
- jwillemsen (1 commit)
- daschuer (1 commit)
- koprok (1 commit)
- SchaichAlonso (1 commit)
- BurningEnlightenment (1 commit)
- wravery (1 commit)
- JackBoosY (1 commit)
- oraqlle (1 commit)
- randallpittman (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 2023.11.20 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.