{"id":32654,"date":"2023-07-31T21:27:12","date_gmt":"2023-07-31T21:27:12","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=32654"},"modified":"2024-04-01T17:50:58","modified_gmt":"2024-04-01T17:50:58","slug":"vcpkg-2023-06-20-and-2023-07-21-releases-github-dependency-graph-support-android-tested-triplets-xbox-triplet-improvements-and-more","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/vcpkg-2023-06-20-and-2023-07-21-releases-github-dependency-graph-support-android-tested-triplets-xbox-triplet-improvements-and-more\/","title":{"rendered":"vcpkg 2023.06.20 and 2023.07.21 Releases: GitHub Dependency Graph Support, Android Tested Triplets, Xbox Triplet Improvements, and More\u2026"},"content":{"rendered":"<p>The <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/releases\/tag\/2023.07.21\">2023.07.21 release of the vcpkg package manager is available<\/a>. This blog post summarizes changes from April 16<sup>th<\/sup>, 2023 to July 21<sup>th<\/sup>, 2023 for the <a href=\"https:\/\/github.com\/microsoft\/vcpkg\">Microsoft\/vcpkg<\/a>, <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/\">Microsoft\/vcpkg-tool<\/a>, and <a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\">Microsoft\/vcpkg-docs<\/a> GitHub repos.<\/p>\n<p>Some stats for this period:<\/p>\n<ul>\n<li><strong>59 new ports<\/strong> were added to the open-source registry. If you are unfamiliar with the term \u2018port\u2019, they are packages that are built from source and are typically C\/C++ libraries.<\/li>\n<li><strong>976 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 nine main triplets.<\/li>\n<li>There are now <strong>2,249 total libraries<\/strong> available in the vcpkg public registry.<\/li>\n<li><strong>87 contributors<\/strong> submitted PRs, issues, or participated in discussions in the repo.<\/li>\n<li>The main vcpkg repo has over <strong>5,500 forks<\/strong> and <strong>19,300 stars<\/strong> on GitHub.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Notable Changes<\/h3>\n<p>Notable changes for this release are summarized below:<\/p>\n<p>&nbsp;<\/p>\n<h4>GitHub Dependency Graph API<\/h4>\n<p>In June, we announced <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/vcpkg-integration-with-the-github-dependency-graph\/\">vcpkg integration with the GitHub dependency graph<\/a>. This is available for all vcpkg users on the 2023.07.21 release. If you are a GitHub user, we highly recommend checking it out to visualize your repo\u2019s dependencies. We will continue building on this integration in the future and are looking for feedback!<\/p>\n<p>PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/989\">Microsoft\/vcpkg-tool\/#989<\/a><\/p>\n<p>&nbsp;<\/p>\n<h4>Android Tested Triplets<\/h4>\n<p>We have promoted several Android community triplets to tested triplets. This means they are now tested and validated on all port changes (as of the 2023.06.20 release) and will be listed in the tested triplets table in each release.<\/p>\n<p>The new Android tested triplets are:<\/p>\n<ul>\n<li>arm-neon-android<\/li>\n<li>x64-android<\/li>\n<li>arm64-android<\/li>\n<\/ul>\n<p>PR: <a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvcpkg%2Fpull%2F29406&amp;data=05%7C01%7Caupopa%40microsoft.com%7C11f49afebf17421bd3af08db916b7f41%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638263663133670734%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=okWoWuhFKIDx8NwP9MAxHJLIwykfb%2BbtrAjCwh4BmSs%3D&amp;reserved=0\">Microsoft\/vcpkg\/#29406<\/a><\/p>\n<p>&nbsp;<\/p>\n<h4>Xbox Triplet Improvements<\/h4>\n<p>In a previous release, community triplets were released for vcpkg users wishing to target Xbox. In this release, several improvements were made to this experience:<\/p>\n<ul>\n<li>Added a post build check that libraries don\u2019t link with kernel32, as Xbox does not have kernel32.<\/li>\n<li><code>GameDKLatest<\/code>is now included in binary cache keys. Xbox triplets require the user of the GameDK, GRDK, and GXDK headers which are supplied through external environment variables. With this change, binary caching will track the version of these dependencies for the purpose of determining when a binary can be restored without re-building.<\/li>\n<li>Improvements to triplet selection and turning on the <em>xbox<\/em>\u00a0identifier.<\/li>\n<\/ul>\n<p>PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1059\">Microsoft\/vcpkg-tool#1059<\/a><\/p>\n<p>&nbsp;<\/p>\n<h4>Updates to depend-info Command<\/h4>\n<p><code>vcpkg depend-info<\/code>displays all transitive dependencies for a package in several formats, including plain text, DGML, DOT, etc. This feature can be useful to gain a better understanding of a package\u2019s dependency graph. A user contribution recently added the Mermaid format as an additional option. Furthermore, we made some changes to the way depend-info is used by moving the display options under a common <code>--format<\/code> subcommand. We believe this layout will make it easier to scale this feature in the future if we add further formatting styles. For more details on how to use depend-info after these changes, see our <a href=\"https:\/\/learn.microsoft.com\/en-us\/vcpkg\/commands\/depend-info\">vcpkg depend-info documentation<\/a>.<\/p>\n<p>PRs: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1080\">Microsoft\/vcpkg-tool\/#1080<\/a>, <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/935\">Microsoft\/vcpkg-tool\/#935<\/a> (thanks @WimLefrere!)<\/p>\n<p>&nbsp;<\/p>\n<h4>Allow vcpkg remove, export, and x-package-info without overlay triplets<\/h4>\n<p>In cases where a vcpkg user creates and manages <a href=\"https:\/\/learn.microsoft.com\/en-us\/vcpkg\/users\/triplets#adding-or-replacing-triplets\">overlay triplets<\/a>, the commands vcpkg remove, export, and x-package-info can now be run without having to specify those overlay triplets every time. This was extra information that the commands don\u2019t need in order to run successfully.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Previous behavior (example): <\/strong><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">vcpkg install --overlay-triplets a-directory-containing-triplets zlib:my-custom-triplet<\/code><\/pre>\n<p>Runs without issues.<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">vcpkg remove zlib:my-custom-triplet<\/code><\/pre>\n<p>Throws an error, vcpkg doesn\u2019t know what my-custom-triplet is.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/07\/Picture1.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-32655\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/07\/Picture1.png\" alt=\"vcpkg.exe remove zlib:my-custom-triplet example\" width=\"720\" height=\"270\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/07\/Picture1.png 720w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/07\/Picture1-300x113.png 300w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>Instead, you previously had to say:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">vcpkg remove --overlay-triplets a-directory-containing-triplets zlib:my-custom-triplet<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><strong>New behavior (example): <\/strong><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">vcpkg install --overlay-triplets a-directory-containing-triplets zlib:my-custom-triplet\r\n\r\nvcpkg remove zlib:my-custom-triplet<\/code><\/pre>\n<p>Both commands should run successfully.\n<a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/07\/Picture2.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-32656\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/07\/Picture2.png\" alt=\"vcpkg remove zlib:my-custom-triplet example\" width=\"720\" height=\"271\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/07\/Picture2.png 720w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/07\/Picture2-300x113.png 300w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1110\">Microsoft\/vcpkg-tool\/#1110<\/a><\/p>\n<p>&nbsp;<\/p>\n<h4>Overrides Can Select Ports That Are No Longer in the Baseline<\/h4>\n<p>It is now possible to <a href=\"https:\/\/learn.microsoft.com\/en-us\/vcpkg\/users\/versioning#overrides\">override<\/a> ports that aren\u2019t available in the <a href=\"https:\/\/learn.microsoft.com\/en-us\/vcpkg\/users\/versioning#baselines\">baseline<\/a> in a vcpkg.json file. While very rare with ports in the vcpkg open-source registry, it is possible for a port to be removed from a more recent baseline if it stops being compatible with the rest of the catalog and is no longer being maintained to stop breaking other ports. Previously, it was impossible to reference one of these archived ports in a more recent vcpkg installation using port versioning features. Now, you can use overrides to bring in the port and version that you want even if it isn\u2019t in the current baseline.<\/p>\n<p>PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1109\">Microsoft\/vcpkg-tool\/#1109<\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Documentation Changes<\/h3>\n<ul>\n<li>Documentation for binary caching using GitHub Actions cache (<a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/45\">PR: Microsoft\/vcpkg-docs#45<\/a>, thanks quyykk!)<\/li>\n<li>Improvements to Android targeting documentation (<a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/62\">PR: Microsoft\/vcpkg-docs#62<\/a>)<\/li>\n<li>Rewrote manifest mode CMake example to not use classic mode (<a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/66\">PR: Microsoft\/vcpkg-docs#66<\/a>)<\/li>\n<li>Added CMake Presets to the CMake integration docs (<a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/71\">PR: Microsoft\/vcpkg-docs#71<\/a>)<\/li>\n<li>Rewrote asset caching x-script example (<a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/78\">PR: Microsoft\/vcpkg-docs#78<\/a>)<\/li>\n<li>Initial documentation for GitHub dependency graph integration (<a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/86\">PR: Microsoft\/vcpkg-docs#86<\/a>)<\/li>\n<li>Updated depend-info for &#8211;format (<a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/89\">PR: Microsoft\/vcpkg-docs#89<\/a>)<\/li>\n<li>Updated depend-info documentation with mermaid support and format changes (<a href=\"https:\/\/github.com\/microsoft\/vcpkg-docs\/pull\/91\">PR: Microsoft\/vcpkg-docs#91<\/a>, thanks @WimLefrere!)<\/li>\n<li>Several other minor documentation fixes.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Bug Fixes \/ Performance Improvements<\/h3>\n<ul>\n<li>Cleaned up error message when attempting vcpkg upgrade in manifest mode (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1066\">Microsoft\/vcpkg-tool#1066<\/a>, thanks @autoantwort!).<\/li>\n<li>When vcpkg install runs, elapsed time will now be shown even if there was a build failure (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1098\">Microsoft\/vcpkg-tool#1098<\/a>, thanks @autoantwort!).<\/li>\n<li>Fixed a regression with binary caching where it wouldn\u2019t restore packages correctly if vcpkg upgrade was run in the past (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1083\">Microsoft\/vcpkg-tool\/#1083<\/a>).<\/li>\n<li>When a port gets installed, hard links are now created to the relevant files in the Packages directory where possible to save disk space and disk R\/W operations. Previously, a copy of the files was made every time, now it\u2019s a fallback mechanism (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1076\">Microsoft\/vcpkg-tool\/#1076<\/a>, thanks @autoantwort!).<\/li>\n<li>Fixed a regression causing the integrate install command to have to be run twice in certain situations to get past an error message (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1033\">Microsoft\/vcpkg-tool\/#1033<\/a>, thanks @dubejf!).<\/li>\n<li>Android hosts now use the android triplet by default (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1114\">Microsoft\/vcpkg-tool#1114<\/a>, thanks funsafe-ptr!).<\/li>\n<li>Fixed some issues with integrate install for some users targeting Visual Studio 2017 or later (PR: <a href=\"https:\/\/github.com\/microsoft\/vcpkg-tool\/pull\/1034\">Microsoft\/vcpkg-tool\/#1034<\/a>, thanks dubejf!).<\/li>\n<li>Other minor bug and crash fixes.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Total Ports Available for Tested Triplets<\/h3>\n<table style=\"width: 14.889%;\" width=\"258\">\n<tbody>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\"><strong>triplet<\/strong><\/td>\n<td style=\"width: 48.5505%;\" width=\"95\"><strong>ports available<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">x64-windows<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">2,100<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">x86-windows<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">2,028<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">x64-windows-static<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">1,996<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">x64-windows-static-md<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">2,010<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">arm64-windows<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">1,682<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">x64-uwp<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">1,151<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">arm-uwp<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">1,100<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">x64-linux<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">2,050<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">x64-osx<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">1,965<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">arm-neon-android<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">1,399<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">x64-android<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">1,466<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 62.8788%;\" width=\"163\">arm64-android<\/td>\n<td style=\"width: 48.5505%;\" width=\"95\">1,419<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>While vcpkg supports a much larger variety of target platforms and architectures, the list above is validated exhaustively to ensure updated ports don\u2019t break other ports in the catalog.<\/p>\n<p>&nbsp;<\/p>\n<h3>Thank You to Our Contributors<\/h3>\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 vcpkg, vcpkg-tool, or vcpkg-docs repos in this release:<\/p>\n<ul>\n<li>dg0yt (70 commits)<\/li>\n<li>autoantwort (66 commits)<\/li>\n<li>RT2Code (13 commits)<\/li>\n<li>jiayuehua (13 commits)<\/li>\n<li>SchaichAlonso (12 commits)<\/li>\n<li>Neumann-A (12 commits)<\/li>\n<li>AenBleidd (11 commits)<\/li>\n<li>myd7349 (10 commits)<\/li>\n<li>Osyotr (9 commits)<\/li>\n<li>FtZPetruska (9 commits)<\/li>\n<li>Pospelove (8 commits)<\/li>\n<li>xiaozhuai (8 commits)<\/li>\n<li>chausner (5 commits)<\/li>\n<li>coryan (5 commits)<\/li>\n<li>JackBoosY (5 commits)<\/li>\n<li>jacobkahn (4 commits)<\/li>\n<li>BurningEnlightenment (4 commits)<\/li>\n<li>WimLefrere (4 commits)<\/li>\n<li>talregev (3 commits)<\/li>\n<li>eao197 (3 commits)<\/li>\n<li>traversaro (3 commits)<\/li>\n<li>funsafeptr (3 commits)<\/li>\n<li>dubejf (3 commits)<\/li>\n<li>Thomas1664 (3 commits)<\/li>\n<li>horenmar (2 commits)<\/li>\n<li>ZeeWanderer (2 commits)<\/li>\n<li>ex-purple (2 commits)<\/li>\n<li>yurybura (2 commits)<\/li>\n<li>danielaparker (2 commits)<\/li>\n<li>m-kuhn (2 commits)<\/li>\n<li>jwillemsen (1 commit)<\/li>\n<li>Ryan-rsm-McKenzie (1 commit)<\/li>\n<li>mathisloge (1 commit)<\/li>\n<li>daschuer (1 commit)<\/li>\n<li>wravery (1 commit)<\/li>\n<li>bold84 (1 commit)<\/li>\n<li>quyykk (1 commit)<\/li>\n<li>davisp (1 commit)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Is your company looking for a better C\/C++ dependency management experience?<\/h3>\n<p>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 <a href=\"mailto:vcpkg@microsoft.com\">vcpkg@microsoft.com<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3>Learn More<\/h3>\n<p>You can find the <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/releases\/tag\/2023.07.21\">full 2023.07.21 release notes on GitHub<\/a> for the main repo. 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 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\/en\/index.html\">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>\u00a0or join more general discussion in our <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/discussions\">discussion forum<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The 2023.07.21 release of the vcpkg package manager is available. This blog post summarizes changes from April 16th, 2023 to July 21th, 2023 for the Microsoft\/vcpkg, Microsoft\/vcpkg-tool, and Microsoft\/vcpkg-docs GitHub repos. Some stats for this period: 59 new ports were added to the open-source registry. If you are unfamiliar with the term \u2018port\u2019, they are [&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-32654","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","category-vcpkg","tag-vcpkg"],"acf":[],"blog_post_summary":"<p>The 2023.07.21 release of the vcpkg package manager is available. This blog post summarizes changes from April 16th, 2023 to July 21th, 2023 for the Microsoft\/vcpkg, Microsoft\/vcpkg-tool, and Microsoft\/vcpkg-docs GitHub repos. Some stats for this period: 59 new ports were added to the open-source registry. If you are unfamiliar with the term \u2018port\u2019, they are [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/32654","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=32654"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/32654\/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=32654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=32654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=32654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}