diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2.md new file mode 100644 index 00000000..31ed79b8 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2.md @@ -0,0 +1,24 @@ +# API Difference netcoreapp3.0-preview1 vs netcoreapp3.0-preview2 + +API listing follows standard diff formatting. Lines preceded by a '+' are +additions and a '-' indicates removal. + +* [System](3.0-preview2_System.md) +* [System.Buffers](3.0-preview2_System.Buffers.md) +* [System.Collections.Generic](3.0-preview2_System.Collections.Generic.md) +* [System.ComponentModel.DataAnnotations](3.0-preview2_System.ComponentModel.DataAnnotations.md) +* [System.Diagnostics](3.0-preview2_System.Diagnostics.md) +* [System.Linq](3.0-preview2_System.Linq.md) +* [System.Net.Sockets](3.0-preview2_System.Net.Sockets.md) +* [System.Reflection](3.0-preview2_System.Reflection.md) +* [System.Runtime.CompilerServices](3.0-preview2_System.Runtime.CompilerServices.md) +* [System.Runtime.InteropServices](3.0-preview2_System.Runtime.InteropServices.md) +* [System.Runtime.Intrinsics](3.0-preview2_System.Runtime.Intrinsics.md) +* [System.Runtime.Intrinsics.X86](3.0-preview2_System.Runtime.Intrinsics.X86.md) +* [System.Runtime.Loader](3.0-preview2_System.Runtime.Loader.md) +* [System.Security](3.0-preview2_System.Security.md) +* [System.Security.Permissions](3.0-preview2_System.Security.Permissions.md) +* [System.Text.Json](3.0-preview2_System.Text.Json.md) +* [System.Threading](3.0-preview2_System.Threading.md) +* [System.Threading.Tasks](3.0-preview2_System.Threading.Tasks.md) + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Buffers.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Buffers.md new file mode 100644 index 00000000..53768c94 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Buffers.md @@ -0,0 +1,10 @@ +# System.Buffers + +``` diff + namespace System.Buffers { + public readonly struct StandardFormat : IEquatable { ++ public static bool TryParse(ReadOnlySpan format, out StandardFormat result); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Collections.Generic.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Collections.Generic.md new file mode 100644 index 00000000..5ec94497 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Collections.Generic.md @@ -0,0 +1,12 @@ +# System.Collections.Generic + +``` diff + namespace System.Collections.Generic { + public interface IAsyncEnumerable { +- IAsyncEnumerator GetAsyncEnumerator(); + ++ IAsyncEnumerator GetAsyncEnumerator(CancellationToken cancellationToken = default(CancellationToken)); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.ComponentModel.DataAnnotations.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.ComponentModel.DataAnnotations.md new file mode 100644 index 00000000..a5943216 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.ComponentModel.DataAnnotations.md @@ -0,0 +1,16 @@ +# System.ComponentModel.DataAnnotations + +``` diff + namespace System.ComponentModel.DataAnnotations { ++ public class AssociatedMetadataTypeTypeDescriptionProvider : TypeDescriptionProvider { ++ public AssociatedMetadataTypeTypeDescriptionProvider(Type type); ++ public AssociatedMetadataTypeTypeDescriptionProvider(Type type, Type associatedMetadataType); ++ public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance); ++ } ++ public sealed class MetadataTypeAttribute : Attribute { ++ public MetadataTypeAttribute(Type metadataClassType); ++ public Type MetadataClassType { get; } ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Diagnostics.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Diagnostics.md new file mode 100644 index 00000000..9227eb54 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Diagnostics.md @@ -0,0 +1,11 @@ +# System.Diagnostics + +``` diff + namespace System.Diagnostics { + public class DiagnosticListener : DiagnosticSource, IDisposable, IObservable> { +- public override void Write(string name, object parameters); ++ public override void Write(string name, object value); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Linq.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Linq.md new file mode 100644 index 00000000..a56362eb --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Linq.md @@ -0,0 +1,15 @@ +# System.Linq + +``` diff + namespace System.Linq { + public static class Enumerable { +- public static IEnumerable> Zip(this IEnumerable first, IEnumerable second); + + } + public static class Queryable { +- public static IQueryable> Zip(this IQueryable source1, IEnumerable source2); + + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Net.Sockets.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Net.Sockets.md new file mode 100644 index 00000000..68fa0e19 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Net.Sockets.md @@ -0,0 +1,16 @@ +# System.Net.Sockets + +``` diff + namespace System.Net.Sockets { + public class SendPacketsElement { ++ public SendPacketsElement(FileStream fileStream); ++ public SendPacketsElement(FileStream fileStream, long offset, int count); ++ public SendPacketsElement(FileStream fileStream, long offset, int count, bool endOfPacket); ++ public SendPacketsElement(string filepath, long offset, int count); ++ public SendPacketsElement(string filepath, long offset, int count, bool endOfPacket); ++ public FileStream FileStream { get; } ++ public long OffsetLong { get; } + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Reflection.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Reflection.md new file mode 100644 index 00000000..fe01b9b3 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Reflection.md @@ -0,0 +1,13 @@ +# System.Reflection + +``` diff + namespace System.Reflection { + public abstract class Assembly : ICustomAttributeProvider, ISerializable { ++ public virtual bool IsCollectible { get; } + } + public abstract class MemberInfo : ICustomAttributeProvider { ++ public virtual bool IsCollectible { get; } + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.CompilerServices.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.CompilerServices.md new file mode 100644 index 00000000..6f397593 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.CompilerServices.md @@ -0,0 +1,38 @@ +# System.Runtime.CompilerServices + +``` diff + namespace System.Runtime.CompilerServices { ++ public sealed class AsyncIteratorStateMachineAttribute : StateMachineAttribute { ++ public AsyncIteratorStateMachineAttribute(Type stateMachineType); ++ } +- public readonly struct ConfiguredAsyncEnumerable { + { +- public ConfiguredAsyncEnumerable.Enumerator GetAsyncEnumerator(); + +- public readonly struct Enumerator { + { +- public T Current { get; } + +- public ConfiguredValueTaskAwaitable DisposeAsync(); + +- public ConfiguredValueTaskAwaitable MoveNextAsync(); + +- } +- } ++ public readonly struct ConfiguredCancelableAsyncEnumerable { ++ public ConfiguredCancelableAsyncEnumerable ConfigureAwait(bool continueOnCapturedContext); ++ public ConfiguredCancelableAsyncEnumerable.Enumerator GetAsyncEnumerator(); ++ public ConfiguredCancelableAsyncEnumerable WithCancellation(CancellationToken cancellationToken); ++ public readonly struct Enumerator { ++ public T Current { get; } ++ public ConfiguredValueTaskAwaitable DisposeAsync(); ++ public ConfiguredValueTaskAwaitable MoveNextAsync(); ++ } ++ } + public static class RuntimeFeature { ++ public static bool IsDynamicCodeCompiled { get; } ++ public static bool IsDynamicCodeSupported { get; } + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.InteropServices.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.InteropServices.md new file mode 100644 index 00000000..13a5702f --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.InteropServices.md @@ -0,0 +1,16 @@ +# System.Runtime.InteropServices + +``` diff + namespace System.Runtime.InteropServices { ++ public static class NativeLibrary { ++ public static void Free(IntPtr handle); ++ public static IntPtr GetExport(IntPtr handle, string name); ++ public static IntPtr Load(string libraryPath); ++ public static IntPtr Load(string libraryName, Assembly assembly, Nullable searchPath); ++ public static bool TryGetExport(IntPtr handle, string name, out IntPtr address); ++ public static bool TryLoad(string libraryPath, out IntPtr handle); ++ public static bool TryLoad(string libraryName, Assembly assembly, Nullable searchPath, out IntPtr handle); ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.Intrinsics.X86.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.Intrinsics.X86.md new file mode 100644 index 00000000..b091de2e --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.Intrinsics.X86.md @@ -0,0 +1,213 @@ +# System.Runtime.Intrinsics.X86 + +``` diff + namespace System.Runtime.Intrinsics.X86 { + public abstract class Avx : Sse42 { +- public static float ConvertToSingle(Vector256 value); + +- public static Vector256 ExtendToVector256(Vector128 value) where T : struct; + +- public static byte Extract(Vector256 value, byte index); + +- public static int Extract(Vector256 value, byte index); + +- public static long Extract(Vector256 value, byte index); + +- public static ushort Extract(Vector256 value, byte index); + +- public static uint Extract(Vector256 value, byte index); + +- public static ulong Extract(Vector256 value, byte index); + +- public static Vector128 GetLowerHalf(Vector256 value) where T : struct; + +- public static Vector256 Insert(Vector256 value, byte data, byte index); + +- public static Vector256 Insert(Vector256 value, short data, byte index); + +- public static Vector256 Insert(Vector256 value, int data, byte index); + +- public static Vector256 Insert(Vector256 value, long data, byte index); + +- public static Vector256 Insert(Vector256 value, sbyte data, byte index); + +- public static Vector256 Insert(Vector256 value, ushort data, byte index); + +- public static Vector256 Insert(Vector256 value, uint data, byte index); + +- public static Vector256 Insert(Vector256 value, ulong data, byte index); + +- public static Vector256 SetAllVector256(T value) where T : struct; + +- public static Vector256 SetHighLow(Vector128 hi, Vector128 lo) where T : struct; + +- public static Vector256 SetVector256(byte e31, byte e30, byte e29, byte e28, byte e27, byte e26, byte e25, byte e24, byte e23, byte e22, byte e21, byte e20, byte e19, byte e18, byte e17, byte e16, byte e15, byte e14, byte e13, byte e12, byte e11, byte e10, byte e9, byte e8, byte e7, byte e6, byte e5, byte e4, byte e3, byte e2, byte e1, byte e0); + +- public static Vector256 SetVector256(double e3, double e2, double e1, double e0); + +- public static Vector256 SetVector256(short e15, short e14, short e13, short e12, short e11, short e10, short e9, short e8, short e7, short e6, short e5, short e4, short e3, short e2, short e1, short e0); + +- public static Vector256 SetVector256(int e7, int e6, int e5, int e4, int e3, int e2, int e1, int e0); + +- public static Vector256 SetVector256(long e3, long e2, long e1, long e0); + +- public static Vector256 SetVector256(sbyte e31, sbyte e30, sbyte e29, sbyte e28, sbyte e27, sbyte e26, sbyte e25, sbyte e24, sbyte e23, sbyte e22, sbyte e21, sbyte e20, sbyte e19, sbyte e18, sbyte e17, sbyte e16, sbyte e15, sbyte e14, sbyte e13, sbyte e12, sbyte e11, sbyte e10, sbyte e9, sbyte e8, sbyte e7, sbyte e6, sbyte e5, sbyte e4, sbyte e3, sbyte e2, sbyte e1, sbyte e0); + +- public static Vector256 SetVector256(float e7, float e6, float e5, float e4, float e3, float e2, float e1, float e0); + +- public static Vector256 SetVector256(ushort e15, ushort e14, ushort e13, ushort e12, ushort e11, ushort e10, ushort e9, ushort e8, ushort e7, ushort e6, ushort e5, ushort e4, ushort e3, ushort e2, ushort e1, ushort e0); + +- public static Vector256 SetVector256(uint e7, uint e6, uint e5, uint e4, uint e3, uint e2, uint e1, uint e0); + +- public static Vector256 SetVector256(ulong e3, ulong e2, ulong e1, ulong e0); + +- public static Vector256 SetZeroVector256() where T : struct; + +- public static Vector256 StaticCast(Vector256 value) where T : struct where U : struct; + + } + public abstract class Avx2 : Avx { +- public static double ConvertToDouble(Vector256 value); + + } + public abstract class Bmi1 { +- public static ulong AndNot(ulong left, ulong right); + +- public static ulong BitFieldExtract(ulong value, byte start, byte length); + +- public static ulong BitFieldExtract(ulong value, ushort control); + +- public static ulong ExtractLowestSetBit(ulong value); + +- public static ulong GetMaskUpToLowestSetBit(ulong value); + +- public static ulong ResetLowestSetBit(ulong value); + +- public static ulong TrailingZeroCount(ulong value); + + } + public abstract class Bmi2 { ++ public static uint MultiplyNoFlags(uint left, uint right); +- public unsafe static uint MultiplyNoFlags(uint left, uint right, uint* high); ++ public unsafe static uint MultiplyNoFlags(uint left, uint right, uint* low); +- public unsafe static ulong MultiplyNoFlags(ulong left, ulong right, ulong* high); + +- public static ulong ParallelBitDeposit(ulong value, ulong mask); + +- public static ulong ParallelBitExtract(ulong value, ulong mask); + +- public static ulong ZeroHighBits(ulong value, ulong index); + + public abstract class X64 { ++ public static ulong MultiplyNoFlags(ulong left, ulong right); +- public unsafe static ulong MultiplyNoFlags(ulong left, ulong right, ulong* high); ++ public unsafe static ulong MultiplyNoFlags(ulong left, ulong right, ulong* low); + } + } + public abstract class Lzcnt { +- public static ulong LeadingZeroCount(ulong value); + + } + public abstract class Popcnt : Sse42 { +- public static ulong PopCount(ulong value); + + } + public abstract class Sse { +- public static Vector128 ConvertScalarToVector128Single(Vector128 upper, long value); + +- public static long ConvertToInt64(Vector128 value); + +- public static long ConvertToInt64WithTruncation(Vector128 value); + +- public static float ConvertToSingle(Vector128 value); + +- public static Vector128 SetAllVector128(float value); + +- public static Vector128 SetScalarVector128(float value); + +- public static Vector128 SetVector128(float e3, float e2, float e1, float e0); + +- public static Vector128 SetZeroVector128(); + +- public static Vector128 StaticCast(Vector128 value) where T : struct where U : struct; + + } + public abstract class Sse2 : Sse { +- public static Vector128 ConvertScalarToVector128Double(Vector128 upper, long value); + +- public static Vector128 ConvertScalarToVector128Int64(long value); + +- public static Vector128 ConvertScalarToVector128UInt64(ulong value); + +- public static double ConvertToDouble(Vector128 value); + +- public static long ConvertToInt64(Vector128 value); + +- public static long ConvertToInt64(Vector128 value); + +- public static long ConvertToInt64WithTruncation(Vector128 value); + +- public static ulong ConvertToUInt64(Vector128 value); + +- public static Vector128 SetAllVector128(byte value); + +- public static Vector128 SetAllVector128(double value); + +- public static Vector128 SetAllVector128(short value); + +- public static Vector128 SetAllVector128(int value); + +- public static Vector128 SetAllVector128(long value); + +- public static Vector128 SetAllVector128(sbyte value); + +- public static Vector128 SetAllVector128(ushort value); + +- public static Vector128 SetAllVector128(uint value); + +- public static Vector128 SetAllVector128(ulong value); + +- public static Vector128 SetScalarVector128(double value); + +- public static Vector128 SetVector128(byte e15, byte e14, byte e13, byte e12, byte e11, byte e10, byte e9, byte e8, byte e7, byte e6, byte e5, byte e4, byte e3, byte e2, byte e1, byte e0); + +- public static Vector128 SetVector128(double e1, double e0); + +- public static Vector128 SetVector128(short e7, short e6, short e5, short e4, short e3, short e2, short e1, short e0); + +- public static Vector128 SetVector128(int e3, int e2, int e1, int e0); + +- public static Vector128 SetVector128(long e1, long e0); + +- public static Vector128 SetVector128(sbyte e15, sbyte e14, sbyte e13, sbyte e12, sbyte e11, sbyte e10, sbyte e9, sbyte e8, sbyte e7, sbyte e6, sbyte e5, sbyte e4, sbyte e3, sbyte e2, sbyte e1, sbyte e0); + +- public static Vector128 SetVector128(ushort e7, ushort e6, ushort e5, ushort e4, ushort e3, ushort e2, ushort e1, ushort e0); + +- public static Vector128 SetVector128(uint e3, uint e2, uint e1, uint e0); + +- public static Vector128 SetVector128(ulong e1, ulong e0); + +- public static Vector128 SetZeroVector128() where T : struct; + +- public unsafe static void StoreNonTemporal(long* address, long value); + +- public unsafe static void StoreNonTemporal(ulong* address, ulong value); + + } + public abstract class Sse41 : Ssse3 { +- public static long Extract(Vector128 value, byte index); + +- public static ulong Extract(Vector128 value, byte index); + +- public static Vector128 Insert(Vector128 value, long data, byte index); + +- public static Vector128 Insert(Vector128 value, ulong data, byte index); + + } + public abstract class Sse42 : Sse41 { +- public static ulong Crc32(ulong crc, ulong data); + + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.Intrinsics.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.Intrinsics.md new file mode 100644 index 00000000..76fd82ae --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.Intrinsics.md @@ -0,0 +1,37 @@ +# System.Runtime.Intrinsics + +``` diff + namespace System.Runtime.Intrinsics { +- public readonly struct Vector128 where T : struct { ++ public readonly struct Vector128 : IEquatable>, IFormattable where T : struct { ++ public static int Count { get; } ++ public override bool Equals(object obj); ++ public bool Equals(Vector128 other); ++ public override int GetHashCode(); ++ public override string ToString(); ++ public string ToString(string format); ++ public string ToString(string format, IFormatProvider formatProvider); + } +- public readonly struct Vector256 where T : struct { ++ public readonly struct Vector256 : IEquatable>, IFormattable where T : struct { ++ public static int Count { get; } ++ public override bool Equals(object obj); ++ public bool Equals(Vector256 other); ++ public override int GetHashCode(); ++ public override string ToString(); ++ public string ToString(string format); ++ public string ToString(string format, IFormatProvider formatProvider); + } +- public readonly struct Vector64 where T : struct { ++ public readonly struct Vector64 : IEquatable>, IFormattable where T : struct { ++ public static int Count { get; } ++ public override bool Equals(object obj); ++ public bool Equals(Vector64 other); ++ public override int GetHashCode(); ++ public override string ToString(); ++ public string ToString(string format); ++ public string ToString(string format, IFormatProvider formatProvider); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.Loader.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.Loader.md new file mode 100644 index 00000000..5164756e --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Runtime.Loader.md @@ -0,0 +1,15 @@ +# System.Runtime.Loader + +``` diff + namespace System.Runtime.Loader { ++ public sealed class AssemblyDependencyResolver { ++ public AssemblyDependencyResolver(string componentAssemblyPath); ++ public string ResolveAssemblyToPath(AssemblyName assemblyName); ++ public string ResolveUnmanagedDllToPath(string unmanagedDllName); ++ } + public abstract class AssemblyLoadContext { ++ public event Func ResolvingUnmanagedDll; + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Security.Permissions.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Security.Permissions.md new file mode 100644 index 00000000..7ead4823 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Security.Permissions.md @@ -0,0 +1,11 @@ +# System.Security.Permissions + +``` diff + namespace System.Security.Permissions { ++ public enum PermissionState { ++ None = 0, ++ Unrestricted = 1, ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Security.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Security.md new file mode 100644 index 00000000..92d06ab8 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Security.md @@ -0,0 +1,51 @@ +# System.Security + +``` diff + namespace System.Security { ++ public interface IStackWalk { ++ void Assert(); ++ void Demand(); ++ void Deny(); ++ void PermitOnly(); ++ } ++ public class PermissionSet : ICollection, IDeserializationCallback, IEnumerable, ISecurityEncodable, IStackWalk { ++ public PermissionSet(PermissionState state); ++ public PermissionSet(PermissionSet permSet); ++ public virtual int Count { get; } ++ public virtual bool IsReadOnly { get; } ++ public virtual bool IsSynchronized { get; } ++ public virtual object SyncRoot { get; } ++ public IPermission AddPermission(IPermission perm); ++ protected virtual IPermission AddPermissionImpl(IPermission perm); ++ public void Assert(); ++ public bool ContainsNonCodeAccessPermissions(); ++ public static byte[] ConvertPermissionSet(string inFormat, byte[] inData, string outFormat); ++ public virtual PermissionSet Copy(); ++ public virtual void CopyTo(Array array, int index); ++ public void Demand(); ++ public void Deny(); ++ public override bool Equals(object o); ++ public virtual void FromXml(SecurityElement et); ++ public IEnumerator GetEnumerator(); ++ protected virtual IEnumerator GetEnumeratorImpl(); ++ public override int GetHashCode(); ++ public IPermission GetPermission(Type permClass); ++ protected virtual IPermission GetPermissionImpl(Type permClass); ++ public PermissionSet Intersect(PermissionSet other); ++ public bool IsEmpty(); ++ public bool IsSubsetOf(PermissionSet target); ++ public bool IsUnrestricted(); ++ public void PermitOnly(); ++ public IPermission RemovePermission(Type permClass); ++ protected virtual IPermission RemovePermissionImpl(Type permClass); ++ public static void RevertAssert(); ++ public IPermission SetPermission(IPermission perm); ++ protected virtual IPermission SetPermissionImpl(IPermission perm); ++ void System.Runtime.Serialization.IDeserializationCallback.OnDeserialization(object sender); ++ public override string ToString(); ++ public virtual SecurityElement ToXml(); ++ public PermissionSet Union(PermissionSet other); ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Text.Json.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Text.Json.md new file mode 100644 index 00000000..a59f1c79 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Text.Json.md @@ -0,0 +1,206 @@ +# System.Text.Json + +``` diff + namespace System.Text.Json { ++ public sealed class JsonDocument : IDisposable { ++ public JsonElement RootElement { get; } ++ public void Dispose(); ++ public static JsonDocument Parse(ReadOnlySequence utf8Json, JsonReaderOptions readerOptions = default(JsonReaderOptions)); ++ public static JsonDocument Parse(Stream utf8Json, JsonReaderOptions readerOptions = default(JsonReaderOptions)); ++ public static JsonDocument Parse(ReadOnlyMemory utf8Json, JsonReaderOptions readerOptions = default(JsonReaderOptions)); ++ public static JsonDocument Parse(ReadOnlyMemory json, JsonReaderOptions readerOptions = default(JsonReaderOptions)); ++ public static JsonDocument Parse(string json, JsonReaderOptions readerOptions = default(JsonReaderOptions)); ++ public static Task ParseAsync(Stream utf8Json, JsonReaderOptions readerOptions = default(JsonReaderOptions), CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public readonly struct JsonElement { ++ public JsonElement this[int index] { get; } ++ public JsonValueType Type { get; } ++ public JsonElement.ArrayEnumerator EnumerateArray(); ++ public JsonElement.ObjectEnumerator EnumerateObject(); ++ public int GetArrayLength(); ++ public bool GetBoolean(); ++ public decimal GetDecimal(); ++ public double GetDouble(); ++ public int GetInt32(); ++ public long GetInt64(); ++ public JsonElement GetProperty(ReadOnlySpan utf8PropertyName); ++ public JsonElement GetProperty(ReadOnlySpan propertyName); ++ public JsonElement GetProperty(string propertyName); ++ public string GetRawText(); ++ public float GetSingle(); ++ public string GetString(); ++ public uint GetUInt32(); ++ public ulong GetUInt64(); ++ public override string ToString(); ++ public bool TryGetDecimal(out decimal value); ++ public bool TryGetDouble(out double value); ++ public bool TryGetInt32(out int value); ++ public bool TryGetInt64(out long value); ++ public bool TryGetProperty(ReadOnlySpan utf8PropertyName, out JsonElement value); ++ public bool TryGetProperty(ReadOnlySpan propertyName, out JsonElement value); ++ public bool TryGetProperty(string propertyName, out JsonElement value); ++ public bool TryGetSingle(out float value); ++ public bool TryGetUInt32(out uint value); ++ public bool TryGetUInt64(out ulong value); ++ public struct ArrayEnumerator : IDisposable, IEnumerable, IEnumerable, IEnumerator, IEnumerator { ++ public JsonElement Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ public void Dispose(); ++ public JsonElement.ArrayEnumerator GetEnumerator(); ++ public bool MoveNext(); ++ public void Reset(); ++ IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator(); ++ IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ } ++ public struct ObjectEnumerator : IDisposable, IEnumerable, IEnumerable, IEnumerator, IEnumerator { ++ public JsonProperty Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ public void Dispose(); ++ public JsonElement.ObjectEnumerator GetEnumerator(); ++ public bool MoveNext(); ++ public void Reset(); ++ IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator(); ++ IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ } ++ } ++ public readonly struct JsonProperty { ++ public string Name { get; } ++ public JsonElement Value { get; } ++ public override string ToString(); ++ } ++ public enum JsonValueType : byte { ++ Array = (byte)2, ++ False = (byte)6, ++ Null = (byte)7, ++ Number = (byte)4, ++ Object = (byte)1, ++ String = (byte)3, ++ True = (byte)5, ++ Undefined = (byte)0, ++ } ++ public struct JsonWriterOptions { ++ public bool Indented { get; set; } ++ public bool SkipValidation { get; set; } ++ } ++ public struct JsonWriterState { ++ public JsonWriterState(JsonWriterOptions options = default(JsonWriterOptions)); ++ public long BytesCommitted { get; } ++ public long BytesWritten { get; } ++ public JsonWriterOptions Options { get; } ++ } + public ref struct Utf8JsonReader { ++ public bool GetBoolean(); +- public bool GetBooleanValue(); + ++ public decimal GetDecimal(); ++ public double GetDouble(); ++ public int GetInt32(); ++ public long GetInt64(); ++ public float GetSingle(); ++ public string GetString(); +- public string GetStringValue(); + ++ public uint GetUInt32(); ++ public ulong GetUInt64(); ++ public bool TryGetDecimal(out decimal value); +- public bool TryGetDecimalValue(out decimal value); + ++ public bool TryGetDouble(out double value); +- public bool TryGetDoubleValue(out double value); + ++ public bool TryGetInt32(out int value); +- public bool TryGetInt32Value(out int value); + ++ public bool TryGetInt64(out long value); +- public bool TryGetInt64Value(out long value); + ++ public bool TryGetSingle(out float value); +- public bool TryGetSingleValue(out float value); + ++ public bool TryGetUInt32(out uint value); ++ public bool TryGetUInt64(out ulong value); + } ++ public ref struct Utf8JsonWriter { ++ public Utf8JsonWriter(IBufferWriter bufferWriter, JsonWriterState state = default(JsonWriterState)); ++ public long BytesCommitted { get; } ++ public long BytesWritten { get; } ++ public int CurrentDepth { get; } ++ public void Flush(bool isFinalBlock = true); ++ public JsonWriterState GetCurrentState(); ++ public void WriteBoolean(ReadOnlySpan utf8PropertyName, bool value, bool escape = true); ++ public void WriteBoolean(ReadOnlySpan propertyName, bool value, bool escape = true); ++ public void WriteBoolean(string propertyName, bool value, bool escape = true); ++ public void WriteBooleanValue(bool value); ++ public void WriteCommentValue(ReadOnlySpan utf8Value, bool escape = true); ++ public void WriteCommentValue(ReadOnlySpan value, bool escape = true); ++ public void WriteCommentValue(string value, bool escape = true); ++ public void WriteEndArray(); ++ public void WriteEndObject(); ++ public void WriteNull(ReadOnlySpan utf8PropertyName, bool escape = true); ++ public void WriteNull(ReadOnlySpan propertyName, bool escape = true); ++ public void WriteNull(string propertyName, bool escape = true); ++ public void WriteNullValue(); ++ public void WriteNumber(ReadOnlySpan utf8PropertyName, decimal value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan utf8PropertyName, double value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan utf8PropertyName, int value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan utf8PropertyName, long value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan utf8PropertyName, float value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan utf8PropertyName, uint value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan utf8PropertyName, ulong value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan propertyName, decimal value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan propertyName, double value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan propertyName, int value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan propertyName, long value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan propertyName, float value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan propertyName, uint value, bool escape = true); ++ public void WriteNumber(ReadOnlySpan propertyName, ulong value, bool escape = true); ++ public void WriteNumber(string propertyName, decimal value, bool escape = true); ++ public void WriteNumber(string propertyName, double value, bool escape = true); ++ public void WriteNumber(string propertyName, int value, bool escape = true); ++ public void WriteNumber(string propertyName, long value, bool escape = true); ++ public void WriteNumber(string propertyName, float value, bool escape = true); ++ public void WriteNumber(string propertyName, uint value, bool escape = true); ++ public void WriteNumber(string propertyName, ulong value, bool escape = true); ++ public void WriteNumberValue(decimal value); ++ public void WriteNumberValue(double value); ++ public void WriteNumberValue(int value); ++ public void WriteNumberValue(long value); ++ public void WriteNumberValue(float value); ++ public void WriteNumberValue(uint value); ++ public void WriteNumberValue(ulong value); ++ public void WriteStartArray(); ++ public void WriteStartArray(ReadOnlySpan utf8PropertyName, bool escape = true); ++ public void WriteStartArray(ReadOnlySpan propertyName, bool escape = true); ++ public void WriteStartArray(string propertyName, bool escape = true); ++ public void WriteStartObject(); ++ public void WriteStartObject(ReadOnlySpan utf8PropertyName, bool escape = true); ++ public void WriteStartObject(ReadOnlySpan propertyName, bool escape = true); ++ public void WriteStartObject(string propertyName, bool escape = true); ++ public void WriteString(ReadOnlySpan utf8PropertyName, DateTime value, bool escape = true); ++ public void WriteString(ReadOnlySpan utf8PropertyName, DateTimeOffset value, bool escape = true); ++ public void WriteString(ReadOnlySpan utf8PropertyName, Guid value, bool escape = true); ++ public void WriteString(ReadOnlySpan utf8PropertyName, ReadOnlySpan utf8Value, bool escape = true); ++ public void WriteString(ReadOnlySpan utf8PropertyName, ReadOnlySpan value, bool escape = true); ++ public void WriteString(ReadOnlySpan utf8PropertyName, string value, bool escape = true); ++ public void WriteString(ReadOnlySpan propertyName, DateTime value, bool escape = true); ++ public void WriteString(ReadOnlySpan propertyName, DateTimeOffset value, bool escape = true); ++ public void WriteString(ReadOnlySpan propertyName, Guid value, bool escape = true); ++ public void WriteString(ReadOnlySpan propertyName, ReadOnlySpan utf8Value, bool escape = true); ++ public void WriteString(ReadOnlySpan propertyName, ReadOnlySpan value, bool escape = true); ++ public void WriteString(ReadOnlySpan propertyName, string value, bool escape = true); ++ public void WriteString(string propertyName, DateTime value, bool escape = true); ++ public void WriteString(string propertyName, DateTimeOffset value, bool escape = true); ++ public void WriteString(string propertyName, Guid value, bool escape = true); ++ public void WriteString(string propertyName, ReadOnlySpan utf8Value, bool escape = true); ++ public void WriteString(string propertyName, ReadOnlySpan value, bool escape = true); ++ public void WriteString(string propertyName, string value, bool escape = true); ++ public void WriteStringValue(DateTime value); ++ public void WriteStringValue(DateTimeOffset value); ++ public void WriteStringValue(Guid value); ++ public void WriteStringValue(ReadOnlySpan utf8Value, bool escape = true); ++ public void WriteStringValue(ReadOnlySpan value, bool escape = true); ++ public void WriteStringValue(string value, bool escape = true); ++ } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Threading.Tasks.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Threading.Tasks.md new file mode 100644 index 00000000..84e00f81 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Threading.Tasks.md @@ -0,0 +1,13 @@ +# System.Threading.Tasks + +``` diff + namespace System.Threading.Tasks { + public static class TaskExtensions { +- public static ConfiguredAsyncEnumerable ConfigureAwait(this IAsyncEnumerable source, bool continueOnCapturedContext); + ++ public static ConfiguredCancelableAsyncEnumerable ConfigureAwait(this IAsyncEnumerable source, bool continueOnCapturedContext); ++ public static ConfiguredCancelableAsyncEnumerable WithCancellation(this IAsyncEnumerable source, CancellationToken cancellationToken); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Threading.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Threading.md new file mode 100644 index 00000000..d7d11a18 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.Threading.md @@ -0,0 +1,10 @@ +# System.Threading + +``` diff + namespace System.Threading { + public static class ThreadPool { ++ public static bool UnsafeQueueUserWorkItem(Action callBack, TState state, bool preferLocal); + } + } +``` + diff --git a/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.md b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.md new file mode 100644 index 00000000..80002a35 --- /dev/null +++ b/release-notes/3.0/preview/api-diff/preview2/3.0-preview2_System.md @@ -0,0 +1,15 @@ +# System + +``` diff + namespace System { + public sealed class AppDomain : MarshalByRefObject { ++ public PermissionSet PermissionSet { get; } + } + public sealed class String : ICloneable, IComparable, IComparable, IConvertible, IEnumerable, IEnumerable, IEquatable { ++ public static String Concat(ReadOnlySpan str0, ReadOnlySpan str1); ++ public static String Concat(ReadOnlySpan str0, ReadOnlySpan str1, ReadOnlySpan str2); ++ public static String Concat(ReadOnlySpan str0, ReadOnlySpan str1, ReadOnlySpan str2, ReadOnlySpan str3); + } + } +``` +