mirror of
https://github.com/microsoft/dotnet.git
synced 2025-12-19 17:37:07 -05:00
Move release directory to top-level
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,293 +0,0 @@
|
||||
.NET Framework 4.6 list of changes
|
||||
==================================
|
||||
|
||||
.NET Framework 4.6 contains hundreds 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
|
||||
---
|
||||
|
||||
* AppContext values can be overridden by registry settings. [1076165]
|
||||
* Asmx service references can be added to store apps. [1078198]
|
||||
* CrossGen and NGen create identical System.Core native images. [1033601]
|
||||
* ICorProfilerCallback6 doesn't leak reference count. [1038285]
|
||||
* Loading design-time metadata at debug time for universal Windows apps is supported. [1038300]
|
||||
* Multi-core JIT doesn't deadlock from loop of structs and hang Visual Studio. [1043199]
|
||||
* ICorDebug heap enumeration doesn't skip objects. [1063297]
|
||||
* WinMDExp/CCI allow reading record kind 0x5/0x6. [1073349]
|
||||
* ETW tracing for WebRequest works reliably when garbage collection happens. [1136690]
|
||||
* Fixed a deadlock in case of StackOverflow. [1138065]
|
||||
* Improved performance reading from the redirected output stream. [997190]
|
||||
* Product version is correct in binaries' properties. [997577]
|
||||
* RyuJIT is on by default. [10175592], [1020209]
|
||||
* Only one GC/Start ETW event is triggered for each GC. [1020142]
|
||||
* Fixed issue with wrong processor architecture being recorded on non-GAC assemblies, causing them to fail loading. [1020167]
|
||||
* No opportunistic tail calls when there are pinned variables. [1020867]
|
||||
* RyuJIT correctly handles edit and continue on instance synchronized methods. [1020967]
|
||||
* Fixed x64 JIT assignment to struct, where LHS also appears on RHS. [1021056]
|
||||
* CLR checks assembly architecture when skip IL loading feature is enabled. [1024293]
|
||||
* Native images generated by CrossGen for .NET Framework have processor architecture data. [1028975]
|
||||
* CLR emits all versions of the ModuleLoad/ModuleUnload ETW events. [1029164]
|
||||
* Future DFL and FFL handled. [1030154]
|
||||
* Unresolvable SID in SDSAM handled. [1030161]
|
||||
* Crossgen / ReadyToRun images are treated as IL by CLR. [1084749]
|
||||
* Fixed a RyuJIT regression causing System.Web.HttpApplication.ExecuteStep to incorrectly handle exceptions associated with redirections. [1088278]
|
||||
* Setup doesn't disable CAPI2 event logs. [1090378]
|
||||
* WindowsBase uses C# exception filters. [1090886]
|
||||
* Libraries can define switches without modifying mscorlib. [1092007]
|
||||
* No GC regions can be specified. [1096946]
|
||||
* Fixed lock ordering violation between rejit lock and ETW rundown. [1104691]
|
||||
* NGen compresses native images on devices with limited amount of disk space. [1107517]
|
||||
* TargetFrameworkAttribute is not always null for non-default AppDomains. [430136]
|
||||
* Sos.dll dumpheap reports correct TotalSize. [484532]
|
||||
* Lc.exe can handle response files. [621761]
|
||||
* MixedMode debugging a Windows Store C# application that calls a C++/CX WinRT component doesn't cause and access violation. [764121]
|
||||
* Fixed access violation caused by WinRT class names without namespace. [738932]
|
||||
* Fixed breaking change in COR_PRF_GC_ROOT_HANDLE values. [800872]
|
||||
* Improved free list efficiency in Gen2 garbage collection. [841334]
|
||||
* Made heap_of less expensive for server GC. [896400]
|
||||
* GC datastructure isn't made unreasonably large when the new segment's address is far from the existing ones (64-bit). [897049]
|
||||
* Win32Native.MEMORYSTATUSEX is a struct, not a class. [899371]
|
||||
* Eliminated a deadlock condition in RuntimeResourceSet. [905813]
|
||||
* _Delegate* also has IDispatch vtable entries for non-generic delegates. [922080]
|
||||
* Module rundown events are generated before method rundown events, improving performance. [939400]
|
||||
* CLR returns rejit info after first rejit. [952954]
|
||||
* Fixed the performance for enums based on primitive integral types other than int while maintaining the roundtrip between 4.0 and 4.5. [965865]
|
||||
* .NET Framework Setup UI correctly scales controls in high DPI. [968115]
|
||||
* SIMD types in System.Numerics.dll are recognized by the JIT. [1168471]
|
||||
|
||||
BCL
|
||||
---
|
||||
|
||||
* Projected DirectX value types can be marshalled to WinRT. [1166515]
|
||||
* New WeakReference<T>() doesn't cause COMException. [973791]
|
||||
* Persian calendar is a supported formatting calendar, correctly handles part of day formatting, and uses correct era names. [1068336], [1117304], [1154104], [1087763]
|
||||
* DateTime Parse and TryParse behave the same on en-CA culture. [1117950]
|
||||
* AAD has integrated check for the pooled connection. [1118488]
|
||||
* French and Norwegian culture display name includes proper Unicode characters. [1147042]
|
||||
* ConcurrentDictionary serialization format changed, but is upwards compatible from .NET Framework 4.5 to .NET Framework 4.6. [1167398]
|
||||
* SqlBulkCopy truncates data before encrypting. [1159595]
|
||||
* GetProviderSpecificValue returns proper data type for encrypted columns when underlying data is null. [1159595]
|
||||
* French and Norwegian culture display name includes proper Unicode characters. [1147042]
|
||||
* X509Certificate2 supports Cng key pairs. [1158068], [1129677]
|
||||
* GDI+ reentrant paint operations fixed. [1075715]
|
||||
* System.Diagnostics.ProcessStartInfo can be deserialized. [1076704]
|
||||
* Culture resources added for newly supported Windows cultures. [1038210]
|
||||
* Current culture and UI culture travel through async calls. [1038253]
|
||||
* new TaskCompletionSource<T>(null, TaskCreationOptions.RunContinuationsAsynchronously) doesn't throw ArgumentOutOfRangeException. [1042823]
|
||||
* WebSockets server doesn't cause false positive AccessViolation exceptions. [1064642]
|
||||
* FrameworkEventSource doesn't crash on Windows 7. [1067139]
|
||||
* EventSource.DecodeObject doesn't cause a crash on application launch. [1070394]
|
||||
* GetCurrentProcess() doesn't throw a SecurityException in a partial trust component. [1071695]
|
||||
* TimeZoneInfo correctly handles start and end of year transitions. [1072355]
|
||||
* Connections made using SPN in managed code don't fail with index out of range exception. [1120248]
|
||||
* XSD schema validation detects violation of unique constraint if compound key is used and one is empty. [1122756]
|
||||
* SqlSessionStateStore logs exception details when partition resolver is used. [1123428]
|
||||
* XsdDataContractImporter.Import method doesn't throw InvalidDataContractException when CanImport method returns true. [1124661]
|
||||
* RangeCheck enforces practical limits in order to avoid stack overflow. [1127981]
|
||||
* NetTcp with X509 certificates using SslStream allow negotiation for more secure cipher suites. [1128085]
|
||||
* TrustManager doesn't cause false warnings when comparing certificates. [1134066]
|
||||
* SqlBulkCopy works with TCE enabled columns. [1134668]
|
||||
* System.Runtime.Serialization.Primitives expose new public read-only properties for previously internal data contract attributes. [1136078]
|
||||
* Attribute.GetCustomAttributes doesn't throw AmbiguousMatchException when parameter types can disambiguate. [976721]
|
||||
* WinRtToNetFxStreamAdapter implements SetLength correctly. [977936]
|
||||
* Improved performance of System.IO.Path.GetFullPath and NormalizePath. [989059], [989062]
|
||||
* Improved performance of System.Version.ToString and TryParseVersion. [989081], [989086]
|
||||
* Security attributes added to Microsoft.JScriptEngine [991436]
|
||||
* ControlVersionInfo.ProductVersion doesn't throw null reference exception. [997521]
|
||||
* Encoding.GetEncoding gives clues about failure causes. [997703]
|
||||
* Introduced 1, 2, and 3-argument overloads of String.Format with IFormatProvider first argument to improve performance. [999405]
|
||||
* MemoryCache.AddOrGetExisting() checks the right expiration date. [999957]
|
||||
* Exception.Data on Windows 8 includes IRestrictedErrorInfo information. [1000662]
|
||||
* ReflectionModelServices.IsExportFactoryImportDefinition doesn't throw ArgumentException. [1005218]
|
||||
* Private GetRuntimeResourceString method added back to maintain compatibility of CompositeC1 CMS. [1005727]
|
||||
* AppDomainSetup.DynamicBase supported with UseRandomizedStringHashAlgorithm. [1008953]
|
||||
* Win32Exception shows a generic error message for messages longer than 256 characters. [1013367]
|
||||
* PreAuthenticate cache is effective beyond 100 URLs. [1014364]
|
||||
* CngKey members such as IsEphemeral don't throw CryptographicException on unsupported properties. [1014482]
|
||||
* Removed contention at BufferOutputAsyncStream for self-hosted WCF restful service using transfermode as Streamed. [1015747]
|
||||
* Added Array.Empty<T>() to help avoid unnecessary allocations. [1020141]
|
||||
* HttpWebRequest succeeds when used with tracing against HTTPS endpoints with elliptic curve cryptography. [1020499]
|
||||
* JIT array of Single not initialized with Double values. [1027378]
|
||||
* Parallel.Invoke with one delegate executes on the current thread instead of queueing the work. [1027413]
|
||||
* SortOption uses the SortDirection passed in the constructor. [1030167]
|
||||
* Fixed timezone conversion in cases when year start or end with daylight savings wasn't correctly handled. [1079914]
|
||||
* Fixed AssemblyInformationalVersion. [1082536]
|
||||
* Fixed serialization and de-serialization of DateTime with daylight savings and special values. [1087198]
|
||||
* IO exceptions moved to System.Runtime. [1090978]
|
||||
* CultureInfo.CurrentCulture setter works in APPX mode. [1091999]
|
||||
* ParameterBuilder.SetConstant(null) doesn't throw argument exception for a nullable value type's default value. [1098429]
|
||||
* GetClassLayout can be called from rejit instrumentation. [1101065]
|
||||
* GetTypeForTypeID doesn't lock exe of the process being debugged. [1101402]
|
||||
* Euro is now the currency for Lithuania. [1102772]
|
||||
* Idnhost property of Uri class is now public. [1103357]
|
||||
* Fixed issues from initial use of EventSource's activity tracing capability. [1103452]
|
||||
* Fixed SqlHierarchyId operation failure due to invalid binary string. [1106619]
|
||||
* ToolboxItem.Equals optimized. [1106966]
|
||||
* Removed AppVerifier false positives in ISAPI mode. [1108193]
|
||||
* SQL connection strings greater than 779 characters don't cause application crash. [1109784]
|
||||
* Improved debuggability when users create incorrect EventSources. [1109972]
|
||||
* AsyncLocal<T>.Value doesn't lose value when ExecutionContext is modified inside an async method. [1111403]
|
||||
* Removed unused BinaryCompatibility.TargetsAtLeast_Desktop_v4_5_3 from System.Diagnostics.Eventing.EventSource and System.Xml. [1111861]
|
||||
* SqlException can be caught. [1112280]
|
||||
* System.Windows.Diagnostics.VisualDiagnostics.GetXamlSourceInfo supports non-DependencyObjects. [1116127]
|
||||
* CancellationToken.Register doesn't throw ObjectDisposedException when its CancellationTokenSource is disposed. [369196]
|
||||
* System.IO.Path performance improved by not boxing characters and then calling ToString. [467858]
|
||||
* Subdomain cookies are correctly handled by CookieContainer. [520819]
|
||||
* Decimal parsing can handle [-]0eN where N > 0. [568475]
|
||||
* Fixed Lybian time zone daylight savings initial transition. [698652]
|
||||
* Made BinaryCompatibility internal. [808512]
|
||||
* Fixed InvalidDataException when using ZipArchive.GetEntry. [823402]
|
||||
* Improved performance of System.Guid.ToString by using fast string allocation instead of new char[]. [825882]
|
||||
* System.Threading.Gen2GcCallback finalizer checks for uninitialized GCHandle before using it. [837365]
|
||||
* Fixed four unlocalized strings in DAN and JPN cultures. [840067]
|
||||
* XmlEncodeRawTextWriter and XmlUTF8RawTextWriter are checking for invalid surrogate pairs correctly. [851030]
|
||||
* Implemented public static unsafe Buffer.MemoryCopy. [862315]
|
||||
* Improved performance of String.Format and StringBuilder.AppendFormat by avoiding object array allocations. [915876]
|
||||
* Removed a bottleneck in System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid by removing a lock. [921828]
|
||||
* DpapiDataProtector doesn't fail because of SHA256.Create() when FIPS compliance is mandatory. [923431]
|
||||
* Improved System.Design!System.ComponentModel.MenuCommandService.FindCommand by avoiding the boxing of Guids. [925312]
|
||||
* Eliminated implicit allocationof WaitCallback objects by caching the delegate in a static field. [925992]
|
||||
* Eliminated a hang in HttpClient when an exception is thrown during BeginRequestStream. [926740]
|
||||
* Unix date time strings are now supported through DateTimeOffset.FromUnixTimeSeconds, FromUnixTimeMilliseconds, and ToUnixTimeMilliseconds. [933584]
|
||||
* Improved performance by using StringBuilderCache in Environment.GetEnvironmentVariable. [934009]
|
||||
* Fixed ArgumentOutOfRangeException in IPAddress.MapToIPv4(). [944709]
|
||||
* Read-only interfaces are implemented on collection types HashSet<T>, LinkedList<T>, Queue<T>, SortedDictionary<TKey, TValue>, SortedList<TKey, TValue>, SortedSet<T>, and Stack<T>. [944715]
|
||||
* AddOnSendingHeaders doesn't fire prematurely. [952802]
|
||||
* EventSource doesn't aggressively fail when using reserved keywords. [955350]
|
||||
* Eliminated a leak when calling IReflect.InvokeMemberon a native IDispatchEX implementation through IReflect or IExpando. [957933]
|
||||
* IsolatedStorage feature works when configured to place storage on roaming profiles. [961127]
|
||||
* Text encoding is extensible. [963034]
|
||||
* Fixed the size of Vector<T>. [1020874]
|
||||
* System.Drawing.Icon.ToBitmap() supports PNG framed icons. [1084802]
|
||||
* Uri constructor doesn't throw ArgumentOutOfRangeException when parsing certain URIs with escaped international characters. [1173958]
|
||||
|
||||
ASP.NET
|
||||
-------
|
||||
|
||||
* State Service startup type is correctly persisted. [1038077]
|
||||
* Registry settings preserved during upgrade. [1038147]
|
||||
* Medium trust in ASP.NET 4.5 application doesn't cause execution permission exception. [1038337]
|
||||
* WebForm_DoCallback XHR doesn't break IDN support. [1040710]
|
||||
* .NET quirks and compatibility switches can be specified in ASP.NET configuration file. [1041102]
|
||||
* SignalR memory leak fixed. [1042247]
|
||||
* Quirks can be activated from ASP.NET even when a TFM is not specified. [1068433]
|
||||
* Membership UpdateUser and UpdateUserInfo don't cause SQL deadlock. [1131099]
|
||||
* Handles aborted XmlHttpRequest correctly. [983362]
|
||||
* ASP.NET allows config settings changes to affect CLR initialization. [994276]
|
||||
* HttpEncoder.UrlPathEncode doesn't encode the IDN part of the URL. [995259]
|
||||
* WebUIValidation.js correctly mapped on WebDev.WebServer 4.5.3. [998958]
|
||||
* Background flushes don't cause pipeline corruptions when using the TAP-friendly synchronization context. [1020085]
|
||||
* ASP.NET recognizes Edge browser. [1031688]
|
||||
* Databinding methods can be used in async binding. [1082492]
|
||||
* Removed a contention in System.Web.BufferAllocator. [1084913]
|
||||
* Setting request headers doesn't initialize ServerVariables. [1085748]
|
||||
* Fixed a crash in IIS Manager when opening content view. [1093488]
|
||||
* New web site template doesn't cause warnings. [1099514]
|
||||
* Browsing to an asmx file or wsdl with an IDN binding set in IIS doesn't cause a URI parsing exception. [110223]
|
||||
* Request validation can be completely disabled in an application. [412689]
|
||||
* EmailAddress attribute can load error message from resource. [468241]
|
||||
* GridView.CreateChildControl returns the correct CreatedRowCount when CustomPaging is enabled. [782891]
|
||||
* Custom output cache providers don't cause exception on cache policy settings serialization when more than one invalidation handler is present. [789904]
|
||||
* VaryByContentEncoding is now case-insensitive. [830641]
|
||||
* HttpContextWrapper.IsPostNotification returns the correct value based on pipeline event. [839206]
|
||||
* HtmlTextWriter renders <br/> element as self-closing tag. [852940]
|
||||
* Posting invalid payload to ASP.NET with trace and 4.0 request validation enabled doesn't crash the worker process. [867196]
|
||||
* MemoryCache doesn't throw null reference expression when CacheItemPolicy.UpdateCallback is defined. [879799]
|
||||
* DiskBuildResultCache.CacheBuildResult has a null check for CompiledResult.ResultAssembly. [880034]
|
||||
* ContentDisposition constructor doesn't modify date values of the provided disposition string. [884362]
|
||||
* Calling MachineKey.Decode on ASP.NET application start or on first request doesn't throw null reference exception. [896595]
|
||||
* MemoryCache Trim method evicts all items. [902234]
|
||||
* Overloads of HttpUtility.UrlEncode and UrlEncodeToBytes taking (byte[] bytes, int offset, int count) respects the offset and count parameter values. [912606]
|
||||
* Setting culture to auto:* in web.config doesn't cause CultureNotFoundException. [714999]
|
||||
|
||||
WPF
|
||||
---
|
||||
|
||||
* Selecting a XAML element with an empty start tag doesn't select its first child instead. [1117943]
|
||||
* Retrieving the font family name for DengXian in WPF doesn't cause an argument exception. [1153238]
|
||||
* Data grid row headers can be right-clicked without changing the current row selection. [1064465]
|
||||
* GlyphRun.InkBoundingBox() and FormattedText.Extent return the same values. [1068545]
|
||||
* RibbonGroup background is not transparent. [1119792], [1119821]
|
||||
* PrintQueue.GetPrintCapabilities doesn't cause memory leak. [1134697]
|
||||
* TreeView doesn't scroll to random position when nodes are expanded and collapsed repeatedly. [1137957]
|
||||
* Running MultipleTopWindows cross AppDomain on Windows 8 and 10 doesn't throw. [1138471]
|
||||
* Debugging WPF in browser application doesn't cause SecurityException in PresentationFramework.dll. [1145697]
|
||||
* List virtualization doesn't cause crash in GitHub for Windows. [992770]
|
||||
* Scrolling in virtualized DataGrid with items of different heights doesn't cause ArgumentNullException. [996725]
|
||||
* WriteableBitmap isn't causing leaks of CWriteProtectedBitmap virtual memory. [997584]
|
||||
* Selection doesn't incorrectly include the previously selected item when moving selection of ListBoxItem bound to ObservableCleection<T>. [999613]
|
||||
* Fixed a UI thread deadlock in pen input code. [1010998]
|
||||
* Margins set in sections in FlowDocuments are respected. [1104560]
|
||||
* Scaling doesn't suffer from rounding errors on odd DPI. [1104807]
|
||||
* Improved thread safety when loading the same XAML resource for the first time in multiple UI threads. [12520]
|
||||
* Touch and stylus events don't stop firing after disconnecting then reconnecting to a remote desktop session. [659672]
|
||||
* Fixed a bouncing scrollbar with custom WPF DataTemplate. [759702]
|
||||
* GetFixedDocumentSequence doesn't throw with error message "UnicodeString property does not contain enough characters to correspond to the contents of Indices property." [796882]
|
||||
* Fixed slow and jumping WPF TreeView issue. [810163]
|
||||
* Fixed overflow exception in WPF System.ServiceModel.Channels.TransmissionStrategy.AddToWindow. [811734]
|
||||
* Fixed InvalidOperationException in multithread application by synchronizing access to the static Stack<> that holds SerializationContext for recycling. [834091]
|
||||
* Snapping and unsnapping the keyboard on a Surface Pro doesn't cause null reference exception in WPF touch input stack. [839668]
|
||||
* TreeView doesn't vanish after node collapse and expand. [888530]
|
||||
* Selected items in a WPF ListBox or ListView control are correct when items.refresh is called from code behind. [945407]
|
||||
* Fixed performance regression in WPF applications caused by the loading of three additional assemblies. [946388]
|
||||
* XamlBuildTask doesn't sporadically report error "Object '<generated-name>' has been disconnected or does not exist at the server" on TFS builds. [955825]
|
||||
* Fixed exception at CaretElement.ConvertToInt32 in WPF TextBox.Focus. [958636]
|
||||
* WPF uses the most recent distance threshold from the registry for recognizing double taps. [959263]
|
||||
* WPF allows for transparent child windows. [959266]
|
||||
* Fixed FlowDocument exception "this TextNavigator has no scoping text element." [960678]
|
||||
* FlowDocument preserves spaces after being saved using XamlWrite. [960699]
|
||||
* Improved UI scrolling when using a virtualized ListView with a pixel scroll unit. [965665]
|
||||
* Fixed null reference exceptions in WPF System.Windows.Controls.ItemContainerGenerator.ContainerFromIndex. [966623]
|
||||
* Improved touch services. [971187]
|
||||
* Fixed RichTextBox spell checking issue with possessives. [1170165]
|
||||
* Window chrome doesn't turn black on maximize with GlassFrameThickness -1. [1176703]
|
||||
* Improved RichTextBox typing performance on low-end GPUs. [1177602]
|
||||
* Applications continue to promote touch events to click after digitizer is removed and reconnected while touching the digitizer. [1186170]
|
||||
|
||||
WCF
|
||||
---
|
||||
|
||||
* Adding a service reference to a class library doesn't cause compilation errors. [1063611]
|
||||
* CustomBinding honors security header layout mode of Lax / LaxTimeStampLast. [1136398]
|
||||
* DataContractSerializer doesn't throw InvalidCastException on StringDictionary serialization. [1008489]
|
||||
* Fixed that WCF friendly instance names limited to 64 characters could cause false duplicates as instance names support up to 128 characters. [1022700]
|
||||
* Roles.GetRolesForUser() doesn't throw NullReferenceException in a WCF service hosted in ASP.NET with the AspNetCompatibilityEnabled flag set to false. [1022754]
|
||||
* ProcessMessage31 uses cached delegate for ProcessMessage4. [1030713]
|
||||
* System.ServiceModel.Syndication.SyndicationFeed can parse <source url="..."/>. [1088425]
|
||||
* Client certificate information is added as claim by default. [1103426]
|
||||
* Warning message added if users enable "wcf:ensureUniquePerformanceCounterInstanceNames" app setting without the user hosting the service having the proper permissions. [1108004]
|
||||
* Fixed null reference and access violation exceptions in System.ServiceModel.Channels.MessageHeaders.GetBufferedMessageHeaderReaderAtHeaderContents. [1116949]
|
||||
* WebResponseInputStream doesn't swallow the exception stating that the stream doesn't support read timeouts. [288814]
|
||||
* Auto-generated help produces correct links. [852865]
|
||||
* Added a keep-alive timeout on WCF ServiceHost. [948289]
|
||||
* Fixed a null reference exception in System.Runtime.Serialization when ETW is enabled. [1137758]
|
||||
|
||||
Entity Framework
|
||||
----------------
|
||||
|
||||
* Entity data source can be configured without causing an exception about the provider not returning a ProviderManifest instance. [810937]
|
||||
|
||||
Workflow
|
||||
--------
|
||||
|
||||
* WorkflowService design-time validation can be cancelled. [1162560]
|
||||
* ActivityExecutor.OnExecuteWorkItem has improved performance on RyuJIT. [1136333], [1136377]
|
||||
* Improvements to out-of-sequence calls in WF State Machine [1018947]
|
||||
* Added synchronization to DynamicModuleManager to prevent debugger from crashing the debugged application. [1112002]
|
||||
* Default TransactionException extended to include the distributed transaction ID in error message. [954268]
|
||||
* Workflow Foundation implementation for SQL better handles transient database errors. [1152472]
|
||||
|
||||
Windows Forms
|
||||
-------------
|
||||
|
||||
* Icon.ToBitmap() supports PNG framed icons. [1074253]
|
||||
* Adding large image to resource file doesn't cause error in 300% high DPI mode. [1096726]
|
||||
* System.Windows.Input.Cursor supports multi-image cursor files. [673619]
|
||||
* Closing a parent form in MDI applications doesn't throw System.ComponentModel.Win32Exception (Error creating window handle) [847648]
|
||||
* Fixed a null reference exception when messages continue arriving after a native tooltip window has been disposed. [933930]
|
||||
* Using custom MessageFilter doesn't cause sporadic IndexOutOfRangeException in ThreadContext. [1072924]
|
||||
* WIT grid's sorting arrows scale for high DPI. [745286]
|
||||
* NumericUpDown scroll buttons scale for high DPI. [906184]
|
||||
@@ -1,134 +0,0 @@
|
||||
```diff
|
||||
---C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6
|
||||
+++C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1
|
||||
namespace System.ComponentModel.DataAnnotations {
|
||||
public class RegularExpressionAttribute : ValidationAttribute {
|
||||
+ public int MatchTimeoutInMilliseconds { get; set; }
|
||||
}
|
||||
}
|
||||
namespace System.Data.SqlClient {
|
||||
public enum SqlBulkCopyOptions {
|
||||
+ AllowEncryptedValueModifications = 64,
|
||||
}
|
||||
public sealed class SqlColumnEncryptionCertificateStoreProvider : SqlColumnEncryptionKeyStoreProvider {
|
||||
+ public const string ProviderName = "MSSQL_CERTIFICATE_STORE";
|
||||
}
|
||||
+ public class SqlColumnEncryptionCngProvider : SqlColumnEncryptionKeyStoreProvider {
|
||||
+ public const string ProviderName = "MSSQL_CNG_STORE";
|
||||
+ public SqlColumnEncryptionCngProvider();
|
||||
+ public override byte[] DecryptColumnEncryptionKey(string masterKeyPath, string encryptionAlgorithm, byte[] encryptedColumnEncryptionKey);
|
||||
+ public override byte[] EncryptColumnEncryptionKey(string masterKeyPath, string encryptionAlgorithm, byte[] columnEncryptionKey);
|
||||
}
|
||||
+ public class SqlColumnEncryptionCspProvider : SqlColumnEncryptionKeyStoreProvider {
|
||||
+ public const string ProviderName = "MSSQL_CSP_PROVIDER";
|
||||
+ public SqlColumnEncryptionCspProvider();
|
||||
+ public override byte[] DecryptColumnEncryptionKey(string masterKeyPath, string encryptionAlgorithm, byte[] encryptedColumnEncryptionKey);
|
||||
+ public override byte[] EncryptColumnEncryptionKey(string masterKeyPath, string encryptionAlgorithm, byte[] columnEncryptionKey);
|
||||
}
|
||||
public sealed class SqlConnectionStringBuilder : DbConnectionStringBuilder {
|
||||
+ public bool TransparentNetworkIPResolution { get; set; }
|
||||
}
|
||||
}
|
||||
namespace System.Diagnostics {
|
||||
public sealed class ProcessStartInfo {
|
||||
+ public string PasswordInClearText { get; set; }
|
||||
}
|
||||
}
|
||||
namespace System.Drawing.Design {
|
||||
public class ToolboxItem : ISerializable {
|
||||
+ public Bitmap OriginalBitmap { get; set; }
|
||||
}
|
||||
}
|
||||
namespace System.Net {
|
||||
public abstract class TransportContext {
|
||||
+ public virtual IEnumerable<TokenBinding> GetTlsTokenBindings();
|
||||
}
|
||||
}
|
||||
namespace System.Security.Authentication.ExtendedProtection {
|
||||
+ public class TokenBinding {
|
||||
+ public TokenBindingType BindingType { get; }
|
||||
+ public byte[] GetRawTokenBindingId();
|
||||
}
|
||||
+ public enum TokenBindingType {
|
||||
+ Provided = 0,
|
||||
+ Referred = 1,
|
||||
}
|
||||
}
|
||||
namespace System.Security.Cryptography {
|
||||
public abstract class ECDsa : AsymmetricAlgorithm {
|
||||
+ protected virtual byte[] HashData(byte[] data, int offset, int count, HashAlgorithmName hashAlgorithm);
|
||||
+ protected virtual byte[] HashData(Stream data, HashAlgorithmName hashAlgorithm);
|
||||
+ public virtual byte[] SignData(byte[] data, int offset, int count, HashAlgorithmName hashAlgorithm);
|
||||
+ public virtual byte[] SignData(byte[] data, HashAlgorithmName hashAlgorithm);
|
||||
+ public virtual byte[] SignData(Stream data, HashAlgorithmName hashAlgorithm);
|
||||
+ public bool VerifyData(byte[] data, byte[] signature, HashAlgorithmName hashAlgorithm);
|
||||
+ public virtual bool VerifyData(byte[] data, int offset, int count, byte[] signature, HashAlgorithmName hashAlgorithm);
|
||||
+ public bool VerifyData(Stream data, byte[] signature, HashAlgorithmName hashAlgorithm);
|
||||
}
|
||||
public sealed class ECDsaCng : ECDsa {
|
||||
+ protected override byte[] HashData(byte[] data, int offset, int count, HashAlgorithmName hashAlgorithm);
|
||||
+ protected override byte[] HashData(Stream data, HashAlgorithmName hashAlgorithm);
|
||||
}
|
||||
}
|
||||
namespace System.Security.Cryptography.X509Certificates {
|
||||
+ public static class ECDsaCertificateExtensions {
|
||||
+ public static ECDsa GetECDsaPrivateKey(this X509Certificate2 certificate);
|
||||
+ public static ECDsa GetECDsaPublicKey(this X509Certificate2 certificate);
|
||||
}
|
||||
public enum X509ChainStatusFlags {
|
||||
+ ExplicitDistrust = 67108864,
|
||||
+ HasNotSupportedCriticalExtension = 134217728,
|
||||
+ HasWeakSignature = 1048576,
|
||||
}
|
||||
}
|
||||
namespace System.ServiceProcess {
|
||||
public class ServiceController : Component {
|
||||
+ public ServiceStartMode StartType { get; }
|
||||
}
|
||||
public enum ServiceStartMode {
|
||||
+ Boot = 0,
|
||||
+ System = 1,
|
||||
}
|
||||
}
|
||||
namespace System.Transactions {
|
||||
public class Transaction : IDisposable, ISerializable {
|
||||
+ public Guid PromoterType { get; }
|
||||
+ public bool EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Guid promoterType);
|
||||
+ public byte[] GetPromotedToken();
|
||||
+ public void SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification promotableNotification, Guid distributedTransactionIdentifier);
|
||||
}
|
||||
public static class TransactionInterop {
|
||||
+ public static readonly Guid PromoterTypeDtc;
|
||||
}
|
||||
}
|
||||
namespace System.Web.Security {
|
||||
public class MembershipPasswordAttribute : ValidationAttribute {
|
||||
+ public Nullable<int> PasswordStrengthRegexTimeout { get; set; }
|
||||
}
|
||||
}
|
||||
namespace System.Web.UI.WebControls {
|
||||
public class RegularExpressionValidator : BaseValidator {
|
||||
+ public Nullable<int> MatchTimeout { get; set; }
|
||||
}
|
||||
}
|
||||
namespace System.Windows {
|
||||
public sealed class TextDecorationCollection : Animatable, ICollection, ICollection<TextDecoration>, IEnumerable, IEnumerable<TextDecoration>, IList, IList<TextDecoration> {
|
||||
+ public bool TryRemove(IEnumerable<TextDecoration> textDecorations, out TextDecorationCollection result);
|
||||
}
|
||||
}
|
||||
namespace System.Windows.Controls {
|
||||
public class ScrollViewer : ContentControl {
|
||||
+ protected override void OnStylusSystemGesture(StylusSystemGestureEventArgs e);
|
||||
}
|
||||
}
|
||||
namespace System.Windows.Forms {
|
||||
public class TextBox : TextBoxBase {
|
||||
+ protected override bool ProcessCmdKey(ref Message m, Keys keyData);
|
||||
}
|
||||
}
|
||||
namespace System.Xaml {
|
||||
public class XamlObjectWriterSettings : XamlWriterSettings {
|
||||
+ public Uri SourceBamlUri { get; set; }
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -1,191 +0,0 @@
|
||||
.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]
|
||||
|
||||
Reference in New Issue
Block a user