 Hello, and welcome to a short video on what's new in Visual C++ with Visual Studio 2015 Update 1. This video will describe the delta from RTN release launched in July. To get more familiar with the RTN release, please check out our blog and the MSDN topic that describes what's new in the RTN release. With Update 1, we've made significant improvements in the following general areas – compiler, cross-platform development, and diagnostics. We're also introducing a new concept of experimental features. In the compiler, we're continuing to make progress on our language conformance. In Update 1, we're introducing support for expressions FINAE, for example, code constructs using dependent decal types and default arguments, of template type parameters are now supported among other constructs. We've also made improvements in our C++11 constexpr support. The vast majority of scenarios you reported via connect are now addressed, as well as static initialization. Coroutines are part of the C++17 proposal, and a partial implementation was already available in the RTN product. Update 1 comes with a full implementation of the draft C++17 proposal, and is now ready to be used in production environments. If not familiar already, now it's a good time to learn about await and yield. If you attended or watched CppCon, the C++ conference, you may already be familiar with the C++ core guidelines that BRNA announced. If not, I'll encourage you to go check out his CppCon keynote. To aid with the guidelines adoption, at the conference Microsoft released on GitHub a helper library called GSL, and also announced a new set of checkers for types and bounds safety. That will be part of our static analysis. In the Update 1 timeframe, we're releasing these two components as a new get package in order to make it super easy to use in any of your projects. Switching to cross-platform development, more specifically targeting Android, we're announcing support for Java debugging and language services. We've heard you that even if you spend most of the time working in C++, there are times when you need to work in the platform-native language, and the context switch is too expensive. In order to reduce this context switch, you will be able to debug your Android Java code directly in VS, setting breakpoints, stepping through code, familiar first-time exception dialogues, watch and thread windows are all there. When editing code, you will also have access to semantic colorization and highlighting, intelligence operations like auto-complete, go-to-definition, errors and warning squiggles are all in the Java files. The support comes as a Visual Studio extension available for download in Visual Studio Gallery. On the C++ front, you'll notice new build throughput improvements. In addition to project-level parallelization, we now allow file-level parallelization of builds. With 64-bit growing in importance in the mobile space, we're adding support in Android for targeting RM64 and X64. All project templates will create with these new platforms. And for your existing projects, you can use Configuration Manager to add them manually. For those of you that use CMake, we are also providing a new CMake project generator for Visual Studio projects targeting Android. While it will take a bit longer to make it into the official CMake bits, you can preview this support in Microsoft's CMake fork in GitHub. For iOS, similarly to Android, we're adding support for 64-bit platforms, RM64 and X64. You'll also be able to easily target any of the simulators and iOS devices that are connected to your Mac, as well as pick the provisioning profile you want to use in case you have more than one. With Update 1, we're also announcing the availability of a Windows toolchain based on Clang. Many of you are already using Clang to compile your cross-platform code in Android and iOS. This new toolchain will enable you to use a single compiler to compile your cross-platform code across all three platforms. This toolchain is specifically designed to allow interop with the Microsoft C++ compiler that's allowing you to build the cross-platform portion of your app using Clang and your Windows-specific code using the Visual C++ compiler and then bring all those binaries together into a single Windows app. You can even statically link compiled libraries with different compilers into a single binary. Moving to ID and diagnostics, Update 1 comes with several improvements for game and graphics developers. The graphics profiler now shows thread information as well as fence signals, making it easier to understand the interaction between the GPU and the different threads of your application and also correlate the information back to your code or to any other logging you might be using. Similarly, command list names are now listed in the event list with the goal of making it easier to correlate the events back to your code. For memory profiler, starting with RTM, you can profile your app memory while debugging your code. To start the profiler, though, requires you to restart the debug session. In Update 1, this is not needed anymore, and you can attach the memory profiler to a already running debug session. Remot profiling is also now supported. And when looking at the memory snapshot in StaxView, you can now search for a specific function name as well as change the orientation of the view from a colleague to a caller view. When it comes to debugging, we always try to provide the best debug visualizers. We always ship with great visualizers for STL collections. In Update 1, we're making another small addition by adding support for smart pointers. Before talking about specific experimental features, we're introducing an Update 1. I'd like to mention that we strive with each update to improve the experience in the previous release by fixing bugs and also adding new functionality that is both complete and stable. There are, however, features that require longer time to incubate and complete. Rather than waiting for the final product to share it with you, starting with Update 1, we make these features available as experimental in the product, off by default. To give you the opportunity to try them, give us your feedback and iterate with us over their behavior several times. When together we grow more confident that they meet your needs, they will graduate and we will introduce them in the product as on by default. So to turn on these features in the IDE, you will want to go to Tools, Options, or CC++ Experimental tab. For compiler features, you'll need to pass the slash experimental switch. In the IDE, you'll have access to two new refactoring features, Extract Function, which was available as a VS Gallery extension in the past, but now it's part of the product. As well as Change Signature, which is a brand new refactoring operation we're introducing with Update 1. Change Signature will allow you to easily add, remove, rename, or reorder function parameters and apply the changes to its declarations, definition, as well as all the call sites. Another feature in the IDE is the introduction of a new file format for our symbol database. This will allow our IntelliSense engine to scale beyond the limits of our current database engine, as well as provide faster indexing and better search capabilities. We are continuing work on tuning the new database and we'd love to hear from you about the improvements you're seeing. These are just a few of the new experimental IDE features in Update 1, and I'll let you discover the rest by yourself by going to the Experimental tab in Tools Options. On the compiler side, you'll have access to close-to-complete variable templates implementation, as well as an early prototype for the C++17 proposal on modules. As a completely separate installer in Update 1, you'll have access to all the tools needed to build C++ desktop apps and libraries. This lightweight installer comes with no IDE components that's making it ideal to be used in build lab environments as well as continuous integration systems. In addition to the experimental features, I'd like to call your attention and request your feedback on a few Visual Studio extensions we're releasing on Visual Studio Gallery together with Update 1. C++ Quick Fixes extension goal is to help resolve IntelliSense errors in the editor. This release specifically addresses undefined symbol errors by offering to add appropriate pound-include suggestions as well as using namespace statements for types that are not visible in the current file, but otherwise exist either in your project or in a third-party library. Our goal with this extension is to grow the number of fixes provided and we're looking for your feedback on which ones will be valuable additions next. The GDB debugger extension exposes the debugger engine we're already using for Android and iOS to more general scenarios, allowing among others Linux remote debugging as well as local debugging of binaries built with other Windows compiler tool chains. We already talked about the Java support for Android. What I didn't mention earlier is that it also comes with an Eclipse Android project importer that allows you to easily port your existing Android projects into Visual Studio. And last but not least, with the Lua extension, you can now add Lua files in your Visual C++ project and benefit from colorization and IntelliSense, as well as being able to debug your Lua code. That summarizes the improvement means to Visual Studio 2015 in Update 1. For more in-depth information about each of this, check out our VC blog, as well as the new MSDN topic describing Update 1 functionality. Thank you for watching and thank you for trying Update 1. We look forward to your feedback through Send a smile, connect, use your voice, or in blog comments. Have a good day.