Sunday, August 7, 2016

What is new in .NET Framework 4.6.2?

What is new in .NET Framework 4.6.2?
.NET Framework 4.6.2

On August 2, 2016, Microsoft announced the release of .NET Framework 4.6.2. In summary the following list presents what are newly added into Microsoft .NET Framework:

1. Soft Keyboard Support (Note: Soft Keyboard support enables automatic invocation and dismissal of the touch keyboard in WPF applications without disabling WPF stylus/touch support on Windows 10.)

2. OperationContext.Current Async Improvements (Note: WCF now has the ability to include OperationContext.Current with ExecutionContext so that the OperationContext flows through asynchronous continuations. With this improvement, WCF allows CurrentContext to propagate from one thread to another thread. This means that even if there’s a context switch between calls to OperationContext.Current, it’s value will flow correctly throughout the execution of the method.)
 

3. Transport Security for Windows Cryptography Library (CNG)

4. TransportDefaults No Longer Supports SSL 3

5. DataContractJsonSerializer Improvements (Note: The DataContractJsonSerializer has been improved to better support multiple daylight saving time adjustment rules. When enabled, DataContractJsonSerializer will use the TimeZoneInfo class instead of the TimeZone class. The TimeZoneInfo class supports multiple adjustment rules, which makes it possible to work with historic time zone data. This is useful when a time zone has different daylight saving time adjustment rules, such as (UTC+2) Istanbul.)
 

6. NetNamedPipeBinding Best Match (Note: In .NET 4.6.2, NetNamedPipeBinding has been enhanced to support a new pipe lookup, known as “Best Match”. When using “Best Match”, the NetNamedPipeBinding service will force clients to search for the service listening at the best matching URI to their requested endpoint, rather than the first matching service found.)
 

7. Always Encrypted Enhancements (Note: Always Encrypted is a feature designed to protect sensitive data, such as credit card numbers or national identification numbers that are stored in a database. It allows clients to encrypt sensitive data inside client applications, never revealing the encryption keys to the database engine. As a result, Always Encrypted provides a separation between those who own the data (and can view it) and those who manage the data [but should have no access]. The .NET Framework Data Provider for SQL Server (System.Data.SqlClient) introduces two important enhancements for Always Encrypted around performance and security.)
 

8. Performance (Note: To improve performance of parameterized queries against encrypted database columns, encryption metadata for query parameters is now cached. Database clients retrieve parameter metadata from the server only once when theSqlConnection::ColumnEncryptionQueryMetadataCacheEnabled property is set to true (the default), even if the same query is called multiple times.)

9. Security (Note: Column encryption key entries in the key cache are now evicted after a configurable time interval. The time interval can be set using the SqlConnection::ColumnEncryptionKeyCacheTtl property.)


10. Async Improvements (Note: SessionStateModule and Output-Cache Module have been improved to enable async scenarios. The team is working on releasing async versions of both modules via NuGet, which will need to be imported into an existing project. Both NuGet packages are anticipated to release within the coming weeks.)

11. SessionStateModule Interfaces (Note: Session State allows you to store and retrieve user session data as a user navigates an ASP.NET site. You can now create your own async Session State Module implementation using the new ISessionStateModule interface, enabling you to store session data in your own way and use async methods.)

12. Output-Cache Module (Note: Output Caching can dramatically improve the performance of an ASP.NET application by caching the result returned from a controller action to avoid unnecessarily generating the same content for every request. You can now use async APIs with Output Caching by implementing a new interface called OutputCacheProviderAsync. Doing so will reduce thread-blocking on a web server and improve scalability of an ASP.NET service.)

13. DataAnnotation Localization (Note: Localization is now much easier when using model binding and DataAnnotiation validation. ASP.NET has adopted a simple convention for resx resource files that contain DataAnnotation validation messages: a) Located in the App_LocalResources folder and b) Follow the DataAnnotation.Localization.{locale}.resx naming convention.)
 

14. Long Path Support (MAXPATH)

15. X509 Certificates Now Support FIPS 186-3 Digital Signature Algorithm

16. Improved Usability of Elliptic Curve Diffie-Hellman Key Derivation Routines

17. Support for Persisted-Key Symmetric Encryption

18. SignedXml Support for SHA-2 Hashing

19. NullReferenceException Improvements (Note: You have probably experienced and investigated the cause of a NullReferenceException.)


20. Transport Layer Security (TLS) 1.1 and 1.2 Support

21. Client Certificate Support

22. Per-Monitor DPI Support

23. Group Sorting (Note: An application that requests a CollectionView to group data can now explicitly declare how to sort the groups. This overcomes some unintuitive ordering that can arise when the application dynamically adds or removes groups, or when the application changes the value of item properties involved in grouping. It can also improve the performance of the group creation process, by moving comparisons of the grouping properties from the sort of the full collection to the sort of the groups.)

24. The detail of updates in .NET Framework 4.6.2 is provided as in the following:

CLR

* Changed in .Net 4.6.2: Added Custom attribute to opt out of NGen with method granularity [186172]
* Changed in .Net 4.6.2: Support .NET in packaged desktop apps. [191774]
* Changed in .Net 4.6.2: Fixed incorrect result generation while comparing 16-bit signed values. [187325]
* Changed in .Net 4.6.2: Fixed a JIT optimization bug [174983]
* Changed in .Net 4.6.2: Fixed crashes due to JIT32 inlining’s handling of struct [171773]
* Changed in .Net 4.6.2: Fixed issue with incomplete PDB information when invoking ildasm. [150267]
* Changed in .Net 4.6.2: Fixed a performance regression in debug start [164437]
* Changed in .Net 4.6.2: Fixed an issue in CLR type loader that causes type load failures in rare conditions. [185570]
* Changed in .Net 4.6.2: Fixed usability issues with error message received when System.BitConverter.ToString(Byte[] value, Int32 startIndex, Int32 length) is called [100012]
* Changed in .Net 4.6.2: Performance fixes in GC [162854]
* Changed in .Net 4.6.2: Fixed stress issues in GC [161104]
* Changed in .Net 4.6.2: Fixed crashes in EventListener.DisposeOnShutdown [156238]
* Changed in .Net 4.6.2: Implement EventCounter support [150674]
* Changed in .Net 4.6.2: Fixed System.Diagnostics.Tracing.EventSource does not serialize byte[] correctly [153224]
* Changed in .Net 4.6.2: Fixed RelatedActivityID is not set properly when using EventSource's ActivityTracker [154432]
* Changed in .Net 4.6.2: Fixed [EventSource] .WriteEvent handles null strings inconsistently depending on the overload getting called [95999]
* Changed in .Net 4.6.2: Added the event name to ThrowEventSourceException message [112066]
* Changed in .Net 4.6.2: Fixed typo in EventSource resource string [118799]
* Changed in .Net 4.6.2: Fixed unexpected exceptions thrown during OnEventSourceCreated [121699]
* Changed in .Net 4.6.2: In .NET 4.6 if two event names in EventSource differ by a suffix of Start or Stop, then the EventSource will fail to construct and never emit any logging. This is now fixed. [121820]
* Changed in .Net 4.6.2: Improve Diagnostic when using RelatedActivityID in EventSource [128437]
* Changed in .Net 4.6.2: User-defined subclasses named "EventSource" can be allowed by checking that the EventSource's type is not equal to typeof(EventSource) which is the type of the built in EventSource. [125529]
* Changed in .Net 4.6.2: When a byte array is written to an Event a spurious warning is generated by EventSource, claiming that the event has a mismatch in parameter count when it does not. [166228]
* Changed in .Net 4.6.2: Fixed erroneous removal of IF condition in a finally or catch handler if the condition check exists in the exit from the try-body and entry to the try-body. [149697]
* Changed in .Net 4.6.2: Fixed a codegen bug when encountering an unbox instruction while the evaluation stack has pending evaluations that side-effect arguments of the unbox. [150586]
* Changed in .Net 4.6.2: Fix for optimization bug in the JIT component of .NET 4.6.1 may incorrectly combine branches that test bit patterns into a single branch incorrectly leading to program failure. [168744]
* Changed in .Net 4.6.2: Fix for hang in GC when ETW happens to request to walk the heap at the end of a background server GC [179589]
* Changed in .Net 4.6.2: Fixed NullReferenceException in EventSource if activity tracking is enabled. [182896]
* Changed in .Net 4.6.2: Fixed an EventSource exception indicating the maximum number of arguments has been exceeded. [191686]
* Changed in .Net 4.6.2: Added support for memory limit specified by job objects to GC. [194795]
* Changed in .Net 4.6.2: Fixed JIT Optimizer bug causing structs to be treated as reference objects instead of values objects in .Net 4.6 when targeting amd64. [194809]
* Changed in .Net 4.6.2: Fixed potential crash when the JIT generates an incorrect initialization value for an initblk and initializes memory incorrectly. [199169]
* Changed in .Net 4.6.2: Added VariableHome API for NullReferenceException improvements. [199851]
* Changed in .Net 4.6.2: Fixed [EventSource] Tags field is ignored for complex types. [205969]
* Changed in .Net 4.6.2: Allowed the debugger to determine the layout of types without an instance of the type. [211562]
* Changed in .Net 4.6.2: Reduced events are being sent for telemetry to the CLR for Windows Server OSes. [211794]
* Changed in .Net 4.6.2: Support resolving Windows Runtime references through simple name in .NET SDK. [219126]

BCL

* Changed in .Net 4.6.2: Fix RunContinuationsAscynchronously flag for all continuation types. [146618]
* Changed in .Net 4.6.2: Fixed NullReference exception if "sha1RSA" is passed to RSACryptoServiceProvider.SignHash(). [147247]
* Changed in .Net 4.6.2: Fixed “Unhandled Exception: System.Security.SecurityException: Unable to retrieve security descriptor for this frame.” in System.Security.Principal.WindowsIdentity.RunImpersonated() [149685]
* Changed in .Net 4.6.2: Removed the System.Numerics.Vectors façade from the targeting pack. If this façade is needed, add a reference to the System.Numerics.Vectors NuGet package. [120400]
* Changed in .Net 4.6.2: SignedXml now supports SHA256/384/512 signing. [125387]
* Changed in .Net 4.6.2: Added a new type called DSACng. [180229]
* Changed in .Net 4.6.2: Fixed Warnings generated during build that before required a global disable. [185846]
* Changed in .Net 4.6.2: Fixed potential threading issues with inconsistent values returned from the calls to AppContext. [181890]
* Changed in .Net 4.6.2: Framework support Unicode 8.0 for character categories. [176613]
* Changed in .Net 4.6.2: Improved interoperability with PFX files created with OpenSSL in GetECDsaPrivateKey. [171017]
* Changed in .Net 4.6.2: The ECDiffieHellman base class has been updated to provide better exposure for the hash, HMAC, and TLS-PRF key derivation methods, and the parameters they accept. [171018]
* Changed in .Net 4.6.2: Fixed System.Security.Cryptography.RSAPKCS1SignatureFormatter.ComputeSignature() and VerifySignature() failures with a NotSupportedException when an RSACng key is specified. [162556]
* Changed in .Net 4.6.2: Fixed message decryption issues in System.Security.Cryptography.Pkcs.EnvelopedCMS if the recipient certificate's private key is stored in a CNG key container. [163800]
* Changed in .Net 4.6.2: The factory method now returns SHA256Cng in FIPS-only mode. [163804]
* Changed in .Net 4.6.2: Fixed behavioral inconsistencies between .NET Core and .NET Framework 4.6 implementations of RSACng [164390]
* Changed in .Net 4.6.2: Update .NET to support packaged desktop applications. [191801]
* Changed in .Net 4.6.2: Fixed app crashes related to CompatSortNLSVersion handler initializations [191561]
* Changed in .Net 4.6.2: System.Security.Cryptography RSAOAEPKeyExchangeDeformatter, RSAOAEPKeyExchangeFormatter, RSAPKCS1KeyExchangeDeformatters and RSAPKCS1KeyExchangeFormatter no longer fail when used with a CNG key. [190217]
* Changed in .Net 4.6.2: Added support for AesCng and TripleDESCng. [187062]
* Changed in .Net 4.6.2: The DSA base class has been updated in the same manner as RSA in 4.6, and ECDsa in 4.6.1. Accessing the public/private key of a DSA certificate can be done in a type-safe manner via cert.GetDSAPublicKey()/cert.GetDSAPrivateKey(), and signing and verification operations can be done without further casting. [167883]
* Changed in .Net 4.6.2: Improved usability of error message for System.BitConverter.ToString(Byte[] value, Int32 startIndex, Int32 length). [100012]
* Changed in .Net 4.6.2: Fix in bulletin MS16-019. [145386]
* Changed in .Net 4.6.2: Fix in bulletin MS16-035. [171029]
* Changed in .Net 4.6.2: AesCng() and TripleDEScng() updated to honor optional provider value. [176670]
* Changed in .Net 4.6.2: Fixes in System.Security.Cryptography [190217] RSAOAEPKeyExchangeDeformatter RSAOAEPKeyExchangeFormatter RSAPKCS1KeyExchangeDeformatters RSAPKCS1KeyExchangeFormatter
* Changed in .Net 4.6.2: Localized RegionInfo object "BW". [194531]
* Changed in .Net 4.6.2: Fixed SignedXml.CheckSignature(X509Certificate2) will fail for DSA certs with large keys. [194760]
* Changed in .Net 4.6.2: Added support for long path names on Windows. [195340]
* Changed in .Net 4.6.2: Fixed EncryptedXml not supporting CNG certificates. [196759]
* Changed in .Net 4.6.2: Fixed AppContext switch default. [198124]
* Changed in .Net 4.6.2: Fixed string comparison hitting before the AppDomain is fully initialized. [198570]
* Changed in .Net 4.6.2: Fixed potential errors with String comparison hitting before the AppDomain is fully initialized. [199217]
* Changed in .Net 4.6.2: Added validation that AppContext defaults are correctly enabled. [200028]
* Changed in .Net 4.6.2: Fixed potential errors with String comparison hitting before the AppDomain is fully initialized. [200330] and [201338]
* Changed in .Net 4.6.2: Fixed file path syntax to correctly handle device path syntaxes (\.\, \?) [202926]
* Changed in .Net 4.6.2: Fix for StringBuilder overflow and the length becoming negative when > 2GB of data is added/inserted. [216203]

Networking

* Changed in .Net 4.6.2: Fixed a crash with Null Reference in PinnableBufferCache.Free. [144864]
* Changed in .Net 4.6.2: Fix in bulletin MS16-065. [186985]
* Changed in .Net 4.6.2: Added CNG certificate support to NCL code in System.dll. [195318]
* Changed in .Net 4.6.2: An AccessViolationException gets thrown in HttpListenerRequest.GetTlsTokenBindingRequestInfo() if the RequestBuffer of the HttpListenerRequest has been moved by the garbage collector. This AccessViolation is caused by the fact that HttpListenerRequest is dereferencing a pointer inside RequestBuffer, without adjusting the pointer address the way other HttpListenerRequest methods do. This is now fixed. [204580]

ASP.NET

* Changed in .Net 4.6.2: Fixed deadlock in AspNetSynchronizationContext [152944]
* Changed in .Net 4.6.2: Add support for sorting Model binding items by nested property names [173528]
* Changed in .Net 4.6.2: Fix Unhandled non-serializable exceptions in ASP.NET [160528]
* Changed in .Net 4.6.2: Fixed Non-interlocked update/read of 64-bit variable leads to wrong behavior. [92099]
* Changed in .Net 4.6.2: Since .NET 4.5 ASP.NET cache reports invalid size of the cache. This has been fixed. [154451]
* Changed in .Net 4.6.2: Fixed client side project compilation failure [156379]
* Changed in .Net 4.6.2: Fixed an issue with missing ".NET Memory Cache 4.0" performance counter [145677]
* Changed in .Net 4.6.2: Improve error message localization for DataAnnotationValidiation in ASP.NET model binding and Dynamic data. [176731]
* Changed in .Net 4.6.2: Enable customers using the Session State Store Providers with task returning methods. [179604]
* Changed in .Net 4.6.2: Enabling task returning methods to be used with the OutputCache Providers, to allow ASP.Net customers to get the scalability benefits of async. [187841]

WPF

* Changed in .Net 4.6.2: Nested Markup Expressions scenarios, where the parent markup extension is locally defined, have been fixed now. Developers can use markup extension within their custom defined markup extensions without causing a compiler error. [117193]
* Changed in .Net 4.6.2: Fixed potential periodic hangs or poor performance of a WPF application running on a device that has touch support. This is mostly seen when running over a touch-enabled remote desktop or other touch enabled remote access solutions. [146399]
* Changed in .Net 4.6.2: Enable automatic invocation and dismissal of the touch keyboard in WPF applications without disabling WPF stylus/touch support on Windows 10 [178044]
* Changed in .Net 4.6.2: Fixed missing glyph symbol display issues for those WPF applications that render text in the following ranges using a font that does not contain these ranges. [165725] Ranges: Unicode = "0000-052F, 0590-06FF, 0750-077F, 08A0-08FF, 1D00-1FFF, 2C60-2C7F, A720-A7FF, FB00-FB0F, FB1D-FBFF" Unicode = "FC00-FDCF, FDF0-FDFF, FE20-FE2F, FE70-FEFE"
* Changed in .Net 4.6.2: Developers of WPF applications on .NET 4.6.1 may notice that the number of promotions from a touch move event to a mouse move event do not correspond 1:1. This change ensures that there is a corresponding mouse move promotion for every applicable touch move. [169470]
* Changed in .Net 4.6.2: Enable WPF Applications to look and feel great in multi DPI environments. This means crisper text, sharper images and general polish. [191569]
* Changed in .Net 4.6.2: WPF applications that allocate large numbers of bitmaps over time can possibly see performance issues such as frequent pauses and large numbers of garbage collections. This fix changes the bitmap garbage collection strategy to help alleviate these issues. [121913]
* Changed in .Net 4.6.2: Enables enumeration of generic and themed ResourceDictionary instances, and provides a notification infrastructure for listening to loading and unloading of ResourceDictionary instances. [159740]
* Changed in .Net 4.6.2: Starting .NET 4.6, CurrentCulture or CurrentUICulture changes made by event handlers (or any other method that WPF orchestrates the dispatch for) are lost when the method completes. This can result in various unintended side-effects ranging from the selection of incorrect UI language by application code, to potential loss of state information. This fix addresses the bug described above. [157919]
* Changed in .Net 4.6.2: Fixed compilation error in situations when a locally defined custom type in a XAML resource dictionary is immediately followed by something like x:Array. [131561]
* Changed in .Net 4.6.2: Long runs of dashes are now displayed correctly, without spurious spaces. [92892]
* Changed in .Net 4.6.2: On environments where the secondary monitor is larger than the primary monitor, a WPF application won't maximize to the correct size. This is now fixed. [104034]
* Changed in .Net 4.6.2: Fixed Crash after refreshing a collection underlying a ComboBox. [125219]
* Changed in .Net 4.6.2: Fixed crash in DataGrid view. [150804]
* Changed in .Net 4.6.2: Fixed Groups not being sorted correctly after property changes. [165198]
* Changed in .Net 4.6.2: Fixed RibbonGallery being disabled. [173053]
* Changed in .Net 4.6.2: Fixed memory usage issues with printing in Windows 8 and above. [174139]
* Changed in .Net 4.6.2: Fix in bulletin MS16-035. [176941]
* Changed in .Net 4.6.2: Developers can opt-in to receiving an exception when TextBoxBase controls fail to complete a Copy or Cut operation. [177621]
* Changed in .Net 4.6.2: WPF applications being used via multi-touch enabled devices could sometimes lose mouse promotion after a multi-touch drag/drop. This occurred when users removed touch points other than the primary (or dragging) touch point first. Doing so would cause an incorrect count of active touch devices causing mouse promotion handling to be incorrect for future touch interaction. This is now fixed. [185548]
* Changed in .Net 4.6.2: WPF would previously throw an ArgumentException when a UI Automation Client queried for an unknown TextAttribute. This was causing performance issues in WPF applications on Windows 8 and above. WPF will now simply return NotSupported in response to querying an unknown TextAttribute preserving the external behavior and helping alleviate performance issues. [187764]
* Changed in .Net 4.6.2: Fix for crash that occurs when: App is running more than one dispatcher thread, First thread uses any ItemsControl, Second thread uses a Selector. While something is selected, the underlying collection raises a Reset event, or the ItemsSource changes. [190507]
* Changed in .Net 4.6.2: Per Monitor DPI Aware apps now can have their title bars scaled to the correct DPI when an app is moved from one DPI to a different one. [206796]
* Changed in .Net 4.6.2: Images created with BitmapCreateOptions=DelayCreation can now update their ImageSource by listening to the RoutedEvent DpiChanged on the Image. This event is fired before the Image is decoded, and thus the cost of decoding the image twice can be avoided. [206986]
* Changed in .Net 4.6.2: WPF apps which are Per monitor DPI aware, running on Windows 10 Anniversary Update, will not have their popup windows like Menus clipped the first time they are open on a monitor with a different DPI. [212426]
* Changed in .Net 4.6.2: Fixed for Wisptis doesn't support some scenarios in Windows 7, trying to load wisptis in certain scenarios can result in delays upon start or crashes. [215016]
* Changed in .Net 4.6.2: Fixed issues with the touch keyboard showing on controls when it should not. [222625]
* Changed in .Net 4.6.2: Fixed ArgumentException when scrolling a virtualized ItemsControl after adding new items [194726].
* Changed in .Net 4.6.2: Avoid unnecessary iteration through all items displayed in a virtualized ItemsControl with ScrollUnit=Item [202599].
* Changed in .Net 4.6.2: Fixed XPS printing crash when InvariantCulture is used. [143947]
* Changed in .Net 4.6.2: Fixed truncation of contents during copy & paste in HTML format when WPF’s DataGrid control contains full width characters, for e.g. Japanese. [104825]

WCF

* Changed in .Net 4.6.2: Added a new option for client to find best matching WCF service endpoint using NetNamePipeBinding.[157498]
* Changed in .Net 4.6.2: CryptoConfig.CreateName(string algorithm) is now updated to understand SHA256 algorithms. [195341]
* Changed in .Net 4.6.2: Fixed a reliability issue in DataContractCriticalHelper which throws as a SerializationException when reading objects concurrently. [146940]
* Changed in .Net 4.6.2: Fixed System.ServiceModel.Activation.HostedAspNetEnvironment.get_WebSocketVersion failing during WP startup. [169409]
* Changed in .Net 4.6.2: Added support for OperationContext.Current with async. [171085]
* Changed in .Net 4.6.2: Added telemetry for WCF. [172127]
* Changed in .Net 4.6.2: Fixed a race in UnescapeDefaultValue in UriTemplate::Match when using Default Values [176590]
* Changed in .Net 4.6.2: Added Support for usage of X509 certificates which are stored using the CNG key storage provider. [182182]
* Changed in .Net 4.6.2: Fix for XmlSerializer not correctly serializing with XmlText's DataType set to "time". [184091]
* Changed in .Net 4.6.2: Removed Ssl3 from the WCF TransportDefaults. [186891]
* Changed in .Net 4.6.2: Fixed DataContractJsonSerializer producing wrong date/time data after having installed KB3093503 when the time zone is (UTC+2) Istanbul. [187509]
* Changed in .Net 4.6.2: Fixed Performance in AppServices Throughput. [201205]
* Changed in .Net 4.6.2: Fixed issue that could occur with tracing enabled on WCF async service; failed call generated double OperationFaulted traces. [208167]
* Changed in .Net 4.6.2: Fix for ArgumentException when opening service host when user’s certificate has invalid key usage data. [223670]
* Changed in .Net 4.6.2: Fixed WCF SslStreamSecurity DNS Identity Check failure while targeting .NET Framework 4.6 when Alt subject is not present [182336]

Workflow

* Changed in .Net 4.6.2: Workflow designer now supports “prepared for update” dynamic update XAML [98185]
* Changed in .Net 4.6.2: Fixed a FIPS compliance issue when using workflow tracking in WF3. [181434]
* Changed in .Net 4.6.2: Added Workflow/System.Messaging/System.Transactions Telemetry. [198681]
* Changed in .Net 4.6.2: Fixed transaction failure for SQLCLR usage of System.Transactions to promote a local SQL transaction to a distributed transaction. [206276]

Windows Forms

* Changed in .Net 4.6.2: Fixed a crash in Windows Forms designer related to switching windows themes [172691]
* Changed in .Net 4.6.2: "Smart Tag" dialog processes "enter" key press properly and is same as in Visual Studio 2013 [174771]
* Changed in .Net 4.6.2: Enabled shortcut keys in the preferences dialog in mageui.exe tool [184655]
* Changed in .Net 4.6.2: A Windows Forms application that is using print preview dialog when printing to a network printer with certain non-default preferences set, can now opt in into a performance optimization that would considerably speed up the preview generation. [159091]
* Changed in .Net 4.6.2: Fixed a hang in Windows Forms app when Control.Invoke is called but the caller thread terminates before the invoke finishes [149183]
* Changed in .Net 4.6.2: Added an Application compatibility switch that fixes implementation of MemberDescriptor.Equals function so that it compares the corresponding fields, instead of comparing description field to category field. [149471]
* Changed in .Net 4.6.2: Fixed potential race condition in System.Windows.Forms.Application.ThreadContext [146065]
* Changed in .Net 4.6.2: Fixed a control in MageUI tool that is not accessible by a keyboard shortcut because the same shortcut letter is used for two controls [146678]
* Changed in .Net 4.6.2: Fixed a memory leak in Control.DrawToBitmap method. [188396]
* Changed in .Net 4.6.2: Fixed control text truncations issue in “Items Collection Editor” dialog in Visual Studio. [187716]
* Changed in .Net 4.6.2: Fixed a crash in Windows Forms Designer in Visual Studio related to adjusting TableLayoutPanel control. [190415]
* Changed in .Net 4.6.2: Fixed a crash in Windows Forms Designer in Visual Studio [190416]
* Changed in .Net 4.6.2: Fix in bulletin MS16-019. [174623]
* Changed in .Net 4.6.2: Added Long path support for Windows 10 Anniversary Update in Windows Forms. [191855]
* Changed in .Net 4.6.2: Improved reliability of Windows Forms applications [193532]
* Changed in .Net 4.6.2: Added support for CNG key providers to Mage and Mageui SDK tools [194373]
* Changed in .Net 4.6.2: Fixed printing delay in previewing the document with a network printer. [197824]
* Changed in .Net 4.6.2: Added Long path support for Windows 10 Anniversary Update in ClientConfigPath. [202970]
* Changed in .Net 4.6.2: Fixed X1 Professional Client "ok" button is gray and disabled after select Desktop in browse for folder. [207279]

SQL

* Changed in .Net 4.6.2: Added Parameter Caching and CEK TTL improvements. [200050]
* Changed in .Net 4.6.2: Removed connection pool blocking period for Azure SQL DBs. [200140]
* Changed in .Net 4.6.2: Fixed incorrect error message in SqlClient when a Command Execution fails on Azure. [201189]
* Changed in .Net 4.6.2: Disallowed WAM option in native ADAL for AAD authorization. [201411]
* Changed in .Net 4.6.2: Fix in bulletin MS16-091. [222831]
* Changed in .Net 4.6.2: Fix for a crash that may occur when the connection pool is being replenished and during replenishment of the pool, the connection to SQL server fails. [229717]

ClickOnce

* Changed in .Net 4.6.2: Added support for TLS1.1/1.2 in ClickOnce runtime. [193676]
* Changed in .Net 4.6.2: Fixed string truncations issue on ClickOnce security dialog. [176656]
* Changed in .Net 4.6.2: Added ClickOnce support for installation from web-sites that require Client Certificate to be supplied. [197343]

Active Directory Services

* Changed in .Net 4.6.2: On calls made to System.DirectoryServices.AccountManagement UserPrincipal.GetAuthorizationGroups method against an Active Directory forest which contains SID History values for migrated users, an empty GroupPrincipal will be added to the list returned by GetAuthorizationGroups for every group with a migrated user SID. [191563]

1 comment: