From 2f31567f6b82a97849677c47d725293d36e85e94 Mon Sep 17 00:00:00 2001 From: Anirudh Agnihotry Date: Tue, 8 Jun 2021 09:38:49 -0700 Subject: [PATCH] add api diff for preview5 (#6330) * add api diff for preview5 * removing changes where we make the crypto ref as part of ref pack --- .../api-diff/preview5/.Net/6.0-preview5.md | 24 ++ ...review5_System.Diagnostics.CodeAnalysis.md | 10 + ...6.0-preview5_System.Diagnostics.Metrics.md | 87 ++++++ .../preview5/.Net/6.0-preview5_System.IO.md | 18 ++ .../.Net/6.0-preview5_System.Net.Http.Json.md | 13 + .../.Net/6.0-preview5_System.Net.Quic.md | 16 + .../.Net/6.0-preview5_System.Net.Sockets.md | 16 + .../6.0-preview5_System.Net.WebSockets.md | 33 +++ .../.Net/6.0-preview5_System.Numerics.md | 17 ++ ...review5_System.Runtime.CompilerServices.md | 10 + ...stem.Runtime.InteropServices.ObjectiveC.md | 24 ++ ...preview5_System.Runtime.InteropServices.md | 15 + .../6.0-preview5_System.Runtime.Versioning.md | 16 + ...0-preview5_System.Security.Cryptography.md | 23 ++ .../6.0-preview5_System.Text.Json.Node.md | 273 ++++++++++++++++++ .../6.0-preview5_System.Text.Json.Nodes.md | 142 +++++++++ ...System.Text.Json.Serialization.Metadata.md | 30 ++ ...preview5_System.Text.Json.Serialization.md | 34 +++ .../preview5/.Net/6.0-preview5_System.md | 10 + .../api-diff/preview5/Asp.Net/6.0-preview5.md | 16 + ...osoft.AspNetCore.Authentication.Cookies.md | 13 + ...0-preview5_Microsoft.AspNetCore.Builder.md | 36 +++ ...oft.AspNetCore.Connections.Experimental.md | 58 ++++ ...eview5_Microsoft.AspNetCore.Connections.md | 35 +++ ...5_Microsoft.AspNetCore.Http.Connections.md | 10 + .../6.0-preview5_Microsoft.AspNetCore.Http.md | 100 +++++++ .../6.0-preview5_Microsoft.AspNetCore.Mvc.md | 27 ++ ...icrosoft.AspNetCore.Server.Kestrel.Core.md | 15 + ...view5_Microsoft.AspNetCore.WebUtilities.md | 13 + ...icrosoft.Extensions.DependencyInjection.md | 17 ++ ...0-preview5_Microsoft.Extensions.Hosting.md | 11 + .../6.0/preview/api-diff/preview5/README.md | 6 + 32 files changed, 1168 insertions(+) create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Diagnostics.CodeAnalysis.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Diagnostics.Metrics.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.IO.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Http.Json.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Quic.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Sockets.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.WebSockets.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Numerics.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.CompilerServices.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.InteropServices.ObjectiveC.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.InteropServices.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.Versioning.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Security.Cryptography.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Node.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Nodes.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Serialization.Metadata.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Serialization.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Authentication.Cookies.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Builder.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Connections.Experimental.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Connections.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Http.Connections.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Http.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Mvc.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Server.Kestrel.Core.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.WebUtilities.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.Extensions.DependencyInjection.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.Extensions.Hosting.md create mode 100644 release-notes/6.0/preview/api-diff/preview5/README.md diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5.md new file mode 100644 index 0000000000..350592a831 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5.md @@ -0,0 +1,24 @@ +# API Difference 6.0.0-preview4 vs 6.0.0-preview5 + +API listing follows standard diff formatting. Lines preceded by a '+' are +additions and a '-' indicates removal. + +* [System](6.0-preview5_System.md) +* [System.Diagnostics.CodeAnalysis](6.0-preview5_System.Diagnostics.CodeAnalysis.md) +* [System.Diagnostics.Metrics](6.0-preview5_System.Diagnostics.Metrics.md) +* [System.IO](6.0-preview5_System.IO.md) +* [System.Net.Http.Json](6.0-preview5_System.Net.Http.Json.md) +* [System.Net.Quic](6.0-preview5_System.Net.Quic.md) +* [System.Net.Sockets](6.0-preview5_System.Net.Sockets.md) +* [System.Net.WebSockets](6.0-preview5_System.Net.WebSockets.md) +* [System.Numerics](6.0-preview5_System.Numerics.md) +* [System.Runtime.CompilerServices](6.0-preview5_System.Runtime.CompilerServices.md) +* [System.Runtime.InteropServices](6.0-preview5_System.Runtime.InteropServices.md) +* [System.Runtime.InteropServices.ObjectiveC](6.0-preview5_System.Runtime.InteropServices.ObjectiveC.md) +* [System.Runtime.Versioning](6.0-preview5_System.Runtime.Versioning.md) +* [System.Security.Cryptography](6.0-preview5_System.Security.Cryptography.md) +* [System.Text.Json.Node](6.0-preview5_System.Text.Json.Node.md) +* [System.Text.Json.Nodes](6.0-preview5_System.Text.Json.Nodes.md) +* [System.Text.Json.Serialization](6.0-preview5_System.Text.Json.Serialization.md) +* [System.Text.Json.Serialization.Metadata](6.0-preview5_System.Text.Json.Serialization.Metadata.md) + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Diagnostics.CodeAnalysis.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Diagnostics.CodeAnalysis.md new file mode 100644 index 0000000000..6bf2ff96ef --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Diagnostics.CodeAnalysis.md @@ -0,0 +1,10 @@ +# System.Diagnostics.CodeAnalysis + +``` diff + namespace System.Diagnostics.CodeAnalysis { + public enum DynamicallyAccessedMemberTypes { ++ Interfaces = 8192, + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Diagnostics.Metrics.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Diagnostics.Metrics.md new file mode 100644 index 0000000000..d56c61a279 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Diagnostics.Metrics.md @@ -0,0 +1,87 @@ +# System.Diagnostics.Metrics + +``` diff ++namespace System.Diagnostics.Metrics { ++ public sealed class Counter : Instrument where T : struct { ++ public void Add(T delta); ++ public void Add(T delta, KeyValuePair tag); ++ public void Add(T delta, KeyValuePair tag1, KeyValuePair tag2); ++ public void Add(T delta, KeyValuePair tag1, KeyValuePair tag2, KeyValuePair tag3); ++ public void Add(T delta, params KeyValuePair[] tags); ++ public void Add(T delta, ReadOnlySpan> tags); ++ } ++ public sealed class Histogram : Instrument where T : struct { ++ public void Record(T value); ++ public void Record(T value, KeyValuePair tag); ++ public void Record(T value, KeyValuePair tag1, KeyValuePair tag2); ++ public void Record(T value, KeyValuePair tag1, KeyValuePair tag2, KeyValuePair tag3); ++ public void Record(T value, params KeyValuePair[] tags); ++ public void Record(T value, ReadOnlySpan> tags); ++ } ++ public abstract class Instrument { ++ protected Instrument(Meter meter, string name, string unit, string description); ++ public string Description { get; } ++ public bool Enabled { get; } ++ public virtual bool IsObservable { get; } ++ public Meter Meter { get; } ++ public string Name { get; } ++ public string Unit { get; } ++ protected void Publish(); ++ } ++ public abstract class Instrument : Instrument where T : struct { ++ protected Instrument(Meter meter, string name, string unit, string description); ++ protected void RecordMeasurement(T measurement); ++ protected void RecordMeasurement(T measurement, KeyValuePair tag); ++ protected void RecordMeasurement(T measurement, KeyValuePair tag1, KeyValuePair tag2); ++ protected void RecordMeasurement(T measurement, KeyValuePair tag1, KeyValuePair tag2, KeyValuePair tag3); ++ protected void RecordMeasurement(T measurement, ReadOnlySpan> tags); ++ } ++ public readonly struct Measurement where T : struct { ++ public Measurement(T value); ++ public Measurement(T value, IEnumerable> tags); ++ public Measurement(T value, params KeyValuePair[] tags); ++ public Measurement(T value, ReadOnlySpan> tags); ++ public ReadOnlySpan> Tags { get; } ++ public T Value { get; } ++ } ++ public delegate void MeasurementCallback(Instrument instrument, T measurement, ReadOnlySpan> tags, object state); ++ public class Meter : IDisposable { ++ public Meter(string name); ++ public Meter(string name, string version); ++ public string Name { get; } ++ public string Version { get; } ++ public Counter CreateCounter(string name, string unit = null, string description = null) where T : struct; ++ public Histogram CreateHistogram(string name, string unit = null, string description = null) where T : struct; ++ public ObservableCounter CreateObservableCounter(string name, Func>> observeValues, string unit = null, string description = null) where T : struct; ++ public ObservableCounter CreateObservableCounter(string name, Func> observeValue, string unit = null, string description = null) where T : struct; ++ public ObservableCounter CreateObservableCounter(string name, Func observeValue, string unit = null, string description = null) where T : struct; ++ public ObservableGauge CreateObservableGauge(string name, Func>> observeValues, string unit = null, string description = null) where T : struct; ++ public ObservableGauge CreateObservableGauge(string name, Func> observeValue, string unit = null, string description = null) where T : struct; ++ public ObservableGauge CreateObservableGauge(string name, Func observeValue, string unit = null, string description = null) where T : struct; ++ public void Dispose(); ++ } ++ public sealed class MeterListener : IDisposable { ++ public MeterListener(); ++ public Action InstrumentPublished { get; set; } ++ public Action MeasurementsCompleted { get; set; } ++ public object DisableMeasurementEvents(Instrument instrument); ++ public void Dispose(); ++ public void EnableMeasurementEvents(Instrument instrument, object state = null); ++ public void RecordObservableInstruments(); ++ public void SetMeasurementEventCallback(MeasurementCallback measurementCallback) where T : struct; ++ public void Start(); ++ } ++ public sealed class ObservableCounter : ObservableInstrument where T : struct { ++ protected override IEnumerable> Observe(); ++ } ++ public sealed class ObservableGauge : ObservableInstrument where T : struct { ++ protected override IEnumerable> Observe(); ++ } ++ public abstract class ObservableInstrument : Instrument where T : struct { ++ protected ObservableInstrument(Meter meter, string name, string unit, string description); ++ public override bool IsObservable { get; } ++ protected abstract IEnumerable> Observe(); ++ } ++} +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.IO.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.IO.md new file mode 100644 index 0000000000..5a6f679bdc --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.IO.md @@ -0,0 +1,18 @@ +# System.IO + +``` diff + namespace System.IO { + public class FileStream : Stream { ++ public FileStream(string path, FileStreamOptions options); + } ++ public sealed class FileStreamOptions { ++ public FileStreamOptions(); ++ public FileAccess Access { get; set; } ++ public FileMode Mode { get; set; } ++ public FileOptions Options { get; set; } ++ public long PreallocationSize { get; set; } ++ public FileShare Share { get; set; } ++ } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Http.Json.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Http.Json.md new file mode 100644 index 0000000000..30874177bf --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Http.Json.md @@ -0,0 +1,13 @@ +# System.Net.Http.Json + +``` diff + namespace System.Net.Http.Json { + public static class HttpClientJsonExtensions { ++ public static Task PostAsJsonAsync(this HttpClient client, string requestUri, TValue value, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); ++ public static Task PostAsJsonAsync(this HttpClient client, Uri requestUri, TValue value, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); ++ public static Task PutAsJsonAsync(this HttpClient client, string requestUri, TValue value, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); ++ public static Task PutAsJsonAsync(this HttpClient client, Uri requestUri, TValue value, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Quic.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Quic.md new file mode 100644 index 0000000000..e699383a5b --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Quic.md @@ -0,0 +1,16 @@ +# System.Net.Quic + +``` diff + namespace System.Net.Quic { + public sealed class QuicListener : IDisposable { +- public void Close(); + +- public void Start(); + + } + public sealed class QuicStream : Stream { ++ public ValueTask ShutdownCompleted(CancellationToken cancellationToken = default(CancellationToken)); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Sockets.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Sockets.md new file mode 100644 index 0000000000..ff803c1bbb --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.Sockets.md @@ -0,0 +1,16 @@ +# System.Net.Sockets + +``` diff + namespace System.Net.Sockets { + public class Socket : IDisposable { ++ public ValueTask DisconnectAsync(bool reuseSocket, CancellationToken cancellationToken = default(CancellationToken)); ++ public int ReceiveFrom(Span buffer, ref EndPoint remoteEP); ++ public int ReceiveFrom(Span buffer, SocketFlags socketFlags, ref EndPoint remoteEP); ++ public ValueTask SendFileAsync(string fileName, ReadOnlyMemory preBuffer, ReadOnlyMemory postBuffer, TransmitFileOptions flags, CancellationToken cancellationToken = default(CancellationToken)); ++ public ValueTask SendFileAsync(string fileName, CancellationToken cancellationToken = default(CancellationToken)); ++ public int SendTo(ReadOnlySpan buffer, EndPoint remoteEP); ++ public int SendTo(ReadOnlySpan buffer, SocketFlags socketFlags, EndPoint remoteEP); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.WebSockets.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.WebSockets.md new file mode 100644 index 0000000000..f177d4fe7f --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Net.WebSockets.md @@ -0,0 +1,33 @@ +# System.Net.WebSockets + +``` diff + namespace System.Net.WebSockets { + public sealed class ClientWebSocketOptions { ++ public WebSocketDeflateOptions DangerousDeflateOptions { get; set; } + } + public abstract class WebSocket : IDisposable { ++ public static WebSocket CreateFromStream(Stream stream, WebSocketCreationOptions options); ++ public virtual ValueTask SendAsync(ReadOnlyMemory buffer, WebSocketMessageType messageType, WebSocketMessageFlags messageFlags, CancellationToken cancellationToken); + } ++ public sealed class WebSocketCreationOptions { ++ public WebSocketCreationOptions(); ++ public WebSocketDeflateOptions DangerousDeflateOptions { get; set; } ++ public bool IsServer { get; set; } ++ public TimeSpan KeepAliveInterval { get; set; } ++ public string SubProtocol { get; set; } ++ } ++ public sealed class WebSocketDeflateOptions { ++ public WebSocketDeflateOptions(); ++ public bool ClientContextTakeover { get; set; } ++ public int ClientMaxWindowBits { get; set; } ++ public bool ServerContextTakeover { get; set; } ++ public int ServerMaxWindowBits { get; set; } ++ } ++ public enum WebSocketMessageFlags { ++ DisableCompression = 2, ++ EndOfMessage = 1, ++ None = 0, ++ } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Numerics.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Numerics.md new file mode 100644 index 0000000000..ab8cad7f9b --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Numerics.md @@ -0,0 +1,17 @@ +# System.Numerics + +``` diff + namespace System.Numerics { +- public struct Complex : IEquatable, IFormattable ++ public readonly struct Complex : IEquatable, IFormattable + public static class Vector { ++ public static Vector AsVectorNInt(Vector value) where T : struct; ++ public static Vector AsVectorNUInt(Vector value) where T : struct; + } + public struct Vector : IEquatable>, IFormattable where T : struct { ++ public static explicit operator Vector (Vector value); ++ public static explicit operator Vector (Vector value); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.CompilerServices.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.CompilerServices.md new file mode 100644 index 0000000000..8b3781e1fa --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.CompilerServices.md @@ -0,0 +1,10 @@ +# System.Runtime.CompilerServices + +``` diff + namespace System.Runtime.CompilerServices { + public static class RuntimeFeature { ++ public const string VirtualStaticsInInterfaces = "VirtualStaticsInInterfaces"; + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.InteropServices.ObjectiveC.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.InteropServices.ObjectiveC.md new file mode 100644 index 0000000000..0cf68d93cb --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.InteropServices.ObjectiveC.md @@ -0,0 +1,24 @@ +# System.Runtime.InteropServices.ObjectiveC + +``` diff ++namespace System.Runtime.InteropServices.ObjectiveC { ++ public static class ObjectiveCMarshal { ++ public static GCHandle CreateReferenceTrackingHandle(object obj, out Span taggedMemory); ++ public unsafe static void Initialize(function void () beginEndCallback, function int (IntPtr) isReferencedCallback, function void (IntPtr) trackedObjectEnteredFinalization, ObjectiveCMarshal.UnhandledExceptionPropagationHandler unhandledExceptionPropagationHandler); ++ public static void SetMessageSendCallback(ObjectiveCMarshal.MessageSendFunction msgSendFunction, IntPtr func); ++ public static void SetMessageSendPendingException(Exception exception); ++ public enum MessageSendFunction { ++ MsgSend = 0, ++ MsgSendFpret = 1, ++ MsgSendStret = 2, ++ MsgSendSuper = 3, ++ MsgSendSuperStret = 4, ++ } ++ public unsafe delegate function void (IntPtr) UnhandledExceptionPropagationHandler(Exception exception, RuntimeMethodHandle lastMethod, out IntPtr context); ++ } ++ public sealed class ObjectiveCTrackedTypeAttribute : Attribute { ++ public ObjectiveCTrackedTypeAttribute(); ++ } ++} +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.InteropServices.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.InteropServices.md new file mode 100644 index 0000000000..94f8c6e00b --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.InteropServices.md @@ -0,0 +1,15 @@ +# System.Runtime.InteropServices + +``` diff + namespace System.Runtime.InteropServices { +- public struct ArrayWithOffset ++ public readonly struct ArrayWithOffset + public static class Marshal { ++ public static int GetLastPInvokeError(); ++ public static int GetLastSystemError(); ++ public static void SetLastPInvokeError(int error); ++ public static void SetLastSystemError(int error); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.Versioning.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.Versioning.md new file mode 100644 index 0000000000..a980a6f4da --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Runtime.Versioning.md @@ -0,0 +1,16 @@ +# System.Runtime.Versioning + +``` diff + namespace System.Runtime.Versioning { ++ public sealed class RequiresPreviewFeaturesAttribute : Attribute { ++ public RequiresPreviewFeaturesAttribute(); ++ } ++ public sealed class SupportedOSPlatformGuardAttribute : OSPlatformAttribute { ++ public SupportedOSPlatformGuardAttribute(string platformName); ++ } ++ public sealed class UnsupportedOSPlatformGuardAttribute : OSPlatformAttribute { ++ public UnsupportedOSPlatformGuardAttribute(string platformName); ++ } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Security.Cryptography.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Security.Cryptography.md new file mode 100644 index 0000000000..62d11f2cf0 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Security.Cryptography.md @@ -0,0 +1,23 @@ +# System.Security.Cryptography + +``` diff + namespace System.Security.Cryptography { + public sealed class AesCcm : IDisposable { ++ public static bool IsSupported { get; } + } + public sealed class AesGcm : IDisposable { ++ public static bool IsSupported { get; } + } ++ public sealed class ChaCha20Poly1305 : IDisposable { ++ public ChaCha20Poly1305(byte[] key); ++ public ChaCha20Poly1305(ReadOnlySpan key); ++ public static bool IsSupported { get; } ++ public void Decrypt(byte[] nonce, byte[] ciphertext, byte[] tag, byte[] plaintext, byte[] associatedData = null); ++ public void Decrypt(ReadOnlySpan nonce, ReadOnlySpan ciphertext, ReadOnlySpan tag, Span plaintext, ReadOnlySpan associatedData = default(ReadOnlySpan)); ++ public void Dispose(); ++ public void Encrypt(byte[] nonce, byte[] plaintext, byte[] ciphertext, byte[] tag, byte[] associatedData = null); ++ public void Encrypt(ReadOnlySpan nonce, ReadOnlySpan plaintext, Span ciphertext, Span tag, ReadOnlySpan associatedData = default(ReadOnlySpan)); ++ } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Node.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Node.md new file mode 100644 index 0000000000..494e3f154b --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Node.md @@ -0,0 +1,273 @@ +# System.Text.Json.Node + +``` diff +-namespace System.Text.Json.Node { + { +- public sealed class JsonArray : JsonNode, ICollection, IEnumerable, IEnumerable, IList { + { +- public JsonArray(JsonNodeOptions? options = default(JsonNodeOptions?)); + +- public JsonArray(JsonNodeOptions options, params JsonNode[] items); + +- public JsonArray(params JsonNode[] items); + +- public int Count { get; } + +- bool System.Collections.Generic.ICollection.IsReadOnly { get; } + +- public void Add(JsonNode item); + +- public void Add(T value); + +- public void Clear(); + +- public bool Contains(JsonNode item); + +- public static JsonArray Create(JsonElement element, JsonNodeOptions? options = default(JsonNodeOptions?)); + +- public IEnumerator GetEnumerator(); + +- public int IndexOf(JsonNode item); + +- public void Insert(int index, JsonNode item); + +- public bool Remove(JsonNode item); + +- public void RemoveAt(int index); + +- void System.Collections.Generic.ICollection.CopyTo(JsonNode[] array, int index); + +- IEnumerator System.Collections.IEnumerable.GetEnumerator(); + +- public override void WriteTo(Utf8JsonWriter writer, JsonSerializerOptions options = null); + +- } +- public abstract class JsonNode : IDynamicMetaObjectProvider { + { +- public JsonNodeOptions? Options { get; } + +- public JsonNode Parent { get; } + +- public JsonNode Root { get; } + +- public JsonNode this[int index] { get; set; } + +- public JsonNode this[string propertyName] { get; set; } + +- public JsonArray AsArray(); + +- public JsonObject AsObject(); + +- public JsonValue AsValue(); + +- public string GetPath(); + +- public virtual TValue GetValue(); + +- public static explicit operator bool (JsonNode value); + +- public static explicit operator byte (JsonNode value); + +- public static explicit operator char (JsonNode value); + +- public static explicit operator DateTime (JsonNode value); + +- public static explicit operator DateTimeOffset (JsonNode value); + +- public static explicit operator decimal (JsonNode value); + +- public static explicit operator double (JsonNode value); + +- public static explicit operator Guid (JsonNode value); + +- public static explicit operator short (JsonNode value); + +- public static explicit operator int (JsonNode value); + +- public static explicit operator long (JsonNode value); + +- public static explicit operator bool? (JsonNode value); + +- public static explicit operator byte? (JsonNode value); + +- public static explicit operator char? (JsonNode value); + +- public static explicit operator DateTimeOffset? (JsonNode value); + +- public static explicit operator DateTime? (JsonNode value); + +- public static explicit operator decimal? (JsonNode value); + +- public static explicit operator double? (JsonNode value); + +- public static explicit operator Guid? (JsonNode value); + +- public static explicit operator short? (JsonNode value); + +- public static explicit operator int? (JsonNode value); + +- public static explicit operator long? (JsonNode value); + +- public static explicit operator sbyte? (JsonNode value); + +- public static explicit operator float? (JsonNode value); + +- public static explicit operator ushort? (JsonNode value); + +- public static explicit operator uint? (JsonNode value); + +- public static explicit operator ulong? (JsonNode value); + +- public static explicit operator sbyte (JsonNode value); + +- public static explicit operator float (JsonNode value); + +- public static explicit operator string (JsonNode value); + +- public static explicit operator ushort (JsonNode value); + +- public static explicit operator uint (JsonNode value); + +- public static explicit operator ulong (JsonNode value); + +- public static implicit operator JsonNode (bool value); + +- public static implicit operator JsonNode (byte value); + +- public static implicit operator JsonNode (char value); + +- public static implicit operator JsonNode (DateTime value); + +- public static implicit operator JsonNode (DateTimeOffset value); + +- public static implicit operator JsonNode (decimal value); + +- public static implicit operator JsonNode (double value); + +- public static implicit operator JsonNode (Guid value); + +- public static implicit operator JsonNode (short value); + +- public static implicit operator JsonNode (int value); + +- public static implicit operator JsonNode (long value); + +- public static implicit operator JsonNode (bool? value); + +- public static implicit operator JsonNode (byte? value); + +- public static implicit operator JsonNode (char? value); + +- public static implicit operator JsonNode (DateTime? value); + +- public static implicit operator JsonNode (DateTimeOffset? value); + +- public static implicit operator JsonNode (decimal? value); + +- public static implicit operator JsonNode (double? value); + +- public static implicit operator JsonNode (Guid? value); + +- public static implicit operator JsonNode (short? value); + +- public static implicit operator JsonNode (int? value); + +- public static implicit operator JsonNode (long? value); + +- public static implicit operator JsonNode (sbyte? value); + +- public static implicit operator JsonNode (float? value); + +- public static implicit operator JsonNode (ushort? value); + +- public static implicit operator JsonNode (uint? value); + +- public static implicit operator JsonNode (ulong? value); + +- public static implicit operator JsonNode (sbyte value); + +- public static implicit operator JsonNode (float value); + +- public static implicit operator JsonNode (string value); + +- public static implicit operator JsonNode (ushort value); + +- public static implicit operator JsonNode (uint value); + +- public static implicit operator JsonNode (ulong value); + +- public static JsonNode Parse(Stream utf8Json, JsonNodeOptions? nodeOptions = default(JsonNodeOptions?), JsonDocumentOptions documentOptions = default(JsonDocumentOptions)); + +- public static JsonNode Parse(ReadOnlySpan utf8Json, JsonNodeOptions? nodeOptions = default(JsonNodeOptions?), JsonDocumentOptions documentOptions = default(JsonDocumentOptions)); + +- public static JsonNode Parse(string json, JsonNodeOptions? nodeOptions = default(JsonNodeOptions?), JsonDocumentOptions documentOptions = default(JsonDocumentOptions)); + +- public static JsonNode Parse(ref Utf8JsonReader reader, JsonNodeOptions? nodeOptions = default(JsonNodeOptions?)); + +- DynamicMetaObject System.Dynamic.IDynamicMetaObjectProvider.GetMetaObject(Expression parameter); + +- public string ToJsonString(JsonSerializerOptions options = null); + +- public override string ToString(); + +- public abstract void WriteTo(Utf8JsonWriter writer, JsonSerializerOptions options = null); + +- } +- public struct JsonNodeOptions { + { +- public bool PropertyNameCaseInsensitive { get; set; } + +- } +- public sealed class JsonObject : JsonNode, ICollection>, IDictionary, IEnumerable, IEnumerable> { + { +- public JsonObject(IEnumerable> properties, JsonNodeOptions? options = default(JsonNodeOptions?)); + +- public JsonObject(JsonNodeOptions? options = default(JsonNodeOptions?)); + +- public int Count { get; } + +- bool System.Collections.Generic.ICollection>.IsReadOnly { get; } + +- ICollection System.Collections.Generic.IDictionary.Keys { get; } + +- ICollection System.Collections.Generic.IDictionary.Values { get; } + +- public void Add(KeyValuePair property); + +- public void Add(string propertyName, JsonNode value); + +- public void Clear(); + +- public bool ContainsKey(string propertyName); + +- public static JsonObject Create(JsonElement element, JsonNodeOptions? options = default(JsonNodeOptions?)); + +- public IEnumerator> GetEnumerator(); + +- public bool Remove(string propertyName); + +- bool System.Collections.Generic.ICollection>.Contains(KeyValuePair item); + +- void System.Collections.Generic.ICollection>.CopyTo(KeyValuePair[] array, int index); + +- bool System.Collections.Generic.ICollection>.Remove(KeyValuePair item); + +- bool System.Collections.Generic.IDictionary.TryGetValue(string propertyName, out JsonNode jsonNode); + +- IEnumerator System.Collections.IEnumerable.GetEnumerator(); + +- public bool TryGetPropertyValue(string propertyName, out JsonNode jsonNode); + +- public override void WriteTo(Utf8JsonWriter writer, JsonSerializerOptions options = null); + +- } +- public abstract class JsonValue : JsonNode { + { +- public static JsonValue Create(T value, JsonNodeOptions? options = default(JsonNodeOptions?)); + +- public abstract bool TryGetValue(out T value); + +- } +-} +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Nodes.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Nodes.md new file mode 100644 index 0000000000..4429e616f9 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Nodes.md @@ -0,0 +1,142 @@ +# System.Text.Json.Nodes + +``` diff ++namespace System.Text.Json.Nodes { ++ public sealed class JsonArray : JsonNode, ICollection, IEnumerable, IEnumerable, IList { ++ public JsonArray(JsonNodeOptions? options = default(JsonNodeOptions?)); ++ public JsonArray(JsonNodeOptions options, params JsonNode[] items); ++ public JsonArray(params JsonNode[] items); ++ public int Count { get; } ++ bool System.Collections.Generic.ICollection.IsReadOnly { get; } ++ public void Add(JsonNode item); ++ public void Add(T value); ++ public void Clear(); ++ public bool Contains(JsonNode item); ++ public static JsonArray Create(JsonElement element, JsonNodeOptions? options = default(JsonNodeOptions?)); ++ public IEnumerator GetEnumerator(); ++ public int IndexOf(JsonNode item); ++ public void Insert(int index, JsonNode item); ++ public bool Remove(JsonNode item); ++ public void RemoveAt(int index); ++ void System.Collections.Generic.ICollection.CopyTo(JsonNode[] array, int index); ++ IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public override void WriteTo(Utf8JsonWriter writer, JsonSerializerOptions options = null); ++ } ++ public abstract class JsonNode : IDynamicMetaObjectProvider { ++ public JsonNodeOptions? Options { get; } ++ public JsonNode Parent { get; } ++ public JsonNode Root { get; } ++ public JsonNode this[int index] { get; set; } ++ public JsonNode this[string propertyName] { get; set; } ++ public JsonArray AsArray(); ++ public JsonObject AsObject(); ++ public JsonValue AsValue(); ++ public string GetPath(); ++ public virtual TValue GetValue(); ++ public static explicit operator bool (JsonNode value); ++ public static explicit operator byte (JsonNode value); ++ public static explicit operator char (JsonNode value); ++ public static explicit operator DateTime (JsonNode value); ++ public static explicit operator DateTimeOffset (JsonNode value); ++ public static explicit operator decimal (JsonNode value); ++ public static explicit operator double (JsonNode value); ++ public static explicit operator Guid (JsonNode value); ++ public static explicit operator short (JsonNode value); ++ public static explicit operator int (JsonNode value); ++ public static explicit operator long (JsonNode value); ++ public static explicit operator bool? (JsonNode value); ++ public static explicit operator byte? (JsonNode value); ++ public static explicit operator char? (JsonNode value); ++ public static explicit operator DateTimeOffset? (JsonNode value); ++ public static explicit operator DateTime? (JsonNode value); ++ public static explicit operator decimal? (JsonNode value); ++ public static explicit operator double? (JsonNode value); ++ public static explicit operator Guid? (JsonNode value); ++ public static explicit operator short? (JsonNode value); ++ public static explicit operator int? (JsonNode value); ++ public static explicit operator long? (JsonNode value); ++ public static explicit operator sbyte? (JsonNode value); ++ public static explicit operator float? (JsonNode value); ++ public static explicit operator ushort? (JsonNode value); ++ public static explicit operator uint? (JsonNode value); ++ public static explicit operator ulong? (JsonNode value); ++ public static explicit operator sbyte (JsonNode value); ++ public static explicit operator float (JsonNode value); ++ public static explicit operator string (JsonNode value); ++ public static explicit operator ushort (JsonNode value); ++ public static explicit operator uint (JsonNode value); ++ public static explicit operator ulong (JsonNode value); ++ public static implicit operator JsonNode (bool value); ++ public static implicit operator JsonNode (byte value); ++ public static implicit operator JsonNode (char value); ++ public static implicit operator JsonNode (DateTime value); ++ public static implicit operator JsonNode (DateTimeOffset value); ++ public static implicit operator JsonNode (decimal value); ++ public static implicit operator JsonNode (double value); ++ public static implicit operator JsonNode (Guid value); ++ public static implicit operator JsonNode (short value); ++ public static implicit operator JsonNode (int value); ++ public static implicit operator JsonNode (long value); ++ public static implicit operator JsonNode (bool? value); ++ public static implicit operator JsonNode (byte? value); ++ public static implicit operator JsonNode (char? value); ++ public static implicit operator JsonNode (DateTime? value); ++ public static implicit operator JsonNode (DateTimeOffset? value); ++ public static implicit operator JsonNode (decimal? value); ++ public static implicit operator JsonNode (double? value); ++ public static implicit operator JsonNode (Guid? value); ++ public static implicit operator JsonNode (short? value); ++ public static implicit operator JsonNode (int? value); ++ public static implicit operator JsonNode (long? value); ++ public static implicit operator JsonNode (sbyte? value); ++ public static implicit operator JsonNode (float? value); ++ public static implicit operator JsonNode (ushort? value); ++ public static implicit operator JsonNode (uint? value); ++ public static implicit operator JsonNode (ulong? value); ++ public static implicit operator JsonNode (sbyte value); ++ public static implicit operator JsonNode (float value); ++ public static implicit operator JsonNode (string value); ++ public static implicit operator JsonNode (ushort value); ++ public static implicit operator JsonNode (uint value); ++ public static implicit operator JsonNode (ulong value); ++ public static JsonNode Parse(Stream utf8Json, JsonNodeOptions? nodeOptions = default(JsonNodeOptions?), JsonDocumentOptions documentOptions = default(JsonDocumentOptions)); ++ public static JsonNode Parse(ReadOnlySpan utf8Json, JsonNodeOptions? nodeOptions = default(JsonNodeOptions?), JsonDocumentOptions documentOptions = default(JsonDocumentOptions)); ++ public static JsonNode Parse(string json, JsonNodeOptions? nodeOptions = default(JsonNodeOptions?), JsonDocumentOptions documentOptions = default(JsonDocumentOptions)); ++ public static JsonNode Parse(ref Utf8JsonReader reader, JsonNodeOptions? nodeOptions = default(JsonNodeOptions?)); ++ DynamicMetaObject System.Dynamic.IDynamicMetaObjectProvider.GetMetaObject(Expression parameter); ++ public string ToJsonString(JsonSerializerOptions options = null); ++ public override string ToString(); ++ public abstract void WriteTo(Utf8JsonWriter writer, JsonSerializerOptions options = null); ++ } ++ public struct JsonNodeOptions { ++ public bool PropertyNameCaseInsensitive { get; set; } ++ } ++ public sealed class JsonObject : JsonNode, ICollection>, IDictionary, IEnumerable, IEnumerable> { ++ public JsonObject(IEnumerable> properties, JsonNodeOptions? options = default(JsonNodeOptions?)); ++ public JsonObject(JsonNodeOptions? options = default(JsonNodeOptions?)); ++ public int Count { get; } ++ bool System.Collections.Generic.ICollection>.IsReadOnly { get; } ++ ICollection System.Collections.Generic.IDictionary.Keys { get; } ++ ICollection System.Collections.Generic.IDictionary.Values { get; } ++ public void Add(KeyValuePair property); ++ public void Add(string propertyName, JsonNode value); ++ public void Clear(); ++ public bool ContainsKey(string propertyName); ++ public static JsonObject Create(JsonElement element, JsonNodeOptions? options = default(JsonNodeOptions?)); ++ public IEnumerator> GetEnumerator(); ++ public bool Remove(string propertyName); ++ bool System.Collections.Generic.ICollection>.Contains(KeyValuePair item); ++ void System.Collections.Generic.ICollection>.CopyTo(KeyValuePair[] array, int index); ++ bool System.Collections.Generic.ICollection>.Remove(KeyValuePair item); ++ bool System.Collections.Generic.IDictionary.TryGetValue(string propertyName, out JsonNode jsonNode); ++ IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public bool TryGetPropertyValue(string propertyName, out JsonNode jsonNode); ++ public override void WriteTo(Utf8JsonWriter writer, JsonSerializerOptions options = null); ++ } ++ public abstract class JsonValue : JsonNode { ++ public static JsonValue Create(T value, JsonNodeOptions? options = default(JsonNodeOptions?)); ++ public abstract bool TryGetValue(out T value); ++ } ++} +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Serialization.Metadata.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Serialization.Metadata.md new file mode 100644 index 0000000000..ad39ab5353 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Serialization.Metadata.md @@ -0,0 +1,30 @@ +# System.Text.Json.Serialization.Metadata + +``` diff + namespace System.Text.Json.Serialization.Metadata { + public static class JsonMetadataServices { +- public static JsonTypeInfo CreateArrayInfo(JsonSerializerOptions options, JsonTypeInfo elementInfo, JsonNumberHandling numberHandling); + ++ public static JsonTypeInfo CreateArrayInfo(JsonSerializerOptions options, JsonTypeInfo elementInfo, JsonNumberHandling numberHandling, Action serializeFunc); +- public static JsonTypeInfo CreateDictionaryInfo(JsonSerializerOptions options, Func createObjectFunc, JsonTypeInfo keyInfo, JsonTypeInfo valueInfo, JsonNumberHandling numberHandling) where TCollection : Dictionary; + ++ public static JsonTypeInfo CreateDictionaryInfo(JsonSerializerOptions options, Func createObjectFunc, JsonTypeInfo keyInfo, JsonTypeInfo valueInfo, JsonNumberHandling numberHandling, Action serializeFunc) where TCollection : Dictionary; +- public static JsonTypeInfo CreateListInfo(JsonSerializerOptions options, Func createObjectFunc, JsonTypeInfo elementInfo, JsonNumberHandling numberHandling) where TCollection : List; + ++ public static JsonTypeInfo CreateListInfo(JsonSerializerOptions options, Func createObjectFunc, JsonTypeInfo elementInfo, JsonNumberHandling numberHandling, Action serializeFunc) where TCollection : List; +- public static JsonTypeInfo CreateObjectInfo(); + ++ public static JsonTypeInfo CreateObjectInfo(JsonSerializerOptions options, Func createObjectFunc, Func propInitFunc, JsonNumberHandling numberHandling, Action serializeFunc); +- public static void InitializeObjectInfo(JsonTypeInfo info, JsonSerializerOptions options, Func createObjectFunc, Func propInitFunc, JsonNumberHandling numberHandling); + + } + public class JsonTypeInfo { +- public static readonly Type ObjectType; + + } + public abstract class JsonTypeInfo : JsonTypeInfo { ++ public Action Serialize { get; } + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Serialization.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Serialization.md new file mode 100644 index 0000000000..f06eaebb30 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.Text.Json.Serialization.md @@ -0,0 +1,34 @@ +# System.Text.Json.Serialization + +``` diff + namespace System.Text.Json.Serialization { ++ public enum JsonKnownNamingPolicy { ++ BuiltInCamelCase = 1, ++ Unspecified = 0, ++ } + public sealed class JsonSerializableAttribute : JsonAttribute { ++ public JsonSourceGenerationMode GenerationMode { get; set; } + } + public abstract class JsonSerializerContext { +- protected JsonSerializerContext(JsonSerializerOptions options); + ++ protected JsonSerializerContext(JsonSerializerOptions instanceOptions, JsonSerializerOptions defaultOptions); + } ++ public class JsonSerializerOptionsAttribute : JsonAttribute { ++ public JsonSerializerOptionsAttribute(); ++ public JsonIgnoreCondition DefaultIgnoreCondition { get; set; } ++ public bool IgnoreReadOnlyFields { get; set; } ++ public bool IgnoreReadOnlyProperties { get; set; } ++ public bool IgnoreRuntimeCustomConverters { get; set; } ++ public bool IncludeFields { get; set; } ++ public JsonKnownNamingPolicy NamingPolicy { get; set; } ++ public bool WriteIndented { get; set; } ++ } ++ public enum JsonSourceGenerationMode { ++ Metadata = 1, ++ MetadataAndSerialization = 0, ++ Serialization = 2, ++ } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.md b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.md new file mode 100644 index 0000000000..572d75e5e1 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/.Net/6.0-preview5_System.md @@ -0,0 +1,10 @@ +# System + +``` diff + namespace System { + public abstract class Array : ICloneable, ICollection, IEnumerable, IList, IStructuralComparable, IStructuralEquatable { ++ public static int MaxLength { get; } + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5.md new file mode 100644 index 0000000000..513fa5260d --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5.md @@ -0,0 +1,16 @@ +# API Difference 6.0.0-preview4 vs 6.0.0-preview5 + +API listing follows standard diff formatting. Lines preceded by a '+' are +additions and a '-' indicates removal. + +* [Microsoft.AspNetCore.Authentication.Cookies](6.0-preview5_Microsoft.AspNetCore.Authentication.Cookies.md) +* [Microsoft.AspNetCore.Builder](6.0-preview5_Microsoft.AspNetCore.Builder.md) +* [Microsoft.AspNetCore.Connections](6.0-preview5_Microsoft.AspNetCore.Connections.md) +* [Microsoft.AspNetCore.Connections.Experimental](6.0-preview5_Microsoft.AspNetCore.Connections.Experimental.md) +* [Microsoft.AspNetCore.Http](6.0-preview5_Microsoft.AspNetCore.Http.md) +* [Microsoft.AspNetCore.Http.Connections](6.0-preview5_Microsoft.AspNetCore.Http.Connections.md) +* [Microsoft.AspNetCore.Mvc](6.0-preview5_Microsoft.AspNetCore.Mvc.md) +* [Microsoft.AspNetCore.Server.Kestrel.Core](6.0-preview5_Microsoft.AspNetCore.Server.Kestrel.Core.md) +* [Microsoft.AspNetCore.WebUtilities](6.0-preview5_Microsoft.AspNetCore.WebUtilities.md) +* [Microsoft.Extensions.DependencyInjection](6.0-preview5_Microsoft.Extensions.DependencyInjection.md) +* [Microsoft.Extensions.Hosting](6.0-preview5_Microsoft.Extensions.Hosting.md) diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Authentication.Cookies.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Authentication.Cookies.md new file mode 100644 index 0000000000..2da21181f2 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Authentication.Cookies.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Authentication.Cookies + +``` diff + namespace Microsoft.AspNetCore.Authentication.Cookies { + public interface ITicketStore { ++ Task RemoveAsync(string key, CancellationToken cancellationToken); ++ Task RenewAsync(string key, AuthenticationTicket ticket, CancellationToken cancellationToken); ++ Task RetrieveAsync(string key, CancellationToken cancellationToken); ++ Task StoreAsync(AuthenticationTicket ticket, CancellationToken cancellationToken); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Builder.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Builder.md new file mode 100644 index 0000000000..0741b793e1 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Builder.md @@ -0,0 +1,36 @@ +# Microsoft.AspNetCore.Builder + +``` diff + namespace Microsoft.AspNetCore.Builder { + public class IISServerOptions { ++ public int MaxRequestBodyBufferSize { get; set; } + } ++ public static class MinimalActionEndpointRouteBuilderExtensions { ++ public static MinimalActionEndpointConventionBuilder Map(this IEndpointRouteBuilder endpoints, RoutePattern pattern, Delegate action); ++ public static MinimalActionEndpointConventionBuilder Map(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); ++ public static MinimalActionEndpointConventionBuilder MapDelete(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); ++ public static MinimalActionEndpointConventionBuilder MapGet(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); ++ public static MinimalActionEndpointConventionBuilder MapMethods(this IEndpointRouteBuilder endpoints, string pattern, IEnumerable httpMethods, Delegate action); ++ public static MinimalActionEndpointConventionBuilder MapPost(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); ++ public static MinimalActionEndpointConventionBuilder MapPut(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); ++ } +- public static class MinmalActionEndpointRouteBuilderExtensions { + { +- public static MinimalActionEndpointConventionBuilder Map(this IEndpointRouteBuilder endpoints, RoutePattern pattern, Delegate action); + +- public static MinimalActionEndpointConventionBuilder Map(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); + +- public static MinimalActionEndpointConventionBuilder MapDelete(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); + +- public static MinimalActionEndpointConventionBuilder MapGet(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); + +- public static MinimalActionEndpointConventionBuilder MapMethods(this IEndpointRouteBuilder endpoints, string pattern, IEnumerable httpMethods, Delegate action); + +- public static MinimalActionEndpointConventionBuilder MapPost(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); + +- public static MinimalActionEndpointConventionBuilder MapPut(this IEndpointRouteBuilder endpoints, string pattern, Delegate action); + +- } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Connections.Experimental.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Connections.Experimental.md new file mode 100644 index 0000000000..f3cc0b114a --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Connections.Experimental.md @@ -0,0 +1,58 @@ +# Microsoft.AspNetCore.Connections.Experimental + +``` diff +-namespace Microsoft.AspNetCore.Connections.Experimental { + { +- 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); + +-} +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Connections.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Connections.md new file mode 100644 index 0000000000..424a2378d3 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Connections.md @@ -0,0 +1,35 @@ +# Microsoft.AspNetCore.Connections + +``` diff + namespace Microsoft.AspNetCore.Connections { ++ 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); + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Http.Connections.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Http.Connections.md new file mode 100644 index 0000000000..652a810d37 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Http.Connections.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Http.Connections + +``` diff + namespace Microsoft.AspNetCore.Http.Connections { + public class HttpConnectionDispatcherOptions { ++ public TimeSpan TransportSendTimeout { get; set; } + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Http.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Http.md new file mode 100644 index 0000000000..a41f62a45a --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Http.md @@ -0,0 +1,100 @@ +# Microsoft.AspNetCore.Http + +``` diff + namespace Microsoft.AspNetCore.Http { + public interface IHeaderDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable> { ++ StringValues Accept { get; set; } ++ StringValues AcceptCharset { get; set; } ++ StringValues AcceptEncoding { get; set; } ++ StringValues AcceptLanguage { get; set; } ++ StringValues AcceptRanges { get; set; } ++ StringValues AccessControlAllowCredentials { get; set; } ++ StringValues AccessControlAllowHeaders { get; set; } ++ StringValues AccessControlAllowMethods { get; set; } ++ StringValues AccessControlAllowOrigin { get; set; } ++ StringValues AccessControlExposeHeaders { get; set; } ++ StringValues AccessControlMaxAge { get; set; } ++ StringValues AccessControlRequestHeaders { get; set; } ++ StringValues AccessControlRequestMethod { get; set; } ++ StringValues Age { get; set; } ++ StringValues Allow { get; set; } ++ StringValues AltSvc { get; set; } ++ StringValues Authorization { get; set; } ++ StringValues Baggage { get; set; } ++ StringValues CacheControl { get; set; } ++ StringValues Connection { get; set; } ++ StringValues ContentDisposition { get; set; } ++ StringValues ContentEncoding { get; set; } ++ StringValues ContentLanguage { get; set; } ++ StringValues ContentLocation { get; set; } ++ StringValues ContentMD5 { get; set; } ++ StringValues ContentRange { get; set; } ++ StringValues ContentSecurityPolicy { get; set; } ++ StringValues ContentSecurityPolicyReportOnly { get; set; } ++ StringValues ContentType { get; set; } ++ StringValues Cookie { get; set; } ++ StringValues CorrelationContext { get; set; } ++ StringValues Date { get; set; } ++ StringValues ETag { get; set; } ++ StringValues Expect { get; set; } ++ StringValues Expires { get; set; } ++ StringValues From { get; set; } ++ StringValues GrpcAcceptEncoding { get; set; } ++ StringValues GrpcEncoding { get; set; } ++ StringValues GrpcMessage { get; set; } ++ StringValues GrpcStatus { get; set; } ++ StringValues GrpcTimeout { get; set; } ++ StringValues Host { get; set; } ++ StringValues IfMatch { get; set; } ++ StringValues IfModifiedSince { get; set; } ++ StringValues IfNoneMatch { get; set; } ++ StringValues IfRange { get; set; } ++ StringValues IfUnmodifiedSince { get; set; } ++ StringValues KeepAlive { get; set; } ++ StringValues LastModified { get; set; } ++ StringValues Link { get; set; } ++ StringValues Location { get; set; } ++ StringValues MaxForwards { get; set; } ++ StringValues Origin { get; set; } ++ StringValues Pragma { get; set; } ++ StringValues ProxyAuthenticate { get; set; } ++ StringValues ProxyAuthorization { get; set; } ++ StringValues ProxyConnection { get; set; } ++ StringValues Range { get; set; } ++ StringValues Referer { get; set; } ++ StringValues RequestId { get; set; } ++ StringValues RetryAfter { get; set; } ++ StringValues SecWebSocketAccept { get; set; } ++ StringValues SecWebSocketKey { get; set; } ++ StringValues SecWebSocketProtocol { get; set; } ++ StringValues SecWebSocketVersion { get; set; } ++ StringValues Server { get; set; } ++ StringValues SetCookie { get; set; } ++ StringValues StrictTransportSecurity { get; set; } ++ StringValues TE { get; set; } ++ StringValues TraceParent { get; set; } ++ StringValues TraceState { get; set; } ++ StringValues Trailer { get; set; } ++ StringValues TransferEncoding { get; set; } ++ StringValues Translate { get; set; } ++ StringValues Upgrade { get; set; } ++ StringValues UpgradeInsecureRequests { get; set; } ++ StringValues UserAgent { get; set; } ++ StringValues Vary { get; set; } ++ StringValues Via { get; set; } ++ StringValues Warning { get; set; } ++ StringValues WebSocketSubProtocols { get; set; } ++ StringValues WWWAuthenticate { get; set; } ++ StringValues XContentTypeOptions { get; set; } ++ StringValues XFrameOptions { get; set; } ++ StringValues XPoweredBy { get; set; } ++ StringValues XRequestedWith { get; set; } ++ StringValues XUACompatible { get; set; } ++ StringValues XXSSProtection { get; set; } + } + public interface IResponseCookies { ++ void Append(ReadOnlySpan> keyValuePairs, CookieOptions options); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Mvc.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Mvc.md new file mode 100644 index 0000000000..892e872511 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Mvc.md @@ -0,0 +1,27 @@ +# Microsoft.AspNetCore.Mvc + +``` diff + namespace Microsoft.AspNetCore.Mvc { +- public class ChallengeResult : ActionResult { ++ public class ChallengeResult : ActionResult, IResult { ++ Task Microsoft.AspNetCore.Http.IResult.ExecuteAsync(HttpContext httpContext); + } +- public class ContentResult : ActionResult, IActionResult, IStatusCodeActionResult { ++ public class ContentResult : ActionResult, IActionResult, IResult, IStatusCodeActionResult { ++ Task Microsoft.AspNetCore.Http.IResult.ExecuteAsync(HttpContext httpContext); + } +- public class ForbidResult : ActionResult { ++ public class ForbidResult : ActionResult, IResult { ++ Task Microsoft.AspNetCore.Http.IResult.ExecuteAsync(HttpContext httpContext); + } +- public class SignInResult : ActionResult { ++ public class SignInResult : ActionResult, IResult { ++ Task Microsoft.AspNetCore.Http.IResult.ExecuteAsync(HttpContext httpContext); + } +- public class SignOutResult : ActionResult { ++ public class SignOutResult : ActionResult, IResult { ++ Task Microsoft.AspNetCore.Http.IResult.ExecuteAsync(HttpContext httpContext); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Server.Kestrel.Core.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Server.Kestrel.Core.md new file mode 100644 index 0000000000..fe7a9b2e3b --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.Server.Kestrel.Core.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Server.Kestrel.Core + +``` diff + namespace Microsoft.AspNetCore.Server.Kestrel.Core { + public class ListenOptions : IConnectionBuilder, IMultiplexedConnectionBuilder { +- MultiplexedConnectionDelegate Microsoft.AspNetCore.Connections.Experimental.IMultiplexedConnectionBuilder.Build(); + +- IMultiplexedConnectionBuilder Microsoft.AspNetCore.Connections.Experimental.IMultiplexedConnectionBuilder.Use(Func middleware); + ++ MultiplexedConnectionDelegate Microsoft.AspNetCore.Connections.IMultiplexedConnectionBuilder.Build(); ++ IMultiplexedConnectionBuilder Microsoft.AspNetCore.Connections.IMultiplexedConnectionBuilder.Use(Func middleware); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.WebUtilities.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.WebUtilities.md new file mode 100644 index 0000000000..2784b88633 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.AspNetCore.WebUtilities.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.WebUtilities + +``` diff + namespace Microsoft.AspNetCore.WebUtilities { + public class FileBufferingReadStream : Stream { ++ public int MemoryThreshold { get; } + } + public sealed class FileBufferingWriteStream : Stream { ++ public int MemoryThreshold { get; } + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.Extensions.DependencyInjection.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.Extensions.DependencyInjection.md new file mode 100644 index 0000000000..5945731810 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.Extensions.DependencyInjection.md @@ -0,0 +1,17 @@ +# Microsoft.Extensions.DependencyInjection + +``` diff + namespace Microsoft.Extensions.DependencyInjection { ++ public readonly struct AsyncServiceScope : IAsyncDisposable, IDisposable, IServiceScope { ++ public AsyncServiceScope(IServiceScope serviceScope); ++ public IServiceProvider ServiceProvider { get; } ++ public void Dispose(); ++ public ValueTask DisposeAsync(); ++ } + public static class ServiceProviderServiceExtensions { ++ public static AsyncServiceScope CreateAsyncScope(this IServiceScopeFactory serviceScopeFactory); ++ public static AsyncServiceScope CreateAsyncScope(this IServiceProvider provider); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.Extensions.Hosting.md b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.Extensions.Hosting.md new file mode 100644 index 0000000000..b193debf77 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/Asp.Net/6.0-preview5_Microsoft.Extensions.Hosting.md @@ -0,0 +1,11 @@ +# Microsoft.Extensions.Hosting + +``` diff + namespace Microsoft.Extensions.Hosting { + public static class HostingHostBuilderExtensions { ++ public static IHostBuilder ConfigureHostOptions(this IHostBuilder hostBuilder, Action configureOptions); ++ public static IHostBuilder ConfigureHostOptions(this IHostBuilder hostBuilder, Action configureOptions); + } + } +``` + diff --git a/release-notes/6.0/preview/api-diff/preview5/README.md b/release-notes/6.0/preview/api-diff/preview5/README.md new file mode 100644 index 0000000000..5a267b6269 --- /dev/null +++ b/release-notes/6.0/preview/api-diff/preview5/README.md @@ -0,0 +1,6 @@ +# .NET 6.0 Preview 5 API Changes + +The following API changes were made in .NET 6.0 Preview 5: + +- [.NET](./.Net/6.0-preview5.md) +- [ASP.NET](./Asp.Net/6.0-preview5.md)