diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2.md new file mode 100644 index 00000000..20f26e0c --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2.md @@ -0,0 +1,39 @@ +# API Difference netcoreapp3.1 vs netcore5.0-preview2 + +API listing follows standard diff formatting. Lines preceded by a '+' are +additions and a '-' indicates removal. + +* [Microsoft.VisualBasic](5.0-preview2_Microsoft.VisualBasic.md) +* [Microsoft.VisualBasic.CompilerServices](5.0-preview2_Microsoft.VisualBasic.CompilerServices.md) +* [Microsoft.Win32.SafeHandles](5.0-preview2_Microsoft.Win32.SafeHandles.md) +* [System](5.0-preview2_System.md) +* [System.Buffers](5.0-preview2_System.Buffers.md) +* [System.Buffers.Binary](5.0-preview2_System.Buffers.Binary.md) +* [System.Collections.Concurrent](5.0-preview2_System.Collections.Concurrent.md) +* [System.Collections.Generic](5.0-preview2_System.Collections.Generic.md) +* [System.Collections.Immutable](5.0-preview2_System.Collections.Immutable.md) +* [System.Data.Common](5.0-preview2_System.Data.Common.md) +* [System.Globalization](5.0-preview2_System.Globalization.md) +* [System.IO](5.0-preview2_System.IO.md) +* [System.IO.Pipes](5.0-preview2_System.IO.Pipes.md) +* [System.Linq](5.0-preview2_System.Linq.md) +* [System.Net](5.0-preview2_System.Net.md) +* [System.Net.Http](5.0-preview2_System.Net.Http.md) +* [System.Net.Mail](5.0-preview2_System.Net.Mail.md) +* [System.Net.NetworkInformation](5.0-preview2_System.Net.NetworkInformation.md) +* [System.Net.Security](5.0-preview2_System.Net.Security.md) +* [System.Net.Sockets](5.0-preview2_System.Net.Sockets.md) +* [System.Runtime.CompilerServices](5.0-preview2_System.Runtime.CompilerServices.md) +* [System.Runtime.ExceptionServices](5.0-preview2_System.Runtime.ExceptionServices.md) +* [System.Runtime.InteropServices](5.0-preview2_System.Runtime.InteropServices.md) +* [System.Runtime.Intrinsics](5.0-preview2_System.Runtime.Intrinsics.md) +* [System.Security.Cryptography](5.0-preview2_System.Security.Cryptography.md) +* [System.Security.Cryptography.X509Certificates](5.0-preview2_System.Security.Cryptography.X509Certificates.md) +* [System.Text](5.0-preview2_System.Text.md) +* [System.Text.Json](5.0-preview2_System.Text.Json.md) +* [System.Text.Json.Serialization](5.0-preview2_System.Text.Json.Serialization.md) +* [System.Text.RegularExpressions](5.0-preview2_System.Text.RegularExpressions.md) +* [System.Threading](5.0-preview2_System.Threading.md) +* [System.Threading.Channels](5.0-preview2_System.Threading.Channels.md) +* [System.Threading.Tasks](5.0-preview2_System.Threading.Tasks.md) + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_Microsoft.VisualBasic.CompilerServices.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_Microsoft.VisualBasic.CompilerServices.md new file mode 100644 index 00000000..c07ba04f --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_Microsoft.VisualBasic.CompilerServices.md @@ -0,0 +1,10 @@ +# Microsoft.VisualBasic.CompilerServices + +``` diff + namespace Microsoft.VisualBasic.CompilerServices { + public sealed class Utils { ++ public static string GetResourceString(string ResourceKey, params string[] Args); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_Microsoft.VisualBasic.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_Microsoft.VisualBasic.md new file mode 100644 index 00000000..054053fb --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_Microsoft.VisualBasic.md @@ -0,0 +1,33 @@ +# Microsoft.VisualBasic + +``` diff + namespace Microsoft.VisualBasic { + public sealed class ErrObject { ++ public int HelpContext { get; set; } ++ public string HelpFile { get; set; } ++ public string Source { get; set; } + } + public sealed class Information { ++ public static int Erl(); + } + public sealed class Interaction { ++ public static void AppActivate(int ProcessId); ++ public static void AppActivate(string Title); ++ public static object Choose(double Index, params object[] Choice); ++ public static string Command(); ++ public static void DeleteSetting(string AppName, string Section = null, string Key = null); ++ public static string Environ(int Expression); ++ public static string Environ(string Expression); ++ public static string[,] GetAllSettings(string AppName, string Section); ++ public static object GetObject(string PathName = null, string Class = null); ++ public static string GetSetting(string AppName, string Section, string Key, string Default = ""); ++ public static string InputBox(string Prompt, string Title = "", string DefaultResponse = "", int XPos = -1, int YPos = -1); ++ public static MsgBoxResult MsgBox(object Prompt, MsgBoxStyle Buttons = MsgBoxStyle.ApplicationModal, object Title = null); ++ public static string Partition(long Number, long Start, long Stop, long Interval); ++ public static void SaveSetting(string AppName, string Section, string Key, string Setting); ++ public static int Shell(string PathName, AppWinStyle Style = AppWinStyle.MinimizedFocus, bool Wait = false, int Timeout = -1); ++ public static object Switch(params object[] VarExpr); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_Microsoft.Win32.SafeHandles.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_Microsoft.Win32.SafeHandles.md new file mode 100644 index 00000000..63a59d08 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_Microsoft.Win32.SafeHandles.md @@ -0,0 +1,11 @@ +# Microsoft.Win32.SafeHandles + +``` diff + namespace Microsoft.Win32.SafeHandles { + public sealed class SafeProcessHandle : SafeHandleZeroOrMinusOneIsInvalid { +- public override bool IsInvalid { get; } + + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Buffers.Binary.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Buffers.Binary.md new file mode 100644 index 00000000..c788928f --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Buffers.Binary.md @@ -0,0 +1,25 @@ +# System.Buffers.Binary + +``` diff + namespace System.Buffers.Binary { + public static class BinaryPrimitives { ++ public static double ReadDoubleBigEndian(ReadOnlySpan source); ++ public static double ReadDoubleLittleEndian(ReadOnlySpan source); ++ public static float ReadSingleBigEndian(ReadOnlySpan source); ++ public static float ReadSingleLittleEndian(ReadOnlySpan source); ++ public static bool TryReadDoubleBigEndian(ReadOnlySpan source, out double value); ++ public static bool TryReadDoubleLittleEndian(ReadOnlySpan source, out double value); ++ public static bool TryReadSingleBigEndian(ReadOnlySpan source, out float value); ++ public static bool TryReadSingleLittleEndian(ReadOnlySpan source, out float value); ++ public static bool TryWriteDoubleBigEndian(Span destination, double value); ++ public static bool TryWriteDoubleLittleEndian(Span destination, double value); ++ public static bool TryWriteSingleBigEndian(Span destination, float value); ++ public static bool TryWriteSingleLittleEndian(Span destination, float value); ++ public static void WriteDoubleBigEndian(Span destination, double value); ++ public static void WriteDoubleLittleEndian(Span destination, double value); ++ public static void WriteSingleBigEndian(Span destination, float value); ++ public static void WriteSingleLittleEndian(Span destination, float value); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Buffers.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Buffers.md new file mode 100644 index 00000000..1bed5d01 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Buffers.md @@ -0,0 +1,12 @@ +# System.Buffers + +``` diff + namespace System.Buffers { + public ref struct SequenceReader where T : struct, IEquatable { ++ public ReadOnlySequence UnreadSequence { get; } ++ public void AdvanceToEnd(); ++ public bool TryPeek(long offset, out T value); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Collections.Concurrent.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Collections.Concurrent.md new file mode 100644 index 00000000..6b618350 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Collections.Concurrent.md @@ -0,0 +1,10 @@ +# System.Collections.Concurrent + +``` diff + namespace System.Collections.Concurrent { + public class ConcurrentDictionary : ICollection, ICollection>, IDictionary, IDictionary, IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary { ++ public bool TryRemove(KeyValuePair item); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Collections.Generic.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Collections.Generic.md new file mode 100644 index 00000000..791ecb5d --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Collections.Generic.md @@ -0,0 +1,25 @@ +# System.Collections.Generic + +``` diff + namespace System.Collections.Generic { +- public class HashSet : ICollection, IDeserializationCallback, IEnumerable, IEnumerable, IReadOnlyCollection, ISerializable, ISet ++ public class HashSet : ICollection, IDeserializationCallback, IEnumerable, IEnumerable, IReadOnlyCollection, IReadOnlySet, ISerializable, ISet ++ public interface IReadOnlySet : IEnumerable, IEnumerable, IReadOnlyCollection { ++ bool Contains(T item); ++ bool IsProperSubsetOf(IEnumerable other); ++ bool IsProperSupersetOf(IEnumerable other); ++ bool IsSubsetOf(IEnumerable other); ++ bool IsSupersetOf(IEnumerable other); ++ bool Overlaps(IEnumerable other); ++ bool SetEquals(IEnumerable other); ++ } ++ public sealed class ReferenceEqualityComparer : IEqualityComparer, IEqualityComparer { ++ public static ReferenceEqualityComparer Instance { get; } ++ public new bool Equals(object x, object y); ++ public int GetHashCode(object obj); ++ } +- public class SortedSet : ICollection, ICollection, IDeserializationCallback, IEnumerable, IEnumerable, IReadOnlyCollection, ISerializable, ISet ++ public class SortedSet : ICollection, ICollection, IDeserializationCallback, IEnumerable, IEnumerable, IReadOnlyCollection, IReadOnlySet, ISerializable, ISet + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Collections.Immutable.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Collections.Immutable.md new file mode 100644 index 00000000..40b6410c --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Collections.Immutable.md @@ -0,0 +1,15 @@ +# System.Collections.Immutable + +``` diff + namespace System.Collections.Immutable { +- public sealed class ImmutableHashSet : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableSet, IReadOnlyCollection, ISet ++ public sealed class ImmutableHashSet : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableSet, IReadOnlyCollection, IReadOnlySet, ISet + public static class ImmutableInterlocked { ++ public static bool Update(ref ImmutableArray location, Func, TArg, ImmutableArray> transformer, TArg transformerArgument); ++ public static bool Update(ref ImmutableArray location, Func, ImmutableArray> transformer); + } +- public sealed class ImmutableSortedSet : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableSet, IList, IList, IReadOnlyCollection, IReadOnlyList, ISet ++ public sealed class ImmutableSortedSet : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableSet, IList, IList, IReadOnlyCollection, IReadOnlyList, IReadOnlySet, ISet + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Data.Common.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Data.Common.md new file mode 100644 index 00000000..3376be70 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Data.Common.md @@ -0,0 +1,15 @@ +# System.Data.Common + +``` diff + namespace System.Data.Common { +- public abstract class DbCommand : Component, IAsyncDisposable, IDbCommand, IDisposable ++ public abstract class DbCommand : Component, IDbCommand, IDisposable +- public abstract class DbConnection : Component, IAsyncDisposable, IDbConnection, IDisposable ++ public abstract class DbConnection : Component, IDbConnection, IDisposable +- public abstract class DbDataReader : MarshalByRefObject, IAsyncDisposable, IDataReader, IDataRecord, IDisposable, IEnumerable ++ public abstract class DbDataReader : MarshalByRefObject, IDataReader, IDataRecord, IDisposable, IEnumerable +- public abstract class DbTransaction : MarshalByRefObject, IAsyncDisposable, IDbTransaction, IDisposable ++ public abstract class DbTransaction : MarshalByRefObject, IDbTransaction, IDisposable + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Globalization.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Globalization.md new file mode 100644 index 00000000..914c53cf --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Globalization.md @@ -0,0 +1,119 @@ +# System.Globalization + +``` diff + namespace System.Globalization { +- public class CompareInfo : IDeserializationCallback { ++ public sealed class CompareInfo : IDeserializationCallback { +- public virtual string Name { get; } ++ public string Name { get; } +- public virtual int Compare(string string1, int offset1, int length1, string string2, int offset2, int length2); ++ public int Compare(string string1, int offset1, int length1, string string2, int offset2, int length2); +- public virtual int Compare(string string1, int offset1, int length1, string string2, int offset2, int length2, CompareOptions options); ++ public int Compare(string string1, int offset1, int length1, string string2, int offset2, int length2, CompareOptions options); +- public virtual int Compare(string string1, int offset1, string string2, int offset2); ++ public int Compare(string string1, int offset1, string string2, int offset2); +- public virtual int Compare(string string1, int offset1, string string2, int offset2, CompareOptions options); ++ public int Compare(string string1, int offset1, string string2, int offset2, CompareOptions options); +- public virtual int Compare(string string1, string string2); ++ public int Compare(string string1, string string2); +- public virtual int Compare(string string1, string string2, CompareOptions options); ++ public int Compare(string string1, string string2, CompareOptions options); +- public virtual int GetHashCode(string source, CompareOptions options); ++ public int GetHashCode(string source, CompareOptions options); +- public virtual SortKey GetSortKey(string source); ++ public SortKey GetSortKey(string source); +- public virtual SortKey GetSortKey(string source, CompareOptions options); ++ public SortKey GetSortKey(string source, CompareOptions options); +- public virtual int IndexOf(string source, char value); ++ public int IndexOf(string source, char value); +- public virtual int IndexOf(string source, char value, CompareOptions options); ++ public int IndexOf(string source, char value, CompareOptions options); +- public virtual int IndexOf(string source, char value, int startIndex); ++ public int IndexOf(string source, char value, int startIndex); +- public virtual int IndexOf(string source, char value, int startIndex, CompareOptions options); ++ public int IndexOf(string source, char value, int startIndex, CompareOptions options); +- public virtual int IndexOf(string source, char value, int startIndex, int count); ++ public int IndexOf(string source, char value, int startIndex, int count); +- public virtual int IndexOf(string source, char value, int startIndex, int count, CompareOptions options); ++ public int IndexOf(string source, char value, int startIndex, int count, CompareOptions options); +- public virtual int IndexOf(string source, string value); ++ public int IndexOf(string source, string value); +- public virtual int IndexOf(string source, string value, CompareOptions options); ++ public int IndexOf(string source, string value, CompareOptions options); +- public virtual int IndexOf(string source, string value, int startIndex); ++ public int IndexOf(string source, string value, int startIndex); +- public virtual int IndexOf(string source, string value, int startIndex, CompareOptions options); ++ public int IndexOf(string source, string value, int startIndex, CompareOptions options); +- public virtual int IndexOf(string source, string value, int startIndex, int count); ++ public int IndexOf(string source, string value, int startIndex, int count); +- public virtual int IndexOf(string source, string value, int startIndex, int count, CompareOptions options); ++ public int IndexOf(string source, string value, int startIndex, int count, CompareOptions options); +- public virtual bool IsPrefix(string source, string prefix); ++ public bool IsPrefix(string source, string prefix); +- public virtual bool IsPrefix(string source, string prefix, CompareOptions options); ++ public bool IsPrefix(string source, string prefix, CompareOptions options); +- public virtual bool IsSuffix(string source, string suffix); ++ public bool IsSuffix(string source, string suffix); +- public virtual bool IsSuffix(string source, string suffix, CompareOptions options); ++ public bool IsSuffix(string source, string suffix, CompareOptions options); +- public virtual int LastIndexOf(string source, char value); ++ public int LastIndexOf(string source, char value); +- public virtual int LastIndexOf(string source, char value, CompareOptions options); ++ public int LastIndexOf(string source, char value, CompareOptions options); +- public virtual int LastIndexOf(string source, char value, int startIndex); ++ public int LastIndexOf(string source, char value, int startIndex); +- public virtual int LastIndexOf(string source, char value, int startIndex, CompareOptions options); ++ public int LastIndexOf(string source, char value, int startIndex, CompareOptions options); +- public virtual int LastIndexOf(string source, char value, int startIndex, int count); ++ public int LastIndexOf(string source, char value, int startIndex, int count); +- public virtual int LastIndexOf(string source, char value, int startIndex, int count, CompareOptions options); ++ public int LastIndexOf(string source, char value, int startIndex, int count, CompareOptions options); +- public virtual int LastIndexOf(string source, string value); ++ public int LastIndexOf(string source, string value); +- public virtual int LastIndexOf(string source, string value, CompareOptions options); ++ public int LastIndexOf(string source, string value, CompareOptions options); +- public virtual int LastIndexOf(string source, string value, int startIndex); ++ public int LastIndexOf(string source, string value, int startIndex); +- public virtual int LastIndexOf(string source, string value, int startIndex, CompareOptions options); ++ public int LastIndexOf(string source, string value, int startIndex, CompareOptions options); +- public virtual int LastIndexOf(string source, string value, int startIndex, int count); ++ public int LastIndexOf(string source, string value, int startIndex, int count); +- public virtual int LastIndexOf(string source, string value, int startIndex, int count, CompareOptions options); ++ public int LastIndexOf(string source, string value, int startIndex, int count, CompareOptions options); + } + public class CultureInfo : ICloneable, IFormatProvider { ++ public static CultureInfo GetCultureInfo(string name, bool predefinedOnly); + } +- public class SortKey { ++ public sealed class SortKey { +- public virtual byte[] KeyData { get; } ++ public byte[] KeyData { get; } +- public virtual string OriginalString { get; } ++ public string OriginalString { get; } + } +- public class TextInfo : ICloneable, IDeserializationCallback { ++ public sealed class TextInfo : ICloneable, IDeserializationCallback { +- public virtual int ANSICodePage { get; } ++ public int ANSICodePage { get; } +- public virtual int EBCDICCodePage { get; } ++ public int EBCDICCodePage { get; } +- public virtual string ListSeparator { get; set; } ++ public string ListSeparator { get; set; } +- public virtual int MacCodePage { get; } ++ public int MacCodePage { get; } +- public virtual int OEMCodePage { get; } ++ public int OEMCodePage { get; } +- public virtual object Clone(); ++ public object Clone(); +- public virtual char ToLower(char c); ++ public char ToLower(char c); +- public virtual string ToLower(string str); ++ public string ToLower(string str); +- public virtual char ToUpper(char c); ++ public char ToUpper(char c); +- public virtual string ToUpper(string str); ++ public string ToUpper(string str); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.IO.Pipes.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.IO.Pipes.md new file mode 100644 index 00000000..f6c93c3e --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.IO.Pipes.md @@ -0,0 +1,10 @@ +# System.IO.Pipes + +``` diff + namespace System.IO.Pipes { + public abstract class PipeStream : Stream { ++ public override Task FlushAsync(CancellationToken cancellationToken); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.IO.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.IO.md new file mode 100644 index 00000000..f2319869 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.IO.md @@ -0,0 +1,18 @@ +# System.IO + +``` diff + namespace System.IO { + public class MemoryStream : Stream { ++ public override void CopyTo(ReadOnlySpanAction callback, object state, int bufferSize); ++ public override Task CopyToAsync(Func, object, CancellationToken, ValueTask> callback, object state, int bufferSize, CancellationToken cancellationToken); + } + public abstract class Stream : MarshalByRefObject, IAsyncDisposable, IDisposable { ++ public virtual void CopyTo(ReadOnlySpanAction callback, object state, int bufferSize); ++ public virtual Task CopyToAsync(Func, object, CancellationToken, ValueTask> callback, object state, int bufferSize, CancellationToken cancellationToken); + } + public class UnmanagedMemoryStream : Stream { ++ public override void CopyTo(ReadOnlySpanAction callback, object state, int bufferSize); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Linq.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Linq.md new file mode 100644 index 00000000..3345d062 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Linq.md @@ -0,0 +1,15 @@ +# System.Linq + +``` diff + namespace System.Linq { + public class EnumerableQuery : EnumerableQuery, IEnumerable, IEnumerable, IOrderedQueryable, IOrderedQueryable, IQueryable, IQueryable, IQueryProvider { +- IQueryable System.Linq.IQueryProvider.CreateQuery(Expression expression); + ++ IQueryable System.Linq.IQueryProvider.CreateQuery(Expression expression); +- S System.Linq.IQueryProvider.Execute(Expression expression); + ++ TElement System.Linq.IQueryProvider.Execute(Expression expression); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Http.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Http.md new file mode 100644 index 00000000..ce01327a --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Http.md @@ -0,0 +1,50 @@ +# System.Net.Http + +``` diff + namespace System.Net.Http { + public class ByteArrayContent : HttpContent { ++ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); + } + public class FormUrlEncodedContent : ByteArrayContent { ++ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); + } + public class HttpClient : HttpMessageInvoker { ++ public Task GetByteArrayAsync(string requestUri, CancellationToken cancellationToken); ++ public Task GetByteArrayAsync(Uri requestUri, CancellationToken cancellationToken); ++ public Task GetStreamAsync(string requestUri, CancellationToken cancellationToken); ++ public Task GetStreamAsync(Uri requestUri, CancellationToken cancellationToken); ++ public Task GetStringAsync(string requestUri, CancellationToken cancellationToken); ++ public Task GetStringAsync(Uri requestUri, CancellationToken cancellationToken); + } + public abstract class HttpContent : IDisposable { ++ public Task CopyToAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); ++ public Task CopyToAsync(Stream stream, CancellationToken cancellationToken); ++ protected virtual Task CreateContentReadStreamAsync(CancellationToken cancellationToken); ++ public Task ReadAsByteArrayAsync(CancellationToken cancellationToken); ++ public Task ReadAsStreamAsync(CancellationToken cancellationToken); ++ public Task ReadAsStringAsync(CancellationToken cancellationToken); ++ protected virtual Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); + } + public class HttpRequestException : Exception { ++ public HttpRequestException(string message, Exception inner, HttpStatusCode? statusCode); ++ public HttpStatusCode? StatusCode { get; } + } + public class MultipartContent : HttpContent, IEnumerable, IEnumerable { ++ protected override Task CreateContentReadStreamAsync(CancellationToken cancellationToken); ++ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); + } + public class MultipartFormDataContent : MultipartContent { ++ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); + } + public sealed class ReadOnlyMemoryContent : HttpContent { ++ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); + } + public class StreamContent : HttpContent { ++ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); + } + public class StringContent : ByteArrayContent { ++ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Mail.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Mail.md new file mode 100644 index 00000000..5c7538c7 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Mail.md @@ -0,0 +1,16 @@ +# System.Net.Mail + +``` diff + namespace System.Net.Mail { + public class MailAddress { ++ public static bool TryCreate(string address, out MailAddress result); ++ public static bool TryCreate(string address, string displayName, out MailAddress result); ++ public static bool TryCreate(string address, string displayName, Encoding displayNameEncoding, out MailAddress result); + } + public class SmtpClient : IDisposable { ++ public Task SendMailAsync(MailMessage message, CancellationToken cancellationToken); ++ public Task SendMailAsync(string from, string recipients, string subject, string body, CancellationToken cancellationToken); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.NetworkInformation.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.NetworkInformation.md new file mode 100644 index 00000000..a6eef11e --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.NetworkInformation.md @@ -0,0 +1,12 @@ +# System.Net.NetworkInformation + +``` diff + namespace System.Net.NetworkInformation { + public class PhysicalAddress { ++ public static PhysicalAddress Parse(ReadOnlySpan address); ++ public static bool TryParse(ReadOnlySpan address, out PhysicalAddress value); ++ public static bool TryParse(string address, out PhysicalAddress value); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Security.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Security.md new file mode 100644 index 00000000..12322c66 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Security.md @@ -0,0 +1,10 @@ +# System.Net.Security + +``` diff + namespace System.Net.Security { + public readonly struct SslApplicationProtocol : IEquatable { ++ public static readonly SslApplicationProtocol Http3; + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Sockets.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Sockets.md new file mode 100644 index 00000000..13f3ced5 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.Sockets.md @@ -0,0 +1,18 @@ +# System.Net.Sockets + +``` diff + namespace System.Net.Sockets { + public class NetworkStream : Stream { +- protected Socket Socket { get; } ++ public Socket Socket { get; } + } + public class Socket : IDisposable { ++ public static bool OSSupportsUnixDomainSockets { get; } ++ public void Listen(); + } + public class SocketAsyncEventArgs : EventArgs, IDisposable { ++ public SocketAsyncEventArgs(bool unsafeSuppressExecutionContextFlow); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.md new file mode 100644 index 00000000..0dffcf37 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Net.md @@ -0,0 +1,10 @@ +# System.Net + +``` diff + namespace System.Net { + public static class HttpVersion { ++ public static readonly Version Version30; + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.CompilerServices.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.CompilerServices.md new file mode 100644 index 00000000..ae4ee31f --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.CompilerServices.md @@ -0,0 +1,16 @@ +# System.Runtime.CompilerServices + +``` diff + namespace System.Runtime.CompilerServices { ++ public sealed class CppInlineNamespaceAttribute : Attribute { ++ public CppInlineNamespaceAttribute(string dottedName); ++ } ++ public sealed class SkipLocalsInitAttribute : Attribute { ++ public SkipLocalsInitAttribute(); ++ } + public static class Unsafe { ++ public static void SkipInit(out T value); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.ExceptionServices.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.ExceptionServices.md new file mode 100644 index 00000000..48264504 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.ExceptionServices.md @@ -0,0 +1,10 @@ +# System.Runtime.ExceptionServices + +``` diff + namespace System.Runtime.ExceptionServices { + public sealed class ExceptionDispatchInfo { ++ public static Exception SetCurrentStackTrace(Exception source); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.InteropServices.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.InteropServices.md new file mode 100644 index 00000000..0bc14df6 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.InteropServices.md @@ -0,0 +1,16 @@ +# System.Runtime.InteropServices + +``` diff + namespace System.Runtime.InteropServices { ++ public static class CollectionsMarshal { ++ public static Span AsSpan(List list); ++ } + public static class MemoryMarshal { ++ public static ref T GetArrayDataReference(T[] array); + } ++ public sealed class SuppressGCTransitionAttribute : Attribute { ++ public SuppressGCTransitionAttribute(); ++ } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.Intrinsics.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.Intrinsics.md new file mode 100644 index 00000000..b9ff5659 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Runtime.Intrinsics.md @@ -0,0 +1,21 @@ +# System.Runtime.Intrinsics + +``` diff + namespace System.Runtime.Intrinsics { + public static class Vector128 { ++ public static Vector128 AsVector128(this Vector2 value); ++ public static Vector128 AsVector128(this Vector3 value); ++ public static Vector128 AsVector128(this Vector4 value); ++ public static Vector128 AsVector128(this Vector value) where T : struct; ++ public static Vector2 AsVector2(this Vector128 value); ++ public static Vector3 AsVector3(this Vector128 value); ++ public static Vector4 AsVector4(this Vector128 value); ++ public static Vector AsVector(this Vector128 value) where T : struct; + } + public static class Vector256 { ++ public static Vector256 AsVector256(this Vector value) where T : struct; ++ public static Vector AsVector(this Vector256 value) where T : struct; + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Security.Cryptography.X509Certificates.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Security.Cryptography.X509Certificates.md new file mode 100644 index 00000000..c36425cb --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Security.Cryptography.X509Certificates.md @@ -0,0 +1,15 @@ +# System.Security.Cryptography.X509Certificates + +``` diff + namespace System.Security.Cryptography.X509Certificates { + public sealed class X509ChainPolicy { ++ public X509Certificate2Collection CustomTrustStore { get; } ++ public X509ChainTrustMode TrustMode { get; set; } + } ++ public enum X509ChainTrustMode { ++ CustomRootTrust = 1, ++ System = 0, ++ } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Security.Cryptography.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Security.Cryptography.md new file mode 100644 index 00000000..fd4651e0 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Security.Cryptography.md @@ -0,0 +1,22 @@ +# System.Security.Cryptography + +``` diff + namespace System.Security.Cryptography { + public abstract class HashAlgorithm : ICryptoTransform, IDisposable { ++ public Task ComputeHashAsync(Stream inputStream, CancellationToken cancellationToken = default(CancellationToken)); + } + public readonly struct HashAlgorithmName : IEquatable { ++ public static HashAlgorithmName FromOid(string oidValue); ++ public static bool TryFromOid(string oidValue, out HashAlgorithmName value); + } ++ public static class HKDF { ++ public static byte[] DeriveKey(HashAlgorithmName hashAlgorithmName, byte[] ikm, int outputLength, byte[] salt = null, byte[] info = null); ++ public static void DeriveKey(HashAlgorithmName hashAlgorithmName, ReadOnlySpan ikm, Span output, ReadOnlySpan salt, ReadOnlySpan info); ++ public static byte[] Expand(HashAlgorithmName hashAlgorithmName, byte[] prk, int outputLength, byte[] info = null); ++ public static void Expand(HashAlgorithmName hashAlgorithmName, ReadOnlySpan prk, Span output, ReadOnlySpan info); ++ public static byte[] Extract(HashAlgorithmName hashAlgorithmName, byte[] ikm, byte[] salt = null); ++ public static int Extract(HashAlgorithmName hashAlgorithmName, ReadOnlySpan ikm, ReadOnlySpan salt, Span prk); ++ } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.Json.Serialization.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.Json.Serialization.md new file mode 100644 index 00000000..41a362cb --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.Json.Serialization.md @@ -0,0 +1,11 @@ +# System.Text.Json.Serialization + +``` diff + namespace System.Text.Json.Serialization { ++ public sealed class ReferenceHandling { ++ public static ReferenceHandling Default { get; } ++ public static ReferenceHandling Preserve { get; } ++ } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.Json.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.Json.md new file mode 100644 index 00000000..f68e21fa --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.Json.md @@ -0,0 +1,9 @@ +# System.Text.Json + +``` diff + namespace System.Text.Json { + public sealed class JsonSerializerOptions { ++ public ReferenceHandling ReferenceHandling { get; set; } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.RegularExpressions.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.RegularExpressions.md new file mode 100644 index 00000000..0bd4518c --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.RegularExpressions.md @@ -0,0 +1,11 @@ +# System.Text.RegularExpressions + +``` diff + namespace System.Text.RegularExpressions { + public class RegexMatchTimeoutException : TimeoutException, ISerializable { +- void System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo si, StreamingContext context); ++ void System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.md new file mode 100644 index 00000000..950f28c8 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Text.md @@ -0,0 +1,21 @@ +# System.Text + +``` diff + namespace System.Text { ++ public static class EncodingExtensions { ++ public static void Convert(this Decoder decoder, in ReadOnlySequence bytes, IBufferWriter writer, bool flush, out long charsUsed, out bool completed); ++ public static void Convert(this Decoder decoder, ReadOnlySpan bytes, IBufferWriter writer, bool flush, out long charsUsed, out bool completed); ++ public static void Convert(this Encoder encoder, in ReadOnlySequence chars, IBufferWriter writer, bool flush, out long bytesUsed, out bool completed); ++ public static void Convert(this Encoder encoder, ReadOnlySpan chars, IBufferWriter writer, bool flush, out long bytesUsed, out bool completed); ++ public static byte[] GetBytes(this Encoding encoding, in ReadOnlySequence chars); ++ public static long GetBytes(this Encoding encoding, in ReadOnlySequence chars, IBufferWriter writer); ++ public static int GetBytes(this Encoding encoding, in ReadOnlySequence chars, Span bytes); ++ public static long GetBytes(this Encoding encoding, ReadOnlySpan chars, IBufferWriter writer); ++ public static long GetChars(this Encoding encoding, in ReadOnlySequence bytes, IBufferWriter writer); ++ public static int GetChars(this Encoding encoding, in ReadOnlySequence bytes, Span chars); ++ public static long GetChars(this Encoding encoding, ReadOnlySpan bytes, IBufferWriter writer); ++ public static string GetString(this Encoding encoding, in ReadOnlySequence bytes); ++ } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Threading.Channels.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Threading.Channels.md new file mode 100644 index 00000000..7d7f9996 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Threading.Channels.md @@ -0,0 +1,11 @@ +# System.Threading.Channels + +``` diff + namespace System.Threading.Channels { + public abstract class ChannelReader { ++ public virtual bool CanCount { get; } ++ public virtual int Count { get; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Threading.Tasks.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Threading.Tasks.md new file mode 100644 index 00000000..11f481c2 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Threading.Tasks.md @@ -0,0 +1,10 @@ +# System.Threading.Tasks + +``` diff + namespace System.Threading.Tasks { + public class TaskCompletionSource { ++ public void SetCanceled(CancellationToken cancellationToken); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Threading.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Threading.md new file mode 100644 index 00000000..8456830f --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.Threading.md @@ -0,0 +1,31 @@ +# System.Threading + +``` diff + namespace System.Threading { + public class CancellationTokenSource : IDisposable { ++ public static CancellationTokenSource CreateLinkedTokenSource(CancellationToken token); + } + public static class Interlocked { ++ public static uint Add(ref uint location1, uint value); ++ public static ulong Add(ref ulong location1, ulong value); ++ public static int And(ref int location1, int value); ++ public static long And(ref long location1, long value); ++ public static uint And(ref uint location1, uint value); ++ public static ulong And(ref ulong location1, ulong value); ++ public static uint CompareExchange(ref uint location1, uint value, uint comparand); ++ public static ulong CompareExchange(ref ulong location1, ulong value, ulong comparand); ++ public static uint Decrement(ref uint location); ++ public static ulong Decrement(ref ulong location); ++ public static uint Exchange(ref uint location1, uint value); ++ public static ulong Exchange(ref ulong location1, ulong value); ++ public static uint Increment(ref uint location); ++ public static ulong Increment(ref ulong location); ++ public static int Or(ref int location1, int value); ++ public static long Or(ref long location1, long value); ++ public static uint Or(ref uint location1, uint value); ++ public static ulong Or(ref ulong location1, ulong value); ++ public static ulong Read(ref ulong location); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.md b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.md new file mode 100644 index 00000000..d00f269e --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/.Net/5.0-preview2_System.md @@ -0,0 +1,20 @@ +# System + +``` diff + namespace System { + public readonly struct Decimal : IComparable, IComparable, IConvertible, IDeserializationCallback, IEquatable, IFormattable { ++ public Decimal(ReadOnlySpan bits); ++ public static int GetBits(Decimal d, Span destination); ++ public static bool TryGetBits(Decimal d, Span destination, out int valuesWritten); + } + public static class MemoryExtensions { ++ public static void Sort(this Span span, TComparer comparer) where TComparer : IComparer; ++ public static void Sort(this Span span); ++ public static void Sort(this Span span, Comparison comparison); ++ public static void Sort(this Span keys, Span items, TComparer comparer) where TComparer : IComparer; ++ public static void Sort(this Span keys, Span items); ++ public static void Sort(this Span keys, Span items, Comparison comparison); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2.md new file mode 100644 index 00000000..221ec2c0 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2.md @@ -0,0 +1,36 @@ +# API Difference aspnetcoreapp3.1 vs aspnetcore5.0-preview2 + +API listing follows standard diff formatting. Lines preceded by a '+' are +additions and a '-' indicates removal. + +* [Microsoft.AspNetCore.Authentication](5.0-preview2_Microsoft.AspNetCore.Authentication.md) +* [Microsoft.AspNetCore.Authorization.Infrastructure](5.0-preview2_Microsoft.AspNetCore.Authorization.Infrastructure.md) +* [Microsoft.AspNetCore.Builder](5.0-preview2_Microsoft.AspNetCore.Builder.md) +* [Microsoft.AspNetCore.Builder.Extensions](5.0-preview2_Microsoft.AspNetCore.Builder.Extensions.md) +* [Microsoft.AspNetCore.Components](5.0-preview2_Microsoft.AspNetCore.Components.md) +* [Microsoft.AspNetCore.Connections](5.0-preview2_Microsoft.AspNetCore.Connections.md) +* [Microsoft.AspNetCore.Connections.Features](5.0-preview2_Microsoft.AspNetCore.Connections.Features.md) +* [Microsoft.AspNetCore.Http](5.0-preview2_Microsoft.AspNetCore.Http.md) +* [Microsoft.AspNetCore.Identity](5.0-preview2_Microsoft.AspNetCore.Identity.md) +* [Microsoft.AspNetCore.Mvc.Formatters](5.0-preview2_Microsoft.AspNetCore.Mvc.Formatters.md) +* [Microsoft.AspNetCore.Mvc.Localization](5.0-preview2_Microsoft.AspNetCore.Mvc.Localization.md) +* [Microsoft.AspNetCore.Mvc.Rendering](5.0-preview2_Microsoft.AspNetCore.Mvc.Rendering.md) +* [Microsoft.AspNetCore.Mvc.ViewFeatures](5.0-preview2_Microsoft.AspNetCore.Mvc.ViewFeatures.md) +* [Microsoft.AspNetCore.Rewrite](5.0-preview2_Microsoft.AspNetCore.Rewrite.md) +* [Microsoft.AspNetCore.Server.HttpSys](5.0-preview2_Microsoft.AspNetCore.Server.HttpSys.md) +* [Microsoft.AspNetCore.Server.Kestrel.Core](5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Core.md) +* [Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http](5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.md) +* [Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets](5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md) +* [Microsoft.AspNetCore.SignalR](5.0-preview2_Microsoft.AspNetCore.SignalR.md) +* [Microsoft.AspNetCore.StaticFiles.Infrastructure](5.0-preview2_Microsoft.AspNetCore.StaticFiles.Infrastructure.md) +* [Microsoft.AspNetCore.WebUtilities](5.0-preview2_Microsoft.AspNetCore.WebUtilities.md) +* [Microsoft.Extensions.Configuration](5.0-preview2_Microsoft.Extensions.Configuration.md) +* [Microsoft.Extensions.Configuration.KeyPerFile](5.0-preview2_Microsoft.Extensions.Configuration.KeyPerFile.md) +* [Microsoft.Extensions.DependencyInjection](5.0-preview2_Microsoft.Extensions.DependencyInjection.md) +* [Microsoft.Extensions.Http](5.0-preview2_Microsoft.Extensions.Http.md) +* [Microsoft.Extensions.Http.Logging](5.0-preview2_Microsoft.Extensions.Http.Logging.md) +* [Microsoft.Extensions.Localization](5.0-preview2_Microsoft.Extensions.Localization.md) +* [Microsoft.Extensions.Logging.Console](5.0-preview2_Microsoft.Extensions.Logging.Console.md) +* [Microsoft.Extensions.Options](5.0-preview2_Microsoft.Extensions.Options.md) +* [Microsoft.Net.Http.Headers](5.0-preview2_Microsoft.Net.Http.Headers.md) + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Authentication.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Authentication.md new file mode 100644 index 00000000..5c35326b --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Authentication.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Authentication + +``` diff + namespace Microsoft.AspNetCore.Authentication { + public class AuthenticationSchemeProvider : IAuthenticationSchemeProvider { ++ public virtual bool TryAddScheme(AuthenticationScheme scheme); + } + public interface IAuthenticationSchemeProvider { ++ bool TryAddScheme(AuthenticationScheme scheme); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Authorization.Infrastructure.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Authorization.Infrastructure.md new file mode 100644 index 00000000..70be3710 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Authorization.Infrastructure.md @@ -0,0 +1,25 @@ +# Microsoft.AspNetCore.Authorization.Infrastructure + +``` diff + namespace Microsoft.AspNetCore.Authorization.Infrastructure { + public class AssertionRequirement : IAuthorizationHandler, IAuthorizationRequirement { ++ public override string ToString(); + } + public class ClaimsAuthorizationRequirement : AuthorizationHandler, IAuthorizationRequirement { ++ public override string ToString(); + } + public class DenyAnonymousAuthorizationRequirement : AuthorizationHandler, IAuthorizationRequirement { ++ public override string ToString(); + } + public class NameAuthorizationRequirement : AuthorizationHandler, IAuthorizationRequirement { ++ public override string ToString(); + } + public class OperationAuthorizationRequirement : IAuthorizationRequirement { ++ public override string ToString(); + } + public class RolesAuthorizationRequirement : AuthorizationHandler, IAuthorizationRequirement { ++ public override string ToString(); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Builder.Extensions.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Builder.Extensions.md new file mode 100644 index 00000000..9fea6a09 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Builder.Extensions.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Builder.Extensions + +``` diff + namespace Microsoft.AspNetCore.Builder.Extensions { + public class MapOptions { ++ public bool PreserveMatchedPathSegment { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Builder.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Builder.md new file mode 100644 index 00000000..8087a84b --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Builder.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Builder + +``` diff + namespace Microsoft.AspNetCore.Builder { + public static class MapExtensions { ++ public static IApplicationBuilder Map(this IApplicationBuilder app, PathString pathMatch, bool preserveMatchedPathSegment, Action configuration); + } + public class RequestLocalizationOptions { ++ public bool ApplyCurrentCultureToResponseHeaders { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Components.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Components.md new file mode 100644 index 00000000..dc8f4497 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Components.md @@ -0,0 +1,17 @@ +# Microsoft.AspNetCore.Components + +``` diff + namespace Microsoft.AspNetCore.Components { + public static class BindConverter { ++ public static string FormatValue(short value, CultureInfo culture = null); ++ public static string FormatValue(short? value, CultureInfo culture = null); ++ public static bool TryConvertToNullableShort(object obj, CultureInfo culture, out short? value); ++ public static bool TryConvertToShort(object obj, CultureInfo culture, out short value); + } + public static class EventCallbackFactoryBinderExtensions { ++ public static EventCallback CreateBinder(this EventCallbackFactory factory, object receiver, Action setter, short existingValue, CultureInfo culture = null); ++ public static EventCallback CreateBinder(this EventCallbackFactory factory, object receiver, Action setter, short? existingValue, CultureInfo culture = null); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Connections.Features.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Connections.Features.md new file mode 100644 index 00000000..a3b64c6d --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Connections.Features.md @@ -0,0 +1,17 @@ +# Microsoft.AspNetCore.Connections.Features + +``` diff + namespace Microsoft.AspNetCore.Connections.Features { ++ public interface IProtocolErrorCodeFeature { ++ long Error { get; set; } ++ } ++ public interface IStreamDirectionFeature { ++ bool CanRead { get; } ++ bool CanWrite { get; } ++ } ++ public interface IStreamIdFeature { ++ long StreamId { get; } ++ } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Connections.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Connections.md new file mode 100644 index 00000000..e1fb0319 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Connections.md @@ -0,0 +1,71 @@ +# Microsoft.AspNetCore.Connections + +``` diff + namespace Microsoft.AspNetCore.Connections { ++ public abstract class BaseConnectionContext : IAsyncDisposable { ++ protected BaseConnectionContext(); ++ public virtual CancellationToken ConnectionClosed { get; set; } ++ public abstract string ConnectionId { get; set; } ++ public abstract IFeatureCollection Features { get; } ++ public abstract IDictionary Items { get; set; } ++ public virtual EndPoint LocalEndPoint { get; set; } ++ public virtual EndPoint RemoteEndPoint { get; set; } ++ public abstract void Abort(); ++ public abstract void Abort(ConnectionAbortedException abortReason); ++ public virtual ValueTask DisposeAsync(); ++ } +- public abstract class ConnectionContext : IAsyncDisposable { ++ public abstract class ConnectionContext : BaseConnectionContext, IAsyncDisposable { +- public virtual CancellationToken ConnectionClosed { get; set; } + +- public abstract string ConnectionId { get; set; } + +- public abstract IFeatureCollection Features { get; } + +- public abstract IDictionary Items { get; set; } + +- public virtual EndPoint LocalEndPoint { get; set; } + +- public virtual EndPoint RemoteEndPoint { get; set; } + +- public virtual void Abort(); ++ public override void Abort(); +- public virtual void Abort(ConnectionAbortedException abortReason); ++ public override void Abort(ConnectionAbortedException abortReason); +- public virtual ValueTask DisposeAsync(); + + } ++ public interface IMultiplexedConnectionBuilder { ++ IServiceProvider ApplicationServices { get; } ++ MultiplexedConnectionDelegate Build(); ++ IMultiplexedConnectionBuilder Use(Func middleware); ++ } ++ public interface IMultiplexedConnectionFactory { ++ ValueTask ConnectAsync(EndPoint endpoint, IFeatureCollection features = null, CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public interface IMultiplexedConnectionListener : IAsyncDisposable { ++ EndPoint EndPoint { get; } ++ ValueTask AcceptAsync(IFeatureCollection features = null, CancellationToken cancellationToken = default(CancellationToken)); ++ ValueTask UnbindAsync(CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public interface IMultiplexedConnectionListenerFactory { ++ ValueTask BindAsync(EndPoint endpoint, IFeatureCollection features = null, CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public class MultiplexedConnectionBuilder : IMultiplexedConnectionBuilder { ++ public MultiplexedConnectionBuilder(IServiceProvider applicationServices); ++ public IServiceProvider ApplicationServices { get; } ++ public MultiplexedConnectionDelegate Build(); ++ public IMultiplexedConnectionBuilder Use(Func middleware); ++ } ++ public abstract class MultiplexedConnectionContext : BaseConnectionContext, IAsyncDisposable { ++ protected MultiplexedConnectionContext(); ++ public abstract ValueTask AcceptAsync(CancellationToken cancellationToken = default(CancellationToken)); ++ public abstract ValueTask ConnectAsync(IFeatureCollection features = null, CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public delegate Task MultiplexedConnectionDelegate(MultiplexedConnectionContext connection); + public class UriEndPoint : EndPoint { ++ public override string ToString(); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Http.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Http.md new file mode 100644 index 00000000..72938e86 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Http.md @@ -0,0 +1,18 @@ +# Microsoft.AspNetCore.Http + +``` diff + namespace Microsoft.AspNetCore.Http { ++ public static class HttpProtocol { ++ public static readonly string Http10; ++ public static readonly string Http11; ++ public static readonly string Http2; ++ public static readonly string Http3; ++ public static string GetHttpProtocol(Version version); ++ public static bool IsHttp10(string protocol); ++ public static bool IsHttp11(string protocol); ++ public static bool IsHttp2(string protocol); ++ public static bool IsHttp3(string protocol); ++ } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Identity.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Identity.md new file mode 100644 index 00000000..37952f6a --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Identity.md @@ -0,0 +1,17 @@ +# Microsoft.AspNetCore.Identity + +``` diff + namespace Microsoft.AspNetCore.Identity { + public class ClaimsIdentityOptions { ++ public string EmailClaimType { get; set; } + } + public class IdentityBuilder { ++ public virtual IdentityBuilder AddUserConfirmation() where TUserConfirmation : class; + } + public class UserManager : IDisposable where TUser : class { +- protected static string GetChangeEmailTokenPurpose(string newEmail); ++ public static string GetChangeEmailTokenPurpose(string newEmail); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.Formatters.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.Formatters.md new file mode 100644 index 00000000..b8b929a3 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.Formatters.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Mvc.Formatters + +``` diff + namespace Microsoft.AspNetCore.Mvc.Formatters { + public class XmlSerializerInputFormatter : TextInputFormatter, IInputFormatterExceptionPolicy { ++ protected virtual XmlReader CreateXmlReader(Stream readStream, Encoding encoding, Type type); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.Localization.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.Localization.md new file mode 100644 index 00000000..cd171ebb --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.Localization.md @@ -0,0 +1,23 @@ +# Microsoft.AspNetCore.Mvc.Localization + +``` diff + namespace Microsoft.AspNetCore.Mvc.Localization { + public class HtmlLocalizer : IHtmlLocalizer { +- public virtual IHtmlLocalizer WithCulture(CultureInfo culture); + + } + public class HtmlLocalizer : IHtmlLocalizer, IHtmlLocalizer { +- public virtual IHtmlLocalizer WithCulture(CultureInfo culture); + + } + public interface IHtmlLocalizer { +- IHtmlLocalizer WithCulture(CultureInfo culture); + + } + public class ViewLocalizer : IHtmlLocalizer, IViewContextAware, IViewLocalizer { +- public IHtmlLocalizer WithCulture(CultureInfo culture); + + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.Rendering.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.Rendering.md new file mode 100644 index 00000000..19a1e488 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.Rendering.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Mvc.Rendering + +``` diff + namespace Microsoft.AspNetCore.Mvc.Rendering { ++ public enum CheckBoxHiddenInputRenderMode { ++ EndOfForm = 2, ++ Inline = 1, ++ None = 0, ++ } + public class ViewContext : ActionContext { ++ public CheckBoxHiddenInputRenderMode CheckBoxHiddenInputRenderMode { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.ViewFeatures.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.ViewFeatures.md new file mode 100644 index 00000000..c92d05f4 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Mvc.ViewFeatures.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Mvc.ViewFeatures + +``` diff + namespace Microsoft.AspNetCore.Mvc.ViewFeatures { + public class HtmlHelperOptions { ++ public CheckBoxHiddenInputRenderMode CheckBoxHiddenInputRenderMode { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Rewrite.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Rewrite.md new file mode 100644 index 00000000..897554d0 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Rewrite.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Rewrite + +``` diff + namespace Microsoft.AspNetCore.Rewrite { + public static class RewriteOptionsExtensions { ++ public static RewriteOptions AddRedirectToNonWww(this RewriteOptions options); ++ public static RewriteOptions AddRedirectToNonWww(this RewriteOptions options, int statusCode); ++ public static RewriteOptions AddRedirectToNonWww(this RewriteOptions options, int statusCode, params string[] domains); ++ public static RewriteOptions AddRedirectToNonWww(this RewriteOptions options, params string[] domains); ++ public static RewriteOptions AddRedirectToNonWwwPermanent(this RewriteOptions options); ++ public static RewriteOptions AddRedirectToNonWwwPermanent(this RewriteOptions options, params string[] domains); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.HttpSys.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.HttpSys.md new file mode 100644 index 00000000..0036302c --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.HttpSys.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Server.HttpSys + +``` diff + namespace Microsoft.AspNetCore.Server.HttpSys { + public sealed class AuthenticationManager { ++ public bool AutomaticAuthentication { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.md new file mode 100644 index 00000000..26cdadad --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.md @@ -0,0 +1,32 @@ +# Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http + +``` diff + namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http { +- public class HttpParser : IHttpParser where TRequestHandler : IHttpHeadersHandler, IHttpRequestLineHandler { ++ public class HttpParser where TRequestHandler : IHttpHeadersHandler, IHttpRequestLineHandler { +- bool Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.IHttpParser.ParseRequestLine(TRequestHandler handler, in ReadOnlySequence buffer, out SequencePosition consumed, out SequencePosition examined); + + } + public enum HttpVersion { ++ Http3 = 3, + } + public interface IHttpHeadersHandler { ++ void OnHeader(ReadOnlySpan name, ReadOnlySpan value); +- void OnHeader(Span name, Span value); + +- void OnHeadersComplete(); + ++ void OnHeadersComplete(bool endStream); ++ void OnStaticIndexedHeader(int index); ++ void OnStaticIndexedHeader(int index, ReadOnlySpan value); + } +- public interface IHttpParser where TRequestHandler : IHttpHeadersHandler, IHttpRequestLineHandler { + { +- bool ParseHeaders(TRequestHandler handler, ref SequenceReader reader); + +- bool ParseRequestLine(TRequestHandler handler, in ReadOnlySequence buffer, out SequencePosition consumed, out SequencePosition examined); + +- } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Core.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Core.md new file mode 100644 index 00000000..e7330e65 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Core.md @@ -0,0 +1,33 @@ +# Microsoft.AspNetCore.Server.Kestrel.Core + +``` diff + namespace Microsoft.AspNetCore.Server.Kestrel.Core { ++ public class Http3Limits { ++ public Http3Limits(); ++ public int HeaderTableSize { get; set; } ++ public int MaxRequestHeaderFieldSize { get; set; } ++ } + public enum HttpProtocols { ++ Http1AndHttp2AndHttp3 = 7, ++ Http3 = 4, + } + public class KestrelServer : IDisposable, IServer { +- public KestrelServer(IOptions options, IConnectionListenerFactory transportFactory, ILoggerFactory loggerFactory); + ++ public KestrelServer(IOptions options, IEnumerable transportFactories, ILoggerFactory loggerFactory); ++ public KestrelServer(IOptions options, IEnumerable transportFactories, IEnumerable multiplexedFactories, ILoggerFactory loggerFactory); + } + public class KestrelServerLimits { ++ public Http3Limits Http3 { get; } + } + public class KestrelServerOptions { ++ public bool EnableAltSvc { get; set; } + } +- public class ListenOptions : IConnectionBuilder { ++ public class ListenOptions : IConnectionBuilder, IMultiplexedConnectionBuilder { ++ MultiplexedConnectionDelegate Microsoft.AspNetCore.Connections.IMultiplexedConnectionBuilder.Build(); ++ IMultiplexedConnectionBuilder Microsoft.AspNetCore.Connections.IMultiplexedConnectionBuilder.Use(Func middleware); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md new file mode 100644 index 00000000..cfe1566f --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets + +``` diff + namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets { ++ public class SocketConnectionFactory : IAsyncDisposable, IConnectionFactory { ++ public SocketConnectionFactory(IOptions options, ILoggerFactory loggerFactory); ++ public ValueTask ConnectAsync(EndPoint endpoint, CancellationToken cancellationToken = default(CancellationToken)); ++ public ValueTask DisposeAsync(); ++ } + public class SocketTransportOptions { ++ public int Backlog { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.SignalR.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.SignalR.md new file mode 100644 index 00000000..b3cb46c8 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.SignalR.md @@ -0,0 +1,18 @@ +# Microsoft.AspNetCore.SignalR + +``` diff + namespace Microsoft.AspNetCore.SignalR { + public static class HubClientsExtensions { ++ public static T AllExcept(this IHubClients hubClients, IEnumerable excludedConnectionIds); ++ public static T Clients(this IHubClients hubClients, IEnumerable connectionIds); ++ public static T GroupExcept(this IHubClients hubClients, string groupName, IEnumerable excludedConnectionIds); ++ public static T Groups(this IHubClients hubClients, IEnumerable groupNames); ++ public static T Users(this IHubClients hubClients, IEnumerable userIds); + } + public class HubInvocationContext { ++ public HubInvocationContext(HubCallerContext context, Type hubType, string hubMethodName, object[] hubMethodArguments); ++ public Type HubType { get; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.StaticFiles.Infrastructure.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.StaticFiles.Infrastructure.md new file mode 100644 index 00000000..3a08aac7 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.StaticFiles.Infrastructure.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.StaticFiles.Infrastructure + +``` diff + namespace Microsoft.AspNetCore.StaticFiles.Infrastructure { + public class SharedOptions { ++ public bool RedirectToAppendTrailingSlash { get; set; } + } + public abstract class SharedOptionsBase { ++ public bool RedirectToAppendTrailingSlash { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.WebUtilities.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.WebUtilities.md new file mode 100644 index 00000000..f49d69f6 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.AspNetCore.WebUtilities.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.WebUtilities + +``` diff + namespace Microsoft.AspNetCore.WebUtilities { + public class HttpResponseStreamWriter : TextWriter { ++ public override void Write(ReadOnlySpan value); ++ public override Task WriteAsync(ReadOnlyMemory value, CancellationToken cancellationToken = default(CancellationToken)); ++ public override void WriteLine(ReadOnlySpan value); ++ public override Task WriteLineAsync(ReadOnlyMemory value, CancellationToken cancellationToken = default(CancellationToken)); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Configuration.KeyPerFile.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Configuration.KeyPerFile.md new file mode 100644 index 00000000..52f11ef1 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Configuration.KeyPerFile.md @@ -0,0 +1,15 @@ +# Microsoft.Extensions.Configuration.KeyPerFile + +``` diff + namespace Microsoft.Extensions.Configuration.KeyPerFile { +- public class KeyPerFileConfigurationProvider : ConfigurationProvider { ++ public class KeyPerFileConfigurationProvider : ConfigurationProvider, IDisposable { ++ public void Dispose(); + } + public class KeyPerFileConfigurationSource : IConfigurationSource { ++ public int ReloadDelay { get; set; } ++ public bool ReloadOnChange { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Configuration.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Configuration.md new file mode 100644 index 00000000..f4480568 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Configuration.md @@ -0,0 +1,11 @@ +# Microsoft.Extensions.Configuration + +``` diff + namespace Microsoft.Extensions.Configuration { + public static class KeyPerFileConfigurationBuilderExtensions { ++ public static IConfigurationBuilder AddKeyPerFile(this IConfigurationBuilder builder, string directoryPath); ++ public static IConfigurationBuilder AddKeyPerFile(this IConfigurationBuilder builder, string directoryPath, bool optional, bool reloadOnChange); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.DependencyInjection.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.DependencyInjection.md new file mode 100644 index 00000000..0a346266 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.DependencyInjection.md @@ -0,0 +1,17 @@ +# Microsoft.Extensions.DependencyInjection + +``` diff + namespace Microsoft.Extensions.DependencyInjection { + public static class HttpClientBuilderExtensions { ++ public static IHttpClientBuilder RedactLoggedHeaders(this IHttpClientBuilder builder, IEnumerable redactedLoggedHeaderNames); ++ public static IHttpClientBuilder RedactLoggedHeaders(this IHttpClientBuilder builder, Func shouldRedactHeaderValue); + } + public static class HttpClientFactoryServiceCollectionExtensions { ++ public static IHttpClientBuilder AddHttpClient(this IServiceCollection services, Func factory) where TClient : class where TImplementation : class, TClient; ++ public static IHttpClientBuilder AddHttpClient(this IServiceCollection services, Func factory) where TClient : class where TImplementation : class, TClient; ++ public static IHttpClientBuilder AddHttpClient(this IServiceCollection services, string name, Func factory) where TClient : class where TImplementation : class, TClient; ++ public static IHttpClientBuilder AddHttpClient(this IServiceCollection services, string name, Func factory) where TClient : class where TImplementation : class, TClient; + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Http.Logging.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Http.Logging.md new file mode 100644 index 00000000..decf08f8 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Http.Logging.md @@ -0,0 +1,13 @@ +# Microsoft.Extensions.Http.Logging + +``` diff + namespace Microsoft.Extensions.Http.Logging { + public class LoggingHttpMessageHandler : DelegatingHandler { ++ public LoggingHttpMessageHandler(ILogger logger, HttpClientFactoryOptions options); + } + public class LoggingScopeHttpMessageHandler : DelegatingHandler { ++ public LoggingScopeHttpMessageHandler(ILogger logger, HttpClientFactoryOptions options); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Http.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Http.md new file mode 100644 index 00000000..5f4a725e --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Http.md @@ -0,0 +1,10 @@ +# Microsoft.Extensions.Http + +``` diff + namespace Microsoft.Extensions.Http { + public class HttpClientFactoryOptions { ++ public Func ShouldRedactHeaderValue { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Localization.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Localization.md new file mode 100644 index 00000000..92f0f909 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Localization.md @@ -0,0 +1,30 @@ +# Microsoft.Extensions.Localization + +``` diff + namespace Microsoft.Extensions.Localization { + public interface IStringLocalizer { +- IStringLocalizer WithCulture(CultureInfo culture); + + } + public class ResourceManagerStringLocalizer : IStringLocalizer { +- public IStringLocalizer WithCulture(CultureInfo culture); + + } +- public class ResourceManagerWithCultureStringLocalizer : ResourceManagerStringLocalizer { + { +- public ResourceManagerWithCultureStringLocalizer(ResourceManager resourceManager, Assembly resourceAssembly, string baseName, IResourceNamesCache resourceNamesCache, CultureInfo culture, ILogger logger); + +- public override LocalizedString this[string name, params object[] arguments] { get; } + +- public override LocalizedString this[string name] { get; } + +- public override IEnumerable GetAllStrings(bool includeParentCultures); + +- } + public class StringLocalizer : IStringLocalizer, IStringLocalizer { +- public virtual IStringLocalizer WithCulture(CultureInfo culture); + + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Logging.Console.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Logging.Console.md new file mode 100644 index 00000000..d91ecc63 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Logging.Console.md @@ -0,0 +1,10 @@ +# Microsoft.Extensions.Logging.Console + +``` diff + namespace Microsoft.Extensions.Logging.Console { + public class ConsoleLoggerOptions { ++ public bool UseUtcTimestamp { get; set; } + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Options.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Options.md new file mode 100644 index 00000000..e6cff864 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Extensions.Options.md @@ -0,0 +1,27 @@ +# Microsoft.Extensions.Options + +``` diff + namespace Microsoft.Extensions.Options { +- public interface IOptions where TOptions : class, new() ++ public interface IOptions where TOptions : class +- public interface IOptionsFactory where TOptions : class, new() ++ public interface IOptionsFactory where TOptions : class +- public interface IOptionsSnapshot : IOptions where TOptions : class, new() ++ public interface IOptionsSnapshot : IOptions where TOptions : class + public static class Options { +- public static IOptions Create(TOptions options) where TOptions : class, new(); ++ public static IOptions Create(TOptions options) where TOptions : class; + } +- public class OptionsFactory : IOptionsFactory where TOptions : class, new() { ++ public class OptionsFactory : IOptionsFactory where TOptions : class { ++ protected virtual TOptions CreateInstance(string name); + } +- public class OptionsManager : IOptions, IOptionsSnapshot where TOptions : class, new() ++ public class OptionsManager : IOptions, IOptionsSnapshot where TOptions : class +- public class OptionsMonitor : IDisposable, IOptionsMonitor where TOptions : class, new() ++ public class OptionsMonitor : IDisposable, IOptionsMonitor where TOptions : class +- public class OptionsWrapper : IOptions where TOptions : class, new() ++ public class OptionsWrapper : IOptions where TOptions : class + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Net.Http.Headers.md b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Net.Http.Headers.md new file mode 100644 index 00000000..6361bef5 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/Asp.Net/5.0-preview2_Microsoft.Net.Http.Headers.md @@ -0,0 +1,11 @@ +# Microsoft.Net.Http.Headers + +``` diff + namespace Microsoft.Net.Http.Headers { + public static class HeaderNames { ++ public static readonly string AltSvc; ++ public static readonly string XRequestedWith; + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/preview2/README.md b/release-notes/5.0/preview/api-diff/preview2/README.md new file mode 100644 index 00000000..7bb9089c --- /dev/null +++ b/release-notes/5.0/preview/api-diff/preview2/README.md @@ -0,0 +1,6 @@ +# .NET 5.0 Preview 2 API Changes + +The following API changes were made in .NET 5.0 Preview 2: + +- [.NET](./.Net/5.0-preview2.md) +- [ASP.NET](./Asp.Net/5.0-preview2.md)