Today, we are releasing the May 2018 Preview of Quality Rollup.
This release contains the following quality and reliability improvements.
- Resolves an issue in WindowsIdentity.Impersonate where handles were not being explicitly cleaned up. 
- Resolves an issue in deserialization when using a collection, for example, ConcurrentDictionary by ignoring casing. 
- Removes case where floating-point overflow occurs in the thread pool’s hill climbing algorithm. 
- Resolves instances of high CPU usage with background garbage collection. This can be observed with the following two functions on the stack:
ntoskrnl!KiPageFault. Most of the CPU time is spent in the
ntoskrnl!ExpWaitForSpinLockExclusiveAndAcquirefunction. This change updates background garbage collection to use the CLR implementation of write watch instead of the one in Windows. 
- Fixed a problem with connection limit when using HttpClient to send requests to loopback addresses. 
- A crash can occur during shutdown of an application that hosts WPF content in a separate AppDomain. (A notable example of this is an Office application hosting a VSTO add-in that uses WPF.) 
- Addresses an issue that caused XAML Browser Applications (XBAP’s) targeting .NET 3.5 to sometimes be loaded using .NET 4.x runtime incorrectly. 
- A WPF application can crash due to a NullReferenceException if a Binding (or MultiBinding) used in a DataTrigger (or MultiDataTrigger) belonging to a Style (or Template, or ThemeStyle) reports a new value, but whose host element gets GC’d in a very narrow window of time during the reporting process. 
- A WPF application can crash due to a spurious ElementNotAvailableException. 
This can arise if:
- Change TreeView.IsEnabled
- Remove an item X from the collection
- Re-insert the same item X back into the collection
- Remove one of X’s subitems Y from its collection
(Step 4 can happen any time relative to steps 2 and 3, as long as it’s after step 1. Steps 2-4 must occur before the asynchronous call to UpdatePeer, posted by step 1; this will happen if steps 1-4 all occur in the same button-click handler.)
Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches.
The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog.
You can get the update via the Microsoft Update Catalog.
|Product Version||Preview of Quality Rollup KB|
Windows RT 8.1
Windows Server 2012 R2
|.NET Framework 3.5||4095875|
|.NET Framework 4.5.2||4098974|
|.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.1||4098972|
|Windows Server 2012||Catalog
|.NET Framework 3.5||4095872|
|.NET Framework 4.5.2||4098975|
|.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.1||4098971|
Windows Server 2008 R2
|.NET Framework 3.5.1||4095874|
|.NET Framework 4.5.2||4098976|
|.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.1||4096234|
|Windows Server 2008||Catalog
|.NET Framework 2.0, 3.0||4095873|
|.NET Framework 4.5.2||4098976|
|.NET Framework 4.6||4096234|
The last few .NET Framework Monthly updates are listed below for your convenience: