diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5.md new file mode 100644 index 0000000000..874032b1c9 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5.md @@ -0,0 +1,37 @@ +# API Difference 8.0-preview4 vs 8.0-preview5 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [Microsoft.AspNetCore.Authentication](8.0-preview5_Microsoft.AspNetCore.Authentication.md) +* [Microsoft.AspNetCore.Authentication.Cookies](8.0-preview5_Microsoft.AspNetCore.Authentication.Cookies.md) +* [Microsoft.AspNetCore.Authentication.OAuth](8.0-preview5_Microsoft.AspNetCore.Authentication.OAuth.md) +* [Microsoft.AspNetCore.Authorization](8.0-preview5_Microsoft.AspNetCore.Authorization.md) +* [Microsoft.AspNetCore.Builder](8.0-preview5_Microsoft.AspNetCore.Builder.md) +* [Microsoft.AspNetCore.Components](8.0-preview5_Microsoft.AspNetCore.Components.md) +* [Microsoft.AspNetCore.Components.Discovery](8.0-preview5_Microsoft.AspNetCore.Components.Discovery.md) +* [Microsoft.AspNetCore.Components.Endpoints](8.0-preview5_Microsoft.AspNetCore.Components.Endpoints.md) +* [Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure](8.0-preview5_Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.md) +* [Microsoft.AspNetCore.Components.Infrastructure](8.0-preview5_Microsoft.AspNetCore.Components.Infrastructure.md) +* [Microsoft.AspNetCore.Components.Rendering](8.0-preview5_Microsoft.AspNetCore.Components.Rendering.md) +* [Microsoft.AspNetCore.Components.RenderTree](8.0-preview5_Microsoft.AspNetCore.Components.RenderTree.md) +* [Microsoft.AspNetCore.Components.Routing](8.0-preview5_Microsoft.AspNetCore.Components.Routing.md) +* [Microsoft.AspNetCore.Components.Web](8.0-preview5_Microsoft.AspNetCore.Components.Web.md) +* [Microsoft.AspNetCore.Connections](8.0-preview5_Microsoft.AspNetCore.Connections.md) +* [Microsoft.AspNetCore.Connections.Abstractions](8.0-preview5_Microsoft.AspNetCore.Connections.Abstractions.md) +* [Microsoft.AspNetCore.Cors](8.0-preview5_Microsoft.AspNetCore.Cors.md) +* [Microsoft.AspNetCore.DataProtection.XmlEncryption](8.0-preview5_Microsoft.AspNetCore.DataProtection.XmlEncryption.md) +* [Microsoft.AspNetCore.Diagnostics](8.0-preview5_Microsoft.AspNetCore.Diagnostics.md) +* [Microsoft.AspNetCore.Http](8.0-preview5_Microsoft.AspNetCore.Http.md) +* [Microsoft.AspNetCore.Http.Connections](8.0-preview5_Microsoft.AspNetCore.Http.Connections.md) +* [Microsoft.AspNetCore.Http.Features](8.0-preview5_Microsoft.AspNetCore.Http.Features.md) +* [Microsoft.AspNetCore.HttpLogging](8.0-preview5_Microsoft.AspNetCore.HttpLogging.md) +* [Microsoft.AspNetCore.Identity](8.0-preview5_Microsoft.AspNetCore.Identity.md) +* [Microsoft.AspNetCore.Mvc](8.0-preview5_Microsoft.AspNetCore.Mvc.md) +* [Microsoft.AspNetCore.Routing](8.0-preview5_Microsoft.AspNetCore.Routing.md) +* [Microsoft.AspNetCore.Server.HttpSys](8.0-preview5_Microsoft.AspNetCore.Server.HttpSys.md) +* [Microsoft.AspNetCore.Session](8.0-preview5_Microsoft.AspNetCore.Session.md) +* [Microsoft.AspNetCore.SignalR.Protocol](8.0-preview5_Microsoft.AspNetCore.SignalR.Protocol.md) +* [Microsoft.Extensions.DependencyInjection](8.0-preview5_Microsoft.Extensions.DependencyInjection.md) +* [Microsoft.Extensions.Diagnostics.Metrics](8.0-preview5_Microsoft.Extensions.Diagnostics.Metrics.md) + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authentication.Cookies.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authentication.Cookies.md new file mode 100644 index 0000000000..232423de05 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authentication.Cookies.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Authentication.Cookies + +``` diff + namespace Microsoft.AspNetCore.Authentication.Cookies { + public class CookieAuthenticationHandler : SignInAuthenticationHandler { ++ public CookieAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder); +- public CookieAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider on AuthenticationSchemeOptions instead.")] ++ public CookieAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authentication.OAuth.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authentication.OAuth.md new file mode 100644 index 0000000000..1dae09c85d --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authentication.OAuth.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Authentication.OAuth + +``` diff + namespace Microsoft.AspNetCore.Authentication.OAuth { + public class OAuthHandler : RemoteAuthenticationHandler where TOptions : OAuthOptions, new() { ++ public OAuthHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder); +- public OAuthHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider on AuthenticationSchemeOptions instead.")] ++ public OAuthHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authentication.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authentication.md new file mode 100644 index 0000000000..d2872246b1 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authentication.md @@ -0,0 +1,54 @@ +# Microsoft.AspNetCore.Authentication + +``` diff + namespace Microsoft.AspNetCore.Authentication { ++ public class AuthenticationFailureException : Exception { ++ public AuthenticationFailureException(string message); ++ public AuthenticationFailureException(string message, Exception innerException); ++ } + public abstract class AuthenticationHandler : IAuthenticationHandler where TOptions : AuthenticationSchemeOptions, new() { ++ protected AuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder); +- protected AuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider on AuthenticationSchemeOptions instead.")] ++ protected AuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); +- protected ISystemClock Clock { get; } ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider instead.")] ++ protected ISystemClock Clock { get; } ++ protected TimeProvider TimeProvider { get; } + } + public class AuthenticationSchemeOptions { ++ public TimeProvider TimeProvider { get; set; } + } +- public interface ISystemClock ++ [ObsoleteAttribute("Use TimeProvider instead.")] ++ public interface ISystemClock + public class PolicySchemeHandler : SignInAuthenticationHandler { ++ public PolicySchemeHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder); +- public PolicySchemeHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider on AuthenticationSchemeOptions instead.")] ++ public PolicySchemeHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); + } + public abstract class RemoteAuthenticationHandler : AuthenticationHandler, IAuthenticationHandler, IAuthenticationRequestHandler where TOptions : RemoteAuthenticationOptions, new() { ++ protected RemoteAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder); +- protected RemoteAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider on AuthenticationSchemeOptions instead.")] ++ protected RemoteAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); + } + public abstract class SignInAuthenticationHandler : SignOutAuthenticationHandler, IAuthenticationHandler, IAuthenticationSignInHandler, IAuthenticationSignOutHandler where TOptions : AuthenticationSchemeOptions, new() { ++ public SignInAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder); +- public SignInAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider on AuthenticationSchemeOptions instead.")] ++ public SignInAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); + } + public abstract class SignOutAuthenticationHandler : AuthenticationHandler, IAuthenticationHandler, IAuthenticationSignOutHandler where TOptions : AuthenticationSchemeOptions, new() { ++ public SignOutAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder); +- public SignOutAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider on AuthenticationSchemeOptions instead.")] ++ public SignOutAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock); + } +- public class SystemClock : ISystemClock ++ [ObsoleteAttribute("Use TimeProvider instead.")] ++ public class SystemClock : ISystemClock + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authorization.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authorization.md new file mode 100644 index 0000000000..51e4a3c7d8 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Authorization.md @@ -0,0 +1,21 @@ +# Microsoft.AspNetCore.Authorization + +``` diff + namespace Microsoft.AspNetCore.Authorization { +- [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)] +- public class AllowAnonymousAttribute : Attribute, IAllowAnonymous { ++ [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)] ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public class AllowAnonymousAttribute : Attribute, IAllowAnonymous { ++ public override string ToString(); + } +- [AttributeUsageAttribute(68, AllowMultiple=true, Inherited=true)] +- public class AuthorizeAttribute : Attribute, IAuthorizeData { ++ [AttributeUsageAttribute(68, AllowMultiple=true, Inherited=true)] ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public class AuthorizeAttribute : Attribute, IAuthorizeData { ++ public override string ToString(); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Builder.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Builder.md new file mode 100644 index 0000000000..4517a8d7ed --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Builder.md @@ -0,0 +1,24 @@ +# Microsoft.AspNetCore.Builder + +``` diff + namespace Microsoft.AspNetCore.Builder { +- public class ComponentTypeMetadata { +- public ComponentTypeMetadata(Type componentType); +- public Type Type { get; } +- } + public static class HttpLoggingEndpointConventionBuilderExtensions { +- public static TBuilder WithHttpLogging(this TBuilder builder, HttpLoggingFields loggingFields, int requestBodyLogLimit = -1, int responseBodyLogLimit = -1) where TBuilder : IEndpointConventionBuilder; ++ public static TBuilder WithHttpLogging(this TBuilder builder, HttpLoggingFields loggingFields, int? requestBodyLogLimit = default(int?), int? responseBodyLogLimit = default(int?)) where TBuilder : IEndpointConventionBuilder; + } + public class RazorComponentEndpointConventionBuilder : IEndpointConventionBuilder { ++ public ComponentApplicationBuilder ApplicationBuilder { get; } ++ public RazorComponentEndpointConventionBuilder AddServerRenderMode(); ++ public RazorComponentEndpointConventionBuilder AddWebAssemblyRenderMode(); + } + public static class RazorComponentsEndpointRouteBuilderExtensions { +- public static RazorComponentEndpointConventionBuilder MapRazorComponents(this IEndpointRouteBuilder endpoints) where TRootComponent : IRazorComponentApplication; ++ public static RazorComponentEndpointConventionBuilder MapRazorComponents(this IEndpointRouteBuilder endpoints); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Discovery.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Discovery.md new file mode 100644 index 0000000000..1b7f7c0fe1 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Discovery.md @@ -0,0 +1,43 @@ +# Microsoft.AspNetCore.Components.Discovery + +``` diff ++namespace Microsoft.AspNetCore.Components.Discovery { ++ [DebuggerDisplayAttribute("{GetDebuggerDisplay(),nq}")] ++ public class AssemblyComponentLibraryDescriptor { ++ public AssemblyComponentLibraryDescriptor(string name, IReadOnlyList pages, IReadOnlyList components); ++ public string AssemblyName { get; } ++ public IReadOnlyList Components { get; } ++ public IReadOnlyList Pages { get; } ++ } ++ public class ComponentApplicationBuilder { ++ public ComponentApplicationBuilder(); ++ public void AddLibrary(AssemblyComponentLibraryDescriptor libraryBuilder); ++ public void Combine(ComponentApplicationBuilder other); ++ public void Exclude(ComponentApplicationBuilder builder); ++ public static ComponentApplicationBuilder? GetBuilder(); ++ public bool HasLibrary(string assemblyName); ++ public void RemoveLibrary(string assembly); ++ } ++ public class ComponentBuilder : IEquatable { ++ public ComponentBuilder(); ++ public required string AssemblyName { get; set; } ++ public required Type ComponentType { get; set; } ++ public RenderModeAttribute? RenderMode { get; set; } ++ public bool Equals(ComponentBuilder? other); ++ public override bool Equals(object? obj); ++ public override int GetHashCode(); ++ } ++ [DebuggerDisplayAttribute("{GetDebuggerDisplay(),nq}")] ++ public class PageComponentBuilder : IEquatable { ++ public PageComponentBuilder(); ++ public required string AssemblyName { get; set; } ++ public required Type PageType { get; set; } ++ public required IReadOnlyList RouteTemplates { get; set; } ++ public bool Equals(PageComponentBuilder? other); ++ public override bool Equals(object? obj); ++ public override int GetHashCode(); ++ public bool HasSource(string source); ++ } ++} +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Endpoints.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Endpoints.md new file mode 100644 index 0000000000..6e40cda22c --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Endpoints.md @@ -0,0 +1,31 @@ +# Microsoft.AspNetCore.Components.Endpoints + +``` diff + namespace Microsoft.AspNetCore.Components.Endpoints { ++ public class ComponentTypeMetadata { ++ public ComponentTypeMetadata(Type componentType); ++ public Type Type { get; } ++ } + public interface IComponentPrerenderer { ++ ValueTask PrerenderComponentAsync(HttpContext httpContext, Type componentType, IComponentRenderMode renderMode, ParameterView parameters); +- ValueTask PrerenderComponentAsync(HttpContext httpContext, Type componentType, RenderMode renderMode, ParameterView parameters); + } ++ public class RazorComponentDataSourceOptions { ++ public RazorComponentDataSourceOptions(); ++ public bool UseDeclaredRenderModes { get; set; } ++ } + public class RazorComponentResult : IResult { +- public RenderMode RenderMode { get; set; } + } ++ public abstract class RenderModeEndpointProvider { ++ protected RenderModeEndpointProvider(); ++ public abstract IEnumerable GetEndpointBuilders(IComponentRenderMode renderMode, IApplicationBuilder applicationBuilder); ++ public abstract bool Supports(IComponentRenderMode renderMode); ++ } ++ public class RootComponentMetadata { ++ public RootComponentMetadata(Type rootComponentType); ++ public Type Type { get; } ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.md new file mode 100644 index 0000000000..0e6375d74d --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure + +``` diff + namespace Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure { + public class StaticHtmlRenderer : Renderer { ++ public HtmlRootComponent BeginRenderingComponent(IComponent component, ParameterView initialParameters); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Infrastructure.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Infrastructure.md new file mode 100644 index 0000000000..55d0f2f8b6 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Infrastructure.md @@ -0,0 +1,12 @@ +# Microsoft.AspNetCore.Components.Infrastructure + +``` diff + namespace Microsoft.AspNetCore.Components.Infrastructure { ++ [AttributeUsageAttribute(1, AllowMultiple=false)] ++ public abstract class RazorComponentApplicationAttribute : Attribute, IRazorComponentApplication { ++ protected RazorComponentApplicationAttribute(); ++ public abstract ComponentApplicationBuilder GetBuilder(); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.RenderTree.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.RenderTree.md new file mode 100644 index 0000000000..88b10bfeb5 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.RenderTree.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Components.RenderTree + +``` diff + namespace Microsoft.AspNetCore.Components.RenderTree { + public abstract class Renderer : IAsyncDisposable, IDisposable { ++ protected internal virtual IComponent ResolveComponentForRenderMode(Type componentType, int? parentComponentId, IComponentActivator componentActivator, IComponentRenderMode componentTypeRenderMode); + } + public abstract class WebRenderer : Renderer { +- protected int RendererId { get; set; } ++ protected int RendererId { get; [ObsoleteAttribute("The renderer ID gets assigned automatically upon construction.")] set; } ++ public Task WaitUntilAttachedAsync(); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Rendering.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Rendering.md new file mode 100644 index 0000000000..a5aeaf8b60 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Rendering.md @@ -0,0 +1,14 @@ +# Microsoft.AspNetCore.Components.Rendering + +``` diff + namespace Microsoft.AspNetCore.Components.Rendering { +- [DebuggerDisplayAttribute("{GetDebuggerDisplay(),nq}")] +- public class ComponentState : IDisposable { ++ [DebuggerDisplayAttribute("{GetDebuggerDisplay(),nq}")] ++ public class ComponentState : IAsyncDisposable { +- public void Dispose(); ++ public virtual ValueTask DisposeAsync(); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Routing.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Routing.md new file mode 100644 index 0000000000..92a1fbc6c9 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Routing.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Components.Routing + +``` diff + namespace Microsoft.AspNetCore.Components.Routing { ++ public interface IRoutingStateProvider { ++ RouteData RouteData { get; } ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Web.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Web.md new file mode 100644 index 0000000000..5f88cf32c2 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.Web.md @@ -0,0 +1,42 @@ +# Microsoft.AspNetCore.Components.Web + +``` diff + namespace Microsoft.AspNetCore.Components.Web { ++ public class AutoRenderMode : IComponentRenderMode { ++ public AutoRenderMode(); ++ public AutoRenderMode(bool prerender); ++ public bool Prerender { get; } ++ } ++ public static class RenderMode { ++ public static AutoRenderMode Auto { get; } ++ public static ServerRenderMode Server { get; } ++ public static WebAssemblyRenderMode WebAssembly { get; } ++ } ++ public class RenderModeAutoAttribute : RenderModeAttribute { ++ public RenderModeAutoAttribute(); ++ public RenderModeAutoAttribute(bool prerender); ++ public override IComponentRenderMode Mode { get; } ++ } ++ public class RenderModeServerAttribute : RenderModeAttribute { ++ public RenderModeServerAttribute(); ++ public RenderModeServerAttribute(bool prerender); ++ public override IComponentRenderMode Mode { get; } ++ } ++ public class RenderModeWebAssemblyAttribute : RenderModeAttribute { ++ public RenderModeWebAssemblyAttribute(); ++ public RenderModeWebAssemblyAttribute(bool prerender); ++ public override IComponentRenderMode Mode { get; } ++ } ++ public class ServerRenderMode : IComponentRenderMode { ++ public ServerRenderMode(); ++ public ServerRenderMode(bool prerender); ++ public bool Prerender { get; } ++ } ++ public class WebAssemblyRenderMode : IComponentRenderMode { ++ public WebAssemblyRenderMode(); ++ public WebAssemblyRenderMode(bool prerender); ++ public bool Prerender { get; } ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.md new file mode 100644 index 0000000000..3abf045b6c --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Components.md @@ -0,0 +1,46 @@ +# Microsoft.AspNetCore.Components + +``` diff + namespace Microsoft.AspNetCore.Components { +- public class ComponentApplicationBuilder { +- public ComponentApplicationBuilder(); +- public RazorComponentApplication Build(); +- } ++ public interface IComponentRenderMode +- 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 readonly struct ParameterView { +- public IReadOnlyDictionary ToDictionary(); ++ public IReadOnlyDictionary ToDictionary(); + } +- public class RazorComponentApplication { +- public IEnumerable Pages { get; } +- } +- public enum RenderMode { +- Server = 2, +- ServerPrerendered = 3, +- Static = 1, +- WebAssembly = 4, +- WebAssemblyPrerendered = 5, +- } ++ [AttributeUsageAttribute(4)] ++ public abstract class RenderModeAttribute : Attribute { ++ protected RenderModeAttribute(); ++ public abstract IComponentRenderMode Mode { get; } ++ } + public sealed class RouteData { +- public RouteData(Type pageType, IReadOnlyDictionary routeValues); ++ public RouteData(Type pageType, IReadOnlyDictionary routeValues); +- public IReadOnlyDictionary RouteValues { get; } ++ public IReadOnlyDictionary RouteValues { get; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Connections.Abstractions.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Connections.Abstractions.md new file mode 100644 index 0000000000..f000d7a1e8 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Connections.Abstractions.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Connections.Abstractions + +``` diff ++namespace Microsoft.AspNetCore.Connections.Abstractions { ++ public interface IReconnectFeature { ++ Action NotifyOnReconnect { get; set; } ++ } ++} +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Connections.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Connections.md new file mode 100644 index 0000000000..b619e3ae57 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Connections.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Connections + +``` diff + namespace Microsoft.AspNetCore.Connections { + public static class ConnectionBuilderExtensions { ++ public static IConnectionBuilder Use(this IConnectionBuilder connectionBuilder, Func middleware); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Cors.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Cors.md new file mode 100644 index 0000000000..ff2e9ff8b2 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Cors.md @@ -0,0 +1,21 @@ +# Microsoft.AspNetCore.Cors + +``` diff + namespace Microsoft.AspNetCore.Cors { +- [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=false)] +- public class DisableCorsAttribute : Attribute, ICorsMetadata, IDisableCorsAttribute { ++ [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=false)] ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public class DisableCorsAttribute : Attribute, ICorsMetadata, IDisableCorsAttribute { ++ public override string ToString(); + } +- [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)] +- public class EnableCorsAttribute : Attribute, ICorsMetadata, IEnableCorsAttribute { ++ [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)] ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public class EnableCorsAttribute : Attribute, ICorsMetadata, IEnableCorsAttribute { ++ public override string ToString(); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.DataProtection.XmlEncryption.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.DataProtection.XmlEncryption.md new file mode 100644 index 0000000000..9048ddb058 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.DataProtection.XmlEncryption.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.DataProtection.XmlEncryption + +``` diff + namespace Microsoft.AspNetCore.DataProtection.XmlEncryption { + public sealed class EncryptedXmlDecryptor : IInternalEncryptedXmlDecryptor, IXmlDecryptor { +- [UnconditionalSuppressMessageAttribute("AOT", "IL3050:RequiresDynamicCode", Justification="Only XSLTs require dynamic code. The usage of EncryptedXml doesn't use XSLTs.")] +- public XElement Decrypt(XElement encryptedElement); ++ [DynamicDependencyAttribute(1, typeof(RijndaelManaged))] ++ [UnconditionalSuppressMessageAttribute("AOT", "IL2026:RequiresUnreferencedCode", Justification="The common algorithms are being preserved by the above DynamicDependency attributes.")] ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050:RequiresDynamicCode", Justification="Only XSLTs require dynamic code. The usage of EncryptedXml doesn't use XSLTs.")] ++ public XElement Decrypt(XElement encryptedElement); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Diagnostics.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Diagnostics.md new file mode 100644 index 0000000000..fb907b103d --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Diagnostics.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Diagnostics + +``` diff + namespace Microsoft.AspNetCore.Diagnostics { ++ public interface IExceptionHandler { ++ ValueTask TryHandleAsync(HttpContext httpContext, Exception exception, CancellationToken cancellationToken); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Http.Connections.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Http.Connections.md new file mode 100644 index 0000000000..732af7d82a --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Http.Connections.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Http.Connections + +``` diff + namespace Microsoft.AspNetCore.Http.Connections { + public class NegotiationResponse { ++ public bool UseAcking { get; set; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Http.Features.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Http.Features.md new file mode 100644 index 0000000000..e8dbf79705 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Http.Features.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Http.Features + +``` diff + namespace Microsoft.AspNetCore.Http.Features { +- public class FeatureCollection : IEnumerable, IEnumerable>, IFeatureCollection ++ [DebuggerDisplayAttribute("Count = {GetCount()}")] ++ [DebuggerTypeProxyAttribute(typeof(FeatureCollection.FeatureCollectionDebugView))] ++ public class FeatureCollection : IEnumerable, IEnumerable>, IFeatureCollection + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Http.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Http.md new file mode 100644 index 0000000000..5c6cf570ac --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Http.md @@ -0,0 +1,80 @@ +# Microsoft.AspNetCore.Http + +``` diff + namespace Microsoft.AspNetCore.Http { +- public abstract class ConnectionInfo ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(ConnectionInfo.ConnectionInfoDebugView))] ++ public abstract class ConnectionInfo +- public sealed class DefaultHttpContext : HttpContext ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ public sealed class DefaultHttpContext : HttpContext +- public class Endpoint ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public class Endpoint +- [AttributeUsageAttribute(64, Inherited=false, AllowMultiple=false)] +- public sealed class EndpointDescriptionAttribute : Attribute, IEndpointDescriptionMetadata { ++ [AttributeUsageAttribute(64, Inherited=false, AllowMultiple=false)] ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class EndpointDescriptionAttribute : Attribute, IEndpointDescriptionMetadata { ++ public override string ToString(); + } +- public sealed class EndpointMetadataCollection : IEnumerable, IEnumerable, IReadOnlyCollection, IReadOnlyList ++ [DebuggerDisplayAttribute("Count = {Count}")] ++ [DebuggerTypeProxyAttribute(typeof(EndpointMetadataCollection.EndpointMetadataCollectionDebugView))] ++ public sealed class EndpointMetadataCollection : IEnumerable, IEnumerable, IReadOnlyCollection, IReadOnlyList +- [AttributeUsageAttribute(64, Inherited=false, AllowMultiple=false)] +- public sealed class EndpointSummaryAttribute : Attribute, IEndpointSummaryMetadata { ++ [AttributeUsageAttribute(64, Inherited=false, AllowMultiple=false)] ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class EndpointSummaryAttribute : Attribute, IEndpointSummaryMetadata { ++ public override string ToString(); + } +- public readonly struct FragmentString : IEquatable ++ [DebuggerDisplayAttribute("{Value}")] ++ public readonly struct FragmentString : IEquatable +- public class HeaderDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable>, IHeaderDictionary ++ [DebuggerDisplayAttribute("Count = {Count}")] ++ [DebuggerTypeProxyAttribute(typeof(HeaderDictionary.HeaderDictionaryDebugView))] ++ public class HeaderDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable>, IHeaderDictionary +- public readonly struct HostString : IEquatable ++ [DebuggerDisplayAttribute("{Value}")] ++ public readonly struct HostString : IEquatable +- public abstract class HttpContext ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(HttpContext.HttpContextDebugView))] ++ public abstract class HttpContext +- public abstract class HttpRequest ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(HttpRequest.HttpRequestDebugView))] ++ public abstract class HttpRequest +- public abstract class HttpResponse ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(HttpResponse.HttpResponseDebugView))] ++ public abstract class HttpResponse +- [TypeConverterAttribute(typeof(PathStringConverter))] +- public readonly struct PathString : IEquatable ++ [DebuggerDisplayAttribute("{Value}")] ++ [TypeConverterAttribute(typeof(PathStringConverter))] ++ public readonly struct PathString : IEquatable +- public class QueryCollection : IEnumerable, IEnumerable>, IQueryCollection ++ [DebuggerDisplayAttribute("Count = {Count}")] ++ [DebuggerTypeProxyAttribute(typeof(QueryCollection.QueryCollectionDebugView))] ++ public class QueryCollection : IEnumerable, IEnumerable>, IQueryCollection +- public readonly struct QueryString : IEquatable ++ [DebuggerDisplayAttribute("{Value}")] ++ public readonly struct QueryString : IEquatable +- [AttributeUsageAttribute(4164, Inherited=false, AllowMultiple=false)] +- public sealed class TagsAttribute : Attribute, ITagsMetadata { ++ [AttributeUsageAttribute(4164, Inherited=false, AllowMultiple=false)] ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class TagsAttribute : Attribute, ITagsMetadata { ++ public override string ToString(); + } +- public abstract class WebSocketManager ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(WebSocketManager.WebSocketManagerDebugView))] ++ public abstract class WebSocketManager + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.HttpLogging.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.HttpLogging.md new file mode 100644 index 0000000000..b2f7fa75b2 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.HttpLogging.md @@ -0,0 +1,18 @@ +# Microsoft.AspNetCore.HttpLogging + +``` diff + namespace Microsoft.AspNetCore.HttpLogging { + [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)] + public sealed class HttpLoggingAttribute : Attribute { ++ public HttpLoggingAttribute(HttpLoggingFields loggingFields); +- public HttpLoggingAttribute(HttpLoggingFields loggingFields, int requestBodyLogLimit = -1, int responseBodyLogLimit = -1); ++ public bool IsRequestBodyLogLimitSet { get; } ++ public bool IsResponseBodyLogLimitSet { get; } +- public int RequestBodyLogLimit { get; } ++ public int RequestBodyLogLimit { get; set; } +- public int ResponseBodyLogLimit { get; } ++ public int ResponseBodyLogLimit { get; set; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Identity.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Identity.md new file mode 100644 index 0000000000..91b0abae20 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Identity.md @@ -0,0 +1,26 @@ +# Microsoft.AspNetCore.Identity + +``` diff + namespace Microsoft.AspNetCore.Identity { + public class SecurityStampValidator : ISecurityStampValidator where TUser : class { +- public SecurityStampValidator(IOptions options, SignInManager signInManager, ISystemClock clock, ILoggerFactory logger); ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider on SecurityStampValidatorOptions instead.")] ++ public SecurityStampValidator(IOptions options, SignInManager signInManager, ISystemClock clock, ILoggerFactory logger); ++ public SecurityStampValidator(IOptions options, SignInManager signInManager, ILoggerFactory logger); +- public ISystemClock Clock { get; } ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider instead.")] ++ public ISystemClock Clock { get; } ++ public TimeProvider TimeProvider { get; } + } + public class SecurityStampValidatorOptions { ++ public TimeProvider TimeProvider { get; set; } + } + public class TwoFactorSecurityStampValidator : SecurityStampValidator, ISecurityStampValidator, ITwoFactorSecurityStampValidator where TUser : class { +- public TwoFactorSecurityStampValidator(IOptions options, SignInManager signInManager, ISystemClock clock, ILoggerFactory logger); ++ [ObsoleteAttribute("ISystemClock is obsolete, use TimeProvider on SecurityStampValidatorOptions instead.")] ++ public TwoFactorSecurityStampValidator(IOptions options, SignInManager signInManager, ISystemClock clock, ILoggerFactory logger); ++ public TwoFactorSecurityStampValidator(IOptions options, SignInManager signInManager, ILoggerFactory logger); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Mvc.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Mvc.md new file mode 100644 index 0000000000..b76bb2c6e4 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Mvc.md @@ -0,0 +1,30 @@ +# Microsoft.AspNetCore.Mvc + +``` diff + namespace Microsoft.AspNetCore.Mvc { ++ public class MiddlewareFilterAttribute : MiddlewareFilterAttribute { ++ public MiddlewareFilterAttribute(); ++ } ++ public class ModelBinderAttribute : ModelBinderAttribute where TBinder : IModelBinder { ++ public ModelBinderAttribute(); ++ } ++ public class ModelMetadataTypeAttribute : ModelMetadataTypeAttribute { ++ public ModelMetadataTypeAttribute(); ++ } ++ public class ProducesAttribute : ProducesAttribute { ++ public ProducesAttribute(); ++ } ++ public class ProducesResponseTypeAttribute : ProducesResponseTypeAttribute { ++ public ProducesResponseTypeAttribute(int statusCode); ++ public ProducesResponseTypeAttribute(int statusCode, string contentType, params string[] additionalContentTypes); ++ } ++ [DebuggerDisplayAttribute("ServiceFilter: Type={ServiceType} Order={Order}")] ++ public class ServiceFilterAttribute : ServiceFilterAttribute where TFilter : IFilterMetadata { ++ public ServiceFilterAttribute(); ++ } ++ public class TypeFilterAttribute : TypeFilterAttribute where TFilter : IFilterMetadata { ++ public TypeFilterAttribute(); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Routing.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Routing.md new file mode 100644 index 0000000000..7f1ce9c7bd --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Routing.md @@ -0,0 +1,61 @@ +# Microsoft.AspNetCore.Routing + +``` diff + namespace Microsoft.AspNetCore.Routing { +- public sealed class DataTokensMetadata : IDataTokensMetadata { ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class DataTokensMetadata : IDataTokensMetadata { ++ public override string ToString(); + } + public class EndpointNameMetadata : IEndpointNameMetadata { ++ public override string ToString(); + } +- [AttributeUsageAttribute(4164, AllowMultiple=false, Inherited=true)] +- public sealed class ExcludeFromDescriptionAttribute : Attribute, IExcludeFromDescriptionMetadata { ++ [AttributeUsageAttribute(4164, AllowMultiple=false, Inherited=true)] ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class ExcludeFromDescriptionAttribute : Attribute, IExcludeFromDescriptionMetadata { ++ public override string ToString(); + } +- [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=false)] +- [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] +- public sealed class HostAttribute : Attribute, IHostMetadata { ++ [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=false)] ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class HostAttribute : Attribute, IHostMetadata { ++ public override string ToString(); + } +- [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] +- public sealed class HttpMethodMetadata : IHttpMethodMetadata { ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class HttpMethodMetadata : IHttpMethodMetadata { ++ public override string ToString(); + } + [EditorBrowsableAttribute(1)] + public static class RouteHandlerServices { +- public static RouteHandlerBuilder Map(IEndpointRouteBuilder endpoints, string pattern, Delegate handler, IEnumerable httpMethods, Func populateMetadata, Func createRequestDelegate); ++ public static RouteHandlerBuilder Map(IEndpointRouteBuilder endpoints, string pattern, Delegate handler, IEnumerable? httpMethods, Func populateMetadata, Func createRequestDelegate); + } +- [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] +- public sealed class RouteNameMetadata : IRouteNameMetadata { ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class RouteNameMetadata : IRouteNameMetadata { ++ public override string ToString(); + } +- public class RouteValueDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary ++ [DebuggerDisplayAttribute("Count = {Count}")] ++ [DebuggerTypeProxyAttribute(typeof(RouteValueDictionary.RouteValueDictionaryDebugView))] ++ public class RouteValueDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary +- public sealed class SuppressLinkGenerationMetadata : ISuppressLinkGenerationMetadata { ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class SuppressLinkGenerationMetadata : ISuppressLinkGenerationMetadata { ++ public override string ToString(); + } +- public sealed class SuppressMatchingMetadata : ISuppressMatchingMetadata { ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class SuppressMatchingMetadata : ISuppressMatchingMetadata { ++ public override string ToString(); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Server.HttpSys.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Server.HttpSys.md new file mode 100644 index 0000000000..1c05b0d242 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Server.HttpSys.md @@ -0,0 +1,44 @@ +# Microsoft.AspNetCore.Server.HttpSys + +``` diff + namespace Microsoft.AspNetCore.Server.HttpSys { ++ public enum HttpSysRequestTimingType { ++ ConnectionStart = 0, ++ DataStart = 1, ++ Http2HeaderDecodeEnd = 14, ++ Http2HeaderDecodeStart = 13, ++ Http2StreamStart = 12, ++ Http3HeaderDecodeEnd = 29, ++ Http3HeaderDecodeStart = 28, ++ Http3StreamStart = 27, ++ RequestDeliveredForDelegation = 23, ++ RequestDeliveredForInspection = 20, ++ RequestDeliveredForIO = 26, ++ RequestHeaderParseEnd = 16, ++ RequestHeaderParseStart = 15, ++ RequestQueuedForDelegation = 22, ++ RequestQueuedForInspection = 19, ++ RequestQueuedForIO = 25, ++ RequestReturnedAfterDelegation = 24, ++ RequestReturnedAfterInspection = 21, ++ RequestRoutingEnd = 18, ++ RequestRoutingStart = 17, ++ TlsAttributesQueryEnd = 9, ++ TlsAttributesQueryStart = 8, ++ TlsCertificateLoadEnd = 3, ++ TlsCertificateLoadStart = 2, ++ TlsClientCertQueryEnd = 11, ++ TlsClientCertQueryStart = 10, ++ TlsHandshakeLeg1End = 5, ++ TlsHandshakeLeg1Start = 4, ++ TlsHandshakeLeg2End = 7, ++ TlsHandshakeLeg2Start = 6, ++ } ++ public interface IHttpSysRequestTimingFeature { ++ ReadOnlySpan Timestamps { get; } ++ bool TryGetElapsedTime(HttpSysRequestTimingType startingTimestampType, HttpSysRequestTimingType endingTimestampType, out TimeSpan elapsed); ++ bool TryGetTimestamp(HttpSysRequestTimingType timestampType, out long timestamp); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Session.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Session.md new file mode 100644 index 0000000000..f55b600f42 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.Session.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Session + +``` diff + namespace Microsoft.AspNetCore.Session { +- public class DistributedSession : ISession ++ [DebuggerDisplayAttribute("Count = {System.Linq.Enumerable.Count(Keys)}")] ++ [DebuggerTypeProxyAttribute(typeof(DistributedSession.DistributedSessionDebugView))] ++ public class DistributedSession : ISession + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.SignalR.Protocol.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.SignalR.Protocol.md new file mode 100644 index 0000000000..b93a6d23ae --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.AspNetCore.SignalR.Protocol.md @@ -0,0 +1,19 @@ +# Microsoft.AspNetCore.SignalR.Protocol + +``` diff + namespace Microsoft.AspNetCore.SignalR.Protocol { ++ public sealed class AckMessage : HubMessage { ++ public AckMessage(long sequenceId); ++ public long SequenceId { get; set; } ++ } + public static class HubProtocolConstants { ++ public const int AckMessageType = 8; ++ public const int SequenceMessageType = 9; + } ++ public sealed class SequenceMessage : HubMessage { ++ public SequenceMessage(long sequenceId); ++ public long SequenceId { get; set; } ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.Extensions.DependencyInjection.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.Extensions.DependencyInjection.md new file mode 100644 index 0000000000..1c60399404 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.Extensions.DependencyInjection.md @@ -0,0 +1,25 @@ +# Microsoft.Extensions.DependencyInjection + +``` diff + namespace Microsoft.Extensions.DependencyInjection { + public static class AuthenticationServiceCollectionExtensions { +- [RequiresUnreferencedCodeAttribute("Authentication middleware does not currently support native AOT.", Url="https://aka.ms/aspnet/nativeaot")] +- public static AuthenticationBuilder AddAuthentication(this IServiceCollection services); ++ public static AuthenticationBuilder AddAuthentication(this IServiceCollection services); +- [RequiresUnreferencedCodeAttribute("Authentication middleware does not currently support native AOT.", Url="https://aka.ms/aspnet/nativeaot")] +- public static AuthenticationBuilder AddAuthentication(this IServiceCollection services, Action configureOptions); ++ public static AuthenticationBuilder AddAuthentication(this IServiceCollection services, Action configureOptions); +- [RequiresUnreferencedCodeAttribute("Authentication middleware does not currently support native AOT.", Url="https://aka.ms/aspnet/nativeaot")] +- public static AuthenticationBuilder AddAuthentication(this IServiceCollection services, string defaultScheme); ++ public static AuthenticationBuilder AddAuthentication(this IServiceCollection services, string defaultScheme); + } + public static class ExceptionHandlerServiceCollectionExtensions { ++ public static IServiceCollection AddExceptionHandler(this IServiceCollection services) where T : class, IExceptionHandler; + } ++ public static class RazorComponentsBuilderExtensions { ++ [RequiresUnreferencedCodeAttribute("Server-side Blazor does not currently support native AOT.", Url="https://aka.ms/aspnet/nativeaot")] ++ public static IRazorComponentsBuilder AddServerComponents(this IRazorComponentsBuilder builder, Action? configure = null); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.Extensions.Diagnostics.Metrics.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.Extensions.Diagnostics.Metrics.md new file mode 100644 index 0000000000..98430ff57e --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.AspNetCore.App/8.0-preview5_Microsoft.Extensions.Diagnostics.Metrics.md @@ -0,0 +1,16 @@ +# Microsoft.Extensions.Diagnostics.Metrics + +``` diff ++namespace Microsoft.Extensions.Diagnostics.Metrics { ++ public interface IMeterFactory : IDisposable { ++ Meter Create(MeterOptions options); ++ } ++ public static class MeterFactoryExtensions { ++ public static Meter Create(this IMeterFactory meterFactory, string name, string? version = null, IEnumerable>? tags = null, object? scope = null); ++ } ++ public static class MetricsServiceExtensions { ++ public static IServiceCollection AddMetrics(this IServiceCollection services); ++ } ++} +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5.md new file mode 100644 index 0000000000..4f5e8cc3e9 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5.md @@ -0,0 +1,30 @@ +# API Difference 8.0-preview4 vs 8.0-preview5 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [System](8.0-preview5_System.md) +* [System.Buffers](8.0-preview5_System.Buffers.md) +* [System.Buffers.Text](8.0-preview5_System.Buffers.Text.md) +* [System.Collections.Immutable](8.0-preview5_System.Collections.Immutable.md) +* [System.ComponentModel](8.0-preview5_System.ComponentModel.md) +* [System.ComponentModel.DataAnnotations](8.0-preview5_System.ComponentModel.DataAnnotations.md) +* [System.Diagnostics](8.0-preview5_System.Diagnostics.md) +* [System.Diagnostics.Metrics](8.0-preview5_System.Diagnostics.Metrics.md) +* [System.Linq](8.0-preview5_System.Linq.md) +* [System.Net](8.0-preview5_System.Net.md) +* [System.Net.Security](8.0-preview5_System.Net.Security.md) +* [System.Reflection.Emit](8.0-preview5_System.Reflection.Emit.md) +* [System.Reflection.Metadata.Ecma335](8.0-preview5_System.Reflection.Metadata.Ecma335.md) +* [System.Runtime.InteropServices](8.0-preview5_System.Runtime.InteropServices.md) +* [System.Runtime.InteropServices.Marshalling](8.0-preview5_System.Runtime.InteropServices.Marshalling.md) +* [System.Runtime.Intrinsics.Wasm](8.0-preview5_System.Runtime.Intrinsics.Wasm.md) +* [System.Runtime.Intrinsics.X86](8.0-preview5_System.Runtime.Intrinsics.X86.md) +* [System.Security.Cryptography](8.0-preview5_System.Security.Cryptography.md) +* [System.Text](8.0-preview5_System.Text.md) +* [System.Text.Json.Serialization](8.0-preview5_System.Text.Json.Serialization.md) +* [System.Text.Json.Serialization.Metadata](8.0-preview5_System.Text.Json.Serialization.Metadata.md) +* [System.Web](8.0-preview5_System.Web.md) +* [System.Xml](8.0-preview5_System.Xml.md) +* [System.Xml.XPath](8.0-preview5_System.Xml.XPath.md) + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Buffers.Text.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Buffers.Text.md new file mode 100644 index 0000000000..b30931fb35 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Buffers.Text.md @@ -0,0 +1,13 @@ +# System.Buffers.Text + +``` diff + namespace System.Buffers.Text { + public static class Base64 { ++ public static bool IsValid(ReadOnlySpan base64TextUtf8); ++ public static bool IsValid(ReadOnlySpan base64TextUtf8, out int decodedLength); ++ public static bool IsValid(ReadOnlySpan base64Text); ++ public static bool IsValid(ReadOnlySpan base64Text, out int decodedLength); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Buffers.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Buffers.md new file mode 100644 index 0000000000..49c48aaf36 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Buffers.md @@ -0,0 +1,21 @@ +# System.Buffers + +``` diff + namespace System.Buffers { +- public static class IndexOfAnyValues { +- public static IndexOfAnyValues Create(ReadOnlySpan values); +- public static IndexOfAnyValues Create(ReadOnlySpan values); +- } +- public class IndexOfAnyValues where T : IEquatable? { +- public bool Contains(T value); +- } ++ public static class SearchValues { ++ public static SearchValues Create(ReadOnlySpan values); ++ public static SearchValues Create(ReadOnlySpan values); ++ } ++ public class SearchValues where T : IEquatable? { ++ public bool Contains(T value); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Collections.Immutable.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Collections.Immutable.md new file mode 100644 index 0000000000..0dfc426849 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Collections.Immutable.md @@ -0,0 +1,10 @@ +# System.Collections.Immutable + +``` diff + namespace System.Collections.Immutable { + public readonly struct ImmutableArray : ICollection, ICollection, IEnumerable, IEnumerable, IEquatable>, IImmutableList, IList, IList, IReadOnlyCollection, IReadOnlyList, IStructuralComparable, IStructuralEquatable { ++ public bool Contains(T item, IEqualityComparer? equalityComparer); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.ComponentModel.DataAnnotations.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.ComponentModel.DataAnnotations.md new file mode 100644 index 0000000000..e26c4b9972 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.ComponentModel.DataAnnotations.md @@ -0,0 +1,11 @@ +# System.ComponentModel.DataAnnotations + +``` diff + namespace System.ComponentModel.DataAnnotations { + [AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property, AllowMultiple=false)] + public class RequiredAttribute : ValidationAttribute { +- public bool DisallowAllDefaultValues { get; set; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.ComponentModel.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.ComponentModel.md new file mode 100644 index 0000000000..98c37f77ea --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.ComponentModel.md @@ -0,0 +1,12 @@ +# System.ComponentModel + +``` diff + namespace System.ComponentModel { + [AttributeUsageAttribute(AttributeTargets.All)] + public class PropertyTabAttribute : Attribute { +- public bool Equals(PropertyTabAttribute other); ++ public bool Equals([NotNullWhenAttribute(true)] PropertyTabAttribute? other); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Diagnostics.Metrics.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Diagnostics.Metrics.md new file mode 100644 index 0000000000..978513edcb --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Diagnostics.Metrics.md @@ -0,0 +1,51 @@ +# System.Diagnostics.Metrics + +``` diff + namespace System.Diagnostics.Metrics { + public abstract class Instrument { ++ protected Instrument(Meter meter, string name, string? unit, string? description, IEnumerable>? tags); ++ public IEnumerable>? Tags { get; } + } + public abstract class Instrument : Instrument where T : struct { ++ protected Instrument(Meter meter, string name, string? unit, string? description, IEnumerable>? tags); + } ++ public sealed class InstrumentRecorder : IDisposable where T : struct { ++ public InstrumentRecorder(Instrument instrument); ++ public InstrumentRecorder(Meter meter, string instrumentName); ++ public InstrumentRecorder(object? scopeFilter, string meterName, string instrumentName); ++ public Instrument? Instrument { get; } ++ public void Dispose(); ++ public IEnumerable> GetMeasurements(bool clear = false); ++ } + public class Meter : IDisposable { ++ public Meter(MeterOptions options); ++ public Meter(string name, string version, IEnumerable>? tags, object scope = null); ++ public object Scope { get; } ++ public IEnumerable>? Tags { get; } ++ public Counter CreateCounter(string name, string unit, string description, IEnumerable> tags) where T : struct; ++ public Histogram CreateHistogram(string name, string unit, string description, IEnumerable> tags) where T : struct; ++ public ObservableCounter CreateObservableCounter(string name, Func>> observeValues, string unit, string description, IEnumerable> tags) where T : struct; ++ public ObservableCounter CreateObservableCounter(string name, Func> observeValue, string unit, string description, IEnumerable> tags) where T : struct; ++ public ObservableCounter CreateObservableCounter(string name, Func observeValue, string unit, string description, IEnumerable> tags) where T : struct; ++ public ObservableGauge CreateObservableGauge(string name, Func>> observeValues, string unit, string description, IEnumerable> tags) where T : struct; ++ public ObservableGauge CreateObservableGauge(string name, Func> observeValue, string unit, string description, IEnumerable> tags) where T : struct; ++ public ObservableGauge CreateObservableGauge(string name, Func observeValue, string unit, string description, IEnumerable> tags) where T : struct; ++ public ObservableUpDownCounter CreateObservableUpDownCounter(string name, Func>> observeValues, string unit, string description, IEnumerable> tags) where T : struct; ++ public ObservableUpDownCounter CreateObservableUpDownCounter(string name, Func> observeValue, string unit, string description, IEnumerable> tags) where T : struct; ++ public ObservableUpDownCounter CreateObservableUpDownCounter(string name, Func observeValue, string unit, string description, IEnumerable> tags) where T : struct; ++ public UpDownCounter CreateUpDownCounter(string name, string unit, string description, IEnumerable> tags) where T : struct; ++ protected virtual void Dispose(bool disposing); + } ++ public class MeterOptions { ++ public MeterOptions(string name); ++ public string Name { get; set; } ++ public object Scope { get; set; } ++ public IEnumerable>? Tags { get; set; } ++ public string Version { get; set; } ++ } + public abstract class ObservableInstrument : Instrument where T : struct { ++ protected ObservableInstrument(Meter meter, string name, string? unit, string? description, IEnumerable> tags); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Diagnostics.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Diagnostics.md new file mode 100644 index 0000000000..d7aef69153 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Diagnostics.md @@ -0,0 +1,10 @@ +# System.Diagnostics + +``` diff + namespace System.Diagnostics { + public sealed class ProcessStartInfo { ++ public ProcessStartInfo(string fileName, IEnumerable arguments); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Linq.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Linq.md new file mode 100644 index 0000000000..39f3fbebe1 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Linq.md @@ -0,0 +1,13 @@ +# System.Linq + +``` diff + namespace System.Linq { + public static class Enumerable { ++ public static Dictionary ToDictionary(this IEnumerable> source); ++ public static Dictionary ToDictionary(this IEnumerable> source, IEqualityComparer? comparer); ++ public static Dictionary ToDictionary(this IEnumerable<(TKey Key, TValue Value)> source); ++ public static Dictionary ToDictionary(this IEnumerable<(TKey Key, TValue Value)> source, IEqualityComparer? comparer); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Net.Security.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Net.Security.md new file mode 100644 index 0000000000..90aa6c11bf --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Net.Security.md @@ -0,0 +1,14 @@ +# System.Net.Security + +``` diff + namespace System.Net.Security { + public readonly struct SslClientHelloInfo { ++ public SslClientHelloInfo(string serverName, SslProtocols sslProtocols); + } + public class SslStreamCertificateContext { ++ public ReadOnlyCollection IntermediateCertificates { get; } ++ public X509Certificate2 TargetCertificate { get; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Net.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Net.md new file mode 100644 index 0000000000..53a82da722 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Net.md @@ -0,0 +1,10 @@ +# System.Net + +``` diff + namespace System.Net { + public enum HttpStatusCode { ++ UnprocessableContent = 422, + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Reflection.Emit.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Reflection.Emit.md new file mode 100644 index 0000000000..e9000307d2 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Reflection.Emit.md @@ -0,0 +1,130 @@ +# System.Reflection.Emit + +``` diff + namespace System.Reflection.Emit { + public abstract class AssemblyBuilder : Assembly { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } + public abstract class ConstructorBuilder : ConstructorInfo { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } + public abstract class EnumBuilder : TypeInfo { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } + public abstract class EventBuilder { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } + public abstract class FieldBuilder : FieldInfo { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } + public abstract class GenericTypeParameterBuilder : TypeInfo { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } +- public class ILGenerator { ++ public abstract class ILGenerator { ++ protected ILGenerator(); +- public virtual int ILOffset { get; } ++ public abstract int ILOffset { get; } +- public virtual void BeginCatchBlock(Type? exceptionType); ++ public abstract void BeginCatchBlock(Type? exceptionType); +- public virtual void BeginExceptFilterBlock(); ++ public abstract void BeginExceptFilterBlock(); +- public virtual Label BeginExceptionBlock(); ++ public abstract Label BeginExceptionBlock(); +- public virtual void BeginFaultBlock(); ++ public abstract void BeginFaultBlock(); +- public virtual void BeginFinallyBlock(); ++ public abstract void BeginFinallyBlock(); +- public virtual void BeginScope(); ++ public abstract void BeginScope(); +- public virtual LocalBuilder DeclareLocal(Type localType, bool pinned); ++ public abstract LocalBuilder DeclareLocal(Type localType, bool pinned); +- public virtual Label DefineLabel(); ++ public abstract Label DefineLabel(); +- public virtual void Emit(OpCode opcode); ++ public abstract void Emit(OpCode opcode); +- public virtual void Emit(OpCode opcode, byte arg); ++ public abstract void Emit(OpCode opcode, byte arg); +- public virtual void Emit(OpCode opcode, double arg); ++ public abstract void Emit(OpCode opcode, double arg); +- public virtual void Emit(OpCode opcode, short arg); ++ public abstract void Emit(OpCode opcode, short arg); +- public virtual void Emit(OpCode opcode, int arg); ++ public abstract void Emit(OpCode opcode, int arg); +- public virtual void Emit(OpCode opcode, long arg); ++ public abstract void Emit(OpCode opcode, long arg); +- public virtual void Emit(OpCode opcode, ConstructorInfo con); ++ public abstract void Emit(OpCode opcode, ConstructorInfo con); +- public virtual void Emit(OpCode opcode, Label label); ++ public abstract void Emit(OpCode opcode, Label label); +- public virtual void Emit(OpCode opcode, Label[] labels); ++ public abstract void Emit(OpCode opcode, Label[] labels); +- public virtual void Emit(OpCode opcode, LocalBuilder local); ++ public abstract void Emit(OpCode opcode, LocalBuilder local); +- public virtual void Emit(OpCode opcode, SignatureHelper signature); ++ public abstract void Emit(OpCode opcode, SignatureHelper signature); +- public virtual void Emit(OpCode opcode, FieldInfo field); ++ public abstract void Emit(OpCode opcode, FieldInfo field); +- public virtual void Emit(OpCode opcode, MethodInfo meth); ++ public abstract void Emit(OpCode opcode, MethodInfo meth); +- public virtual void Emit(OpCode opcode, float arg); ++ public abstract void Emit(OpCode opcode, float arg); +- public virtual void Emit(OpCode opcode, string str); ++ public abstract void Emit(OpCode opcode, string str); +- public virtual void Emit(OpCode opcode, Type cls); ++ public abstract void Emit(OpCode opcode, Type cls); +- public virtual void EmitCall(OpCode opcode, MethodInfo methodInfo, Type[]? optionalParameterTypes); ++ public abstract void EmitCall(OpCode opcode, MethodInfo methodInfo, Type[]? optionalParameterTypes); +- public virtual void EmitCalli(OpCode opcode, CallingConventions callingConvention, Type? returnType, Type[]? parameterTypes, Type[]? optionalParameterTypes); ++ public abstract void EmitCalli(OpCode opcode, CallingConventions callingConvention, Type? returnType, Type[]? parameterTypes, Type[]? optionalParameterTypes); +- public virtual void EmitCalli(OpCode opcode, CallingConvention unmanagedCallConv, Type? returnType, Type[]? parameterTypes); ++ public abstract void EmitCalli(OpCode opcode, CallingConvention unmanagedCallConv, Type? returnType, Type[]? parameterTypes); +- public virtual void EndExceptionBlock(); ++ public abstract void EndExceptionBlock(); +- public virtual void EndScope(); ++ public abstract void EndScope(); +- public virtual void MarkLabel(Label loc); ++ public abstract void MarkLabel(Label loc); +- public virtual void UsingNamespace(string usingNamespace); ++ public abstract void UsingNamespace(string usingNamespace); + } + public abstract class MethodBuilder : MethodInfo { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } + public abstract class ModuleBuilder : Module { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } +- public class ParameterBuilder { ++ public abstract class ParameterBuilder { ++ protected ParameterBuilder(); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); + } + public abstract class PropertyBuilder : PropertyInfo { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } + public abstract class TypeBuilder : TypeInfo { +- protected abstract void SetCustomAttributeCore(ConstructorInfo con, byte[] binaryAttribute); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); +- protected abstract void SetCustomAttributeCore(CustomAttributeBuilder customBuilder); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Reflection.Metadata.Ecma335.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Reflection.Metadata.Ecma335.md new file mode 100644 index 0000000000..3aa50b07d5 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Reflection.Metadata.Ecma335.md @@ -0,0 +1,10 @@ +# System.Reflection.Metadata.Ecma335 + +``` diff + namespace System.Reflection.Metadata.Ecma335 { + public readonly struct SignatureTypeEncoder { ++ public void TypedReference(); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.InteropServices.Marshalling.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.InteropServices.Marshalling.md new file mode 100644 index 0000000000..14ab52e462 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.InteropServices.Marshalling.md @@ -0,0 +1,61 @@ +# System.Runtime.InteropServices.Marshalling + +``` diff + namespace System.Runtime.InteropServices.Marshalling { ++ [CLSCompliantAttribute(false)] ++ [CustomMarshallerAttribute(typeof(CustomMarshallerAttribute.GenericPlaceholder), MarshalMode.Default, typeof(ComInterfaceMarshaller<>))] ++ [UnsupportedOSPlatformAttribute("android")] ++ [UnsupportedOSPlatformAttribute("browser")] ++ [UnsupportedOSPlatformAttribute("ios")] ++ [UnsupportedOSPlatformAttribute("tvos")] ++ public static class ComInterfaceMarshaller { ++ public unsafe static T? ConvertToManaged(void* unmanaged); ++ public unsafe static void* ConvertToUnmanaged(T? managed); ++ } + [AttributeUsageAttribute(AttributeTargets.Interface)] + public class GeneratedComInterfaceAttribute : Attribute { ++ public StringMarshalling StringMarshalling { get; set; } ++ public Type StringMarshallingCustomType { get; set; } + } +- [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Delegate | AttributeTargets.Enum | AttributeTargets.Struct)] +- public sealed class NativeMarshallingAttribute : Attribute ++ [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Delegate | AttributeTargets.Enum | AttributeTargets.Interface | AttributeTargets.Struct)] ++ public sealed class NativeMarshallingAttribute : Attribute ++ [CustomMarshallerAttribute(typeof(CustomMarshallerAttribute.GenericPlaceholder), MarshalMode.ManagedToUnmanagedIn, typeof(SafeHandleMarshaller<>.ManagedToUnmanagedIn))] ++ [CustomMarshallerAttribute(typeof(CustomMarshallerAttribute.GenericPlaceholder), MarshalMode.ManagedToUnmanagedOut, typeof(SafeHandleMarshaller<>.ManagedToUnmanagedOut))] ++ [CustomMarshallerAttribute(typeof(CustomMarshallerAttribute.GenericPlaceholder), MarshalMode.ManagedToUnmanagedRef, typeof(SafeHandleMarshaller<>.ManagedToUnmanagedRef))] ++ public static class SafeHandleMarshaller where T : SafeHandle { ++ public struct ManagedToUnmanagedIn { ++ public void Free(); ++ public void FromManaged(T handle); ++ public IntPtr ToUnmanaged(); ++ } ++ public struct ManagedToUnmanagedOut { ++ public ManagedToUnmanagedOut(); ++ public void Free(); ++ public void FromUnmanaged(IntPtr value); ++ public T ToManaged(); ++ } ++ public struct ManagedToUnmanagedRef { ++ public ManagedToUnmanagedRef(); ++ public void Free(); ++ public void FromManaged(T handle); ++ public void FromUnmanaged(IntPtr value); ++ public void OnInvoked(); ++ public T ToManagedFinally(); ++ public IntPtr ToUnmanaged(); ++ } ++ } ++ [CLSCompliantAttribute(false)] ++ [CustomMarshallerAttribute(typeof(CustomMarshallerAttribute.GenericPlaceholder), MarshalMode.Default, typeof(UniqueComInterfaceMarshaller<>))] ++ [UnsupportedOSPlatformAttribute("android")] ++ [UnsupportedOSPlatformAttribute("browser")] ++ [UnsupportedOSPlatformAttribute("ios")] ++ [UnsupportedOSPlatformAttribute("tvos")] ++ public static class UniqueComInterfaceMarshaller { ++ public unsafe static T? ConvertToManaged(void* unmanaged); ++ public unsafe static void* ConvertToUnmanaged(T? managed); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.InteropServices.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.InteropServices.md new file mode 100644 index 0000000000..0f4c4d35fe --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.InteropServices.md @@ -0,0 +1,11 @@ +# System.Runtime.InteropServices + +``` diff + namespace System.Runtime.InteropServices { ++ public static class ImmutableCollectionsMarshal { ++ public static T[]? AsArray(ImmutableArray array); ++ public static ImmutableArray AsImmutableArray(T[]? array); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.Intrinsics.Wasm.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.Intrinsics.Wasm.md new file mode 100644 index 0000000000..a6cc95e3aa --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.Intrinsics.Wasm.md @@ -0,0 +1,120 @@ +# System.Runtime.Intrinsics.Wasm + +``` diff + namespace System.Runtime.Intrinsics.Wasm { + [CLSCompliantAttribute(false)] + public abstract class PackedSimd { ++ public static Vector128 Abs(Vector128 value); ++ public static Vector128 Abs(Vector128 value); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Ceiling(Vector128 value); ++ public static Vector128 Ceiling(Vector128 value); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right); ++ public static Vector128 ConvertToDoubleLower(Vector128 value); ++ public static Vector128 ConvertToDoubleLower(Vector128 value); ++ public static Vector128 ConvertToDoubleLower(Vector128 value); ++ public static Vector128 ConvertToInt32Saturate(Vector128 value); ++ public static Vector128 ConvertToInt32Saturate(Vector128 value); ++ public static Vector128 ConvertToSingle(Vector128 value); ++ public static Vector128 ConvertToSingle(Vector128 value); ++ public static Vector128 ConvertToSingle(Vector128 value); ++ public static Vector128 Divide(Vector128 left, Vector128 right); ++ public static Vector128 Divide(Vector128 left, Vector128 right); ++ public static Vector128 Floor(Vector128 value); ++ public static Vector128 Floor(Vector128 value); ++ public static Vector128 Max(Vector128 left, Vector128 right); ++ public static Vector128 Max(Vector128 left, Vector128 right); ++ public static Vector128 Min(Vector128 left, Vector128 right); ++ public static Vector128 Min(Vector128 left, Vector128 right); ++ public static Vector128 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 PseudoMax(Vector128 left, Vector128 right); ++ public static Vector128 PseudoMax(Vector128 left, Vector128 right); ++ public static Vector128 PseudoMin(Vector128 left, Vector128 right); ++ public static Vector128 PseudoMin(Vector128 left, Vector128 right); ++ public static Vector128 RoundToNearest(Vector128 value); ++ public static Vector128 RoundToNearest(Vector128 value); ++ public static Vector128 SignExtendWideningLower(Vector128 value); ++ public static Vector128 SignExtendWideningLower(Vector128 value); ++ public static Vector128 SignExtendWideningLower(Vector128 value); ++ public static Vector128 SignExtendWideningLower(Vector128 value); ++ public static Vector128 SignExtendWideningLower(Vector128 value); ++ public static Vector128 SignExtendWideningLower(Vector128 value); ++ public static Vector128 SignExtendWideningUpper(Vector128 value); ++ public static Vector128 SignExtendWideningUpper(Vector128 value); ++ public static Vector128 SignExtendWideningUpper(Vector128 value); ++ public static Vector128 SignExtendWideningUpper(Vector128 value); ++ public static Vector128 SignExtendWideningUpper(Vector128 value); ++ public static Vector128 SignExtendWideningUpper(Vector128 value); ++ public static Vector128 Sqrt(Vector128 value); ++ public static Vector128 Sqrt(Vector128 value); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Truncate(Vector128 value); ++ public static Vector128 Truncate(Vector128 value); ++ public static Vector128 ZeroExtendWideningLower(Vector128 value); ++ public static Vector128 ZeroExtendWideningLower(Vector128 value); ++ public static Vector128 ZeroExtendWideningLower(Vector128 value); ++ public static Vector128 ZeroExtendWideningLower(Vector128 value); ++ public static Vector128 ZeroExtendWideningLower(Vector128 value); ++ public static Vector128 ZeroExtendWideningLower(Vector128 value); ++ public static Vector128 ZeroExtendWideningUpper(Vector128 value); ++ public static Vector128 ZeroExtendWideningUpper(Vector128 value); ++ public static Vector128 ZeroExtendWideningUpper(Vector128 value); ++ public static Vector128 ZeroExtendWideningUpper(Vector128 value); ++ public static Vector128 ZeroExtendWideningUpper(Vector128 value); ++ public static Vector128 ZeroExtendWideningUpper(Vector128 value); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.Intrinsics.X86.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.Intrinsics.X86.md new file mode 100644 index 0000000000..ae31c7319e --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Runtime.Intrinsics.X86.md @@ -0,0 +1,275 @@ +# System.Runtime.Intrinsics.X86 + +``` diff + namespace System.Runtime.Intrinsics.X86 { + [CLSCompliantAttribute(false)] + public abstract class Avx512BW : Avx512F { ++ public static Vector512 PermuteVar32x16x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 PermuteVar32x16x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 SumAbsoluteDifferencesInBlock32(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte control); + public new abstract class VL : Avx512F.VL { ++ public static Vector256 PermuteVar16x16x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector256 PermuteVar16x16x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector128 PermuteVar8x16x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 PermuteVar8x16x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 SumAbsoluteDifferencesInBlock32(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); ++ public static Vector256 SumAbsoluteDifferencesInBlock32(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); + } + } + [CLSCompliantAttribute(false)] + public abstract class Avx512CD : Avx512F { ++ public static Vector512 DetectConflicts(Vector512 value); ++ public static Vector512 DetectConflicts(Vector512 value); ++ public static Vector512 DetectConflicts(Vector512 value); ++ public static Vector512 DetectConflicts(Vector512 value); ++ public static Vector512 LeadingZeroCount(Vector512 value); ++ public static Vector512 LeadingZeroCount(Vector512 value); ++ public static Vector512 LeadingZeroCount(Vector512 value); ++ public static Vector512 LeadingZeroCount(Vector512 value); + public new abstract class VL : Avx512F.VL { ++ public static Vector128 DetectConflicts(Vector128 value); ++ public static Vector128 DetectConflicts(Vector128 value); ++ public static Vector128 DetectConflicts(Vector128 value); ++ public static Vector128 DetectConflicts(Vector128 value); ++ public static Vector256 DetectConflicts(Vector256 value); ++ public static Vector256 DetectConflicts(Vector256 value); ++ public static Vector256 DetectConflicts(Vector256 value); ++ public static Vector256 DetectConflicts(Vector256 value); ++ public static Vector128 LeadingZeroCount(Vector128 value); ++ public static Vector128 LeadingZeroCount(Vector128 value); ++ public static Vector128 LeadingZeroCount(Vector128 value); ++ public static Vector128 LeadingZeroCount(Vector128 value); ++ public static Vector256 LeadingZeroCount(Vector256 value); ++ public static Vector256 LeadingZeroCount(Vector256 value); ++ public static Vector256 LeadingZeroCount(Vector256 value); ++ public static Vector256 LeadingZeroCount(Vector256 value); + } + } + [CLSCompliantAttribute(false)] + public abstract class Avx512DQ : Avx512F { ++ public static Vector512 Range(Vector512 left, Vector512 right, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector512 Range(Vector512 left, Vector512 right, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 RangeScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 RangeScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector512 Reduce(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Reduce(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 ReduceScalar(Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 ReduceScalar(Vector128 upper, Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 ReduceScalar(Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 ReduceScalar(Vector128 upper, Vector128 value, [ConstantExpectedAttribute] byte control); + public new abstract class VL : Avx512F.VL { ++ public static Vector128 Range(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 Range(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector256 Range(Vector256 left, Vector256 right, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector256 Range(Vector256 left, Vector256 right, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 Reduce(Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 Reduce(Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector256 Reduce(Vector256 value, [ConstantExpectedAttribute] byte control); ++ public static Vector256 Reduce(Vector256 value, [ConstantExpectedAttribute] byte control); + } + } + [CLSCompliantAttribute(false)] + public abstract class Avx512F : Avx2 { ++ public static Vector512 AlignRight32(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector512 AlignRight32(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector512 AlignRight64(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector512 AlignRight64(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector512 Fixup(Vector512 left, Vector512 right, Vector512 table, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Fixup(Vector512 left, Vector512 right, Vector512 table, [ConstantExpectedAttribute] byte control); ++ public static Vector128 FixupScalar(Vector128 left, Vector128 right, Vector128 table, [ConstantExpectedAttribute] byte control); ++ public static Vector128 FixupScalar(Vector128 left, Vector128 right, Vector128 table, [ConstantExpectedAttribute] byte control); ++ public static Vector512 GetExponent(Vector512 value); ++ public static Vector512 GetExponent(Vector512 value); ++ public static Vector128 GetExponentScalar(Vector128 value); ++ public static Vector128 GetExponentScalar(Vector128 upper, Vector128 value); ++ public static Vector128 GetExponentScalar(Vector128 value); ++ public static Vector128 GetExponentScalar(Vector128 upper, Vector128 value); ++ public static Vector512 GetMantissa(Vector512 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector512 GetMantissa(Vector512 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 GetMantissaScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 GetMantissaScalar(Vector128 upper, Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 GetMantissaScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 GetMantissaScalar(Vector128 upper, Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector512 PermuteVar16x32x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 PermuteVar16x32x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 PermuteVar16x32x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 PermuteVar8x64x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 PermuteVar8x64x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 PermuteVar8x64x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 Reciprocal14(Vector512 value); ++ public static Vector512 Reciprocal14(Vector512 value); ++ public static Vector128 Reciprocal14Scalar(Vector128 value); ++ public static Vector128 Reciprocal14Scalar(Vector128 upper, Vector128 value); ++ public static Vector128 Reciprocal14Scalar(Vector128 value); ++ public static Vector128 Reciprocal14Scalar(Vector128 upper, Vector128 value); ++ public static Vector512 ReciprocalSqrt14(Vector512 value); ++ public static Vector512 ReciprocalSqrt14(Vector512 value); ++ public static Vector128 ReciprocalSqrt14Scalar(Vector128 value); ++ public static Vector128 ReciprocalSqrt14Scalar(Vector128 upper, Vector128 value); ++ public static Vector128 ReciprocalSqrt14Scalar(Vector128 value); ++ public static Vector128 ReciprocalSqrt14Scalar(Vector128 upper, Vector128 value); ++ public static Vector512 RotateLeft(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 RotateLeft(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 RotateLeft(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 RotateLeft(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 RotateLeftVariable(Vector512 value, Vector512 count); ++ public static Vector512 RotateLeftVariable(Vector512 value, Vector512 count); ++ public static Vector512 RotateLeftVariable(Vector512 value, Vector512 count); ++ public static Vector512 RotateLeftVariable(Vector512 value, Vector512 count); ++ public static Vector512 RotateRight(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 RotateRight(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 RotateRight(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 RotateRight(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 RotateRightVariable(Vector512 value, Vector512 count); ++ public static Vector512 RotateRightVariable(Vector512 value, Vector512 count); ++ public static Vector512 RotateRightVariable(Vector512 value, Vector512 count); ++ public static Vector512 RotateRightVariable(Vector512 value, Vector512 count); ++ public static Vector512 RoundScale(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 RoundScale(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 RoundScaleScalar(Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 RoundScaleScalar(Vector128 upper, Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 RoundScaleScalar(Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 RoundScaleScalar(Vector128 upper, Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Scale(Vector512 left, Vector512 right); ++ public static Vector512 Scale(Vector512 left, Vector512 right); ++ public static Vector128 ScaleScalar(Vector128 left, Vector128 right); ++ public static Vector128 ScaleScalar(Vector128 left, Vector128 right); ++ public static Vector512 Shuffle4x128(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Shuffle4x128(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Shuffle4x128(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Shuffle4x128(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Shuffle4x128(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Shuffle4x128(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); ++ public static Vector512 TernaryLogic(Vector512 a, Vector512 b, Vector512 c, [ConstantExpectedAttribute] byte control); + public abstract class VL { ++ public static Vector128 AlignRight32(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector128 AlignRight32(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector256 AlignRight32(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector256 AlignRight32(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector128 AlignRight64(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector128 AlignRight64(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector256 AlignRight64(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector256 AlignRight64(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector128 Fixup(Vector128 left, Vector128 right, Vector128 table, [ConstantExpectedAttribute] byte control); ++ public static Vector128 Fixup(Vector128 left, Vector128 right, Vector128 table, [ConstantExpectedAttribute] byte control); ++ public static Vector256 Fixup(Vector256 left, Vector256 right, Vector256 table, [ConstantExpectedAttribute] byte control); ++ public static Vector256 Fixup(Vector256 left, Vector256 right, Vector256 table, [ConstantExpectedAttribute] byte control); ++ public static Vector128 GetExponent(Vector128 value); ++ public static Vector128 GetExponent(Vector128 value); ++ public static Vector256 GetExponent(Vector256 value); ++ public static Vector256 GetExponent(Vector256 value); ++ public static Vector128 GetMantissa(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 GetMantissa(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector256 GetMantissa(Vector256 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector256 GetMantissa(Vector256 value, [ConstantExpectedAttribute(Max=(byte)15)] byte control); ++ public static Vector128 PermuteVar2x64x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 PermuteVar2x64x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 PermuteVar2x64x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 PermuteVar4x32x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 PermuteVar4x32x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 PermuteVar4x32x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector256 PermuteVar4x64x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector256 PermuteVar4x64x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector256 PermuteVar4x64x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector256 PermuteVar8x32x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector256 PermuteVar8x32x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector256 PermuteVar8x32x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector128 Reciprocal14(Vector128 value); ++ public static Vector128 Reciprocal14(Vector128 value); ++ public static Vector256 Reciprocal14(Vector256 value); ++ public static Vector256 Reciprocal14(Vector256 value); ++ public static Vector128 ReciprocalSqrt14(Vector128 value); ++ public static Vector128 ReciprocalSqrt14(Vector128 value); ++ public static Vector256 ReciprocalSqrt14(Vector256 value); ++ public static Vector256 ReciprocalSqrt14(Vector256 value); ++ public static Vector128 RotateLeft(Vector128 value, [ConstantExpectedAttribute] byte count); ++ public static Vector128 RotateLeft(Vector128 value, [ConstantExpectedAttribute] byte count); ++ public static Vector128 RotateLeft(Vector128 value, [ConstantExpectedAttribute] byte count); ++ public static Vector128 RotateLeft(Vector128 value, [ConstantExpectedAttribute] byte count); ++ public static Vector256 RotateLeft(Vector256 value, [ConstantExpectedAttribute] byte count); ++ public static Vector256 RotateLeft(Vector256 value, [ConstantExpectedAttribute] byte count); ++ public static Vector256 RotateLeft(Vector256 value, [ConstantExpectedAttribute] byte count); ++ public static Vector256 RotateLeft(Vector256 value, [ConstantExpectedAttribute] byte count); ++ public static Vector128 RotateLeftVariable(Vector128 value, Vector128 count); ++ public static Vector128 RotateLeftVariable(Vector128 value, Vector128 count); ++ public static Vector128 RotateLeftVariable(Vector128 value, Vector128 count); ++ public static Vector128 RotateLeftVariable(Vector128 value, Vector128 count); ++ public static Vector256 RotateLeftVariable(Vector256 value, Vector256 count); ++ public static Vector256 RotateLeftVariable(Vector256 value, Vector256 count); ++ public static Vector256 RotateLeftVariable(Vector256 value, Vector256 count); ++ public static Vector256 RotateLeftVariable(Vector256 value, Vector256 count); ++ public static Vector128 RotateRight(Vector128 value, [ConstantExpectedAttribute] byte count); ++ public static Vector128 RotateRight(Vector128 value, [ConstantExpectedAttribute] byte count); ++ public static Vector128 RotateRight(Vector128 value, [ConstantExpectedAttribute] byte count); ++ public static Vector128 RotateRight(Vector128 value, [ConstantExpectedAttribute] byte count); ++ public static Vector256 RotateRight(Vector256 value, [ConstantExpectedAttribute] byte count); ++ public static Vector256 RotateRight(Vector256 value, [ConstantExpectedAttribute] byte count); ++ public static Vector256 RotateRight(Vector256 value, [ConstantExpectedAttribute] byte count); ++ public static Vector256 RotateRight(Vector256 value, [ConstantExpectedAttribute] byte count); ++ public static Vector128 RotateRightVariable(Vector128 value, Vector128 count); ++ public static Vector128 RotateRightVariable(Vector128 value, Vector128 count); ++ public static Vector128 RotateRightVariable(Vector128 value, Vector128 count); ++ public static Vector128 RotateRightVariable(Vector128 value, Vector128 count); ++ public static Vector256 RotateRightVariable(Vector256 value, Vector256 count); ++ public static Vector256 RotateRightVariable(Vector256 value, Vector256 count); ++ public static Vector256 RotateRightVariable(Vector256 value, Vector256 count); ++ public static Vector256 RotateRightVariable(Vector256 value, Vector256 count); ++ public static Vector128 RoundScale(Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 RoundScale(Vector128 value, [ConstantExpectedAttribute] byte control); ++ public static Vector256 RoundScale(Vector256 value, [ConstantExpectedAttribute] byte control); ++ public static Vector256 RoundScale(Vector256 value, [ConstantExpectedAttribute] byte control); ++ public static Vector128 Scale(Vector128 left, Vector128 right); ++ public static Vector128 Scale(Vector128 left, Vector128 right); ++ public static Vector256 Scale(Vector256 left, Vector256 right); ++ public static Vector256 Scale(Vector256 left, Vector256 right); ++ public static Vector256 Shuffle2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); ++ public static Vector256 Shuffle2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); ++ public static Vector256 Shuffle2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); ++ public static Vector256 Shuffle2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); ++ public static Vector256 Shuffle2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); ++ public static Vector256 Shuffle2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector128 TernaryLogic(Vector128 a, Vector128 b, Vector128 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); ++ public static Vector256 TernaryLogic(Vector256 a, Vector256 b, Vector256 c, [ConstantExpectedAttribute] byte control); + } + } + [CLSCompliantAttribute(false)] + public abstract class Avx512Vbmi : Avx512BW { ++ public static Vector512 PermuteVar64x8x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 PermuteVar64x8x2(Vector512 lower, Vector512 indices, Vector512 upper); + public new abstract class VL : Avx512BW.VL { ++ public static Vector128 PermuteVar16x8x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 PermuteVar16x8x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector256 PermuteVar32x8x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector256 PermuteVar32x8x2(Vector256 lower, Vector256 indices, Vector256 upper); + } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Security.Cryptography.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Security.Cryptography.md new file mode 100644 index 0000000000..4105315f59 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Security.Cryptography.md @@ -0,0 +1,21 @@ +# System.Security.Cryptography + +``` diff + namespace System.Security.Cryptography { + [UnsupportedOSPlatformAttribute("browser")] + [UnsupportedOSPlatformAttribute("ios")] + [UnsupportedOSPlatformAttribute("tvos")] + public sealed class AesGcm : IDisposable { +- public AesGcm(byte[] key); ++ [ObsoleteAttribute("AesGcm should indicate the required tag size for encryption and decryption. Use a constructor that accepts the tag size.", DiagnosticId="SYSLIB0053", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public AesGcm(byte[] key); ++ public AesGcm(byte[] key, int tagSizeInBytes); +- public AesGcm(ReadOnlySpan key); ++ [ObsoleteAttribute("AesGcm should indicate the required tag size for encryption and decryption. Use a constructor that accepts the tag size.", DiagnosticId="SYSLIB0053", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public AesGcm(ReadOnlySpan key); ++ public AesGcm(ReadOnlySpan key, int tagSizeInBytes); ++ public int? TagSizeInBytes { get; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Text.Json.Serialization.Metadata.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Text.Json.Serialization.Metadata.md new file mode 100644 index 0000000000..586eb5cacb --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Text.Json.Serialization.Metadata.md @@ -0,0 +1,28 @@ +# System.Text.Json.Serialization.Metadata + +``` diff + namespace System.Text.Json.Serialization.Metadata { + [EditorBrowsableAttribute(EditorBrowsableState.Never)] + public static class JsonMetadataServices { +- public static JsonConverter ByteArrayConverter { get; } ++ public static JsonConverter ByteArrayConverter { get; } +- public static JsonConverter JsonArrayConverter { get; } ++ public static JsonConverter JsonArrayConverter { get; } +- public static JsonConverter JsonDocumentConverter { get; } ++ public static JsonConverter JsonDocumentConverter { get; } +- public static JsonConverter JsonNodeConverter { get; } ++ public static JsonConverter JsonNodeConverter { get; } +- public static JsonConverter JsonObjectConverter { get; } ++ public static JsonConverter JsonObjectConverter { get; } +- public static JsonConverter JsonValueConverter { get; } ++ public static JsonConverter JsonValueConverter { get; } +- public static JsonConverter StringConverter { get; } ++ public static JsonConverter StringConverter { get; } +- public static JsonConverter UriConverter { get; } ++ public static JsonConverter UriConverter { get; } +- public static JsonConverter VersionConverter { get; } ++ public static JsonConverter VersionConverter { get; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Text.Json.Serialization.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Text.Json.Serialization.md new file mode 100644 index 0000000000..26cf46bfff --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Text.Json.Serialization.md @@ -0,0 +1,11 @@ +# System.Text.Json.Serialization + +``` diff + namespace System.Text.Json.Serialization { + public abstract class JsonConverter : JsonConverter { +- public virtual void WriteAsPropertyName(Utf8JsonWriter writer, T value, JsonSerializerOptions options); ++ public virtual void WriteAsPropertyName(Utf8JsonWriter writer, [DisallowNullAttribute] T value, JsonSerializerOptions options); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Text.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Text.md new file mode 100644 index 0000000000..cc059283cb --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Text.md @@ -0,0 +1,11 @@ +# System.Text + +``` diff + namespace System.Text { + public sealed class CompositeFormat { ++ public int MinimumArgumentCount { get; } +- public static bool TryParse([StringSyntaxAttribute("CompositeFormat")] string format, [NotNullWhenAttribute(true)] out CompositeFormat? compositeFormat); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Web.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Web.md new file mode 100644 index 0000000000..d3b17afd36 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Web.md @@ -0,0 +1,10 @@ +# System.Web + +``` diff + namespace System.Web { ++ public interface IHtmlString { ++ string ToHtmlString(); ++ } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Xml.XPath.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Xml.XPath.md new file mode 100644 index 0000000000..9ae63b1136 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Xml.XPath.md @@ -0,0 +1,10 @@ +# System.Xml.XPath + +``` diff + namespace System.Xml.XPath { +- [DebuggerDisplayAttribute("Position={CurrentPosition}, Current={debuggerDisplayProxy}")] +- public abstract class XPathNodeIterator : ICloneable, IEnumerable ++ public abstract class XPathNodeIterator : ICloneable, IEnumerable + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Xml.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Xml.md new file mode 100644 index 0000000000..764d847f8d --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.Xml.md @@ -0,0 +1,14 @@ +# System.Xml + +``` diff + namespace System.Xml { +- [DebuggerDisplayAttribute("{debuggerDisplayProxy}")] +- public abstract class XmlNode : ICloneable, IEnumerable, IXPathNavigable ++ public abstract class XmlNode : ICloneable, IEnumerable, IXPathNavigable +- [DebuggerDisplayAttribute("{debuggerDisplayProxy}")] +- [DebuggerDisplayAttribute("{debuggerDisplayProxy}")] +- public abstract class XmlReader : IDisposable ++ public abstract class XmlReader : IDisposable + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.md new file mode 100644 index 0000000000..b26d9f6cbf --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.NETCore.App/8.0-preview5_System.md @@ -0,0 +1,33 @@ +# System + +``` diff + namespace System { + public class ArgumentException : SystemException { ++ public static void ThrowIfNullOrWhiteSpace([NotNullAttribute] string argument, [CallerArgumentExpressionAttribute("argument")] string paramName = null); + } + public static class GC { ++ [RequiresPreviewFeaturesAttribute("RefreshMemoryLimit is in preview.")] ++ public static void RefreshMemoryLimit(); ++ public static void RegisterNoGCRegionCallback(long totalSize, Action callback); + } + public static class MemoryExtensions { +- public static int IndexOfAny(this ReadOnlySpan span, IndexOfAnyValues values) where T : IEquatable?; ++ public static int IndexOfAny(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; +- public static int IndexOfAny(this Span span, IndexOfAnyValues values) where T : IEquatable?; ++ public static int IndexOfAny(this Span span, SearchValues values) where T : IEquatable?; +- public static int IndexOfAnyExcept(this ReadOnlySpan span, IndexOfAnyValues values) where T : IEquatable?; ++ public static int IndexOfAnyExcept(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; +- public static int IndexOfAnyExcept(this Span span, IndexOfAnyValues values) where T : IEquatable?; ++ public static int IndexOfAnyExcept(this Span span, SearchValues values) where T : IEquatable?; +- public static int LastIndexOfAny(this ReadOnlySpan span, IndexOfAnyValues values) where T : IEquatable?; ++ public static int LastIndexOfAny(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; +- public static int LastIndexOfAny(this Span span, IndexOfAnyValues values) where T : IEquatable?; ++ public static int LastIndexOfAny(this Span span, SearchValues values) where T : IEquatable?; +- public static int LastIndexOfAnyExcept(this ReadOnlySpan span, IndexOfAnyValues values) where T : IEquatable?; ++ public static int LastIndexOfAnyExcept(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; +- public static int LastIndexOfAnyExcept(this Span span, IndexOfAnyValues values) where T : IEquatable?; ++ public static int LastIndexOfAnyExcept(this Span span, SearchValues values) where T : IEquatable?; + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5.md new file mode 100644 index 0000000000..018697919e --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5.md @@ -0,0 +1,9 @@ +# API Difference 8.0-preview4 vs 8.0-preview5 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [System.Configuration](8.0-preview5_System.Configuration.md) +* [System.Windows.Forms](8.0-preview5_System.Windows.Forms.md) +* [System.Windows.Forms.Design.Behavior](8.0-preview5_System.Windows.Forms.Design.Behavior.md) + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5_System.Configuration.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5_System.Configuration.md new file mode 100644 index 0000000000..d39f366403 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5_System.Configuration.md @@ -0,0 +1,10 @@ +# System.Configuration + +``` diff + namespace System.Configuration { +- [DebuggerDisplayAttribute("Count = {Count}")] +- public abstract class ConfigurationElementCollection : ConfigurationElement, ICollection, IEnumerable ++ public abstract class ConfigurationElementCollection : ConfigurationElement, ICollection, IEnumerable + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5_System.Windows.Forms.Design.Behavior.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5_System.Windows.Forms.Design.Behavior.md new file mode 100644 index 0000000000..0529a4ffd7 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5_System.Windows.Forms.Design.Behavior.md @@ -0,0 +1,11 @@ +# System.Windows.Forms.Design.Behavior + +``` diff + namespace System.Windows.Forms.Design.Behavior { + public sealed class Adorner { +- public BehaviorService BehaviorService { get; set; } ++ public BehaviorService? BehaviorService { get; set; } + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5_System.Windows.Forms.md b/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5_System.Windows.Forms.md new file mode 100644 index 0000000000..a0d2b1d5c1 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/Microsoft.WindowsDesktop.App/8.0-preview5_System.Windows.Forms.md @@ -0,0 +1,299 @@ +# System.Windows.Forms + +``` diff + namespace System.Windows.Forms { + public class AutoCompleteStringCollection : ICollection, IEnumerable, IList { + bool System.Collections.IList.IsFixedSize { get; } + bool System.Collections.IList.IsReadOnly { get; } +- object System.Collections.IList.this[int index] { get; set; } ++ object? System.Collections.IList.this[int index] { get; set; } +- public event CollectionChangeEventHandler CollectionChanged; ++ public event CollectionChangeEventHandler? CollectionChanged; +- int IList.Add(object value); ++ int IList.Add(object? value); +- bool IList.Contains(object value); ++ bool IList.Contains(object? value); +- int IList.IndexOf(object value); ++ int IList.IndexOf(object? value); +- void IList.Insert(int index, object value); ++ void IList.Insert(int index, object? value); +- void IList.Remove(object value); ++ void IList.Remove(object? value); + } + public abstract class BindingManagerBase { +- public abstract object Current { get; } ++ public abstract object? Current { get; } + } + [DefaultPropertyAttribute("Text")] + [DesignTimeVisibleAttribute(false)] + [ToolboxItemAttribute(false)] + [TypeConverterAttribute(typeof(ListViewItemConverter))] + public class ListViewItem : ICloneable, IKeyboardToolTip, ISerializable { +- public ListViewItem(ListViewItem.ListViewSubItem[] subItems, int imageIndex, ListViewGroup group); ++ public ListViewItem(ListViewItem.ListViewSubItem[] subItems, int imageIndex, ListViewGroup? group); +- public ListViewItem(ListViewItem.ListViewSubItem[] subItems, string imageKey); ++ public ListViewItem(ListViewItem.ListViewSubItem[] subItems, string? imageKey); +- public ListViewItem(string[] items); ++ public ListViewItem(string[]? items); +- public ListViewItem(string[] items, int imageIndex); ++ public ListViewItem(string[]? items, int imageIndex); +- public ListViewItem(string[] items, int imageIndex, Color foreColor, Color backColor, Font font); ++ public ListViewItem(string[]? items, int imageIndex, Color foreColor, Color backColor, Font font); +- public ListViewItem(string[] items, int imageIndex, Color foreColor, Color backColor, Font font, ListViewGroup group); ++ public ListViewItem(string[]? items, int imageIndex, Color foreColor, Color backColor, Font font, ListViewGroup group); +- public ListViewItem(string[] items, int imageIndex, ListViewGroup group); ++ public ListViewItem(string[]? items, int imageIndex, ListViewGroup group); +- public ListViewItem(string[] items, string imageKey); ++ public ListViewItem(string[]? items, string imageKey); +- public ListViewItem(string[] items, string imageKey, Color foreColor, Color backColor, Font font); ++ public ListViewItem(string[]? items, string imageKey, Color foreColor, Color backColor, Font font); +- public ListViewItem(string[] items, string imageKey, Color foreColor, Color backColor, Font font, ListViewGroup group); ++ public ListViewItem(string[]? items, string imageKey, Color foreColor, Color backColor, Font font, ListViewGroup group); +- public ListViewItem(string[] items, string imageKey, ListViewGroup group); ++ public ListViewItem(string[]? items, string imageKey, ListViewGroup group); +- public ListViewItem(string[] items, ListViewGroup group); ++ public ListViewItem(string[]? items, ListViewGroup group); +- [DesignerSerializationVisibilityAttribute(0)] +- [LocalizableAttribute(true)] +- [SRCategoryAttribute("CatAppearance")] +- public Font Font { get; set; } ++ [DesignerSerializationVisibilityAttribute(0)] ++ [LocalizableAttribute(true)] ++ [SRCategoryAttribute("CatAppearance")] ++ [AllowNullAttribute] ++ public Font Font { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [LocalizableAttribute(true)] +- public string Name { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [LocalizableAttribute(true)] ++ [AllowNullAttribute] ++ public string Name { get; set; } + [DefaultPropertyAttribute("Text")] + [DesignTimeVisibleAttribute(false)] + [ToolboxItemAttribute(false)] + [TypeConverterAttribute(typeof(ListViewSubItemConverter))] + public class ListViewSubItem { +- [LocalizableAttribute(true)] +- public Font Font { get; set; } ++ [LocalizableAttribute(true)] ++ [AllowNullAttribute] ++ public Font Font { get; set; } + } + } + public class PropertyManager : BindingManagerBase { +- public override object Current { get; } ++ public override object? Current { get; } +- protected internal override string GetListName(ArrayList listAccessors); ++ protected internal override string GetListName(ArrayList? listAccessors); + } + [DefaultEventAttribute("SelectedIndexChanged")] + [DefaultPropertyAttribute("TabPages")] + [DesignerAttribute("System.Windows.Forms.Design.TabControlDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionTabControl")] + public class TabControl : Control { +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public override Image BackgroundImage { get; set; } ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public override Image? BackgroundImage { get; set; } +- [DefaultValueAttribute(null)] +- [RefreshPropertiesAttribute(2)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("TabBaseImageListDescr")] +- public ImageList ImageList { get; set; } ++ [DefaultValueAttribute(null)] ++ [RefreshPropertiesAttribute(2)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("TabBaseImageListDescr")] ++ public ImageList? ImageList { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("TabControlSelectedTabDescr")] +- public TabPage SelectedTab { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("TabControlSelectedTabDescr")] ++ public TabPage? SelectedTab { get; set; } +- [BindableAttribute(false)] +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public override string Text { get; set; } ++ [BindableAttribute(false)] ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override string Text { get; set; } +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler BackColorChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? BackColorChanged; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler BackgroundImageChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? BackgroundImageChanged; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler BackgroundImageLayoutChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? BackgroundImageLayoutChanged; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("TabControlDeselectedEventDescr")] +- public event TabControlEventHandler Deselected; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("TabControlDeselectedEventDescr")] ++ public event TabControlEventHandler? Deselected; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("TabControlDeselectingEventDescr")] +- public event TabControlCancelEventHandler Deselecting; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("TabControlDeselectingEventDescr")] ++ public event TabControlCancelEventHandler? Deselecting; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("drawItemEventDescr")] +- public event DrawItemEventHandler DrawItem; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("drawItemEventDescr")] ++ public event DrawItemEventHandler? DrawItem; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler ForeColorChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? ForeColorChanged; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event PaintEventHandler Paint; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event PaintEventHandler? Paint; +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("ControlOnRightToLeftLayoutChangedDescr")] +- public event EventHandler RightToLeftLayoutChanged; ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("ControlOnRightToLeftLayoutChangedDescr")] ++ public event EventHandler? RightToLeftLayoutChanged; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("TabControlSelectedEventDescr")] +- public event TabControlEventHandler Selected; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("TabControlSelectedEventDescr")] ++ public event TabControlEventHandler? Selected; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("selectedIndexChangedEventDescr")] +- public event EventHandler SelectedIndexChanged; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("selectedIndexChangedEventDescr")] ++ public event EventHandler? SelectedIndexChanged; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("TabControlSelectingEventDescr")] +- public event TabControlCancelEventHandler Selecting; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("TabControlSelectingEventDescr")] ++ public event TabControlCancelEventHandler? Selecting; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler TextChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? TextChanged; + } ++ public class TaskDialogLinkClickedEventArgs : EventArgs { ++ public TaskDialogLinkClickedEventArgs(string linkHref); ++ public string LinkHref { get; } ++ } + public class TaskDialogPage { ++ public bool EnableLinks { get; set; } ++ public event EventHandler? LinkClicked; ++ protected internal void OnLinkClicked(TaskDialogLinkClickedEventArgs e); + } + [EditorAttribute("System.Windows.Forms.Design.ToolStripCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] + [ListBindableAttribute(false)] + public class ToolStripItemCollection : ArrangedElementCollection, ICollection, IEnumerable, IList { +- 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 ToolStripItem this[string key] { get; } ++ public virtual ToolStripItem? this[string? key] { get; } +- public ToolStripItem Add(Image image); ++ public ToolStripItem Add(Image? image); +- public ToolStripItem Add(string text); ++ public ToolStripItem Add(string? text); +- public ToolStripItem Add(string text, Image image); ++ public ToolStripItem Add(string? text, Image? image); +- public ToolStripItem Add(string text, Image image, EventHandler onClick); ++ public ToolStripItem Add(string? text, Image? image, EventHandler? onClick); +- 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 virtual void RemoveByKey(string key); ++ public virtual void RemoveByKey(string? key); +- int IList.Add(object value); ++ int IList.Add(object? value); +- bool IList.Contains(object value); ++ bool IList.Contains(object? value); +- int IList.IndexOf(object value); ++ int IList.IndexOf(object? value); +- void IList.Insert(int index, object value); ++ void IList.Insert(int index, object? value); +- void IList.Remove(object value); ++ void IList.Remove(object? value); + } + [DesignerAttribute("System.Windows.Forms.Design.ToolStripPanelDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [ToolboxBitmapAttribute(typeof(ToolStripPanel), "ToolStripPanel_standalone")] + public class ToolStripPanel : ContainerControl, IArrangedElement, IComponent, IDisposable { + [ListBindableAttribute(false)] + public class ToolStripPanelRowCollection : ArrangedElementCollection, ICollection, IEnumerable, IList { +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- bool System.Collections.IList.IsReadOnly { get; } ++ bool IList.IsReadOnly { get; } +- object System.Collections.IList.this[int index] { get; set; } ++ object? IList.this[int index] { get; set; } +- int IList.Add(object value); ++ int IList.Add(object? value); +- bool IList.Contains(object value); ++ bool IList.Contains(object? value); +- int IList.IndexOf(object value); ++ int IList.IndexOf(object? value); +- void IList.Insert(int index, object value); ++ void IList.Insert(int index, object? value); +- void IList.Remove(object value); ++ void IList.Remove(object? value); + } + } + [DefaultEventAttribute("Popup")] + [ProvidePropertyAttribute("ToolTip", typeof(Control))] + [SRDescriptionAttribute("DescriptionToolTip")] + [ToolboxItemFilterAttribute("System.Windows.Forms")] + public class ToolTip : Component, IExtenderProvider, IHandle, IHandle { +- public void SetToolTip(Control control, string caption); ++ public void SetToolTip(Control control, string? caption); +- public void Show(string text, IWin32Window window); ++ public void Show(string? text, IWin32Window window); +- public void Show(string text, IWin32Window window, Point point); ++ public void Show(string? text, IWin32Window window, Point point); +- public void Show(string text, IWin32Window window, Point point, int duration); ++ public void Show(string? text, IWin32Window window, Point point, int duration); +- public void Show(string text, IWin32Window window, int duration); ++ public void Show(string? text, IWin32Window window, int duration); +- public void Show(string text, IWin32Window window, int x, int y); ++ public void Show(string? text, IWin32Window window, int x, int y); +- public void Show(string text, IWin32Window window, int x, int y, int duration); ++ public void Show(string? text, IWin32Window window, int x, int y, int duration); + } + } +``` + diff --git a/release-notes/8.0/preview/api-diff/preview5/README.md b/release-notes/8.0/preview/api-diff/preview5/README.md new file mode 100644 index 0000000000..211e0ffca3 --- /dev/null +++ b/release-notes/8.0/preview/api-diff/preview5/README.md @@ -0,0 +1,7 @@ +# .NET 8.0 Preview 5 API Changes + +The following API changes were made in .NET 8.0 Preview 5: + +- [Microsoft.NETCore.App](./Microsoft.NETCore.App/8.0-preview5.md) +- [Microsoft.AspNetCore.App](./Microsoft.AspNetCore.App/8.0-preview5.md) +- [Microsoft.WindowsDesktop.App](./Microsoft.WindowsDesktop.App/8.0-preview5.md)