192 lines
13 KiB
Markdown
192 lines
13 KiB
Markdown
.NET Framework 4.6.1 list of changes
|
|
====================================
|
|
|
|
.NET Framework 4.6.1 contains dozens of bug fixes and improvements.
|
|
This list details those changes, grouped by feature area.
|
|
Each change includes our TFS bug numbers at the end of the line.
|
|
Please include those numbers in your communication if you wish to contact us to obtain more information.
|
|
|
|
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]
|
|
|
|
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]
|
|
|
|
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]
|
|
|
|
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]
|
|
|
|
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]
|
|
|
|
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]
|
|
|
|
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]
|
|
|