Visual Studio Update 3

Visual Studio Update 3

June 27, 2016

Today, we are happy to announce the release of Visual Studio 2015 Update 3. One of the top issues reported in Update 2 was around high memory consumption. We addressed this issue in Update 3 RC, reached out to customers who had reported this issue, and received positive confirmation on the fix. In Update 3 you will see many such fixes addressing customer feedback around performance and stability.

Visual Studio 2015 Update 3 includes Tools for Apache Cordova Update 10, including the improvements below. For more information about this release, see the Tools for Apache Cordova release notes for Update 9 and Update 10. For the latest news about our tools, visit our Developer Blog on GitHub.

We've added support for Cordova 6.1.1, the default version for new projects.

We've retired the Cordova Plugin Registry that was used in Cordova 4.x, which means that we now require a minimum of Cordova 5.x or later to add plugins.

The Core Plugins list has been updated and now includes plugins for enterprise scenarios, such as Intune, Azure engagement, security, and SQLite local storage.

You can now add plugins from the config designer either by the npm package name or by the ID.

You can also add plugins that require parameters from the config designer.

Developer Analytics Tools

We've added the following improvements in Developer Analytics Tools v7.0.2:

C4656 warnings will no longer appear for false positive type changes during recompilation.

Support for adding a new type with the same name crossing multiple compilation units.

XAML UI Debugging improvements:

Whenever the focus changes in your app, the new Track Focus feature in the Live Visual Tree will cause selection in the Live Visual Tree to update to the currently focused element.

Visual Studio IDE

Subscriptions and product keys

We've addressed feedback in Update 3 from customers using subscriptions through an online identity or product keys to unlock the IDE, in the following ways:

You are no longer required to visit http://my.visualstudio.com to activate your assigned Visual Studio Cloud subscription, and can immediately start using the Visual Studio IDE as soon as the subscription is assigned.

We've improved error handling when applying a product key.

All user account and licensing operations are now secured by using HTTPS.

We've made accessibility improvements in the Account Settings dialog for activating a subscription and entering a product key.

New Re-authentication every ~8 days is no longer required to keep the personalization account active and synchronizing roaming settings.

Tools for Universal Windows Apps

Visual Studio 2015 Update 3 comes with several enhancements to the Tools for Universal Windows apps. A key improvement allows you to sign in with Azure Active Directory credentials for an AAD Store account when creating a package to submit to the Windows Store. Once the project has been associated with the Windows Store, you will no longer need to sign in to create a package to submit to the Store.

.NET Native for Universal Windows Apps

.NET Native 1.4 is a minor servicing release that improves performance, addresses several customer reported bugs and improves Release build compilation times of large apps. XAML applications and Unity games that use .NET Native 1.4 will have better runtime performance. These improvements were achieved by making both reflection and native API calls faster.

On Windows 10, Visual Studio is no longer unresponsive when you are opening or attempting to edit large EDMX or DBML diagrams while the on-screen keyboard is displayed.

Code Map

Visual Studio is no longer unresponsive when you are trying to "Generate Code Map for Solution" when the solution contained installer projects (.vdproj).

Visual Studio is no longer unresponsive when you run a code map command from the code editor and close the Code Map window as soon as it appears.

Layer Validation

When building a solution having a modeling project containing a Layer diagram with a Validate action, a CPU core is no longer used after the build completes.

You can now validate a layer diagram when its parent modeling project is referencing PCL libraries (for instance ODP.Net).

Node.js Tools for Visual Studio

New Node.js Tools 1.2 RC for Visual Studio is now available for download. We expect this release to provide significantly improved stability and performance, including reducing out-of-memory crashes seen in prior releases.
Other highlights include:

For ASP.NET Web Application projects, when "Enable Edit and Continue" checkbox is unchecked, the IIS Express process will no longer stop every time you stop debugging.

Visual C++

Enhancements, such as new checks and warning messages for the C++ Compiler, as well as support and performance improvements for C# and Visual Basic coding, were included in Update 3.C++ Compiler

We now check the access of a deleted trivial copy/move ctor. Without the check, we may incorrectly call the defaulted copy ctor (in which the implementation can be ill-formed) and cause potential runtime bad code generation.

Std::is_convertible now correctly detects self-assignment of a class type when the copy-constructor is deleted or private.

As the last phase of completing the deprecation of attributed ATL support started in Visual Studio 2008, we've added a new deprecation warning to the compiler. With Visual Studio 2015 Update 3, usages of attributed ATL code will generate an on-by-default level 1 warning. C4467

When using PCH files, mismatched -I include directories to the compiler between -Yc and -Yu compilations will now produce a new warning. C4599

When using PCH files, mismatched #include directives in source files between -Yc and -Yu compilations will now produce a warning. C4598

We've restored debug mode performance when destroying ranges of trivial objects that regressed in Update 2, like in vector.

We've implemented the swappable traits from the C++17 working paper, from the proposal P0185 Adding [nothrow-]swappable traits. As a speculative C++17 feature, the traits (is_swappable, is_swappable_with, is_nothrow_swappable, and is_nothrow_swappable_with) are only visible, and the constraints on std::swap are only active, when compiling with /std:c++latest.

New We've removed symbol name length in common machinery used by STL containers, such as std::vector, reducing likelihood of C4503 warnings. For example, the following type no longer generates a warning: concurrency::concurrent_unordered_map<_wstring2c_><_uint64_t2c_>>>>.

/std:c++latest also controls the removal of the following old features: N4190 "Removing auto_ptr, random_shuffle(), And Old Stuff", P0004R1 "Removing Deprecated Iostreams Aliases", LWG 2385 "function::assign allocator argument doesn't make sense", and various non-Standard features (the std::tr1 namespace, some TR1-only machinery, and the std::identity struct).

We've improved performance of the following: std::equal and std::lexicographical_compare by dispatching to memcmp and memchr more aggressively, resulting in large performance improvements in some scenarios. For example: equal(char,char,char, char) on 64 bit platforms.

debug builds significantly by reducing the number of bookkeeping function calls in our iterator debugging machinery.

string: push_back has improved another 40% vs. Update 2 in release builds, with more substantial improvements in debug builds. (This is in addition to large performance improvements here that shipped in Update 2).

Debug builds across all standard algorithms have improved by eliminating several types of empty template metaprogramming support calls (for example,_Iter_cat), across all algorithms that take predicates by reducing the number of predicate copies.

std::mismatch under _ITERATOR_DEBUG_LEVEL 1 and 2 by range checking the second range where possible ahead of iteration.

We've applied improved diagnostics for _SCL_INSECURE_DEPRECATE messages to the remaining algorithms (in Update 2 only a small number of algorithms were hooked into the new deprecation mechanism). This also improves the debugging experience when debugging into the standard algorithms, as there is no longer any _ITERATOR_DEBUG_LEVEL preprocessor interaction declaring multiple copies of standard algorithms. We have also fixed the following:

We've fixed the inability to compile some functions like mismatch(iter, iter, T[]) due to interaction between our nonstandard _ITERATOR_DEBUG_ARRAY_OVERLOADS and dual-range algorithms.

We've fixed violations of the off-by-default warning C4242 in the STL.

New The C++/CLI expression evaluator now supports debugger features, such as Natvis, that were previously only supported for pure native apps. Now in a mixed managed/native app when objects are listed in a variable window (or inside a datatip), they will expand just like they do in a pure native app as defined by the type visualizers.

New We've invested in reducing memory footprint and improving the performance of code diagnostics. This will reduce a lot of the out-of-memory crashes seen in prior releases. We’ve improved the performance of running code diagnostics on an entire solution. To learn more about code diagnostic performance enhancements, read the How to: Enable and Disable Full Solution Analysis for Managed Code page on MSDN.
Additional improvements include the following:

Unable to view the contents of a file that was deleted from a Git repository.

When viewing the history of a branch, the Go to Child icon should be disabled when the focus is the latest commit.

When changing branches using Git.exe, Visual Studio may crash or get into an unknown state.

When viewing the history of a branch in a Git repository, the highlighting in the history graph has glitches.

When creating a branch in Team Explorer, the Alt+B shortcut for Create Branch conflicts with the Build menu.

In a high memory usage situation, when attempting to unpack an object larger than the available memory, Git gives an error of "Object not found - no matching loose object ()" instead of an out of memory error.

Typo in the error message "... In order the open this solution ...".

When viewing the history of a branch and right clicking on the first commit in history, Cherry Pick is disabled.

When creating a pull request from the Team Explorer branches page context menu uses the current branch instead of the selected branch.

Xamarin for Visual Studio

New Visual Studio 2015 Update 3 now includes Xamarin 4.1. In addition to a number of bug fixes, this release adds support for tvOS, improves the iOS Assets Catalog support, improves the XML editing experience, and adds selectors for SSL/TLS and HttpClient implementations when creating iOS apps. For more information, see the Xamarin release notes.

Just upgraded Visual Studio Community 2015 Update2 to Update3 via Tools -> Extensions and Upgrades in VS.
It took a 3GB download, and about 50 minutes, but it's all done and working.
It seems to take a little longer to start up.

Thanks,
Dave.

My ComputerYou need to have JavaScript enabled so that you can use this ...

It caused a massive number of compilation failures of existing C++ code, which previosuly compiled without problems under Update 2.

What is most appauling is that Miscrosoft seems to provide no way to downgrade back to Upgrade 2 or to download Upgrade 2 by itself. The only way to restore the functionality of VS2015 is to use System Restore or your previosuly made system images.

My ComputerYou need to have JavaScript enabled so that you can use this ...

Update 3 is broken in a rather ridiculous way. At this point it should not be installed. Microsoft promised a fix, but there's no definitive timeframe for that.

I have not had any issues with it. I think it's a bit extreme to tell people that don't have any issues that it's not fit to be used. I'm sorry you're having problems, but not everyone is affected by every bug.

Originally Posted by AndreyT

It caused a massive number of compilation failures of existing C++ code, which previosuly compiled without problems under Update 2.

Oh, you mean all 3 people still writing C++ code (yes, I jest, I know there are more, but the vast majority of people are writing .net code)

Originally Posted by AndreyT

What is most appauling is that Miscrosoft seems to provide no way to downgrade back to Upgrade 2 or to download Upgrade 2 by itself. The only way to restore the functionality of VS2015 is to use System Restore or your previosuly made system images.

Uhh.. how about installing from the Update 2 iso? Update 2 is available from MSDN. So isn't it a bit alarmist to make claims of it being impossible to downgrade?

My ComputerYou need to have JavaScript enabled so that you can use this ...

I have not had any issues with it. I think it's a bit extreme to tell people that don't have any issues that it's not fit to be used. I'm sorry you're having problems, but not everyone is affected by every bug.

It is not about who's "affected" and who's "unaffected". It is about the current state of regression testing at Microsoft. It is beyond a double facepalm. It is catastrophic.

When a calculator says that 2+2 equals 5, that calculator is officially (and hopelessly) broken, period. The fact that not everyone is affected by that bug is irrelevant.

Originally Posted by Mystere

Oh, you mean all 3 people still writing C++ code (yes, I jest, I know there are more, but the vast majority of people are writing .net code)

About Us
Windows 10 Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows 10" and related materials are trademarks of Microsoft Corp.