Skip to content

Latest commit

 

History

History
194 lines (176 loc) · 15.8 KB

dotnet461-changes.md

File metadata and controls

194 lines (176 loc) · 15.8 KB

.NET Framework 4.6.1 Release Notes

.NET Framework release notes describe product improvements grouped by product area. Each change includes a Microsoft-internal VSTS bug number, which acts as a useful unique ID for each change (can be used to report issues or when calling Microsoft Support).

Post-release servicing updates are also included, appended to the end of each product area. The following servicing updates have been included:

ASP.NET

  • TreeNode.ImageTooltip is rendered as title attribute [101518]

  • Access to WebAdminFiles re-enabled [144513]

  • Fixed 4.6 regression in DataBoundControl.PerformSelect() [145931]

  • MaintainScrollPositionOnPostBack works with zoom on Chrome [120243]

  • RegEx can be opted out for EmailAddresses, Phone, and URL attributes [142685]

  • Added a MatchTimeout property to RegularExpressionAttribute [142685]

  • In the following scenarios, ASP.NET may duplicate the cookie in response headers:

    • Before a request cookie is loaded, the response cookie is added.
    • A response cookie is added, and then a native module sets the response cookie.

    With the fix, ASP.NET makes sure that response cookies are not duplicated. [359376] [Added: May 2017]

BCL

  • System.Diagnostics.Process v4.1.0.0 supported in desktop implementation assemblies [142838]
  • System.ServiceProcess.ServiceController exposes a StartType property [145866]
  • SqlClient has retry logic for cloud service connection opening [145878]
  • SqlClient has improved multi-subnet failover connection behavior for AlwaysOn [117760]
  • HttpListener API exposes TlsUnique to support token-binding [141263]
  • Enhanced the ECDsa RedZone API [142405]
  • No overflow exception when using Level in an EventSourceListener on a Write<T> [94974]
  • No null reference exception when calling EventSource.GenerateManifest(Type, string) when an event method name ends with "Stop" [129244]
  • Added a timeout to HttpOutput when sending a message [130240]
  • More reliable connection of TCP local host with named SQL instance [130340]
  • Vector2/3/4.CopyTo throws the right exception when a null array is passed in [131600]
  • Vector2/3/4.CopyTo doesn't cause access violation when used with a negative startIndex parameter [142102]
  • Vector.CopyTo throws consistent exceptions when running with JIT intrinsics [142413]
  • Fixed access violation in Vector.CopyTo on an AVX2 machine [146428]
  • Fixed SIMD Vector.Equals on AVX [133633]
  • Vector3.Dot doesn't cause access violation when value is not stored [142555]
  • Vector4 constructor evaluates argument list left to right [142843]
  • Optimized memory usage by HttpListenerAsyncEventArgs [109754]
  • Fixed a null reference exception in XML validation [111660]
  • AppContext.BaseDirectory is configurable [142857]
  • Fixed Serbian culture date parsing issue [144893]
  • Fixed Norwegian culture date parsing issue [145872]
  • TransparentNetworkIPResolution works with more than 64 IPs in DNS [147652]
  • SqlBulkCopy works for data movement from encrypted to plain text nchar columns [149383]
  • Transparent network IP resolution works if TCP protocol isn't explicitly defined [149824]
  • Enumerating cultures yields both Persian languages [145823]
  • An archive created with System.IO.Compression.ZipFile.CreateFromDirectory preserves directory structure when unpacked on OSX [142220]
  • SqlClient always encrypted supports hardware-protected keys [116442]
  • Added support for Token Binding for server-side usage of HttpListener [119817]
  • Uri constructor doesn't throw ArgumentOutOfRangeException when parsing certain URIs with escaped international characters [123235]
  • Fixed a bug that prevented some localized text from displaying properly [145634]
  • Fixed a bug that caused the Exception Catch event to get the incorrect source line [142525]
  • When using RSACng (or another class which directly or indirectly uses RSACng) to perform encryption using RSAEncryptionPadding.Pkcs1 when the private key is stored on a smartcard (or other hardware security module) an exception of System.Security.Cryptography.CryptographicException: The parameter is incorrect. at System.Security.Cryptography.NCryptNative.DecryptData[T](SafeNCryptKeyHandle key, Byte[] data, T& paddingInfo, AsymmetricPaddingMode paddingMode, NCryptDecryptor`1 decryptor) [299303] [Added: May 2017]

CLR

  • Ngen emits debug section mapping IL to native [145669]
  • ICorProfiler implementations can apply metadata changes during rejit [145801]
  • ICorProfilerInfo API gives access to PDB content for dynamic assemblies, so profilers can show source for callstack frames [145817]
  • Fixed a x64 JIT bug in exception handling [93398]
  • Windows runtime metadata export tool allows for major assembly versions greater than 255 [101784]
  • Fixed out of order execution caused by byte packed class optimization [114744]
  • CLR writes inner exception information to event log for unhandled exceptions [119369]
  • Access violations are easier to debug [119373]
  • Fixed access violation caused by incorrect spill reload of putarg_reg(this) [134106]
  • Improved performance in EventSource manifest generation [134302]
  • Check for OS AVX support before using AVX instructions [105782]
  • Build properly fails when referring to non-generic EventHandler in public surface in managed winmd components [121641]
  • Fixed a memory leak in native CLR CBindingInput [121931]
  • Fixed a crash on attach/detach with IntelliTrace [141847]
  • Windows runtime metadata export tool allows for C# UAP WinRT project to reference a C++ UAP WinRT project that references the mobile extensions SDK [142092]
  • Fixed stack overflow in System.Numerics [143951]
  • Fixed bad value numbering for pointer math leading to incorrect CSE optimization [143960]
  • Fixed RyuJIT back-compat issue [143967]
  • Fixed a case where a function could get passed a 2^32-1 parameter value instead of -1L [144065]
  • Fixed a crash in dynamic methods using generic value type parameters [145137]
  • Fixed a memory leak in mscoreei!RuntimeRequest::ComputeVersionStringThrowing [145389]
  • Fixed garbage collection dependent handle ages [145686]
  • Fixed exception handling scopes for IL generated by Roslyn [145835]
  • Fixed incorrect result with RyuJIT and VS 2013 compiler optimizations turned on [145846]
  • Fixed garbage collection access violation in heap expand in corner cases due to slightly off pad ratio [145905]
  • Fixed app packaging resource indexer write access violation at mscoreei!ShimUtil::ReadFileVersion [147707]
  • Fixed missed cast during binary XOR operation [142659]
  • Profiling event listener sees enums as names rather than numbers [142794]
  • Fixed optimization that was incorrectly using a register value for a member variable [142798]
  • Fixed bad codegen caused by turning on GSCookie check [145632]
  • Fixed access violation in Compiler::fgValueNumberBlock while jitting [145643]
  • All floating point reg-to-reg moves use movaps instead of movss/sd [145776]
  • Added a way to facilitate specifying the ratio of compacting vs sweeping GCs [145709]
  • Free list damage count isn't incorrectly overwritten [145712]
  • Improved performance of x64 RyuJIT [145718]
  • Mitigated "insufficient memory within specified address space range" errors [145720]
  • Fixed unnecessary decommit on the ephemeral segment [145768]
  • Fixed an access violation in VB Jit32 codegen when accessing an array expanded by ReDim [142485]
  • Improved hash function for float and double in value numbering [142492]
  • Fixed an incorrect Assertionprop optimization on legacy x86 JIT that changes a negative zero into a positive zero and impacts the 32-bit Roslyn compiler [142253]
  • Improved performance of parallel binary file deserialization [141896]
  • Fixed an issue with F# applications that target FSharp.Core 3.1 and .NET 4.5.2 causing a FatalExecutionEngineException when deployed to a machine with .NET 4.6 installed [142619]
  • Fixed an issue with x64 POINTF structure passing during a tail call [145688]
  • Fixed an issue with !sos.heaptat always looking for unrooted information regardless on if the -iu switch is passed [145696]
  • EventLog entry displays the exception type and stack trace string in the proper order [145642]
  • Fixed a bug that prevented users from using NGen on non-Microsoft signed assemblies [147703]
  • X509Certificates now support Elliptic Curve Digital Signature Algorithm (ECDSA) [145702]
  • Fixed an issue that caused local variables not to show up in X++ Debugging [145571]
  • Fixed RyuJIT optimizer causing incorrect result [110557]

WCF

  • ServiceThrottle uses double-checked locking pattern for calls, sessions, and dynamic properties [96934]
  • MessageLogger.LogInternal doesn't call TraceXPathNavigator.ToString() [127642]
  • ProtocolException RoutingService to net.tcp doesn't reject all requests after end service recycles [142828]
  • Better performance on base64 strings with spaces [143785]
  • NetHttpBinding handles synchronous callback from WCF service correctly when called via WPF or WinForms app [145832]
  • Fixed a w3wp.exe crash when an exception occurs with WCF activity tracing enabled [145636]
  • Fixed a performance regression in selected large object variations [141815]
  • Binding including message credential over transport allows for messages where the To header is not signed [140756]
  • Fixed a null reference exception in System.Runtime.Serialization when ETW is enabled [105266]
  • Fixed IdentityModel.Claims to support multiple DNS entries [140718]

Windows Forms

  • CTRL+A works in multiline text boxes [145670]
  • Vertical scrollbar's Maximum is in sync with DataGridView's total height if the grid is populated while disabled [127329]
  • CancelButton or mnemonics respect Control.CausesValidation [144357]
  • Fixed a possible index out of range exception in ThreadContext when using custom MessageFilter [145665]
  • Fixed a null reference exception in System.Windows.Forms.ToolTip [145763]
  • Fixed the Categories name visibility in the Table/Columns Collection Editor when using high contrast scheme [145631]
  • Fixed several VisualStudio Designer Crashes [145639], [145710], [145652]
  • Fixed the size of the text for the Generating Previews dialog of the PrintPreviewControl from being cropped when scaling up to 500% in HDPI mode [145775]
  • Fixed the icons in the toolbox when scaling above 100% [145824]

Workflow

  • Sys.Tx APIs enable distributed transactions with a non-MSDTC coordinator [145813]
  • A user of EnlistPromotableSinglePhase can promote transactions to a non-MSDTC distributed transaction coordinator [145770, 142891, 142992]
  • System.Transaction allows for snapshot isolation for non-MSDTC promoter types [146607]
  • Sql implementation handles transient faults properly [113390]

WPF

  • Listbox items can be selected by touch on high precision touch panel [141237]
  • Underline can be applied after strikethrough [141662]
  • Fixed a crash in XAML in Xceed.Wpf.Toolkit [141966]
  • ListCollectionView with NewItemPlaceHolderPosition.AtBeginning removes the last element, not the one before it [93418]
  • Fixed an app hang case when scrolling [99716]
  • SelectedItem property in DataGrid and UI are in sync even when the selected item is off-screen [117243]
  • Fixed an exception in System.Windows.Documents.ImmComposition.OnGotFocus [117523]
  • Adding an object to the end of a collection causes correct argument to be passed to VirtualizingPanel.OnItemsChanged [130980]
  • TextRange.Save using DataFormats.Rtf exports the last block from FlowDocument [131881]
  • Fixed leak of ImmComposition objects in System.Windows.Documents.ImmComposition.GetImmComposition [133134]
  • Fixed a hang when scrolling TreeView with large indent [141179]
  • Calling window.open from WebBrowser control doesn't result in access denied script error [141608]
  • Fixed layout when item-scrolling TreeView [122337]
  • Adding an item to CompositeCollection doesn't cause ItemsControl.SelectedIndex to incorrectly increment [122826]
  • Glyph elements containing alphanumeric characters aren't always printed using MS Sans Serif [142597]
  • VisualTreeUtils.AsNonNullVisual doesn't throw argument null exception when scrolling TreeView [142874]
  • Virtualizing TreeView doesn't cause it to scroll to random positions when collapsed and expanded [142912]
  • Fixed null reference exception from DataGridCellsPanel.HasCorrectRealizedColumns [143791]
  • Fixed a crash when deleting content from RichTextBox when a drawing tablet is installed [143800]
  • XamlReader.Save doesn't add extra text when using XmlWriterSettings.Indent [147082]
  • Printed characters not blurred if the printed XPS file uses transparent colors [147123]
  • All items are printed in XPS file using transparent colors [147125]
  • Added support for custom dictionaries in spell checking [142722]
  • Restored spell checking features on Windows 10 [142577]
  • Fixed a deadlock due to reentrancy in property changed handlers [145690]
  • Fixed ReadyToRun bugs that affected managed C++ and IL assemblies [145692]
  • Xmlns entries in XAML files withoug code behind don't cause usings to be added to the next XAML file compiled [145704]
  • Fixed the rendering of certain unicode characters on Windows 10 [145727]
  • Eliminated a delay in touch events [143839]
  • Improved touch performance when manipulating image [142488]
  • Fixed a null reference exception in GridViewHeaderRowPresenter when Columns is set to null during measure [142184]
  • WPF doesn't stop promoting touch to click after digitizer is removed and reconnected while touching the digitizer [142019]
  • Fixed TextBox argument exception when using some Chinese characters [141693]
  • Improved RichTextBox typing performance on low-end GPU [141828]
  • Chrome doesn't turn black on maximize on Windows 8.1 when GlassFrameThickness is -1 [124835]
  • Fixed a case where a button click event wasn't raised after deactivating the application's window [141633]
  • RichTextBox spellcheck corrections don't create double possessives [141660]
  • Data binding for elements in a Popup don't get lost [122280]
  • DatePicker DisplayDate binding works inside DataGrid, DataTemplate, and ControlTemplate [120278]
  • Using the Binding(string) constructor doesn't degrade performance [120967]
  • Fixed a memory leak in TreeView [105337]
  • Changing IsEnabled for a parent of a TextBlock affects its contents [91119]
  • Fixed an issue with partial trust applications running on a machine with a touch device [151160]
  • Fixed a bug caused by loading multiple Microsoft Visual Studio Tools for Office (VSTO) addins on touch enabled devices [142484]
  • Fixed a bug that caused Visual Studio to hang when saving a XAML file [110669]
  • If two WPF applications that target Side by Side (SxS) .NET versions (3.5 and 4.X) are loaded in the same process issues can occur on touch/stylus enabled machines. A common example of this is loading VSTO add-ins written in WPF. This is due to an issue with choosing the correct PenIMC.dll version for each application. This fix allows WPF to properly differentiate between both DLLs and function correctly. [362710] [Added: May 2017]
  • If two WPF applications that target Side by Side (SxS) .NET versions (3.5 and 4.X) are loaded in the same process issues can occur on touch/stylus enabled machines. A common example of this is loading VSTO add-ins written in WPF. This is due to an issue with choosing the correct PenIMC.dll version for each application. This fix allows WPF to properly differentiate between both DLLs and function correctly. [377649] [Added: May 2017]
  • In some situations, it is possible that WPF attempts to process a touch/stylus input with a null StylusDevice. This can cause a NullReferenceException. This fix checks for this issue and guards against it. [378295] [Added: May 2017]
  • A WPF application with a virtualizing list control (ListBox, DataGrid, TreeView, etc.) can encounter an ArgumentNullException when scrolling to an item whose size has substantially decreased since the last time it was re-virtualized. [273803, 282662, 282664, 367282, 367285] [Added: May 2017]