Events
May 19, 6 PM - May 23, 12 AM
Calling all developers, creators, and AI innovators to join us in Seattle @Microsoft Build May 19-22.
Register todayThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
License Terms | Visual Studio Blog | Developer Community
Note
This is not the latest version of Visual Studio. To download the latest release, please visit the current release notes for Visual Studio 2019.
You can view release notes for all versions of Visual Studio 2015:
You can download Visual Studio 2015 from My.VisualStudio.com. My.VisualStudio.com requires a free Dev Essentials subscription, or a Visual Studio Subscription.
Release Date: June 27, 2016
Note
The Node.js version installed with Visual Studio 2015 Update 3 is out of date. To update to a newer release, learn more about how to Safely update Node.js.
Visual Studio 2015 Update 3 includes Tools for Apache Cordova Update 10, including the improvements below. and Update 10. For the latest news about our tools, visit our Developer Blog on GitHub.
We've added the following improvements in Developer Analytics Tools v7.0.2:
For more information, see the technical release notes in the Microsoft Azure documentation.
Diagnostic Tools support for apps running on OneCore devices, including HoloLens and IOT, has been added in Update 3.
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:
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 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.
We've addressed feedback from customers about improving performance and reliability.
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.
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 full information and downloads, see the Node.js Tools 1.2 RC release page.
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.
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.
Std::is_convertible
now correctly detects self-assignment of a class type when the copy-constructor is deleted or private.For more information on how these changes might impact your existing code, see Visual C++ Porting and Upgrading Guide on MSDN.
We've restored debug mode performance when destroying ranges of trivial objects that regressed in Update 2, like in vector<char>.
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
.
We've removed ETW eventing calls from vcruntime140.dll and static libraries that previously fired during process startup and dllmain.
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<wstring, vector<pair<uint64_t, vector<uint8_t>>>>.
ATL/MFC/AMP/PPL: Lots of conformance fixes related to two-phase lookup, as follows:
_com_ptr_t
now has a move constructor and move assignment operator.
MFC: Fixed handling of HMENU values that occasionally prevented menus from being properly displayed in 64-bit applications.
ATL/MFC: No longer emit the following warnings:
Function overriding/hiding: C4263, C4264, C4266
Mismatching exception specification: C4986
/analyze: C6386
ATL: All variations of AtlThrow are now properly marked with __declspec(noreturn)
. This prevents erroneous SAL warnings from being emitted.
ATL: Fixed/Improved several SAL annotations.
/std:c++latest
enables the following new features: P0025R1 "clamp()", P0185R1 "is_swappable, is_nothrow_swappable", and P0272R1 "Non-const basic_string::data().".
/std:c++latest also controls the removal of the following old features: N4190 "Removing auto_ptr, random_shuffle(), And Old <functional> 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).
Silent bad codegen in atomic<int64_t>/atomic<uint64_t> on x86 was fixed.
The STL now avoids using thread-safe "magic statics" except when absolutely necessary, improving codegen.
Tuple's perfect forwarding constructor now avoids out-competing the copy constructor, fixing compiler errors in certain scenarios.
Coroutines:
__yield_value
& __await
keywords. Use co_await / co_yield
instead.to_address
and from_promise
members of coroutine_handle
class. Instead of coroutine_handle::to_address()
, use coroutine_handle::address()
.coroutine_handle::from_promise(Promise *P)
, use coroutine_handle::from_promise(Promise &P)
.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.
_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:
_ITERATOR_DEBUG_ARRAY_OVERLOADS
and dual-range algorithms.We've fixed violations of the off-by-default warning C4242 in the STL.
We've fixed possible integer overflow bug in std::pop_heap.
We've fixed potential hang under /clr:pure due to CLR-inserted LoadLibrary calls while holding the locale lock.
We've integrated Clang 3.8 release into Clang/C2 and provided a 64-bit hosted toolset.
We've enabled support for the latest Android NDK version R11C and the capability to upgrade the current projects to target the latest NDK.
Visual Studio 2015 Update 3 includes TypeScript 1.8.34. We've fixed an out of memory error with some large TypeScript projects that use AngularJS.
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:
Several bugs have been fixed in Team Explorer:
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.
Events
May 19, 6 PM - May 23, 12 AM
Calling all developers, creators, and AI innovators to join us in Seattle @Microsoft Build May 19-22.
Register todayTraining
Learning path
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization