Since the release of Visual Studio 2017 in March, there have been two minor updates (15.1 and 15.2) per the new release rhythm. The first update (15.1) integrated the Windows 10 Creators Update SDK (15063), and the second update (15.2) included fixes for the IDE and tools. Neither of these updates included significant changes to the C/C++ compiler beyond a few specific hotfixes. The first major revision to the Visual C++ 19.1 compiler and libraries is now available with the latest update: Visual Studio 2017 (15.3).
If you already have VS 2017 installed, run the "Visual Studio Installer" application on your system to apply the update. If you don't yet have VS 2017 installed, you can download the latest installer from here.
Note: The Lightweight Solution Load option that does a partial load of projects for large C++ solutions is included in this update.
Compiler and CRT
VS 2017 (15.3) inclues a new version of the C/C++ compiler (19.11.25506). See this blog post for details on the latest Standard conformance and language/library fixes. There are a few new warnings--a few of which are currently off-by-default but quite useful for portability--detailed in this blog post. The latest update also includes support for AVX-512 intrinsics. There's also some new behavior for
/permissive- with two-phase name lookup.
Note: Per this blog post, the
_MSC_VER value is now 1911 instead of 1910.
The C/C++ Runtime (14.11.25325) is included in this update. Remember that VS 2015 and VS 2017 share the same runtime redistributable binaries and that VS 2015 Update 3 is binary compatible with VS 2017--code or static library built with one can be linked to the other--, so this is the latest version for both.
directx-vs-templates: The VS 2017 (15.3) includes a fix with my Direct3D game templates if using them on a system without VS 2015 installed side-by-side.
GitHub: I've done new releases of DirecX Tool Kit (DX11 / DX12), DirectXTex, DirectXMesh, and UVAtlas which have been updated to build correctly with VS 2017 when using the 15.3 update--I make use of
/permissive- for these projects.
Related: Visual Studio 2017 RTM