{"id":34646,"date":"2024-09-12T20:56:58","date_gmt":"2024-09-12T20:56:58","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=34646"},"modified":"2024-09-12T20:56:58","modified_gmt":"2024-09-12T20:56:58","slug":"build-insights-17-12","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/build-insights-17-12\/","title":{"rendered":"What\u2019s New in Visual Studio Build Insights 17.12"},"content":{"rendered":"<p>We are excited to announce the latest <strong>Visual Studio 2022 17.12 Build Insights<\/strong> features. These updates provide developers with greater control and accuracy when diagnosing and optimizing <strong>C++ builds<\/strong> directly within Visual Studio.<\/p>\n<p><a href=\"https:\/\/visualstudio.microsoft.com\/vs\/preview\/\"><b><span data-contrast=\"none\">Download Visual Studio 2022 17.12 Preview<\/span><\/b><\/a><\/p>\n<p><span data-contrast=\"auto\">We extend our thanks to the developer community, particularly our game studio partners, for providing invaluable feedback. Your input plays a vital role in shaping these new features.<\/span><\/p>\n<p>Learn more about Build Insights with our tutorials and documentation:<\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"15\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/cpp\/build-insights\/?view=msvc-170\"><span data-contrast=\"none\">C++ Build Insights | Microsoft Learn<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"15\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/cpp\/build-insights\/tutorials\/build-insights-function-view?view=msvc-170\"><span data-contrast=\"none\">Tutorial: Troubleshoot function inlining on build time | Microsoft Learn<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"15\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/cpp\/build-insights\/tutorials\/build-insights-included-files-view?view=msvc-170\"><span data-contrast=\"none\">Tutorial: Troubleshoot header file impact on build time | Microsoft Learn<\/span><\/a><\/li>\n<\/ul>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Run Build Insights on Selected Files<\/span><\/h2>\n<p><span data-contrast=\"auto\">This feature is a game-changer for those who want to target specific files without analyzing the entire project. You can select a few files, run Build Insights on them, and see exactly how these files impact build performance. It\u2019s perfect for fine-tuning your project and making targeted optimizations.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\"><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/file-selection.png\"><img decoding=\"async\" class=\"aligncenter wp-image-34648 size-full\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/file-selection-e1726166944440.png\" alt=\"Run Build Insights on File Selection File Selection Command in contextual menu of selected files.\" width=\"700\" height=\"393\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/file-selection-e1726166944440.png 700w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/file-selection-e1726166944440-300x168.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Filter Projects<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Working in a multi-project environment? The Project Filter feature allows you to focus your diagnostics on the projects most relevant to your current work. For instance, you can filter the analysis to focus solely on the core components of a specific project, making it easier to pinpoint areas that need optimization.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/project-filter.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-34652\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/project-filter.png\" alt=\"Project Filter under the project header\" width=\"801\" height=\"667\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/project-filter.png 801w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/project-filter-300x250.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/project-filter-768x640.png 768w\" sizes=\"(max-width: 801px) 100vw, 801px\" \/><\/a><\/span><\/p>\n<h2 aria-level=\"2\">Filter Files Using a Glob Pattern<\/h2>\n<p><span data-contrast=\"auto\">The File Path Filter is incredibly useful for narrowing down your analysis to specific directories or excluding paths that aren\u2019t relevant to your task. For example, you can exclude third-party libraries and focus only on parts of the codebase critical to the current build.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p aria-level=\"2\"><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/file-path-filter.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-34647\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/file-path-filter.png\" alt=\"File Path Filter\" width=\"447\" height=\"347\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/file-path-filter.png 447w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/file-path-filter-300x233.png 300w\" sizes=\"(max-width: 447px) 100vw, 447px\" \/><\/a><\/span><\/p>\n<h2 aria-level=\"2\">View Explanation with Documentation Link<\/h2>\n<p><span data-contrast=\"auto\">You can now see a short description of how each tab of Build Insights can be used, along with a link to the documentation for a detailed explanation.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/help-1.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-34659\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/help-1.png\" alt=\"View Explanation and Link\" width=\"912\" height=\"373\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/help-1.png 912w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/help-1-300x123.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/help-1-768x314.png 768w\" sizes=\"(max-width: 912px) 100vw, 912px\" \/><\/a><\/p>\n<h2 aria-level=\"2\"><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">Enhanced Save Experience <\/span><\/h2>\n<p><span data-contrast=\"auto\">Now you can designate a folder to automatically store the reports so you can easily access them during your investigation. This will save you the work of manually specifying a folder each time you save your reports.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p aria-level=\"2\"><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/save-settings.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-34653\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/save-settings.png\" alt=\"Setting to save traces in custom location\" width=\"846\" height=\"570\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/save-settings.png 846w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/save-settings-300x202.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/save-settings-768x517.png 768w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><\/a><\/span><\/p>\n<h2 aria-level=\"2\">Path Updates<\/h2>\n<p><span data-contrast=\"auto\">We have added a File Name column for both files and translation units. displayed by default to help you quickly identify files without parsing lengthy paths. Additionally, we have hidden full and relative paths to reduce clutter. To see full paths, simply hover over the file.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/paths-2.png\"><img decoding=\"async\" class=\"aligncenter wp-image-34658\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/paths-2.png\" alt=\"Full path when hovering over file name.\" width=\"571\" height=\"328\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/paths-2.png 780w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/paths-2-300x172.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/paths-2-768x441.png 768w\" sizes=\"(max-width: 571px) 100vw, 571px\" \/><\/a><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">New Metrics<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">We have added two new columns, &#8220;Exclusive Duration&#8221; (Self) and &#8220;Inclusive Duration&#8221; (Total):<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"12\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Exclusive Duration<\/span><\/b><span data-contrast=\"auto\">: Measures the time spent solely on the current task.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"12\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Inclusive Duration<\/span><\/b><span data-contrast=\"auto\">: Captures the total time spent on a task, including all nested tasks.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/li>\n<\/ul>\n<p aria-level=\"2\"><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/metrics.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-34650\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/metrics.png\" alt=\"Inclusive Duration and Exclusive Duration columns\" width=\"601\" height=\"347\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/metrics.png 601w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/09\/metrics-300x173.png 300w\" sizes=\"(max-width: 601px) 100vw, 601px\" \/><\/a><\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Renaming of Time Column to Wall Time Responsibility<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">When we introduced the &#8220;Time&#8221; column in Visual Studio Build Insights, we aimed to simplify the naming. However, we&#8217;ve found that it may cause confusion. While the column has always shown <\/span><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/faster-cpp-builds-simplified-a-new-metric-for-time\/\"><span data-contrast=\"none\">Wall Clock Time Responsibility (WCTR) or Wall Time Responsibility<\/span><\/a><span data-contrast=\"auto\"> \u2014which adjusts for parallelism by factoring in how tasks overlap \u2014 many users assumed it represented raw task duration.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To provide better clarity, we\u2019re renaming this column to \u201cWall Time Responsibility\u201d. This more accurately reflects what the data is measuring: the true impact of each task on the overall build time, especially in parallel environments. We believe this change will help developers gain clearer insights and optimize their builds more effectively.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Send Us Your Feedback!<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Ready to experience the new features in Visual Studio 2022 17.12? <\/span><a href=\"https:\/\/visualstudio.microsoft.com\/vs\/preview\/\"><span data-contrast=\"none\">Download it today<\/span><\/a><span data-contrast=\"auto\"> and start optimizing your C++ builds with Build Insights. Don&#8217;t forget to share your feedback with us to help shape future updates!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Let us know your thoughts and what additional capabilities you\u2019d like to see from this feature next! We are actively developing this feature set and would love to hear what would improve your workflow even more. The comments below are open for us to track any requests. You can also find us on Twitter (<\/span><a href=\"https:\/\/twitter.com\/visualc\"><span data-contrast=\"none\">@VisualC<\/span><\/a><span data-contrast=\"auto\">) or via email at\u202f<\/span><a href=\"mailto:visualcpp@microsoft.com\"><span data-contrast=\"none\">visualcpp@microsoft.com<\/span><\/a><span data-contrast=\"auto\">. To open a bug, please see\u202f<\/span><a href=\"https:\/\/developercommunity.visualstudio.com\/report?space=8&amp;entry=problem\"><span data-contrast=\"none\">Visual Studio Feedback<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are excited to announce the latest Visual Studio 2022 17.12 Build Insights features. These updates provide developers with greater control and accuracy when diagnosing and optimizing C++ builds directly within Visual Studio. Download Visual Studio 2022 17.12 Preview We extend our thanks to the developer community, particularly our game studio partners, for providing invaluable [&hellip;]<\/p>\n","protected":false},"author":120866,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[270,3947,3948,1],"tags":[],"class_list":["post-34646","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcement","category-build-insights","category-build-optimization","category-cplusplus"],"acf":[],"blog_post_summary":"<p>We are excited to announce the latest Visual Studio 2022 17.12 Build Insights features. These updates provide developers with greater control and accuracy when diagnosing and optimizing C++ builds directly within Visual Studio. Download Visual Studio 2022 17.12 Preview We extend our thanks to the developer community, particularly our game studio partners, for providing invaluable [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/34646","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\/120866"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=34646"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/34646\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=34646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=34646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=34646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}