From 2fa55a983fbbdf0e79a54934655da5c3bd5905a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20S=C3=A1nchez=20L=C3=B3pez?= <1175054+carlossanlop@users.noreply.github.com> Date: Wed, 26 Apr 2023 11:58:12 -0700 Subject: [PATCH] API diff between .NET 8.0 Preview 2 and .NET 8 Preview 3 (#8387) * API diff between .NET 8.0 Preview 2 and .NET 8 Preview 3 * Microsoft.AspNetCore.App * Microsoft.NETCore.App * Microsoft.WindowsDesktop.App * Update release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Net.md Co-authored-by: Stephen Toub --------- Co-authored-by: Stephen Toub --- .../Microsoft.AspNetCore.App/8.0-preview3.md | 25 ++ ...0-preview3_Microsoft.AspNetCore.Builder.md | 33 ++ ...crosoft.AspNetCore.Components.Endpoints.md | 36 ++ ...3_Microsoft.AspNetCore.Components.Forms.md | 10 + ...ft.AspNetCore.Components.Infrastructure.md | 10 + ...icrosoft.AspNetCore.Components.Sections.md | 29 ++ ...t.AspNetCore.Components.Server.Circuits.md | 13 + ...ew3_Microsoft.AspNetCore.Components.Web.md | 27 ++ ...review3_Microsoft.AspNetCore.Components.md | 45 +++ ...crosoft.AspNetCore.Connections.Features.md | 10 + ...eview3_Microsoft.AspNetCore.Diagnostics.md | 13 + .../8.0-preview3_Microsoft.AspNetCore.Html.md | 10 + ...iew3_Microsoft.AspNetCore.Http.Timeouts.md | 35 ++ .../8.0-preview3_Microsoft.AspNetCore.Http.md | 21 + ...0-preview3_Microsoft.AspNetCore.Routing.md | 10 + ...AspNetCore.Server.Kestrel.Core.Features.md | 10 + ...icrosoft.Extensions.DependencyInjection.md | 14 + ...iew3_Microsoft.Extensions.FileProviders.md | 12 + ...0-preview3_Microsoft.Extensions.Options.md | 16 + ...8.0-preview3_Microsoft.Net.Http.Headers.md | 23 ++ .../Microsoft.NETCore.App/8.0-preview3.md | 13 + .../8.0-preview3_System.Net.md | 16 + ...review3_System.Runtime.CompilerServices.md | 16 + ...-preview3_System.Runtime.Intrinsics.X86.md | 137 +++++++ ...0-preview3_System.Security.Cryptography.md | 10 + .../8.0-preview3_System.Text.Json.md | 10 + .../8.0-preview3_System.Threading.md | 10 + .../8.0-preview3_System.md | 36 ++ .../8.0-preview3.md | 16 + ...tem.ComponentModel.Design.Serialization.md | 17 + ...0-preview3_System.ComponentModel.Design.md | 23 ++ ...-preview3_System.Configuration.Internal.md | 17 + .../8.0-preview3_System.DirectoryServices.md | 24 ++ .../8.0-preview3_System.Drawing.Drawing2D.md | 10 + .../8.0-preview3_System.Drawing.Imaging.md | 12 + .../8.0-preview3_System.Drawing.Printing.md | 19 + .../8.0-preview3_System.Drawing.md | 93 +++++ ....0-preview3_System.Windows.Forms.Design.md | 25 ++ .../8.0-preview3_System.Windows.Forms.md | 358 ++++++++++++++++++ .../8.0/preview/api-diff/preview3/README.md | 7 + 40 files changed, 1271 insertions(+) create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Builder.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Endpoints.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Forms.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Infrastructure.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Sections.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Server.Circuits.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Web.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Connections.Features.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Diagnostics.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Html.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Http.Timeouts.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Http.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Routing.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Server.Kestrel.Core.Features.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.DependencyInjection.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.FileProviders.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.Options.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Net.Http.Headers.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Net.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Runtime.CompilerServices.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Runtime.Intrinsics.X86.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Security.Cryptography.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Text.Json.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Threading.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.ComponentModel.Design.Serialization.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.ComponentModel.Design.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Configuration.Internal.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.DirectoryServices.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Drawing2D.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Imaging.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Printing.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Windows.Forms.Design.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Windows.Forms.md create mode 100644 release-notes/8.0/preview/api-diff/preview3/README.md diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3.md new file mode 100644 index 00000000000..fdc4c9c1c99 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3.md @@ -0,0 +1,25 @@ +# API Difference 8.0-preview2 vs 8.0-preview3 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [Microsoft.AspNetCore.Builder](8.0-preview3_Microsoft.AspNetCore.Builder.md) +* [Microsoft.AspNetCore.Components](8.0-preview3_Microsoft.AspNetCore.Components.md) +* [Microsoft.AspNetCore.Components.Endpoints](8.0-preview3_Microsoft.AspNetCore.Components.Endpoints.md) +* [Microsoft.AspNetCore.Components.Forms](8.0-preview3_Microsoft.AspNetCore.Components.Forms.md) +* [Microsoft.AspNetCore.Components.Infrastructure](8.0-preview3_Microsoft.AspNetCore.Components.Infrastructure.md) +* [Microsoft.AspNetCore.Components.Sections](8.0-preview3_Microsoft.AspNetCore.Components.Sections.md) +* [Microsoft.AspNetCore.Components.Server.Circuits](8.0-preview3_Microsoft.AspNetCore.Components.Server.Circuits.md) +* [Microsoft.AspNetCore.Components.Web](8.0-preview3_Microsoft.AspNetCore.Components.Web.md) +* [Microsoft.AspNetCore.Connections.Features](8.0-preview3_Microsoft.AspNetCore.Connections.Features.md) +* [Microsoft.AspNetCore.Diagnostics](8.0-preview3_Microsoft.AspNetCore.Diagnostics.md) +* [Microsoft.AspNetCore.Html](8.0-preview3_Microsoft.AspNetCore.Html.md) +* [Microsoft.AspNetCore.Http](8.0-preview3_Microsoft.AspNetCore.Http.md) +* [Microsoft.AspNetCore.Http.Timeouts](8.0-preview3_Microsoft.AspNetCore.Http.Timeouts.md) +* [Microsoft.AspNetCore.Routing](8.0-preview3_Microsoft.AspNetCore.Routing.md) +* [Microsoft.AspNetCore.Server.Kestrel.Core.Features](8.0-preview3_Microsoft.AspNetCore.Server.Kestrel.Core.Features.md) +* [Microsoft.Extensions.DependencyInjection](8.0-preview3_Microsoft.Extensions.DependencyInjection.md) +* [Microsoft.Extensions.FileProviders](8.0-preview3_Microsoft.Extensions.FileProviders.md) +* [Microsoft.Extensions.Options](8.0-preview3_Microsoft.Extensions.Options.md) +* [Microsoft.Net.Http.Headers](8.0-preview3_Microsoft.Net.Http.Headers.md) + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Builder.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Builder.md new file mode 100644 index 00000000000..aaeee6c6d1f --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Builder.md @@ -0,0 +1,33 @@ +# Microsoft.AspNetCore.Builder + +``` diff + namespace Microsoft.AspNetCore.Builder { ++ public class ComponentTypeMetadata { ++ public ComponentTypeMetadata(Type componentType); ++ public Type Type { get; } ++ } + public static class CorsEndpointConventionBuilderExtensions { ++ public static TBuilder RequireCors(this TBuilder builder) where TBuilder : IEndpointConventionBuilder; + } ++ public class RazorComponentEndpointConventionBuilder : IEndpointConventionBuilder { ++ public void Add(Action convention); ++ public void Finally(Action finallyConvention); ++ } ++ public static class RazorComponentsEndpointRouteBuilderExtensions { ++ public static RazorComponentEndpointConventionBuilder MapRazorComponents(this IEndpointRouteBuilder endpoints) where TRootComponent : IRazorComponentApplication; ++ } ++ public static class RequestTimeoutsIApplicationBuilderExtensions { ++ public static IApplicationBuilder UseRequestTimeouts(this IApplicationBuilder builder); ++ } ++ public static class RequestTimeoutsIEndpointConventionBuilderExtensions { ++ public static IEndpointConventionBuilder DisableRequestTimeout(this IEndpointConventionBuilder builder); ++ public static IEndpointConventionBuilder WithRequestTimeout(this IEndpointConventionBuilder builder, RequestTimeoutPolicy policy); ++ public static IEndpointConventionBuilder WithRequestTimeout(this IEndpointConventionBuilder builder, string policyName); ++ public static IEndpointConventionBuilder WithRequestTimeout(this IEndpointConventionBuilder builder, TimeSpan timeout); ++ } ++ public static class RouteShortCircuitEndpointConventionBuilderExtensions { ++ public static IEndpointConventionBuilder ShortCircuit(this IEndpointConventionBuilder builder, int? statusCode = default(int?)); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Endpoints.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Endpoints.md new file mode 100644 index 00000000000..27ec1d25e70 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Endpoints.md @@ -0,0 +1,36 @@ +# Microsoft.AspNetCore.Components.Endpoints + +``` diff ++namespace Microsoft.AspNetCore.Components.Endpoints { ++ public interface IComponentPrerenderer { ++ Dispatcher Dispatcher { get; } ++ ValueTask PrerenderComponentAsync(HttpContext httpContext, Type componentType, RenderMode renderMode, ParameterView parameters); ++ ValueTask PrerenderPersistedStateAsync(HttpContext httpContext, PersistedStateSerializationMode serializationMode); ++ } ++ public interface IRazorComponentsBuilder { ++ IServiceCollection Services { get; } ++ } ++ public class RazorComponentResult : IResult { ++ public RazorComponentResult(Type componentType); ++ public RazorComponentResult(Type componentType, IReadOnlyDictionary? parameters); ++ public RazorComponentResult(Type componentType, object? parameters); ++ public Type ComponentType { get; } ++ public string? ContentType { get; set; } ++ public IReadOnlyDictionary Parameters { get; } ++ public RenderMode RenderMode { get; set; } ++ public int? StatusCode { get; set; } ++ public Task ExecuteAsync(HttpContext httpContext); ++ } ++ public class RazorComponentResult : RazorComponentResult where TComponent : IComponent { ++ public RazorComponentResult(); ++ public RazorComponentResult(IReadOnlyDictionary parameters); ++ public RazorComponentResult(object parameters); ++ } ++ public class RazorComponentResultExecutor { ++ public static readonly string DefaultContentType; ++ public RazorComponentResultExecutor(); ++ public virtual Task ExecuteAsync(HttpContext httpContext, RazorComponentResult result); ++ } ++} +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Forms.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Forms.md new file mode 100644 index 00000000000..e354e008809 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Forms.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Components.Forms + +``` diff + namespace Microsoft.AspNetCore.Components.Forms { + public class InputFile : ComponentBase, IDisposable, IInputFileJsCallbacks { +- protected override void OnInitialized(); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Infrastructure.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Infrastructure.md new file mode 100644 index 00000000000..2854893c325 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Infrastructure.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Components.Infrastructure + +``` diff + namespace Microsoft.AspNetCore.Components.Infrastructure { + public class ComponentStatePersistenceManager { ++ public Task PersistStateAsync(IPersistentComponentStateStore store, Dispatcher dispatcher); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Sections.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Sections.md new file mode 100644 index 00000000000..9ef6bc8e1f6 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Sections.md @@ -0,0 +1,29 @@ +# Microsoft.AspNetCore.Components.Sections + +``` diff ++namespace Microsoft.AspNetCore.Components.Sections { ++ public sealed class SectionContent : IComponent, IDisposable, ISectionContentProvider { ++ public SectionContent(); ++ [ParameterAttribute] ++ public RenderFragment ChildContent { get; set; } ++ [ParameterAttribute] ++ public object SectionId { get; set; } ++ [ParameterAttribute] ++ public string SectionName { get; set; } ++ public void Dispose(); ++ void IComponent.Attach(RenderHandle renderHandle); ++ Task IComponent.SetParametersAsync(ParameterView parameters); ++ } ++ public sealed class SectionOutlet : IComponent, IDisposable, ISectionContentSubscriber { ++ public SectionOutlet(); ++ [ParameterAttribute] ++ public object SectionId { get; set; } ++ [ParameterAttribute] ++ public string SectionName { get; set; } ++ public void Dispose(); ++ void IComponent.Attach(RenderHandle renderHandle); ++ Task IComponent.SetParametersAsync(ParameterView parameters); ++ } ++} +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Server.Circuits.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Server.Circuits.md new file mode 100644 index 00000000000..f14dca529fd --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Server.Circuits.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Components.Server.Circuits + +``` diff + namespace Microsoft.AspNetCore.Components.Server.Circuits { + public abstract class CircuitHandler { ++ public virtual Func CreateInboundActivityHandler(Func next); + } ++ public sealed class CircuitInboundActivityContext { ++ public Circuit Circuit { get; } ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Web.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Web.md new file mode 100644 index 00000000000..140e6483629 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.Web.md @@ -0,0 +1,27 @@ +# Microsoft.AspNetCore.Components.Web + +``` diff + namespace Microsoft.AspNetCore.Components.Web { ++ public sealed class HtmlComponent { ++ public static HtmlComponent Empty { get; } ++ public string ToHtmlString(); ++ public Task WaitForQuiescenceAsync(); ++ public void WriteHtmlTo(TextWriter output); ++ } ++ public sealed class HtmlRenderer : IAsyncDisposable, IDisposable { ++ public HtmlRenderer(IServiceProvider services, ILoggerFactory loggerFactory); ++ public Dispatcher Dispatcher { get; } ++ public HtmlComponent BeginRenderingComponent(Type componentType); ++ public HtmlComponent BeginRenderingComponent(Type componentType, ParameterView parameters); ++ public HtmlComponent BeginRenderingComponent() where TComponent : IComponent; ++ public HtmlComponent BeginRenderingComponent(ParameterView parameters) where TComponent : IComponent; ++ public void Dispose(); ++ public ValueTask DisposeAsync(); ++ public Task RenderComponentAsync(Type componentType); ++ public Task RenderComponentAsync(Type componentType, ParameterView parameters); ++ public Task RenderComponentAsync() where TComponent : IComponent; ++ public Task RenderComponentAsync(ParameterView parameters) where TComponent : IComponent; ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.md new file mode 100644 index 00000000000..b3f6aea75eb --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Components.md @@ -0,0 +1,45 @@ +# Microsoft.AspNetCore.Components + +``` diff + namespace Microsoft.AspNetCore.Components { ++ public class ComponentApplicationBuilder { ++ public ComponentApplicationBuilder(); ++ public RazorComponentApplication Build(); ++ } + public readonly struct EventCallback : IEventCallback { +- public EventCallback(IHandleEvent? receiver, MulticastDelegate? @delegate); ++ public EventCallback(IHandleEvent receiver, MulticastDelegate @delegate); ++ public override bool Equals(object obj); ++ public override int GetHashCode(); + } + public readonly struct EventCallback : IEventCallback { ++ public override bool Equals(object obj); ++ public override int GetHashCode(); + } ++ public interface IRazorComponentApplication where TComponent : IRazorComponentApplication { ++ static ComponentApplicationBuilder GetBuilder(); ++ } ++ public class PageDefinition { ++ public string DisplayName { get; } ++ public IReadOnlyList Metadata { get; } ++ public string Route { get; } ++ public Type Type { get; } ++ } ++ public enum PersistedStateSerializationMode { ++ Infer = 1, ++ Server = 2, ++ WebAssembly = 3, ++ } ++ public class RazorComponentApplication { ++ public IEnumerable Pages { get; } ++ } ++ public enum RenderMode { ++ Server = 2, ++ ServerPrerendered = 3, ++ Static = 1, ++ WebAssembly = 4, ++ WebAssemblyPrerendered = 5, ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Connections.Features.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Connections.Features.md new file mode 100644 index 00000000000..4d5e538ea16 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Connections.Features.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Connections.Features + +``` diff + namespace Microsoft.AspNetCore.Connections.Features { + public interface ITlsHandshakeFeature { ++ TlsCipherSuite? NegotiatedCipherSuite { get; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Diagnostics.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Diagnostics.md new file mode 100644 index 00000000000..b58b21f1496 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Diagnostics.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Diagnostics + +``` diff + namespace Microsoft.AspNetCore.Diagnostics { + public interface IStatusCodeReExecuteFeature { ++ int OriginalStatusCode { get; } + } + public class StatusCodeReExecuteFeature : IStatusCodeReExecuteFeature { ++ public int OriginalStatusCode { get; internal set; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Html.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Html.md new file mode 100644 index 00000000000..ef4cbc3d210 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Html.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Html + +``` diff + namespace Microsoft.AspNetCore.Html { ++ public interface IHtmlAsyncContent : IHtmlContent { ++ ValueTask WriteToAsync(TextWriter writer); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Http.Timeouts.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Http.Timeouts.md new file mode 100644 index 00000000000..55764ec640d --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Http.Timeouts.md @@ -0,0 +1,35 @@ +# Microsoft.AspNetCore.Http.Timeouts + +``` diff ++namespace Microsoft.AspNetCore.Http.Timeouts { ++ [AttributeUsageAttribute(68)] ++ public sealed class DisableRequestTimeoutAttribute : Attribute { ++ public DisableRequestTimeoutAttribute(); ++ } ++ public interface IHttpRequestTimeoutFeature { ++ CancellationToken RequestTimeoutToken { get; } ++ void DisableTimeout(); ++ } ++ [AttributeUsageAttribute(68)] ++ public sealed class RequestTimeoutAttribute : Attribute { ++ public RequestTimeoutAttribute(int milliseconds); ++ public RequestTimeoutAttribute(string policyName); ++ public string PolicyName { get; } ++ public TimeSpan? Timeout { get; } ++ } ++ public sealed class RequestTimeoutOptions { ++ public RequestTimeoutOptions(); ++ public RequestTimeoutPolicy? DefaultPolicy { get; set; } ++ public IDictionary Policies { get; } ++ public RequestTimeoutOptions AddPolicy(string policyName, RequestTimeoutPolicy policy); ++ public RequestTimeoutOptions AddPolicy(string policyName, TimeSpan timeout); ++ } ++ public sealed class RequestTimeoutPolicy { ++ public RequestTimeoutPolicy(); ++ public TimeSpan? Timeout { get; set; } ++ public int? TimeoutStatusCode { get; set; } ++ public RequestDelegate WriteTimeoutResponse { get; set; } ++ } ++} +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Http.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Http.md new file mode 100644 index 00000000000..6c61c4af23f --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Http.md @@ -0,0 +1,21 @@ +# Microsoft.AspNetCore.Http + +``` diff + namespace Microsoft.AspNetCore.Http { + public abstract class EndpointFilterInvocationContext { ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T arg); + } + public static class TypedResults { ++ public static IResultExtensions Extensions { get; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Routing.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Routing.md new file mode 100644 index 00000000000..0d9635e12b0 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Routing.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Routing + +``` diff + namespace Microsoft.AspNetCore.Routing { ++ public static class RouteShortCircuitEndpointRouteBuilderExtensions { ++ public static IEndpointConventionBuilder MapShortCircuit(this IEndpointRouteBuilder builder, int statusCode, params string[] routePrefixes); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Server.Kestrel.Core.Features.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Server.Kestrel.Core.Features.md new file mode 100644 index 00000000000..250b78a8f51 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.AspNetCore.Server.Kestrel.Core.Features.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Server.Kestrel.Core.Features + +``` diff + namespace Microsoft.AspNetCore.Server.Kestrel.Core.Features { ++ public interface ISslStreamFeature { ++ SslStream SslStream { get; } ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.DependencyInjection.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.DependencyInjection.md new file mode 100644 index 00000000000..1a5fad22b26 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.DependencyInjection.md @@ -0,0 +1,14 @@ +# Microsoft.Extensions.DependencyInjection + +``` diff + namespace Microsoft.Extensions.DependencyInjection { ++ public static class RazorComponentsServiceCollectionExtensions { ++ public static IRazorComponentsBuilder AddRazorComponents(this IServiceCollection services); ++ } ++ public static class RequestTimeoutsIServiceCollectionExtensions { ++ public static IServiceCollection AddRequestTimeouts(this IServiceCollection services); ++ public static IServiceCollection AddRequestTimeouts(this IServiceCollection services, Action configure); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.FileProviders.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.FileProviders.md new file mode 100644 index 00000000000..0f2133c478c --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.FileProviders.md @@ -0,0 +1,12 @@ +# Microsoft.Extensions.FileProviders + +``` diff + namespace Microsoft.Extensions.FileProviders { + public class EmbeddedFileProvider : IFileProvider { +- public EmbeddedFileProvider(Assembly assembly, string? baseNamespace); ++ [UnconditionalSuppressMessageAttribute("SingleFile", "IL3000:Assembly.Location", Justification="The code handles if the Assembly.Location is empty. Workaround https://github.com/dotnet/runtime/issues/83607")] ++ public EmbeddedFileProvider(Assembly assembly, string? baseNamespace); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.Options.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.Options.md new file mode 100644 index 00000000000..df896fea642 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Extensions.Options.md @@ -0,0 +1,16 @@ +# Microsoft.Extensions.Options + +``` diff + namespace Microsoft.Extensions.Options { ++ public class ValidateOptionsResultBuilder { ++ public ValidateOptionsResultBuilder(); ++ public void AddError(string error, string? propertyName = null); ++ public void AddResult(ValidateOptionsResult result); ++ public void AddResult(ValidationResult? result); ++ public void AddResults(IEnumerable? results); ++ public ValidateOptionsResult Build(); ++ public void Clear(); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Net.Http.Headers.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Net.Http.Headers.md new file mode 100644 index 00000000000..b28cd90a1e2 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.AspNetCore.App/8.0-preview3_Microsoft.Net.Http.Headers.md @@ -0,0 +1,23 @@ +# Microsoft.Net.Http.Headers + +``` diff + namespace Microsoft.Net.Http.Headers { + public class ContentRangeHeaderValue { +- public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out ContentRangeHeaderValue parsedValue); ++ public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out ContentRangeHeaderValue? parsedValue); + } + public class EntityTagHeaderValue { +- public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out EntityTagHeaderValue parsedValue); ++ public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out EntityTagHeaderValue? parsedValue); + } + public class RangeHeaderValue { +- public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out RangeHeaderValue parsedValue); ++ public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out RangeHeaderValue? parsedValue); + } + public class StringWithQualityHeaderValue { +- public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out StringWithQualityHeaderValue parsedValue); ++ public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out StringWithQualityHeaderValue? parsedValue); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3.md new file mode 100644 index 00000000000..09d4941ee5b --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3.md @@ -0,0 +1,13 @@ +# API Difference 8.0-preview2 vs 8.0-preview3 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [System](8.0-preview3_System.md) +* [System.Net](8.0-preview3_System.Net.md) +* [System.Runtime.CompilerServices](8.0-preview3_System.Runtime.CompilerServices.md) +* [System.Runtime.Intrinsics.X86](8.0-preview3_System.Runtime.Intrinsics.X86.md) +* [System.Security.Cryptography](8.0-preview3_System.Security.Cryptography.md) +* [System.Text.Json](8.0-preview3_System.Text.Json.md) +* [System.Threading](8.0-preview3_System.Threading.md) + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Net.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Net.md new file mode 100644 index 00000000000..a057573e418 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Net.md @@ -0,0 +1,16 @@ +# System.Net + +``` diff + namespace System.Net { +- public class IPAddress { ++ public class IPAddress : IFormattable, IParsable, ISpanFormattable, ISpanParsable { ++ string IFormattable.ToString(string format, IFormatProvider formatProvider); ++ static IPAddress IParsable.Parse(string s, IFormatProvider provider); ++ static bool IParsable.TryParse([NotNullWhenAttribute(true)] string? s, IFormatProvider provider, [NotNullWhenAttribute(true)] out IPAddress result); ++ bool ISpanFormattable.TryFormat(Span destination, out int charsWritten, ReadOnlySpan format, IFormatProvider provider); ++ static IPAddress ISpanParsable.Parse(ReadOnlySpan s, IFormatProvider provider); ++ static bool ISpanParsable.TryParse(ReadOnlySpan s, IFormatProvider provider, out IPAddress result); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Runtime.CompilerServices.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Runtime.CompilerServices.md new file mode 100644 index 00000000000..bccd5114773 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Runtime.CompilerServices.md @@ -0,0 +1,16 @@ +# System.Runtime.CompilerServices + +``` diff + namespace System.Runtime.CompilerServices { ++ [AttributeUsageAttribute(AttributeTargets.Struct, AllowMultiple=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class InlineArrayAttribute : Attribute { ++ public InlineArrayAttribute(int length); ++ public int Length { get; } ++ } + public static class Unsafe { ++ public static TTo BitCast(TFrom source) where TFrom : struct where TTo : struct; + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Runtime.Intrinsics.X86.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Runtime.Intrinsics.X86.md new file mode 100644 index 00000000000..553920ae84a --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Runtime.Intrinsics.X86.md @@ -0,0 +1,137 @@ +# System.Runtime.Intrinsics.X86 + +``` diff + namespace System.Runtime.Intrinsics.X86 { ++ [CLSCompliantAttribute(false)] ++ public abstract class Avx512BW : Avx512F { ++ public static new bool IsSupported { get; } ++ public new abstract class VL : Avx512F.VL { ++ public static new bool IsSupported { get; } ++ } ++ public new abstract class X64 : Avx512F.X64 { ++ public static new bool IsSupported { get; } ++ } ++ } ++ [CLSCompliantAttribute(false)] ++ public abstract class Avx512CD : Avx512F { ++ public static new bool IsSupported { get; } ++ public new abstract class VL : Avx512F.VL { ++ public static new bool IsSupported { get; } ++ } ++ public new abstract class X64 : Avx512F.X64 { ++ public static new bool IsSupported { get; } ++ } ++ } ++ [CLSCompliantAttribute(false)] ++ public abstract class Avx512DQ : Avx512F { ++ public static new bool IsSupported { get; } ++ public new abstract class VL : Avx512F.VL { ++ public static new bool IsSupported { get; } ++ } ++ public new abstract class X64 : Avx512F.X64 { ++ public static new bool IsSupported { get; } ++ } ++ } ++ [CLSCompliantAttribute(false)] ++ public abstract class Avx512F : Avx2 { ++ public static new bool IsSupported { get; } ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public unsafe static Vector512 LoadAlignedVector512(byte* address); ++ public unsafe static Vector512 LoadAlignedVector512(double* address); ++ public unsafe static Vector512 LoadAlignedVector512(short* address); ++ public unsafe static Vector512 LoadAlignedVector512(int* address); ++ public unsafe static Vector512 LoadAlignedVector512(long* address); ++ public unsafe static Vector512 LoadAlignedVector512(sbyte* address); ++ public unsafe static Vector512 LoadAlignedVector512(float* address); ++ public unsafe static Vector512 LoadAlignedVector512(ushort* address); ++ public unsafe static Vector512 LoadAlignedVector512(uint* address); ++ public unsafe static Vector512 LoadAlignedVector512(ulong* address); ++ public unsafe static Vector512 LoadVector512(byte* address); ++ public unsafe static Vector512 LoadVector512(double* address); ++ public unsafe static Vector512 LoadVector512(short* address); ++ public unsafe static Vector512 LoadVector512(int* address); ++ public unsafe static Vector512 LoadVector512(long* address); ++ public unsafe static Vector512 LoadVector512(sbyte* address); ++ public unsafe static Vector512 LoadVector512(float* address); ++ public unsafe static Vector512 LoadVector512(ushort* address); ++ public unsafe static Vector512 LoadVector512(uint* address); ++ public unsafe static Vector512 LoadVector512(ulong* address); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public unsafe static void Store(byte* address, Vector512 source); ++ public unsafe static void Store(double* address, Vector512 source); ++ public unsafe static void Store(short* address, Vector512 source); ++ public unsafe static void Store(int* address, Vector512 source); ++ public unsafe static void Store(long* address, Vector512 source); ++ public unsafe static void Store(sbyte* address, Vector512 source); ++ public unsafe static void Store(float* address, Vector512 source); ++ public unsafe static void Store(ushort* address, Vector512 source); ++ public unsafe static void Store(uint* address, Vector512 source); ++ public unsafe static void Store(ulong* address, Vector512 source); ++ public unsafe static void StoreAligned(byte* address, Vector512 source); ++ public unsafe static void StoreAligned(double* address, Vector512 source); ++ public unsafe static void StoreAligned(short* address, Vector512 source); ++ public unsafe static void StoreAligned(int* address, Vector512 source); ++ public unsafe static void StoreAligned(long* address, Vector512 source); ++ public unsafe static void StoreAligned(sbyte* address, Vector512 source); ++ public unsafe static void StoreAligned(float* address, Vector512 source); ++ public unsafe static void StoreAligned(ushort* address, Vector512 source); ++ public unsafe static void StoreAligned(uint* address, Vector512 source); ++ public unsafe static void StoreAligned(ulong* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(byte* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(double* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(short* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(int* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(long* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(sbyte* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(float* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(ushort* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(uint* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(ulong* address, Vector512 source); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public abstract class VL { ++ public static bool IsSupported { get; } ++ } ++ public new abstract class X64 : Avx2.X64 { ++ public static new bool IsSupported { get; } ++ } ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Security.Cryptography.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Security.Cryptography.md new file mode 100644 index 00000000000..435ec5c4cbe --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Security.Cryptography.md @@ -0,0 +1,10 @@ +# System.Security.Cryptography + +``` diff + namespace System.Security.Cryptography { + public abstract class ECDiffieHellman : ECAlgorithm { ++ public virtual byte[] DeriveRawSecretAgreement(ECDiffieHellmanPublicKey otherPartyPublicKey); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Text.Json.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Text.Json.md new file mode 100644 index 00000000000..c7de7eda8d2 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Text.Json.md @@ -0,0 +1,10 @@ +# System.Text.Json + +``` diff + namespace System.Text.Json { + public sealed class JsonSerializerOptions { ++ public IList TypeInfoResolverChain { get; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Threading.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Threading.md new file mode 100644 index 00000000000..41c33de1aeb --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.Threading.md @@ -0,0 +1,10 @@ +# System.Threading + +``` diff + namespace System.Threading { + public sealed class PeriodicTimer : IDisposable { ++ public TimeSpan Period { get; set; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.md new file mode 100644 index 00000000000..2e54b58181a --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.NETCore.App/8.0-preview3_System.md @@ -0,0 +1,36 @@ +# System + +``` diff + namespace System { +- public readonly struct Boolean : IComparable, IComparable, IConvertible, IEquatable { ++ public readonly struct Boolean : IComparable, IComparable, IConvertible, IEquatable, IParsable, ISpanParsable { ++ static bool IParsable.Parse(string s, IFormatProvider provider); ++ static bool IParsable.TryParse([NotNullWhenAttribute(true)] string s, IFormatProvider provider, out bool result); ++ static bool ISpanParsable.Parse(ReadOnlySpan s, IFormatProvider provider); ++ static bool ISpanParsable.TryParse(ReadOnlySpan s, IFormatProvider provider, out bool result); + } + public enum ConsoleKey { ++ None = 0, + } + [FlagsAttribute] + public enum ConsoleModifiers { ++ None = 0, + } + public static class MemoryExtensions { ++ public static ReadOnlySpan AsSpan(this string? text, Index startIndex); ++ public static ReadOnlySpan AsSpan(this string? text, Range range); ++ public static void Replace(this ReadOnlySpan source, Span destination, T oldValue, T newValue) where T : IEquatable?; + } + public sealed class OperatingSystem : ICloneable, ISerializable { ++ public static bool IsWasi(); + } +- public sealed class String : ICloneable, IComparable, IComparable, IConvertible, IEnumerable, IEnumerable, IEquatable { ++ public sealed class String : ICloneable, IComparable, IComparable, IConvertible, IEnumerable, IEnumerable, IEquatable, IParsable, ISpanParsable { ++ static string IParsable.Parse(string s, IFormatProvider provider); ++ static bool IParsable.TryParse([NotNullWhenAttribute(true)] string s, IFormatProvider provider, [MaybeNullWhenAttribute(false)] out string result); ++ static string ISpanParsable.Parse(ReadOnlySpan s, IFormatProvider provider); ++ static bool ISpanParsable.TryParse(ReadOnlySpan s, IFormatProvider provider, [MaybeNullWhenAttribute(false)] out string result); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3.md new file mode 100644 index 00000000000..21b65b378eb --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3.md @@ -0,0 +1,16 @@ +# API Difference 8.0-preview2 vs 8.0-preview3 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [System.ComponentModel.Design](8.0-preview3_System.ComponentModel.Design.md) +* [System.ComponentModel.Design.Serialization](8.0-preview3_System.ComponentModel.Design.Serialization.md) +* [System.Configuration.Internal](8.0-preview3_System.Configuration.Internal.md) +* [System.DirectoryServices](8.0-preview3_System.DirectoryServices.md) +* [System.Drawing](8.0-preview3_System.Drawing.md) +* [System.Drawing.Drawing2D](8.0-preview3_System.Drawing.Drawing2D.md) +* [System.Drawing.Imaging](8.0-preview3_System.Drawing.Imaging.md) +* [System.Drawing.Printing](8.0-preview3_System.Drawing.Printing.md) +* [System.Windows.Forms](8.0-preview3_System.Windows.Forms.md) +* [System.Windows.Forms.Design](8.0-preview3_System.Windows.Forms.Design.md) + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.ComponentModel.Design.Serialization.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.ComponentModel.Design.Serialization.md new file mode 100644 index 00000000000..4f018227da0 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.ComponentModel.Design.Serialization.md @@ -0,0 +1,17 @@ +# System.ComponentModel.Design.Serialization + +``` diff + namespace System.ComponentModel.Design.Serialization { + public sealed class ExpressionContext { +- public ExpressionContext(CodeExpression expression, Type expressionType, object owner, object presetValue); ++ public ExpressionContext(CodeExpression expression, Type expressionType, object owner, object? presetValue); +- public object PresetValue { get; } ++ public object? PresetValue { get; } + } + public sealed class ObjectStatementCollection : IEnumerable { +- public CodeStatementCollection this[object statementOwner] { get; } ++ public CodeStatementCollection? this[object statementOwner] { get; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.ComponentModel.Design.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.ComponentModel.Design.md new file mode 100644 index 00000000000..6b32793716c --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.ComponentModel.Design.md @@ -0,0 +1,23 @@ +# System.ComponentModel.Design + +``` diff + namespace System.ComponentModel.Design { + public class DesignerActionList { +- public DesignerActionList(IComponent component); ++ public DesignerActionList(IComponent? component); +- public IComponent Component { get; } ++ public IComponent? Component { get; } +- public object GetService(Type serviceType); ++ public object? GetService(Type serviceType); + } + public class DesignerActionListCollection : CollectionBase { +- public DesignerActionListCollection(DesignerActionList[] value); ++ public DesignerActionListCollection(DesignerActionList?[] value); +- public void AddRange(DesignerActionList[] value); ++ public void AddRange(DesignerActionList?[] value); +- public void CopyTo(DesignerActionList[] array, int index); ++ public void CopyTo(DesignerActionList?[] array, int index); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Configuration.Internal.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Configuration.Internal.md new file mode 100644 index 00000000000..e5c101e54cd --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Configuration.Internal.md @@ -0,0 +1,17 @@ +# System.Configuration.Internal + +``` diff + namespace System.Configuration.Internal { + public class DelegatingConfigHost : IInternalConfigHost { +- public virtual void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady); ++ [ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady); + } + public interface IInternalConfigHost { +- void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady); ++ [ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.DirectoryServices.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.DirectoryServices.md new file mode 100644 index 00000000000..80f6190147b --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.DirectoryServices.md @@ -0,0 +1,24 @@ +# System.DirectoryServices + +``` diff + namespace System.DirectoryServices { + [ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] + public sealed class DirectoryServicesPermission : ResourcePermissionBase { +- public DirectoryServicesPermission(DirectoryServicesPermissionEntry[]? permissionAccessEntries); ++ public DirectoryServicesPermission(DirectoryServicesPermissionEntry[] permissionAccessEntries); + } + public class DirectoryServicesPermissionEntryCollection : CollectionBase { +- public DirectoryServicesPermissionEntry? this[int index] { get; set; } ++ public DirectoryServicesPermissionEntry this[int index] { get; set; } +- protected override void OnInsert(int index, object? value); ++ protected override void OnInsert(int index, object value); +- protected override void OnRemove(int index, object? value); ++ protected override void OnRemove(int index, object value); +- protected override void OnSet(int index, object? oldValue, object? newValue); ++ protected override void OnSet(int index, object oldValue, object newValue); +- public void Remove(DirectoryServicesPermissionEntry? value); ++ public void Remove(DirectoryServicesPermissionEntry value); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Drawing2D.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Drawing2D.md new file mode 100644 index 00000000000..4a9e3471fc9 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Drawing2D.md @@ -0,0 +1,10 @@ +# System.Drawing.Drawing2D + +``` diff + namespace System.Drawing.Drawing2D { +- public enum LinearGradientMode ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public enum LinearGradientMode + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Imaging.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Imaging.md new file mode 100644 index 00000000000..86615506822 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Imaging.md @@ -0,0 +1,12 @@ +# System.Drawing.Imaging + +``` diff + namespace System.Drawing.Imaging { +- [EditorAttribute("System.Drawing.Design.MetafileEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- public sealed class Metafile : Image ++ [EditorAttribute("System.Drawing.Design.MetafileEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public sealed class Metafile : Image + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Printing.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Printing.md new file mode 100644 index 00000000000..b511b8f1c01 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.Printing.md @@ -0,0 +1,19 @@ +# System.Drawing.Printing + +``` diff + namespace System.Drawing.Printing { +- public class InvalidPrinterException : SystemException ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public class InvalidPrinterException : SystemException + [TypeConverterAttribute(typeof(MarginsConverter))] + public class Margins : ICloneable { +- public override bool Equals([NotNullWhenAttribute(true)] object obj); ++ public override bool Equals([NotNullWhenAttribute(true)] object? obj); +- public static bool operator ==(Margins m1, Margins m2); ++ public static bool operator ==(Margins? m1, Margins? m2); +- public static bool operator !=(Margins m1, Margins m2); ++ public static bool operator !=(Margins? m1, Margins? m2); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.md new file mode 100644 index 00000000000..a2d96f56dc7 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Drawing.md @@ -0,0 +1,93 @@ +# System.Drawing + +``` diff + namespace System.Drawing { +- [EditorAttribute("System.Drawing.Design.BitmapEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- public sealed class Bitmap : Image ++ [EditorAttribute("System.Drawing.Design.BitmapEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public sealed class Bitmap : Image +- [EditorAttribute("System.Drawing.Design.ContentAlignmentEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- public enum ContentAlignment ++ [EditorAttribute("System.Drawing.Design.ContentAlignmentEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public enum ContentAlignment +- [EditorAttribute("System.Drawing.Design.FontEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- [TypeConverterAttribute(typeof(FontConverter))] +- public sealed class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable ++ [EditorAttribute("System.Drawing.Design.FontEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeConverterAttribute(typeof(FontConverter))] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public sealed class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable + public class FontConverter : TypeConverter { +- public override bool CanConvertTo(ITypeDescriptorContext context, [NotNullWhenAttribute(true)] Type destinationType); ++ public override bool CanConvertTo(ITypeDescriptorContext? context, [NotNullWhenAttribute(true)] Type? destinationType); +- public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value); ++ public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value); +- public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType); ++ public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType); +- public override bool GetCreateInstanceSupported(ITypeDescriptorContext context); ++ public override bool GetCreateInstanceSupported(ITypeDescriptorContext? context); +- [RequiresUnreferencedCodeAttribute("The Type of value cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")] +- public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[]? attributes); ++ [RequiresUnreferencedCodeAttribute("The Type of value cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")] ++ public override PropertyDescriptorCollection? GetProperties(ITypeDescriptorContext? context, object value, Attribute[]? attributes); +- public override bool GetPropertiesSupported(ITypeDescriptorContext context); ++ public override bool GetPropertiesSupported(ITypeDescriptorContext? context); + public sealed class FontNameConverter : TypeConverter, IDisposable { +- public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value); ++ public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value); +- public override bool GetStandardValuesExclusive(ITypeDescriptorContext context); ++ public override bool GetStandardValuesExclusive(ITypeDescriptorContext? context); +- public override bool GetStandardValuesSupported(ITypeDescriptorContext context); ++ public override bool GetStandardValuesSupported(ITypeDescriptorContext? context); + } + } +- [FlagsAttribute] +- public enum FontStyle ++ [FlagsAttribute] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public enum FontStyle +- public enum GraphicsUnit ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public enum GraphicsUnit +- [EditorAttribute("System.Drawing.Design.IconEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- [TypeConverterAttribute(typeof(IconConverter))] +- public sealed class Icon : MarshalByRefObject, ICloneable, IDisposable, ISerializable ++ [EditorAttribute("System.Drawing.Design.IconEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeConverterAttribute(typeof(IconConverter))] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public sealed class Icon : MarshalByRefObject, ICloneable, IDisposable, ISerializable +- [EditorAttribute("System.Drawing.Design.ImageEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- [ImmutableObjectAttribute(true)] +- [TypeConverterAttribute(typeof(ImageConverter))] +- public abstract class Image : MarshalByRefObject, ICloneable, IDisposable, ISerializable ++ [EditorAttribute("System.Drawing.Design.ImageEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [ImmutableObjectAttribute(true)] ++ [TypeConverterAttribute(typeof(ImageConverter))] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public abstract class Image : MarshalByRefObject, ICloneable, IDisposable, ISerializable + public class ImageConverter : TypeConverter { +- public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType); ++ public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType); + } + public class ImageFormatConverter : TypeConverter { +- public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType); ++ public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType); + } + [AttributeUsageAttribute(4)] + public class ToolboxBitmapAttribute : Attribute { +- public override bool Equals([NotNullWhenAttribute(true)] object? value); ++ public override bool Equals([NotNullWhenAttribute(true)] object value); +- public Image? GetImage(object? component); ++ public Image GetImage(object component); +- public Image? GetImage(object? component, bool large); ++ public Image GetImage(object component, bool large); +- public Image? GetImage(Type type, string? imgName, bool large); ++ public Image GetImage(Type type, string imgName, bool large); +- public static Image? GetImageFromResource(Type t, string? imageName, bool large); ++ public static Image GetImageFromResource(Type t, string imageName, bool large); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Windows.Forms.Design.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Windows.Forms.Design.md new file mode 100644 index 00000000000..bd5a94d553a --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Windows.Forms.Design.md @@ -0,0 +1,25 @@ +# System.Windows.Forms.Design + +``` diff + namespace System.Windows.Forms.Design { + public class ControlDesigner : ComponentDesigner { + public class ControlDesignerAccessibleObject : AccessibleObject { +- public override string Description { get; } ++ public override string? Description { get; } +- public override AccessibleObject Parent { get; } ++ public override AccessibleObject? Parent { get; } +- public override string Value { get; } ++ public override string? Value { get; } +- public override AccessibleObject GetChild(int index); ++ public override AccessibleObject? GetChild(int index); +- public override AccessibleObject GetFocused(); ++ public override AccessibleObject? GetFocused(); +- public override AccessibleObject GetSelected(); ++ public override AccessibleObject? GetSelected(); +- public override AccessibleObject HitTest(int x, int y); ++ public override AccessibleObject? HitTest(int x, int y); + } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Windows.Forms.md b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Windows.Forms.md new file mode 100644 index 00000000000..81ce1491ce2 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/Microsoft.WindowsDesktop.App/8.0-preview3_System.Windows.Forms.md @@ -0,0 +1,358 @@ +# System.Windows.Forms + +``` diff + namespace System.Windows.Forms { + [DefaultBindingPropertyAttribute("Text")] + [DefaultEventAttribute("SelectedIndexChanged")] + [DefaultPropertyAttribute("Items")] + [DesignerAttribute("System.Windows.Forms.Design.ComboBoxDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionComboBox")] + public class ComboBox : ListControl { + [ListBindableAttribute(false)] + public class ObjectCollection : ICollection, IComparer, IEnumerable, IList { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- public virtual object this[int index] { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ public virtual object? this[int index] { get; set; } +- public bool Contains(object value); ++ public bool Contains(object? value); +- public int IndexOf(object value); ++ public int IndexOf(object? value); +- public void Insert(int index, object item); ++ public void Insert(int index, object? item); +- public void Remove(object value); ++ public void Remove(object? value); +- int IComparer.Compare(ComboBox.ObjectCollection.Entry entry1, ComboBox.ObjectCollection.Entry entry2); ++ int IComparer.Compare(ComboBox.ObjectCollection.Entry? entry1, ComboBox.ObjectCollection.Entry? entry2); +- int IList.Add(object item); ++ int IList.Add(object? item); + } + } + public class HtmlWindowCollection : ICollection, IEnumerable { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- public HtmlWindow this[int index] { get; } ++ public HtmlWindow? this[int index] { get; } +- public HtmlWindow this[string windowId] { get; } ++ public HtmlWindow? this[string windowId] { get; } + } + public static class ListBindingHelper { +- public static object GetList(object list); ++ public static object? GetList(object? list); +- public static object GetList(object dataSource, string dataMember); ++ public static object? GetList(object? dataSource, string? dataMember); +- public static PropertyDescriptorCollection GetListItemProperties(object list); ++ public static PropertyDescriptorCollection GetListItemProperties(object? list); +- public static PropertyDescriptorCollection GetListItemProperties(object list, PropertyDescriptor[] listAccessors); ++ public static PropertyDescriptorCollection GetListItemProperties(object? list, PropertyDescriptor[]? listAccessors); +- public static PropertyDescriptorCollection GetListItemProperties(object dataSource, string dataMember, PropertyDescriptor[] listAccessors); ++ public static PropertyDescriptorCollection GetListItemProperties(object? dataSource, string? dataMember, PropertyDescriptor[]? listAccessors); +- public static Type GetListItemType(object list); ++ public static Type? GetListItemType(object? list); +- public static Type GetListItemType(object dataSource, string dataMember); ++ public static Type? GetListItemType(object? dataSource, string? dataMember); +- public static string GetListName(object list, PropertyDescriptor[] listAccessors); ++ public static string GetListName(object? list, PropertyDescriptor[]? listAccessors); + } + [DefaultEventAttribute("SelectedIndexChanged")] + [DefaultPropertyAttribute("Items")] + [DesignerAttribute("System.Windows.Forms.Design.ListViewDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [DockingAttribute(DockingBehavior.Ask)] + [SRDescriptionAttribute("DescriptionListView")] + public class ListView : Control { + [ListBindableAttribute(false)] + public class ListViewItemCollection : ICollection, IEnumerable, IList { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- object System.Collections.IList.this[int index] { get; set; } ++ object? IList.this[int index] { get; set; } +- public virtual ListViewItem this[string key] { get; } ++ public virtual ListViewItem? this[string key] { get; } +- public virtual ListViewItem Add(string text); ++ public virtual ListViewItem Add(string? text); +- public virtual ListViewItem Add(string text, int imageIndex); ++ public virtual ListViewItem Add(string? text, int imageIndex); +- public virtual ListViewItem Add(string text, string imageKey); ++ public virtual ListViewItem Add(string? text, string? imageKey); +- public virtual ListViewItem Add(string key, string text, int imageIndex); ++ public virtual ListViewItem Add(string? key, string? text, int imageIndex); +- public virtual ListViewItem Add(string key, string text, string imageKey); ++ public virtual ListViewItem Add(string? key, string? text, string? imageKey); +- public virtual bool ContainsKey(string key); ++ public virtual bool ContainsKey(string? key); +- public virtual int IndexOfKey(string key); ++ public virtual int IndexOfKey(string? key); +- public ListViewItem Insert(int index, string text); ++ public ListViewItem Insert(int index, string? text); +- public ListViewItem Insert(int index, string text, int imageIndex); ++ public ListViewItem Insert(int index, string? text, int imageIndex); +- public ListViewItem Insert(int index, string text, string imageKey); ++ public ListViewItem Insert(int index, string? text, string? imageKey); +- public virtual ListViewItem Insert(int index, string key, string text, int imageIndex); ++ public virtual ListViewItem Insert(int index, string? key, string? text, int imageIndex); +- public virtual ListViewItem Insert(int index, string key, string text, string imageKey); ++ public virtual ListViewItem Insert(int index, string? key, string? text, string? imageKey); +- int IList.Add(object item); ++ int IList.Add(object? item); +- bool IList.Contains(object item); ++ bool IList.Contains(object? item); +- int IList.IndexOf(object item); ++ int IList.IndexOf(object? item); +- void IList.Insert(int index, object item); ++ void IList.Insert(int index, object? item); +- void IList.Remove(object item); ++ void IList.Remove(object? item); + } + } + [DefaultEventAttribute("ItemClicked")] + [DefaultPropertyAttribute("Items")] + [DesignerAttribute("System.Windows.Forms.Design.ToolStripDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [DesignerSerializerAttribute("System.Windows.Forms.Design.ToolStripCodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.ComponentModel.Design.Serialization.CodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionToolStrip")] + public class ToolStrip : ScrollableControl, IArrangedElement, IComponent, IDisposable, ISupportToolStripPanel { +- public override BindingContext BindingContext { get; set; } ++ public override BindingContext? BindingContext { get; set; } +- [BrowsableAttribute(false)] +- [DefaultValueAttribute(null)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripImageListDescr")] +- public ImageList ImageList { get; set; } ++ [BrowsableAttribute(false)] ++ [DefaultValueAttribute(null)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripImageListDescr")] ++ public ImageList? ImageList { get; set; } +- [BrowsableAttribute(false)] +- [DefaultValueAttribute(null)] +- [DesignerSerializationVisibilityAttribute(0)] +- public LayoutSettings LayoutSettings { get; set; } ++ [BrowsableAttribute(false)] ++ [DefaultValueAttribute(null)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ public LayoutSettings? LayoutSettings { get; set; } +- [BrowsableAttribute(true)] +- [EditorBrowsableAttribute(0)] +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("ControlOnAutoSizeChangedDescr")] +- public new event EventHandler AutoSizeChanged; ++ [BrowsableAttribute(true)] ++ [EditorBrowsableAttribute(0)] ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("ControlOnAutoSizeChangedDescr")] ++ public new event EventHandler? AutoSizeChanged; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ToolStripOnBeginDrag")] +- public event EventHandler BeginDrag; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ToolStripOnBeginDrag")] ++ public event EventHandler? BeginDrag; +- [BrowsableAttribute(false)] +- public new event EventHandler CausesValidationChanged; ++ [BrowsableAttribute(false)] ++ public new event EventHandler? CausesValidationChanged; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event ControlEventHandler ControlAdded; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event ControlEventHandler? ControlAdded; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event ControlEventHandler ControlRemoved; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event ControlEventHandler? ControlRemoved; +- [BrowsableAttribute(false)] +- public new event EventHandler CursorChanged; ++ [BrowsableAttribute(false)] ++ public new event EventHandler? CursorChanged; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ToolStripOnEndDrag")] +- public event EventHandler EndDrag; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ToolStripOnEndDrag")] ++ public event EventHandler? EndDrag; +- [BrowsableAttribute(false)] +- public new event EventHandler ForeColorChanged; ++ [BrowsableAttribute(false)] ++ public new event EventHandler? ForeColorChanged; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripItemAddedDescr")] +- public event ToolStripItemEventHandler ItemAdded; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripItemAddedDescr")] ++ public event ToolStripItemEventHandler? ItemAdded; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("ToolStripItemOnClickDescr")] +- public event ToolStripItemClickedEventHandler ItemClicked; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("ToolStripItemOnClickDescr")] ++ public event ToolStripItemClickedEventHandler? ItemClicked; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripItemRemovedDescr")] +- public event ToolStripItemEventHandler ItemRemoved; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripItemRemovedDescr")] ++ public event ToolStripItemEventHandler? ItemRemoved; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripLayoutCompleteDescr")] +- public event EventHandler LayoutCompleted; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripLayoutCompleteDescr")] ++ public event EventHandler? LayoutCompleted; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripLayoutStyleChangedDescr")] +- public event EventHandler LayoutStyleChanged; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripLayoutStyleChangedDescr")] ++ public event EventHandler? LayoutStyleChanged; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripPaintGripDescr")] +- public event PaintEventHandler PaintGrip; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripPaintGripDescr")] ++ public event PaintEventHandler? PaintGrip; +- public event EventHandler RendererChanged; ++ public event EventHandler? RendererChanged; +- protected internal virtual ToolStripItem CreateDefaultItem(string text, Image image, EventHandler onClick); ++ protected internal virtual ToolStripItem CreateDefaultItem(string? text, Image? image, EventHandler? onClick); +- protected virtual LayoutSettings CreateLayoutSettings(ToolStripLayoutStyle layoutStyle); ++ protected virtual LayoutSettings? CreateLayoutSettings(ToolStripLayoutStyle layoutStyle); +- [EditorBrowsableAttribute(1)] +- public new Control GetChildAtPoint(Point point); ++ [EditorBrowsableAttribute(1)] ++ public new Control? GetChildAtPoint(Point point); +- [EditorBrowsableAttribute(1)] +- public new Control GetChildAtPoint(Point pt, GetChildAtPointSkip skipValue); ++ [EditorBrowsableAttribute(1)] ++ public new Control? GetChildAtPoint(Point pt, GetChildAtPointSkip skipValue); +- public ToolStripItem GetItemAt(Point point); ++ public ToolStripItem? GetItemAt(Point point); +- public ToolStripItem GetItemAt(int x, int y); ++ public ToolStripItem? GetItemAt(int x, int y); +- public virtual ToolStripItem GetNextItem(ToolStripItem start, ArrowDirection direction); ++ public virtual ToolStripItem? GetNextItem(ToolStripItem? start, ArrowDirection direction); + } + public class ToolStripControlHost : ToolStripItem { +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(true)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripItemImageDescr")] +- public override Image BackgroundImage { get; set; } ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(true)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripItemImageDescr")] ++ public override Image? BackgroundImage { get; set; } +- public override Font Font { get; set; } ++ [AllowNullAttribute] ++ public override Font Font { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override Image Image { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ public override Image? Image { get; set; } +- [EditorBrowsableAttribute(2)] +- public override ISite Site { get; set; } ++ [EditorBrowsableAttribute(2)] ++ public override ISite? Site { get; set; } +- [DefaultValueAttribute("")] +- public override string Text { get; set; } ++ [DefaultValueAttribute("")] ++ [AllowNullAttribute] ++ public override string Text { get; set; } +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler DisplayStyleChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? DisplayStyleChanged; +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ControlOnEnterDescr")] +- public event EventHandler Enter; ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ControlOnEnterDescr")] ++ public event EventHandler? Enter; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(2)] +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ToolStripItemOnGotFocusDescr")] +- public event EventHandler GotFocus; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ToolStripItemOnGotFocusDescr")] ++ public event EventHandler? GotFocus; +- [SRCategoryAttribute("CatKey")] +- [SRDescriptionAttribute("ControlOnKeyDownDescr")] +- public event KeyEventHandler KeyDown; ++ [SRCategoryAttribute("CatKey")] ++ [SRDescriptionAttribute("ControlOnKeyDownDescr")] ++ public event KeyEventHandler? KeyDown; +- [SRCategoryAttribute("CatKey")] +- [SRDescriptionAttribute("ControlOnKeyPressDescr")] +- public event KeyPressEventHandler KeyPress; ++ [SRCategoryAttribute("CatKey")] ++ [SRDescriptionAttribute("ControlOnKeyPressDescr")] ++ public event KeyPressEventHandler? KeyPress; +- [SRCategoryAttribute("CatKey")] +- [SRDescriptionAttribute("ControlOnKeyUpDescr")] +- public event KeyEventHandler KeyUp; ++ [SRCategoryAttribute("CatKey")] ++ [SRDescriptionAttribute("ControlOnKeyUpDescr")] ++ public event KeyEventHandler? KeyUp; +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ControlOnLeaveDescr")] +- public event EventHandler Leave; ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ControlOnLeaveDescr")] ++ public event EventHandler? Leave; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(2)] +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ToolStripItemOnLostFocusDescr")] +- public event EventHandler LostFocus; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ToolStripItemOnLostFocusDescr")] ++ public event EventHandler? LostFocus; +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ControlOnValidatedDescr")] +- public event EventHandler Validated; ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ControlOnValidatedDescr")] ++ public event EventHandler? Validated; +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ControlOnValidatingDescr")] +- public event CancelEventHandler Validating; ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ControlOnValidatingDescr")] ++ public event CancelEventHandler? Validating; +- protected override void OnParentChanged(ToolStrip oldParent, ToolStrip newParent); ++ protected override void OnParentChanged(ToolStrip? oldParent, ToolStrip? newParent); +- protected virtual void OnSubscribeControlEvents(Control control); ++ protected virtual void OnSubscribeControlEvents(Control? control); +- protected virtual void OnUnsubscribeControlEvents(Control control); ++ protected virtual void OnUnsubscribeControlEvents(Control? control); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview3/README.md b/release-notes/8.0/preview/api-diff/preview3/README.md new file mode 100644 index 00000000000..3ba4f3e3c8c --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview3/README.md @@ -0,0 +1,7 @@ +# .NET 8.0 Preview 3 API Changes + +The following API changes were made in .NET 8.0 Preview 3: + +- [Microsoft.NETCore.App](./Microsoft.NETCore.App/8.0-preview3.md) +- [Microsoft.AspNetCore.App](./Microsoft.AspNetCore.App/8.0-preview3.md) +- [Microsoft.WindowsDesktop.App](./Microsoft.WindowsDesktop.App/8.0-preview3.md)