{"id":5863,"date":"2017-06-24T10:11:18","date_gmt":"2017-06-24T17:11:18","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/heaths\/?p=3835"},"modified":"2019-02-17T15:29:16","modified_gmt":"2019-02-17T22:29:16","slug":"vswhere-version-2-0-released","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/setup\/vswhere-version-2-0-released\/","title":{"rendered":"vswhere version 2.0 released"},"content":{"rendered":"<p>One of the features of the new setup engine is to enable Visual Studio to be installed side-by-side with other minor releases, including minor upgrades and preview releases. After introducing the <a href=\"https:\/\/www.visualstudio.com\/vs\/preview\/\">Visual Studio Preview channel<\/a> a short while ago, some partners asked for the ability to filter out those Preview releases from\u00a0<em>vswhere.exe<\/em>. Because this is a breaking change in behavior, following <a href=\"http:\/\/semver.org\">semantic version guidelines<\/a> I have bumped the major version to 2. I also realized that in the past I have added new features without bumping the minor version and will be more diligent going forward.<\/p>\n<p><em>vswhere.exe<\/em> version 2.0.2 released last night to <a href=\"https:\/\/www.nuget.org\/packages\/vswhere\">nuget.org<\/a> (great for automating build and test environments, which the <em>vswhere<\/em> project itself uses), <a href=\"https:\/\/chocolatey.org\/packages\/vswhere\">chocolatey.org<\/a>, and on its own <a href=\"https:\/\/github.com\/Microsoft\/vswhere\/releases\">GitHub release page<\/a> adds a new switch parameter <code>-prerelease<\/code> which will include prereleases like Preview builds. This will only work when using the query API version 1.11.2290 or newer, however, which is included in the logo for\u00a0<em>vswhere.exe<\/em> when executed (starting with version 1.0.62). Specifically, it is included in the header after the query API is loaded, which currently for performance reasons is not when displaying the help text using the switch parameter <code>-help<\/code> or when a syntax error is detected.<\/p>\n<p>This new query API will be released in Visual Studio 2017 version 15.3.<\/p>\n<p>The output of\u00a0<em>vswhere.exe<\/em> when using the new query API will also include a boolean property <code>IsPrerelease<\/code>. This is also true of the <a href=\"https:\/\/github.com\/Microsoft\/vssetup.powershell\">VSSetup PowerShell cmdlets<\/a>, which also added a <code>-Prerelease<\/code> switch parameter to the <code>Get-VSSetupInstance<\/code> cmdlet. The PowerShell cmdlets also include information about the catalog that was last used to install or update the instance, including the semver <code>productSemanticVersion<\/code> which supports the <code>IsPrelease<\/code> property.<\/p>\n<p>We expect that this change in behavior will affect very few developers based on telemetry and, it seems, most desired this behavior anyway. While our Preview releases are well-tested, we want to provide our partners using\u00a0<em>vswhere.exe<\/em> the ability to select releases that have been out a while.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A new major version of vswhere is released with the breaking change to filter out preview releases by default.<\/p>\n","protected":false},"author":389,"featured_media":3843,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[45,46,57,60],"class_list":["post-5863","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-visual-studio","tag-vs","tag-vs2017","tag-vswhere"],"acf":[],"blog_post_summary":"<p>A new major version of vswhere is released with the breaking change to filter out preview releases by default.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/5863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/users\/389"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/comments?post=5863"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/5863\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media\/3843"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media?parent=5863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/categories?post=5863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/tags?post=5863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}