From bd26e3d632d3a8530d88f4c234b3a58fc5984421 Mon Sep 17 00:00:00 2001 From: Anipik Date: Thu, 15 Oct 2020 17:13:00 -0700 Subject: [PATCH 1/2] add api diff for rc2 --- .../5.0/preview/api-diff/rc2/.Net/5.0-rc2.md | 11 ++ .../rc2/.Net/5.0-rc2_System.Diagnostics.md | 11 ++ .../rc2/.Net/5.0-rc2_System.Globalization.md | 11 ++ .../rc2/.Net/5.0-rc2_System.IO.Pipelines.md | 167 ++++++++++++++++++ .../.Net/5.0-rc2_System.Net.Connections.md | 125 +++++++++++++ .../rc2/.Net/5.0-rc2_System.Net.Http.md | 24 +++ .../api-diff/rc2/.Net/5.0-rc2_System.Net.md | 37 ++++ .../preview/api-diff/rc2/Asp.Net/5.0-rc2.md | 11 ++ .../5.0-rc2_Microsoft.AspNetCore.Builder.md | 13 ++ ...mponents.Server.ProtectedBrowserStorage.md | 24 +++ ...spNetCore.Components.Web.Virtualization.md | 11 ++ ...-rc2_Microsoft.JSInterop.Implementation.md | 20 +++ .../Asp.Net/5.0-rc2_Microsoft.JSInterop.md | 58 ++++++ .../5.0/preview/api-diff/rc2/README.md | 6 + 14 files changed, 529 insertions(+) create mode 100644 release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Diagnostics.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Globalization.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.IO.Pipelines.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.Connections.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.Http.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Builder.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Components.Web.Virtualization.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.JSInterop.Implementation.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.JSInterop.md create mode 100644 release-notes/5.0/preview/api-diff/rc2/README.md diff --git a/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2.md b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2.md new file mode 100644 index 00000000000..ac73f767026 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2.md @@ -0,0 +1,11 @@ +# API Difference net5.0-rc1 vs net5.0-rc2 + +API listing follows standard diff formatting. Lines preceded by a '+' are +additions and a '-' indicates removal. + +* [System.Diagnostics](5.0-rc2_System.Diagnostics.md) +* [System.Globalization](5.0-rc2_System.Globalization.md) +* [System.Net](5.0-rc2_System.Net.md) +* [System.Net.Connections](5.0-rc2_System.Net.Connections.md) +* [System.Net.Http](5.0-rc2_System.Net.Http.md) + diff --git a/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Diagnostics.md b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Diagnostics.md new file mode 100644 index 00000000000..9b3c3100a2e --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Diagnostics.md @@ -0,0 +1,11 @@ +# System.Diagnostics + +``` diff + namespace System.Diagnostics { + public readonly struct ActivityContext : IEquatable { +- public ActivityContext(ActivityTraceId traceId, ActivitySpanId spanId, ActivityTraceFlags traceOptions, string traceState = null, bool isRemote = false); ++ public ActivityContext(ActivityTraceId traceId, ActivitySpanId spanId, ActivityTraceFlags traceFlags, string traceState = null, bool isRemote = false); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Globalization.md b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Globalization.md new file mode 100644 index 00000000000..ba566b5db18 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Globalization.md @@ -0,0 +1,11 @@ +# System.Globalization + +``` diff + namespace System.Globalization { + public sealed class CompareInfo : IDeserializationCallback { +- public bool IsPrefix(ReadOnlySpan source, ReadOnlySpan suffix, CompareOptions options, out int matchLength); ++ public bool IsPrefix(ReadOnlySpan source, ReadOnlySpan prefix, CompareOptions options, out int matchLength); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.IO.Pipelines.md b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.IO.Pipelines.md new file mode 100644 index 00000000000..8e078195284 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.IO.Pipelines.md @@ -0,0 +1,167 @@ +# System.IO.Pipelines + +``` diff +-namespace System.IO.Pipelines { + { +- public struct FlushResult { + { +- public FlushResult(bool isCanceled, bool isCompleted); + +- public bool IsCanceled { get; } + +- public bool IsCompleted { get; } + +- } +- public interface IDuplexPipe { + { +- PipeReader Input { get; } + +- PipeWriter Output { get; } + +- } +- public sealed class Pipe { + { +- public Pipe(); + +- public Pipe(PipeOptions options); + +- public PipeReader Reader { get; } + +- public PipeWriter Writer { get; } + +- public void Reset(); + +- } +- public class PipeOptions { + { +- public PipeOptions(MemoryPool pool = null, PipeScheduler readerScheduler = null, PipeScheduler writerScheduler = null, long pauseWriterThreshold = (long)-1, long resumeWriterThreshold = (long)-1, int minimumSegmentSize = -1, bool useSynchronizationContext = true); + +- public static PipeOptions Default { get; } + +- public int MinimumSegmentSize { get; } + +- public long PauseWriterThreshold { get; } + +- public MemoryPool Pool { get; } + +- public PipeScheduler ReaderScheduler { get; } + +- public long ResumeWriterThreshold { get; } + +- public bool UseSynchronizationContext { get; } + +- public PipeScheduler WriterScheduler { get; } + +- } +- public abstract class PipeReader { + { +- protected PipeReader(); + +- public abstract void AdvanceTo(SequencePosition consumed); + +- public abstract void AdvanceTo(SequencePosition consumed, SequencePosition examined); + +- public virtual Stream AsStream(bool leaveOpen = false); + +- public abstract void CancelPendingRead(); + +- public abstract void Complete(Exception exception = null); + +- public virtual ValueTask CompleteAsync(Exception exception = null); + +- public virtual Task CopyToAsync(PipeWriter destination, CancellationToken cancellationToken = default(CancellationToken)); + +- public virtual Task CopyToAsync(Stream destination, CancellationToken cancellationToken = default(CancellationToken)); + +- public static PipeReader Create(Stream stream, StreamPipeReaderOptions readerOptions = null); + +- public virtual void OnWriterCompleted(Action callback, object state); + +- public abstract ValueTask ReadAsync(CancellationToken cancellationToken = default(CancellationToken)); + +- public abstract bool TryRead(out ReadResult result); + +- } +- public abstract class PipeScheduler { + { +- protected PipeScheduler(); + +- public static PipeScheduler Inline { get; } + +- public static PipeScheduler ThreadPool { get; } + +- public abstract void Schedule(Action action, object state); + +- } +- public abstract class PipeWriter : IBufferWriter { + { +- protected PipeWriter(); + +- public abstract void Advance(int bytes); + +- public virtual Stream AsStream(bool leaveOpen = false); + +- public abstract void CancelPendingFlush(); + +- public abstract void Complete(Exception exception = null); + +- public virtual ValueTask CompleteAsync(Exception exception = null); + +- protected internal virtual Task CopyFromAsync(Stream source, CancellationToken cancellationToken = default(CancellationToken)); + +- public static PipeWriter Create(Stream stream, StreamPipeWriterOptions writerOptions = null); + +- public abstract ValueTask FlushAsync(CancellationToken cancellationToken = default(CancellationToken)); + +- public abstract Memory GetMemory(int sizeHint = 0); + +- public abstract Span GetSpan(int sizeHint = 0); + +- public virtual void OnReaderCompleted(Action callback, object state); + +- public virtual ValueTask WriteAsync(ReadOnlyMemory source, CancellationToken cancellationToken = default(CancellationToken)); + +- } +- public readonly struct ReadResult { + { +- public ReadResult(ReadOnlySequence buffer, bool isCanceled, bool isCompleted); + +- public ReadOnlySequence Buffer { get; } + +- public bool IsCanceled { get; } + +- public bool IsCompleted { get; } + +- } +- public static class StreamPipeExtensions { + { +- public static Task CopyToAsync(this Stream source, PipeWriter destination, CancellationToken cancellationToken = default(CancellationToken)); + +- } +- public class StreamPipeReaderOptions { + { +- public StreamPipeReaderOptions(MemoryPool pool = null, int bufferSize = -1, int minimumReadSize = -1, bool leaveOpen = false); + +- public int BufferSize { get; } + +- public bool LeaveOpen { get; } + +- public int MinimumReadSize { get; } + +- public MemoryPool Pool { get; } + +- } +- public class StreamPipeWriterOptions { + { +- public StreamPipeWriterOptions(MemoryPool pool = null, int minimumBufferSize = -1, bool leaveOpen = false); + +- public bool LeaveOpen { get; } + +- public int MinimumBufferSize { get; } + +- public MemoryPool Pool { get; } + +- } +-} +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.Connections.md b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.Connections.md new file mode 100644 index 00000000000..939af10d7c6 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.Connections.md @@ -0,0 +1,125 @@ +# System.Net.Connections + +``` diff +-namespace System.Net.Connections { + { +- public abstract class Connection : ConnectionBase { + { +- protected Connection(); + +- public IDuplexPipe Pipe { get; } + +- public Stream Stream { get; } + +- protected virtual IDuplexPipe CreatePipe(); + +- protected virtual Stream CreateStream(); + +- public static Connection FromPipe(IDuplexPipe pipe, bool leaveOpen = false, IConnectionProperties properties = null, EndPoint localEndPoint = null, EndPoint remoteEndPoint = null); + +- public static Connection FromStream(Stream stream, bool leaveOpen = false, IConnectionProperties properties = null, EndPoint localEndPoint = null, EndPoint remoteEndPoint = null); + +- } +- public abstract class ConnectionBase : IAsyncDisposable, IDisposable { + { +- protected ConnectionBase(); + +- public abstract IConnectionProperties ConnectionProperties { get; } + +- public abstract EndPoint LocalEndPoint { get; } + +- public abstract EndPoint RemoteEndPoint { get; } + +- public ValueTask CloseAsync(ConnectionCloseMethod method = ConnectionCloseMethod.GracefulShutdown, CancellationToken cancellationToken = default(CancellationToken)); + +- protected abstract ValueTask CloseAsyncCore(ConnectionCloseMethod method, CancellationToken cancellationToken); + +- public void Dispose(); + +- public ValueTask DisposeAsync(); + +- } +- public enum ConnectionCloseMethod { + { +- Abort = 1, + +- GracefulShutdown = 0, + +- Immediate = 2, + +- } +- public static class ConnectionExtensions { + { +- public static ConnectionFactory Filter(this ConnectionFactory factory, Func> filter); + +- public static bool TryGet(this IConnectionProperties properties, out T property); + +- } +- public abstract class ConnectionFactory : IAsyncDisposable, IDisposable { + { +- protected ConnectionFactory(); + +- public abstract ValueTask ConnectAsync(EndPoint endPoint, IConnectionProperties options = null, CancellationToken cancellationToken = default(CancellationToken)); + +- public void Dispose(); + +- protected virtual void Dispose(bool disposing); + +- public ValueTask DisposeAsync(); + +- protected virtual ValueTask DisposeAsyncCore(); + +- } +- public abstract class ConnectionListener : IAsyncDisposable, IDisposable { + { +- protected ConnectionListener(); + +- public abstract IConnectionProperties ListenerProperties { get; } + +- public abstract EndPoint LocalEndPoint { get; } + +- public abstract ValueTask AcceptAsync(IConnectionProperties options = null, CancellationToken cancellationToken = default(CancellationToken)); + +- public void Dispose(); + +- protected virtual void Dispose(bool disposing); + +- public ValueTask DisposeAsync(); + +- protected virtual ValueTask DisposeAsyncCore(); + +- } +- public abstract class ConnectionListenerFactory : IAsyncDisposable, IDisposable { + { +- protected ConnectionListenerFactory(); + +- public void Dispose(); + +- protected virtual void Dispose(bool disposing); + +- public ValueTask DisposeAsync(); + +- protected virtual ValueTask DisposeAsyncCore(); + +- public abstract ValueTask ListenAsync(EndPoint endPoint, IConnectionProperties options = null, CancellationToken cancellationToken = default(CancellationToken)); + +- } +- public interface IConnectionProperties { + { +- bool TryGet(Type propertyKey, out object property); + +- } +- public class SocketsConnectionFactory : ConnectionFactory { + { +- public SocketsConnectionFactory(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType); + +- public SocketsConnectionFactory(SocketType socketType, ProtocolType protocolType); + +- public override ValueTask ConnectAsync(EndPoint endPoint, IConnectionProperties options = null, CancellationToken cancellationToken = default(CancellationToken)); + +- protected virtual Socket CreateSocket(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType, EndPoint endPoint, IConnectionProperties options); + +- } +-} +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.Http.md b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.Http.md new file mode 100644 index 00000000000..c4766a4d004 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.Http.md @@ -0,0 +1,24 @@ +# System.Net.Http + +``` diff + namespace System.Net.Http { ++ public sealed class SocketsHttpConnectionContext { ++ public DnsEndPoint DnsEndPoint { get; } ++ public HttpRequestMessage InitialRequestMessage { get; } ++ } + public sealed class SocketsHttpHandler : HttpMessageHandler { ++ public Func> ConnectCallback { get; set; } +- public ConnectionFactory ConnectionFactory { get; set; } + +- public Func> PlaintextFilter { get; set; } + ++ public Func> PlaintextStreamFilter { get; set; } + } ++ public sealed class SocketsHttpPlaintextStreamFilterContext { ++ public HttpRequestMessage InitialRequestMessage { get; } ++ public Version NegotiatedHttpVersion { get; } ++ public Stream PlaintextStream { get; } ++ } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.md b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.md new file mode 100644 index 00000000000..b62b365224c --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.Net.md @@ -0,0 +1,37 @@ +# System.Net + +``` diff + namespace System.Net { +- public enum NetworkError { + { +- ConnectionAborted = 6, + +- ConnectionRefused = 4, + +- ConnectionReset = 7, + +- EndPointInUse = 1, + +- HostNotFound = 2, + +- OperationAborted = 5, + +- Other = 0, + +- TimedOut = 3, + +- } +- public class NetworkException : IOException { + { +- public NetworkException(NetworkError error, Exception innerException = null); + +- protected NetworkException(SerializationInfo serializationInfo, StreamingContext streamingContext); + +- public NetworkException(string message, NetworkError error, Exception innerException = null); + +- public NetworkError NetworkError { get; } + +- } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2.md b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2.md new file mode 100644 index 00000000000..bb87f4a99a7 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2.md @@ -0,0 +1,11 @@ +# API Difference net5.0-rc1 vs net5.0-rc2 + +API listing follows standard diff formatting. Lines preceded by a '+' are +additions and a '-' indicates removal. + +* [Microsoft.AspNetCore.Builder](5.0-rc2_Microsoft.AspNetCore.Builder.md) +* [Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage](5.0-rc2_Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage.md) +* [Microsoft.AspNetCore.Components.Web.Virtualization](5.0-rc2_Microsoft.AspNetCore.Components.Web.Virtualization.md) +* [Microsoft.JSInterop](5.0-rc2_Microsoft.JSInterop.md) +* [Microsoft.JSInterop.Implementation](5.0-rc2_Microsoft.JSInterop.Implementation.md) + diff --git a/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Builder.md b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Builder.md new file mode 100644 index 00000000000..2ce17a4886e --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Builder.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Builder + +``` diff + namespace Microsoft.AspNetCore.Builder { + public static class ControllerEndpointRouteBuilderExtensions { ++ public static void MapDynamicControllerRoute(this IEndpointRouteBuilder endpoints, string pattern, object state, int order) where TTransformer : DynamicRouteValueTransformer; + } + public static class RazorPagesEndpointRouteBuilderExtensions { ++ public static void MapDynamicPageRoute(this IEndpointRouteBuilder endpoints, string pattern, object state, int order) where TTransformer : DynamicRouteValueTransformer; + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage.md b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage.md new file mode 100644 index 00000000000..f57514f60f4 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage.md @@ -0,0 +1,24 @@ +# Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage + +``` diff ++namespace Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage { ++ public abstract class ProtectedBrowserStorage { ++ public ValueTask DeleteAsync(string key); ++ public ValueTask> GetAsync(string key); ++ public ValueTask> GetAsync(string purpose, string key); ++ public ValueTask SetAsync(string key, object value); ++ public ValueTask SetAsync(string purpose, string key, object value); ++ } ++ public readonly struct ProtectedBrowserStorageResult { ++ public bool Success { get; } ++ public TValue Value { get; } ++ } ++ public sealed class ProtectedLocalStorage : ProtectedBrowserStorage { ++ public ProtectedLocalStorage(IJSRuntime jsRuntime, IDataProtectionProvider dataProtectionProvider); ++ } ++ public sealed class ProtectedSessionStorage : ProtectedBrowserStorage { ++ public ProtectedSessionStorage(IJSRuntime jsRuntime, IDataProtectionProvider dataProtectionProvider); ++ } ++} +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Components.Web.Virtualization.md b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Components.Web.Virtualization.md new file mode 100644 index 00000000000..4e320c1345c --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.AspNetCore.Components.Web.Virtualization.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Components.Web.Virtualization + +``` diff + namespace Microsoft.AspNetCore.Components.Web.Virtualization { + public sealed class Virtualize : ComponentBase, IAsyncDisposable, IVirtualizeJsCallbacks { ++ public int OverscanCount { get; set; } ++ public Task RefreshDataAsync(); + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.JSInterop.Implementation.md b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.JSInterop.Implementation.md new file mode 100644 index 00000000000..65d5fa3303f --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.JSInterop.Implementation.md @@ -0,0 +1,20 @@ +# Microsoft.JSInterop.Implementation + +``` diff ++namespace Microsoft.JSInterop.Implementation { ++ public class JSInProcessObjectReference : JSObjectReference, IAsyncDisposable, IDisposable, IJSInProcessObjectReference, IJSObjectReference { ++ protected internal JSInProcessObjectReference(JSInProcessRuntime jsRuntime, long id); ++ public void Dispose(); ++ public TValue Invoke(string identifier, params object[] args); ++ } ++ public class JSObjectReference : IAsyncDisposable, IJSObjectReference { ++ protected internal JSObjectReference(JSRuntime jsRuntime, long id); ++ protected internal long Id { get; } ++ public ValueTask DisposeAsync(); ++ public ValueTask InvokeAsync(string identifier, object[] args); ++ public ValueTask InvokeAsync(string identifier, CancellationToken cancellationToken, object[] args); ++ protected void ThrowIfDisposed(); ++ } ++} +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.JSInterop.md b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.JSInterop.md new file mode 100644 index 00000000000..3d58d7a7ee8 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/Asp.Net/5.0-rc2_Microsoft.JSInterop.md @@ -0,0 +1,58 @@ +# Microsoft.JSInterop + +``` diff + namespace Microsoft.JSInterop { ++ public interface IJSInProcessObjectReference : IAsyncDisposable, IDisposable, IJSObjectReference { ++ TValue Invoke(string identifier, params object[] args); ++ } + public interface IJSInProcessRuntime : IJSRuntime { +- T Invoke(string identifier, params object[] args); + ++ TResult Invoke(string identifier, params object[] args); + } ++ public interface IJSObjectReference : IAsyncDisposable { ++ ValueTask InvokeAsync(string identifier, object[] args); ++ ValueTask InvokeAsync(string identifier, CancellationToken cancellationToken, object[] args); ++ } ++ public interface IJSUnmarshalledObjectReference : IAsyncDisposable, IDisposable, IJSInProcessObjectReference, IJSObjectReference { ++ TResult InvokeUnmarshalled(string identifier, T0 arg0, T1 arg1, T2 arg2); ++ TResult InvokeUnmarshalled(string identifier, T0 arg0, T1 arg1); ++ TResult InvokeUnmarshalled(string identifier, T0 arg0); ++ TResult InvokeUnmarshalled(string identifier); ++ } +- public class JSInProcessObjectReference : JSObjectReference { + { +- public TValue Invoke(string identifier, params object[] args); + +- } ++ public static class JSInProcessObjectReferenceExtensions { ++ public static void InvokeVoid(this IJSInProcessObjectReference jsObjectReference, string identifier, params object[] args); ++ } +- public class JSObjectReference : IAsyncDisposable { + { +- public ValueTask DisposeAsync(); + +- public ValueTask InvokeAsync(string identifier, params object[] args); + +- public ValueTask InvokeAsync(string identifier, CancellationToken cancellationToken, params object[] args); + +- public ValueTask InvokeVoidAsync(string identifier, params object[] args); + +- protected void ThrowIfDisposed(); + +- } ++ public static class JSObjectReferenceExtensions { ++ public static ValueTask InvokeAsync(this IJSObjectReference jsObjectReference, string identifier, params object[] args); ++ public static ValueTask InvokeAsync(this IJSObjectReference jsObjectReference, string identifier, CancellationToken cancellationToken, params object[] args); ++ public static ValueTask InvokeAsync(this IJSObjectReference jsObjectReference, string identifier, TimeSpan timeout, params object[] args); ++ public static ValueTask InvokeVoidAsync(this IJSObjectReference jsObjectReference, string identifier, params object[] args); ++ public static ValueTask InvokeVoidAsync(this IJSObjectReference jsObjectReference, string identifier, CancellationToken cancellationToken, params object[] args); ++ public static ValueTask InvokeVoidAsync(this IJSObjectReference jsObjectReference, string identifier, TimeSpan timeout, params object[] args); ++ } + public abstract class JSRuntime : IJSRuntime { +- protected static JSCallResultType ResultTypeFromGeneric(); + + } + } +``` + diff --git a/release-notes/5.0/preview/api-diff/rc2/README.md b/release-notes/5.0/preview/api-diff/rc2/README.md new file mode 100644 index 00000000000..87bebfe1150 --- /dev/null +++ b/release-notes/5.0/preview/api-diff/rc2/README.md @@ -0,0 +1,6 @@ +# .NET 5.0 rc2 API Changes + +The following API changes were made in .NET 5.0 Preview 8: + +- [.NET](./.Net/5.0-rc2.md) +- [ASP.NET](./Asp.Net/5.0-rc2.md) From 389d23e32e1a7e888f1397f7187b80487094206c Mon Sep 17 00:00:00 2001 From: Anipik Date: Fri, 16 Oct 2020 11:40:29 -0700 Subject: [PATCH 2/2] remove system.io.pipelines file --- .../rc2/.Net/5.0-rc2_System.IO.Pipelines.md | 167 ------------------ 1 file changed, 167 deletions(-) delete mode 100644 release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.IO.Pipelines.md diff --git a/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.IO.Pipelines.md b/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.IO.Pipelines.md deleted file mode 100644 index 8e078195284..00000000000 --- a/release-notes/5.0/preview/api-diff/rc2/.Net/5.0-rc2_System.IO.Pipelines.md +++ /dev/null @@ -1,167 +0,0 @@ -# System.IO.Pipelines - -``` diff --namespace System.IO.Pipelines { - { -- public struct FlushResult { - { -- public FlushResult(bool isCanceled, bool isCompleted); - -- public bool IsCanceled { get; } - -- public bool IsCompleted { get; } - -- } -- public interface IDuplexPipe { - { -- PipeReader Input { get; } - -- PipeWriter Output { get; } - -- } -- public sealed class Pipe { - { -- public Pipe(); - -- public Pipe(PipeOptions options); - -- public PipeReader Reader { get; } - -- public PipeWriter Writer { get; } - -- public void Reset(); - -- } -- public class PipeOptions { - { -- public PipeOptions(MemoryPool pool = null, PipeScheduler readerScheduler = null, PipeScheduler writerScheduler = null, long pauseWriterThreshold = (long)-1, long resumeWriterThreshold = (long)-1, int minimumSegmentSize = -1, bool useSynchronizationContext = true); - -- public static PipeOptions Default { get; } - -- public int MinimumSegmentSize { get; } - -- public long PauseWriterThreshold { get; } - -- public MemoryPool Pool { get; } - -- public PipeScheduler ReaderScheduler { get; } - -- public long ResumeWriterThreshold { get; } - -- public bool UseSynchronizationContext { get; } - -- public PipeScheduler WriterScheduler { get; } - -- } -- public abstract class PipeReader { - { -- protected PipeReader(); - -- public abstract void AdvanceTo(SequencePosition consumed); - -- public abstract void AdvanceTo(SequencePosition consumed, SequencePosition examined); - -- public virtual Stream AsStream(bool leaveOpen = false); - -- public abstract void CancelPendingRead(); - -- public abstract void Complete(Exception exception = null); - -- public virtual ValueTask CompleteAsync(Exception exception = null); - -- public virtual Task CopyToAsync(PipeWriter destination, CancellationToken cancellationToken = default(CancellationToken)); - -- public virtual Task CopyToAsync(Stream destination, CancellationToken cancellationToken = default(CancellationToken)); - -- public static PipeReader Create(Stream stream, StreamPipeReaderOptions readerOptions = null); - -- public virtual void OnWriterCompleted(Action callback, object state); - -- public abstract ValueTask ReadAsync(CancellationToken cancellationToken = default(CancellationToken)); - -- public abstract bool TryRead(out ReadResult result); - -- } -- public abstract class PipeScheduler { - { -- protected PipeScheduler(); - -- public static PipeScheduler Inline { get; } - -- public static PipeScheduler ThreadPool { get; } - -- public abstract void Schedule(Action action, object state); - -- } -- public abstract class PipeWriter : IBufferWriter { - { -- protected PipeWriter(); - -- public abstract void Advance(int bytes); - -- public virtual Stream AsStream(bool leaveOpen = false); - -- public abstract void CancelPendingFlush(); - -- public abstract void Complete(Exception exception = null); - -- public virtual ValueTask CompleteAsync(Exception exception = null); - -- protected internal virtual Task CopyFromAsync(Stream source, CancellationToken cancellationToken = default(CancellationToken)); - -- public static PipeWriter Create(Stream stream, StreamPipeWriterOptions writerOptions = null); - -- public abstract ValueTask FlushAsync(CancellationToken cancellationToken = default(CancellationToken)); - -- public abstract Memory GetMemory(int sizeHint = 0); - -- public abstract Span GetSpan(int sizeHint = 0); - -- public virtual void OnReaderCompleted(Action callback, object state); - -- public virtual ValueTask WriteAsync(ReadOnlyMemory source, CancellationToken cancellationToken = default(CancellationToken)); - -- } -- public readonly struct ReadResult { - { -- public ReadResult(ReadOnlySequence buffer, bool isCanceled, bool isCompleted); - -- public ReadOnlySequence Buffer { get; } - -- public bool IsCanceled { get; } - -- public bool IsCompleted { get; } - -- } -- public static class StreamPipeExtensions { - { -- public static Task CopyToAsync(this Stream source, PipeWriter destination, CancellationToken cancellationToken = default(CancellationToken)); - -- } -- public class StreamPipeReaderOptions { - { -- public StreamPipeReaderOptions(MemoryPool pool = null, int bufferSize = -1, int minimumReadSize = -1, bool leaveOpen = false); - -- public int BufferSize { get; } - -- public bool LeaveOpen { get; } - -- public int MinimumReadSize { get; } - -- public MemoryPool Pool { get; } - -- } -- public class StreamPipeWriterOptions { - { -- public StreamPipeWriterOptions(MemoryPool pool = null, int minimumBufferSize = -1, bool leaveOpen = false); - -- public bool LeaveOpen { get; } - -- public int MinimumBufferSize { get; } - -- public MemoryPool Pool { get; } - -- } --} -``` -