diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0.md new file mode 100644 index 00000000000..2bc4079751b --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0.md @@ -0,0 +1,100 @@ +# API Difference 7.0.0 vs 8.0.0 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [Microsoft.AspNetCore](8.0.0_Microsoft.AspNetCore.md) +* [Microsoft.AspNetCore.Antiforgery](8.0.0_Microsoft.AspNetCore.Antiforgery.md) +* [Microsoft.AspNetCore.Authentication](8.0.0_Microsoft.AspNetCore.Authentication.md) +* [Microsoft.AspNetCore.Authentication.BearerToken](8.0.0_Microsoft.AspNetCore.Authentication.BearerToken.md) +* [Microsoft.AspNetCore.Authentication.Cookies](8.0.0_Microsoft.AspNetCore.Authentication.Cookies.md) +* [Microsoft.AspNetCore.Authentication.OAuth](8.0.0_Microsoft.AspNetCore.Authentication.OAuth.md) +* [Microsoft.AspNetCore.Authorization](8.0.0_Microsoft.AspNetCore.Authorization.md) +* [Microsoft.AspNetCore.Builder](8.0.0_Microsoft.AspNetCore.Builder.md) +* [Microsoft.AspNetCore.Components](8.0.0_Microsoft.AspNetCore.Components.md) +* [Microsoft.AspNetCore.Components.Endpoints](8.0.0_Microsoft.AspNetCore.Components.Endpoints.md) +* [Microsoft.AspNetCore.Components.Endpoints.Infrastructure](8.0.0_Microsoft.AspNetCore.Components.Endpoints.Infrastructure.md) +* [Microsoft.AspNetCore.Components.Forms](8.0.0_Microsoft.AspNetCore.Components.Forms.md) +* [Microsoft.AspNetCore.Components.Forms.Mapping](8.0.0_Microsoft.AspNetCore.Components.Forms.Mapping.md) +* [Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure](8.0.0_Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.md) +* [Microsoft.AspNetCore.Components.Rendering](8.0.0_Microsoft.AspNetCore.Components.Rendering.md) +* [Microsoft.AspNetCore.Components.RenderTree](8.0.0_Microsoft.AspNetCore.Components.RenderTree.md) +* [Microsoft.AspNetCore.Components.Routing](8.0.0_Microsoft.AspNetCore.Components.Routing.md) +* [Microsoft.AspNetCore.Components.Sections](8.0.0_Microsoft.AspNetCore.Components.Sections.md) +* [Microsoft.AspNetCore.Components.Server.Circuits](8.0.0_Microsoft.AspNetCore.Components.Server.Circuits.md) +* [Microsoft.AspNetCore.Components.Web](8.0.0_Microsoft.AspNetCore.Components.Web.md) +* [Microsoft.AspNetCore.Components.Web.HtmlRendering](8.0.0_Microsoft.AspNetCore.Components.Web.HtmlRendering.md) +* [Microsoft.AspNetCore.Components.Web.Virtualization](8.0.0_Microsoft.AspNetCore.Components.Web.Virtualization.md) +* [Microsoft.AspNetCore.Connections](8.0.0_Microsoft.AspNetCore.Connections.md) +* [Microsoft.AspNetCore.Connections.Abstractions](8.0.0_Microsoft.AspNetCore.Connections.Abstractions.md) +* [Microsoft.AspNetCore.Connections.Features](8.0.0_Microsoft.AspNetCore.Connections.Features.md) +* [Microsoft.AspNetCore.Cors](8.0.0_Microsoft.AspNetCore.Cors.md) +* [Microsoft.AspNetCore.DataProtection.XmlEncryption](8.0.0_Microsoft.AspNetCore.DataProtection.XmlEncryption.md) +* [Microsoft.AspNetCore.Diagnostics](8.0.0_Microsoft.AspNetCore.Diagnostics.md) +* [Microsoft.AspNetCore.Hosting](8.0.0_Microsoft.AspNetCore.Hosting.md) +* [Microsoft.AspNetCore.Html](8.0.0_Microsoft.AspNetCore.Html.md) +* [Microsoft.AspNetCore.Http](8.0.0_Microsoft.AspNetCore.Http.md) +* [Microsoft.AspNetCore.Http.Connections](8.0.0_Microsoft.AspNetCore.Http.Connections.md) +* [Microsoft.AspNetCore.Http.Extensions](8.0.0_Microsoft.AspNetCore.Http.Extensions.md) +* [Microsoft.AspNetCore.Http.Features](8.0.0_Microsoft.AspNetCore.Http.Features.md) +* [Microsoft.AspNetCore.Http.HttpResults](8.0.0_Microsoft.AspNetCore.Http.HttpResults.md) +* [Microsoft.AspNetCore.Http.Metadata](8.0.0_Microsoft.AspNetCore.Http.Metadata.md) +* [Microsoft.AspNetCore.Http.Timeouts](8.0.0_Microsoft.AspNetCore.Http.Timeouts.md) +* [Microsoft.AspNetCore.HttpLogging](8.0.0_Microsoft.AspNetCore.HttpLogging.md) +* [Microsoft.AspNetCore.HttpOverrides](8.0.0_Microsoft.AspNetCore.HttpOverrides.md) +* [Microsoft.AspNetCore.Identity](8.0.0_Microsoft.AspNetCore.Identity.md) +* [Microsoft.AspNetCore.Identity.Data](8.0.0_Microsoft.AspNetCore.Identity.Data.md) +* [Microsoft.AspNetCore.Identity.UI.Services](8.0.0_Microsoft.AspNetCore.Identity.UI.Services.md) +* [Microsoft.AspNetCore.Mvc](8.0.0_Microsoft.AspNetCore.Mvc.md) +* [Microsoft.AspNetCore.Mvc.ApplicationModels](8.0.0_Microsoft.AspNetCore.Mvc.ApplicationModels.md) +* [Microsoft.AspNetCore.Mvc.Controllers](8.0.0_Microsoft.AspNetCore.Mvc.Controllers.md) +* [Microsoft.AspNetCore.Mvc.Filters](8.0.0_Microsoft.AspNetCore.Mvc.Filters.md) +* [Microsoft.AspNetCore.Mvc.Infrastructure](8.0.0_Microsoft.AspNetCore.Mvc.Infrastructure.md) +* [Microsoft.AspNetCore.Mvc.ModelBinding](8.0.0_Microsoft.AspNetCore.Mvc.ModelBinding.md) +* [Microsoft.AspNetCore.Mvc.Razor](8.0.0_Microsoft.AspNetCore.Mvc.Razor.md) +* [Microsoft.AspNetCore.Mvc.Razor.Internal](8.0.0_Microsoft.AspNetCore.Mvc.Razor.Internal.md) +* [Microsoft.AspNetCore.Mvc.Razor.TagHelpers](8.0.0_Microsoft.AspNetCore.Mvc.Razor.TagHelpers.md) +* [Microsoft.AspNetCore.Mvc.RazorPages](8.0.0_Microsoft.AspNetCore.Mvc.RazorPages.md) +* [Microsoft.AspNetCore.Mvc.Rendering](8.0.0_Microsoft.AspNetCore.Mvc.Rendering.md) +* [Microsoft.AspNetCore.Mvc.Routing](8.0.0_Microsoft.AspNetCore.Mvc.Routing.md) +* [Microsoft.AspNetCore.Mvc.TagHelpers](8.0.0_Microsoft.AspNetCore.Mvc.TagHelpers.md) +* [Microsoft.AspNetCore.Mvc.ViewFeatures](8.0.0_Microsoft.AspNetCore.Mvc.ViewFeatures.md) +* [Microsoft.AspNetCore.OutputCaching](8.0.0_Microsoft.AspNetCore.OutputCaching.md) +* [Microsoft.AspNetCore.Razor.TagHelpers](8.0.0_Microsoft.AspNetCore.Razor.TagHelpers.md) +* [Microsoft.AspNetCore.Rewrite](8.0.0_Microsoft.AspNetCore.Rewrite.md) +* [Microsoft.AspNetCore.Routing](8.0.0_Microsoft.AspNetCore.Routing.md) +* [Microsoft.AspNetCore.Routing.Constraints](8.0.0_Microsoft.AspNetCore.Routing.Constraints.md) +* [Microsoft.AspNetCore.Routing.Patterns](8.0.0_Microsoft.AspNetCore.Routing.Patterns.md) +* [Microsoft.AspNetCore.Routing.Template](8.0.0_Microsoft.AspNetCore.Routing.Template.md) +* [Microsoft.AspNetCore.Server.HttpSys](8.0.0_Microsoft.AspNetCore.Server.HttpSys.md) +* [Microsoft.AspNetCore.Server.IIS](8.0.0_Microsoft.AspNetCore.Server.IIS.md) +* [Microsoft.AspNetCore.Server.IIS.Core](8.0.0_Microsoft.AspNetCore.Server.IIS.Core.md) +* [Microsoft.AspNetCore.Server.Kestrel.Core](8.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.md) +* [Microsoft.AspNetCore.Server.Kestrel.Core.Features](8.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.Features.md) +* [Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes](8.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.md) +* [Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets](8.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md) +* [Microsoft.AspNetCore.Session](8.0.0_Microsoft.AspNetCore.Session.md) +* [Microsoft.AspNetCore.SignalR](8.0.0_Microsoft.AspNetCore.SignalR.md) +* [Microsoft.AspNetCore.SignalR.Protocol](8.0.0_Microsoft.AspNetCore.SignalR.Protocol.md) +* [Microsoft.Extensions.Caching.Memory](8.0.0_Microsoft.Extensions.Caching.Memory.md) +* [Microsoft.Extensions.Configuration](8.0.0_Microsoft.Extensions.Configuration.md) +* [Microsoft.Extensions.Configuration.Xml](8.0.0_Microsoft.Extensions.Configuration.Xml.md) +* [Microsoft.Extensions.DependencyInjection](8.0.0_Microsoft.Extensions.DependencyInjection.md) +* [Microsoft.Extensions.DependencyInjection.Extensions](8.0.0_Microsoft.Extensions.DependencyInjection.Extensions.md) +* [Microsoft.Extensions.Diagnostics.HealthChecks](8.0.0_Microsoft.Extensions.Diagnostics.HealthChecks.md) +* [Microsoft.Extensions.Diagnostics.Metrics](8.0.0_Microsoft.Extensions.Diagnostics.Metrics.md) +* [Microsoft.Extensions.Diagnostics.Metrics.Configuration](8.0.0_Microsoft.Extensions.Diagnostics.Metrics.Configuration.md) +* [Microsoft.Extensions.FileProviders](8.0.0_Microsoft.Extensions.FileProviders.md) +* [Microsoft.Extensions.Hosting](8.0.0_Microsoft.Extensions.Hosting.md) +* [Microsoft.Extensions.Http.Logging](8.0.0_Microsoft.Extensions.Http.Logging.md) +* [Microsoft.Extensions.Logging](8.0.0_Microsoft.Extensions.Logging.md) +* [Microsoft.Extensions.Logging.Console](8.0.0_Microsoft.Extensions.Logging.Console.md) +* [Microsoft.Extensions.ObjectPool](8.0.0_Microsoft.Extensions.ObjectPool.md) +* [Microsoft.Extensions.Options](8.0.0_Microsoft.Extensions.Options.md) +* [Microsoft.Extensions.Primitives](8.0.0_Microsoft.Extensions.Primitives.md) +* [Microsoft.JSInterop](8.0.0_Microsoft.JSInterop.md) +* [Microsoft.JSInterop.Infrastructure](8.0.0_Microsoft.JSInterop.Infrastructure.md) +* [Microsoft.Net.Http.Headers](8.0.0_Microsoft.Net.Http.Headers.md) +* [System.Diagnostics.Eventing.Reader](8.0.0_System.Diagnostics.Eventing.Reader.md) +* [System.Security.Cryptography.Xml](8.0.0_System.Security.Cryptography.Xml.md) + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Antiforgery.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Antiforgery.md new file mode 100644 index 00000000000..09db324616b --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Antiforgery.md @@ -0,0 +1,19 @@ +# Microsoft.AspNetCore.Antiforgery + +``` diff + namespace Microsoft.AspNetCore.Antiforgery { ++ public interface IAntiforgeryMetadata { ++ bool RequiresValidation { get; } ++ } ++ public interface IAntiforgeryValidationFeature { ++ Exception Error { get; } ++ bool IsValid { get; } ++ } ++ [AttributeUsageAttribute(68)] ++ public class RequireAntiforgeryTokenAttribute : Attribute, IAntiforgeryMetadata { ++ public RequireAntiforgeryTokenAttribute(bool required = true); ++ public bool RequiresValidation { get; } ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authentication.BearerToken.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authentication.BearerToken.md new file mode 100644 index 00000000000..cabc8967514 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authentication.BearerToken.md @@ -0,0 +1,34 @@ +# Microsoft.AspNetCore.Authentication.BearerToken + +``` diff ++namespace Microsoft.AspNetCore.Authentication.BearerToken { ++ public sealed class AccessTokenResponse { ++ public AccessTokenResponse(); ++ public required string AccessToken { get; set; } ++ public required long ExpiresIn { get; set; } ++ public required string RefreshToken { get; set; } ++ public string TokenType { get; } ++ } ++ public static class BearerTokenDefaults { ++ public const string AuthenticationScheme = "BearerToken"; ++ } ++ public class BearerTokenEvents { ++ public BearerTokenEvents(); ++ public Func OnMessageReceived { get; set; } ++ public virtual Task MessageReceivedAsync(MessageReceivedContext context); ++ } ++ public sealed class BearerTokenOptions : AuthenticationSchemeOptions { ++ public BearerTokenOptions(); ++ public TimeSpan BearerTokenExpiration { get; set; } ++ public ISecureDataFormat BearerTokenProtector { get; set; } ++ public new BearerTokenEvents Events { get; set; } ++ public TimeSpan RefreshTokenExpiration { get; set; } ++ public ISecureDataFormat RefreshTokenProtector { get; set; } ++ } ++ public class MessageReceivedContext : ResultContext { ++ public MessageReceivedContext(HttpContext context, AuthenticationScheme scheme, BearerTokenOptions options); ++ public string Token { get; set; } ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authentication.Cookies.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authentication.Cookies.md new file mode 100644 index 00000000000..232423de058 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authentication.OAuth.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authentication.OAuth.md new file mode 100644 index 00000000000..1dae09c85d6 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authentication.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authentication.md new file mode 100644 index 00000000000..d2872246b19 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authorization.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authorization.md new file mode 100644 index 00000000000..8f7f85e20b3 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Authorization.md @@ -0,0 +1,32 @@ +# 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(); + } + public class AuthorizationMiddleware { ++ public AuthorizationMiddleware(RequestDelegate next, IAuthorizationPolicyProvider policyProvider, IServiceProvider services, ILogger logger); + } + public class AuthorizationResult { +- public bool Succeeded { get; } ++ [MemberNotNullWhenAttribute(false, "Failure")] ++ public bool Succeeded { [MemberNotNullWhenAttribute(false, "Failure")] get; } + } +- [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(); + } ++ public interface IAuthorizationRequirementData { ++ IEnumerable GetRequirements(); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Builder.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Builder.md new file mode 100644 index 00000000000..619ad91535d --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Builder.md @@ -0,0 +1,130 @@ +# Microsoft.AspNetCore.Builder + +``` diff + namespace Microsoft.AspNetCore.Builder { ++ public static class AntiforgeryApplicationBuilderExtensions { ++ public static IApplicationBuilder UseAntiforgery(this IApplicationBuilder builder); ++ } +- public class ApplicationBuilder : IApplicationBuilder ++ [DebuggerDisplayAttribute("Middleware = {MiddlewareCount}")] ++ [DebuggerTypeProxyAttribute(typeof(ApplicationBuilder.ApplicationBuilderDebugView))] ++ public class ApplicationBuilder : IApplicationBuilder + public static class ConnectionEndpointRouteBuilderExtensions { +- public static ConnectionEndpointRouteBuilder MapConnectionHandler(this IEndpointRouteBuilder endpoints, string pattern) where TConnectionHandler : ConnectionHandler; ++ public static ConnectionEndpointRouteBuilder MapConnectionHandler(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern) where TConnectionHandler : ConnectionHandler; +- public static ConnectionEndpointRouteBuilder MapConnectionHandler(this IEndpointRouteBuilder endpoints, string pattern, Action? configureOptions) where TConnectionHandler : ConnectionHandler; ++ public static ConnectionEndpointRouteBuilder MapConnectionHandler(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, Action? configureOptions) where TConnectionHandler : ConnectionHandler; +- public static ConnectionEndpointRouteBuilder MapConnections(this IEndpointRouteBuilder endpoints, string pattern, HttpConnectionDispatcherOptions options, Action configure); ++ public static ConnectionEndpointRouteBuilder MapConnections(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, HttpConnectionDispatcherOptions options, Action configure); +- public static ConnectionEndpointRouteBuilder MapConnections(this IEndpointRouteBuilder endpoints, string pattern, Action configure); ++ public static ConnectionEndpointRouteBuilder MapConnections(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, Action configure); + } + public static class CorsEndpointConventionBuilderExtensions { ++ public static TBuilder RequireCors(this TBuilder builder) where TBuilder : IEndpointConventionBuilder; + } + public static class ExceptionHandlerExtensions { ++ public static IApplicationBuilder UseExceptionHandler(this IApplicationBuilder app, string errorHandlingPath, bool createScopeForErrors); + } + public class ExceptionHandlerOptions { ++ public bool CreateScopeForErrors { get; set; } + } + public static class FallbackEndpointRouteBuilderExtensions { +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.")] +- public static IEndpointConventionBuilder MapFallback(this IEndpointRouteBuilder endpoints, RequestDelegate requestDelegate); ++ public static IEndpointConventionBuilder MapFallback(this IEndpointRouteBuilder endpoints, RequestDelegate requestDelegate); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.")] +- public static IEndpointConventionBuilder MapFallback(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, RequestDelegate requestDelegate); ++ public static IEndpointConventionBuilder MapFallback(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, RequestDelegate requestDelegate); + } + public class ForwardedHeadersOptions { ++ public string ForwardedPrefixHeaderName { get; set; } ++ public string OriginalPrefixHeaderName { get; set; } + } + public static class HealthCheckEndpointRouteBuilderExtensions { +- public static IEndpointConventionBuilder MapHealthChecks(this IEndpointRouteBuilder endpoints, string pattern); ++ public static IEndpointConventionBuilder MapHealthChecks(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern); +- public static IEndpointConventionBuilder MapHealthChecks(this IEndpointRouteBuilder endpoints, string pattern, HealthCheckOptions options); ++ public static IEndpointConventionBuilder MapHealthChecks(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, HealthCheckOptions options); + } ++ public static class HttpLoggingEndpointConventionBuilderExtensions { ++ public static TBuilder WithHttpLogging(this TBuilder builder, HttpLoggingFields loggingFields, int? requestBodyLogLimit = default(int?), int? responseBodyLogLimit = default(int?)) where TBuilder : IEndpointConventionBuilder; ++ } + public static class HubEndpointRouteBuilderExtensions { +- public static HubEndpointConventionBuilder MapHub(this IEndpointRouteBuilder endpoints, string pattern) where THub : Hub; ++ public static HubEndpointConventionBuilder MapHub(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern) where THub : Hub; +- public static HubEndpointConventionBuilder MapHub(this IEndpointRouteBuilder endpoints, string pattern, Action? configureOptions) where THub : Hub; ++ public static HubEndpointConventionBuilder MapHub(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, Action? configureOptions) where THub : Hub; + } ++ public sealed class RazorComponentsEndpointConventionBuilder : IEndpointConventionBuilder { ++ public void Add(Action convention); ++ public void Finally(Action finallyConvention); ++ } ++ public static class RazorComponentsEndpointConventionBuilderExtensions { ++ public static RazorComponentsEndpointConventionBuilder AddAdditionalAssemblies(this RazorComponentsEndpointConventionBuilder builder, params Assembly[] assemblies); ++ } ++ public static class RazorComponentsEndpointRouteBuilderExtensions { ++ public static RazorComponentsEndpointConventionBuilder MapRazorComponents(this IEndpointRouteBuilder endpoints); ++ } + public static class RazorPagesEndpointRouteBuilderExtensions { +- public static void MapDynamicPageRoute(this IEndpointRouteBuilder endpoints, string pattern) where TTransformer : DynamicRouteValueTransformer; ++ public static void MapDynamicPageRoute(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern) where TTransformer : DynamicRouteValueTransformer; +- public static void MapDynamicPageRoute(this IEndpointRouteBuilder endpoints, string pattern, object? state) where TTransformer : DynamicRouteValueTransformer; ++ public static void MapDynamicPageRoute(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, object? state) where TTransformer : DynamicRouteValueTransformer; +- public static void MapDynamicPageRoute(this IEndpointRouteBuilder endpoints, string pattern, object state, int order) where TTransformer : DynamicRouteValueTransformer; ++ public static void MapDynamicPageRoute(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, object state, int order) where TTransformer : DynamicRouteValueTransformer; +- public static IEndpointConventionBuilder MapFallbackToAreaPage(this IEndpointRouteBuilder endpoints, string pattern, string page, string area); ++ public static IEndpointConventionBuilder MapFallbackToAreaPage(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, string page, string area); +- public static IEndpointConventionBuilder MapFallbackToPage(this IEndpointRouteBuilder endpoints, string pattern, string page); ++ public static IEndpointConventionBuilder MapFallbackToPage(this IEndpointRouteBuilder endpoints, [StringSyntaxAttribute("Route")] string pattern, string page); + } + public class RequestLocalizationOptions { ++ public bool CultureInfoUseUserOverride { get; set; } + } ++ public static class RequestTimeoutsIApplicationBuilderExtensions { ++ public static IApplicationBuilder UseRequestTimeouts(this IApplicationBuilder builder); ++ } ++ public static class RequestTimeoutsIEndpointConventionBuilderExtensions { ++ public static IEndpointConventionBuilder DisableRequestTimeout(this IEndpointConventionBuilder builder); ++ public static IEndpointConventionBuilder WithRequestTimeout(this IEndpointConventionBuilder builder, RequestTimeoutPolicy policy); ++ public static IEndpointConventionBuilder WithRequestTimeout(this IEndpointConventionBuilder builder, string policyName); ++ public static IEndpointConventionBuilder WithRequestTimeout(this IEndpointConventionBuilder builder, TimeSpan timeout); ++ } ++ public static class RouteShortCircuitEndpointConventionBuilderExtensions { ++ public static IEndpointConventionBuilder ShortCircuit(this IEndpointConventionBuilder builder, int? statusCode = default(int?)); ++ } + public static class RoutingEndpointConventionBuilderExtensions { ++ public static TBuilder DisableAntiforgery(this TBuilder builder) where TBuilder : IEndpointConventionBuilder; ++ public static TBuilder WithFormMappingOptions(this TBuilder builder, int? maxCollectionSize = default(int?), int? maxRecursionDepth = default(int?), int? maxKeySize = default(int?)) where TBuilder : IEndpointConventionBuilder; ++ public static TBuilder WithFormOptions(this TBuilder builder, bool? bufferBody = default(bool?), int? memoryBufferThreshold = default(int?), long? bufferBodyLengthLimit = default(long?), int? valueCountLimit = default(int?), int? keyLengthLimit = default(int?), int? valueLengthLimit = default(int?), int? multipartBoundaryLengthLimit = default(int?), int? multipartHeadersCountLimit = default(int?), int? multipartHeadersLengthLimit = default(int?), long? multipartBodyLengthLimit = default(long?)) where TBuilder : IEndpointConventionBuilder; ++ public static TBuilder WithOrder(this TBuilder builder, int order) where TBuilder : IEndpointConventionBuilder; + } ++ public static class ServerRazorComponentsEndpointConventionBuilderExtensions { ++ public static RazorComponentsEndpointConventionBuilder AddInteractiveServerRenderMode(this RazorComponentsEndpointConventionBuilder builder); ++ } + public class StaticFileOptions : SharedOptionsBase { ++ public Func OnPrepareResponseAsync { get; set; } + } +- public sealed class WebApplication : IApplicationBuilder, IAsyncDisposable, IDisposable, IEndpointRouteBuilder, IHost { ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(WebApplication.WebApplicationDebugView))] ++ public sealed class WebApplication : IApplicationBuilder, IAsyncDisposable, IDisposable, IEndpointRouteBuilder, IHost { ++ public static WebApplicationBuilder CreateEmptyBuilder(WebApplicationOptions options); ++ public static WebApplicationBuilder CreateSlimBuilder(); ++ public static WebApplicationBuilder CreateSlimBuilder(WebApplicationOptions options); ++ public static WebApplicationBuilder CreateSlimBuilder(string[] args); +- public void Run(string? url = null); ++ public void Run([StringSyntaxAttribute("Uri")] string? url = null); +- public Task RunAsync(string? url = null); ++ public Task RunAsync([StringSyntaxAttribute("Uri")] string? url = null); + } +- public sealed class WebApplicationBuilder { ++ public sealed class WebApplicationBuilder : IHostApplicationBuilder { ++ public IMetricsBuilder Metrics { get; } ++ IConfigurationManager IHostApplicationBuilder.Configuration { get; } ++ IHostEnvironment IHostApplicationBuilder.Environment { get; } ++ IDictionary IHostApplicationBuilder.Properties { get; } ++ void IHostApplicationBuilder.ConfigureContainer(IServiceProviderFactory factory, Action configure); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Endpoints.Infrastructure.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Endpoints.Infrastructure.md new file mode 100644 index 00000000000..e5d53d260c6 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Endpoints.Infrastructure.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Components.Endpoints.Infrastructure + +``` diff ++namespace Microsoft.AspNetCore.Components.Endpoints.Infrastructure { ++ public static class ComponentEndpointConventionBuilderHelper { ++ public static void AddRenderMode(RazorComponentsEndpointConventionBuilder builder, IComponentRenderMode renderMode); ++ } ++ public abstract class RenderModeEndpointProvider { ++ protected RenderModeEndpointProvider(); ++ public abstract IEnumerable GetEndpointBuilders(IComponentRenderMode renderMode, IApplicationBuilder applicationBuilder); ++ public abstract bool Supports(IComponentRenderMode renderMode); ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Endpoints.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Endpoints.md new file mode 100644 index 00000000000..eabe9b86078 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Endpoints.md @@ -0,0 +1,32 @@ +# Microsoft.AspNetCore.Components.Endpoints + +``` diff ++namespace Microsoft.AspNetCore.Components.Endpoints { ++ public sealed class ComponentTypeMetadata { ++ public ComponentTypeMetadata(Type componentType); ++ public Type Type { get; } ++ } ++ public interface IComponentPrerenderer { ++ Dispatcher Dispatcher { get; } ++ ValueTask PrerenderComponentAsync(HttpContext httpContext, Type componentType, IComponentRenderMode renderMode, ParameterView parameters); ++ ValueTask PrerenderPersistedStateAsync(HttpContext httpContext, PersistedStateSerializationMode serializationMode); ++ } ++ public interface IRazorComponentEndpointInvoker { ++ Task Render(HttpContext context); ++ } ++ public sealed class RazorComponentsServiceOptions { ++ public RazorComponentsServiceOptions(); ++ public bool DetailedErrors { get; set; } ++ public int MaxFormMappingCollectionSize { get; set; } ++ public int MaxFormMappingErrorCount { get; set; } ++ public int MaxFormMappingKeySize { get; set; } ++ public int MaxFormMappingRecursionDepth { get; set; } ++ public TimeSpan TemporaryRedirectionUrlValidityDuration { get; set; } ++ } ++ public sealed class RootComponentMetadata { ++ public RootComponentMetadata(Type rootComponentType); ++ public Type Type { get; } ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Forms.Mapping.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Forms.Mapping.md new file mode 100644 index 00000000000..c58a100f2fd --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Forms.Mapping.md @@ -0,0 +1,31 @@ +# Microsoft.AspNetCore.Components.Forms.Mapping + +``` diff ++namespace Microsoft.AspNetCore.Components.Forms.Mapping { ++ public sealed class FormMappingError { ++ public string? AttemptedValue { get; } ++ public object Container { get; internal set; } ++ public IReadOnlyList ErrorMessages { get; } ++ public string Name { get; } ++ public string Path { get; } ++ } ++ public sealed class FormValueMappingContext { ++ public string? AcceptFormName { get; } ++ public string AcceptMappingScopeName { get; } ++ public Action? MapErrorToContainer { get; set; } ++ public Action? OnError { get; set; } ++ public string ParameterName { get; } ++ public object? Result { get; } ++ public Type ValueType { get; } ++ public void SetResult(object? result); ++ } ++ public interface IFormValueMapper { ++ bool CanMap(Type valueType, string scopeName, string? formName); ++ void Map(FormValueMappingContext context); ++ } ++ public static class SupplyParameterFromFormServiceCollectionExtensions { ++ public static IServiceCollection AddSupplyValueFromFormProvider(this IServiceCollection serviceCollection); ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Forms.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Forms.md new file mode 100644 index 00000000000..5435b6804fb --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Forms.md @@ -0,0 +1,76 @@ +# Microsoft.AspNetCore.Components.Forms + +``` diff + namespace Microsoft.AspNetCore.Components.Forms { ++ public class AntiforgeryRequestToken { ++ public AntiforgeryRequestToken(string value, string formFieldName); ++ public string FormFieldName { get; } ++ public string Value { get; } ++ } ++ public abstract class AntiforgeryStateProvider { ++ protected AntiforgeryStateProvider(); ++ public abstract AntiforgeryRequestToken? GetAntiforgeryToken(); ++ } ++ public class AntiforgeryToken : IComponent { ++ public AntiforgeryToken(); ++ void IComponent.Attach(RenderHandle renderHandle); ++ Task IComponent.SetParametersAsync(ParameterView parameters); ++ } + public sealed class EditContext { ++ public bool ShouldUseFieldIdentifiers { get; set; } +- [IteratorStateMachineAttribute(typeof(EditContext.d__23))] +- public IEnumerable GetValidationMessages(); ++ [IteratorStateMachineAttribute(typeof(EditContext.d__27))] ++ public IEnumerable GetValidationMessages(); +- [IteratorStateMachineAttribute(typeof(EditContext.d__24))] +- public IEnumerable GetValidationMessages(FieldIdentifier fieldIdentifier); ++ [IteratorStateMachineAttribute(typeof(EditContext.d__28))] ++ public IEnumerable GetValidationMessages(FieldIdentifier fieldIdentifier); ++ public bool IsValid(in FieldIdentifier fieldIdentifier); ++ public bool IsValid(Expression> accessor); + } + public class EditForm : ComponentBase { ++ [ParameterAttribute] ++ public bool Enhance { get; set; } ++ [ParameterAttribute] ++ public string FormName { get; set; } + } ++ public abstract class Editor : ComponentBase, ICascadingValueSupplier { ++ protected Editor(); ++ [ParameterAttribute] ++ public T Value { get; set; } ++ [ParameterAttribute] ++ public EventCallback ValueChanged { get; set; } ++ [ParameterAttribute] ++ public Expression> ValueExpression { get; set; } ++ protected string NameFor(LambdaExpression expression); ++ protected override void OnParametersSet(); ++ } ++ public sealed class FormMappingContext { ++ public string MappingScopeName { get; } ++ public IEnumerable GetAllErrors(); ++ public IEnumerable GetAllErrors(string formName); ++ public string? GetAttemptedValue(string key); ++ public string? GetAttemptedValue(string formName, string key); ++ public FormMappingError? GetErrors(string key); ++ public FormMappingError? GetErrors(string formName, string key); ++ } ++ public sealed class FormMappingScope : ICascadingValueSupplier, IComponent { ++ public FormMappingScope(); ++ [ParameterAttribute] ++ public RenderFragment ChildContent { get; set; } ++ [EditorRequiredAttribute] ++ [ParameterAttribute] ++ public string Name { get; set; } ++ void IComponent.Attach(RenderHandle renderHandle); ++ Task IComponent.SetParametersAsync(ParameterView parameters); ++ } + public abstract class InputBase : ComponentBase, IDisposable { ++ protected string NameAttributeValue { get; } + } + public class InputFile : ComponentBase, IDisposable, IInputFileJsCallbacks { +- protected override void OnInitialized(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.md new file mode 100644 index 00000000000..df5fce61704 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.md @@ -0,0 +1,18 @@ +# Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure + +``` diff ++namespace Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure { ++ public class StaticHtmlRenderer : Renderer { ++ public StaticHtmlRenderer(IServiceProvider serviceProvider, ILoggerFactory loggerFactory); ++ public override Dispatcher Dispatcher { get; } ++ public HtmlRootComponent BeginRenderingComponent(IComponent component, ParameterView initialParameters); ++ public HtmlRootComponent BeginRenderingComponent(Type componentType, ParameterView initialParameters); ++ protected override void HandleException(Exception exception); ++ protected virtual void RenderChildComponent(TextWriter output, ref RenderTreeFrame componentFrame); ++ protected bool TryCreateScopeQualifiedEventName(int componentId, string assignedEventName, [NotNullWhenAttribute(true)] out string? scopeQualifiedEventName); ++ protected override Task UpdateDisplayAsync(in RenderBatch renderBatch); ++ protected internal virtual void WriteComponentHtml(int componentId, TextWriter output); ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.RenderTree.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.RenderTree.md new file mode 100644 index 00000000000..f55e81296b0 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.RenderTree.md @@ -0,0 +1,50 @@ +# Microsoft.AspNetCore.Components.RenderTree + +``` diff + namespace Microsoft.AspNetCore.Components.RenderTree { ++ [FlagsAttribute] ++ public enum ComponentFrameFlags : byte { ++ HasCallerSpecifiedRenderMode = (byte)1, ++ } ++ public readonly struct NamedEventChange { ++ public NamedEventChange(NamedEventChangeType changeType, int componentId, int frameIndex, string eventType, string assignedName); ++ public string AssignedName { get; } ++ public NamedEventChangeType ChangeType { get; } ++ public int ComponentId { get; } ++ public string EventType { get; } ++ public int FrameIndex { get; } ++ } ++ public enum NamedEventChangeType { ++ Added = 0, ++ Removed = 1, ++ } + public readonly struct RenderBatch { ++ public ArrayRange? NamedEventChanges { get; } + } + public abstract class Renderer : IAsyncDisposable, IDisposable { ++ protected virtual void AddPendingTask(ComponentState? componentState, Task task); ++ protected virtual ComponentState CreateComponentState(int componentId, IComponent component, ComponentState? parentComponentState); ++ public virtual Task DispatchEventAsync(ulong eventHandlerId, EventFieldInfo? fieldInfo, EventArgs eventArgs, bool waitForQuiescence); ++ protected internal virtual IComponentRenderMode? GetComponentRenderMode(IComponent component); ++ protected internal ComponentState GetComponentState(IComponent component); ++ protected ComponentState GetComponentState(int componentId); ++ protected internal virtual IComponent ResolveComponentForRenderMode(Type componentType, int? parentComponentId, IComponentActivator componentActivator, IComponentRenderMode renderMode); + } + public struct RenderTreeFrame { ++ public ComponentFrameFlags ComponentFrameFlags { get; } ++ public IComponentRenderMode ComponentRenderMode { get; } ++ public string NamedEventAssignedName { get; } ++ public string NamedEventType { get; } + } + public enum RenderTreeFrameType : short { ++ ComponentRenderMode = (short)9, ++ NamedEvent = (short)10, + } + public abstract class WebRenderer : Renderer { +- protected int RendererId { get; set; } ++ protected int RendererId { get; [ObsoleteAttribute("The renderer ID can be assigned by overriding 'GetWebRendererId'.")] set; } ++ protected virtual int GetWebRendererId(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Rendering.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Rendering.md new file mode 100644 index 00000000000..80bd72dafc3 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Rendering.md @@ -0,0 +1,21 @@ +# Microsoft.AspNetCore.Components.Rendering + +``` diff + namespace Microsoft.AspNetCore.Components.Rendering { ++ [DebuggerDisplayAttribute("{GetDebuggerDisplay(),nq}")] ++ public class ComponentState : IAsyncDisposable { ++ public ComponentState(Renderer renderer, int componentId, IComponent component, ComponentState? parentComponentState); ++ public IComponent Component { get; } ++ public int ComponentId { get; } ++ public ComponentState? LogicalParentComponentState { get; } ++ public ComponentState? ParentComponentState { get; } ++ public virtual ValueTask DisposeAsync(); ++ } + public sealed class RenderTreeBuilder : IDisposable { ++ public void AddComponentParameter(int sequence, string name, object? value); ++ public void AddComponentRenderMode(IComponentRenderMode? renderMode); ++ public void AddNamedEvent(string eventType, string assignedName); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Routing.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Routing.md new file mode 100644 index 00000000000..6f61dbe37ad --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Routing.md @@ -0,0 +1,25 @@ +# Microsoft.AspNetCore.Components.Routing + +``` diff + namespace Microsoft.AspNetCore.Components.Routing { ++ public interface IRoutingStateProvider { ++ RouteData RouteData { get; } ++ } ++ public interface IScrollToLocationHash { ++ Task RefreshScrollPositionForHash(string locationAbsolute); ++ } + public class Router : IComponent, IDisposable, IHandleAfterRender { +- [EditorRequiredAttribute] +- [ParameterAttribute] +- public RenderFragment NotFound { get; set; } ++ [ParameterAttribute] ++ public RenderFragment NotFound { get; set; } +- [ParameterAttribute] +- public bool PreferExactMatches { get; set; } ++ [ObsoleteAttribute("This property is obsolete and configuring it has not effect.")] ++ [ParameterAttribute] ++ public bool PreferExactMatches { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Sections.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Sections.md new file mode 100644 index 00000000000..74a5e4fc4d8 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Sections.md @@ -0,0 +1,29 @@ +# Microsoft.AspNetCore.Components.Sections + +``` diff ++namespace Microsoft.AspNetCore.Components.Sections { ++ public sealed class SectionContent : IComponent, IDisposable { ++ public SectionContent(); ++ [ParameterAttribute] ++ public RenderFragment ChildContent { get; set; } ++ [ParameterAttribute] ++ public object SectionId { get; set; } ++ [ParameterAttribute] ++ public string SectionName { get; set; } ++ public void Dispose(); ++ void IComponent.Attach(RenderHandle renderHandle); ++ Task IComponent.SetParametersAsync(ParameterView parameters); ++ } ++ public sealed class SectionOutlet : IComponent, IDisposable { ++ public SectionOutlet(); ++ [ParameterAttribute] ++ public object SectionId { get; set; } ++ [ParameterAttribute] ++ public string SectionName { get; set; } ++ public void Dispose(); ++ void IComponent.Attach(RenderHandle renderHandle); ++ Task IComponent.SetParametersAsync(ParameterView parameters); ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Server.Circuits.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Server.Circuits.md new file mode 100644 index 00000000000..f14dca529fd --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Server.Circuits.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Components.Server.Circuits + +``` diff + namespace Microsoft.AspNetCore.Components.Server.Circuits { + public abstract class CircuitHandler { ++ public virtual Func CreateInboundActivityHandler(Func next); + } ++ public sealed class CircuitInboundActivityContext { ++ public Circuit Circuit { get; } ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Web.HtmlRendering.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Web.HtmlRendering.md new file mode 100644 index 00000000000..3d178e2f250 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Web.HtmlRendering.md @@ -0,0 +1,12 @@ +# Microsoft.AspNetCore.Components.Web.HtmlRendering + +``` diff ++namespace Microsoft.AspNetCore.Components.Web.HtmlRendering { ++ public readonly struct HtmlRootComponent { ++ public Task QuiescenceTask { get; } ++ public string ToHtmlString(); ++ public void WriteHtmlTo(TextWriter output); ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Web.Virtualization.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Web.Virtualization.md new file mode 100644 index 00000000000..35e595b3596 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Web.Virtualization.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Components.Web.Virtualization + +``` diff + namespace Microsoft.AspNetCore.Components.Web.Virtualization { + public sealed class Virtualize : ComponentBase, IAsyncDisposable, IVirtualizeJsCallbacks { ++ [ParameterAttribute] ++ public RenderFragment? EmptyContent { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Web.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Web.md new file mode 100644 index 00000000000..64e281235cc --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.Web.md @@ -0,0 +1,233 @@ +# Microsoft.AspNetCore.Components.Web + +``` diff + namespace Microsoft.AspNetCore.Components.Web { +- [EventHandlerAttribute("onabort", typeof(ProgressEventArgs), true, true)] +- [EventHandlerAttribute("onactivate", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onbeforeactivate", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onbeforecopy", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onbeforecut", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onbeforedeactivate", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onbeforepaste", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onblur", typeof(FocusEventArgs), true, true)] +- [EventHandlerAttribute("oncanplay", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("oncanplaythrough", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onchange", typeof(ChangeEventArgs), true, true)] +- [EventHandlerAttribute("onclick", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("oncontextmenu", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("oncopy", typeof(ClipboardEventArgs), true, true)] +- [EventHandlerAttribute("oncuechange", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("oncut", typeof(ClipboardEventArgs), true, true)] +- [EventHandlerAttribute("ondblclick", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("ondeactivate", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("ondrag", typeof(DragEventArgs), true, true)] +- [EventHandlerAttribute("ondragend", typeof(DragEventArgs), true, true)] +- [EventHandlerAttribute("ondragenter", typeof(DragEventArgs), true, true)] +- [EventHandlerAttribute("ondragleave", typeof(DragEventArgs), true, true)] +- [EventHandlerAttribute("ondragover", typeof(DragEventArgs), true, true)] +- [EventHandlerAttribute("ondragstart", typeof(DragEventArgs), true, true)] +- [EventHandlerAttribute("ondrop", typeof(DragEventArgs), true, true)] +- [EventHandlerAttribute("ondurationchange", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onemptied", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onended", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onerror", typeof(ErrorEventArgs), true, true)] +- [EventHandlerAttribute("onfocus", typeof(FocusEventArgs), true, true)] +- [EventHandlerAttribute("onfocusin", typeof(FocusEventArgs), true, true)] +- [EventHandlerAttribute("onfocusout", typeof(FocusEventArgs), true, true)] +- [EventHandlerAttribute("onfullscreenchange", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onfullscreenerror", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("ongotpointercapture", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("oninput", typeof(ChangeEventArgs), true, true)] +- [EventHandlerAttribute("oninvalid", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onkeydown", typeof(KeyboardEventArgs), true, true)] +- [EventHandlerAttribute("onkeypress", typeof(KeyboardEventArgs), true, true)] +- [EventHandlerAttribute("onkeyup", typeof(KeyboardEventArgs), true, true)] +- [EventHandlerAttribute("onload", typeof(ProgressEventArgs), true, true)] +- [EventHandlerAttribute("onloadeddata", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onloadedmetadata", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onloadend", typeof(ProgressEventArgs), true, true)] +- [EventHandlerAttribute("onloadstart", typeof(ProgressEventArgs), true, true)] +- [EventHandlerAttribute("onlostpointercapture", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("onmousedown", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("onmouseenter", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("onmouseleave", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("onmousemove", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("onmouseout", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("onmouseover", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("onmouseup", typeof(MouseEventArgs), true, true)] +- [EventHandlerAttribute("onmousewheel", typeof(WheelEventArgs), true, true)] +- [EventHandlerAttribute("onpaste", typeof(ClipboardEventArgs), true, true)] +- [EventHandlerAttribute("onpause", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onplay", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onplaying", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onpointercancel", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("onpointerdown", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("onpointerenter", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("onpointerleave", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("onpointerlockchange", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onpointerlockerror", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onpointermove", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("onpointerout", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("onpointerover", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("onpointerup", typeof(PointerEventArgs), true, true)] +- [EventHandlerAttribute("onprogress", typeof(ProgressEventArgs), true, true)] +- [EventHandlerAttribute("onratechange", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onreadystatechange", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onreset", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onscroll", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onseeked", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onseeking", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onselect", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onselectionchange", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onselectstart", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onstalled", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onstop", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onsubmit", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onsuspend", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("ontimeout", typeof(ProgressEventArgs), true, true)] +- [EventHandlerAttribute("ontimeupdate", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("ontoggle", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("ontouchcancel", typeof(TouchEventArgs), true, true)] +- [EventHandlerAttribute("ontouchend", typeof(TouchEventArgs), true, true)] +- [EventHandlerAttribute("ontouchenter", typeof(TouchEventArgs), true, true)] +- [EventHandlerAttribute("ontouchleave", typeof(TouchEventArgs), true, true)] +- [EventHandlerAttribute("ontouchmove", typeof(TouchEventArgs), true, true)] +- [EventHandlerAttribute("ontouchstart", typeof(TouchEventArgs), true, true)] +- [EventHandlerAttribute("onvolumechange", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onwaiting", typeof(EventArgs), true, true)] +- [EventHandlerAttribute("onwheel", typeof(WheelEventArgs), true, true)] +- public static class EventHandlers ++ [EventHandlerAttribute("onabort", typeof(ProgressEventArgs), true, true)] ++ [EventHandlerAttribute("onactivate", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onbeforeactivate", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onbeforecopy", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onbeforecut", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onbeforedeactivate", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onbeforepaste", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onblur", typeof(FocusEventArgs), true, true)] ++ [EventHandlerAttribute("oncancel", typeof(EventArgs), false, true)] ++ [EventHandlerAttribute("oncanplay", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("oncanplaythrough", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onchange", typeof(ChangeEventArgs), true, true)] ++ [EventHandlerAttribute("onclick", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("onclose", typeof(EventArgs), false, true)] ++ [EventHandlerAttribute("oncontextmenu", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("oncopy", typeof(ClipboardEventArgs), true, true)] ++ [EventHandlerAttribute("oncuechange", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("oncut", typeof(ClipboardEventArgs), true, true)] ++ [EventHandlerAttribute("ondblclick", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("ondeactivate", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("ondrag", typeof(DragEventArgs), true, true)] ++ [EventHandlerAttribute("ondragend", typeof(DragEventArgs), true, true)] ++ [EventHandlerAttribute("ondragenter", typeof(DragEventArgs), true, true)] ++ [EventHandlerAttribute("ondragleave", typeof(DragEventArgs), true, true)] ++ [EventHandlerAttribute("ondragover", typeof(DragEventArgs), true, true)] ++ [EventHandlerAttribute("ondragstart", typeof(DragEventArgs), true, true)] ++ [EventHandlerAttribute("ondrop", typeof(DragEventArgs), true, true)] ++ [EventHandlerAttribute("ondurationchange", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onemptied", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onended", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onerror", typeof(ErrorEventArgs), true, true)] ++ [EventHandlerAttribute("onfocus", typeof(FocusEventArgs), true, true)] ++ [EventHandlerAttribute("onfocusin", typeof(FocusEventArgs), true, true)] ++ [EventHandlerAttribute("onfocusout", typeof(FocusEventArgs), true, true)] ++ [EventHandlerAttribute("onfullscreenchange", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onfullscreenerror", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("ongotpointercapture", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("oninput", typeof(ChangeEventArgs), true, true)] ++ [EventHandlerAttribute("oninvalid", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onkeydown", typeof(KeyboardEventArgs), true, true)] ++ [EventHandlerAttribute("onkeypress", typeof(KeyboardEventArgs), true, true)] ++ [EventHandlerAttribute("onkeyup", typeof(KeyboardEventArgs), true, true)] ++ [EventHandlerAttribute("onload", typeof(ProgressEventArgs), true, true)] ++ [EventHandlerAttribute("onloadeddata", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onloadedmetadata", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onloadend", typeof(ProgressEventArgs), true, true)] ++ [EventHandlerAttribute("onloadstart", typeof(ProgressEventArgs), true, true)] ++ [EventHandlerAttribute("onlostpointercapture", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("onmousedown", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("onmouseenter", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("onmouseleave", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("onmousemove", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("onmouseout", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("onmouseover", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("onmouseup", typeof(MouseEventArgs), true, true)] ++ [EventHandlerAttribute("onmousewheel", typeof(WheelEventArgs), true, true)] ++ [EventHandlerAttribute("onpaste", typeof(ClipboardEventArgs), true, true)] ++ [EventHandlerAttribute("onpause", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onplay", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onplaying", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onpointercancel", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("onpointerdown", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("onpointerenter", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("onpointerleave", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("onpointerlockchange", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onpointerlockerror", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onpointermove", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("onpointerout", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("onpointerover", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("onpointerup", typeof(PointerEventArgs), true, true)] ++ [EventHandlerAttribute("onprogress", typeof(ProgressEventArgs), true, true)] ++ [EventHandlerAttribute("onratechange", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onreadystatechange", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onreset", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onscroll", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onseeked", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onseeking", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onselect", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onselectionchange", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onselectstart", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onstalled", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onstop", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onsubmit", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onsuspend", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("ontimeout", typeof(ProgressEventArgs), true, true)] ++ [EventHandlerAttribute("ontimeupdate", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("ontoggle", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("ontouchcancel", typeof(TouchEventArgs), true, true)] ++ [EventHandlerAttribute("ontouchend", typeof(TouchEventArgs), true, true)] ++ [EventHandlerAttribute("ontouchenter", typeof(TouchEventArgs), true, true)] ++ [EventHandlerAttribute("ontouchleave", typeof(TouchEventArgs), true, true)] ++ [EventHandlerAttribute("ontouchmove", typeof(TouchEventArgs), true, true)] ++ [EventHandlerAttribute("ontouchstart", typeof(TouchEventArgs), true, true)] ++ [EventHandlerAttribute("onvolumechange", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onwaiting", typeof(EventArgs), true, true)] ++ [EventHandlerAttribute("onwheel", typeof(WheelEventArgs), true, true)] ++ public static class EventHandlers ++ public sealed class HtmlRenderer : IAsyncDisposable, IDisposable { ++ public HtmlRenderer(IServiceProvider services, ILoggerFactory loggerFactory); ++ public Dispatcher Dispatcher { get; } ++ public HtmlRootComponent BeginRenderingComponent(Type componentType); ++ public HtmlRootComponent BeginRenderingComponent(Type componentType, ParameterView parameters); ++ public HtmlRootComponent BeginRenderingComponent() where TComponent : IComponent; ++ public HtmlRootComponent BeginRenderingComponent(ParameterView parameters) where TComponent : IComponent; ++ public void Dispose(); ++ public ValueTask DisposeAsync(); ++ public Task RenderComponentAsync(Type componentType); ++ public Task RenderComponentAsync(Type componentType, ParameterView parameters); ++ public Task RenderComponentAsync() where TComponent : IComponent; ++ public Task RenderComponentAsync(ParameterView parameters) where TComponent : IComponent; ++ } ++ public class InteractiveAutoRenderMode : IComponentRenderMode { ++ public InteractiveAutoRenderMode(); ++ public InteractiveAutoRenderMode(bool prerender); ++ public bool Prerender { get; } ++ } ++ public class InteractiveServerRenderMode : IComponentRenderMode { ++ public InteractiveServerRenderMode(); ++ public InteractiveServerRenderMode(bool prerender); ++ public bool Prerender { get; } ++ } ++ public class InteractiveWebAssemblyRenderMode : IComponentRenderMode { ++ public InteractiveWebAssemblyRenderMode(); ++ public InteractiveWebAssemblyRenderMode(bool prerender); ++ public bool Prerender { get; } ++ } ++ public static class RenderMode { ++ public static InteractiveAutoRenderMode InteractiveAuto { get; } ++ public static InteractiveServerRenderMode InteractiveServer { get; } ++ public static InteractiveWebAssemblyRenderMode InteractiveWebAssembly { get; } ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.md new file mode 100644 index 00000000000..bb0ff7e38d6 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Components.md @@ -0,0 +1,134 @@ +# Microsoft.AspNetCore.Components + +``` diff + namespace Microsoft.AspNetCore.Components { + public static class BindConverter { +- public static string FormatValue(DateOnly value, string format, CultureInfo? culture = null); ++ public static string FormatValue(DateOnly value, [StringSyntaxAttribute("DateOnlyFormat")] string format, CultureInfo? culture = null); +- public static string FormatValue(DateTime value, string format, CultureInfo? culture = null); ++ public static string FormatValue(DateTime value, [StringSyntaxAttribute("DateTimeFormat")] string format, CultureInfo? culture = null); +- public static string FormatValue(DateOnly? value, string format, CultureInfo culture = null); ++ public static string FormatValue(DateOnly? value, [StringSyntaxAttribute("DateOnlyFormat")] string format, CultureInfo culture = null); +- public static string FormatValue(DateTime? value, string format, CultureInfo culture = null); ++ public static string FormatValue(DateTime? value, [StringSyntaxAttribute("DateTimeFormat")] string format, CultureInfo culture = null); +- public static string FormatValue(TimeOnly? value, string format, CultureInfo culture = null); ++ public static string FormatValue(TimeOnly? value, [StringSyntaxAttribute("TimeOnlyFormat")] string format, CultureInfo culture = null); +- public static string FormatValue(TimeOnly value, string format, CultureInfo? culture = null); ++ public static string FormatValue(TimeOnly value, [StringSyntaxAttribute("TimeOnlyFormat")] string format, CultureInfo? culture = null); +- public static bool TryConvertToDateOnly(object obj, CultureInfo culture, string format, out DateOnly value); ++ public static bool TryConvertToDateOnly(object obj, CultureInfo culture, [StringSyntaxAttribute("DateOnlyFormat")] string format, out DateOnly value); +- public static bool TryConvertToDateTime(object obj, CultureInfo culture, string format, out DateTime value); ++ public static bool TryConvertToDateTime(object obj, CultureInfo culture, [StringSyntaxAttribute("DateTimeFormat")] string format, out DateTime value); +- public static bool TryConvertToNullableDateOnly(object obj, CultureInfo culture, string format, out DateOnly? value); ++ public static bool TryConvertToNullableDateOnly(object obj, CultureInfo culture, [StringSyntaxAttribute("DateOnlyFormat")] string format, out DateOnly? value); +- public static bool TryConvertToNullableDateTime(object obj, CultureInfo culture, string format, out DateTime? value); ++ public static bool TryConvertToNullableDateTime(object obj, CultureInfo culture, [StringSyntaxAttribute("DateTimeFormat")] string format, out DateTime? value); +- public static bool TryConvertToNullableTimeOnly(object obj, CultureInfo culture, string format, out TimeOnly? value); ++ public static bool TryConvertToNullableTimeOnly(object obj, CultureInfo culture, [StringSyntaxAttribute("TimeOnlyFormat")] string format, out TimeOnly? value); +- public static bool TryConvertToTimeOnly(object obj, CultureInfo culture, string format, out TimeOnly value); ++ public static bool TryConvertToTimeOnly(object obj, CultureInfo culture, [StringSyntaxAttribute("TimeOnlyFormat")] string format, out TimeOnly value); + } +- [AttributeUsageAttribute(128, AllowMultiple=false, Inherited=true)] +- public sealed class CascadingParameterAttribute : Attribute ++ [AttributeUsageAttribute(128, AllowMultiple=false, Inherited=true)] ++ public sealed class CascadingParameterAttribute : CascadingParameterAttributeBase ++ public abstract class CascadingParameterAttributeBase : Attribute { ++ protected CascadingParameterAttributeBase(); ++ } ++ public readonly struct CascadingParameterInfo { ++ public CascadingParameterAttributeBase Attribute { get; } ++ public string PropertyName { get; } ++ public Type PropertyType { get; } ++ } ++ public class CascadingValueSource : ICascadingValueSupplier { ++ public CascadingValueSource(Func initialValueFactory, bool isFixed); ++ public CascadingValueSource(string name, Func initialValueFactory, bool isFixed); ++ public CascadingValueSource(string name, TValue value, bool isFixed); ++ public CascadingValueSource(TValue value, bool isFixed); ++ public Task NotifyChangedAsync(); ++ public Task NotifyChangedAsync(TValue newValue); ++ } + public abstract class ComponentBase : IComponent, IHandleAfterRender, IHandleEvent { ++ protected Task DispatchExceptionAsync(Exception exception); + } + public readonly struct EventCallback : IEventCallback { +- public EventCallback(IHandleEvent? receiver, MulticastDelegate? @delegate); ++ public EventCallback(IHandleEvent receiver, MulticastDelegate @delegate); ++ public override bool Equals(object obj); ++ public override int GetHashCode(); + } + public readonly struct EventCallback : IEventCallback { ++ public override bool Equals(object obj); ++ public override int GetHashCode(); + } ++ public interface IComponentRenderMode + [AttributeUsageAttribute(128, AllowMultiple=false, Inherited=true)] + public sealed class InjectAttribute : Attribute { ++ public object Key { get; set; } + } + public interface IPersistentComponentStateStore { ++ bool SupportsRenderMode(IComponentRenderMode renderMode); + } + public abstract class NavigationManager { +- public void NavigateTo(string uri, NavigationOptions options); ++ public void NavigateTo([StringSyntaxAttribute("Uri")] string uri, NavigationOptions options); +- public void NavigateTo(string uri, bool forceLoad); ++ public void NavigateTo([StringSyntaxAttribute("Uri")] string uri, bool forceLoad); +- public void NavigateTo(string uri, bool forceLoad = false, bool replace = false); ++ public void NavigateTo([StringSyntaxAttribute("Uri")] string uri, bool forceLoad = false, bool replace = false); +- protected virtual void NavigateToCore(string uri, NavigationOptions options); ++ protected virtual void NavigateToCore([StringSyntaxAttribute("Uri")] string uri, NavigationOptions options); +- protected virtual void NavigateToCore(string uri, bool forceLoad); ++ protected virtual void NavigateToCore([StringSyntaxAttribute("Uri")] string uri, bool forceLoad); ++ public virtual void Refresh(bool forceReload = false); +- public Uri ToAbsoluteUri(string relativeUri); ++ public Uri ToAbsoluteUri(string? relativeUri); + } + public readonly struct ParameterView { +- public IReadOnlyDictionary ToDictionary(); ++ public IReadOnlyDictionary ToDictionary(); + } ++ public enum PersistedStateSerializationMode { ++ Infer = 1, ++ Server = 2, ++ WebAssembly = 3, ++ } + public class PersistentComponentState { ++ public PersistingComponentStateSubscription RegisterOnPersisting(Func callback, IComponentRenderMode? renderMode); + } + public readonly struct RenderHandle { ++ public Task DispatchExceptionAsync(Exception exception); + } ++ [AttributeUsageAttribute(4, AllowMultiple=false, Inherited=true)] ++ 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; } ++ public string? Template { get; set; } + } ++ [AttributeUsageAttribute(4, AllowMultiple=false)] ++ public class StreamRenderingAttribute : Attribute { ++ public StreamRenderingAttribute(bool enabled = true); ++ public bool Enabled { get; } ++ } ++ [AttributeUsageAttribute(128, AllowMultiple=false, Inherited=true)] ++ public sealed class SupplyParameterFromFormAttribute : CascadingParameterAttributeBase { ++ public SupplyParameterFromFormAttribute(); ++ public string FormName { get; set; } ++ public string Name { get; set; } ++ } +- [AttributeUsageAttribute(128, AllowMultiple=false, Inherited=true)] +- public sealed class SupplyParameterFromQueryAttribute : Attribute ++ [AttributeUsageAttribute(128, AllowMultiple=false, Inherited=true)] ++ public sealed class SupplyParameterFromQueryAttribute : CascadingParameterAttributeBase ++ public static class SupplyParameterFromQueryProviderServiceCollectionExtensions { ++ public static IServiceCollection AddSupplyValueFromQueryProvider(this IServiceCollection services); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Connections.Abstractions.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Connections.Abstractions.md new file mode 100644 index 00000000000..1b525cbdc06 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Connections.Abstractions.md @@ -0,0 +1,12 @@ +# Microsoft.AspNetCore.Connections.Abstractions + +``` diff ++namespace Microsoft.AspNetCore.Connections.Abstractions { ++ [RequiresPreviewFeaturesAttribute("IStatefulReconnectFeature is a preview interface")] ++ public interface IStatefulReconnectFeature { ++ void DisableReconnect(); ++ void OnReconnected(Func notifyOnReconnect); ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Connections.Features.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Connections.Features.md new file mode 100644 index 00000000000..be1bdbe2a8e --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Connections.Features.md @@ -0,0 +1,17 @@ +# Microsoft.AspNetCore.Connections.Features + +``` diff + namespace Microsoft.AspNetCore.Connections.Features { ++ public interface IConnectionMetricsTagsFeature { ++ ICollection> Tags { get; } ++ } ++ public interface IConnectionNamedPipeFeature { ++ NamedPipeServerStream NamedPipe { get; } ++ } + public interface ITlsHandshakeFeature { ++ string HostName { get; } ++ TlsCipherSuite? NegotiatedCipherSuite { get; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Connections.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Connections.md new file mode 100644 index 00000000000..9100514df3e --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Connections.md @@ -0,0 +1,22 @@ +# Microsoft.AspNetCore.Connections + +``` diff + namespace Microsoft.AspNetCore.Connections { + public static class ConnectionBuilderExtensions { ++ public static IConnectionBuilder Use(this IConnectionBuilder connectionBuilder, Func middleware); + } ++ public interface IConnectionListenerFactorySelector { ++ bool CanBind(EndPoint endpoint); ++ } ++ public sealed class NamedPipeEndPoint : EndPoint { ++ public NamedPipeEndPoint(string pipeName); ++ public NamedPipeEndPoint(string pipeName, string serverName); ++ public string PipeName { get; } ++ public string ServerName { get; } ++ public override bool Equals([NotNullWhenAttribute(true)] object? obj); ++ public override int GetHashCode(); ++ public override string ToString(); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Cors.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Cors.md new file mode 100644 index 00000000000..ff2e9ff8b2c --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.DataProtection.XmlEncryption.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.DataProtection.XmlEncryption.md new file mode 100644 index 00000000000..239f81faf83 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.DataProtection.XmlEncryption.md @@ -0,0 +1,14 @@ +# Microsoft.AspNetCore.DataProtection.XmlEncryption + +``` diff + namespace Microsoft.AspNetCore.DataProtection.XmlEncryption { + public sealed class EncryptedXmlDecryptor : IInternalEncryptedXmlDecryptor, IXmlDecryptor { +- 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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Diagnostics.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Diagnostics.md new file mode 100644 index 00000000000..c097cce0a48 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Diagnostics.md @@ -0,0 +1,16 @@ +# Microsoft.AspNetCore.Diagnostics + +``` diff + namespace Microsoft.AspNetCore.Diagnostics { ++ public interface IExceptionHandler { ++ ValueTask TryHandleAsync(HttpContext httpContext, Exception exception, CancellationToken cancellationToken); ++ } + public interface IStatusCodeReExecuteFeature { ++ int OriginalStatusCode { get; } + } + public class StatusCodeReExecuteFeature : IStatusCodeReExecuteFeature { ++ public int OriginalStatusCode { get; internal set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Hosting.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Hosting.md new file mode 100644 index 00000000000..647c71c9efa --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Hosting.md @@ -0,0 +1,27 @@ +# Microsoft.AspNetCore.Hosting + +``` diff + namespace Microsoft.AspNetCore.Hosting { + public static class HostingAbstractionsWebHostBuilderExtensions { +- public static IWebHost Start(this IWebHostBuilder hostBuilder, params string[] urls); ++ public static IWebHost Start(this IWebHostBuilder hostBuilder, [StringSyntaxAttribute("Uri")] params string[] urls); +- public static IWebHostBuilder UseUrls(this IWebHostBuilder hostBuilder, params string[] urls); ++ public static IWebHostBuilder UseUrls(this IWebHostBuilder hostBuilder, [StringSyntaxAttribute("Uri")] params string[] urls); + } + public static class WebHostBuilderKestrelExtensions { ++ public static IWebHostBuilder UseKestrelCore(this IWebHostBuilder hostBuilder); ++ public static IWebHostBuilder UseKestrelHttpsConfiguration(this IWebHostBuilder hostBuilder); + } ++ public static class WebHostBuilderNamedPipeExtensions { ++ [SupportedOSPlatformAttribute("windows")] ++ public static IWebHostBuilder UseNamedPipes(this IWebHostBuilder hostBuilder); ++ [SupportedOSPlatformAttribute("windows")] ++ public static IWebHostBuilder UseNamedPipes(this IWebHostBuilder hostBuilder, Action configureOptions); ++ } + public static class WebHostDefaults { ++ public static readonly string HttpPortsKey; ++ public static readonly string HttpsPortsKey; + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Html.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Html.md new file mode 100644 index 00000000000..4eb2e5c2a13 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Html.md @@ -0,0 +1,23 @@ +# Microsoft.AspNetCore.Html + +``` diff + namespace Microsoft.AspNetCore.Html { + public static class HtmlContentBuilderExtensions { +- public static IHtmlContentBuilder AppendFormat(this IHtmlContentBuilder builder, IFormatProvider formatProvider, string format, params object?[] args); ++ public static IHtmlContentBuilder AppendFormat(this IHtmlContentBuilder builder, IFormatProvider formatProvider, [StringSyntaxAttribute("CompositeFormat")] string format, params object?[] args); +- public static IHtmlContentBuilder AppendFormat(this IHtmlContentBuilder builder, string format, params object?[] args); ++ public static IHtmlContentBuilder AppendFormat(this IHtmlContentBuilder builder, [StringSyntaxAttribute("CompositeFormat")] string format, params object?[] args); + } + [DebuggerDisplayAttribute("{DebuggerToString()}")] + public class HtmlFormattableString : IHtmlContent { +- public HtmlFormattableString(IFormatProvider? formatProvider, string format, params object?[] args); ++ public HtmlFormattableString(IFormatProvider? formatProvider, [StringSyntaxAttribute("CompositeFormat")] string format, params object?[] args); +- public HtmlFormattableString(string format, params object?[] args); ++ public HtmlFormattableString([StringSyntaxAttribute("CompositeFormat")] string format, params object?[] args); + } ++ public interface IHtmlAsyncContent : IHtmlContent { ++ ValueTask WriteToAsync(TextWriter writer); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Connections.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Connections.md new file mode 100644 index 00000000000..64758098e22 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Connections.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Http.Connections + +``` diff + namespace Microsoft.AspNetCore.Http.Connections { + public class HttpConnectionDispatcherOptions { ++ public bool AllowStatefulReconnects { get; set; } + } + public class NegotiationResponse { ++ public bool UseStatefulReconnect { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Extensions.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Extensions.md new file mode 100644 index 00000000000..449bf98cd4a --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Extensions.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Http.Extensions + +``` diff + namespace Microsoft.AspNetCore.Http.Extensions { + public static class UriHelper { +- public static void FromAbsolute(string uri, out string scheme, out HostString host, out PathString path, out QueryString query, out FragmentString fragment); ++ public static void FromAbsolute([StringSyntaxAttribute("Uri")] string uri, out string scheme, out HostString host, out PathString path, out QueryString query, out FragmentString fragment); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Features.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Features.md new file mode 100644 index 00000000000..b86d8f55f3e --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Features.md @@ -0,0 +1,14 @@ +# 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 ++ public interface IHttpMetricsTagsFeature { ++ ICollection> Tags { get; } ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.HttpResults.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.HttpResults.md new file mode 100644 index 00000000000..aa93a71eda4 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.HttpResults.md @@ -0,0 +1,35 @@ +# Microsoft.AspNetCore.Http.HttpResults + +``` diff + namespace Microsoft.AspNetCore.Http.HttpResults { + public sealed class AcceptedAtRoute : IEndpointMetadataProvider, IResult, IStatusCodeHttpResult { +- int? Microsoft.AspNetCore.Http.IStatusCodeHttpResult.StatusCode { get; } ++ int? IStatusCodeHttpResult.StatusCode { get; } +- public string? RouteName { get; } ++ public string RouteName { get; } + } + public sealed class CreatedAtRoute : IEndpointMetadataProvider, IResult, IStatusCodeHttpResult { +- int? Microsoft.AspNetCore.Http.IStatusCodeHttpResult.StatusCode { get; } ++ int? IStatusCodeHttpResult.StatusCode { get; } +- public string? RouteName { get; } ++ public string RouteName { get; } + } ++ public class RazorComponentResult : IContentTypeHttpResult, IResult, IStatusCodeHttpResult { ++ public RazorComponentResult(Type componentType); ++ public RazorComponentResult(Type componentType, IReadOnlyDictionary parameters); ++ public RazorComponentResult(Type componentType, object parameters); ++ public Type ComponentType { get; } ++ public string? ContentType { get; set; } ++ public IReadOnlyDictionary Parameters { get; } ++ public bool PreventStreamingRendering { get; set; } ++ public int? StatusCode { get; set; } ++ public Task ExecuteAsync(HttpContext httpContext); ++ } ++ public class RazorComponentResult : RazorComponentResult where TComponent : IComponent { ++ public RazorComponentResult(); ++ public RazorComponentResult(IReadOnlyDictionary parameters); ++ public RazorComponentResult(object parameters); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Metadata.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Metadata.md new file mode 100644 index 00000000000..a39916b82f3 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Metadata.md @@ -0,0 +1,36 @@ +# Microsoft.AspNetCore.Http.Metadata + +``` diff + namespace Microsoft.AspNetCore.Http.Metadata { ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class AcceptsMetadata : IAcceptsMetadata { ++ public AcceptsMetadata(string[] contentTypes, Type? type = null, bool isOptional = false); ++ public IReadOnlyList ContentTypes { get; } ++ public bool IsOptional { get; } ++ public Type? RequestType { get; } ++ public override string ToString(); ++ } ++ public class FormMappingOptionsMetadata { ++ public FormMappingOptionsMetadata(int? maxCollectionSize = default(int?), int? maxRecursionDepth = default(int?), int? maxKeySize = default(int?)); ++ public int? MaxCollectionSize { get; } ++ public int? MaxKeySize { get; } ++ public int? MaxRecursionDepth { get; } ++ } ++ public interface IFormOptionsMetadata { ++ bool? BufferBody { get; } ++ long? BufferBodyLengthLimit { get; } ++ int? KeyLengthLimit { get; } ++ int? MemoryBufferThreshold { get; } ++ long? MultipartBodyLengthLimit { get; } ++ int? MultipartBoundaryLengthLimit { get; } ++ int? MultipartHeadersCountLimit { get; } ++ int? MultipartHeadersLengthLimit { get; } ++ int? ValueCountLimit { get; } ++ int? ValueLengthLimit { get; } ++ } ++ public interface IRouteDiagnosticsMetadata { ++ string Route { get; } ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Timeouts.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Timeouts.md new file mode 100644 index 00000000000..55764ec640d --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.Timeouts.md @@ -0,0 +1,35 @@ +# Microsoft.AspNetCore.Http.Timeouts + +``` diff ++namespace Microsoft.AspNetCore.Http.Timeouts { ++ [AttributeUsageAttribute(68)] ++ public sealed class DisableRequestTimeoutAttribute : Attribute { ++ public DisableRequestTimeoutAttribute(); ++ } ++ public interface IHttpRequestTimeoutFeature { ++ CancellationToken RequestTimeoutToken { get; } ++ void DisableTimeout(); ++ } ++ [AttributeUsageAttribute(68)] ++ public sealed class RequestTimeoutAttribute : Attribute { ++ public RequestTimeoutAttribute(int milliseconds); ++ public RequestTimeoutAttribute(string policyName); ++ public string PolicyName { get; } ++ public TimeSpan? Timeout { get; } ++ } ++ public sealed class RequestTimeoutOptions { ++ public RequestTimeoutOptions(); ++ public RequestTimeoutPolicy? DefaultPolicy { get; set; } ++ public IDictionary Policies { get; } ++ public RequestTimeoutOptions AddPolicy(string policyName, RequestTimeoutPolicy policy); ++ public RequestTimeoutOptions AddPolicy(string policyName, TimeSpan timeout); ++ } ++ public sealed class RequestTimeoutPolicy { ++ public RequestTimeoutPolicy(); ++ public TimeSpan? Timeout { get; set; } ++ public int? TimeoutStatusCode { get; set; } ++ public RequestDelegate WriteTimeoutResponse { get; set; } ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.md new file mode 100644 index 00000000000..1467eb2407f --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Http.md @@ -0,0 +1,276 @@ +# Microsoft.AspNetCore.Http + +``` diff + namespace Microsoft.AspNetCore.Http { + public class BindingAddress { ++ public bool IsNamedPipe { get; } ++ public string NamedPipeName { get; } + } +- public abstract class ConnectionInfo ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(ConnectionInfo.ConnectionInfoDebugView))] ++ public abstract class ConnectionInfo + public sealed class DefaultEndpointFilterInvocationContext : EndpointFilterInvocationContext { +- public DefaultEndpointFilterInvocationContext(HttpContext httpContext, params object[] arguments); ++ public DefaultEndpointFilterInvocationContext(HttpContext httpContext, params object?[] arguments); + } +- 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 static class EndpointFilterExtensions { +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.")] +- public static TBuilder AddEndpointFilter(this TBuilder builder) where TBuilder : IEndpointConventionBuilder where TFilterType : IEndpointFilter; ++ public static TBuilder AddEndpointFilter(this TBuilder builder) where TBuilder : IEndpointConventionBuilder where TFilterType : IEndpointFilter; +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.")] +- public static TBuilder AddEndpointFilter(this TBuilder builder, IEndpointFilter filter) where TBuilder : IEndpointConventionBuilder; ++ public static TBuilder AddEndpointFilter(this TBuilder builder, IEndpointFilter filter) where TBuilder : IEndpointConventionBuilder; +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.")] +- public static TBuilder AddEndpointFilter(this TBuilder builder, Func> routeHandlerFilter) where TBuilder : IEndpointConventionBuilder; ++ public static TBuilder AddEndpointFilter(this TBuilder builder, Func> routeHandlerFilter) where TBuilder : IEndpointConventionBuilder; +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.")] +- public static RouteHandlerBuilder AddEndpointFilter(this RouteHandlerBuilder builder) where TFilterType : IEndpointFilter; ++ public static RouteHandlerBuilder AddEndpointFilter(this RouteHandlerBuilder builder) where TFilterType : IEndpointFilter; +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.")] +- public static RouteGroupBuilder AddEndpointFilter(this RouteGroupBuilder builder) where TFilterType : IEndpointFilter; ++ public static RouteGroupBuilder AddEndpointFilter(this RouteGroupBuilder builder) where TFilterType : IEndpointFilter; +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.")] +- public static TBuilder AddEndpointFilterFactory(this TBuilder builder, Func filterFactory) where TBuilder : IEndpointConventionBuilder; ++ public static TBuilder AddEndpointFilterFactory(this TBuilder builder, Func filterFactory) where TBuilder : IEndpointConventionBuilder; + } + public abstract class EndpointFilterInvocationContext { ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3, T4 arg4); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2, T3 arg3); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T1 arg1, T2 arg2); ++ public static EndpointFilterInvocationContext Create(HttpContext httpContext, T arg); + } +- public 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("{DebuggerToString(),nq}")] ++ [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 class HttpContextAccessor : IHttpContextAccessor ++ [DebuggerDisplayAttribute("HttpContext = {HttpContext}")] ++ public class HttpContextAccessor : IHttpContextAccessor +- public abstract class HttpRequest ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(HttpRequest.HttpRequestDebugView))] ++ public abstract class HttpRequest + public static class HttpRequestJsonExtensions { ++ public static ValueTask ReadFromJsonAsync(this HttpRequest request, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); +- [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] +- public static ValueTask ReadFromJsonAsync(this HttpRequest request, Type type, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask ReadFromJsonAsync(this HttpRequest request, Type type, CancellationToken cancellationToken = default(CancellationToken)); +- [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] +- public static ValueTask ReadFromJsonAsync(this HttpRequest request, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask ReadFromJsonAsync(this HttpRequest request, CancellationToken cancellationToken = default(CancellationToken)); + } +- public abstract class HttpResponse { ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(HttpResponse.HttpResponseDebugView))] ++ public abstract class HttpResponse { +- public virtual void Redirect(string location); ++ public virtual void Redirect([StringSyntaxAttribute("Uri")] string location); +- public abstract void Redirect(string location, bool permanent); ++ public abstract void Redirect([StringSyntaxAttribute("Uri")] string location, bool permanent); + } + public static class HttpResponseJsonExtensions { ++ public static Task WriteAsJsonAsync(this HttpResponse response, object? value, JsonTypeInfo jsonTypeInfo, string? contentType = null, CancellationToken cancellationToken = default(CancellationToken)); + } +- [JsonConverterAttribute(typeof(HttpValidationProblemDetailsJsonConverter))] +- public class HttpValidationProblemDetails : ProblemDetails { ++ public class HttpValidationProblemDetails : ProblemDetails { +- public IDictionary Errors { get; } ++ public IDictionary Errors { get; set; } + } + public interface IProblemDetailsService { ++ ValueTask TryWriteAsync(ProblemDetailsContext context); + } +- [TypeConverterAttribute(typeof(PathStringConverter))] +- public readonly struct PathString : IEquatable ++ [DebuggerDisplayAttribute("{Value}")] ++ [TypeConverterAttribute(typeof(PathStringConverter))] ++ public readonly struct PathString : IEquatable + public sealed class ProblemDetailsContext { ++ public Exception? Exception { get; set; } + } ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class ProducesResponseTypeMetadata : IProducesResponseTypeMetadata { ++ public ProducesResponseTypeMetadata(int statusCode, Type? type = null, string[]? contentTypes = null); ++ public IEnumerable ContentTypes { get; } ++ public int StatusCode { get; } ++ public Type? Type { get; } ++ public override string ToString(); ++ } +- 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 { +- public bool HasValue { get; } ++ [MemberNotNullWhenAttribute(true, "Value")] ++ public bool HasValue { [MemberNotNullWhenAttribute(true, "Value")] get; } + } +- [UnconditionalSuppressMessageAttribute("Trimmer", "IL2026", Justification="RequestDelegateFactory.Create requires unreferenced code.")] +- [UnconditionalSuppressMessageAttribute("Trimmer", "IL2060", Justification="RequestDelegateFactory.Create requires unreferenced code.")] +- [UnconditionalSuppressMessageAttribute("Trimmer", "IL2072", Justification="RequestDelegateFactory.Create requires unreferenced code.")] +- [UnconditionalSuppressMessageAttribute("Trimmer", "IL2075", Justification="RequestDelegateFactory.Create requires unreferenced code.")] +- [UnconditionalSuppressMessageAttribute("Trimmer", "IL2077", Justification="RequestDelegateFactory.Create requires unreferenced code.")] +- public static class RequestDelegateFactory { ++ [RequiresUnreferencedCodeAttribute("RequestDelegateFactory performs object creation, serialization and deserialization on the delegates and its parameters. This cannot be statically analyzed.")] ++ public static class RequestDelegateFactory { +- [RequiresUnreferencedCodeAttribute("RequestDelegateFactory performs object creation, serialization and deserialization on the delegates and its parameters. This cannot be statically analyzed.")] +- public static RequestDelegateResult Create(Delegate handler, RequestDelegateFactoryOptions? options); ++ public static RequestDelegateResult Create(Delegate handler, RequestDelegateFactoryOptions? options); +- [RequiresUnreferencedCodeAttribute("RequestDelegateFactory performs object creation, serialization and deserialization on the delegates and its parameters. This cannot be statically analyzed.")] +- public static RequestDelegateResult Create(Delegate handler, RequestDelegateFactoryOptions? options = null, RequestDelegateMetadataResult? metadataResult = null); ++ public static RequestDelegateResult Create(Delegate handler, RequestDelegateFactoryOptions? options = null, RequestDelegateMetadataResult? metadataResult = null); +- [RequiresUnreferencedCodeAttribute("RequestDelegateFactory performs object creation, serialization and deserialization on the delegates and its parameters. This cannot be statically analyzed.")] +- public static RequestDelegateResult Create(MethodInfo methodInfo, Func? targetFactory, RequestDelegateFactoryOptions? options); ++ public static RequestDelegateResult Create(MethodInfo methodInfo, Func? targetFactory, RequestDelegateFactoryOptions? options); +- [RequiresUnreferencedCodeAttribute("RequestDelegateFactory performs object creation, serialization and deserialization on the delegates and its parameters. This cannot be statically analyzed.")] +- public static RequestDelegateResult Create(MethodInfo methodInfo, Func? targetFactory = null, RequestDelegateFactoryOptions? options = null, RequestDelegateMetadataResult? metadataResult = null); ++ public static RequestDelegateResult Create(MethodInfo methodInfo, Func? targetFactory = null, RequestDelegateFactoryOptions? options = null, RequestDelegateMetadataResult? metadataResult = null); +- [RequiresUnreferencedCodeAttribute("RequestDelegateFactory performs object creation, serialization and deserialization on the delegates and its parameters. This cannot be statically analyzed.")] +- public static RequestDelegateMetadataResult InferMetadata(MethodInfo methodInfo, RequestDelegateFactoryOptions? options = null); ++ public static RequestDelegateMetadataResult InferMetadata(MethodInfo methodInfo, RequestDelegateFactoryOptions? options = null); + } + public static class Results { ++ public static IResult AcceptedAtRoute(string routeName, RouteValueDictionary routeValues, object value = null); +- public static IResult AcceptedAtRoute(string routeName = null, object routeValues = null, object value = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static IResult AcceptedAtRoute(string routeName = null, object routeValues = null, object value = null); ++ public static IResult AcceptedAtRoute(string routeName, RouteValueDictionary routeValues, TValue value = null); +- public static IResult AcceptedAtRoute(string routeName = null, object routeValues = null, TValue value = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static IResult AcceptedAtRoute(string routeName = null, object routeValues = null, TValue value = null); ++ public static IResult Created(); +- public static IResult Created(string uri, object? value); ++ public static IResult Created(string uri, object value); +- public static IResult Created(Uri uri, object? value); ++ public static IResult Created(Uri uri, object value); +- public static IResult Created(string uri, TValue? value); ++ public static IResult Created(string uri, TValue value); +- public static IResult Created(Uri uri, TValue? value); ++ public static IResult Created(Uri uri, TValue value); ++ public static IResult CreatedAtRoute(string routeName, RouteValueDictionary routeValues, object value = null); +- public static IResult CreatedAtRoute(string routeName = null, object routeValues = null, object value = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static IResult CreatedAtRoute(string routeName = null, object routeValues = null, object value = null); ++ public static IResult CreatedAtRoute(string routeName, RouteValueDictionary routeValues, TValue value = null); +- public static IResult CreatedAtRoute(string routeName = null, object routeValues = null, TValue value = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static IResult CreatedAtRoute(string routeName = null, object routeValues = null, TValue value = null); +- public static IResult Json(object data, JsonSerializerOptions options = null, string contentType = null, int? statusCode = default(int?)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext.")] ++ public static IResult Json(object data, JsonSerializerOptions options = null, string contentType = null, int? statusCode = default(int?)); ++ public static IResult Json(object? data, JsonTypeInfo jsonTypeInfo, string? contentType = null, int? statusCode = default(int?)); ++ public static IResult Json(object? data, Type type, JsonSerializerContext context, string? contentType = null, int? statusCode = default(int?)); +- public static IResult Json(TValue data, JsonSerializerOptions options = null, string contentType = null, int? statusCode = default(int?)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext.")] ++ public static IResult Json(TValue data, JsonSerializerOptions options = null, string contentType = null, int? statusCode = default(int?)); ++ public static IResult Json(TValue data, JsonSerializerContext context, string contentType = null, int? statusCode = default(int?)); ++ public static IResult Json(TValue data, JsonTypeInfo jsonTypeInfo, string contentType = null, int? statusCode = default(int?)); +- public static IResult LocalRedirect(string localUrl, bool permanent = false, bool preserveMethod = false); ++ public static IResult LocalRedirect([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl, bool permanent = false, bool preserveMethod = false); +- public static IResult Redirect(string url, bool permanent = false, bool preserveMethod = false); ++ public static IResult Redirect([StringSyntaxAttribute("Uri")] string url, bool permanent = false, bool preserveMethod = false); ++ public static IResult RedirectToRoute(string routeName, RouteValueDictionary routeValues, bool permanent = false, bool preserveMethod = false, string fragment = null); +- public static IResult RedirectToRoute(string routeName = null, object routeValues = null, bool permanent = false, bool preserveMethod = false, string fragment = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static IResult RedirectToRoute(string routeName = null, object routeValues = null, bool permanent = false, bool preserveMethod = false, string fragment = null); + } + public static class StatusCodes { ++ public const int Status499ClientClosedRequest = 499; + } +- [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 static class TypedResults { ++ public static IResultExtensions Extensions { get; } ++ public static AcceptedAtRoute AcceptedAtRoute(string routeName, RouteValueDictionary routeValues); +- public static AcceptedAtRoute AcceptedAtRoute(string routeName = null, object routeValues = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static AcceptedAtRoute AcceptedAtRoute(string routeName = null, object routeValues = null); ++ public static AcceptedAtRoute AcceptedAtRoute(TValue value, string routeName, RouteValueDictionary routeValues); +- public static AcceptedAtRoute AcceptedAtRoute(TValue value, string routeName = null, object routeValues = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static AcceptedAtRoute AcceptedAtRoute(TValue value, string routeName = null, object routeValues = null); ++ public static Created Created(); +- public static Created Created(string uri); ++ public static Created Created(string? uri); +- public static Created Created(Uri uri); ++ public static Created Created(Uri? uri); +- public static Created Created(string uri, TValue? value); ++ public static Created Created(string uri, TValue value); +- public static Created Created(Uri uri, TValue? value); ++ public static Created Created(Uri uri, TValue value); ++ public static CreatedAtRoute CreatedAtRoute(string routeName, RouteValueDictionary routeValues); +- public static CreatedAtRoute CreatedAtRoute(string routeName = null, object routeValues = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static CreatedAtRoute CreatedAtRoute(string routeName = null, object routeValues = null); ++ public static CreatedAtRoute CreatedAtRoute(TValue value, string routeName, RouteValueDictionary routeValues); +- public static CreatedAtRoute CreatedAtRoute(TValue value, string routeName = null, object routeValues = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static CreatedAtRoute CreatedAtRoute(TValue value, string routeName = null, object routeValues = null); +- public static JsonHttpResult Json(TValue data, JsonSerializerOptions options = null, string contentType = null, int? statusCode = default(int?)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext.")] ++ public static JsonHttpResult Json(TValue data, JsonSerializerOptions options = null, string contentType = null, int? statusCode = default(int?)); ++ public static JsonHttpResult Json(TValue data, JsonSerializerContext context, string contentType = null, int? statusCode = default(int?)); ++ public static JsonHttpResult Json(TValue data, JsonTypeInfo jsonTypeInfo, string contentType = null, int? statusCode = default(int?)); +- public static RedirectHttpResult LocalRedirect(string localUrl, bool permanent = false, bool preserveMethod = false); ++ public static RedirectHttpResult LocalRedirect([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl, bool permanent = false, bool preserveMethod = false); +- public static RedirectHttpResult Redirect(string url, bool permanent = false, bool preserveMethod = false); ++ public static RedirectHttpResult Redirect([StringSyntaxAttribute("Uri")] string url, bool permanent = false, bool preserveMethod = false); ++ public static RedirectToRouteHttpResult RedirectToRoute(string routeName, RouteValueDictionary routeValues, bool permanent = false, bool preserveMethod = false, string fragment = null); +- public static RedirectToRouteHttpResult RedirectToRoute(string routeName = null, object routeValues = null, bool permanent = false, bool preserveMethod = false, string fragment = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static RedirectToRouteHttpResult RedirectToRoute(string routeName = null, object routeValues = null, bool permanent = false, bool preserveMethod = false, string fragment = null); + } +- public abstract class WebSocketManager ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ [DebuggerTypeProxyAttribute(typeof(WebSocketManager.WebSocketManagerDebugView))] ++ public abstract class WebSocketManager + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.HttpLogging.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.HttpLogging.md new file mode 100644 index 00000000000..9aec50600e4 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.HttpLogging.md @@ -0,0 +1,42 @@ +# Microsoft.AspNetCore.HttpLogging + +``` diff + namespace Microsoft.AspNetCore.HttpLogging { ++ [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)] ++ public sealed class HttpLoggingAttribute : Attribute { ++ public HttpLoggingAttribute(HttpLoggingFields loggingFields); ++ public bool IsRequestBodyLogLimitSet { get; } ++ public bool IsResponseBodyLogLimitSet { get; } ++ public HttpLoggingFields LoggingFields { get; } ++ public int RequestBodyLogLimit { get; set; } ++ public int ResponseBodyLogLimit { get; set; } ++ } + [FlagsAttribute] + public enum HttpLoggingFields : long { +- All = (long)3325, ++ All = (long)7421, ++ Duration = (long)4096, + } ++ public sealed class HttpLoggingInterceptorContext { ++ public HttpLoggingInterceptorContext(); ++ public HttpContext HttpContext { get; set; } ++ public HttpLoggingFields LoggingFields { get; set; } ++ public IList> Parameters { get; } ++ public int RequestBodyLogLimit { get; set; } ++ public int ResponseBodyLogLimit { get; set; } ++ public void AddParameter(string key, object? value); ++ public void Disable(HttpLoggingFields fields); ++ public void Enable(HttpLoggingFields fields); ++ public bool IsAnyEnabled(HttpLoggingFields fields); ++ public bool TryDisable(HttpLoggingFields fields); ++ } + public sealed class HttpLoggingOptions { ++ public bool CombineLogs { get; set; } + } ++ public interface IHttpLoggingInterceptor { ++ ValueTask OnRequestAsync(HttpLoggingInterceptorContext logContext); ++ ValueTask OnResponseAsync(HttpLoggingInterceptorContext logContext); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.HttpOverrides.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.HttpOverrides.md new file mode 100644 index 00000000000..673a9eea8c9 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.HttpOverrides.md @@ -0,0 +1,21 @@ +# Microsoft.AspNetCore.HttpOverrides + +``` diff + namespace Microsoft.AspNetCore.HttpOverrides { + [FlagsAttribute] + public enum ForwardedHeaders { +- All = 7, ++ All = 15, ++ XForwardedPrefix = 8, + } + public static class ForwardedHeadersDefaults { ++ public static string XForwardedPrefixHeaderName { get; } ++ public static string XOriginalPrefixHeaderName { get; } + } + public class IPNetwork { ++ public static IPNetwork Parse(ReadOnlySpan networkSpan); ++ public static bool TryParse(ReadOnlySpan networkSpan, [NotNullWhenAttribute(true)] out IPNetwork? network); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Identity.Data.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Identity.Data.md new file mode 100644 index 00000000000..d1c3e8d68fb --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Identity.Data.md @@ -0,0 +1,64 @@ +# Microsoft.AspNetCore.Identity.Data + +``` diff ++namespace Microsoft.AspNetCore.Identity.Data { ++ public sealed class ForgotPasswordRequest { ++ public ForgotPasswordRequest(); ++ public required string Email { get; set; } ++ } ++ public sealed class InfoRequest { ++ public InfoRequest(); ++ public string NewEmail { get; set; } ++ public string NewPassword { get; set; } ++ public string OldPassword { get; set; } ++ } ++ public sealed class InfoResponse { ++ public InfoResponse(); ++ public required string Email { get; set; } ++ public required bool IsEmailConfirmed { get; set; } ++ } ++ public sealed class LoginRequest { ++ public LoginRequest(); ++ public required string Email { get; set; } ++ public required string Password { get; set; } ++ public string? TwoFactorCode { get; set; } ++ public string? TwoFactorRecoveryCode { get; set; } ++ } ++ public sealed class RefreshRequest { ++ public RefreshRequest(); ++ public required string RefreshToken { get; set; } ++ } ++ public sealed class RegisterRequest { ++ public RegisterRequest(); ++ public required string Email { get; set; } ++ public required string Password { get; set; } ++ } ++ public sealed class ResendConfirmationEmailRequest { ++ public ResendConfirmationEmailRequest(); ++ public required string Email { get; set; } ++ } ++ public sealed class ResetPasswordRequest { ++ public ResetPasswordRequest(); ++ public required string Email { get; set; } ++ public required string NewPassword { get; set; } ++ public required string ResetCode { get; set; } ++ } ++ public sealed class TwoFactorRequest { ++ public TwoFactorRequest(); ++ public bool? Enable { get; set; } ++ public bool ForgetMachine { get; set; } ++ public bool ResetRecoveryCodes { get; set; } ++ public bool ResetSharedKey { get; set; } ++ public string TwoFactorCode { get; set; } ++ } ++ public sealed class TwoFactorResponse { ++ public TwoFactorResponse(); ++ public required bool IsMachineRemembered { get; set; } ++ public required bool IsTwoFactorEnabled { get; set; } ++ public string[]? RecoveryCodes { get; set; } ++ public required int RecoveryCodesLeft { get; set; } ++ public required string SharedKey { get; set; } ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Identity.UI.Services.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Identity.UI.Services.md new file mode 100644 index 00000000000..618ab43aa9c --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Identity.UI.Services.md @@ -0,0 +1,14 @@ +# Microsoft.AspNetCore.Identity.UI.Services + +``` diff ++namespace Microsoft.AspNetCore.Identity.UI.Services { ++ public interface IEmailSender { ++ Task SendEmailAsync(string email, string subject, string htmlMessage); ++ } ++ public sealed class NoOpEmailSender : IEmailSender { ++ public NoOpEmailSender(); ++ public Task SendEmailAsync(string email, string subject, string htmlMessage); ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Identity.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Identity.md new file mode 100644 index 00000000000..8daeff93e53 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Identity.md @@ -0,0 +1,95 @@ +# Microsoft.AspNetCore.Identity + +``` diff + namespace Microsoft.AspNetCore.Identity { + public class IdentityBuilder { +- public virtual IdentityBuilder AddClaimsPrincipalFactory() where TFactory : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because UserType is a reference type.")] ++ public virtual IdentityBuilder AddClaimsPrincipalFactory() where TFactory : class; +- public virtual IdentityBuilder AddPasswordValidator() where TValidator : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because UserType is a reference type.")] ++ public virtual IdentityBuilder AddPasswordValidator() where TValidator : class; +- public virtual IdentityBuilder AddRoleManager() where TRoleManager : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because RoleType is a reference type.")] ++ public virtual IdentityBuilder AddRoleManager() where TRoleManager : class; +- public virtual IdentityBuilder AddRoles() where TRole : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because UserType is a reference type.")] ++ public virtual IdentityBuilder AddRoles() where TRole : class; +- public virtual IdentityBuilder AddRoleStore() where TStore : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because RoleType is a reference type.")] ++ public virtual IdentityBuilder AddRoleStore() where TStore : class; +- public virtual IdentityBuilder AddRoleValidator() where TRole : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because RoleType is a reference type.")] ++ public virtual IdentityBuilder AddRoleValidator() where TRole : class; +- public virtual IdentityBuilder AddTokenProvider(string providerName, Type provider); ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because UserType is a reference type.")] ++ public virtual IdentityBuilder AddTokenProvider(string providerName, Type provider); +- public virtual IdentityBuilder AddUserConfirmation() where TUserConfirmation : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because UserType is a reference type.")] ++ public virtual IdentityBuilder AddUserConfirmation() where TUserConfirmation : class; +- public virtual IdentityBuilder AddUserManager() where TUserManager : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because UserType is a reference type.")] ++ public virtual IdentityBuilder AddUserManager() where TUserManager : class; +- public virtual IdentityBuilder AddUserStore() where TStore : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because UserType is a reference type.")] ++ public virtual IdentityBuilder AddUserStore() where TStore : class; +- public virtual IdentityBuilder AddUserValidator() where TValidator : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because UserType is a reference type.")] ++ public virtual IdentityBuilder AddUserValidator() where TValidator : class; + } + public static class IdentityBuilderExtensions { ++ public static IdentityBuilder AddApiEndpoints(this IdentityBuilder builder); +- public static IdentityBuilder AddDefaultTokenProviders(this IdentityBuilder builder); ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because user type is a reference type.")] ++ public static IdentityBuilder AddDefaultTokenProviders(this IdentityBuilder builder); +- public static IdentityBuilder AddSignInManager(this IdentityBuilder builder); ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because user type is a reference type.")] ++ public static IdentityBuilder AddSignInManager(this IdentityBuilder builder); +- public static IdentityBuilder AddSignInManager(this IdentityBuilder builder) where TSignInManager : class; ++ [UnconditionalSuppressMessageAttribute("AOT", "IL3050", Justification="MakeGenericType is safe because user type is a reference type.")] ++ public static IdentityBuilder AddSignInManager(this IdentityBuilder builder) where TSignInManager : class; + } + public class IdentityConstants { ++ public static readonly string BearerScheme; + } ++ public static class IdentitySchemaVersions { ++ public static readonly Version Default; ++ public static readonly Version Version1; ++ public static readonly Version Version2; ++ } ++ public interface IEmailSender where TUser : class { ++ Task SendConfirmationLinkAsync(TUser user, string email, string confirmationLink); ++ Task SendPasswordResetCodeAsync(TUser user, string email, string resetCode); ++ Task SendPasswordResetLinkAsync(TUser user, string email, string resetLink); ++ } + 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 SignInManager where TUser : class { ++ public string AuthenticationScheme { get; set; } +- public virtual AuthenticationProperties ConfigureExternalAuthenticationProperties(string? provider, string? redirectUrl, string? userId = null); ++ public virtual AuthenticationProperties ConfigureExternalAuthenticationProperties(string? provider, [StringSyntaxAttribute("Uri")] string? redirectUrl, string? userId = null); ++ public virtual Task IsTwoFactorEnabledAsync(TUser user); + } + public class StoreOptions { ++ public Version SchemaVersion { 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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.ApplicationModels.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.ApplicationModels.md new file mode 100644 index 00000000000..06b7c843910 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.ApplicationModels.md @@ -0,0 +1,35 @@ +# Microsoft.AspNetCore.Mvc.ApplicationModels + +``` diff + namespace Microsoft.AspNetCore.Mvc.ApplicationModels { +- [DebuggerDisplayAttribute("ApplicationModel: Controllers: {Controllers.Count}, Filters: {Filters.Count}")] +- public class ApplicationModel : IApiExplorerModel, IFilterModel, IPropertyModel ++ [DebuggerDisplayAttribute("Type = {GetType().Name}, Controllers = {Controllers.Count}, Filters = {Filters.Count}")] ++ public class ApplicationModel : IApiExplorerModel, IFilterModel, IPropertyModel + public class AttributeRouteModel { +- public static string ReplaceTokens(string template, IDictionary values); ++ public static string ReplaceTokens([StringSyntaxAttribute("Route")] string template, IDictionary values); + } +- [DebuggerDisplayAttribute("PageHandlerModel: Name={Name}")] +- public class PageHandlerModel : ICommonModel, IPropertyModel ++ [DebuggerDisplayAttribute("Type = {GetType().Name}, Name = {Name}")] ++ public class PageHandlerModel : ICommonModel, IPropertyModel +- [DebuggerDisplayAttribute("PageParameterModel: Name={ParameterName}")] +- public class PageParameterModel : ParameterModelBase, IBindingModel, ICommonModel, IPropertyModel ++ [DebuggerDisplayAttribute("Type = {GetType().Name}, Name = {ParameterName}")] ++ public class PageParameterModel : ParameterModelBase, IBindingModel, ICommonModel, IPropertyModel +- [DebuggerDisplayAttribute("PagePropertyModel: Name={PropertyName}")] +- public class PagePropertyModel : ParameterModelBase, ICommonModel, IPropertyModel ++ [DebuggerDisplayAttribute("Type = {GetType().Name}, Name = {PropertyName}")] ++ public class PagePropertyModel : ParameterModelBase, ICommonModel, IPropertyModel +- [DebuggerDisplayAttribute("ParameterModel: Name={ParameterName}")] +- public class ParameterModel : ParameterModelBase, ICommonModel, IPropertyModel ++ [DebuggerDisplayAttribute("Type = {GetType().Name}, Name = {ParameterName}")] ++ public class ParameterModel : ParameterModelBase, ICommonModel, IPropertyModel +- [DebuggerDisplayAttribute("PropertyModel: Name={PropertyName}")] +- public class PropertyModel : ParameterModelBase, IBindingModel, ICommonModel, IPropertyModel ++ [DebuggerDisplayAttribute("Type = {GetType().Name}, Name = {PropertyName}")] ++ public class PropertyModel : ParameterModelBase, IBindingModel, ICommonModel, IPropertyModel + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Controllers.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Controllers.md new file mode 100644 index 00000000000..0e643be59b6 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Controllers.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Mvc.Controllers + +``` diff + namespace Microsoft.AspNetCore.Mvc.Controllers { +- [DebuggerDisplayAttribute("{DisplayName}")] +- public class ControllerActionDescriptor : ActionDescriptor ++ [DebuggerDisplayAttribute("{DisplayName,nq}")] ++ public class ControllerActionDescriptor : ActionDescriptor + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Filters.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Filters.md new file mode 100644 index 00000000000..1f003379a70 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Filters.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Mvc.Filters + +``` diff + namespace Microsoft.AspNetCore.Mvc.Filters { +- [DebuggerDisplayAttribute("FilterItem: {Filter}")] +- public class FilterItem ++ [DebuggerDisplayAttribute("Filter = {Filter}")] ++ public class FilterItem + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Infrastructure.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Infrastructure.md new file mode 100644 index 00000000000..a259b133f70 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Infrastructure.md @@ -0,0 +1,12 @@ +# Microsoft.AspNetCore.Mvc.Infrastructure + +``` diff + namespace Microsoft.AspNetCore.Mvc.Infrastructure { + public class AmbiguousActionException : InvalidOperationException { +- protected AmbiguousActionException(SerializationInfo info, StreamingContext context); ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected AmbiguousActionException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.ModelBinding.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.ModelBinding.md new file mode 100644 index 00000000000..1b33c8cecc9 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.ModelBinding.md @@ -0,0 +1,18 @@ +# Microsoft.AspNetCore.Mvc.ModelBinding + +``` diff + namespace Microsoft.AspNetCore.Mvc.ModelBinding { + public class BindingInfo { ++ public object ServiceKey { get; set; } + } +- [DebuggerDisplayAttribute("Source: {DisplayName}")] +- public class BindingSource : IEquatable ++ [DebuggerDisplayAttribute("Source = {DisplayName}")] ++ public class BindingSource : IEquatable +- public class ModelStateDictionary : IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary ++ [DebuggerDisplayAttribute("Entries = {Count}, IsValid = {IsValid}")] ++ [DebuggerTypeProxyAttribute(typeof(ModelStateDictionary.ModelStateDictionaryDebugView))] ++ public class ModelStateDictionary : IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Razor.Internal.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Razor.Internal.md new file mode 100644 index 00000000000..f74991ff01c --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Razor.Internal.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Mvc.Razor.Internal + +``` diff + namespace Microsoft.AspNetCore.Mvc.Razor.Internal { + [AttributeUsageAttribute(128, AllowMultiple=false, Inherited=true)] + public class RazorInjectAttribute : Attribute { ++ public object Key { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Razor.TagHelpers.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Razor.TagHelpers.md new file mode 100644 index 00000000000..e4802908bd5 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Razor.TagHelpers.md @@ -0,0 +1,42 @@ +# Microsoft.AspNetCore.Mvc.Razor.TagHelpers + +``` diff + namespace Microsoft.AspNetCore.Mvc.Razor.TagHelpers { + [HtmlTargetElementAttribute("*", Attributes="[itemid^='~/']")] + [HtmlTargetElementAttribute("a", Attributes="[href^='~/']")] + [HtmlTargetElementAttribute("applet", Attributes="[archive^='~/']")] + [HtmlTargetElementAttribute("area", Attributes="[href^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("audio", Attributes="[src^='~/']")] + [HtmlTargetElementAttribute("base", Attributes="[href^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("blockquote", Attributes="[cite^='~/']")] + [HtmlTargetElementAttribute("button", Attributes="[formaction^='~/']")] + [HtmlTargetElementAttribute("del", Attributes="[cite^='~/']")] + [HtmlTargetElementAttribute("embed", Attributes="[src^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("form", Attributes="[action^='~/']")] + [HtmlTargetElementAttribute("html", Attributes="[manifest^='~/']")] + [HtmlTargetElementAttribute("iframe", Attributes="[src^='~/']")] + [HtmlTargetElementAttribute("img", Attributes="[src^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("img", Attributes="[srcset^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("input", Attributes="[formaction^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("input", Attributes="[src^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("ins", Attributes="[cite^='~/']")] + [HtmlTargetElementAttribute("link", Attributes="[href^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("menuitem", Attributes="[icon^='~/']")] + [HtmlTargetElementAttribute("object", Attributes="[archive^='~/']")] + [HtmlTargetElementAttribute("object", Attributes="[data^='~/']")] + [HtmlTargetElementAttribute("q", Attributes="[cite^='~/']")] + [HtmlTargetElementAttribute("script", Attributes="[src^='~/']")] + [HtmlTargetElementAttribute("source", Attributes="[src^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("source", Attributes="[srcset^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("track", Attributes="[src^='~/']", TagStructure=TagStructure.WithoutEndTag)] + [HtmlTargetElementAttribute("video", Attributes="[poster^='~/']")] + [HtmlTargetElementAttribute("video", Attributes="[src^='~/']")] + public class UrlResolutionTagHelper : TagHelper { +- protected bool TryResolveUrl(string url, [NotNullWhenAttribute(true)] out IHtmlContent? resolvedUrl); ++ protected bool TryResolveUrl([StringSyntaxAttribute("Uri", new object[]{ 2})] string url, [NotNullWhenAttribute(true)] out IHtmlContent? resolvedUrl); +- protected bool TryResolveUrl(string url, out string? resolvedUrl); ++ protected bool TryResolveUrl([StringSyntaxAttribute("Uri", new object[]{ 2})] string url, out string? resolvedUrl); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Razor.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Razor.md new file mode 100644 index 00000000000..13ea01b0789 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Razor.md @@ -0,0 +1,37 @@ +# Microsoft.AspNetCore.Mvc.Razor + +``` diff + namespace Microsoft.AspNetCore.Mvc.Razor { + public abstract class RazorPageBase : IRazorPage { +- public IHtmlContent? BodyContent { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ public IHtmlContent? BodyContent { get; set; } +- [RazorInjectAttribute] +- public DiagnosticSource DiagnosticSource { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ [RazorInjectAttribute] ++ public DiagnosticSource DiagnosticSource { get; set; } +- [RazorInjectAttribute] +- public HtmlEncoder HtmlEncoder { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ [RazorInjectAttribute] ++ public HtmlEncoder HtmlEncoder { get; set; } +- public bool IsLayoutBeingRendered { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ public bool IsLayoutBeingRendered { get; set; } +- public virtual TextWriter Output { get; } ++ [DebuggerBrowsableAttribute(0)] ++ public virtual TextWriter Output { get; } +- public IDictionary PreviousSectionWriters { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ public IDictionary PreviousSectionWriters { get; set; } +- public IDictionary SectionWriters { get; } ++ [DebuggerBrowsableAttribute(0)] ++ public IDictionary SectionWriters { get; } + } +- public class RazorView : IView ++ [DebuggerDisplayAttribute("{Path,nq}")] ++ public class RazorView : IView + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.RazorPages.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.RazorPages.md new file mode 100644 index 00000000000..093683e5194 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.RazorPages.md @@ -0,0 +1,50 @@ +# Microsoft.AspNetCore.Mvc.RazorPages + +``` diff + namespace Microsoft.AspNetCore.Mvc.RazorPages { + public abstract class PageBase : RazorPageBase { +- public IModelMetadataProvider MetadataProvider { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ public IModelMetadataProvider MetadataProvider { get; set; } +- public virtual LocalRedirectResult LocalRedirect(string localUrl); ++ public virtual LocalRedirectResult LocalRedirect([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- public virtual LocalRedirectResult LocalRedirectPermanent(string localUrl); ++ public virtual LocalRedirectResult LocalRedirectPermanent([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- public virtual LocalRedirectResult LocalRedirectPermanentPreserveMethod(string localUrl); ++ public virtual LocalRedirectResult LocalRedirectPermanentPreserveMethod([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- public virtual LocalRedirectResult LocalRedirectPreserveMethod(string localUrl); ++ public virtual LocalRedirectResult LocalRedirectPreserveMethod([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- public virtual RedirectResult Redirect(string url); ++ public virtual RedirectResult Redirect([StringSyntaxAttribute("Uri")] string url); +- public virtual RedirectResult RedirectPermanent(string url); ++ public virtual RedirectResult RedirectPermanent([StringSyntaxAttribute("Uri")] string url); +- public virtual RedirectResult RedirectPermanentPreserveMethod(string url); ++ public virtual RedirectResult RedirectPermanentPreserveMethod([StringSyntaxAttribute("Uri")] string url); +- public virtual RedirectResult RedirectPreserveMethod(string url); ++ public virtual RedirectResult RedirectPreserveMethod([StringSyntaxAttribute("Uri")] string url); + } +- public class PageContext : ActionContext ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ public class PageContext : ActionContext + [PageModelAttribute] + public abstract class PageModel : IAsyncPageFilter, IFilterMetadata, IPageFilter { +- public virtual LocalRedirectResult LocalRedirect(string localUrl); ++ public virtual LocalRedirectResult LocalRedirect([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- public virtual LocalRedirectResult LocalRedirectPermanent(string localUrl); ++ public virtual LocalRedirectResult LocalRedirectPermanent([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- public virtual LocalRedirectResult LocalRedirectPermanentPreserveMethod(string localUrl); ++ public virtual LocalRedirectResult LocalRedirectPermanentPreserveMethod([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- public virtual LocalRedirectResult LocalRedirectPreserveMethod(string localUrl); ++ public virtual LocalRedirectResult LocalRedirectPreserveMethod([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- protected internal RedirectResult Redirect(string url); ++ protected internal RedirectResult Redirect([StringSyntaxAttribute("Uri")] string url); +- public virtual RedirectResult RedirectPermanent(string url); ++ public virtual RedirectResult RedirectPermanent([StringSyntaxAttribute("Uri")] string url); +- public virtual RedirectResult RedirectPermanentPreserveMethod(string url); ++ public virtual RedirectResult RedirectPermanentPreserveMethod([StringSyntaxAttribute("Uri")] string url); +- public virtual RedirectResult RedirectPreserveMethod(string url); ++ public virtual RedirectResult RedirectPreserveMethod([StringSyntaxAttribute("Uri")] string url); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Rendering.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Rendering.md new file mode 100644 index 00000000000..2effc376304 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Rendering.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Mvc.Rendering + +``` diff + namespace Microsoft.AspNetCore.Mvc.Rendering { + public enum FormMethod { ++ Dialog = 2, + } +- public class ViewContext : ActionContext ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ public class ViewContext : ActionContext + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Routing.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Routing.md new file mode 100644 index 00000000000..e13de9b5033 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.Routing.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Mvc.Routing + +``` diff + namespace Microsoft.AspNetCore.Mvc.Routing { + public abstract class UrlHelperBase : IUrlHelper { +- public virtual bool IsLocalUrl([NotNullWhenAttribute(true)] string? url); ++ public virtual bool IsLocalUrl([NotNullWhenAttribute(true), StringSyntaxAttribute("Uri")] string? url); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.TagHelpers.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.TagHelpers.md new file mode 100644 index 00000000000..e2b718d06ae --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.TagHelpers.md @@ -0,0 +1,16 @@ +# Microsoft.AspNetCore.Mvc.TagHelpers + +``` diff + namespace Microsoft.AspNetCore.Mvc.TagHelpers { + public class GlobbingUrlBuilder { +- public virtual IReadOnlyList BuildUrlList(string staticUrl, string includePattern, string excludePattern); ++ public virtual IReadOnlyList BuildUrlList([StringSyntaxAttribute("Uri")] string staticUrl, string includePattern, string excludePattern); + } + [HtmlTargetElementAttribute("input", Attributes="asp-for", TagStructure=TagStructure.WithoutEndTag)] + public class InputTagHelper : TagHelper { ++ [HtmlAttributeNameAttribute("form")] ++ public string FormName { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.ViewFeatures.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.ViewFeatures.md new file mode 100644 index 00000000000..a683db6bf24 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.ViewFeatures.md @@ -0,0 +1,22 @@ +# Microsoft.AspNetCore.Mvc.ViewFeatures + +``` diff + namespace Microsoft.AspNetCore.Mvc.ViewFeatures { +- public class FormContext ++ [DebuggerDisplayAttribute("FormData = {FormData.Count}")] ++ public class FormContext +- [DebuggerDisplayAttribute("DeclaredType={Metadata.ModelType.Name} PropertyName={Metadata.PropertyName}")] +- public class ModelExplorer ++ [DebuggerDisplayAttribute("DeclaredType = {Metadata.ModelType.Name}, PropertyName = {Metadata.PropertyName}")] ++ public class ModelExplorer +- public class TempDataDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable>, ITempDataDictionary ++ [DebuggerDisplayAttribute("Count = {Count}")] ++ [DebuggerTypeProxyAttribute(typeof(TempDataDictionary.TempDataDictionaryDebugView))] ++ public class TempDataDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable>, ITempDataDictionary +- public class ViewDataDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable> ++ [DebuggerDisplayAttribute("Count = {Count}")] ++ [DebuggerTypeProxyAttribute(typeof(ViewDataDictionary.ViewDataDictionaryDebugView))] ++ public class ViewDataDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable> + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.md new file mode 100644 index 00000000000..89a1b91580d --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Mvc.md @@ -0,0 +1,189 @@ +# Microsoft.AspNetCore.Mvc + +``` diff + namespace Microsoft.AspNetCore.Mvc { + [ControllerAttribute] + public abstract class ControllerBase { +- public IModelMetadataProvider MetadataProvider { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ public IModelMetadataProvider MetadataProvider { get; set; } +- public IModelBinderFactory ModelBinderFactory { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ public IModelBinderFactory ModelBinderFactory { get; set; } +- public IObjectModelValidator ObjectValidator { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ public IObjectModelValidator ObjectValidator { get; set; } +- public ProblemDetailsFactory ProblemDetailsFactory { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ public ProblemDetailsFactory ProblemDetailsFactory { get; set; } +- public IUrlHelper Url { get; set; } ++ [DebuggerBrowsableAttribute(0)] ++ public IUrlHelper Url { get; set; } ++ [NonActionAttribute] ++ public virtual CreatedResult Created(); +- [NonActionAttribute] +- public virtual CreatedResult Created(string uri, [ActionResultObjectValueAttribute] object? value); ++ [NonActionAttribute] ++ public virtual CreatedResult Created(string? uri, [ActionResultObjectValueAttribute] object? value); +- [NonActionAttribute] +- public virtual CreatedResult Created(Uri uri, [ActionResultObjectValueAttribute] object? value); ++ [NonActionAttribute] ++ public virtual CreatedResult Created(Uri? uri, [ActionResultObjectValueAttribute] object? value); +- [NonActionAttribute] +- public virtual LocalRedirectResult LocalRedirect(string localUrl); ++ [NonActionAttribute] ++ public virtual LocalRedirectResult LocalRedirect([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- [NonActionAttribute] +- public virtual LocalRedirectResult LocalRedirectPermanent(string localUrl); ++ [NonActionAttribute] ++ public virtual LocalRedirectResult LocalRedirectPermanent([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- [NonActionAttribute] +- public virtual LocalRedirectResult LocalRedirectPermanentPreserveMethod(string localUrl); ++ [NonActionAttribute] ++ public virtual LocalRedirectResult LocalRedirectPermanentPreserveMethod([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- [NonActionAttribute] +- public virtual LocalRedirectResult LocalRedirectPreserveMethod(string localUrl); ++ [NonActionAttribute] ++ public virtual LocalRedirectResult LocalRedirectPreserveMethod([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- [NonActionAttribute] +- public virtual RedirectResult Redirect(string url); ++ [NonActionAttribute] ++ public virtual RedirectResult Redirect([StringSyntaxAttribute("Uri")] string url); +- [NonActionAttribute] +- public virtual RedirectResult RedirectPermanent(string url); ++ [NonActionAttribute] ++ public virtual RedirectResult RedirectPermanent([StringSyntaxAttribute("Uri")] string url); +- [NonActionAttribute] +- public virtual RedirectResult RedirectPermanentPreserveMethod(string url); ++ [NonActionAttribute] ++ public virtual RedirectResult RedirectPermanentPreserveMethod([StringSyntaxAttribute("Uri")] string url); +- [NonActionAttribute] +- public virtual RedirectResult RedirectPreserveMethod(string url); ++ [NonActionAttribute] ++ public virtual RedirectResult RedirectPreserveMethod([StringSyntaxAttribute("Uri")] string url); + } +- public class ControllerContext : ActionContext ++ [DebuggerDisplayAttribute("{DebuggerToString(),nq}")] ++ public class ControllerContext : ActionContext + [DefaultStatusCodeAttribute(201)] + public class CreatedResult : ObjectResult { ++ public CreatedResult(); +- public CreatedResult(string location, object? value); ++ public CreatedResult(string location, object value); +- public CreatedResult(Uri location, object? value); ++ public CreatedResult(Uri location, object value); +- public string Location { get; [MemberNotNullAttribute("_location")] set; } ++ public string Location { get; set; } + } + public interface IUrlHelper { +- bool IsLocalUrl([NotNullWhenAttribute(true)] string? url); ++ bool IsLocalUrl([NotNullWhenAttribute(true), StringSyntaxAttribute("Uri")] string? url); + } + public class LocalRedirectResult : ActionResult { +- public LocalRedirectResult(string localUrl); ++ public LocalRedirectResult([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl); +- public LocalRedirectResult(string localUrl, bool permanent); ++ public LocalRedirectResult([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl, bool permanent); +- public LocalRedirectResult(string localUrl, bool permanent, bool preserveMethod); ++ public LocalRedirectResult([StringSyntaxAttribute("Uri", new object[]{ 2})] string localUrl, bool permanent, bool preserveMethod); + } ++ public class MiddlewareFilterAttribute : MiddlewareFilterAttribute { ++ public MiddlewareFilterAttribute(); ++ } ++ public class ModelBinderAttribute : ModelBinderAttribute where TBinder : IModelBinder { ++ public ModelBinderAttribute(); ++ } ++ public class ModelMetadataTypeAttribute : ModelMetadataTypeAttribute { ++ public ModelMetadataTypeAttribute(); ++ } +- [JsonConverterAttribute(typeof(ProblemDetailsJsonConverter))] +- public class ProblemDetails { ++ public class ProblemDetails { +- [JsonPropertyNameAttribute("detail")] +- public string Detail { get; set; } ++ [JsonIgnoreAttribute(Condition=3)] ++ [JsonPropertyOrderAttribute(-2)] ++ public string Detail { get; set; } +- [JsonExtensionDataAttribute] +- public IDictionary Extensions { get; } ++ [JsonExtensionDataAttribute] ++ public IDictionary Extensions { get; set; } +- [JsonPropertyNameAttribute("instance")] +- public string Instance { get; set; } ++ [JsonIgnoreAttribute(Condition=3)] ++ [JsonPropertyOrderAttribute(-1)] ++ public string Instance { get; set; } +- [JsonPropertyNameAttribute("status")] +- public int? Status { get; set; } ++ [JsonIgnoreAttribute(Condition=3)] ++ [JsonPropertyOrderAttribute(-3)] ++ public int? Status { get; set; } +- [JsonPropertyNameAttribute("title")] +- public string Title { get; set; } ++ [JsonIgnoreAttribute(Condition=3)] ++ [JsonPropertyOrderAttribute(-4)] ++ public string Title { get; set; } +- [JsonPropertyNameAttribute("type")] +- public string Type { get; set; } ++ [JsonIgnoreAttribute(Condition=3)] ++ [JsonPropertyOrderAttribute(-5)] ++ public string Type { get; set; } + } ++ public class ProducesAttribute : ProducesAttribute { ++ public ProducesAttribute(); ++ } ++ public class ProducesResponseTypeAttribute : ProducesResponseTypeAttribute { ++ public ProducesResponseTypeAttribute(int statusCode); ++ public ProducesResponseTypeAttribute(int statusCode, string contentType, params string[] additionalContentTypes); ++ } + public class RedirectResult : ActionResult, IActionResult, IKeepTempDataResult { +- public RedirectResult(string url); ++ public RedirectResult([StringSyntaxAttribute("Uri")] string url); +- public RedirectResult(string url, bool permanent); ++ public RedirectResult([StringSyntaxAttribute("Uri")] string url, bool permanent); +- public RedirectResult(string url, bool permanent, bool preserveMethod); ++ public RedirectResult([StringSyntaxAttribute("Uri")] string url, bool permanent, bool preserveMethod); + } +- [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)] +- public class RequestFormLimitsAttribute : Attribute, IFilterFactory, IFilterMetadata, IOrderedFilter { ++ [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)] ++ public class RequestFormLimitsAttribute : Attribute, IFilterFactory, IFilterMetadata, IFormOptionsMetadata, IOrderedFilter { ++ bool? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.BufferBody { get; } ++ long? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.BufferBodyLengthLimit { get; } ++ int? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.KeyLengthLimit { get; } ++ int? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.MemoryBufferThreshold { get; } ++ long? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.MultipartBodyLengthLimit { get; } ++ int? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.MultipartBoundaryLengthLimit { get; } ++ int? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.MultipartHeadersCountLimit { get; } ++ int? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.MultipartHeadersLengthLimit { get; } ++ int? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.ValueCountLimit { get; } ++ int? Microsoft.AspNetCore.Http.Metadata.IFormOptionsMetadata.ValueLengthLimit { get; } + } +- [AttributeUsageAttribute(68, AllowMultiple=true, Inherited=true)] +- [DebuggerDisplayAttribute("ServiceFilter: Type={ServiceType} Order={Order}")] +- public class ServiceFilterAttribute : Attribute, IFilterFactory, IFilterMetadata, IOrderedFilter ++ [AttributeUsageAttribute(68, AllowMultiple=true, Inherited=true)] ++ [DebuggerDisplayAttribute("Type = {ServiceType}, Order = {Order}")] ++ public class ServiceFilterAttribute : Attribute, IFilterFactory, IFilterMetadata, IOrderedFilter ++ [DebuggerDisplayAttribute("Type = {ServiceType}, Order = {Order}")] ++ public class ServiceFilterAttribute : ServiceFilterAttribute where TFilter : IFilterMetadata { ++ public ServiceFilterAttribute(); ++ } +- [AttributeUsageAttribute(68, AllowMultiple=true, Inherited=true)] +- [DebuggerDisplayAttribute("TypeFilter: Type={ImplementationType} Order={Order}")] +- public class TypeFilterAttribute : Attribute, IFilterFactory, IFilterMetadata, IOrderedFilter ++ [AttributeUsageAttribute(68, AllowMultiple=true, Inherited=true)] ++ [DebuggerDisplayAttribute("Type = {ImplementationType}, Order = {Order}")] ++ public class TypeFilterAttribute : Attribute, IFilterFactory, IFilterMetadata, IOrderedFilter ++ public class TypeFilterAttribute : TypeFilterAttribute where TFilter : IFilterMetadata { ++ public TypeFilterAttribute(); ++ } +- [JsonConverterAttribute(typeof(ValidationProblemDetailsJsonConverter))] +- public class ValidationProblemDetails : HttpValidationProblemDetails { ++ public class ValidationProblemDetails : HttpValidationProblemDetails { +- public new IDictionary Errors { get; } ++ public new IDictionary Errors { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.OutputCaching.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.OutputCaching.md new file mode 100644 index 00000000000..95ad65dcc15 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.OutputCaching.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.OutputCaching + +``` diff + namespace Microsoft.AspNetCore.OutputCaching { ++ public interface IOutputCacheBufferStore : IOutputCacheStore { ++ ValueTask SetAsync(string key, ReadOnlySequence value, ReadOnlyMemory tags, TimeSpan validFor, CancellationToken cancellationToken); ++ ValueTask TryGetAsync(string key, PipeWriter destination, CancellationToken cancellationToken); ++ } + [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)] + public sealed class OutputCacheAttribute : Attribute { ++ public string[]? Tags { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Razor.TagHelpers.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Razor.TagHelpers.md new file mode 100644 index 00000000000..1afb1b19908 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Razor.TagHelpers.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Razor.TagHelpers + +``` diff + namespace Microsoft.AspNetCore.Razor.TagHelpers { + public abstract class TagHelperContent : IHtmlContent, IHtmlContentBuilder, IHtmlContentContainer { +- public TagHelperContent AppendFormat(IFormatProvider provider, string format, params object[] args); ++ public TagHelperContent AppendFormat(IFormatProvider provider, [StringSyntaxAttribute("CompositeFormat")] string format, params object[] args); +- public TagHelperContent AppendFormat(string format, params object[] args); ++ public TagHelperContent AppendFormat([StringSyntaxAttribute("CompositeFormat")] string format, params object[] args); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Rewrite.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Rewrite.md new file mode 100644 index 00000000000..7adf9ecbb3f --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Rewrite.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Rewrite + +``` diff + namespace Microsoft.AspNetCore.Rewrite { + public static class RewriteOptionsExtensions { +- public static RewriteOptions AddRedirect(this RewriteOptions options, string regex, string replacement); ++ public static RewriteOptions AddRedirect(this RewriteOptions options, [StringSyntaxAttribute("Regex")] string regex, string replacement); +- public static RewriteOptions AddRedirect(this RewriteOptions options, string regex, string replacement, int statusCode); ++ public static RewriteOptions AddRedirect(this RewriteOptions options, [StringSyntaxAttribute("Regex")] string regex, string replacement, int statusCode); +- public static RewriteOptions AddRewrite(this RewriteOptions options, string regex, string replacement, bool skipRemainingRules); ++ public static RewriteOptions AddRewrite(this RewriteOptions options, [StringSyntaxAttribute("Regex")] string regex, string replacement, bool skipRemainingRules); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.Constraints.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.Constraints.md new file mode 100644 index 00000000000..552f1e58d7c --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.Constraints.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Routing.Constraints + +``` diff + namespace Microsoft.AspNetCore.Routing.Constraints { + public class RegexInlineRouteConstraint : RegexRouteConstraint { +- public RegexInlineRouteConstraint(string regexPattern); ++ public RegexInlineRouteConstraint([StringSyntaxAttribute("Regex", new object[]{ 513})] string regexPattern); + } + public class RegexRouteConstraint : IParameterLiteralNodeMatchingPolicy, IParameterPolicy, IRouteConstraint { +- public RegexRouteConstraint(string regexPattern); ++ public RegexRouteConstraint([StringSyntaxAttribute("Regex", new object[]{ 521})] string regexPattern); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.Patterns.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.Patterns.md new file mode 100644 index 00000000000..2acdce7dc57 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.Patterns.md @@ -0,0 +1,38 @@ +# Microsoft.AspNetCore.Routing.Patterns + +``` diff + namespace Microsoft.AspNetCore.Routing.Patterns { + public sealed class RoutePatternException : Exception { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public static class RoutePatternFactory { +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static RoutePattern Parse([StringSyntaxAttribute("Route")] string pattern, object? defaults, object? parameterPolicies); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static RoutePattern Parse([StringSyntaxAttribute("Route")] string pattern, object? defaults, object? parameterPolicies); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static RoutePattern Parse([StringSyntaxAttribute("Route")] string pattern, object? defaults, object? parameterPolicies, object? requiredValues); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static RoutePattern Parse([StringSyntaxAttribute("Route")] string pattern, object? defaults, object? parameterPolicies, object? requiredValues); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static RoutePattern Pattern(object? defaults, object? parameterPolicies, params RoutePatternPathSegment[] segments); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static RoutePattern Pattern(object? defaults, object? parameterPolicies, params RoutePatternPathSegment[] segments); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static RoutePattern Pattern(object? defaults, object? parameterPolicies, IEnumerable segments); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static RoutePattern Pattern(object? defaults, object? parameterPolicies, IEnumerable segments); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static RoutePattern Pattern(string? rawText, object? defaults, object? parameterPolicies, params RoutePatternPathSegment[] segments); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static RoutePattern Pattern(string? rawText, object? defaults, object? parameterPolicies, params RoutePatternPathSegment[] segments); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static RoutePattern Pattern(string? rawText, object? defaults, object? parameterPolicies, IEnumerable segments); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static RoutePattern Pattern(string? rawText, object? defaults, object? parameterPolicies, IEnumerable segments); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.Template.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.Template.md new file mode 100644 index 00000000000..fbcd5ece0ab --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.Template.md @@ -0,0 +1,13 @@ +# Microsoft.AspNetCore.Routing.Template + +``` diff + namespace Microsoft.AspNetCore.Routing.Template { + [DebuggerDisplayAttribute("{DebuggerToString()}")] + public class TemplatePart { +- public bool IsLiteral { get; } ++ [MemberNotNullWhenAttribute(true, "Text")] ++ public bool IsLiteral { [MemberNotNullWhenAttribute(true, "Text")] get; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.md new file mode 100644 index 00000000000..1a4334a5771 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Routing.md @@ -0,0 +1,120 @@ +# Microsoft.AspNetCore.Routing + +``` diff + namespace Microsoft.AspNetCore.Routing { + public static class ControllerLinkGeneratorExtensions { +- public static string GetPathByAction(this LinkGenerator generator, HttpContext httpContext, string action = null, string controller = null, object values = null, PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions options = null); ++ public static string? GetPathByAction(this LinkGenerator generator, HttpContext httpContext, string? action = null, string? controller = null, object? values = null, PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions? options = null); +- public static string GetUriByAction(this LinkGenerator generator, HttpContext httpContext, string action = null, string controller = null, object values = null, string scheme = null, HostString? host = default(HostString?), PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions options = null); ++ public static string? GetUriByAction(this LinkGenerator generator, HttpContext httpContext, string? action = null, string? controller = null, object? values = null, string? scheme = null, HostString? host = default(HostString?), PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions? options = null); +- public static string GetUriByAction(this LinkGenerator generator, string action, string controller, object values, string scheme, HostString host, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions options = null); ++ public static string? GetUriByAction(this LinkGenerator generator, string action, string controller, object? values, string scheme, HostString host, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions? options = null); + } +- public sealed class DataTokensMetadata : IDataTokensMetadata { ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class DataTokensMetadata : IDataTokensMetadata { ++ public override string ToString(); + } +- public class EndpointNameMetadata : IEndpointNameMetadata { ++ [DebuggerDisplayAttribute("{ToString(),nq}")] ++ 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(); + } ++ public static class IdentityApiEndpointRouteBuilderExtensions { ++ public static IEndpointConventionBuilder MapIdentityApi(this IEndpointRouteBuilder endpoints) where TUser : class, new(); ++ } + public abstract class LinkGenerator { +- public abstract string GetUriByAddress(TAddress address, RouteValueDictionary values, string scheme, HostString host, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions options = null); ++ public abstract string? GetUriByAddress(TAddress address, RouteValueDictionary values, string scheme, HostString host, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions? options = null); + } + public static class LinkGeneratorEndpointNameAddressExtensions { +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static string? GetPathByName(this LinkGenerator generator, HttpContext httpContext, string endpointName, object? values, PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions? options = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static string? GetPathByName(this LinkGenerator generator, HttpContext httpContext, string endpointName, object? values, PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions? options = null); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static string? GetPathByName(this LinkGenerator generator, string endpointName, object? values, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions? options = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static string? GetPathByName(this LinkGenerator generator, string endpointName, object? values, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions? options = null); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static string? GetUriByName(this LinkGenerator generator, HttpContext httpContext, string endpointName, object? values, string? scheme = null, HostString? host = default(HostString?), PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions? options = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static string? GetUriByName(this LinkGenerator generator, HttpContext httpContext, string endpointName, object? values, string? scheme = null, HostString? host = default(HostString?), PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions? options = null); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static string? GetUriByName(this LinkGenerator generator, string endpointName, object? values, string scheme, HostString host, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions? options = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static string? GetUriByName(this LinkGenerator generator, string endpointName, object? values, string scheme, HostString host, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions? options = null); + } + public static class LinkGeneratorRouteValuesAddressExtensions { +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static string GetPathByRouteValues(this LinkGenerator generator, HttpContext httpContext, string routeName, object values, PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions options = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static string GetPathByRouteValues(this LinkGenerator generator, HttpContext httpContext, string routeName, object values, PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions options = null); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static string GetPathByRouteValues(this LinkGenerator generator, string routeName, object values, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions options = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static string GetPathByRouteValues(this LinkGenerator generator, string routeName, object values, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions options = null); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static string GetUriByRouteValues(this LinkGenerator generator, HttpContext httpContext, string routeName, object values, string scheme = null, HostString? host = default(HostString?), PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions options = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static string GetUriByRouteValues(this LinkGenerator generator, HttpContext httpContext, string routeName, object values, string scheme = null, HostString? host = default(HostString?), PathString? pathBase = default(PathString?), FragmentString fragment = default(FragmentString), LinkOptions options = null); +- [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Consider using a different overload to avoid this issue.")] +- public static string GetUriByRouteValues(this LinkGenerator generator, string routeName, object values, string scheme, HostString host, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions options = null); ++ [RequiresUnreferencedCodeAttribute("This API may perform reflection on supplied parameters which may be trimmed if not referenced directly. Initialize a RouteValueDictionary with route values to avoid this issue.")] ++ public static string GetUriByRouteValues(this LinkGenerator generator, string routeName, object values, string scheme, HostString host, PathString pathBase = default(PathString), FragmentString fragment = default(FragmentString), LinkOptions options = null); + } +- public class RouteData ++ [DebuggerDisplayAttribute("Count = {Values.Count}")] ++ [DebuggerTypeProxyAttribute(typeof(RouteData.RouteDataDebugView))] ++ public class RouteData ++ [EditorBrowsableAttribute(1)] ++ public static class RouteHandlerServices { ++ 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 static class RouteShortCircuitEndpointRouteBuilderExtensions { ++ public static IEndpointConventionBuilder MapShortCircuit(this IEndpointRouteBuilder builder, int statusCode, params string[] routePrefixes); ++ } +- 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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.HttpSys.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.HttpSys.md new file mode 100644 index 00000000000..c71578adf4a --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.HttpSys.md @@ -0,0 +1,47 @@ +# Microsoft.AspNetCore.Server.HttpSys + +``` diff + namespace Microsoft.AspNetCore.Server.HttpSys { + public class HttpSysOptions { ++ public bool EnableKernelResponseBuffering { get; set; } + } ++ 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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.IIS.Core.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.IIS.Core.md new file mode 100644 index 00000000000..900b004c5d2 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.IIS.Core.md @@ -0,0 +1,39 @@ +# Microsoft.AspNetCore.Server.IIS.Core + +``` diff +-namespace Microsoft.AspNetCore.Server.IIS.Core { +- [ObsoleteAttribute("The IISServerAuthenticationHandler is obsolete and will be removed in a future release.")] +- public class IISServerAuthenticationHandler : IAuthenticationHandler { +- public IISServerAuthenticationHandler(); +- public Task AuthenticateAsync(); +- public Task ChallengeAsync(AuthenticationProperties? properties); +- public Task ForbidAsync(AuthenticationProperties? properties); +- public Task InitializeAsync(AuthenticationScheme scheme, HttpContext context); +- } +- [ObsoleteAttribute("The ThrowingWasUpgradedWriteOnlyStream is obsolete and will be removed in a future release.")] +- public class ThrowingWasUpgradedWriteOnlyStream : WriteOnlyStream { +- public ThrowingWasUpgradedWriteOnlyStream(); +- public override void Flush(); +- public override long Seek(long offset, SeekOrigin origin); +- public override void SetLength(long value); +- public override void Write(byte[] buffer, int offset, int count); +- public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken); +- } +- [ObsoleteAttribute("The WriteOnlyStream is obsolete and will be removed in a future release.")] +- public abstract class WriteOnlyStream : Stream { +- protected WriteOnlyStream(); +- public override bool CanRead { get; } +- public override bool CanSeek { get; } +- public override bool CanWrite { get; } +- public override long Length { get; } +- public override long Position { get; set; } +- public override int ReadTimeout { get; set; } +- public override int Read(byte[] buffer, int offset, int count); +- public override Task ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken); +- public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken); +- public override long Seek(long offset, SeekOrigin origin); +- public override void SetLength(long value); +- } +-} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.IIS.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.IIS.md new file mode 100644 index 00000000000..78ccfe55a2c --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.IIS.md @@ -0,0 +1,18 @@ +# Microsoft.AspNetCore.Server.IIS + +``` diff + namespace Microsoft.AspNetCore.Server.IIS { ++ public interface IIISEnvironmentFeature { ++ string AppConfigPath { get; } ++ string ApplicationId { get; } ++ string ApplicationPhysicalPath { get; } ++ string ApplicationVirtualPath { get; } ++ string AppPoolConfigFile { get; } ++ string AppPoolId { get; } ++ Version IISVersion { get; } ++ uint SiteId { get; } ++ string SiteName { get; } ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.Features.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.Features.md new file mode 100644 index 00000000000..250b78a8f51 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.Features.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Server.Kestrel.Core.Features + +``` diff + namespace Microsoft.AspNetCore.Server.Kestrel.Core.Features { ++ public interface ISslStreamFeature { ++ SslStream SslStream { get; } ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.md new file mode 100644 index 00000000000..c37c7adc2dd --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.md @@ -0,0 +1,16 @@ +# Microsoft.AspNetCore.Server.Kestrel.Core + +``` diff + namespace Microsoft.AspNetCore.Server.Kestrel.Core { + public class KestrelServerOptions { ++ public bool AllowHostHeaderOverride { get; set; } ++ public void ListenNamedPipe(string pipeName); ++ public void ListenNamedPipe(string pipeName, Action configure); + } + public class ListenOptions : IConnectionBuilder, IMultiplexedConnectionBuilder { ++ public string? PipeName { get; } ++ protected internal ListenOptions Clone(IPAddress address); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.md new file mode 100644 index 00000000000..146505ccffe --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes + +``` diff ++namespace Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes { ++ public sealed class NamedPipeTransportOptions { ++ public NamedPipeTransportOptions(); ++ public bool CurrentUserOnly { get; set; } ++ public int ListenerQueueCount { get; set; } ++ public long? MaxReadBufferSize { get; set; } ++ public long? MaxWriteBufferSize { get; set; } ++ public PipeSecurity? PipeSecurity { get; set; } ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md new file mode 100644 index 00000000000..3e65df47434 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets + +``` diff + namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets { +- public sealed class SocketTransportFactory : IConnectionListenerFactory { ++ public sealed class SocketTransportFactory : IConnectionListenerFactory, IConnectionListenerFactorySelector { ++ public bool CanBind(EndPoint endpoint); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Session.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.Session.md new file mode 100644 index 00000000000..f55b600f42c --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.SignalR.Protocol.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.SignalR.Protocol.md new file mode 100644 index 00000000000..b93a6d23ae8 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_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/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.SignalR.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.SignalR.md new file mode 100644 index 00000000000..30dd0e89f1d --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.SignalR.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.SignalR + +``` diff + namespace Microsoft.AspNetCore.SignalR { + public class HubException : Exception { +- public HubException(SerializationInfo info, StreamingContext context); ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public HubException(SerializationInfo info, StreamingContext context); + } + public class HubOptions { ++ public long StatefulReconnectBufferSize { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.md new file mode 100644 index 00000000000..24d57d71b7f --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.AspNetCore.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore + +``` diff + namespace Microsoft.AspNetCore { + public static class WebHost { +- public static IWebHost Start(string url, RequestDelegate app); ++ public static IWebHost Start([StringSyntaxAttribute("Uri")] string url, RequestDelegate app); +- public static IWebHost Start(string url, Action routeBuilder); ++ public static IWebHost Start([StringSyntaxAttribute("Uri")] string url, Action routeBuilder); +- public static IWebHost StartWith(string url, Action app); ++ public static IWebHost StartWith([StringSyntaxAttribute("Uri")] string url, Action app); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Caching.Memory.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Caching.Memory.md new file mode 100644 index 00000000000..c7fb2507d72 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Caching.Memory.md @@ -0,0 +1,16 @@ +# Microsoft.Extensions.Caching.Memory + +``` diff + namespace Microsoft.Extensions.Caching.Memory { + public static class CacheEntryExtensions { +- public static ICacheEntry SetValue(this ICacheEntry entry, object value); ++ public static ICacheEntry SetValue(this ICacheEntry entry, object? value); + } + public class MemoryCacheOptions : IOptions { ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This property is retained only for compatibility. Remove use and instead call MemoryCache.Compact as needed.", true)] ++ public bool CompactOnMemoryPressure { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Configuration.Xml.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Configuration.Xml.md new file mode 100644 index 00000000000..5eee5837541 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Configuration.Xml.md @@ -0,0 +1,29 @@ +# Microsoft.Extensions.Configuration.Xml + +``` diff + namespace Microsoft.Extensions.Configuration.Xml { +- public class XmlConfigurationProvider : FileConfigurationProvider ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public class XmlConfigurationProvider : FileConfigurationProvider +- public class XmlConfigurationSource : FileConfigurationSource ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public class XmlConfigurationSource : FileConfigurationSource + public class XmlDocumentDecryptor { +- public XmlReader CreateDecryptingXmlReader(Stream input, XmlReaderSettings? settings); ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public XmlReader CreateDecryptingXmlReader(Stream input, XmlReaderSettings? settings); +- [UnsupportedOSPlatformAttribute("browser")] +- protected virtual XmlReader DecryptDocumentAndCreateXmlReader(XmlDocument document); ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ [UnsupportedOSPlatformAttribute("browser")] ++ protected virtual XmlReader DecryptDocumentAndCreateXmlReader(XmlDocument document); + } +- public class XmlStreamConfigurationProvider : StreamConfigurationProvider ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public class XmlStreamConfigurationProvider : StreamConfigurationProvider +- public class XmlStreamConfigurationSource : StreamConfigurationSource ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public class XmlStreamConfigurationSource : StreamConfigurationSource + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Configuration.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Configuration.md new file mode 100644 index 00000000000..179c4305323 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Configuration.md @@ -0,0 +1,30 @@ +# Microsoft.Extensions.Configuration + +``` diff + namespace Microsoft.Extensions.Configuration { +- public sealed class ConfigurationManager : IConfiguration, IConfigurationBuilder, IConfigurationRoot, IDisposable ++ public sealed class ConfigurationManager : IConfiguration, IConfigurationBuilder, IConfigurationManager, IConfigurationRoot, IDisposable ++ public interface IConfigurationManager : IConfiguration, IConfigurationBuilder + public static class XmlConfigurationExtensions { +- public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, IFileProvider? provider, string path, bool optional, bool reloadOnChange); ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, IFileProvider? provider, string path, bool optional, bool reloadOnChange); +- public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, Action? configureSource); ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, Action? configureSource); +- public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, string path); ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, string path); +- public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, string path, bool optional); ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, string path, bool optional); +- public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, string path, bool optional, bool reloadOnChange); ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public static IConfigurationBuilder AddXmlFile(this IConfigurationBuilder builder, string path, bool optional, bool reloadOnChange); +- public static IConfigurationBuilder AddXmlStream(this IConfigurationBuilder builder, Stream stream); ++ [RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")] ++ public static IConfigurationBuilder AddXmlStream(this IConfigurationBuilder builder, Stream stream); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.DependencyInjection.Extensions.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.DependencyInjection.Extensions.md new file mode 100644 index 00000000000..466354aa396 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.DependencyInjection.Extensions.md @@ -0,0 +1,30 @@ +# Microsoft.Extensions.DependencyInjection.Extensions + +``` diff + namespace Microsoft.Extensions.DependencyInjection.Extensions { + public static class ServiceCollectionDescriptorExtensions { ++ public static IServiceCollection RemoveAllKeyed(this IServiceCollection collection, Type serviceType, object? serviceKey); ++ public static IServiceCollection RemoveAllKeyed(this IServiceCollection collection, object? serviceKey); ++ public static void TryAddKeyedScoped(this IServiceCollection collection, Type service, object? serviceKey); ++ public static void TryAddKeyedScoped(this IServiceCollection collection, Type service, object? serviceKey, Func implementationFactory); ++ public static void TryAddKeyedScoped(this IServiceCollection collection, Type service, object? serviceKey, Type implementationType); ++ public static void TryAddKeyedScoped(this IServiceCollection collection, object? serviceKey) where TService : class where TImplementation : class, TService; ++ public static void TryAddKeyedScoped(this IServiceCollection collection, object? serviceKey) where TService : class; ++ public static void TryAddKeyedScoped(this IServiceCollection services, object? serviceKey, Func implementationFactory) where TService : class; ++ public static void TryAddKeyedSingleton(this IServiceCollection collection, Type service, object? serviceKey); ++ public static void TryAddKeyedSingleton(this IServiceCollection collection, Type service, object? serviceKey, Func implementationFactory); ++ public static void TryAddKeyedSingleton(this IServiceCollection collection, Type service, object? serviceKey, Type implementationType); ++ public static void TryAddKeyedSingleton(this IServiceCollection collection, object? serviceKey) where TService : class where TImplementation : class, TService; ++ public static void TryAddKeyedSingleton(this IServiceCollection collection, object? serviceKey) where TService : class; ++ public static void TryAddKeyedSingleton(this IServiceCollection services, object? serviceKey, Func implementationFactory) where TService : class; ++ public static void TryAddKeyedSingleton(this IServiceCollection collection, object? serviceKey, TService instance) where TService : class; ++ public static void TryAddKeyedTransient(this IServiceCollection collection, Type service, object? serviceKey); ++ public static void TryAddKeyedTransient(this IServiceCollection collection, Type service, object? serviceKey, Func implementationFactory); ++ public static void TryAddKeyedTransient(this IServiceCollection collection, Type service, object? serviceKey, Type implementationType); ++ public static void TryAddKeyedTransient(this IServiceCollection collection, object? serviceKey) where TService : class where TImplementation : class, TService; ++ public static void TryAddKeyedTransient(this IServiceCollection collection, object? serviceKey) where TService : class; ++ public static void TryAddKeyedTransient(this IServiceCollection services, object? serviceKey, Func implementationFactory) where TService : class; + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.DependencyInjection.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.DependencyInjection.md new file mode 100644 index 00000000000..27d321c75ac --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.DependencyInjection.md @@ -0,0 +1,241 @@ +# Microsoft.Extensions.DependencyInjection + +``` diff + namespace Microsoft.Extensions.DependencyInjection { + public static class ActivatorUtilities { ++ public static ObjectFactory CreateFactory(Type[] argumentTypes); + } ++ public static class BearerTokenExtensions { ++ public static AuthenticationBuilder AddBearerToken(this AuthenticationBuilder builder); ++ public static AuthenticationBuilder AddBearerToken(this AuthenticationBuilder builder, Action configure); ++ public static AuthenticationBuilder AddBearerToken(this AuthenticationBuilder builder, string authenticationScheme); ++ public static AuthenticationBuilder AddBearerToken(this AuthenticationBuilder builder, string authenticationScheme, Action configure); ++ } ++ public static class CascadingAuthenticationStateServiceCollectionExtensions { ++ public static IServiceCollection AddCascadingAuthenticationState(this IServiceCollection serviceCollection); ++ } ++ public static class CascadingValueServiceCollectionExtensions { ++ public static IServiceCollection AddCascadingValue(this IServiceCollection serviceCollection, Func> sourceFactory); ++ public static IServiceCollection AddCascadingValue(this IServiceCollection serviceCollection, Func initialValueFactory); ++ public static IServiceCollection AddCascadingValue(this IServiceCollection serviceCollection, string name, Func initialValueFactory); ++ public static void TryAddCascadingValue(this IServiceCollection serviceCollection, Func> sourceFactory); ++ public static void TryAddCascadingValue(this IServiceCollection serviceCollection, Func valueFactory); ++ public static void TryAddCascadingValue(this IServiceCollection serviceCollection, string name, Func valueFactory); ++ } + public static class ComponentServiceCollectionExtensions { +- public static IServerSideBlazorBuilder AddServerSideBlazor(this IServiceCollection services, Action? configure = null); ++ [RequiresUnreferencedCodeAttribute("Server-side Blazor does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IServerSideBlazorBuilder AddServerSideBlazor(this IServiceCollection services, Action? configure = null); + } + public static class ExceptionHandlerServiceCollectionExtensions { ++ public static IServiceCollection AddExceptionHandler(this IServiceCollection services) where T : class, IExceptionHandler; + } ++ [AttributeUsageAttribute(2048)] ++ public class FromKeyedServicesAttribute : Attribute { ++ public FromKeyedServicesAttribute(object key); ++ public object Key { get; } ++ } + public static class HttpClientBuilderExtensions { ++ public static IHttpClientBuilder AddDefaultLogger(this IHttpClientBuilder builder); ++ public static IHttpClientBuilder AddLogger(this IHttpClientBuilder builder, Func httpClientLoggerFactory, bool wrapHandlersPipeline = false); ++ public static IHttpClientBuilder AddLogger(this IHttpClientBuilder builder, bool wrapHandlersPipeline = false) where TLogger : IHttpClientLogger; ++ public static IHttpClientBuilder ConfigureAdditionalHttpMessageHandlers(this IHttpClientBuilder builder, Action, IServiceProvider> configureAdditionalHandlers); +- public static IHttpClientBuilder ConfigureHttpMessageHandlerBuilder(this IHttpClientBuilder builder, Action configureBuilder); ++ [ObsoleteAttribute("This method has been deprecated. Use ConfigurePrimaryHttpMessageHandler or ConfigureAdditionalHttpMessageHandlers instead.")] ++ public static IHttpClientBuilder ConfigureHttpMessageHandlerBuilder(this IHttpClientBuilder builder, Action configureBuilder); ++ public static IHttpClientBuilder ConfigurePrimaryHttpMessageHandler(this IHttpClientBuilder builder, Action configureHandler); ++ public static IHttpClientBuilder RemoveAllLoggers(this IHttpClientBuilder builder); ++ [UnsupportedOSPlatformAttribute("browser")] ++ public static IHttpClientBuilder UseSocketsHttpHandler(this IHttpClientBuilder builder, Action configureBuilder); ++ [UnsupportedOSPlatformAttribute("browser")] ++ public static IHttpClientBuilder UseSocketsHttpHandler(this IHttpClientBuilder builder, Action? configureHandler = null); + } + public static class HttpClientFactoryServiceCollectionExtensions { ++ public static IServiceCollection ConfigureHttpClientDefaults(this IServiceCollection services, Action configure); + } + public static class HttpLoggingServicesExtensions { ++ public static IServiceCollection AddHttpLoggingInterceptor(this IServiceCollection services) where T : class, IHttpLoggingInterceptor; + } + public static class IdentityServiceCollectionExtensions { +- public static IdentityBuilder AddIdentity(this IServiceCollection services) where TUser : class where TRole : class; ++ [RequiresUnreferencedCodeAttribute("Identity middleware does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IdentityBuilder AddIdentity(this IServiceCollection services) where TUser : class where TRole : class; +- public static IdentityBuilder AddIdentity(this IServiceCollection services, Action setupAction) where TUser : class where TRole : class; ++ [RequiresUnreferencedCodeAttribute("Identity middleware does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IdentityBuilder AddIdentity(this IServiceCollection services, Action setupAction) where TUser : class where TRole : class; ++ public static IdentityBuilder AddIdentityApiEndpoints(this IServiceCollection services) where TUser : class, new(); ++ public static IdentityBuilder AddIdentityApiEndpoints(this IServiceCollection services, Action configure) where TUser : class, new(); + } ++ public interface IKeyedServiceProvider : IServiceProvider { ++ object? GetKeyedService(Type serviceType, object? serviceKey); ++ object GetRequiredKeyedService(Type serviceType, object? serviceKey); ++ } ++ public interface IRazorComponentsBuilder { ++ IServiceCollection Services { get; } ++ } +- public interface IServerSideBlazorBuilder { ++ public interface IServerSideBlazorBuilder : IRazorComponentsBuilder { ++ IServiceCollection IRazorComponentsBuilder.Services { get; } +- IServiceCollection Services { get; } ++ new IServiceCollection Services { get; } + } ++ public interface IServiceProviderIsKeyedService : IServiceProviderIsService { ++ bool IsKeyedService(Type serviceType, object? serviceKey); ++ } ++ public interface ISocketsHttpHandlerBuilder { ++ string Name { get; } ++ IServiceCollection Services { get; } ++ } ++ public static class KeyedService { ++ public static object AnyKey { get; } ++ } ++ public static class MetricsServiceExtensions { ++ public static IServiceCollection AddMetrics(this IServiceCollection services); ++ public static IServiceCollection AddMetrics(this IServiceCollection services, Action configure); ++ } + public static class MvcRazorPagesMvcCoreBuilderExtensions { +- public static IMvcCoreBuilder AddRazorPages(this IMvcCoreBuilder builder); ++ [RequiresUnreferencedCodeAttribute("Razor Pages does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IMvcCoreBuilder AddRazorPages(this IMvcCoreBuilder builder); + } + public static class MvcServiceCollectionExtensions { +- public static IMvcBuilder AddControllers(this IServiceCollection services); ++ [RequiresUnreferencedCodeAttribute("MVC does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IMvcBuilder AddControllers(this IServiceCollection services); +- public static IMvcBuilder AddControllers(this IServiceCollection services, Action? configure); ++ [RequiresUnreferencedCodeAttribute("MVC does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IMvcBuilder AddControllers(this IServiceCollection services, Action? configure); +- public static IMvcBuilder AddControllersWithViews(this IServiceCollection services); ++ [RequiresUnreferencedCodeAttribute("MVC does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IMvcBuilder AddControllersWithViews(this IServiceCollection services); +- public static IMvcBuilder AddControllersWithViews(this IServiceCollection services, Action? configure); ++ [RequiresUnreferencedCodeAttribute("MVC does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IMvcBuilder AddControllersWithViews(this IServiceCollection services, Action? configure); +- public static IMvcBuilder AddMvc(this IServiceCollection services); ++ [RequiresUnreferencedCodeAttribute("MVC does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IMvcBuilder AddMvc(this IServiceCollection services); +- public static IMvcBuilder AddMvc(this IServiceCollection services, Action setupAction); ++ [RequiresUnreferencedCodeAttribute("MVC does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IMvcBuilder AddMvc(this IServiceCollection services, Action setupAction); +- public static IMvcBuilder AddRazorPages(this IServiceCollection services); ++ [RequiresUnreferencedCodeAttribute("Razor Pages does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IMvcBuilder AddRazorPages(this IServiceCollection services); +- public static IMvcBuilder AddRazorPages(this IServiceCollection services, Action? configure); ++ [RequiresUnreferencedCodeAttribute("Razor Pages does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IMvcBuilder AddRazorPages(this IServiceCollection services, Action? configure); + } ++ public delegate T ObjectFactory(IServiceProvider serviceProvider, object?[]? arguments); + public static class OptionsServiceCollectionExtensions { ++ public static OptionsBuilder AddOptionsWithValidateOnStart(this IServiceCollection services, string? name = null) where TOptions : class where TValidateOptions : class, IValidateOptions; ++ public static OptionsBuilder AddOptionsWithValidateOnStart(this IServiceCollection services, string? name = null) where TOptions : class; + } ++ public static class RazorComponentsServiceCollectionExtensions { ++ [RequiresUnreferencedCodeAttribute("Razor Components does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/nativeaot")] ++ public static IRazorComponentsBuilder AddRazorComponents(this IServiceCollection services, Action? configure = null); ++ } ++ public static class RequestTimeoutsIServiceCollectionExtensions { ++ public static IServiceCollection AddRequestTimeouts(this IServiceCollection services); ++ public static IServiceCollection AddRequestTimeouts(this IServiceCollection services, Action configure); ++ } + public static class RoutingServiceCollectionExtensions { ++ public static IServiceCollection AddRoutingCore(this IServiceCollection services); + } ++ public static class ServerRazorComponentsBuilderExtensions { ++ [RequiresUnreferencedCodeAttribute("Server-side Blazor does not currently support native AOT.", Url="https://aka.ms/aspnet/nativeaot")] ++ public static IServerSideBlazorBuilder AddInteractiveServerComponents(this IRazorComponentsBuilder builder, Action? configure = null); ++ } + public static class ServiceCollectionServiceExtensions { ++ public static IServiceCollection AddKeyedScoped(this IServiceCollection services, Type serviceType, object? serviceKey); ++ public static IServiceCollection AddKeyedScoped(this IServiceCollection services, Type serviceType, object? serviceKey, Func implementationFactory); ++ public static IServiceCollection AddKeyedScoped(this IServiceCollection services, Type serviceType, object? serviceKey, Type implementationType); ++ public static IServiceCollection AddKeyedScoped(this IServiceCollection services, object? serviceKey) where TService : class where TImplementation : class, TService; ++ public static IServiceCollection AddKeyedScoped(this IServiceCollection services, object? serviceKey, Func implementationFactory) where TService : class where TImplementation : class, TService; ++ public static IServiceCollection AddKeyedScoped(this IServiceCollection services, object? serviceKey) where TService : class; ++ public static IServiceCollection AddKeyedScoped(this IServiceCollection services, object? serviceKey, Func implementationFactory) where TService : class; ++ public static IServiceCollection AddKeyedSingleton(this IServiceCollection services, Type serviceType, object? serviceKey); ++ public static IServiceCollection AddKeyedSingleton(this IServiceCollection services, Type serviceType, object? serviceKey, Func implementationFactory); ++ public static IServiceCollection AddKeyedSingleton(this IServiceCollection services, Type serviceType, object? serviceKey, object implementationInstance); ++ public static IServiceCollection AddKeyedSingleton(this IServiceCollection services, Type serviceType, object? serviceKey, Type implementationType); ++ public static IServiceCollection AddKeyedSingleton(this IServiceCollection services, object? serviceKey) where TService : class where TImplementation : class, TService; ++ public static IServiceCollection AddKeyedSingleton(this IServiceCollection services, object? serviceKey, Func implementationFactory) where TService : class where TImplementation : class, TService; ++ public static IServiceCollection AddKeyedSingleton(this IServiceCollection services, object? serviceKey) where TService : class; ++ public static IServiceCollection AddKeyedSingleton(this IServiceCollection services, object? serviceKey, Func implementationFactory) where TService : class; ++ public static IServiceCollection AddKeyedSingleton(this IServiceCollection services, object? serviceKey, TService implementationInstance) where TService : class; ++ public static IServiceCollection AddKeyedTransient(this IServiceCollection services, Type serviceType, object? serviceKey); ++ public static IServiceCollection AddKeyedTransient(this IServiceCollection services, Type serviceType, object? serviceKey, Func implementationFactory); ++ public static IServiceCollection AddKeyedTransient(this IServiceCollection services, Type serviceType, object? serviceKey, Type implementationType); ++ public static IServiceCollection AddKeyedTransient(this IServiceCollection services, object? serviceKey) where TService : class where TImplementation : class, TService; ++ public static IServiceCollection AddKeyedTransient(this IServiceCollection services, object? serviceKey, Func implementationFactory) where TService : class where TImplementation : class, TService; ++ public static IServiceCollection AddKeyedTransient(this IServiceCollection services, object? serviceKey) where TService : class; ++ public static IServiceCollection AddKeyedTransient(this IServiceCollection services, object? serviceKey, Func implementationFactory) where TService : class; + } + public class ServiceDescriptor { ++ public ServiceDescriptor(Type serviceType, object? serviceKey, Func factory, ServiceLifetime lifetime); ++ public ServiceDescriptor(Type serviceType, object? serviceKey, object instance); ++ public ServiceDescriptor(Type serviceType, object? serviceKey, Type implementationType, ServiceLifetime lifetime); ++ public bool IsKeyedService { get; } ++ public Func? KeyedImplementationFactory { get; } ++ public object? KeyedImplementationInstance { get; } ++ public Type? KeyedImplementationType { get; } ++ public object? ServiceKey { get; } ++ public static ServiceDescriptor DescribeKeyed(Type serviceType, object? serviceKey, Func implementationFactory, ServiceLifetime lifetime); ++ public static ServiceDescriptor DescribeKeyed(Type serviceType, object? serviceKey, Type implementationType, ServiceLifetime lifetime); ++ public static ServiceDescriptor KeyedScoped(Type service, object? serviceKey, Func implementationFactory); ++ public static ServiceDescriptor KeyedScoped(Type service, object? serviceKey, Type implementationType); ++ public static ServiceDescriptor KeyedScoped(object? serviceKey) where TService : class where TImplementation : class, TService; ++ public static ServiceDescriptor KeyedScoped(object? serviceKey, Func implementationFactory) where TService : class where TImplementation : class, TService; ++ public static ServiceDescriptor KeyedScoped(object? serviceKey, Func implementationFactory) where TService : class; ++ public static ServiceDescriptor KeyedSingleton(Type serviceType, object? serviceKey, Func implementationFactory); ++ public static ServiceDescriptor KeyedSingleton(Type serviceType, object? serviceKey, object implementationInstance); ++ public static ServiceDescriptor KeyedSingleton(Type service, object? serviceKey, Type implementationType); ++ public static ServiceDescriptor KeyedSingleton(object? serviceKey) where TService : class where TImplementation : class, TService; ++ public static ServiceDescriptor KeyedSingleton(object? serviceKey, Func implementationFactory) where TService : class where TImplementation : class, TService; ++ public static ServiceDescriptor KeyedSingleton(object? serviceKey, Func implementationFactory) where TService : class; ++ public static ServiceDescriptor KeyedSingleton(object? serviceKey, TService implementationInstance) where TService : class; ++ public static ServiceDescriptor KeyedTransient(Type service, object? serviceKey, Func implementationFactory); ++ public static ServiceDescriptor KeyedTransient(Type service, object? serviceKey, Type implementationType); ++ public static ServiceDescriptor KeyedTransient(object? serviceKey) where TService : class where TImplementation : class, TService; ++ public static ServiceDescriptor KeyedTransient(object? serviceKey, Func implementationFactory) where TService : class where TImplementation : class, TService; ++ public static ServiceDescriptor KeyedTransient(object? serviceKey, Func implementationFactory) where TService : class; + } ++ [AttributeUsageAttribute(2048)] ++ public class ServiceKeyAttribute : Attribute { ++ public ServiceKeyAttribute(); ++ } +- public sealed class ServiceProvider : IAsyncDisposable, IDisposable, IServiceProvider { ++ public sealed class ServiceProvider : IAsyncDisposable, IDisposable, IKeyedServiceProvider, IServiceProvider { ++ public object? GetKeyedService(Type serviceType, object? serviceKey); ++ public object GetRequiredKeyedService(Type serviceType, object? serviceKey); + } ++ public static class ServiceProviderKeyedServiceExtensions { ++ public static T? GetKeyedService(this IServiceProvider provider, object? serviceKey); ++ public static IEnumerable GetKeyedServices(this IServiceProvider provider, Type serviceType, object? serviceKey); ++ public static IEnumerable GetKeyedServices(this IServiceProvider provider, object? serviceKey); ++ public static object GetRequiredKeyedService(this IServiceProvider provider, Type serviceType, object? serviceKey); ++ public static T GetRequiredKeyedService(this IServiceProvider provider, object? serviceKey); ++ } + public static class SessionServiceCollectionExtensions { +- public static IServiceCollection AddSession(this IServiceCollection services); ++ [RequiresUnreferencedCodeAttribute("Session State middleware does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IServiceCollection AddSession(this IServiceCollection services); +- public static IServiceCollection AddSession(this IServiceCollection services, Action configure); ++ [RequiresUnreferencedCodeAttribute("Session State middleware does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static IServiceCollection AddSession(this IServiceCollection services, Action configure); + } + public static class SignalRDependencyInjectionExtensions { +- public static ISignalRServerBuilder AddSignalR(this IServiceCollection services); ++ [RequiresUnreferencedCodeAttribute("SignalR does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static ISignalRServerBuilder AddSignalR(this IServiceCollection services); +- public static ISignalRServerBuilder AddSignalR(this IServiceCollection services, Action configure); ++ [RequiresUnreferencedCodeAttribute("SignalR does not currently support trimming or native AOT.", Url="https://aka.ms/aspnet/trimming")] ++ public static ISignalRServerBuilder AddSignalR(this IServiceCollection services, Action configure); + } ++ public static class SocketsHttpHandlerBuilderExtensions { ++ [UnsupportedOSPlatformAttribute("browser")] ++ public static ISocketsHttpHandlerBuilder Configure(this ISocketsHttpHandlerBuilder builder, IConfiguration configuration); ++ [UnsupportedOSPlatformAttribute("browser")] ++ public static ISocketsHttpHandlerBuilder Configure(this ISocketsHttpHandlerBuilder builder, Action configure); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Diagnostics.HealthChecks.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Diagnostics.HealthChecks.md new file mode 100644 index 00000000000..58fbc7d7cfc --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Diagnostics.HealthChecks.md @@ -0,0 +1,11 @@ +# Microsoft.Extensions.Diagnostics.HealthChecks + +``` diff + namespace Microsoft.Extensions.Diagnostics.HealthChecks { + public sealed class HealthCheckRegistration { ++ public TimeSpan? Delay { get; set; } ++ public TimeSpan? Period { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Diagnostics.Metrics.Configuration.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Diagnostics.Metrics.Configuration.md new file mode 100644 index 00000000000..981ca7827c3 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Diagnostics.Metrics.Configuration.md @@ -0,0 +1,10 @@ +# Microsoft.Extensions.Diagnostics.Metrics.Configuration + +``` diff ++namespace Microsoft.Extensions.Diagnostics.Metrics.Configuration { ++ public interface IMetricListenerConfigurationFactory { ++ IConfiguration GetConfiguration(string listenerName); ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Diagnostics.Metrics.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Diagnostics.Metrics.md new file mode 100644 index 00000000000..913360e3625 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Diagnostics.Metrics.md @@ -0,0 +1,70 @@ +# Microsoft.Extensions.Diagnostics.Metrics + +``` diff ++namespace Microsoft.Extensions.Diagnostics.Metrics { ++ public static class ConsoleMetrics { ++ public static string DebugListenerName { get; } ++ } ++ public interface IMetricsBuilder { ++ IServiceCollection Services { get; } ++ } ++ public interface IMetricsListener { ++ string Name { get; } ++ MeasurementHandlers GetMeasurementHandlers(); ++ void Initialize(IObservableInstrumentsSource source); ++ bool InstrumentPublished(Instrument instrument, out object? userState); ++ void MeasurementsCompleted(Instrument instrument, object? userState); ++ } ++ public class InstrumentRule { ++ public InstrumentRule(string meterName, string instrumentName, string listenerName, MeterScope scopes, bool enable); ++ public bool Enable { get; } ++ public string InstrumentName { get; } ++ public string ListenerName { get; } ++ public string MeterName { get; } ++ public MeterScope Scopes { get; } ++ } ++ public interface IObservableInstrumentsSource { ++ void RecordObservableInstruments(); ++ } ++ public class MeasurementHandlers { ++ public MeasurementHandlers(); ++ public MeasurementCallback ByteHandler { get; set; } ++ public MeasurementCallback DecimalHandler { get; set; } ++ public MeasurementCallback DoubleHandler { get; set; } ++ public MeasurementCallback FloatHandler { get; set; } ++ public MeasurementCallback IntHandler { get; set; } ++ public MeasurementCallback LongHandler { get; set; } ++ public MeasurementCallback ShortHandler { get; set; } ++ } ++ [FlagsAttribute] ++ public enum MeterScope { ++ Global = 1, ++ Local = 2, ++ None = 0, ++ } ++ public static class MetricsBuilderConfigurationExtensions { ++ public static IMetricsBuilder AddConfiguration(this IMetricsBuilder builder, IConfiguration configuration); ++ } ++ public static class MetricsBuilderConsoleExtensions { ++ public static IMetricsBuilder AddDebugConsole(this IMetricsBuilder builder); ++ } ++ public static class MetricsBuilderExtensions { ++ public static IMetricsBuilder AddListener(this IMetricsBuilder builder, IMetricsListener listener); ++ public static IMetricsBuilder AddListener(this IMetricsBuilder builder) where T : class, IMetricsListener; ++ public static IMetricsBuilder ClearListeners(this IMetricsBuilder builder); ++ public static IMetricsBuilder DisableMetrics(this IMetricsBuilder builder, string? meterName); ++ public static IMetricsBuilder DisableMetrics(this IMetricsBuilder builder, string? meterName, string? instrumentName = null, string? listenerName = null, MeterScope scopes = MeterScope.Global | MeterScope.Local); ++ public static MetricsOptions DisableMetrics(this MetricsOptions options, string? meterName); ++ public static MetricsOptions DisableMetrics(this MetricsOptions options, string? meterName, string? instrumentName = null, string? listenerName = null, MeterScope scopes = MeterScope.Global | MeterScope.Local); ++ public static IMetricsBuilder EnableMetrics(this IMetricsBuilder builder, string? meterName); ++ public static IMetricsBuilder EnableMetrics(this IMetricsBuilder builder, string? meterName, string? instrumentName = null, string? listenerName = null, MeterScope scopes = MeterScope.Global | MeterScope.Local); ++ public static MetricsOptions EnableMetrics(this MetricsOptions options, string? meterName); ++ public static MetricsOptions EnableMetrics(this MetricsOptions options, string? meterName, string? instrumentName = null, string? listenerName = null, MeterScope scopes = MeterScope.Global | MeterScope.Local); ++ } ++ public class MetricsOptions { ++ public MetricsOptions(); ++ public IList Rules { get; } ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.FileProviders.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.FileProviders.md new file mode 100644 index 00000000000..0f2133c478c --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.FileProviders.md @@ -0,0 +1,12 @@ +# Microsoft.Extensions.FileProviders + +``` diff + namespace Microsoft.Extensions.FileProviders { + public class EmbeddedFileProvider : IFileProvider { +- public EmbeddedFileProvider(Assembly assembly, string? baseNamespace); ++ [UnconditionalSuppressMessageAttribute("SingleFile", "IL3000:Assembly.Location", Justification="The code handles if the Assembly.Location is empty. Workaround https://github.com/dotnet/runtime/issues/83607")] ++ public EmbeddedFileProvider(Assembly assembly, string? baseNamespace); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Hosting.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Hosting.md new file mode 100644 index 00000000000..b988d199c95 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Hosting.md @@ -0,0 +1,44 @@ +# Microsoft.Extensions.Hosting + +``` diff + namespace Microsoft.Extensions.Hosting { + public static class GenericHostWebHostBuilderExtensions { ++ public static IHostBuilder ConfigureSlimWebHost(this IHostBuilder builder, Action configure, Action configureWebHostBuilder); + } + public static class Host { ++ public static HostApplicationBuilder CreateApplicationBuilder(HostApplicationBuilderSettings? settings); ++ public static HostApplicationBuilder CreateEmptyApplicationBuilder(HostApplicationBuilderSettings? settings); + } +- public sealed class HostApplicationBuilder { ++ public sealed class HostApplicationBuilder : IHostApplicationBuilder { ++ public IMetricsBuilder Metrics { get; } ++ IConfigurationManager IHostApplicationBuilder.Configuration { get; } ++ IDictionary IHostApplicationBuilder.Properties { get; } + } + public static class HostingHostBuilderExtensions { ++ public static IHostBuilder ConfigureMetrics(this IHostBuilder hostBuilder, Action configureMetrics); ++ public static IHostBuilder ConfigureMetrics(this IHostBuilder hostBuilder, Action configureMetrics); + } + public class HostOptions { ++ public bool ServicesStartConcurrently { get; set; } ++ public bool ServicesStopConcurrently { get; set; } ++ public TimeSpan StartupTimeout { get; set; } + } ++ public interface IHostApplicationBuilder { ++ IConfigurationManager Configuration { get; } ++ IHostEnvironment Environment { get; } ++ ILoggingBuilder Logging { get; } ++ IMetricsBuilder Metrics { get; } ++ IDictionary Properties { get; } ++ IServiceCollection Services { get; } ++ void ConfigureContainer(IServiceProviderFactory factory, Action? configure = null); ++ } ++ public interface IHostedLifecycleService : IHostedService { ++ Task StartedAsync(CancellationToken cancellationToken); ++ Task StartingAsync(CancellationToken cancellationToken); ++ Task StoppedAsync(CancellationToken cancellationToken); ++ Task StoppingAsync(CancellationToken cancellationToken); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Http.Logging.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Http.Logging.md new file mode 100644 index 00000000000..de6de158168 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Http.Logging.md @@ -0,0 +1,17 @@ +# Microsoft.Extensions.Http.Logging + +``` diff + namespace Microsoft.Extensions.Http.Logging { ++ public interface IHttpClientAsyncLogger : IHttpClientLogger { ++ ValueTask LogRequestFailedAsync(object? context, HttpRequestMessage request, HttpResponseMessage? response, Exception exception, TimeSpan elapsed, CancellationToken cancellationToken = default(CancellationToken)); ++ ValueTask LogRequestStartAsync(HttpRequestMessage request, CancellationToken cancellationToken = default(CancellationToken)); ++ ValueTask LogRequestStopAsync(object? context, HttpRequestMessage request, HttpResponseMessage response, TimeSpan elapsed, CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public interface IHttpClientLogger { ++ void LogRequestFailed(object? context, HttpRequestMessage request, HttpResponseMessage? response, Exception exception, TimeSpan elapsed); ++ object? LogRequestStart(HttpRequestMessage request); ++ void LogRequestStop(object? context, HttpRequestMessage request, HttpResponseMessage response, TimeSpan elapsed); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Logging.Console.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Logging.Console.md new file mode 100644 index 00000000000..b640eba95f1 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Logging.Console.md @@ -0,0 +1,35 @@ +# Microsoft.Extensions.Logging.Console + +``` diff + namespace Microsoft.Extensions.Logging.Console { ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions.")] ++ public class ConfigurationConsoleLoggerSettings : IConsoleLoggerSettings { ++ public ConfigurationConsoleLoggerSettings(IConfiguration configuration); ++ public IChangeToken? ChangeToken { get; } ++ public bool IncludeScopes { get; } ++ public IConsoleLoggerSettings Reload(); ++ public bool TryGetSwitch(string name, out LogLevel level); ++ } ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions.", true)] ++ public class ConsoleLoggerSettings : IConsoleLoggerSettings { ++ public ConsoleLoggerSettings(); ++ public IChangeToken? ChangeToken { get; set; } ++ public bool DisableColors { get; set; } ++ public bool IncludeScopes { get; set; } ++ public IDictionary Switches { get; set; } ++ public IConsoleLoggerSettings Reload(); ++ public bool TryGetSwitch(string name, out LogLevel level); ++ } ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions.", true)] ++ public interface IConsoleLoggerSettings { ++ IChangeToken? ChangeToken { get; } ++ bool IncludeScopes { get; } ++ IConsoleLoggerSettings Reload(); ++ bool TryGetSwitch(string name, out LogLevel level); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Logging.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Logging.md new file mode 100644 index 00000000000..4891e96352d --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Logging.md @@ -0,0 +1,81 @@ +# Microsoft.Extensions.Logging + +``` diff + namespace Microsoft.Extensions.Logging { + [UnsupportedOSPlatformAttribute("browser")] + public static class ConsoleLoggerExtensions { ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddConsole(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddConsole(this ILoggerFactory factory); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddConsole(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddConsole(this ILoggerFactory factory, IConfiguration configuration); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddConsole(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddConsole(this ILoggerFactory factory, IConsoleLoggerSettings settings); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddConsole(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddConsole(this ILoggerFactory factory, LogLevel minLevel); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddConsole(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddConsole(this ILoggerFactory factory, LogLevel minLevel, bool includeScopes); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddConsole(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddConsole(this ILoggerFactory factory, bool includeScopes); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddConsole(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddConsole(this ILoggerFactory factory, Func filter); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddConsole(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddConsole(this ILoggerFactory factory, Func filter, bool includeScopes); + } + public static class DebugLoggerFactoryExtensions { ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddDebug(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddDebug(this ILoggerFactory factory); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddDebug(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddDebug(this ILoggerFactory factory, LogLevel minLevel); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddDebug(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddDebug(this ILoggerFactory factory, Func filter); + } + public static class EventLoggerFactoryExtensions { ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddEventLog(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddEventLog(this ILoggerFactory factory); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddEventLog(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddEventLog(this ILoggerFactory factory, EventLogSettings settings); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddEventLog(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddEventLog(this ILoggerFactory factory, LogLevel minLevel); + } + public static class EventSourceLoggerFactoryExtensions { ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddEventSourceLogger(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddEventSourceLogger(this ILoggerFactory factory); + } + [AttributeUsageAttribute(64)] + public sealed class LoggerMessageAttribute : Attribute { ++ public LoggerMessageAttribute(LogLevel level); ++ public LoggerMessageAttribute(LogLevel level, string message); ++ public LoggerMessageAttribute(string message); + } + public static class TraceSourceFactoryExtensions { ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddTraceSource(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddTraceSource(this ILoggerFactory factory, SourceSwitch sourceSwitch); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddTraceSource(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddTraceSource(this ILoggerFactory factory, SourceSwitch sourceSwitch, TraceListener listener); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddTraceSource(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddTraceSource(this ILoggerFactory factory, string switchName); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This method is retained only for compatibility. The recommended alternative is AddTraceSource(this ILoggingBuilder builder).", true)] ++ public static ILoggerFactory AddTraceSource(this ILoggerFactory factory, string switchName, TraceListener listener); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.ObjectPool.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.ObjectPool.md new file mode 100644 index 00000000000..5eb41a19258 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.ObjectPool.md @@ -0,0 +1,10 @@ +# Microsoft.Extensions.ObjectPool + +``` diff + namespace Microsoft.Extensions.ObjectPool { ++ public interface IResettable { ++ bool TryReset(); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Options.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Options.md new file mode 100644 index 00000000000..f9e6370cd4a --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Options.md @@ -0,0 +1,35 @@ +# Microsoft.Extensions.Options + +``` diff + namespace Microsoft.Extensions.Options { ++ public interface IStartupValidator { ++ void Validate(); ++ } ++ [AttributeUsageAttribute(12)] ++ public sealed class OptionsValidatorAttribute : Attribute { ++ public OptionsValidatorAttribute(); ++ } ++ [AttributeUsageAttribute(384)] ++ public sealed class ValidateEnumeratedItemsAttribute : Attribute { ++ public ValidateEnumeratedItemsAttribute(); ++ public ValidateEnumeratedItemsAttribute(Type validator); ++ public Type Validator { get; } ++ } ++ [AttributeUsageAttribute(384)] ++ public sealed class ValidateObjectMembersAttribute : Attribute { ++ public ValidateObjectMembersAttribute(); ++ public ValidateObjectMembersAttribute(Type validator); ++ public Type Validator { get; } ++ } ++ public class ValidateOptionsResultBuilder { ++ public ValidateOptionsResultBuilder(); ++ public void AddError(string error, string? propertyName = null); ++ public void AddResult(ValidateOptionsResult result); ++ public void AddResult(ValidationResult? result); ++ public void AddResults(IEnumerable? results); ++ public ValidateOptionsResult Build(); ++ public void Clear(); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Primitives.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Primitives.md new file mode 100644 index 00000000000..adfc5e4b276 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Extensions.Primitives.md @@ -0,0 +1,18 @@ +# Microsoft.Extensions.Primitives + +``` diff + namespace Microsoft.Extensions.Primitives { ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This type is retained only for compatibility. The recommended alternative is string.Create (int length, TState state, System.Buffers.SpanAction action).", true)] ++ public struct InplaceStringBuilder { ++ public InplaceStringBuilder(int capacity); ++ public int Capacity { get; set; } ++ public void Append(StringSegment segment); ++ public void Append(char c); ++ public void Append(string value); ++ public void Append(string value, int offset, int count); ++ public override string ToString(); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.JSInterop.Infrastructure.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.JSInterop.Infrastructure.md new file mode 100644 index 00000000000..bd0e978e491 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.JSInterop.Infrastructure.md @@ -0,0 +1,17 @@ +# Microsoft.JSInterop.Infrastructure + +``` diff + namespace Microsoft.JSInterop.Infrastructure { + public static class DotNetDispatcher { +- [UnconditionalSuppressMessageAttribute("Trimming", "IL2026", Justification="We expect application code is configured to ensure return types of JSInvokable methods are retained.")] +- public static void BeginInvokeDotNet(JSRuntime jsRuntime, DotNetInvocationInfo invocationInfo, string argsJson); ++ [UnconditionalSuppressMessageAttribute("Trimming", "IL2026", Justification="We expect application code is configured to ensure return types of JSInvokable methods are retained.")] ++ public static void BeginInvokeDotNet(JSRuntime jsRuntime, DotNetInvocationInfo invocationInfo, [StringSyntaxAttribute("Json")] string argsJson); +- [UnconditionalSuppressMessageAttribute("Trimming", "IL2026", Justification="We expect application code is configured to ensure return types of JSInvokable methods are retained.")] +- public static string? Invoke(JSRuntime jsRuntime, in DotNetInvocationInfo invocationInfo, string argsJson); ++ [UnconditionalSuppressMessageAttribute("Trimming", "IL2026", Justification="We expect application code is configured to ensure return types of JSInvokable methods are retained.")] ++ public static string? Invoke(JSRuntime jsRuntime, in DotNetInvocationInfo invocationInfo, [StringSyntaxAttribute("Json")] string argsJson); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.JSInterop.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.JSInterop.md new file mode 100644 index 00000000000..c83dcc218fc --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.JSInterop.md @@ -0,0 +1,19 @@ +# Microsoft.JSInterop + +``` diff + namespace Microsoft.JSInterop { + public abstract class JSInProcessRuntime : JSRuntime, IJSInProcessRuntime, IJSRuntime { +- protected virtual string? InvokeJS(string identifier, string? argsJson); ++ protected virtual string? InvokeJS(string identifier, [StringSyntaxAttribute("Json")] string? argsJson); +- protected abstract string? InvokeJS(string identifier, string? argsJson, JSCallResultType resultType, long targetInstanceId); ++ protected abstract string? InvokeJS(string identifier, [StringSyntaxAttribute("Json")] string? argsJson, JSCallResultType resultType, long targetInstanceId); + } + public abstract class JSRuntime : IDisposable, IJSRuntime { +- protected virtual void BeginInvokeJS(long taskId, string identifier, string? argsJson); ++ protected virtual void BeginInvokeJS(long taskId, string identifier, [StringSyntaxAttribute("Json")] string? argsJson); +- protected abstract void BeginInvokeJS(long taskId, string identifier, string? argsJson, JSCallResultType resultType, long targetInstanceId); ++ protected abstract void BeginInvokeJS(long taskId, string identifier, [StringSyntaxAttribute("Json")] string? argsJson, JSCallResultType resultType, long targetInstanceId); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Net.Http.Headers.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Net.Http.Headers.md new file mode 100644 index 00000000000..b28cd90a1e2 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_Microsoft.Net.Http.Headers.md @@ -0,0 +1,23 @@ +# Microsoft.Net.Http.Headers + +``` diff + namespace Microsoft.Net.Http.Headers { + public class ContentRangeHeaderValue { +- public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out ContentRangeHeaderValue parsedValue); ++ public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out ContentRangeHeaderValue? parsedValue); + } + public class EntityTagHeaderValue { +- public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out EntityTagHeaderValue parsedValue); ++ public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out EntityTagHeaderValue? parsedValue); + } + public class RangeHeaderValue { +- public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out RangeHeaderValue parsedValue); ++ public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out RangeHeaderValue? parsedValue); + } + public class StringWithQualityHeaderValue { +- public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out StringWithQualityHeaderValue parsedValue); ++ public static bool TryParse(StringSegment input, [NotNullWhenAttribute(true)] out StringWithQualityHeaderValue? parsedValue); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_System.Diagnostics.Eventing.Reader.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_System.Diagnostics.Eventing.Reader.md new file mode 100644 index 00000000000..e3f09e09504 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_System.Diagnostics.Eventing.Reader.md @@ -0,0 +1,41 @@ +# System.Diagnostics.Eventing.Reader + +``` diff + namespace System.Diagnostics.Eventing.Reader { + public class EventLogException : Exception { +- protected EventLogException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogException(SerializationInfo serializationInfo, StreamingContext streamingContext); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class EventLogInvalidDataException : EventLogException { +- protected EventLogInvalidDataException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogInvalidDataException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class EventLogNotFoundException : EventLogException { +- protected EventLogNotFoundException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogNotFoundException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class EventLogProviderDisabledException : EventLogException { +- protected EventLogProviderDisabledException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogProviderDisabledException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class EventLogReadingException : EventLogException { +- protected EventLogReadingException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogReadingException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_System.Security.Cryptography.Xml.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_System.Security.Cryptography.Xml.md new file mode 100644 index 00000000000..5dfdedc0aff --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.AspNetCore.App/8.0.0_System.Security.Cryptography.Xml.md @@ -0,0 +1,242 @@ +# System.Security.Cryptography.Xml + +``` diff + namespace System.Security.Cryptography.Xml { + public sealed class CipherData { +- public CipherReference CipherReference { get; set; } ++ [DisallowNullAttribute] ++ public CipherReference CipherReference { get; set; } +- public byte[] CipherValue { get; set; } ++ [DisallowNullAttribute] ++ public byte[] CipherValue { get; set; } +- public void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public void LoadXml(XmlElement value); + } + public sealed class CipherReference : EncryptedReference { +- public override void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public override void LoadXml(XmlElement value); + } + public sealed class EncryptedData : EncryptedType { +- public override void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public override void LoadXml(XmlElement value); + } + public sealed class EncryptedKey : EncryptedType { +- public string CarriedKeyName { get; set; } ++ public string? CarriedKeyName { get; set; } +- public string Recipient { get; set; } ++ [AllowNullAttribute] ++ public string Recipient { get; set; } +- public override void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public override void LoadXml(XmlElement value); + } + public abstract class EncryptedReference { +- protected string ReferenceType { get; set; } ++ protected string? ReferenceType { get; set; } +- public virtual void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public virtual void LoadXml(XmlElement value); + } + public abstract class EncryptedType { +- public KeyInfo KeyInfo { get; set; } ++ [AllowNullAttribute] ++ public KeyInfo KeyInfo { get; set; } +- public abstract void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public abstract void LoadXml(XmlElement value); + } + public class EncryptedXml { +- public EncryptedXml(); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public EncryptedXml(); +- public EncryptedXml(XmlDocument document); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public EncryptedXml(XmlDocument document); +- public EncryptedXml(XmlDocument document, Evidence evidence); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public EncryptedXml(XmlDocument document, Evidence? evidence); +- public Evidence DocumentEvidence { get; set; } ++ public Evidence? DocumentEvidence { get; set; } +- public string Recipient { get; set; } ++ [AllowNullAttribute] ++ public string Recipient { get; set; } +- public XmlResolver Resolver { get; set; } ++ public XmlResolver? Resolver { get; set; } +- public virtual byte[] DecryptEncryptedKey(EncryptedKey encryptedKey); ++ public virtual byte[]? DecryptEncryptedKey(EncryptedKey encryptedKey); +- public virtual byte[] GetDecryptionIV(EncryptedData encryptedData, string symmetricAlgorithmUri); ++ public virtual byte[] GetDecryptionIV(EncryptedData encryptedData, string? symmetricAlgorithmUri); +- public virtual SymmetricAlgorithm GetDecryptionKey(EncryptedData encryptedData, string symmetricAlgorithmUri); ++ public virtual SymmetricAlgorithm? GetDecryptionKey(EncryptedData encryptedData, string? symmetricAlgorithmUri); +- public virtual XmlElement GetIdElement(XmlDocument document, string idValue); ++ public virtual XmlElement? GetIdElement(XmlDocument document, string idValue); + } + public sealed class EncryptionProperty { +- public XmlElement PropertyElement { get; set; } ++ [DisallowNullAttribute] ++ public XmlElement PropertyElement { get; set; } + } + public sealed class EncryptionPropertyCollection : ICollection, IEnumerable, IList { +- object System.Collections.IList.this[int index] { get; set; } ++ object? IList.this[int index] { get; set; } + } + public class KeyInfo : IEnumerable { +- public string Id { get; set; } ++ public string? Id { get; set; } +- public void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public void LoadXml(XmlElement value); + } +- public class KeyInfoEncryptedKey : KeyInfoClause { ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public class KeyInfoEncryptedKey : KeyInfoClause { +- public EncryptedKey EncryptedKey { get; set; } ++ public EncryptedKey? EncryptedKey { get; set; } + } + public class KeyInfoNode : KeyInfoClause { +- public XmlElement Value { get; set; } ++ public XmlElement? Value { get; set; } + } + public class Reference { +- public void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public void LoadXml(XmlElement value); + } + public sealed class ReferenceList : 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; } +- public int Add(object value); ++ public int Add(object? value); +- public bool Contains(object value); ++ public bool Contains(object? value); +- public int IndexOf(object value); ++ public int IndexOf(object? value); +- public void Insert(int index, object value); ++ public void Insert(int index, object? value); +- public EncryptedReference Item(int index); ++ public EncryptedReference? Item(int index); +- public void Remove(object value); ++ public void Remove(object? value); + } + public class Signature { +- public string Id { get; set; } ++ public string? Id { get; set; } +- public byte[] SignatureValue { get; set; } ++ public byte[]? SignatureValue { get; set; } +- public SignedInfo SignedInfo { get; set; } ++ public SignedInfo? SignedInfo { get; set; } +- public void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public void LoadXml(XmlElement value); + } +- public class SignedInfo : ICollection, IEnumerable { ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public class SignedInfo : ICollection, IEnumerable { +- public string CanonicalizationMethod { get; set; } ++ [AllowNullAttribute] ++ public string CanonicalizationMethod { get; set; } +- public string Id { get; set; } ++ public string? Id { get; set; } +- public string SignatureLength { get; set; } ++ public string? SignatureLength { get; set; } +- public string SignatureMethod { get; set; } ++ public string? SignatureMethod { get; set; } + } + public class SignedXml { +- protected string m_strSigningKeyName; ++ protected string? m_strSigningKeyName; +- public SignedXml(); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public SignedXml(); +- public SignedXml(XmlDocument document); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public SignedXml(XmlDocument document); +- public SignedXml(XmlElement elem); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public SignedXml(XmlElement elem); +- public EncryptedXml EncryptedXml { get; set; } ++ [AllowNullAttribute] ++ public EncryptedXml EncryptedXml { get; set; } +- public string SignatureLength { get; } ++ public string? SignatureLength { get; } +- public string SignatureMethod { get; } ++ public string? SignatureMethod { get; } +- public byte[] SignatureValue { get; } ++ public byte[]? SignatureValue { get; } +- public SignedInfo SignedInfo { get; } ++ public SignedInfo? SignedInfo { get; } +- public AsymmetricAlgorithm SigningKey { get; set; } ++ public AsymmetricAlgorithm? SigningKey { get; set; } +- public string SigningKeyName { get; set; } ++ public string? SigningKeyName { get; set; } +- public bool CheckSignatureReturningKey(out AsymmetricAlgorithm signingKey); ++ public bool CheckSignatureReturningKey(out AsymmetricAlgorithm? signingKey); +- public virtual XmlElement GetIdElement(XmlDocument document, string idValue); ++ public virtual XmlElement? GetIdElement(XmlDocument? document, string idValue); +- protected virtual AsymmetricAlgorithm GetPublicKey(); ++ protected virtual AsymmetricAlgorithm? GetPublicKey(); + } + public abstract class Transform { +- public string Algorithm { get; set; } ++ public string? Algorithm { get; set; } +- public XmlElement Context { get; set; } ++ public XmlElement? Context { get; set; } +- public XmlResolver Resolver { set; } ++ public XmlResolver? Resolver { set; } +- protected abstract XmlNodeList GetInnerXml(); ++ protected abstract XmlNodeList? GetInnerXml(); + } +- public class XmlDecryptionTransform : Transform { ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public class XmlDecryptionTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); +- protected virtual bool IsTargetElement(XmlElement inputElement, string idValue); ++ protected virtual bool IsTargetElement(XmlElement? inputElement, string idValue); + } + public class XmlDsigBase64Transform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigC14NTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigEnvelopedSignatureTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigExcC14NTransform : Transform { +- public XmlDsigExcC14NTransform(bool includeComments, string inclusiveNamespacesPrefixList); ++ public XmlDsigExcC14NTransform(bool includeComments, string? inclusiveNamespacesPrefixList); +- public string InclusiveNamespacesPrefixList { get; set; } ++ public string? InclusiveNamespacesPrefixList { get; set; } +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigXPathTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigXsltTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } +- public class XmlLicenseTransform : Transform { ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public class XmlLicenseTransform : Transform { +- public IRelDecryptor Decryptor { get; set; } ++ public IRelDecryptor? Decryptor { get; set; } +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0.md new file mode 100644 index 00000000000..e9b6724cb5b --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0.md @@ -0,0 +1,92 @@ +# API Difference 7.0.0 vs 8.0.0 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [Microsoft.CSharp.RuntimeBinder](8.0.0_Microsoft.CSharp.RuntimeBinder.md) +* [Microsoft.VisualBasic.FileIO](8.0.0_Microsoft.VisualBasic.FileIO.md) +* [System](8.0.0_System.md) +* [System.Buffers](8.0.0_System.Buffers.md) +* [System.Buffers.Binary](8.0.0_System.Buffers.Binary.md) +* [System.Buffers.Text](8.0.0_System.Buffers.Text.md) +* [System.CodeDom.Compiler](8.0.0_System.CodeDom.Compiler.md) +* [System.Collections](8.0.0_System.Collections.md) +* [System.Collections.Frozen](8.0.0_System.Collections.Frozen.md) +* [System.Collections.Generic](8.0.0_System.Collections.Generic.md) +* [System.Collections.Immutable](8.0.0_System.Collections.Immutable.md) +* [System.Collections.ObjectModel](8.0.0_System.Collections.ObjectModel.md) +* [System.Collections.Specialized](8.0.0_System.Collections.Specialized.md) +* [System.ComponentModel](8.0.0_System.ComponentModel.md) +* [System.ComponentModel.DataAnnotations](8.0.0_System.ComponentModel.DataAnnotations.md) +* [System.ComponentModel.Design](8.0.0_System.ComponentModel.Design.md) +* [System.ComponentModel.Design.Serialization](8.0.0_System.ComponentModel.Design.Serialization.md) +* [System.Data](8.0.0_System.Data.md) +* [System.Data.Common](8.0.0_System.Data.Common.md) +* [System.Data.SqlTypes](8.0.0_System.Data.SqlTypes.md) +* [System.Diagnostics](8.0.0_System.Diagnostics.md) +* [System.Diagnostics.CodeAnalysis](8.0.0_System.Diagnostics.CodeAnalysis.md) +* [System.Diagnostics.Metrics](8.0.0_System.Diagnostics.Metrics.md) +* [System.Diagnostics.Tracing](8.0.0_System.Diagnostics.Tracing.md) +* [System.Formats.Asn1](8.0.0_System.Formats.Asn1.md) +* [System.Globalization](8.0.0_System.Globalization.md) +* [System.IO](8.0.0_System.IO.md) +* [System.IO.Compression](8.0.0_System.IO.Compression.md) +* [System.IO.IsolatedStorage](8.0.0_System.IO.IsolatedStorage.md) +* [System.IO.MemoryMappedFiles](8.0.0_System.IO.MemoryMappedFiles.md) +* [System.IO.Pipes](8.0.0_System.IO.Pipes.md) +* [System.Linq](8.0.0_System.Linq.md) +* [System.Net](8.0.0_System.Net.md) +* [System.Net.Http](8.0.0_System.Net.Http.md) +* [System.Net.Http.Headers](8.0.0_System.Net.Http.Headers.md) +* [System.Net.Http.Json](8.0.0_System.Net.Http.Json.md) +* [System.Net.Http.Metrics](8.0.0_System.Net.Http.Metrics.md) +* [System.Net.Mail](8.0.0_System.Net.Mail.md) +* [System.Net.Mime](8.0.0_System.Net.Mime.md) +* [System.Net.NetworkInformation](8.0.0_System.Net.NetworkInformation.md) +* [System.Net.Quic](8.0.0_System.Net.Quic.md) +* [System.Net.Security](8.0.0_System.Net.Security.md) +* [System.Net.Sockets](8.0.0_System.Net.Sockets.md) +* [System.Net.WebSockets](8.0.0_System.Net.WebSockets.md) +* [System.Numerics](8.0.0_System.Numerics.md) +* [System.Reflection](8.0.0_System.Reflection.md) +* [System.Reflection.Emit](8.0.0_System.Reflection.Emit.md) +* [System.Reflection.Metadata](8.0.0_System.Reflection.Metadata.md) +* [System.Reflection.Metadata.Ecma335](8.0.0_System.Reflection.Metadata.Ecma335.md) +* [System.Reflection.PortableExecutable](8.0.0_System.Reflection.PortableExecutable.md) +* [System.Resources](8.0.0_System.Resources.md) +* [System.Runtime.CompilerServices](8.0.0_System.Runtime.CompilerServices.md) +* [System.Runtime.InteropServices](8.0.0_System.Runtime.InteropServices.md) +* [System.Runtime.InteropServices.JavaScript](8.0.0_System.Runtime.InteropServices.JavaScript.md) +* [System.Runtime.InteropServices.Marshalling](8.0.0_System.Runtime.InteropServices.Marshalling.md) +* [System.Runtime.Intrinsics](8.0.0_System.Runtime.Intrinsics.md) +* [System.Runtime.Intrinsics.Arm](8.0.0_System.Runtime.Intrinsics.Arm.md) +* [System.Runtime.Intrinsics.Wasm](8.0.0_System.Runtime.Intrinsics.Wasm.md) +* [System.Runtime.Intrinsics.X86](8.0.0_System.Runtime.Intrinsics.X86.md) +* [System.Runtime.Serialization](8.0.0_System.Runtime.Serialization.md) +* [System.Runtime.Serialization.Formatters](8.0.0_System.Runtime.Serialization.Formatters.md) +* [System.Runtime.Serialization.Formatters.Binary](8.0.0_System.Runtime.Serialization.Formatters.Binary.md) +* [System.Security](8.0.0_System.Security.md) +* [System.Security.AccessControl](8.0.0_System.Security.AccessControl.md) +* [System.Security.Authentication](8.0.0_System.Security.Authentication.md) +* [System.Security.Authentication.ExtendedProtection](8.0.0_System.Security.Authentication.ExtendedProtection.md) +* [System.Security.Claims](8.0.0_System.Security.Claims.md) +* [System.Security.Cryptography](8.0.0_System.Security.Cryptography.md) +* [System.Security.Cryptography.X509Certificates](8.0.0_System.Security.Cryptography.X509Certificates.md) +* [System.Security.Principal](8.0.0_System.Security.Principal.md) +* [System.Text](8.0.0_System.Text.md) +* [System.Text.Json](8.0.0_System.Text.Json.md) +* [System.Text.Json.Nodes](8.0.0_System.Text.Json.Nodes.md) +* [System.Text.Json.Serialization](8.0.0_System.Text.Json.Serialization.md) +* [System.Text.Json.Serialization.Metadata](8.0.0_System.Text.Json.Serialization.Metadata.md) +* [System.Text.RegularExpressions](8.0.0_System.Text.RegularExpressions.md) +* [System.Text.Unicode](8.0.0_System.Text.Unicode.md) +* [System.Threading](8.0.0_System.Threading.md) +* [System.Threading.Channels](8.0.0_System.Threading.Channels.md) +* [System.Threading.Tasks](8.0.0_System.Threading.Tasks.md) +* [System.Transactions](8.0.0_System.Transactions.md) +* [System.Web](8.0.0_System.Web.md) +* [System.Xml](8.0.0_System.Xml.md) +* [System.Xml.Schema](8.0.0_System.Xml.Schema.md) +* [System.Xml.XPath](8.0.0_System.Xml.XPath.md) +* [System.Xml.Xsl](8.0.0_System.Xml.Xsl.md) + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_Microsoft.CSharp.RuntimeBinder.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_Microsoft.CSharp.RuntimeBinder.md new file mode 100644 index 00000000000..c912bf35fcf --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_Microsoft.CSharp.RuntimeBinder.md @@ -0,0 +1,19 @@ +# Microsoft.CSharp.RuntimeBinder + +``` diff + namespace Microsoft.CSharp.RuntimeBinder { + public class RuntimeBinderException : Exception { +- protected RuntimeBinderException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected RuntimeBinderException(SerializationInfo info, StreamingContext context); + } + public class RuntimeBinderInternalCompilerException : Exception { +- protected RuntimeBinderInternalCompilerException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected RuntimeBinderInternalCompilerException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_Microsoft.VisualBasic.FileIO.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_Microsoft.VisualBasic.FileIO.md new file mode 100644 index 00000000000..6fcb81f78a9 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_Microsoft.VisualBasic.FileIO.md @@ -0,0 +1,23 @@ +# Microsoft.VisualBasic.FileIO + +``` diff + namespace Microsoft.VisualBasic.FileIO { + public class MalformedLineException : Exception { +- [EditorBrowsableAttribute(EditorBrowsableState.Advanced)] +- protected MalformedLineException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MalformedLineException(SerializationInfo info, StreamingContext context); +- [EditorBrowsableAttribute(EditorBrowsableState.Advanced)] +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class TextFieldParser : IDisposable { ++ public void Dispose(); +- void IDisposable.Dispose(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Buffers.Binary.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Buffers.Binary.md new file mode 100644 index 00000000000..520f9689375 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Buffers.Binary.md @@ -0,0 +1,78 @@ +# System.Buffers.Binary + +``` diff + namespace System.Buffers.Binary { + public static class BinaryPrimitives { ++ public static Int128 ReadInt128BigEndian(ReadOnlySpan source); ++ public static Int128 ReadInt128LittleEndian(ReadOnlySpan source); ++ public static IntPtr ReadIntPtrBigEndian(ReadOnlySpan source); ++ public static IntPtr ReadIntPtrLittleEndian(ReadOnlySpan source); ++ [CLSCompliantAttribute(false)] ++ public static UInt128 ReadUInt128BigEndian(ReadOnlySpan source); ++ [CLSCompliantAttribute(false)] ++ public static UInt128 ReadUInt128LittleEndian(ReadOnlySpan source); ++ [CLSCompliantAttribute(false)] ++ public static UIntPtr ReadUIntPtrBigEndian(ReadOnlySpan source); ++ [CLSCompliantAttribute(false)] ++ public static UIntPtr ReadUIntPtrLittleEndian(ReadOnlySpan source); ++ public static Int128 ReverseEndianness(Int128 value); ++ public static IntPtr ReverseEndianness(IntPtr value); ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static void ReverseEndianness(ReadOnlySpan source, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static UInt128 ReverseEndianness(UInt128 value); ++ [CLSCompliantAttribute(false)] ++ public static UIntPtr ReverseEndianness(UIntPtr value); ++ public static bool TryReadInt128BigEndian(ReadOnlySpan source, out Int128 value); ++ public static bool TryReadInt128LittleEndian(ReadOnlySpan source, out Int128 value); ++ public static bool TryReadIntPtrBigEndian(ReadOnlySpan source, out IntPtr value); ++ public static bool TryReadIntPtrLittleEndian(ReadOnlySpan source, out IntPtr value); ++ [CLSCompliantAttribute(false)] ++ public static bool TryReadUInt128BigEndian(ReadOnlySpan source, out UInt128 value); ++ [CLSCompliantAttribute(false)] ++ public static bool TryReadUInt128LittleEndian(ReadOnlySpan source, out UInt128 value); ++ [CLSCompliantAttribute(false)] ++ public static bool TryReadUIntPtrBigEndian(ReadOnlySpan source, out UIntPtr value); ++ [CLSCompliantAttribute(false)] ++ public static bool TryReadUIntPtrLittleEndian(ReadOnlySpan source, out UIntPtr value); ++ public static bool TryWriteInt128BigEndian(Span destination, Int128 value); ++ public static bool TryWriteInt128LittleEndian(Span destination, Int128 value); ++ public static bool TryWriteIntPtrBigEndian(Span destination, IntPtr value); ++ public static bool TryWriteIntPtrLittleEndian(Span destination, IntPtr value); ++ [CLSCompliantAttribute(false)] ++ public static bool TryWriteUInt128BigEndian(Span destination, UInt128 value); ++ [CLSCompliantAttribute(false)] ++ public static bool TryWriteUInt128LittleEndian(Span destination, UInt128 value); ++ [CLSCompliantAttribute(false)] ++ public static bool TryWriteUIntPtrBigEndian(Span destination, UIntPtr value); ++ [CLSCompliantAttribute(false)] ++ public static bool TryWriteUIntPtrLittleEndian(Span destination, UIntPtr value); ++ public static void WriteInt128BigEndian(Span destination, Int128 value); ++ public static void WriteInt128LittleEndian(Span destination, Int128 value); ++ public static void WriteIntPtrBigEndian(Span destination, IntPtr value); ++ public static void WriteIntPtrLittleEndian(Span destination, IntPtr value); ++ [CLSCompliantAttribute(false)] ++ public static void WriteUInt128BigEndian(Span destination, UInt128 value); ++ [CLSCompliantAttribute(false)] ++ public static void WriteUInt128LittleEndian(Span destination, UInt128 value); ++ [CLSCompliantAttribute(false)] ++ public static void WriteUIntPtrBigEndian(Span destination, UIntPtr value); ++ [CLSCompliantAttribute(false)] ++ public static void WriteUIntPtrLittleEndian(Span destination, UIntPtr value); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Buffers.Text.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Buffers.Text.md new file mode 100644 index 00000000000..b30931fb35b --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_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/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Buffers.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Buffers.md new file mode 100644 index 00000000000..476be590995 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Buffers.md @@ -0,0 +1,26 @@ +# System.Buffers + +``` diff + namespace System.Buffers { + public sealed class ArrayBufferWriter : IBufferWriter { ++ public void ResetWrittenCount(); + } ++ 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); ++ } + public ref struct SequenceReader where T : struct { + public long AdvancePastAny([ScopedRefAttribute] ReadOnlySpan values); + public bool IsNext([ScopedRefAttribute] ReadOnlySpan next, bool advancePast = false); + public bool TryAdvanceToAny([ScopedRefAttribute] ReadOnlySpan delimiters, bool advancePastDelimiter = true); + public bool TryReadTo(out ReadOnlySequence sequence, [ScopedRefAttribute] ReadOnlySpan delimiter, bool advancePastDelimiter = true); + public bool TryReadTo(out ReadOnlySpan span, [ScopedRefAttribute] ReadOnlySpan delimiter, bool advancePastDelimiter = true); + public bool TryReadToAny(out ReadOnlySequence sequence, [ScopedRefAttribute] ReadOnlySpan delimiters, bool advancePastDelimiter = true); + public bool TryReadToAny(out ReadOnlySpan span, [ScopedRefAttribute] ReadOnlySpan delimiters, bool advancePastDelimiter = true); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.CodeDom.Compiler.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.CodeDom.Compiler.md new file mode 100644 index 00000000000..2f2efb15432 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.CodeDom.Compiler.md @@ -0,0 +1,10 @@ +# System.CodeDom.Compiler + +``` diff + namespace System.CodeDom.Compiler { + public class IndentedTextWriter : TextWriter { ++ public override Task FlushAsync(CancellationToken cancellationToken); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Frozen.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Frozen.md new file mode 100644 index 00000000000..c746492eb0b --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Frozen.md @@ -0,0 +1,102 @@ +# System.Collections.Frozen + +``` diff ++namespace System.Collections.Frozen { ++ public static class FrozenDictionary { ++ public static FrozenDictionary ToFrozenDictionary(this IEnumerable> source, IEqualityComparer? comparer = null); ++ public static FrozenDictionary ToFrozenDictionary(this IEnumerable source, Func keySelector, Func elementSelector, IEqualityComparer? comparer = null); ++ public static FrozenDictionary ToFrozenDictionary(this IEnumerable source, Func keySelector, IEqualityComparer? comparer = null); ++ } ++ public abstract class FrozenDictionary : ICollection, ICollection>, IDictionary, IDictionary, IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary { ++ public IEqualityComparer Comparer { get; } ++ public int Count { get; } ++ public static FrozenDictionary Empty { get; } ++ public ImmutableArray Keys { get; } ++ bool ICollection>.IsReadOnly { get; } ++ TValue IDictionary.this[TKey key] { get; set; } ++ ICollection IDictionary.Keys { get; } ++ ICollection IDictionary.Values { get; } ++ TValue IReadOnlyDictionary.this[TKey key] { get; } ++ IEnumerable IReadOnlyDictionary.Keys { get; } ++ IEnumerable IReadOnlyDictionary.Values { get; } ++ bool ICollection.IsSynchronized { get; } ++ object ICollection.SyncRoot { get; } ++ bool IDictionary.IsFixedSize { get; } ++ bool IDictionary.IsReadOnly { get; } ++ object? IDictionary.this[object key] { get; set; } ++ ICollection IDictionary.Keys { get; } ++ ICollection IDictionary.Values { get; } ++ public ref readonly TValue this[TKey key] { get; } ++ public ImmutableArray Values { get; } ++ public bool ContainsKey(TKey key); ++ public void CopyTo(KeyValuePair[] destination, int destinationIndex); ++ public void CopyTo(Span> destination); ++ public FrozenDictionary.Enumerator GetEnumerator(); ++ public ref readonly TValue GetValueRefOrNullRef(TKey key); ++ void ICollection>.Add(KeyValuePair item); ++ void ICollection>.Clear(); ++ bool ICollection>.Contains(KeyValuePair item); ++ bool ICollection>.Remove(KeyValuePair item); ++ void IDictionary.Add(TKey key, TValue value); ++ bool IDictionary.Remove(TKey key); ++ IEnumerator> IEnumerable>.GetEnumerator(); ++ void ICollection.CopyTo(Array array, int index); ++ void IDictionary.Add(object key, object value); ++ void IDictionary.Clear(); ++ bool IDictionary.Contains(object key); ++ IDictionaryEnumerator IDictionary.GetEnumerator(); ++ void IDictionary.Remove(object key); ++ IEnumerator IEnumerable.GetEnumerator(); ++ public bool TryGetValue(TKey key, [MaybeNullWhenAttribute(false)] out TValue value); ++ public struct Enumerator : IDisposable, IEnumerator, IEnumerator> { ++ public KeyValuePair Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ public bool MoveNext(); ++ void IEnumerator.Reset(); ++ void IDisposable.Dispose(); ++ } ++ } ++ public static class FrozenSet { ++ public static FrozenSet ToFrozenSet(this IEnumerable source, IEqualityComparer? comparer = null); ++ } ++ public abstract class FrozenSet : ICollection, ICollection, IEnumerable, IEnumerable, IReadOnlyCollection, IReadOnlySet, ISet { ++ public IEqualityComparer Comparer { get; } ++ public int Count { get; } ++ public static FrozenSet Empty { get; } ++ public ImmutableArray Items { get; } ++ bool ICollection.IsReadOnly { get; } ++ bool ICollection.IsSynchronized { get; } ++ object ICollection.SyncRoot { get; } ++ public bool Contains(T item); ++ public void CopyTo(Span destination); ++ public void CopyTo(T[] destination, int destinationIndex); ++ public FrozenSet.Enumerator GetEnumerator(); ++ public bool IsProperSubsetOf(IEnumerable other); ++ public bool IsProperSupersetOf(IEnumerable other); ++ public bool IsSubsetOf(IEnumerable other); ++ public bool IsSupersetOf(IEnumerable other); ++ public bool Overlaps(IEnumerable other); ++ public bool SetEquals(IEnumerable other); ++ void ICollection.Add(T item); ++ void ICollection.Clear(); ++ bool ICollection.Remove(T item); ++ IEnumerator IEnumerable.GetEnumerator(); ++ bool ISet.Add(T item); ++ void ISet.ExceptWith(IEnumerable other); ++ void ISet.IntersectWith(IEnumerable other); ++ void ISet.SymmetricExceptWith(IEnumerable other); ++ void ISet.UnionWith(IEnumerable other); ++ void ICollection.CopyTo(Array array, int index); ++ IEnumerator IEnumerable.GetEnumerator(); ++ public bool TryGetValue(T equalValue, [MaybeNullWhenAttribute(false)] out T actualValue); ++ public struct Enumerator : IDisposable, IEnumerator, IEnumerator { ++ public T Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ public bool MoveNext(); ++ void IEnumerator.Reset(); ++ void IDisposable.Dispose(); ++ } ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Generic.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Generic.md new file mode 100644 index 00000000000..abebf586892 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Generic.md @@ -0,0 +1,73 @@ +# System.Collections.Generic + +``` diff + namespace System.Collections.Generic { + public static class CollectionExtensions { ++ public static void AddRange(this List list, ReadOnlySpan source); ++ public static void CopyTo(this List list, Span destination); ++ public static void InsertRange(this List list, int index, ReadOnlySpan source); + } + public class Dictionary : ICollection, ICollection>, IDeserializationCallback, IDictionary, IDictionary, IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary, ISerializable { +- protected Dictionary(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected Dictionary(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + public sealed class KeyCollection : ICollection, ICollection, IEnumerable, IEnumerable, IReadOnlyCollection { ++ public bool Contains(TKey item); +- bool ICollection.Contains(TKey item); + } + } + public abstract class EqualityComparer : IEqualityComparer, IEqualityComparer { ++ public static EqualityComparer Create(Func equals, Func? getHashCode = null); + } + public class HashSet : ICollection, IDeserializationCallback, IEnumerable, IEnumerable, IReadOnlyCollection, IReadOnlySet, ISerializable, ISet { +- protected HashSet(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected HashSet(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class KeyNotFoundException : SystemException { +- protected KeyNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected KeyNotFoundException(SerializationInfo info, StreamingContext context); + } + public class LinkedList : ICollection, ICollection, IDeserializationCallback, IEnumerable, IEnumerable, IReadOnlyCollection, ISerializable { +- protected LinkedList(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected LinkedList(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class List : ICollection, ICollection, IEnumerable, IEnumerable, IList, IList, IReadOnlyCollection, IReadOnlyList { ++ public List Slice(int start, int length); + } + public class PriorityQueue { ++ public TElement DequeueEnqueue(TElement element, TPriority priority); + } + public class SortedDictionary : ICollection, ICollection>, IDictionary, IDictionary, IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary { + public sealed class KeyCollection : ICollection, ICollection, IEnumerable, IEnumerable, IReadOnlyCollection { ++ public bool Contains(TKey item); +- bool ICollection.Contains(TKey item); + } + } + public class SortedSet : ICollection, ICollection, IDeserializationCallback, IEnumerable, IEnumerable, IReadOnlyCollection, IReadOnlySet, ISerializable, ISet { +- protected SortedSet(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SortedSet(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Immutable.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Immutable.md new file mode 100644 index 00000000000..90e2a6652b1 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Immutable.md @@ -0,0 +1,59 @@ +# System.Collections.Immutable + +``` diff + namespace System.Collections.Immutable { +- public interface IImmutableList : IEnumerable, IEnumerable, IReadOnlyCollection, IReadOnlyList ++ [CollectionBuilderAttribute(typeof(ImmutableList), "Create")] ++ public interface IImmutableList : IEnumerable, IEnumerable, IReadOnlyCollection, IReadOnlyList +- public interface IImmutableQueue : IEnumerable, IEnumerable ++ [CollectionBuilderAttribute(typeof(ImmutableQueue), "Create")] ++ public interface IImmutableQueue : IEnumerable, IEnumerable +- public interface IImmutableSet : IEnumerable, IEnumerable, IReadOnlyCollection ++ [CollectionBuilderAttribute(typeof(ImmutableHashSet), "Create")] ++ public interface IImmutableSet : IEnumerable, IEnumerable, IReadOnlyCollection +- public interface IImmutableStack : IEnumerable, IEnumerable ++ [CollectionBuilderAttribute(typeof(ImmutableStack), "Create")] ++ public interface IImmutableStack : IEnumerable, IEnumerable +- public readonly struct ImmutableArray : ICollection, ICollection, IEnumerable, IEnumerable, IEquatable>, IImmutableList, IList, IList, IReadOnlyCollection, IReadOnlyList, IStructuralComparable, IStructuralEquatable { ++ [CollectionBuilderAttribute(typeof(ImmutableArray), "Create")] ++ public readonly struct ImmutableArray : ICollection, ICollection, IEnumerable, IEnumerable, IEquatable>, IImmutableList, IList, IList, IReadOnlyCollection, IReadOnlyList, IStructuralComparable, IStructuralEquatable { ++ public bool Contains(T item, IEqualityComparer? equalityComparer); + public sealed class Builder : ICollection, IEnumerable, IEnumerable, IList, IReadOnlyCollection, IReadOnlyList { ++ public ImmutableArray DrainToImmutable(); + } + } + public static class ImmutableHashSet { ++ public static ImmutableHashSet Create(IEqualityComparer? equalityComparer, ReadOnlySpan items); ++ public static ImmutableHashSet Create(ReadOnlySpan items); + } +- public sealed class ImmutableHashSet : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableSet, IReadOnlyCollection, IReadOnlySet, ISet ++ [CollectionBuilderAttribute(typeof(ImmutableHashSet), "Create")] ++ public sealed class ImmutableHashSet : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableSet, IReadOnlyCollection, IReadOnlySet, ISet + public static class ImmutableList { ++ public static ImmutableList Create(ReadOnlySpan items); + } +- public sealed class ImmutableList : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableList, IList, IList, IReadOnlyCollection, IReadOnlyList ++ [CollectionBuilderAttribute(typeof(ImmutableList), "Create")] ++ public sealed class ImmutableList : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableList, IList, IList, IReadOnlyCollection, IReadOnlyList + public static class ImmutableQueue { ++ public static ImmutableQueue Create(ReadOnlySpan items); + } +- public sealed class ImmutableQueue : IEnumerable, IEnumerable, IImmutableQueue ++ [CollectionBuilderAttribute(typeof(ImmutableQueue), "Create")] ++ public sealed class ImmutableQueue : IEnumerable, IEnumerable, IImmutableQueue + public static class ImmutableSortedSet { ++ public static ImmutableSortedSet Create(IComparer? comparer, ReadOnlySpan items); ++ public static ImmutableSortedSet Create(ReadOnlySpan items); + } +- public sealed class ImmutableSortedSet : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableSet, IList, IList, IReadOnlyCollection, IReadOnlyList, IReadOnlySet, ISet ++ [CollectionBuilderAttribute(typeof(ImmutableSortedSet), "Create")] ++ public sealed class ImmutableSortedSet : ICollection, ICollection, IEnumerable, IEnumerable, IImmutableSet, IList, IList, IReadOnlyCollection, IReadOnlyList, IReadOnlySet, ISet + public static class ImmutableStack { ++ public static ImmutableStack Create(ReadOnlySpan items); + } +- public sealed class ImmutableStack : IEnumerable, IEnumerable, IImmutableStack ++ [CollectionBuilderAttribute(typeof(ImmutableStack), "Create")] ++ public sealed class ImmutableStack : IEnumerable, IEnumerable, IImmutableStack + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.ObjectModel.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.ObjectModel.md new file mode 100644 index 00000000000..415595d9977 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.ObjectModel.md @@ -0,0 +1,24 @@ +# System.Collections.ObjectModel + +``` diff + namespace System.Collections.ObjectModel { + public class ReadOnlyCollection : ICollection, ICollection, IEnumerable, IEnumerable, IList, IList, IReadOnlyCollection, IReadOnlyList { ++ public static ReadOnlyCollection Empty { get; } + } + public class ReadOnlyDictionary : ICollection, ICollection>, IDictionary, IDictionary, IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary { ++ public static ReadOnlyDictionary Empty { get; } + public sealed class KeyCollection : ICollection, ICollection, IEnumerable, IEnumerable, IReadOnlyCollection { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } ++ public bool Contains(TKey item); +- bool ICollection.Contains(TKey item); + } + } + public class ReadOnlyObservableCollection : ReadOnlyCollection, INotifyCollectionChanged, INotifyPropertyChanged { ++ public static new ReadOnlyObservableCollection Empty { get; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Specialized.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Specialized.md new file mode 100644 index 00000000000..b29081a0d65 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.Specialized.md @@ -0,0 +1,33 @@ +# System.Collections.Specialized + +``` diff + namespace System.Collections.Specialized { + public abstract class NameObjectCollectionBase : ICollection, IDeserializationCallback, IEnumerable, ISerializable { +- protected NameObjectCollectionBase(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected NameObjectCollectionBase(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class NameValueCollection : NameObjectCollectionBase { +- protected NameValueCollection(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected NameValueCollection(SerializationInfo info, StreamingContext context); + } + public class OrderedDictionary : ICollection, IDeserializationCallback, IDictionary, IEnumerable, IOrderedDictionary, ISerializable { +- protected OrderedDictionary(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected OrderedDictionary(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.md new file mode 100644 index 00000000000..441639bdcf8 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Collections.md @@ -0,0 +1,27 @@ +# System.Collections + +``` diff + namespace System.Collections { + public sealed class BitArray : ICloneable, ICollection, IEnumerable { ++ public bool HasAllSet(); ++ public bool HasAnySet(); + } + public sealed class Comparer : IComparer, ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class Hashtable : ICloneable, ICollection, IDeserializationCallback, IDictionary, IEnumerable, ISerializable { +- protected Hashtable(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected Hashtable(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.DataAnnotations.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.DataAnnotations.md new file mode 100644 index 00000000000..ff6ca24ccb3 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.DataAnnotations.md @@ -0,0 +1,82 @@ +# System.ComponentModel.DataAnnotations + +``` diff + namespace System.ComponentModel.DataAnnotations { ++ [AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property, AllowMultiple=false)] ++ [CLSCompliantAttribute(false)] ++ public class AllowedValuesAttribute : ValidationAttribute { ++ public AllowedValuesAttribute(params object?[] values); ++ public object?[] Values { get; } ++ public override bool IsValid(object? value); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property, AllowMultiple=false)] ++ public class Base64StringAttribute : ValidationAttribute { ++ public Base64StringAttribute(); ++ public override bool IsValid(object? value); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property, AllowMultiple=false)] ++ [CLSCompliantAttribute(false)] ++ public class DeniedValuesAttribute : ValidationAttribute { ++ public DeniedValuesAttribute(params object?[] values); ++ public object?[] Values { get; } ++ public override bool IsValid(object? value); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property, AllowMultiple=false)] ++ public class LengthAttribute : ValidationAttribute { ++ [RequiresUnreferencedCodeAttribute("Uses reflection to get the 'Count' property on types that don't implement ICollection. This 'Count' property may be trimmed. Ensure it is preserved.")] ++ public LengthAttribute(int minimumLength, int maximumLength); ++ public int MaximumLength { get; } ++ public int MinimumLength { get; } ++ public override string FormatErrorMessage(string name); ++ public override bool IsValid(object? value); ++ } + [AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property, AllowMultiple=false)] + public class RangeAttribute : ValidationAttribute { ++ public bool MaximumIsExclusive { get; set; } ++ public bool MinimumIsExclusive { get; set; } + } + public sealed class ValidationContext : IServiceProvider { +- [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered.")] +- public ValidationContext(object instance); ++ [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")] ++ public ValidationContext(object instance); +- [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered.")] +- public ValidationContext(object instance, IDictionary? items); ++ [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")] ++ public ValidationContext(object instance, IDictionary? items); +- [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered.")] +- public ValidationContext(object instance, IServiceProvider? serviceProvider, IDictionary? items); ++ [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")] ++ public ValidationContext(object instance, IServiceProvider? serviceProvider, IDictionary? items); + } + public class ValidationException : Exception { +- protected ValidationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ValidationException(SerializationInfo info, StreamingContext context); + } + public static class Validator { +- [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered.")] +- public static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection? validationResults); ++ [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")] ++ public static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection? validationResults); +- [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered.")] +- public static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection? validationResults, bool validateAllProperties); ++ [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")] ++ public static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection? validationResults, bool validateAllProperties); +- public static bool TryValidateValue(object value, ValidationContext validationContext, ICollection? validationResults, IEnumerable validationAttributes); ++ public static bool TryValidateValue(object? value, ValidationContext validationContext, ICollection? validationResults, IEnumerable validationAttributes); +- [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered.")] +- public static void ValidateObject(object instance, ValidationContext validationContext); ++ [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")] ++ public static void ValidateObject(object instance, ValidationContext validationContext); +- [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered.")] +- public static void ValidateObject(object instance, ValidationContext validationContext, bool validateAllProperties); ++ [RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")] ++ public static void ValidateObject(object instance, ValidationContext validationContext, bool validateAllProperties); +- public static void ValidateValue(object value, ValidationContext validationContext, IEnumerable validationAttributes); ++ public static void ValidateValue(object? value, ValidationContext validationContext, IEnumerable validationAttributes); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.Design.Serialization.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.Design.Serialization.md new file mode 100644 index 00000000000..24ff7eb0e22 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.Design.Serialization.md @@ -0,0 +1,23 @@ +# System.ComponentModel.Design.Serialization + +``` diff + namespace System.ComponentModel.Design.Serialization { + public interface IDesignerSerializationManager : IServiceProvider { +- object CreateInstance(Type type, ICollection arguments, string name, bool addToContainer); ++ object CreateInstance(Type type, ICollection? arguments, string? name, bool addToContainer); +- object GetInstance(string name); ++ object? GetInstance(string name); +- string GetName(object value); ++ string? GetName(object value); +- object GetSerializer(Type objectType, Type serializerType); ++ object? GetSerializer(Type? objectType, Type serializerType); +- Type GetType(string typeName); ++ Type? GetType(string typeName); + } + public interface IDesignerSerializationProvider { +- object? GetSerializer(IDesignerSerializationManager manager, object currentSerializer, Type objectType, Type serializerType); ++ object GetSerializer(IDesignerSerializationManager manager, object currentSerializer, Type objectType, Type serializerType); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.Design.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.Design.md new file mode 100644 index 00000000000..b1db69ba1f2 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.Design.md @@ -0,0 +1,17 @@ +# System.ComponentModel.Design + +``` diff + namespace System.ComponentModel.Design { + public class CheckoutException : ExternalException { +- protected CheckoutException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected CheckoutException(SerializationInfo info, StreamingContext context); + } + public interface ISelectionService { +- object PrimarySelection { get; } ++ object? PrimarySelection { get; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.md new file mode 100644 index 00000000000..7d3a3adcd9e --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.ComponentModel.md @@ -0,0 +1,69 @@ +# System.ComponentModel + +``` diff + namespace System.ComponentModel { + public class InvalidAsynchronousStateException : ArgumentException { +- protected InvalidAsynchronousStateException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidAsynchronousStateException(SerializationInfo info, StreamingContext context); + } + public class InvalidEnumArgumentException : ArgumentException { +- protected InvalidEnumArgumentException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidEnumArgumentException(SerializationInfo info, StreamingContext context); + } + public interface ITypedList { +- PropertyDescriptorCollection GetItemProperties(PropertyDescriptor[] listAccessors); ++ PropertyDescriptorCollection GetItemProperties(PropertyDescriptor[]? listAccessors); +- string GetListName(PropertyDescriptor[] listAccessors); ++ string GetListName(PropertyDescriptor[]? listAccessors); + } + public class LicenseException : SystemException { +- protected LicenseException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected LicenseException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + [AttributeUsageAttribute(AttributeTargets.All)] + public class PropertyTabAttribute : Attribute { +- public bool Equals(PropertyTabAttribute other); ++ public bool Equals([NotNullWhenAttribute(true)] PropertyTabAttribute? other); + } + public abstract class TypeDescriptionProvider { +- public virtual object? CreateInstance(IServiceProvider? provider, Type objectType, Type[]? argTypes, object[]? args); ++ public virtual object? CreateInstance(IServiceProvider? provider, Type objectType, Type[]? argTypes, object?[]? args); + } + public sealed class TypeDescriptor { +- public static object? CreateInstance(IServiceProvider? provider, Type objectType, Type[]? argTypes, object[]? args); ++ public static object? CreateInstance(IServiceProvider? provider, Type objectType, Type[]? argTypes, object?[]? args); + } + public class WarningException : SystemException { +- protected WarningException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected WarningException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } +- public class Win32Exception : ExternalException, ISerializable { ++ public class Win32Exception : ExternalException { +- protected Win32Exception(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected Win32Exception(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Data.Common.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Data.Common.md new file mode 100644 index 00000000000..ca4e8a6f4a8 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Data.Common.md @@ -0,0 +1,17 @@ +# System.Data.Common + +``` diff + namespace System.Data.Common { + public abstract class DbBatchCommand { ++ public virtual bool CanCreateParameter { get; } ++ public virtual DbParameter CreateParameter(); + } + public abstract class DbException : ExternalException { +- protected DbException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DbException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Data.SqlTypes.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Data.SqlTypes.md new file mode 100644 index 00000000000..f7545b2cae7 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Data.SqlTypes.md @@ -0,0 +1,19 @@ +# System.Data.SqlTypes + +``` diff + namespace System.Data.SqlTypes { +- [XmlSchemaProviderAttribute("GetXsdType")] +- public struct SqlGuid : IComparable, IEquatable, INullable, IXmlSerializable { ++ [XmlSchemaProviderAttribute("GetXsdType")] ++ public struct SqlGuid : IComparable, IEquatable, INullable, ISerializable, IXmlSerializable { ++ void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context); + } + public class SqlTypeException : SystemException { +- protected SqlTypeException(SerializationInfo si, StreamingContext sc); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SqlTypeException(SerializationInfo si, StreamingContext sc); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Data.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Data.md new file mode 100644 index 00000000000..c96e61f37fc --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Data.md @@ -0,0 +1,158 @@ +# System.Data + +``` diff + namespace System.Data { + public class ConstraintException : DataException { +- protected ConstraintException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ConstraintException(SerializationInfo info, StreamingContext context); + } + public class DataException : SystemException { +- protected DataException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DataException(SerializationInfo info, StreamingContext context); + } + [DefaultPropertyAttribute("DataSetName")] + [DesignerAttribute("Microsoft.VSDesigner.Data.VS.DataSetDesigner, Microsoft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [ToolboxItemAttribute("Microsoft.VSDesigner.Data.VS.DataSetToolboxItem, Microsoft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [XmlRootAttribute("DataSet")] + [XmlSchemaProviderAttribute("GetDataSetSchema")] + public class DataSet : MarshalByValueComponent, IListSource, ISerializable, ISupportInitialize, ISupportInitializeNotification, IXmlSerializable { +- [RequiresUnreferencedCodeAttribute("Members from serialized types may be trimmed if not referenced directly.")] +- protected DataSet(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ [RequiresUnreferencedCodeAttribute("Members from serialized types may be trimmed if not referenced directly.")] ++ protected DataSet(SerializationInfo info, StreamingContext context); +- [RequiresUnreferencedCodeAttribute("Members from serialized types may be trimmed if not referenced directly.")] +- protected DataSet(SerializationInfo info, StreamingContext context, bool ConstructSchema); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ [RequiresUnreferencedCodeAttribute("Members from serialized types may be trimmed if not referenced directly.")] ++ protected DataSet(SerializationInfo info, StreamingContext context, bool ConstructSchema); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + [DefaultEventAttribute("RowChanging")] + [DefaultPropertyAttribute("TableName")] + [DesignTimeVisibleAttribute(false)] + [EditorAttribute("Microsoft.VSDesigner.Data.Design.DataTableEditor, Microsoft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [ToolboxItemAttribute(false)] + [XmlSchemaProviderAttribute("GetDataTableSchema")] + public class DataTable : MarshalByValueComponent, IListSource, ISerializable, ISupportInitialize, ISupportInitializeNotification, IXmlSerializable { +- [RequiresUnreferencedCodeAttribute("Members from serialized types may be trimmed if not referenced directly.")] +- protected DataTable(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ [RequiresUnreferencedCodeAttribute("Members from serialized types may be trimmed if not referenced directly.")] ++ protected DataTable(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public sealed class DBConcurrencyException : SystemException { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class DeletedRowInaccessibleException : DataException { +- protected DeletedRowInaccessibleException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DeletedRowInaccessibleException(SerializationInfo info, StreamingContext context); + } + public class DuplicateNameException : DataException { +- protected DuplicateNameException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DuplicateNameException(SerializationInfo info, StreamingContext context); + } + public class EvaluateException : InvalidExpressionException { +- protected EvaluateException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EvaluateException(SerializationInfo info, StreamingContext context); + } + public class InRowChangingEventException : DataException { +- protected InRowChangingEventException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InRowChangingEventException(SerializationInfo info, StreamingContext context); + } + public class InvalidConstraintException : DataException { +- protected InvalidConstraintException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidConstraintException(SerializationInfo info, StreamingContext context); + } + public class InvalidExpressionException : DataException { +- protected InvalidExpressionException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidExpressionException(SerializationInfo info, StreamingContext context); + } + public class MissingPrimaryKeyException : DataException { +- protected MissingPrimaryKeyException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MissingPrimaryKeyException(SerializationInfo info, StreamingContext context); + } + public class NoNullAllowedException : DataException { +- protected NoNullAllowedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected NoNullAllowedException(SerializationInfo info, StreamingContext context); + } + public class PropertyCollection : Hashtable, ICloneable { +- protected PropertyCollection(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected PropertyCollection(SerializationInfo info, StreamingContext context); + } + public class ReadOnlyException : DataException { +- protected ReadOnlyException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ReadOnlyException(SerializationInfo info, StreamingContext context); + } + public class RowNotInTableException : DataException { +- protected RowNotInTableException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected RowNotInTableException(SerializationInfo info, StreamingContext context); + } + public class StrongTypingException : DataException { +- protected StrongTypingException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected StrongTypingException(SerializationInfo info, StreamingContext context); + } + public class SyntaxErrorException : InvalidExpressionException { +- protected SyntaxErrorException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SyntaxErrorException(SerializationInfo info, StreamingContext context); + } + public abstract class TypedTableBase : DataTable, IEnumerable, IEnumerable where T : DataRow { +- [RequiresUnreferencedCodeAttribute("Members from serialized types may be trimmed if not referenced directly.")] +- protected TypedTableBase(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ [RequiresUnreferencedCodeAttribute("Members from serialized types may be trimmed if not referenced directly.")] ++ protected TypedTableBase(SerializationInfo info, StreamingContext context); + } + public class VersionNotFoundException : DataException { +- protected VersionNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected VersionNotFoundException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.CodeAnalysis.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.CodeAnalysis.md new file mode 100644 index 00000000000..e231194516a --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.CodeAnalysis.md @@ -0,0 +1,13 @@ +# System.Diagnostics.CodeAnalysis + +``` diff + namespace System.Diagnostics.CodeAnalysis { ++ [AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Delegate | AttributeTargets.Enum | AttributeTargets.Event | AttributeTargets.Field | AttributeTargets.Interface | AttributeTargets.Method | AttributeTargets.Module | AttributeTargets.Property | AttributeTargets.Struct, Inherited=false)] ++ public sealed class ExperimentalAttribute : Attribute { ++ public ExperimentalAttribute(string diagnosticId); ++ public string DiagnosticId { get; } ++ public string? UrlFormat { get; set; } ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.Metrics.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.Metrics.md new file mode 100644 index 00000000000..cc7d623d802 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.Metrics.md @@ -0,0 +1,49 @@ +# System.Diagnostics.Metrics + +``` diff + namespace System.Diagnostics.Metrics { ++ public interface IMeterFactory : IDisposable { ++ Meter Create(MeterOptions options); ++ } + 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 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 static class MeterFactoryExtensions { ++ public static Meter Create(this IMeterFactory meterFactory, string name, string? version = null, IEnumerable>? tags = null); ++ } ++ 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/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.Tracing.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.Tracing.md new file mode 100644 index 00000000000..f0af8abef35 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.Tracing.md @@ -0,0 +1,43 @@ +# System.Diagnostics.Tracing + +``` diff + namespace System.Diagnostics.Tracing { + public class EventSource : IDisposable { ++ protected void WriteEvent(int eventId, params EventSource.EventSourcePrimitive[] args); ++ public readonly struct EventSourcePrimitive { ++ public static implicit operator EventSource.EventSourcePrimitive (bool value); ++ public static implicit operator EventSource.EventSourcePrimitive (byte value); ++ public static implicit operator EventSource.EventSourcePrimitive (byte[] value); ++ public static implicit operator EventSource.EventSourcePrimitive (char value); ++ public static implicit operator EventSource.EventSourcePrimitive (DateTime value); ++ public static implicit operator EventSource.EventSourcePrimitive (decimal value); ++ public static implicit operator EventSource.EventSourcePrimitive (double value); ++ public static implicit operator EventSource.EventSourcePrimitive (Enum value); ++ public static implicit operator EventSource.EventSourcePrimitive (Guid value); ++ public static implicit operator EventSource.EventSourcePrimitive (short value); ++ public static implicit operator EventSource.EventSourcePrimitive (int value); ++ public static implicit operator EventSource.EventSourcePrimitive (long value); ++ public static implicit operator EventSource.EventSourcePrimitive (IntPtr value); ++ [CLSCompliantAttribute(false)] ++ public static implicit operator EventSource.EventSourcePrimitive (sbyte value); ++ public static implicit operator EventSource.EventSourcePrimitive (float value); ++ public static implicit operator EventSource.EventSourcePrimitive (string value); ++ [CLSCompliantAttribute(false)] ++ public static implicit operator EventSource.EventSourcePrimitive (ushort value); ++ [CLSCompliantAttribute(false)] ++ public static implicit operator EventSource.EventSourcePrimitive (uint value); ++ [CLSCompliantAttribute(false)] ++ public static implicit operator EventSource.EventSourcePrimitive (ulong value); ++ [CLSCompliantAttribute(false)] ++ public static implicit operator EventSource.EventSourcePrimitive (UIntPtr value); ++ } + } + public class EventSourceException : Exception { +- protected EventSourceException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventSourceException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.md new file mode 100644 index 00000000000..c44f130db0e --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Diagnostics.md @@ -0,0 +1,50 @@ +# System.Diagnostics + +``` diff + namespace System.Diagnostics { + public abstract class DiagnosticSource { ++ [RequiresUnreferencedCodeAttribute("Only the properties of the T type will be preserved. Properties of referenced types and properties of derived types may be trimmed.")] ++ public Activity StartActivity(Activity activity, T args); ++ [RequiresUnreferencedCodeAttribute("Only the properties of the T type will be preserved. Properties of referenced types and properties of derived types may be trimmed.")] ++ public void StopActivity(Activity activity, T args); ++ [RequiresUnreferencedCodeAttribute("Only the properties of the T type will be preserved. Properties of referenced types and properties of derived types may be trimmed.")] ++ public void Write(string name, T value); + } + public sealed class ProcessStartInfo { ++ public ProcessStartInfo(string fileName, IEnumerable arguments); ++ [SupportedOSPlatformAttribute("windows")] ++ public bool UseCredentialsForNetworkingOnly { get; set; } + } + public class StackTrace { ++ public StackTrace(IEnumerable frames); + } + public class Stopwatch { ++ public override string ToString(); + } + public sealed class Trace { +- [ConditionalAttribute("TRACE")] +- public static void Assert(bool condition); ++ [ConditionalAttribute("TRACE")] ++ public static void Assert([DoesNotReturnIfAttribute(false)] bool condition); +- [ConditionalAttribute("TRACE")] +- public static void Assert(bool condition, string message); ++ [ConditionalAttribute("TRACE")] ++ public static void Assert([DoesNotReturnIfAttribute(false)] bool condition, string message); +- [ConditionalAttribute("TRACE")] +- public static void Assert(bool condition, string message, string detailMessage); ++ [ConditionalAttribute("TRACE")] ++ public static void Assert([DoesNotReturnIfAttribute(false)] bool condition, string message, string detailMessage); +- [ConditionalAttribute("TRACE")] +- public static void Fail(string message); ++ [ConditionalAttribute("TRACE")] ++ [DoesNotReturnAttribute] ++ public static void Fail(string message); +- [ConditionalAttribute("TRACE")] +- public static void Fail(string message, string detailMessage); ++ [ConditionalAttribute("TRACE")] ++ [DoesNotReturnAttribute] ++ public static void Fail(string message, string detailMessage); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Formats.Asn1.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Formats.Asn1.md new file mode 100644 index 00000000000..52545d841a0 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Formats.Asn1.md @@ -0,0 +1,16 @@ +# System.Formats.Asn1 + +``` diff + namespace System.Formats.Asn1 { + public class AsnContentException : Exception { +- protected AsnContentException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected AsnContentException(SerializationInfo info, StreamingContext context); + } + public class AsnReader { ++ public AsnReader Clone(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Globalization.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Globalization.md new file mode 100644 index 00000000000..1f718e61334 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Globalization.md @@ -0,0 +1,22 @@ +# System.Globalization + +``` diff + namespace System.Globalization { + public class CultureNotFoundException : ArgumentException { +- protected CultureNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected CultureNotFoundException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + [FlagsAttribute] + public enum NumberStyles { ++ AllowBinarySpecifier = 1024, ++ BinaryNumber = 1027, + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.Compression.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.Compression.md new file mode 100644 index 00000000000..6d7bd259cec --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.Compression.md @@ -0,0 +1,16 @@ +# System.IO.Compression + +``` diff + namespace System.IO.Compression { + public static class ZipFile { ++ public static void CreateFromDirectory(string sourceDirectoryName, Stream destination); ++ public static void CreateFromDirectory(string sourceDirectoryName, Stream destination, CompressionLevel compressionLevel, bool includeBaseDirectory); ++ public static void CreateFromDirectory(string sourceDirectoryName, Stream destination, CompressionLevel compressionLevel, bool includeBaseDirectory, Encoding? entryNameEncoding); ++ public static void ExtractToDirectory(Stream source, string destinationDirectoryName); ++ public static void ExtractToDirectory(Stream source, string destinationDirectoryName, bool overwriteFiles); ++ public static void ExtractToDirectory(Stream source, string destinationDirectoryName, Encoding? entryNameEncoding); ++ public static void ExtractToDirectory(Stream source, string destinationDirectoryName, Encoding? entryNameEncoding, bool overwriteFiles); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.IsolatedStorage.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.IsolatedStorage.md new file mode 100644 index 00000000000..8afb69adceb --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.IsolatedStorage.md @@ -0,0 +1,13 @@ +# System.IO.IsolatedStorage + +``` diff + namespace System.IO.IsolatedStorage { + public class IsolatedStorageException : Exception { +- protected IsolatedStorageException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected IsolatedStorageException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.MemoryMappedFiles.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.MemoryMappedFiles.md new file mode 100644 index 00000000000..a00ac532571 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.MemoryMappedFiles.md @@ -0,0 +1,10 @@ +# System.IO.MemoryMappedFiles + +``` diff + namespace System.IO.MemoryMappedFiles { + public class MemoryMappedFile : IDisposable { ++ public static MemoryMappedFile CreateFromFile(SafeFileHandle fileHandle, string? mapName, long capacity, MemoryMappedFileAccess access, HandleInheritability inheritability, bool leaveOpen); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.Pipes.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.Pipes.md new file mode 100644 index 00000000000..26e8f7afe5f --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.Pipes.md @@ -0,0 +1,11 @@ +# System.IO.Pipes + +``` diff + namespace System.IO.Pipes { + [FlagsAttribute] + public enum PipeOptions { ++ FirstPipeInstance = 524288, + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.md new file mode 100644 index 00000000000..3c4a15c06e6 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.IO.md @@ -0,0 +1,90 @@ +# System.IO + +``` diff + namespace System.IO { + public class DirectoryNotFoundException : IOException { +- protected DirectoryNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DirectoryNotFoundException(SerializationInfo info, StreamingContext context); + } + public class DriveNotFoundException : IOException { +- protected DriveNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DriveNotFoundException(SerializationInfo info, StreamingContext context); + } + public class EndOfStreamException : IOException { +- protected EndOfStreamException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EndOfStreamException(SerializationInfo info, StreamingContext context); + } + [FlagsAttribute] + public enum FileAttributes { ++ None = 0, + } + public class FileLoadException : IOException { +- protected FileLoadException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected FileLoadException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class FileNotFoundException : IOException { +- protected FileNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected FileNotFoundException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public abstract class FileSystemInfo : MarshalByRefObject, ISerializable { +- protected FileSystemInfo(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected FileSystemInfo(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class InternalBufferOverflowException : SystemException { +- protected InternalBufferOverflowException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InternalBufferOverflowException(SerializationInfo info, StreamingContext context); + } + public class IOException : SystemException { +- protected IOException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected IOException(SerializationInfo info, StreamingContext context); + } + public static class Path { +- public static bool EndsInDirectorySeparator(string path); ++ public static bool EndsInDirectorySeparator([NotNullWhenAttribute(true)] string? path); + } + public class PathTooLongException : IOException { +- protected PathTooLongException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected PathTooLongException(SerializationInfo info, StreamingContext context); + } + public static class RandomAccess { ++ public static void FlushToDisk(SafeFileHandle handle); + } + public class StreamWriter : TextWriter { ++ public override Task FlushAsync(CancellationToken cancellationToken); + } + public abstract class TextWriter : MarshalByRefObject, IAsyncDisposable, IDisposable { ++ public virtual Task FlushAsync(CancellationToken cancellationToken); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Linq.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Linq.md new file mode 100644 index 00000000000..39f3fbebe17 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_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/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.Headers.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.Headers.md new file mode 100644 index 00000000000..27791adfdcf --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.Headers.md @@ -0,0 +1,79 @@ +# System.Net.Http.Headers + +``` diff + namespace System.Net.Http.Headers { + public class AuthenticationHeaderValue : ICloneable { +- public static AuthenticationHeaderValue Parse(string? input); ++ public static AuthenticationHeaderValue Parse(string input); + } + public class CacheControlHeaderValue : ICloneable { +- public static bool TryParse(string? input, out CacheControlHeaderValue? parsedValue); ++ public static bool TryParse(string? input, [NotNullWhenAttribute(true)] out CacheControlHeaderValue? parsedValue); + } + public class ContentDispositionHeaderValue : ICloneable { +- public static ContentDispositionHeaderValue Parse(string? input); ++ public static ContentDispositionHeaderValue Parse(string input); + } + public class ContentRangeHeaderValue : ICloneable { +- public static ContentRangeHeaderValue Parse(string? input); ++ public static ContentRangeHeaderValue Parse(string input); + } + public class EntityTagHeaderValue : ICloneable { +- public static EntityTagHeaderValue Parse(string? input); ++ public static EntityTagHeaderValue Parse(string input); + } + public class MediaTypeHeaderValue : ICloneable { +- public static MediaTypeHeaderValue Parse(string? input); ++ public static MediaTypeHeaderValue Parse(string input); + } + public sealed class MediaTypeWithQualityHeaderValue : MediaTypeHeaderValue, ICloneable { +- public static new MediaTypeWithQualityHeaderValue Parse(string? input); ++ public static new MediaTypeWithQualityHeaderValue Parse(string input); + } + public class NameValueHeaderValue : ICloneable { +- public static NameValueHeaderValue Parse(string? input); ++ public static NameValueHeaderValue Parse(string input); + } + public class NameValueWithParametersHeaderValue : NameValueHeaderValue, ICloneable { +- public static new NameValueWithParametersHeaderValue Parse(string? input); ++ public static new NameValueWithParametersHeaderValue Parse(string input); + } + public class ProductHeaderValue : ICloneable { +- public static ProductHeaderValue Parse(string? input); ++ public static ProductHeaderValue Parse(string input); + } + public class RangeConditionHeaderValue : ICloneable { +- public static RangeConditionHeaderValue Parse(string? input); ++ public static RangeConditionHeaderValue Parse(string input); + } + public class RangeHeaderValue : ICloneable { +- public static RangeHeaderValue Parse(string? input); ++ public static RangeHeaderValue Parse(string input); + } + public class RetryConditionHeaderValue : ICloneable { +- public static RetryConditionHeaderValue Parse(string? input); ++ public static RetryConditionHeaderValue Parse(string input); + } + public class StringWithQualityHeaderValue : ICloneable { +- public static StringWithQualityHeaderValue Parse(string? input); ++ public static StringWithQualityHeaderValue Parse(string input); + } + public class TransferCodingHeaderValue : ICloneable { +- public static TransferCodingHeaderValue Parse(string? input); ++ public static TransferCodingHeaderValue Parse(string input); + } + public sealed class TransferCodingWithQualityHeaderValue : TransferCodingHeaderValue, ICloneable { +- public static new TransferCodingWithQualityHeaderValue Parse(string? input); ++ public static new TransferCodingWithQualityHeaderValue Parse(string input); + } + public class ViaHeaderValue : ICloneable { +- public static ViaHeaderValue Parse(string? input); ++ public static ViaHeaderValue Parse(string input); + } + public class WarningHeaderValue : ICloneable { +- public static WarningHeaderValue Parse(string? input); ++ public static WarningHeaderValue Parse(string input); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.Json.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.Json.md new file mode 100644 index 00000000000..41380da6eb6 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.Json.md @@ -0,0 +1,42 @@ +# System.Net.Http.Json + +``` diff + namespace System.Net.Http.Json { + public static class HttpClientJsonExtensions { ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static IAsyncEnumerable GetFromJsonAsAsyncEnumerable(this HttpClient client, [StringSyntaxAttribute("Uri")] string? requestUri, JsonSerializerOptions? options, CancellationToken cancellationToken = default(CancellationToken)); ++ public static IAsyncEnumerable GetFromJsonAsAsyncEnumerable(this HttpClient client, [StringSyntaxAttribute("Uri")] string? requestUri, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static IAsyncEnumerable GetFromJsonAsAsyncEnumerable(this HttpClient client, [StringSyntaxAttribute("Uri")] string? requestUri, CancellationToken cancellationToken = default(CancellationToken)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static IAsyncEnumerable GetFromJsonAsAsyncEnumerable(this HttpClient client, Uri? requestUri, JsonSerializerOptions? options, CancellationToken cancellationToken = default(CancellationToken)); ++ public static IAsyncEnumerable GetFromJsonAsAsyncEnumerable(this HttpClient client, Uri? requestUri, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static IAsyncEnumerable GetFromJsonAsAsyncEnumerable(this HttpClient client, Uri? requestUri, CancellationToken cancellationToken = default(CancellationToken)); + } + public static class HttpContentJsonExtensions { ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static IAsyncEnumerable ReadFromJsonAsAsyncEnumerable(this HttpContent content, JsonSerializerOptions? options, CancellationToken cancellationToken = default(CancellationToken)); ++ public static IAsyncEnumerable ReadFromJsonAsAsyncEnumerable(this HttpContent content, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static IAsyncEnumerable ReadFromJsonAsAsyncEnumerable(this HttpContent content, CancellationToken cancellationToken = default(CancellationToken)); +- [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] +- public static Task ReadFromJsonAsync(this HttpContent content, Type type, JsonSerializerOptions? options = null, CancellationToken cancellationToken = default(CancellationToken)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static Task ReadFromJsonAsync(this HttpContent content, Type type, JsonSerializerOptions? options, CancellationToken cancellationToken = default(CancellationToken)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static Task ReadFromJsonAsync(this HttpContent content, Type type, CancellationToken cancellationToken = default(CancellationToken)); +- [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] +- public static Task ReadFromJsonAsync(this HttpContent content, JsonSerializerOptions? options = null, CancellationToken cancellationToken = default(CancellationToken)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static Task ReadFromJsonAsync(this HttpContent content, JsonSerializerOptions? options, CancellationToken cancellationToken = default(CancellationToken)); ++ [RequiresUnreferencedCodeAttribute("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] ++ public static Task ReadFromJsonAsync(this HttpContent content, CancellationToken cancellationToken = default(CancellationToken)); + } + public sealed class JsonContent : HttpContent { ++ public static JsonContent Create(object? inputValue, JsonTypeInfo jsonTypeInfo, MediaTypeHeaderValue? mediaType = null); ++ public static JsonContent Create(T? inputValue, JsonTypeInfo jsonTypeInfo, MediaTypeHeaderValue? mediaType = null); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.Metrics.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.Metrics.md new file mode 100644 index 00000000000..92b16f2bf7a --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.Metrics.md @@ -0,0 +1,14 @@ +# System.Net.Http.Metrics + +``` diff ++namespace System.Net.Http.Metrics { ++ public sealed class HttpMetricsEnrichmentContext { ++ public Exception? Exception { get; } ++ public HttpRequestMessage Request { get; } ++ public HttpResponseMessage? Response { get; } ++ public static void AddCallback(HttpRequestMessage request, Action callback); ++ public void AddCustomTag(string name, object? value); ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.md new file mode 100644 index 00000000000..c0ed8a24f0f --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Http.md @@ -0,0 +1,52 @@ +# System.Net.Http + +``` diff + namespace System.Net.Http { + public class HttpClientHandler : HttpMessageHandler { ++ [CLSCompliantAttribute(false)] ++ public IMeterFactory MeterFactory { get; set; } + } ++ public class HttpIOException : IOException { ++ public HttpIOException(HttpRequestError httpRequestError, string? message = null, Exception? innerException = null); ++ public HttpRequestError HttpRequestError { get; } ++ } + public class HttpMethod : IEquatable { ++ public static HttpMethod Parse(ReadOnlySpan method); + } +- public sealed class HttpProtocolException : IOException ++ public sealed class HttpProtocolException : HttpIOException ++ public enum HttpRequestError { ++ ConfigurationLimitExceeded = 11, ++ ConnectionError = 2, ++ ExtendedConnectNotSupported = 5, ++ HttpProtocolError = 4, ++ InvalidResponse = 9, ++ NameResolutionError = 1, ++ ProxyTunnelError = 8, ++ ResponseEnded = 10, ++ SecureConnectionError = 3, ++ Unknown = 0, ++ UserAuthenticationError = 7, ++ VersionNegotiationError = 6, ++ } + public class HttpRequestException : Exception { ++ public HttpRequestException(HttpRequestError httpRequestError, string message = null, Exception inner = null, HttpStatusCode? statusCode = default(HttpStatusCode?)); ++ public HttpRequestError HttpRequestError { get; } + } +- public sealed class HttpRequestOptions : ICollection>, IDictionary, IEnumerable, IEnumerable> { ++ public sealed class HttpRequestOptions : ICollection>, IDictionary, IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary { ++ int IReadOnlyCollection>.Count { get; } ++ object? IReadOnlyDictionary.this[string key] { get; } ++ IEnumerable IReadOnlyDictionary.Keys { get; } ++ IEnumerable IReadOnlyDictionary.Values { get; } ++ bool IReadOnlyDictionary.ContainsKey(string key); ++ bool IReadOnlyDictionary.TryGetValue(string key, out object value); + } + [UnsupportedOSPlatformAttribute("browser")] + public sealed class SocketsHttpHandler : HttpMessageHandler { ++ [CLSCompliantAttribute(false)] ++ public IMeterFactory MeterFactory { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Mail.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Mail.md new file mode 100644 index 00000000000..73e4407cf1a --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Mail.md @@ -0,0 +1,43 @@ +# System.Net.Mail + +``` diff + namespace System.Net.Mail { +- public class SmtpException : Exception, ISerializable { ++ public class SmtpException : Exception { +- protected SmtpException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SmtpException(SerializationInfo serializationInfo, StreamingContext streamingContext); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); +- void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } +- public class SmtpFailedRecipientException : SmtpException, ISerializable { ++ public class SmtpFailedRecipientException : SmtpException { +- protected SmtpFailedRecipientException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SmtpFailedRecipientException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); +- void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } +- public class SmtpFailedRecipientsException : SmtpFailedRecipientException, ISerializable { ++ public class SmtpFailedRecipientsException : SmtpFailedRecipientException { +- protected SmtpFailedRecipientsException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SmtpFailedRecipientsException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); +- void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Mime.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Mime.md new file mode 100644 index 00000000000..c180dd793c1 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Mime.md @@ -0,0 +1,47 @@ +# System.Net.Mime + +``` diff + namespace System.Net.Mime { + public static class MediaTypeNames { + public static class Application { ++ public const string FormUrlEncoded = "application/x-www-form-urlencoded"; ++ public const string JsonPatch = "application/json-patch+json"; ++ public const string JsonSequence = "application/json-seq"; ++ public const string Manifest = "application/manifest+json"; ++ public const string ProblemJson = "application/problem+json"; ++ public const string ProblemXml = "application/problem+xml"; ++ public const string Wasm = "application/wasm"; ++ public const string XmlDtd = "application/xml-dtd"; ++ public const string XmlPatch = "application/xml-patch+xml"; + } ++ public static class Font { ++ public const string Collection = "font/collection"; ++ public const string Otf = "font/otf"; ++ public const string Sfnt = "font/sfnt"; ++ public const string Ttf = "font/ttf"; ++ public const string Woff = "font/woff"; ++ public const string Woff2 = "font/woff2"; ++ } + public static class Image { ++ public const string Avif = "image/avif"; ++ public const string Bmp = "image/bmp"; ++ public const string Icon = "image/x-icon"; ++ public const string Png = "image/png"; ++ public const string Svg = "image/svg+xml"; ++ public const string Webp = "image/webp"; + } ++ public static class Multipart { ++ public const string ByteRanges = "multipart/byteranges"; ++ public const string FormData = "multipart/form-data"; ++ } + public static class Text { ++ public const string Css = "text/css"; ++ public const string Csv = "text/csv"; ++ public const string JavaScript = "text/javascript"; ++ public const string Markdown = "text/markdown"; ++ public const string Rtf = "text/rtf"; + } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.NetworkInformation.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.NetworkInformation.md new file mode 100644 index 00000000000..7a84e2f1ef8 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.NetworkInformation.md @@ -0,0 +1,23 @@ +# System.Net.NetworkInformation + +``` diff + namespace System.Net.NetworkInformation { + public class NetworkInformationException : Win32Exception { +- protected NetworkInformationException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected NetworkInformationException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class Ping : Component { ++ public Task SendPingAsync(IPAddress address, TimeSpan timeout, byte[]? buffer = null, PingOptions? options = null, CancellationToken cancellationToken = default(CancellationToken)); ++ public Task SendPingAsync(string hostNameOrAddress, TimeSpan timeout, byte[]? buffer = null, PingOptions? options = null, CancellationToken cancellationToken = default(CancellationToken)); + } + public class PingException : InvalidOperationException { +- protected PingException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected PingException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Quic.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Quic.md new file mode 100644 index 00000000000..dbe888475fd --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Quic.md @@ -0,0 +1,25 @@ +# System.Net.Quic + +``` diff + namespace System.Net.Quic { + public sealed class QuicConnection : IAsyncDisposable { ++ public string TargetHostName { get; } + } + public enum QuicError { +- AddressInUse = 4, ++ AlpnInUse = 13, ++ CallbackError = 15, +- HostUnreachable = 7, +- InvalidAddress = 5, +- ProtocolError = 11, ++ TransportError = 14, + } + public sealed class QuicException : IOException { ++ public long? TransportErrorCode { get; } + } + public sealed class QuicStream : Stream { ++ public override string ToString(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Security.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Security.md new file mode 100644 index 00000000000..68385fda5b7 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Security.md @@ -0,0 +1,35 @@ +# System.Net.Security + +``` diff + namespace System.Net.Security { +- public sealed class CipherSuitesPolicy ++ [UnsupportedOSPlatformAttribute("android")] ++ [UnsupportedOSPlatformAttribute("windows")] ++ public sealed class CipherSuitesPolicy +- [UnsupportedOSPlatformAttribute("tvos")] +- public class NegotiateStream : AuthenticatedStream ++ public class NegotiateStream : AuthenticatedStream + public class SslClientAuthenticationOptions { ++ public bool AllowTlsResume { get; set; } ++ public SslStreamCertificateContext ClientCertificateContext { get; set; } + } + public readonly struct SslClientHelloInfo { ++ public SslClientHelloInfo(string serverName, SslProtocols sslProtocols); + } + public class SslServerAuthenticationOptions { ++ public bool AllowTlsResume { get; set; } + } + public class SslStream : AuthenticatedStream { +- public virtual Task NegotiateClientCertificateAsync(CancellationToken cancellationToken = default(CancellationToken)); ++ [SupportedOSPlatformAttribute("freebsd")] ++ [SupportedOSPlatformAttribute("linux")] ++ [SupportedOSPlatformAttribute("windows")] ++ public virtual Task NegotiateClientCertificateAsync(CancellationToken cancellationToken = default(CancellationToken)); + } + public class SslStreamCertificateContext { ++ public ReadOnlyCollection IntermediateCertificates { get; } ++ public X509Certificate2 TargetCertificate { get; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Sockets.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Sockets.md new file mode 100644 index 00000000000..73437ab1e93 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.Sockets.md @@ -0,0 +1,32 @@ +# System.Net.Sockets + +``` diff + namespace System.Net.Sockets { + public class LingerOption { ++ public override bool Equals(object? comparand); ++ public override int GetHashCode(); + } + public class Socket : IDisposable { ++ public int ReceiveFrom(Span buffer, SocketFlags socketFlags, SocketAddress receivedAddress); ++ public ValueTask ReceiveFromAsync(Memory buffer, SocketFlags socketFlags, SocketAddress receivedAddress, CancellationToken cancellationToken = default(CancellationToken)); ++ public int SendTo(ReadOnlySpan buffer, SocketFlags socketFlags, SocketAddress socketAddress); ++ public ValueTask SendToAsync(ReadOnlyMemory buffer, SocketFlags socketFlags, SocketAddress socketAddress, CancellationToken cancellationToken = default(CancellationToken)); + } + public class SocketException : Win32Exception { ++ public SocketException(int errorCode, string? message); +- protected SocketException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SocketException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } +- public class TcpListener { ++ public class TcpListener : IDisposable { ++ public void Dispose(); + } + public sealed class UnixDomainSocketEndPoint : EndPoint { ++ public override bool Equals([NotNullWhenAttribute(true)] object? obj); ++ public override int GetHashCode(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.WebSockets.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.WebSockets.md new file mode 100644 index 00000000000..1b60c338f59 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.WebSockets.md @@ -0,0 +1,16 @@ +# System.Net.WebSockets + +``` diff + namespace System.Net.WebSockets { + public sealed class ClientWebSocket : WebSocket { ++ public override ValueTask SendAsync(ReadOnlyMemory buffer, WebSocketMessageType messageType, WebSocketMessageFlags messageFlags, CancellationToken cancellationToken); + } + public sealed class WebSocketException : Win32Exception { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.md new file mode 100644 index 00000000000..b2bee8e18d9 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Net.md @@ -0,0 +1,148 @@ +# System.Net + +``` diff + namespace System.Net { + public class CookieException : FormatException, ISerializable { +- protected CookieException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected CookieException(SerializationInfo serializationInfo, StreamingContext streamingContext); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class FileWebRequest : WebRequest, ISerializable { +- [ObsoleteAttribute("Serialization has been deprecated for FileWebRequest.")] +- protected FileWebRequest(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("Serialization has been deprecated for FileWebRequest.")] ++ protected FileWebRequest(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class FileWebResponse : WebResponse, ISerializable { +- [ObsoleteAttribute("Serialization has been deprecated for FileWebResponse.")] +- protected FileWebResponse(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("Serialization has been deprecated for FileWebResponse.")] ++ protected FileWebResponse(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class HttpListenerException : Win32Exception { +- protected HttpListenerException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected HttpListenerException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public enum HttpStatusCode { ++ UnprocessableContent = 422, + } + public class HttpWebRequest : WebRequest, ISerializable { +- [ObsoleteAttribute("WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead.", DiagnosticId="SYSLIB0014", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] +- protected HttpWebRequest(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead.", DiagnosticId="SYSLIB0014", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected HttpWebRequest(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class HttpWebResponse : WebResponse, ISerializable { +- [ObsoleteAttribute("Serialization has been deprecated for HttpWebResponse.")] +- protected HttpWebResponse(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("Serialization has been deprecated for HttpWebResponse.")] ++ protected HttpWebResponse(SerializationInfo serializationInfo, StreamingContext streamingContext); + } +- public class IPAddress { ++ public class IPAddress : IFormattable, IParsable, ISpanFormattable, ISpanParsable, IUtf8SpanFormattable { ++ string IFormattable.ToString(string format, IFormatProvider formatProvider); ++ static IPAddress IParsable.Parse(string s, IFormatProvider provider); ++ static bool IParsable.TryParse([NotNullWhenAttribute(true)] string s, IFormatProvider provider, [NotNullWhenAttribute(true)] out IPAddress result); ++ bool ISpanFormattable.TryFormat(Span destination, out int charsWritten, ReadOnlySpan format, IFormatProvider provider); ++ static IPAddress ISpanParsable.Parse(ReadOnlySpan s, IFormatProvider provider); ++ static bool ISpanParsable.TryParse(ReadOnlySpan s, IFormatProvider provider, out IPAddress result); ++ bool IUtf8SpanFormattable.TryFormat(Span utf8Destination, out int bytesWritten, ReadOnlySpan format, IFormatProvider provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten); + } ++ public readonly struct IPNetwork : IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable, IUtf8SpanFormattable { ++ public IPNetwork(IPAddress baseAddress, int prefixLength); ++ public IPAddress BaseAddress { get; } ++ public int PrefixLength { get; } ++ public bool Contains(IPAddress address); ++ public bool Equals(IPNetwork other); ++ public override bool Equals([NotNullWhenAttribute(true)] object? obj); ++ public override int GetHashCode(); ++ public static bool operator ==(IPNetwork left, IPNetwork right); ++ public static bool operator !=(IPNetwork left, IPNetwork right); ++ public static IPNetwork Parse(ReadOnlySpan s); ++ public static IPNetwork Parse(string s); ++ string IFormattable.ToString(string format, IFormatProvider provider); ++ static IPNetwork IParsable.Parse([NotNullAttribute] string s, IFormatProvider provider); ++ static bool IParsable.TryParse([NotNullWhenAttribute(true)] string s, IFormatProvider provider, out IPNetwork result); ++ bool ISpanFormattable.TryFormat(Span destination, out int charsWritten, ReadOnlySpan format, IFormatProvider provider); ++ static IPNetwork ISpanParsable.Parse(ReadOnlySpan s, IFormatProvider provider); ++ static bool ISpanParsable.TryParse(ReadOnlySpan s, IFormatProvider provider, out IPNetwork result); ++ bool IUtf8SpanFormattable.TryFormat(Span utf8Destination, out int bytesWritten, ReadOnlySpan format, IFormatProvider provider); ++ public override string ToString(); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten); ++ public bool TryFormat(Span destination, out int charsWritten); ++ public static bool TryParse(ReadOnlySpan s, out IPNetwork result); ++ public static bool TryParse(string? s, out IPNetwork result); ++ } + public class ProtocolViolationException : InvalidOperationException, ISerializable { +- protected ProtocolViolationException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ProtocolViolationException(SerializationInfo serializationInfo, StreamingContext streamingContext); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } +- public class SocketAddress { ++ public class SocketAddress : IEquatable { ++ public Memory Buffer { get; } +- public int Size { get; } ++ public int Size { get; set; } ++ public bool Equals(SocketAddress? comparand); ++ public static int GetMaximumAddressSize(AddressFamily addressFamily); + } + public class WebException : InvalidOperationException, ISerializable { +- protected WebException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected WebException(SerializationInfo serializationInfo, StreamingContext streamingContext); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class WebHeaderCollection : NameValueCollection, IEnumerable, ISerializable { +- protected WebHeaderCollection(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected WebHeaderCollection(SerializationInfo serializationInfo, StreamingContext streamingContext); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class WebProxy : ISerializable, IWebProxy { +- protected WebProxy(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected WebProxy(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public abstract class WebRequest : MarshalByRefObject, ISerializable { +- [ObsoleteAttribute("WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead.", DiagnosticId="SYSLIB0014", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] +- protected WebRequest(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead.", DiagnosticId="SYSLIB0014", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected WebRequest(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public abstract class WebResponse : MarshalByRefObject, IDisposable, ISerializable { +- [ObsoleteAttribute("Serialization has been deprecated for WebResponse.")] +- protected WebResponse(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("Serialization has been deprecated for WebResponse.")] ++ protected WebResponse(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Numerics.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Numerics.md new file mode 100644 index 00000000000..f1ffb192d84 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Numerics.md @@ -0,0 +1,247 @@ +# System.Numerics + +``` diff + namespace System.Numerics { +- public readonly struct BigInteger : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators ++ public readonly struct BigInteger : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable + public static class BitOperations { ++ [CLSCompliantAttribute(false)] ++ public static uint Crc32C(uint crc, byte data); ++ [CLSCompliantAttribute(false)] ++ public static uint Crc32C(uint crc, ushort data); ++ [CLSCompliantAttribute(false)] ++ public static uint Crc32C(uint crc, uint data); ++ [CLSCompliantAttribute(false)] ++ public static uint Crc32C(uint crc, ulong data); + } +- public readonly struct Complex : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct Complex : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); +- public bool TryFormat(Span destination, out int charsWritten, ReadOnlySpan format, IFormatProvider? provider); ++ public bool TryFormat(Span destination, out int charsWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); + } +- public interface IBinaryFloatingPointIeee754 : IAdditionOperators, IAdditiveIdentity, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IBinaryFloatingPointIeee754? ++ public interface IBinaryFloatingPointIeee754 : IAdditionOperators, IAdditiveIdentity, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IBinaryFloatingPointIeee754? +- public interface IBinaryInteger : IAdditionOperators, IAdditiveIdentity, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IBinaryInteger? ++ public interface IBinaryInteger : IAdditionOperators, IAdditiveIdentity, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IBinaryInteger? +- public interface IBinaryNumber : IAdditionOperators, IAdditiveIdentity, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IBinaryNumber? ++ public interface IBinaryNumber : IAdditionOperators, IAdditiveIdentity, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IBinaryNumber? +- public interface IExponentialFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IExponentialFunctions? ++ public interface IExponentialFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IExponentialFunctions? +- public interface IFloatingPoint : IAdditionOperators, IAdditiveIdentity, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IFloatingPoint? ++ public interface IFloatingPoint : IAdditionOperators, IAdditiveIdentity, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IFloatingPoint? +- public interface IFloatingPointConstants : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IFloatingPointConstants? ++ public interface IFloatingPointConstants : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IFloatingPointConstants? +- public interface IFloatingPointIeee754 : IAdditionOperators, IAdditiveIdentity, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IFloatingPointIeee754? { ++ public interface IFloatingPointIeee754 : IAdditionOperators, IAdditiveIdentity, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IFloatingPointIeee754? { ++ static TSelf Lerp(TSelf value1, TSelf value2, TSelf amount); + } +- public interface IHyperbolicFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IHyperbolicFunctions? ++ public interface IHyperbolicFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IHyperbolicFunctions? +- public interface ILogarithmicFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : ILogarithmicFunctions? ++ public interface ILogarithmicFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : ILogarithmicFunctions? +- public interface INumber : IAdditionOperators, IAdditiveIdentity, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : INumber? ++ public interface INumber : IAdditionOperators, IAdditiveIdentity, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : INumber? +- public interface INumberBase : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : INumberBase? { ++ public interface INumberBase : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : INumberBase? { ++ static TSelf Parse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider); ++ bool IUtf8SpanFormattable.TryFormat(Span utf8Destination, out int bytesWritten, ReadOnlySpan format, IFormatProvider provider); ++ static TSelf IUtf8SpanParsable.Parse(ReadOnlySpan utf8Text, IFormatProvider provider); ++ static bool IUtf8SpanParsable.TryParse(ReadOnlySpan utf8Text, IFormatProvider provider, [MaybeNullWhenAttribute(false)] out TSelf result); ++ static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, [MaybeNullWhenAttribute(false)] out TSelf result); + } +- public interface IPowerFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IPowerFunctions? ++ public interface IPowerFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IPowerFunctions? +- public interface IRootFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IRootFunctions? ++ public interface IRootFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IRootFunctions? +- public interface ISignedNumber : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : ISignedNumber? ++ public interface ISignedNumber : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : ISignedNumber? +- public interface ITrigonometricFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : ITrigonometricFunctions? { ++ public interface ITrigonometricFunctions : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPointConstants, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : ITrigonometricFunctions? { ++ static TSelf DegreesToRadians(TSelf degrees); ++ static TSelf RadiansToDegrees(TSelf radians); + } +- public interface IUnsignedNumber : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators where TSelf : IUnsignedNumber? ++ public interface IUnsignedNumber : IAdditionOperators, IAdditiveIdentity, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMultiplicativeIdentity, IMultiplyOperators, INumberBase, IParsable, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable where TSelf : IUnsignedNumber? + public struct Matrix4x4 : IEquatable { ++ public static Matrix4x4 CreateLookAtLeftHanded(Vector3 cameraPosition, Vector3 cameraTarget, Vector3 cameraUpVector); ++ public static Matrix4x4 CreateLookTo(Vector3 cameraPosition, Vector3 cameraDirection, Vector3 cameraUpVector); ++ public static Matrix4x4 CreateLookToLeftHanded(Vector3 cameraPosition, Vector3 cameraDirection, Vector3 cameraUpVector); ++ public static Matrix4x4 CreateOrthographicLeftHanded(float width, float height, float zNearPlane, float zFarPlane); ++ public static Matrix4x4 CreateOrthographicOffCenterLeftHanded(float left, float right, float bottom, float top, float zNearPlane, float zFarPlane); ++ public static Matrix4x4 CreatePerspectiveFieldOfViewLeftHanded(float fieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance); ++ public static Matrix4x4 CreatePerspectiveLeftHanded(float width, float height, float nearPlaneDistance, float farPlaneDistance); ++ public static Matrix4x4 CreatePerspectiveOffCenterLeftHanded(float left, float right, float bottom, float top, float nearPlaneDistance, float farPlaneDistance); ++ public static Matrix4x4 CreateViewport(float x, float y, float width, float height, float minDepth, float maxDepth); ++ public static Matrix4x4 CreateViewportLeftHanded(float x, float y, float width, float height, float minDepth, float maxDepth); + } ++ public readonly struct TotalOrderIeee754Comparer : IComparer, IEqualityComparer, IEquatable> where T : IFloatingPointIeee754? { ++ public int Compare(T x, T y); ++ public bool Equals(TotalOrderIeee754Comparer other); ++ public override bool Equals([NotNullWhenAttribute(true)] object obj); ++ public bool Equals(T x, T y); ++ public override int GetHashCode(); ++ public int GetHashCode([DisallowNullAttribute] T obj); ++ } + public static class Vector { +- public static Vector Abs(Vector value) where T : struct; ++ public static Vector Abs(Vector value); +- public static Vector Add(Vector left, Vector right) where T : struct; ++ public static Vector Add(Vector left, Vector right); +- public static Vector AndNot(Vector left, Vector right) where T : struct; ++ public static Vector AndNot(Vector left, Vector right); +- public static Vector As(this Vector vector) where TFrom : struct where TTo : struct; ++ public static Vector As(this Vector vector); +- public static Vector AsVectorByte(Vector value) where T : struct; ++ public static Vector AsVectorByte(Vector value); +- public static Vector AsVectorDouble(Vector value) where T : struct; ++ public static Vector AsVectorDouble(Vector value); +- public static Vector AsVectorInt16(Vector value) where T : struct; ++ public static Vector AsVectorInt16(Vector value); +- public static Vector AsVectorInt32(Vector value) where T : struct; ++ public static Vector AsVectorInt32(Vector value); +- public static Vector AsVectorInt64(Vector value) where T : struct; ++ public static Vector AsVectorInt64(Vector value); +- public static Vector AsVectorNInt(Vector value) where T : struct; ++ public static Vector AsVectorNInt(Vector value); +- [CLSCompliantAttribute(false)] +- public static Vector AsVectorNUInt(Vector value) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector AsVectorNUInt(Vector value); +- [CLSCompliantAttribute(false)] +- public static Vector AsVectorSByte(Vector value) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector AsVectorSByte(Vector value); +- public static Vector AsVectorSingle(Vector value) where T : struct; ++ public static Vector AsVectorSingle(Vector value); +- [CLSCompliantAttribute(false)] +- public static Vector AsVectorUInt16(Vector value) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector AsVectorUInt16(Vector value); +- [CLSCompliantAttribute(false)] +- public static Vector AsVectorUInt32(Vector value) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector AsVectorUInt32(Vector value); +- [CLSCompliantAttribute(false)] +- public static Vector AsVectorUInt64(Vector value) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector AsVectorUInt64(Vector value); +- public static Vector BitwiseAnd(Vector left, Vector right) where T : struct; ++ public static Vector BitwiseAnd(Vector left, Vector right); +- public static Vector BitwiseOr(Vector left, Vector right) where T : struct; ++ public static Vector BitwiseOr(Vector left, Vector right); +- public static Vector ConditionalSelect(Vector condition, Vector left, Vector right) where T : struct; ++ public static Vector ConditionalSelect(Vector condition, Vector left, Vector right); +- public static Vector Divide(Vector left, Vector right) where T : struct; ++ public static Vector Divide(Vector left, Vector right); ++ public static Vector Divide(Vector left, T right); +- public static T Dot(Vector left, Vector right) where T : struct; ++ public static T Dot(Vector left, Vector right); +- public static Vector Equals(Vector left, Vector right) where T : struct; ++ public static Vector Equals(Vector left, Vector right); +- public static bool EqualsAll(Vector left, Vector right) where T : struct; ++ public static bool EqualsAll(Vector left, Vector right); +- public static bool EqualsAny(Vector left, Vector right) where T : struct; ++ public static bool EqualsAny(Vector left, Vector right); ++ public static T GetElement(this Vector vector, int index); +- public static Vector GreaterThan(Vector left, Vector right) where T : struct; ++ public static Vector GreaterThan(Vector left, Vector right); +- public static bool GreaterThanAll(Vector left, Vector right) where T : struct; ++ public static bool GreaterThanAll(Vector left, Vector right); +- public static bool GreaterThanAny(Vector left, Vector right) where T : struct; ++ public static bool GreaterThanAny(Vector left, Vector right); +- public static Vector GreaterThanOrEqual(Vector left, Vector right) where T : struct; ++ public static Vector GreaterThanOrEqual(Vector left, Vector right); +- public static bool GreaterThanOrEqualAll(Vector left, Vector right) where T : struct; ++ public static bool GreaterThanOrEqualAll(Vector left, Vector right); +- public static bool GreaterThanOrEqualAny(Vector left, Vector right) where T : struct; ++ public static bool GreaterThanOrEqualAny(Vector left, Vector right); +- public static Vector LessThan(Vector left, Vector right) where T : struct; ++ public static Vector LessThan(Vector left, Vector right); +- public static bool LessThanAll(Vector left, Vector right) where T : struct; ++ public static bool LessThanAll(Vector left, Vector right); +- public static bool LessThanAny(Vector left, Vector right) where T : struct; ++ public static bool LessThanAny(Vector left, Vector right); +- public static Vector LessThanOrEqual(Vector left, Vector right) where T : struct; ++ public static Vector LessThanOrEqual(Vector left, Vector right); +- public static bool LessThanOrEqualAll(Vector left, Vector right) where T : struct; ++ public static bool LessThanOrEqualAll(Vector left, Vector right); +- public static bool LessThanOrEqualAny(Vector left, Vector right) where T : struct; ++ public static bool LessThanOrEqualAny(Vector left, Vector right); ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector Load(T* source); ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector LoadAligned(T* source); ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector LoadAlignedNonTemporal(T* source); ++ public static Vector LoadUnsafe([RequiresLocationAttribute] ref T source); ++ [CLSCompliantAttribute(false)] ++ public static Vector LoadUnsafe([RequiresLocationAttribute] ref T source, UIntPtr elementOffset); +- public static Vector Max(Vector left, Vector right) where T : struct; ++ public static Vector Max(Vector left, Vector right); +- public static Vector Min(Vector left, Vector right) where T : struct; ++ public static Vector Min(Vector left, Vector right); +- public static Vector Multiply(Vector left, Vector right) where T : struct; ++ public static Vector Multiply(Vector left, Vector right); +- public static Vector Multiply(Vector left, T right) where T : struct; ++ public static Vector Multiply(Vector left, T right); +- public static Vector Multiply(T left, Vector right) where T : struct; ++ public static Vector Multiply(T left, Vector right); +- public static Vector Negate(Vector value) where T : struct; ++ public static Vector Negate(Vector value); +- public static Vector OnesComplement(Vector value) where T : struct; ++ public static Vector OnesComplement(Vector value); +- public static Vector SquareRoot(Vector value) where T : struct; ++ public static Vector SquareRoot(Vector value); ++ [CLSCompliantAttribute(false)] ++ public unsafe static void Store(this Vector source, T* destination); ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAligned(this Vector source, T* destination); ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAlignedNonTemporal(this Vector source, T* destination); ++ public static void StoreUnsafe(this Vector source, ref T destination); ++ [CLSCompliantAttribute(false)] ++ public static void StoreUnsafe(this Vector source, ref T destination, UIntPtr elementOffset); +- public static Vector Subtract(Vector left, Vector right) where T : struct; ++ public static Vector Subtract(Vector left, Vector right); +- public static T Sum(Vector value) where T : struct; ++ public static T Sum(Vector value); ++ public static T ToScalar(this Vector vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector WidenLower(Vector source); ++ public static Vector WidenLower(Vector source); ++ public static Vector WidenLower(Vector source); ++ [CLSCompliantAttribute(false)] ++ public static Vector WidenLower(Vector source); ++ public static Vector WidenLower(Vector source); ++ [CLSCompliantAttribute(false)] ++ public static Vector WidenLower(Vector source); ++ [CLSCompliantAttribute(false)] ++ public static Vector WidenLower(Vector source); ++ [CLSCompliantAttribute(false)] ++ public static Vector WidenUpper(Vector source); ++ public static Vector WidenUpper(Vector source); ++ public static Vector WidenUpper(Vector source); ++ [CLSCompliantAttribute(false)] ++ public static Vector WidenUpper(Vector source); ++ public static Vector WidenUpper(Vector source); ++ [CLSCompliantAttribute(false)] ++ public static Vector WidenUpper(Vector source); ++ [CLSCompliantAttribute(false)] ++ public static Vector WidenUpper(Vector source); ++ public static Vector WithElement(this Vector vector, int index, T value); +- public static Vector Xor(Vector left, Vector right) where T : struct; ++ public static Vector Xor(Vector left, Vector right); + } +- public readonly struct Vector : IEquatable>, IFormattable where T : struct { ++ public readonly struct Vector : IEquatable>, IFormattable { ++ public static Vector AllBitsSet { get; } ++ public static Vector operator /(Vector left, T right); ++ public static Vector operator <<(Vector value, int shiftCount); ++ public static Vector operator >>(Vector value, int shiftCount); ++ public static Vector operator +(Vector value); ++ public static Vector operator >>>(Vector value, int shiftCount); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.Emit.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.Emit.md new file mode 100644 index 00000000000..e7567fc821d --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.Emit.md @@ -0,0 +1,193 @@ +# System.Reflection.Emit + +``` diff + namespace System.Reflection.Emit { +- public sealed class AssemblyBuilder : Assembly { ++ public abstract class AssemblyBuilder : Assembly { ++ protected AssemblyBuilder(); ++ protected abstract ModuleBuilder DefineDynamicModuleCore(string name); ++ protected abstract ModuleBuilder? GetDynamicModuleCore(string name); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); + } +- public sealed class ConstructorBuilder : ConstructorInfo { ++ public abstract class ConstructorBuilder : ConstructorInfo { ++ protected ConstructorBuilder(); ++ protected abstract bool InitLocalsCore { get; set; } ++ protected abstract ParameterBuilder DefineParameterCore(int iSequence, ParameterAttributes attributes, string strParamName); ++ protected abstract ILGenerator GetILGeneratorCore(int streamSize); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); ++ protected abstract void SetImplementationFlagsCore(MethodImplAttributes attributes); + } +- public sealed class EnumBuilder : TypeInfo { ++ public abstract class EnumBuilder : TypeInfo { ++ protected EnumBuilder(); ++ protected abstract FieldBuilder UnderlyingFieldCore { get; } ++ protected abstract TypeInfo CreateTypeInfoCore(); ++ protected abstract FieldBuilder DefineLiteralCore(string literalName, object? literalValue); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); + } +- public sealed class EventBuilder { ++ public abstract class EventBuilder { ++ protected EventBuilder(); ++ protected abstract void AddOtherMethodCore(MethodBuilder mdBuilder); ++ protected abstract void SetAddOnMethodCore(MethodBuilder mdBuilder); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); ++ protected abstract void SetRaiseMethodCore(MethodBuilder mdBuilder); ++ protected abstract void SetRemoveOnMethodCore(MethodBuilder mdBuilder); + } +- public sealed class FieldBuilder : FieldInfo { ++ public abstract class FieldBuilder : FieldInfo { ++ protected FieldBuilder(); ++ protected abstract void SetConstantCore(object? defaultValue); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); ++ protected abstract void SetOffsetCore(int iOffset); + } +- public sealed class GenericTypeParameterBuilder : TypeInfo { ++ public abstract class GenericTypeParameterBuilder : TypeInfo { ++ protected GenericTypeParameterBuilder(); ++ protected abstract void SetBaseTypeConstraintCore(Type? baseTypeConstraint); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); ++ protected abstract void SetGenericParameterAttributesCore(GenericParameterAttributes genericParameterAttributes); ++ protected abstract void SetInterfaceConstraintsCore(params Type[]? interfaceConstraints); + } +- 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 sealed class MethodBuilder : MethodInfo { ++ public abstract class MethodBuilder : MethodInfo { ++ protected MethodBuilder(); ++ protected abstract bool InitLocalsCore { get; set; } ++ protected abstract GenericTypeParameterBuilder[] DefineGenericParametersCore(params string[] names); ++ protected abstract ParameterBuilder DefineParameterCore(int position, ParameterAttributes attributes, string? strParamName); ++ protected abstract ILGenerator GetILGeneratorCore(int size); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); ++ protected abstract void SetImplementationFlagsCore(MethodImplAttributes attributes); ++ protected abstract void SetSignatureCore(Type? returnType, Type[]? returnTypeRequiredCustomModifiers, Type[]? returnTypeOptionalCustomModifiers, Type[]? parameterTypes, Type[][]? parameterTypeRequiredCustomModifiers, Type[][]? parameterTypeOptionalCustomModifiers); + } +- public class ModuleBuilder : Module { ++ public abstract class ModuleBuilder : Module { ++ protected ModuleBuilder(); ++ protected abstract void CreateGlobalFunctionsCore(); ++ protected abstract EnumBuilder DefineEnumCore(string name, TypeAttributes visibility, Type underlyingType); ++ protected abstract MethodBuilder DefineGlobalMethodCore(string name, MethodAttributes attributes, CallingConventions callingConvention, Type? returnType, Type[]? requiredReturnTypeCustomModifiers, Type[]? optionalReturnTypeCustomModifiers, Type[]? parameterTypes, Type[][]? requiredParameterTypeCustomModifiers, Type[][]? optionalParameterTypeCustomModifiers); ++ protected abstract FieldBuilder DefineInitializedDataCore(string name, byte[] data, FieldAttributes attributes); ++ [RequiresUnreferencedCodeAttribute("P/Invoke marshalling may dynamically access members that could be trimmed.")] ++ protected abstract MethodBuilder DefinePInvokeMethodCore(string name, string dllName, string entryName, MethodAttributes attributes, CallingConventions callingConvention, Type? returnType, Type[]? parameterTypes, CallingConvention nativeCallConv, CharSet nativeCharSet); ++ protected abstract TypeBuilder DefineTypeCore(string name, TypeAttributes attr, Type? parent, Type[]? interfaces, PackingSize packingSize, int typesize); ++ protected abstract FieldBuilder DefineUninitializedDataCore(string name, int size, FieldAttributes attributes); ++ protected abstract MethodInfo GetArrayMethodCore(Type arrayClass, string methodName, CallingConventions callingConvention, Type? returnType, Type[]? parameterTypes); ++ public abstract int GetFieldMetadataToken(FieldInfo field); ++ public abstract int GetMethodMetadataToken(ConstructorInfo constructor); ++ public abstract int GetMethodMetadataToken(MethodInfo method); ++ public abstract int GetSignatureMetadataToken(SignatureHelper signature); ++ public abstract int GetStringMetadataToken(string stringConstant); ++ public abstract int GetTypeMetadataToken(Type type); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); + } +- public class ParameterBuilder { ++ public abstract class ParameterBuilder { ++ protected ParameterBuilder(); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); + } +- public sealed class PropertyBuilder : PropertyInfo { ++ public abstract class PropertyBuilder : PropertyInfo { ++ protected PropertyBuilder(); ++ protected abstract void AddOtherMethodCore(MethodBuilder mdBuilder); ++ protected abstract void SetConstantCore(object? defaultValue); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); ++ protected abstract void SetGetMethodCore(MethodBuilder mdBuilder); ++ protected abstract void SetSetMethodCore(MethodBuilder mdBuilder); + } +- public sealed class TypeBuilder : TypeInfo { ++ public abstract class TypeBuilder : TypeInfo { ++ protected TypeBuilder(); ++ protected abstract PackingSize PackingSizeCore { get; } ++ protected abstract int SizeCore { get; } ++ protected abstract void AddInterfaceImplementationCore(Type interfaceType); ++ protected abstract TypeInfo CreateTypeInfoCore(); ++ protected abstract ConstructorBuilder DefineConstructorCore(MethodAttributes attributes, CallingConventions callingConvention, Type[]? parameterTypes, Type[][]? requiredCustomModifiers, Type[][]? optionalCustomModifiers); ++ protected abstract ConstructorBuilder DefineDefaultConstructorCore(MethodAttributes attributes); ++ protected abstract EventBuilder DefineEventCore(string name, EventAttributes attributes, Type eventtype); ++ protected abstract FieldBuilder DefineFieldCore(string fieldName, Type type, Type[]? requiredCustomModifiers, Type[]? optionalCustomModifiers, FieldAttributes attributes); ++ protected abstract GenericTypeParameterBuilder[] DefineGenericParametersCore(params string[] names); ++ protected abstract FieldBuilder DefineInitializedDataCore(string name, byte[] data, FieldAttributes attributes); ++ protected abstract MethodBuilder DefineMethodCore(string name, MethodAttributes attributes, CallingConventions callingConvention, Type? returnType, Type[]? returnTypeRequiredCustomModifiers, Type[]? returnTypeOptionalCustomModifiers, Type[]? parameterTypes, Type[][]? parameterTypeRequiredCustomModifiers, Type[][]? parameterTypeOptionalCustomModifiers); ++ protected abstract void DefineMethodOverrideCore(MethodInfo methodInfoBody, MethodInfo methodInfoDeclaration); ++ protected abstract TypeBuilder DefineNestedTypeCore(string name, TypeAttributes attr, Type? parent, Type[]? interfaces, PackingSize packSize, int typeSize); ++ [RequiresUnreferencedCodeAttribute("P/Invoke marshalling may dynamically access members that could be trimmed.")] ++ protected abstract MethodBuilder DefinePInvokeMethodCore(string name, string dllName, string entryName, MethodAttributes attributes, CallingConventions callingConvention, Type? returnType, Type[]? returnTypeRequiredCustomModifiers, Type[]? returnTypeOptionalCustomModifiers, Type[]? parameterTypes, Type[][]? parameterTypeRequiredCustomModifiers, Type[][]? parameterTypeOptionalCustomModifiers, CallingConvention nativeCallConv, CharSet nativeCharSet); ++ protected abstract PropertyBuilder DefinePropertyCore(string name, PropertyAttributes attributes, CallingConventions callingConvention, Type returnType, Type[]? returnTypeRequiredCustomModifiers, Type[]? returnTypeOptionalCustomModifiers, Type[]? parameterTypes, Type[][]? parameterTypeRequiredCustomModifiers, Type[][]? parameterTypeOptionalCustomModifiers); ++ protected abstract ConstructorBuilder DefineTypeInitializerCore(); ++ protected abstract FieldBuilder DefineUninitializedDataCore(string name, int size, FieldAttributes attributes); ++ protected abstract bool IsCreatedCore(); ++ protected abstract void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); ++ protected abstract void SetParentCore(Type? parent); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.Metadata.Ecma335.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.Metadata.Ecma335.md new file mode 100644 index 00000000000..228c535ff3a --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.Metadata.Ecma335.md @@ -0,0 +1,16 @@ +# System.Reflection.Metadata.Ecma335 + +``` diff + namespace System.Reflection.Metadata.Ecma335 { + public readonly struct InstructionEncoder { ++ public SwitchInstructionEncoder Switch(int branchCount); + } + public readonly struct SignatureTypeEncoder { ++ public void TypedReference(); + } ++ public readonly struct SwitchInstructionEncoder { ++ public void Branch(LabelHandle label); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.Metadata.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.Metadata.md new file mode 100644 index 00000000000..fe35ac7dd53 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.Metadata.md @@ -0,0 +1,13 @@ +# System.Reflection.Metadata + +``` diff + namespace System.Reflection.Metadata { + public class ImageFormatLimitationException : Exception { +- protected ImageFormatLimitationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ImageFormatLimitationException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.PortableExecutable.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.PortableExecutable.md new file mode 100644 index 00000000000..53bf5ab9119 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.PortableExecutable.md @@ -0,0 +1,12 @@ +# System.Reflection.PortableExecutable + +``` diff + namespace System.Reflection.PortableExecutable { + [FlagsAttribute] + public enum DllCharacteristics : ushort { ++ ControlFlowGuard = (ushort)16384, ++ ForceIntegrity = (ushort)128, + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.md new file mode 100644 index 00000000000..f9a922168e4 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Reflection.md @@ -0,0 +1,138 @@ +# System.Reflection + +``` diff + namespace System.Reflection { + public abstract class Assembly : ICustomAttributeProvider, ISerializable { +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public sealed class AssemblyName : ICloneable, IDeserializationCallback, ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } ++ public sealed class ConstructorInvoker { ++ public static ConstructorInvoker Create(ConstructorInfo constructor); ++ public object Invoke(); ++ public object Invoke(object? arg1); ++ public object Invoke(object? arg1, object? arg2); ++ public object Invoke(object? arg1, object? arg2, object? arg3); ++ public object Invoke(object? arg1, object? arg2, object? arg3, object? arg4); ++ public object Invoke(Span arguments); ++ } + public class CustomAttributeFormatException : FormatException { +- protected CustomAttributeFormatException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected CustomAttributeFormatException(SerializationInfo info, StreamingContext context); + } + public abstract class DispatchProxy { ++ public static object Create(Type interfaceType, Type proxyType); + } + [FlagsAttribute] + public enum FieldAttributes { +- NotSerialized = 128, ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ NotSerialized = 128, + } + public abstract class FieldInfo : MemberInfo { +- public bool IsNotSerialized { get; } ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public bool IsNotSerialized { get; } +- public override bool Equals(object obj); ++ public override bool Equals(object? obj); ++ public virtual Type GetModifiedFieldType(); +- public virtual object GetRawConstantValue(); ++ public virtual object? GetRawConstantValue(); +- public abstract object GetValue(object obj); ++ public abstract object? GetValue(object? obj); +- [CLSCompliantAttribute(false)] +- public virtual object GetValueDirect(TypedReference obj); ++ [CLSCompliantAttribute(false)] ++ public virtual object? GetValueDirect(TypedReference obj); +- public static bool operator ==(FieldInfo left, FieldInfo right); ++ public static bool operator ==(FieldInfo? left, FieldInfo? right); +- public static bool operator !=(FieldInfo left, FieldInfo right); ++ public static bool operator !=(FieldInfo? left, FieldInfo? right); +- public void SetValue(object obj, object value); ++ public void SetValue(object? obj, object? value); +- public abstract void SetValue(object obj, object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture); ++ public abstract void SetValue(object? obj, object? value, BindingFlags invokeAttr, Binder? binder, CultureInfo? culture); + } +- public static class IntrospectionExtensions { ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public static class IntrospectionExtensions { +- public static TypeInfo GetTypeInfo(this Type type); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public static TypeInfo GetTypeInfo(this Type type); + } + public class InvalidFilterCriteriaException : ApplicationException { +- protected InvalidFilterCriteriaException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidFilterCriteriaException(SerializationInfo info, StreamingContext context); + } ++ public sealed class MethodInvoker { ++ public static MethodInvoker Create(MethodBase method); ++ public object Invoke(object obj); ++ public object Invoke(object obj, object arg1); ++ public object Invoke(object obj, object arg1, object arg2); ++ public object Invoke(object obj, object arg1, object arg2, object arg3); ++ public object Invoke(object obj, object arg1, object arg2, object arg3, object arg4); ++ public object Invoke(object obj, Span arguments); ++ } + public abstract class Module : ICustomAttributeProvider, ISerializable { +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class ParameterInfo : ICustomAttributeProvider, IObjectReference { ++ public virtual Type GetModifiedParameterType(); +- public object GetRealObject(StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public object GetRealObject(StreamingContext context); + } + public abstract class PropertyInfo : MemberInfo { ++ public virtual Type GetModifiedPropertyType(); + } +- public sealed class ReflectionTypeLoadException : SystemException, ISerializable { ++ public sealed class ReflectionTypeLoadException : SystemException { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + [ObsoleteAttribute("Strong name signing is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0017", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] + public class StrongNameKeyPair : IDeserializationCallback, ISerializable { +- protected StrongNameKeyPair(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected StrongNameKeyPair(SerializationInfo info, StreamingContext context); + } + public class TargetException : ApplicationException { +- protected TargetException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TargetException(SerializationInfo info, StreamingContext context); + } + [FlagsAttribute] + public enum TypeAttributes { +- Serializable = 8192, ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ Serializable = 8192, + } + public class TypeDelegator : TypeInfo { ++ public override bool IsFunctionPointer { get; } ++ public override bool IsUnmanagedFunctionPointer { get; } ++ public override Type[] GetFunctionPointerCallingConventions(); ++ public override Type[] GetFunctionPointerParameterTypes(); ++ public override Type GetFunctionPointerReturnType(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Resources.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Resources.md new file mode 100644 index 00000000000..bc6393bcb92 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Resources.md @@ -0,0 +1,19 @@ +# System.Resources + +``` diff + namespace System.Resources { + [EditorBrowsableAttribute(EditorBrowsableState.Never)] + public class MissingManifestResourceException : SystemException { +- protected MissingManifestResourceException(SerializationInfo info, StreamingContext context); ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MissingManifestResourceException(SerializationInfo info, StreamingContext context); + } + public class MissingSatelliteAssemblyException : SystemException { +- protected MissingSatelliteAssemblyException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MissingSatelliteAssemblyException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.CompilerServices.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.CompilerServices.md new file mode 100644 index 00000000000..cb12c97abfa --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.CompilerServices.md @@ -0,0 +1,123 @@ +# System.Runtime.CompilerServices + +``` diff + namespace System.Runtime.CompilerServices { ++ [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Struct, Inherited=false)] ++ public sealed class CollectionBuilderAttribute : Attribute { ++ public CollectionBuilderAttribute(Type builderType, string methodName); ++ public Type BuilderType { get; } ++ public string MethodName { get; } ++ } + [InterpolatedStringHandlerAttribute] + public ref struct DefaultInterpolatedStringHandler { + public void AppendFormatted([ScopedRefAttribute] ReadOnlySpan value); + public void AppendFormatted([ScopedRefAttribute] ReadOnlySpan value, int alignment = 0, string? format = null); + } ++ [AttributeUsageAttribute(AttributeTargets.Struct, AllowMultiple=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class InlineArrayAttribute : Attribute { ++ public InlineArrayAttribute(int length); ++ public int Length { get; } ++ } ++ [AttributeUsageAttribute(AttributeTargets.All)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class IsUnmanagedAttribute : Attribute { ++ public IsUnmanagedAttribute(); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Event | AttributeTargets.Field | AttributeTargets.GenericParameter | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, Inherited=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class NullableAttribute : Attribute { ++ public readonly byte[] NullableFlags; ++ public NullableAttribute(byte value); ++ public NullableAttribute(byte[] value); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Delegate | AttributeTargets.Interface | AttributeTargets.Method | AttributeTargets.Struct, Inherited=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class NullableContextAttribute : Attribute { ++ public readonly byte Flag; ++ public NullableContextAttribute(byte value); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Module, Inherited=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class NullablePublicOnlyAttribute : Attribute { ++ public readonly bool IncludesInternals; ++ public NullablePublicOnlyAttribute(bool value); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Module, Inherited=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class RefSafetyRulesAttribute : Attribute { ++ public RefSafetyRulesAttribute(int version); ++ public int Version { get; } ++ } +- [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Struct, AllowMultiple=false, Inherited=false)] +- public sealed class RequiredMemberAttribute : Attribute ++ [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Struct, AllowMultiple=false, Inherited=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class RequiredMemberAttribute : Attribute ++ [AttributeUsageAttribute(AttributeTargets.Parameter, Inherited=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class RequiresLocationAttribute : Attribute { ++ public RequiresLocationAttribute(); ++ } + public sealed class RuntimeWrappedException : Exception { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } ++ [AttributeUsageAttribute(AttributeTargets.Parameter, Inherited=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class ScopedRefAttribute : Attribute { ++ public ScopedRefAttribute(); ++ } + public sealed class SwitchExpressionException : InvalidOperationException { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public static class Unsafe { +- public static bool AreSame([AllowNullAttribute] ref T left, [AllowNullAttribute] ref T right); ++ public static bool AreSame([AllowNullAttribute, RequiresLocationAttribute] ref T left, [AllowNullAttribute, RequiresLocationAttribute] ref T right); +- public static ref T AsRef([ScopedRefAttribute] in T source); ++ public static ref T AsRef([RequiresLocationAttribute, ScopedRefAttribute] ref T source); ++ public static TTo BitCast(TFrom source) where TFrom : struct where TTo : struct; +- public static IntPtr ByteOffset([AllowNullAttribute] ref T origin, [AllowNullAttribute] ref T target); ++ public static IntPtr ByteOffset([AllowNullAttribute, RequiresLocationAttribute] ref T origin, [AllowNullAttribute, RequiresLocationAttribute] ref T target); +- [CLSCompliantAttribute(false)] +- public unsafe static void Copy(void* destination, ref T source); ++ [CLSCompliantAttribute(false)] ++ public unsafe static void Copy(void* destination, [RequiresLocationAttribute] ref T source); +- [CLSCompliantAttribute(false)] +- public static void CopyBlock(ref byte destination, ref byte source, uint byteCount); ++ [CLSCompliantAttribute(false)] ++ public static void CopyBlock(ref byte destination, [RequiresLocationAttribute] ref byte source, uint byteCount); +- [CLSCompliantAttribute(false)] +- public static void CopyBlockUnaligned(ref byte destination, ref byte source, uint byteCount); ++ [CLSCompliantAttribute(false)] ++ public static void CopyBlockUnaligned(ref byte destination, [RequiresLocationAttribute] ref byte source, uint byteCount); +- public static bool IsAddressGreaterThan([AllowNullAttribute] ref T left, [AllowNullAttribute] ref T right); ++ public static bool IsAddressGreaterThan([AllowNullAttribute, RequiresLocationAttribute] ref T left, [AllowNullAttribute, RequiresLocationAttribute] ref T right); +- public static bool IsAddressLessThan([AllowNullAttribute] ref T left, [AllowNullAttribute] ref T right); ++ public static bool IsAddressLessThan([AllowNullAttribute, RequiresLocationAttribute] ref T left, [AllowNullAttribute, RequiresLocationAttribute] ref T right); +- public static bool IsNullRef(ref T source); ++ public static bool IsNullRef([RequiresLocationAttribute] ref T source); +- public static T ReadUnaligned(ref byte source); ++ public static T ReadUnaligned([RequiresLocationAttribute] ref byte source); + } ++ [AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple=false, Inherited=false)] ++ public sealed class UnsafeAccessorAttribute : Attribute { ++ public UnsafeAccessorAttribute(UnsafeAccessorKind kind); ++ public UnsafeAccessorKind Kind { get; } ++ public string Name { get; set; } ++ } ++ public enum UnsafeAccessorKind { ++ Constructor = 0, ++ Field = 3, ++ Method = 1, ++ StaticField = 4, ++ StaticMethod = 2, ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.InteropServices.JavaScript.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.InteropServices.JavaScript.md new file mode 100644 index 00000000000..74429300701 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.InteropServices.JavaScript.md @@ -0,0 +1,13 @@ +# System.Runtime.InteropServices.JavaScript + +``` diff + namespace System.Runtime.InteropServices.JavaScript { + [CLSCompliantAttribute(false)] + [EditorBrowsableAttribute(EditorBrowsableState.Never)] + [SupportedOSPlatformAttribute("browser")] + public sealed class JSFunctionBinding { +- public JSFunctionBinding(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.InteropServices.Marshalling.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.InteropServices.Marshalling.md new file mode 100644 index 00000000000..23175800602 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.InteropServices.Marshalling.md @@ -0,0 +1,179 @@ +# System.Runtime.InteropServices.Marshalling + +``` diff + namespace System.Runtime.InteropServices.Marshalling { ++ [AttributeUsageAttribute(AttributeTargets.Class, Inherited=false)] ++ [CLSCompliantAttribute(false)] ++ public sealed class ComExposedClassAttribute : Attribute, IComExposedDetails where T : IComExposedClass { ++ public ComExposedClassAttribute(); ++ public unsafe ComWrappers.ComInterfaceEntry* GetComInterfaceEntries(out int count); ++ } ++ [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); ++ public unsafe static void Free(void* unmanaged); ++ } ++ [FlagsAttribute] ++ public enum ComInterfaceOptions { ++ ComObjectWrapper = 2, ++ ManagedObjectWrapper = 1, ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ None = 0, ++ } ++ public sealed class ComObject : IDynamicInterfaceCastable, IUnmanagedVirtualMethodTableProvider { ++ ~ComObject(); ++ public void FinalRelease(); ++ RuntimeTypeHandle IDynamicInterfaceCastable.GetInterfaceImplementation(RuntimeTypeHandle interfaceType); ++ bool IDynamicInterfaceCastable.IsInterfaceImplemented(RuntimeTypeHandle interfaceType, bool throwIfNotImplemented); ++ VirtualMethodTableInfo IUnmanagedVirtualMethodTableProvider.GetVirtualMethodTableInfoForKey(Type type); ++ } ++ [CustomMarshallerAttribute(typeof(Exception), MarshalMode.UnmanagedToManagedOut, typeof(ExceptionAsDefaultMarshaller<>))] ++ public static class ExceptionAsDefaultMarshaller where T : struct { ++ public static T ConvertToUnmanaged(Exception e); ++ } ++ [CustomMarshallerAttribute(typeof(Exception), MarshalMode.UnmanagedToManagedOut, typeof(ExceptionAsHResultMarshaller<>))] ++ public static class ExceptionAsHResultMarshaller where T : struct { ++ public static T ConvertToUnmanaged(Exception e); ++ } ++ [CustomMarshallerAttribute(typeof(Exception), MarshalMode.UnmanagedToManagedOut, typeof(ExceptionAsNaNMarshaller<>))] ++ public static class ExceptionAsNaNMarshaller where T : struct { ++ public static T ConvertToUnmanaged(Exception e); ++ } ++ [CustomMarshallerAttribute(typeof(Exception), MarshalMode.UnmanagedToManagedOut, typeof(ExceptionAsVoidMarshaller))] ++ public static class ExceptionAsVoidMarshaller { ++ public static void ConvertToUnmanaged(Exception e); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Class)] ++ public sealed class GeneratedComClassAttribute : Attribute { ++ public GeneratedComClassAttribute(); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Interface)] ++ public class GeneratedComInterfaceAttribute : Attribute { ++ public GeneratedComInterfaceAttribute(); ++ public ComInterfaceOptions Options { get; set; } ++ public StringMarshalling StringMarshalling { get; set; } ++ public Type StringMarshallingCustomType { get; set; } ++ } ++ [CLSCompliantAttribute(false)] ++ public interface IComExposedClass { ++ unsafe static abstract ComWrappers.ComInterfaceEntry* GetComInterfaceEntries(out int count); ++ } ++ [CLSCompliantAttribute(false)] ++ public interface IComExposedDetails { ++ unsafe ComWrappers.ComInterfaceEntry* GetComInterfaceEntries(out int count); ++ } ++ [CLSCompliantAttribute(false)] ++ public interface IIUnknownCacheStrategy { ++ void Clear(IIUnknownStrategy unknownStrategy); ++ unsafe IIUnknownCacheStrategy.TableInfo ConstructTableInfo(RuntimeTypeHandle handle, IIUnknownDerivedDetails interfaceDetails, void* ptr); ++ bool TryGetTableInfo(RuntimeTypeHandle handle, out IIUnknownCacheStrategy.TableInfo info); ++ bool TrySetTableInfo(RuntimeTypeHandle handle, IIUnknownCacheStrategy.TableInfo info); ++ public readonly struct TableInfo { ++ public RuntimeTypeHandle ManagedType { get; set; } ++ public unsafe void** Table { get; set; } ++ public unsafe void* ThisPtr { get; set; } ++ } ++ } ++ [CLSCompliantAttribute(false)] ++ public interface IIUnknownDerivedDetails { ++ Guid Iid { get; } ++ Type Implementation { get; } ++ unsafe void** ManagedVirtualMethodTable { get; } ++ } ++ [CLSCompliantAttribute(false)] ++ public interface IIUnknownInterfaceDetailsStrategy { ++ IComExposedDetails GetComExposedTypeDetails(RuntimeTypeHandle type); ++ IIUnknownDerivedDetails GetIUnknownDerivedDetails(RuntimeTypeHandle type); ++ } ++ [CLSCompliantAttribute(false)] ++ public interface IIUnknownInterfaceType { ++ static abstract Guid Iid { get; } ++ unsafe static abstract void** ManagedVirtualMethodTable { get; } ++ } ++ [CLSCompliantAttribute(false)] ++ public interface IIUnknownStrategy { ++ unsafe void* CreateInstancePointer(void* unknown); ++ unsafe int QueryInterface(void* instancePtr, in Guid iid, out void* ppObj); ++ unsafe int Release(void* instancePtr); ++ } ++ [AttributeUsageAttribute(AttributeTargets.Interface, Inherited=false)] ++ [CLSCompliantAttribute(false)] ++ public class IUnknownDerivedAttribute : Attribute, IIUnknownDerivedDetails where T : IIUnknownInterfaceType { ++ public IUnknownDerivedAttribute(); ++ public Guid Iid { get; } ++ public Type Implementation { get; } ++ public unsafe void** ManagedVirtualMethodTable { get; } ++ } ++ [CLSCompliantAttribute(false)] ++ public interface IUnmanagedVirtualMethodTableProvider { ++ VirtualMethodTableInfo GetVirtualMethodTableInfoForKey(Type type); ++ } +- [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)] ++ public class StrategyBasedComWrappers : ComWrappers { ++ public StrategyBasedComWrappers(); ++ public static IIUnknownInterfaceDetailsStrategy DefaultIUnknownInterfaceDetailsStrategy { get; } ++ public static IIUnknownStrategy DefaultIUnknownStrategy { get; } ++ protected unsafe sealed override ComWrappers.ComInterfaceEntry* ComputeVtables(object obj, CreateComInterfaceFlags flags, out int count); ++ protected virtual IIUnknownCacheStrategy CreateCacheStrategy(); ++ protected static IIUnknownCacheStrategy CreateDefaultCacheStrategy(); ++ protected sealed override object CreateObject(IntPtr externalComObject, CreateObjectFlags flags); ++ protected virtual IIUnknownInterfaceDetailsStrategy GetOrCreateInterfaceDetailsStrategy(); ++ protected virtual IIUnknownStrategy GetOrCreateIUnknownStrategy(); ++ protected sealed override void ReleaseObjects(IEnumerable objects); ++ } ++ [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); ++ public unsafe static void Free(void* unmanaged); ++ } ++ [CLSCompliantAttribute(false)] ++ public readonly struct VirtualMethodTableInfo { ++ public unsafe VirtualMethodTableInfo(void* thisPointer, void** virtualMethodTable); ++ public unsafe void* ThisPointer { get; } ++ public unsafe void** VirtualMethodTable { get; } ++ public unsafe void Deconstruct(out void* thisPointer, out void** virtualMethodTable); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.InteropServices.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.InteropServices.md new file mode 100644 index 00000000000..13a6e6c5e16 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.InteropServices.md @@ -0,0 +1,98 @@ +# System.Runtime.InteropServices + +``` diff + namespace System.Runtime.InteropServices { + public static class CollectionsMarshal { ++ public static void SetCount(List list, int count); + } + public class COMException : ExternalException { +- protected COMException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected COMException(SerializationInfo info, StreamingContext context); + } + [CLSCompliantAttribute(false)] + [UnsupportedOSPlatformAttribute("android")] + [UnsupportedOSPlatformAttribute("browser")] + [UnsupportedOSPlatformAttribute("ios")] + [UnsupportedOSPlatformAttribute("tvos")] + public abstract class ComWrappers { +- protected static void GetIUnknownImpl(out IntPtr fpQueryInterface, out IntPtr fpAddRef, out IntPtr fpRelease); ++ public static void GetIUnknownImpl(out IntPtr fpQueryInterface, out IntPtr fpAddRef, out IntPtr fpRelease); ++ public static bool TryGetComInstance(object obj, out IntPtr unknown); ++ public static bool TryGetObject(IntPtr unknown, [NotNullWhenAttribute(true)] out object? obj); + } + public class ExternalException : SystemException { +- protected ExternalException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ExternalException(SerializationInfo info, StreamingContext context); + } ++ public static class ImmutableCollectionsMarshal { ++ public static T[]? AsArray(ImmutableArray array); ++ public static ImmutableArray AsImmutableArray(T[]? array); ++ } + public class InvalidComObjectException : SystemException { +- protected InvalidComObjectException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidComObjectException(SerializationInfo info, StreamingContext context); + } + public class InvalidOleVariantTypeException : SystemException { +- protected InvalidOleVariantTypeException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidOleVariantTypeException(SerializationInfo info, StreamingContext context); + } + public static class Marshal { +- public static int QueryInterface(IntPtr pUnk, ref Guid iid, out IntPtr ppv); ++ public static int QueryInterface(IntPtr pUnk, [RequiresLocationAttribute] ref Guid iid, out IntPtr ppv); + } + public class MarshalDirectiveException : SystemException { +- protected MarshalDirectiveException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MarshalDirectiveException(SerializationInfo info, StreamingContext context); + } + public static class MemoryMarshal { +- public static ReadOnlySpan CreateReadOnlySpan([ScopedRefAttribute] ref T reference, int length); ++ public static ReadOnlySpan CreateReadOnlySpan([RequiresLocationAttribute, ScopedRefAttribute] ref T reference, int length); + public static Span CreateSpan([ScopedRefAttribute] ref T reference, int length); +- public static bool TryWrite(Span destination, ref T value) where T : struct; ++ public static bool TryWrite(Span destination, in T value) where T : struct; +- public static void Write(Span destination, ref T value) where T : struct; ++ public static void Write(Span destination, in T value) where T : struct; + } +- public readonly struct NFloat : IAdditionOperators, IAdditiveIdentity, IBinaryFloatingPointIeee754, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct NFloat : IAdditionOperators, IAdditiveIdentity, IBinaryFloatingPointIeee754, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static NFloat DegreesToRadians(NFloat degrees); ++ public static NFloat Lerp(NFloat value1, NFloat value2, NFloat amount); ++ public static NFloat Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowExponent | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, IFormatProvider? provider = null); ++ public static NFloat Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public static NFloat RadiansToDegrees(NFloat radians); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out NFloat result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out NFloat result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out NFloat result); + } + public class SafeArrayRankMismatchException : SystemException { +- protected SafeArrayRankMismatchException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SafeArrayRankMismatchException(SerializationInfo info, StreamingContext context); + } + public class SafeArrayTypeMismatchException : SystemException { +- protected SafeArrayTypeMismatchException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SafeArrayTypeMismatchException(SerializationInfo info, StreamingContext context); + } + public class SEHException : ExternalException { +- protected SEHException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SEHException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.Arm.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.Arm.md new file mode 100644 index 00000000000..1d3c78cd562 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.Arm.md @@ -0,0 +1,1352 @@ +# System.Runtime.Intrinsics.Arm + +``` diff + namespace System.Runtime.Intrinsics.Arm { + [CLSCompliantAttribute(false)] + public abstract class AdvSimd : ArmBase { +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, byte index); ++ public static Vector64 DuplicateSelectedScalarToVector64(Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static byte Extract(Vector128 vector, byte index); ++ public static byte Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public static double Extract(Vector128 vector, byte index); ++ public static double Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static short Extract(Vector128 vector, byte index); ++ public static short Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static int Extract(Vector128 vector, byte index); ++ public static int Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static long Extract(Vector128 vector, byte index); ++ public static long Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static sbyte Extract(Vector128 vector, byte index); ++ public static sbyte Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public static float Extract(Vector128 vector, byte index); ++ public static float Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static ushort Extract(Vector128 vector, byte index); ++ public static ushort Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static uint Extract(Vector128 vector, byte index); ++ public static uint Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static ulong Extract(Vector128 vector, byte index); ++ public static ulong Extract(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static byte Extract(Vector64 vector, byte index); ++ public static byte Extract(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static short Extract(Vector64 vector, byte index); ++ public static short Extract(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static int Extract(Vector64 vector, byte index); ++ public static int Extract(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static sbyte Extract(Vector64 vector, byte index); ++ public static sbyte Extract(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static float Extract(Vector64 vector, byte index); ++ public static float Extract(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static ushort Extract(Vector64 vector, byte index); ++ public static ushort Extract(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static uint Extract(Vector64 vector, byte index); ++ public static uint Extract(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, byte index); ++ public static Vector128 ExtractVector128(Vector128 upper, Vector128 lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, byte index); ++ public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, byte index); ++ public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, byte index); ++ public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, byte index); ++ public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, byte index); ++ public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, byte index); ++ public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, byte index); ++ public static Vector64 ExtractVector64(Vector64 upper, Vector64 lower, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector128 Insert(Vector128 vector, byte index, byte data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index, byte data); +- public static Vector128 Insert(Vector128 vector, byte index, double data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, double data); +- public static Vector128 Insert(Vector128 vector, byte index, short data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index, short data); +- public static Vector128 Insert(Vector128 vector, byte index, int data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, int data); +- public static Vector128 Insert(Vector128 vector, byte index, long data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, long data); +- public static Vector128 Insert(Vector128 vector, byte index, sbyte data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index, sbyte data); +- public static Vector128 Insert(Vector128 vector, byte index, float data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, float data); +- public static Vector128 Insert(Vector128 vector, byte index, ushort data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index, ushort data); +- public static Vector128 Insert(Vector128 vector, byte index, uint data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, uint data); +- public static Vector128 Insert(Vector128 vector, byte index, ulong data); ++ public static Vector128 Insert(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, ulong data); +- public static Vector64 Insert(Vector64 vector, byte index, byte data); ++ public static Vector64 Insert(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index, byte data); +- public static Vector64 Insert(Vector64 vector, byte index, short data); ++ public static Vector64 Insert(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, short data); +- public static Vector64 Insert(Vector64 vector, byte index, int data); ++ public static Vector64 Insert(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, int data); +- public static Vector64 Insert(Vector64 vector, byte index, sbyte data); ++ public static Vector64 Insert(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index, sbyte data); +- public static Vector64 Insert(Vector64 vector, byte index, float data); ++ public static Vector64 Insert(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, float data); +- public static Vector64 Insert(Vector64 vector, byte index, ushort data); ++ public static Vector64 Insert(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index, ushort data); +- public static Vector64 Insert(Vector64 vector, byte index, uint data); ++ public static Vector64 Insert(Vector64 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index, uint data); +- public static Vector128 InsertScalar(Vector128 result, byte resultIndex, Vector64 value); ++ public static Vector128 InsertScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64 value); +- public static Vector128 InsertScalar(Vector128 result, byte resultIndex, Vector64 value); ++ public static Vector128 InsertScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64 value); +- public static Vector128 InsertScalar(Vector128 result, byte resultIndex, Vector64 value); ++ public static Vector128 InsertScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64 value); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, byte* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index, byte* address); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, double* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, double* address); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, short* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index, short* address); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, int* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, int* address); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, long* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, long* address); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, sbyte* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index, sbyte* address); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, float* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, float* address); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, ushort* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index, ushort* address); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, uint* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, uint* address); +- public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, byte index, ulong* address); ++ public unsafe static Vector128 LoadAndInsertScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, ulong* address); +- public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, byte index, byte* address); ++ public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index, byte* address); +- public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, byte index, short* address); ++ public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, short* address); +- public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, byte index, int* address); ++ public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, int* address); +- public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, byte index, sbyte* address); ++ public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index, sbyte* address); +- public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, byte index, float* address); ++ public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, float* address); +- public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, byte index, ushort* address); ++ public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index, ushort* address); +- public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, byte index, uint* address); ++ public unsafe static Vector64 LoadAndInsertScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index, uint* address); +- public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLower(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndAdd(Vector128 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningLowerAndSubtract(Vector128 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpper(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndAdd(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalarWideningUpperAndSubtract(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndAddSaturate(Vector128 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningLowerBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningSaturateLowerBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningSaturateUpperBySelectedScalar(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndAddSaturate(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyDoublingWideningUpperBySelectedScalarAndSubtractSaturate(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyScalarBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyScalarBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyScalarBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyScalarBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)127)] byte shift); +- public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)63)] byte shift); +- public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)31)] byte shift); +- public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte shift); +- public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)127)] byte shift); +- public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)63)] byte shift); +- public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)31)] byte shift); +- public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftLeftAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte shift); +- public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)63)] byte shift); +- public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)31)] byte shift); +- public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)15)] byte shift); +- public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)63)] byte shift); +- public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)31)] byte shift); +- public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftLeftAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)15)] byte shift); +- public static Vector64 ShiftLeftAndInsertScalar(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftLeftAndInsertScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)7)] byte shift); +- public static Vector64 ShiftLeftAndInsertScalar(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftLeftAndInsertScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)7)] byte shift); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute(Max=(byte)127)] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute(Max=(byte)127)] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector64 ShiftLeftLogical(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogical(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector64 ShiftLeftLogical(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogical(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector64 ShiftLeftLogical(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogical(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector64 ShiftLeftLogical(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogical(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector64 ShiftLeftLogical(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogical(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector64 ShiftLeftLogical(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogical(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, [ConstantExpectedAttribute(Max=(byte)127)] byte count); +- public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, [ConstantExpectedAttribute(Max=(byte)127)] byte count); +- public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturate(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturate(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte count); +- public static Vector128 ShiftLeftLogicalSaturateUnsigned(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturateUnsigned(Vector128 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector128 ShiftLeftLogicalSaturateUnsigned(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturateUnsigned(Vector128 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector128 ShiftLeftLogicalSaturateUnsigned(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturateUnsigned(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector128 ShiftLeftLogicalSaturateUnsigned(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalSaturateUnsigned(Vector128 value, [ConstantExpectedAttribute(Max=(byte)127)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateUnsigned(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateUnsigned(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateUnsigned(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateUnsigned(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateUnsigned(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateUnsigned(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte count); +- public static Vector64 ShiftLeftLogicalScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte count); +- public static Vector64 ShiftLeftLogicalScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte count); +- public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningLower(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, [ConstantExpectedAttribute(Max=(byte)127)] byte count); +- public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, [ConstantExpectedAttribute(Max=(byte)127)] byte count); +- public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogicalWideningUpper(Vector128 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte shift); +- public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte shift); +- public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte shift); +- public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte shift); +- public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte shift); +- public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte shift); +- public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte shift); +- public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, byte shift); ++ public static Vector128 ShiftRightAndInsert(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte shift); +- public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte shift); +- public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte shift); +- public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte shift); +- public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte shift); +- public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte shift); +- public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftRightAndInsert(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte shift); +- public static Vector64 ShiftRightAndInsertScalar(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftRightAndInsertScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte shift); +- public static Vector64 ShiftRightAndInsertScalar(Vector64 left, Vector64 right, byte shift); ++ public static Vector64 ShiftRightAndInsertScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte shift); +- public static Vector128 ShiftRightArithmetic(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightArithmetic(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightArithmetic(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmetic(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector64 ShiftRightArithmetic(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmetic(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmetic(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmetic(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmetic(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmetic(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightArithmeticAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightArithmeticAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightArithmeticAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmeticAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector64 ShiftRightArithmeticAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmeticAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightArithmeticAddScalar(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticAddScalar(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmeticNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightArithmeticNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmeticNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightArithmeticRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightArithmeticRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightArithmeticRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmeticRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector64 ShiftRightArithmeticRounded(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRounded(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticRounded(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRounded(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmeticRounded(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRounded(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedAddScalar(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedAddScalar(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmeticRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightArithmeticScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogical(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogical(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogical(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogical(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogical(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogical(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogical(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogical(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogical(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogical(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogical(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogical(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalAddScalar(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalAddScalar(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalAddScalar(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalAddScalar(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector128 ShiftRightLogicalRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector128 ShiftRightLogicalRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalRounded(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRounded(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRounded(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRounded(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalRounded(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRounded(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRounded(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRounded(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRounded(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRounded(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalRounded(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRounded(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRounded(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRounded(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)128)] byte count); +- public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedAdd(Vector128 addend, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedAdd(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRoundedAddScalar(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedAddScalar(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalRoundedAddScalar(Vector64 addend, Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedAddScalar(Vector64 addend, Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)64)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, byte count); ++ public static Vector128 ShiftRightLogicalRoundedNarrowingUpper(Vector64 lower, Vector128 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRoundedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalRoundedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public unsafe static void StoreSelectedScalar(byte* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(byte* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public unsafe static void StoreSelectedScalar(byte* address, Vector64 value, byte index); ++ public unsafe static void StoreSelectedScalar(byte* address, Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public unsafe static void StoreSelectedScalar(double* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(double* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public unsafe static void StoreSelectedScalar(short* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(short* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public unsafe static void StoreSelectedScalar(short* address, Vector64 value, byte index); ++ public unsafe static void StoreSelectedScalar(short* address, Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public unsafe static void StoreSelectedScalar(int* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(int* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public unsafe static void StoreSelectedScalar(int* address, Vector64 value, byte index); ++ public unsafe static void StoreSelectedScalar(int* address, Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public unsafe static void StoreSelectedScalar(long* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(long* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public unsafe static void StoreSelectedScalar(sbyte* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(sbyte* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index); +- public unsafe static void StoreSelectedScalar(sbyte* address, Vector64 value, byte index); ++ public unsafe static void StoreSelectedScalar(sbyte* address, Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public unsafe static void StoreSelectedScalar(float* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(float* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public unsafe static void StoreSelectedScalar(float* address, Vector64 value, byte index); ++ public unsafe static void StoreSelectedScalar(float* address, Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public unsafe static void StoreSelectedScalar(ushort* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(ushort* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); +- public unsafe static void StoreSelectedScalar(ushort* address, Vector64 value, byte index); ++ public unsafe static void StoreSelectedScalar(ushort* address, Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public unsafe static void StoreSelectedScalar(uint* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(uint* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); +- public unsafe static void StoreSelectedScalar(uint* address, Vector64 value, byte index); ++ public unsafe static void StoreSelectedScalar(uint* address, Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public unsafe static void StoreSelectedScalar(ulong* address, Vector128 value, byte index); ++ public unsafe static void StoreSelectedScalar(ulong* address, Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public static Vector64 VectorTableLookup((Vector128, Vector128, Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookup((Vector128, Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookup((Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookup((Vector128, Vector128, Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookup((Vector128, Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookup((Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookupExtension(Vector64 defaultValues, (Vector128, Vector128, Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookupExtension(Vector64 defaultValues, (Vector128, Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookupExtension(Vector64 defaultValues, (Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookupExtension(Vector64 defaultValues, (Vector128, Vector128, Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookupExtension(Vector64 defaultValues, (Vector128, Vector128, Vector128) table, Vector64 byteIndexes); ++ public static Vector64 VectorTableLookupExtension(Vector64 defaultValues, (Vector128, Vector128) table, Vector64 byteIndexes); + public new abstract class Arm64 : ArmBase.Arm64 { +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, byte index); ++ public static Vector128 DuplicateSelectedScalarToVector128(Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); +- public static Vector128 FusedMultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 FusedMultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 FusedMultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 FusedMultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 FusedMultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 FusedMultiplyAddBySelectedScalar(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 FusedMultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 FusedMultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 FusedMultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 FusedMultiplyAddBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 FusedMultiplyAddScalarBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 FusedMultiplyAddScalarBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 FusedMultiplyAddScalarBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 FusedMultiplyAddScalarBySelectedScalar(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 FusedMultiplyAddScalarBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 FusedMultiplyAddScalarBySelectedScalar(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 FusedMultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 FusedMultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 FusedMultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 FusedMultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 FusedMultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 FusedMultiplySubtractBySelectedScalar(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 FusedMultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 FusedMultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 FusedMultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 FusedMultiplySubtractBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 FusedMultiplySubtractScalarBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 FusedMultiplySubtractScalarBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 FusedMultiplySubtractScalarBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 FusedMultiplySubtractScalarBySelectedScalar(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 FusedMultiplySubtractScalarBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 FusedMultiplySubtractScalarBySelectedScalar(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)15)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)15)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)15)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)15)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex); +- public static Vector128 InsertSelectedScalar(Vector128 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector128 InsertSelectedScalar(Vector128 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)7)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)3)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector128 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte valueIndex); +- public static Vector64 InsertSelectedScalar(Vector64 result, byte resultIndex, Vector64 value, byte valueIndex); ++ public static Vector64 InsertSelectedScalar(Vector64 result, [ConstantExpectedAttribute(Max=(byte)1)] byte resultIndex, Vector64 value, [ConstantExpectedAttribute(Max=(byte)1)] byte valueIndex); +- public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningSaturateScalarBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndAddSaturate(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyDoublingWideningScalarBySelectedScalarAndSubtractSaturate(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyExtendedBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyExtendedBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyExtendedBySelectedScalar(Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyExtendedBySelectedScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyExtendedBySelectedScalar(Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyExtendedBySelectedScalar(Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyExtendedBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyExtendedBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyExtendedBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyExtendedBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyExtendedScalarBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyExtendedScalarBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyExtendedScalarBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyExtendedScalarBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyExtendedScalarBySelectedScalar(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyExtendedScalarBySelectedScalar(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarSaturateHigh(Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyScalarBySelectedScalar(Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyScalarBySelectedScalar(Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)31)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)15)] byte count); +- public static Vector64 ShiftLeftLogicalSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftLeftLogicalSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Max=(byte)63)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticNarrowingSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightArithmeticRoundedNarrowingSaturateUnsignedScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)32)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)16)] byte count); +- public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, byte count); ++ public static Vector64 ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64 value, [ConstantExpectedAttribute(Min=1, Max=(byte)8)] byte count); ++ public static Vector128 VectorTableLookup((Vector128, Vector128, Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookup((Vector128, Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookup((Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookup((Vector128, Vector128, Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookup((Vector128, Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookup((Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookupExtension(Vector128 defaultValues, (Vector128, Vector128, Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookupExtension(Vector128 defaultValues, (Vector128, Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookupExtension(Vector128 defaultValues, (Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookupExtension(Vector128 defaultValues, (Vector128, Vector128, Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookupExtension(Vector128 defaultValues, (Vector128, Vector128, Vector128) table, Vector128 byteIndexes); ++ public static Vector128 VectorTableLookupExtension(Vector128 defaultValues, (Vector128, Vector128) table, Vector128 byteIndexes); + } + } + [CLSCompliantAttribute(false)] + public abstract class Dp : AdvSimd { +- public static Vector128 DotProductBySelectedQuadruplet(Vector128 addend, Vector128 left, Vector128 right, byte rightScaledIndex); ++ public static Vector128 DotProductBySelectedQuadruplet(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte rightScaledIndex); +- public static Vector128 DotProductBySelectedQuadruplet(Vector128 addend, Vector128 left, Vector64 right, byte rightScaledIndex); ++ public static Vector128 DotProductBySelectedQuadruplet(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightScaledIndex); +- public static Vector128 DotProductBySelectedQuadruplet(Vector128 addend, Vector128 left, Vector128 right, byte rightScaledIndex); ++ public static Vector128 DotProductBySelectedQuadruplet(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte rightScaledIndex); +- public static Vector128 DotProductBySelectedQuadruplet(Vector128 addend, Vector128 left, Vector64 right, byte rightScaledIndex); ++ public static Vector128 DotProductBySelectedQuadruplet(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightScaledIndex); +- public static Vector64 DotProductBySelectedQuadruplet(Vector64 addend, Vector64 left, Vector128 right, byte rightScaledIndex); ++ public static Vector64 DotProductBySelectedQuadruplet(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte rightScaledIndex); +- public static Vector64 DotProductBySelectedQuadruplet(Vector64 addend, Vector64 left, Vector64 right, byte rightScaledIndex); ++ public static Vector64 DotProductBySelectedQuadruplet(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightScaledIndex); +- public static Vector64 DotProductBySelectedQuadruplet(Vector64 addend, Vector64 left, Vector128 right, byte rightScaledIndex); ++ public static Vector64 DotProductBySelectedQuadruplet(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)15)] byte rightScaledIndex); +- public static Vector64 DotProductBySelectedQuadruplet(Vector64 addend, Vector64 left, Vector64 right, byte rightScaledIndex); ++ public static Vector64 DotProductBySelectedQuadruplet(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightScaledIndex); + } + [CLSCompliantAttribute(false)] + public abstract class Rdm : AdvSimd { +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128 addend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128 addend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128 addend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector128 addend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128 minuend, Vector128 left, Vector128 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128 minuend, Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128 minuend, Vector128 left, Vector64 right, byte rightIndex); ++ public static Vector128 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector128 minuend, Vector128 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); + public new abstract class Arm64 : AdvSimd.Arm64 { +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndAddSaturateHigh(Vector64 addend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)7)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector128 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector128 right, [ConstantExpectedAttribute(Max=(byte)3)] byte rightIndex); +- public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector64 right, byte rightIndex); ++ public static Vector64 MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh(Vector64 minuend, Vector64 left, Vector64 right, [ConstantExpectedAttribute(Max=(byte)1)] byte rightIndex); + } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.Wasm.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.Wasm.md new file mode 100644 index 00000000000..5447e59458c --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.Wasm.md @@ -0,0 +1,482 @@ +# System.Runtime.Intrinsics.Wasm + +``` diff ++namespace System.Runtime.Intrinsics.Wasm { ++ [CLSCompliantAttribute(false)] ++ public abstract class PackedSimd { ++ protected PackedSimd(); ++ public static bool IsSupported { get; } ++ public static Vector128 Abs(Vector128 value); ++ public static Vector128 Abs(Vector128 value); ++ public static Vector128 Abs(Vector128 value); ++ public static Vector128 Abs(Vector128 value); ++ public static Vector128 Abs(Vector128 value); ++ 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 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 Add(Vector128 left, Vector128 right); ++ public static Vector128 AddPairwiseWidening(Vector128 value); ++ public static Vector128 AddPairwiseWidening(Vector128 value); ++ public static Vector128 AddPairwiseWidening(Vector128 value); ++ public static Vector128 AddPairwiseWidening(Vector128 value); ++ public static Vector128 AddSaturate(Vector128 left, Vector128 right); ++ public static Vector128 AddSaturate(Vector128 left, Vector128 right); ++ public static Vector128 AddSaturate(Vector128 left, Vector128 right); ++ public static Vector128 AddSaturate(Vector128 left, Vector128 right); ++ public static bool AllTrue(Vector128 value); ++ public static bool AllTrue(Vector128 value); ++ public static bool AllTrue(Vector128 value); ++ public static bool AllTrue(Vector128 value); ++ public static bool AllTrue(Vector128 value); ++ public static bool AllTrue(Vector128 value); ++ public static bool AllTrue(Vector128 value); ++ public static bool AllTrue(Vector128 value); ++ public static bool AllTrue(Vector128 value); ++ public static bool AllTrue(Vector128 value); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 And(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static Vector128 AndNot(Vector128 left, Vector128 right); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static bool AnyTrue(Vector128 value); ++ public static Vector128 AverageRounded(Vector128 left, Vector128 right); ++ public static Vector128 AverageRounded(Vector128 left, Vector128 right); ++ public static int Bitmask(Vector128 value); ++ public static int Bitmask(Vector128 value); ++ public static int Bitmask(Vector128 value); ++ public static int Bitmask(Vector128 value); ++ public static int Bitmask(Vector128 value); ++ public static int Bitmask(Vector128 value); ++ public static int Bitmask(Vector128 value); ++ public static int Bitmask(Vector128 value); ++ public static int Bitmask(Vector128 value); ++ public static int Bitmask(Vector128 value); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select); ++ public static Vector128 Ceiling(Vector128 value); ++ public static Vector128 Ceiling(Vector128 value); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareEqual(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 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 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 ConvertNarrowingSaturateSigned(Vector128 lower, Vector128 upper); ++ public static Vector128 ConvertNarrowingSaturateSigned(Vector128 lower, Vector128 upper); ++ public static Vector128 ConvertNarrowingSaturateUnsigned(Vector128 lower, Vector128 upper); ++ public static Vector128 ConvertNarrowingSaturateUnsigned(Vector128 lower, Vector128 upper); ++ 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 ConvertToUInt32Saturate(Vector128 value); ++ public static Vector128 ConvertToUInt32Saturate(Vector128 value); ++ public static Vector128 Divide(Vector128 left, Vector128 right); ++ public static Vector128 Divide(Vector128 left, Vector128 right); ++ public static Vector128 Dot(Vector128 left, Vector128 right); ++ public static uint ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index); ++ public static double ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public static int ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); ++ public static int ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public static long ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public static IntPtr ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public static int ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)15)] byte index); ++ public static float ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public static uint ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)7)] byte index); ++ public static uint ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public static ulong ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public static UIntPtr ExtractScalar(Vector128 value, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public static Vector128 Floor(Vector128 value); ++ public static Vector128 Floor(Vector128 value); ++ public unsafe static Vector128 LoadScalarAndInsert(byte* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(double* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(short* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(int* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(long* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(IntPtr* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(sbyte* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)15)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(float* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(ushort* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(uint* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(ulong* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public unsafe static Vector128 LoadScalarAndInsert(UIntPtr* address, Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(byte* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(double* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(short* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(int* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(long* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(IntPtr* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(sbyte* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(float* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(ushort* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(uint* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(ulong* address); ++ public unsafe static Vector128 LoadScalarAndSplatVector128(UIntPtr* address); ++ public unsafe static Vector128 LoadScalarVector128(double* address); ++ public unsafe static Vector128 LoadScalarVector128(int* address); ++ public unsafe static Vector128 LoadScalarVector128(long* address); ++ public unsafe static Vector128 LoadScalarVector128(IntPtr* address); ++ public unsafe static Vector128 LoadScalarVector128(float* address); ++ public unsafe static Vector128 LoadScalarVector128(uint* address); ++ public unsafe static Vector128 LoadScalarVector128(ulong* address); ++ public unsafe static Vector128 LoadScalarVector128(UIntPtr* address); ++ public unsafe static Vector128 LoadVector128(byte* address); ++ public unsafe static Vector128 LoadVector128(double* address); ++ public unsafe static Vector128 LoadVector128(short* address); ++ public unsafe static Vector128 LoadVector128(int* address); ++ public unsafe static Vector128 LoadVector128(long* address); ++ public unsafe static Vector128 LoadVector128(IntPtr* address); ++ public unsafe static Vector128 LoadVector128(sbyte* address); ++ public unsafe static Vector128 LoadVector128(float* address); ++ public unsafe static Vector128 LoadVector128(ushort* address); ++ public unsafe static Vector128 LoadVector128(uint* address); ++ public unsafe static Vector128 LoadVector128(ulong* address); ++ public unsafe static Vector128 LoadVector128(UIntPtr* address); ++ public unsafe static Vector128 LoadWideningVector128(byte* address); ++ public unsafe static Vector128 LoadWideningVector128(short* address); ++ public unsafe static Vector128 LoadWideningVector128(int* address); ++ public unsafe static Vector128 LoadWideningVector128(sbyte* address); ++ public unsafe static Vector128 LoadWideningVector128(ushort* address); ++ public unsafe static Vector128 LoadWideningVector128(uint* address); ++ public static Vector128 Max(Vector128 left, Vector128 right); ++ public static Vector128 Max(Vector128 left, Vector128 right); ++ public static Vector128 Max(Vector128 left, Vector128 right); ++ public static Vector128 Max(Vector128 left, Vector128 right); ++ public static Vector128 Max(Vector128 left, Vector128 right); ++ public static Vector128 Max(Vector128 left, Vector128 right); ++ 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 Min(Vector128 left, Vector128 right); ++ public static Vector128 Min(Vector128 left, Vector128 right); ++ public static Vector128 Min(Vector128 left, Vector128 right); ++ public static Vector128 Min(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 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 Multiply(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyRoundedSaturateQ15(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Negate(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Not(Vector128 value); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 Or(Vector128 left, Vector128 right); ++ public static Vector128 PopCount(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 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)15)] byte imm, uint value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte imm, double value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte imm, int value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte imm, int value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte imm, long value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte imm, IntPtr value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)15)] byte imm, int value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte imm, float value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)7)] byte imm, uint value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte imm, uint value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)1)] byte imm, ulong value); ++ public static Vector128 ReplaceScalar(Vector128 vector, [ConstantExpectedAttribute(Max=(byte)3)] byte imm, UIntPtr value); ++ public static Vector128 RoundToNearest(Vector128 value); ++ public static Vector128 RoundToNearest(Vector128 value); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftLeft(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ public static Vector128 ShiftRightLogical(Vector128 value, int count); ++ 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 Splat(byte value); ++ public static Vector128 Splat(double value); ++ public static Vector128 Splat(short value); ++ public static Vector128 Splat(int value); ++ public static Vector128 Splat(long value); ++ public static Vector128 Splat(IntPtr value); ++ public static Vector128 Splat(sbyte value); ++ public static Vector128 Splat(float value); ++ public static Vector128 Splat(ushort value); ++ public static Vector128 Splat(uint value); ++ public static Vector128 Splat(ulong value); ++ public static Vector128 Splat(UIntPtr value); ++ public static Vector128 Sqrt(Vector128 value); ++ public static Vector128 Sqrt(Vector128 value); ++ public unsafe static void Store(byte* address, Vector128 source); ++ public unsafe static void Store(double* address, Vector128 source); ++ public unsafe static void Store(short* address, Vector128 source); ++ public unsafe static void Store(int* address, Vector128 source); ++ public unsafe static void Store(long* address, Vector128 source); ++ public unsafe static void Store(IntPtr* address, Vector128 source); ++ public unsafe static void Store(sbyte* address, Vector128 source); ++ public unsafe static void Store(float* address, Vector128 source); ++ public unsafe static void Store(ushort* address, Vector128 source); ++ public unsafe static void Store(uint* address, Vector128 source); ++ public unsafe static void Store(ulong* address, Vector128 source); ++ public unsafe static void Store(UIntPtr* address, Vector128 source); ++ public unsafe static void StoreSelectedScalar(byte* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)15)] byte index); ++ public unsafe static void StoreSelectedScalar(double* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public unsafe static void StoreSelectedScalar(short* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)7)] byte index); ++ public unsafe static void StoreSelectedScalar(int* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public unsafe static void StoreSelectedScalar(long* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public unsafe static void StoreSelectedScalar(IntPtr* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public unsafe static void StoreSelectedScalar(sbyte* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)15)] byte index); ++ public unsafe static void StoreSelectedScalar(float* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public unsafe static void StoreSelectedScalar(ushort* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)7)] byte index); ++ public unsafe static void StoreSelectedScalar(uint* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public unsafe static void StoreSelectedScalar(ulong* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)1)] byte index); ++ public unsafe static void StoreSelectedScalar(UIntPtr* address, Vector128 source, [ConstantExpectedAttribute(Max=(byte)3)] byte index); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 Subtract(Vector128 left, Vector128 right); ++ public static Vector128 SubtractSaturate(Vector128 left, Vector128 right); ++ public static Vector128 SubtractSaturate(Vector128 left, Vector128 right); ++ public static Vector128 SubtractSaturate(Vector128 left, Vector128 right); ++ public static Vector128 SubtractSaturate(Vector128 left, Vector128 right); ++ public static Vector128 Swizzle(Vector128 vector, Vector128 indices); ++ public static Vector128 Swizzle(Vector128 vector, Vector128 indices); ++ public static Vector128 Truncate(Vector128 value); ++ public static Vector128 Truncate(Vector128 value); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ public static Vector128 Xor(Vector128 left, Vector128 right); ++ 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/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.X86.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.X86.md new file mode 100644 index 00000000000..46a666f85bf --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.X86.md @@ -0,0 +1,1612 @@ +# System.Runtime.Intrinsics.X86 + +``` diff + namespace System.Runtime.Intrinsics.X86 { + [CLSCompliantAttribute(false)] + public abstract class Aes : Sse2 { +- public static Vector128 KeygenAssist(Vector128 value, byte control); ++ public static Vector128 KeygenAssist(Vector128 value, [ConstantExpectedAttribute] byte control); + } + [CLSCompliantAttribute(false)] + public abstract class Avx : Sse42 { +- public static Vector256 Blend(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Blend(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Blend(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Blend(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 Compare(Vector128 left, Vector128 right, FloatComparisonMode mode); ++ public static Vector128 Compare(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=FloatComparisonMode.UnorderedTrueSignaling)] FloatComparisonMode mode); +- public static Vector128 Compare(Vector128 left, Vector128 right, FloatComparisonMode mode); ++ public static Vector128 Compare(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=FloatComparisonMode.UnorderedTrueSignaling)] FloatComparisonMode mode); +- public static Vector256 Compare(Vector256 left, Vector256 right, FloatComparisonMode mode); ++ public static Vector256 Compare(Vector256 left, Vector256 right, [ConstantExpectedAttribute(Max=FloatComparisonMode.UnorderedTrueSignaling)] FloatComparisonMode mode); +- public static Vector256 Compare(Vector256 left, Vector256 right, FloatComparisonMode mode); ++ public static Vector256 Compare(Vector256 left, Vector256 right, [ConstantExpectedAttribute(Max=FloatComparisonMode.UnorderedTrueSignaling)] FloatComparisonMode mode); +- public static Vector128 CompareScalar(Vector128 left, Vector128 right, FloatComparisonMode mode); ++ public static Vector128 CompareScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=FloatComparisonMode.UnorderedTrueSignaling)] FloatComparisonMode mode); +- public static Vector128 CompareScalar(Vector128 left, Vector128 right, FloatComparisonMode mode); ++ public static Vector128 CompareScalar(Vector128 left, Vector128 right, [ConstantExpectedAttribute(Max=FloatComparisonMode.UnorderedTrueSignaling)] FloatComparisonMode mode); +- public static Vector256 DotProduct(Vector256 left, Vector256 right, byte control); ++ public static Vector256 DotProduct(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 ExtractVector128(Vector256 value, byte index); ++ public static Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector128 Permute(Vector128 value, byte control); ++ public static Vector128 Permute(Vector128 value, [ConstantExpectedAttribute] byte control); +- public static Vector128 Permute(Vector128 value, byte control); ++ public static Vector128 Permute(Vector128 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute(Vector256 value, byte control); ++ public static Vector256 Permute(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute(Vector256 value, byte control); ++ public static Vector256 Permute(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Shuffle(Vector256 value, Vector256 right, byte control); ++ public static Vector256 Shuffle(Vector256 value, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Shuffle(Vector256 value, Vector256 right, byte control); ++ public static Vector256 Shuffle(Vector256 value, Vector256 right, [ConstantExpectedAttribute] byte control); + } + [CLSCompliantAttribute(false)] + public abstract class Avx2 : Avx { +- public static Vector256 AlignRight(Vector256 left, Vector256 right, byte mask); ++ public static Vector256 AlignRight(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); +- public static Vector256 AlignRight(Vector256 left, Vector256 right, byte mask); ++ public static Vector256 AlignRight(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); +- public static Vector256 AlignRight(Vector256 left, Vector256 right, byte mask); ++ public static Vector256 AlignRight(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); +- public static Vector256 AlignRight(Vector256 left, Vector256 right, byte mask); ++ public static Vector256 AlignRight(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); +- public static Vector256 AlignRight(Vector256 left, Vector256 right, byte mask); ++ public static Vector256 AlignRight(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); +- public static Vector256 AlignRight(Vector256 left, Vector256 right, byte mask); ++ public static Vector256 AlignRight(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); +- public static Vector256 AlignRight(Vector256 left, Vector256 right, byte mask); ++ public static Vector256 AlignRight(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); +- public static Vector256 AlignRight(Vector256 left, Vector256 right, byte mask); ++ public static Vector256 AlignRight(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); +- public static Vector128 Blend(Vector128 left, Vector128 right, byte control); ++ public static Vector128 Blend(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 Blend(Vector128 left, Vector128 right, byte control); ++ public static Vector128 Blend(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Blend(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Blend(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Blend(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Blend(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Blend(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Blend(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Blend(Vector256 left, Vector256 right, byte control); ++ public static Vector256 Blend(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static new Vector128 ExtractVector128(Vector256 value, byte index); ++ public static new Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static new Vector128 ExtractVector128(Vector256 value, byte index); ++ public static new Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static new Vector128 ExtractVector128(Vector256 value, byte index); ++ public static new Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static new Vector128 ExtractVector128(Vector256 value, byte index); ++ public static new Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static new Vector128 ExtractVector128(Vector256 value, byte index); ++ public static new Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static new Vector128 ExtractVector128(Vector256 value, byte index); ++ public static new Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static new Vector128 ExtractVector128(Vector256 value, byte index); ++ public static new Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public static new Vector128 ExtractVector128(Vector256 value, byte index); ++ public static new Vector128 ExtractVector128(Vector256 value, [ConstantExpectedAttribute] byte index); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, double* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, double* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, double* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, double* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, int* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, int* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, int* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, int* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, int* baseAddress, Vector256 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, int* baseAddress, Vector256 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, long* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, long* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, long* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, long* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, float* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, float* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, float* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, float* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, float* baseAddress, Vector256 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, float* baseAddress, Vector256 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, uint* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, uint* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, uint* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, uint* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, uint* baseAddress, Vector256 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, uint* baseAddress, Vector256 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, ulong* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, ulong* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherMaskVector128(Vector128 source, ulong* baseAddress, Vector128 index, Vector128 mask, byte scale); ++ public unsafe static Vector128 GatherMaskVector128(Vector128 source, ulong* baseAddress, Vector128 index, Vector128 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherMaskVector256(Vector256 source, double* baseAddress, Vector128 index, Vector256 mask, byte scale); ++ public unsafe static Vector256 GatherMaskVector256(Vector256 source, double* baseAddress, Vector128 index, Vector256 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherMaskVector256(Vector256 source, double* baseAddress, Vector256 index, Vector256 mask, byte scale); ++ public unsafe static Vector256 GatherMaskVector256(Vector256 source, double* baseAddress, Vector256 index, Vector256 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherMaskVector256(Vector256 source, int* baseAddress, Vector256 index, Vector256 mask, byte scale); ++ public unsafe static Vector256 GatherMaskVector256(Vector256 source, int* baseAddress, Vector256 index, Vector256 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherMaskVector256(Vector256 source, long* baseAddress, Vector128 index, Vector256 mask, byte scale); ++ public unsafe static Vector256 GatherMaskVector256(Vector256 source, long* baseAddress, Vector128 index, Vector256 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherMaskVector256(Vector256 source, long* baseAddress, Vector256 index, Vector256 mask, byte scale); ++ public unsafe static Vector256 GatherMaskVector256(Vector256 source, long* baseAddress, Vector256 index, Vector256 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherMaskVector256(Vector256 source, float* baseAddress, Vector256 index, Vector256 mask, byte scale); ++ public unsafe static Vector256 GatherMaskVector256(Vector256 source, float* baseAddress, Vector256 index, Vector256 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherMaskVector256(Vector256 source, uint* baseAddress, Vector256 index, Vector256 mask, byte scale); ++ public unsafe static Vector256 GatherMaskVector256(Vector256 source, uint* baseAddress, Vector256 index, Vector256 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherMaskVector256(Vector256 source, ulong* baseAddress, Vector128 index, Vector256 mask, byte scale); ++ public unsafe static Vector256 GatherMaskVector256(Vector256 source, ulong* baseAddress, Vector128 index, Vector256 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherMaskVector256(Vector256 source, ulong* baseAddress, Vector256 index, Vector256 mask, byte scale); ++ public unsafe static Vector256 GatherMaskVector256(Vector256 source, ulong* baseAddress, Vector256 index, Vector256 mask, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(double* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(double* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(double* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(double* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(int* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(int* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(int* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(int* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(int* baseAddress, Vector256 index, byte scale); ++ public unsafe static Vector128 GatherVector128(int* baseAddress, Vector256 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(long* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(long* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(long* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(long* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(float* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(float* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(float* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(float* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(float* baseAddress, Vector256 index, byte scale); ++ public unsafe static Vector128 GatherVector128(float* baseAddress, Vector256 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(uint* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(uint* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(uint* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(uint* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(uint* baseAddress, Vector256 index, byte scale); ++ public unsafe static Vector128 GatherVector128(uint* baseAddress, Vector256 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(ulong* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(ulong* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector128 GatherVector128(ulong* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector128 GatherVector128(ulong* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherVector256(double* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector256 GatherVector256(double* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherVector256(double* baseAddress, Vector256 index, byte scale); ++ public unsafe static Vector256 GatherVector256(double* baseAddress, Vector256 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherVector256(int* baseAddress, Vector256 index, byte scale); ++ public unsafe static Vector256 GatherVector256(int* baseAddress, Vector256 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherVector256(long* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector256 GatherVector256(long* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherVector256(long* baseAddress, Vector256 index, byte scale); ++ public unsafe static Vector256 GatherVector256(long* baseAddress, Vector256 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherVector256(float* baseAddress, Vector256 index, byte scale); ++ public unsafe static Vector256 GatherVector256(float* baseAddress, Vector256 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherVector256(uint* baseAddress, Vector256 index, byte scale); ++ public unsafe static Vector256 GatherVector256(uint* baseAddress, Vector256 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherVector256(ulong* baseAddress, Vector128 index, byte scale); ++ public unsafe static Vector256 GatherVector256(ulong* baseAddress, Vector128 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public unsafe static Vector256 GatherVector256(ulong* baseAddress, Vector256 index, byte scale); ++ public unsafe static Vector256 GatherVector256(ulong* baseAddress, Vector256 index, [ConstantExpectedAttribute(Min=(byte)1, Max=(byte)8)] byte scale); +- public static new Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static new Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static new Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static new Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static new Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static new Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static new Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static new Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static new Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static new Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static new Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static new Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static new Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static new Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static new Vector256 InsertVector128(Vector256 value, Vector128 data, byte index); ++ public static new Vector256 InsertVector128(Vector256 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector256 MultipleSumAbsoluteDifferences(Vector256 left, Vector256 right, byte mask); ++ public static Vector256 MultipleSumAbsoluteDifferences(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte mask); +- public static new Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static new Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static new Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static new Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static new Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static new Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static new Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static new Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static new Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static new Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static new Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static new Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static new Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static new Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static new Vector256 Permute2x128(Vector256 left, Vector256 right, byte control); ++ public static new Vector256 Permute2x128(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute4x64(Vector256 value, byte control); ++ public static Vector256 Permute4x64(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute4x64(Vector256 value, byte control); ++ public static Vector256 Permute4x64(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 Permute4x64(Vector256 value, byte control); ++ public static Vector256 Permute4x64(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 ShiftLeftLogical(Vector256 value, byte count); ++ public static Vector256 ShiftLeftLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftLeftLogical(Vector256 value, byte count); ++ public static Vector256 ShiftLeftLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftLeftLogical(Vector256 value, byte count); ++ public static Vector256 ShiftLeftLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftLeftLogical(Vector256 value, byte count); ++ public static Vector256 ShiftLeftLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftLeftLogical(Vector256 value, byte count); ++ public static Vector256 ShiftLeftLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftLeftLogical(Vector256 value, byte count); ++ public static Vector256 ShiftLeftLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftLeftLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftRightArithmetic(Vector256 value, byte count); ++ public static Vector256 ShiftRightArithmetic(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftRightArithmetic(Vector256 value, byte count); ++ public static Vector256 ShiftRightArithmetic(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftRightLogical(Vector256 value, byte count); ++ public static Vector256 ShiftRightLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftRightLogical(Vector256 value, byte count); ++ public static Vector256 ShiftRightLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftRightLogical(Vector256 value, byte count); ++ public static Vector256 ShiftRightLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftRightLogical(Vector256 value, byte count); ++ public static Vector256 ShiftRightLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftRightLogical(Vector256 value, byte count); ++ public static Vector256 ShiftRightLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftRightLogical(Vector256 value, byte count); ++ public static Vector256 ShiftRightLogical(Vector256 value, [ConstantExpectedAttribute] byte count); +- public static Vector256 ShiftRightLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftRightLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftRightLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftRightLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftRightLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftRightLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftRightLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftRightLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftRightLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftRightLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftRightLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftRightLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftRightLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftRightLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 ShiftRightLogical128BitLane(Vector256 value, byte numBytes); ++ public static Vector256 ShiftRightLogical128BitLane(Vector256 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector256 Shuffle(Vector256 value, byte control); ++ public static Vector256 Shuffle(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 Shuffle(Vector256 value, byte control); ++ public static Vector256 Shuffle(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 ShuffleHigh(Vector256 value, byte control); ++ public static Vector256 ShuffleHigh(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 ShuffleHigh(Vector256 value, byte control); ++ public static Vector256 ShuffleHigh(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 ShuffleLow(Vector256 value, byte control); ++ public static Vector256 ShuffleLow(Vector256 value, [ConstantExpectedAttribute] byte control); +- public static Vector256 ShuffleLow(Vector256 value, byte control); ++ public static Vector256 ShuffleLow(Vector256 value, [ConstantExpectedAttribute] byte control); + } ++ [CLSCompliantAttribute(false)] ++ public abstract class Avx512BW : Avx512F { ++ public static new bool IsSupported { get; } ++ public static Vector512 Abs(Vector512 value); ++ public static Vector512 Abs(Vector512 value); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 AddSaturate(Vector512 left, Vector512 right); ++ public static Vector512 AddSaturate(Vector512 left, Vector512 right); ++ public static Vector512 AddSaturate(Vector512 left, Vector512 right); ++ public static Vector512 AddSaturate(Vector512 left, Vector512 right); ++ public static Vector512 AlignRight(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector512 AlignRight(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte mask); ++ public static Vector512 Average(Vector512 left, Vector512 right); ++ public static Vector512 Average(Vector512 left, Vector512 right); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector256 ConvertToVector256Byte(Vector512 value); ++ public static Vector256 ConvertToVector256Byte(Vector512 value); ++ public static Vector256 ConvertToVector256ByteWithSaturation(Vector512 value); ++ public static Vector256 ConvertToVector256SByte(Vector512 value); ++ public static Vector256 ConvertToVector256SByte(Vector512 value); ++ public static Vector256 ConvertToVector256SByteWithSaturation(Vector512 value); ++ public static Vector512 ConvertToVector512Int16(Vector256 value); ++ public static Vector512 ConvertToVector512Int16(Vector256 value); ++ public static Vector512 ConvertToVector512UInt16(Vector256 value); ++ public static Vector512 ConvertToVector512UInt16(Vector256 value); ++ public unsafe static new Vector512 LoadVector512(byte* address); ++ public unsafe static new Vector512 LoadVector512(short* address); ++ public unsafe static new Vector512 LoadVector512(sbyte* address); ++ public unsafe static new Vector512 LoadVector512(ushort* address); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyAddAdjacent(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyAddAdjacent(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyHigh(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyHigh(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyHighRoundScale(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyLow(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyLow(Vector512 left, Vector512 right); ++ public static Vector512 PackSignedSaturate(Vector512 left, Vector512 right); ++ public static Vector512 PackSignedSaturate(Vector512 left, Vector512 right); ++ public static Vector512 PackUnsignedSaturate(Vector512 left, Vector512 right); ++ public static Vector512 PackUnsignedSaturate(Vector512 left, Vector512 right); ++ public static Vector512 PermuteVar32x16(Vector512 left, Vector512 control); ++ public static Vector512 PermuteVar32x16(Vector512 left, Vector512 control); ++ public static Vector512 PermuteVar32x16x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 PermuteVar32x16x2(Vector512 lower, Vector512 indices, Vector512 upper); ++ public static Vector512 ShiftLeftLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftLeftLogical128BitLane(Vector512 value, [ConstantExpectedAttribute] byte numBytes); ++ public static Vector512 ShiftLeftLogical128BitLane(Vector512 value, [ConstantExpectedAttribute] byte numBytes); ++ public static Vector512 ShiftLeftLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftLeftLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftRightArithmetic(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftRightArithmetic(Vector512 value, Vector128 count); ++ public static Vector512 ShiftRightArithmeticVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftRightLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftRightLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftRightLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftRightLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftRightLogical128BitLane(Vector512 value, [ConstantExpectedAttribute] byte numBytes); ++ public static Vector512 ShiftRightLogical128BitLane(Vector512 value, [ConstantExpectedAttribute] byte numBytes); ++ public static Vector512 ShiftRightLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftRightLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 Shuffle(Vector512 value, Vector512 mask); ++ public static Vector512 Shuffle(Vector512 value, Vector512 mask); ++ public static Vector512 ShuffleHigh(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 ShuffleHigh(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 ShuffleLow(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 ShuffleLow(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public unsafe static new void Store(byte* address, Vector512 source); ++ public unsafe static new void Store(short* address, Vector512 source); ++ public unsafe static new void Store(sbyte* address, Vector512 source); ++ public unsafe static new void Store(ushort* address, Vector512 source); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static Vector512 SubtractSaturate(Vector512 left, Vector512 right); ++ public static Vector512 SubtractSaturate(Vector512 left, Vector512 right); ++ public static Vector512 SubtractSaturate(Vector512 left, Vector512 right); ++ public static Vector512 SubtractSaturate(Vector512 left, Vector512 right); ++ public static Vector512 SumAbsoluteDifferences(Vector512 left, Vector512 right); ++ public static Vector512 SumAbsoluteDifferencesInBlock32(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public new abstract class VL : Avx512F.VL { ++ public static new bool IsSupported { get; } ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector256 CompareGreaterThan(Vector256 left, Vector256 right); ++ public static Vector256 CompareGreaterThan(Vector256 left, Vector256 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 Vector256 CompareGreaterThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareGreaterThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareGreaterThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareGreaterThanOrEqual(Vector256 left, Vector256 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 Vector256 CompareLessThan(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThan(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThan(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThan(Vector256 left, Vector256 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 Vector256 CompareLessThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector256 CompareNotEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareNotEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareNotEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareNotEqual(Vector256 left, Vector256 right); ++ public static Vector128 ConvertToVector128Byte(Vector128 value); ++ public static Vector128 ConvertToVector128Byte(Vector128 value); ++ public static Vector128 ConvertToVector128Byte(Vector256 value); ++ public static Vector128 ConvertToVector128Byte(Vector256 value); ++ public static Vector128 ConvertToVector128ByteWithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128ByteWithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128SByte(Vector128 value); ++ public static Vector128 ConvertToVector128SByte(Vector128 value); ++ public static Vector128 ConvertToVector128SByte(Vector256 value); ++ public static Vector128 ConvertToVector128SByte(Vector256 value); ++ public static Vector128 ConvertToVector128SByteWithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128SByteWithSaturation(Vector256 value); ++ public static Vector256 PermuteVar16x16(Vector256 left, Vector256 control); ++ public static Vector256 PermuteVar16x16(Vector256 left, Vector256 control); ++ public static Vector256 PermuteVar16x16x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector256 PermuteVar16x16x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector128 PermuteVar8x16(Vector128 left, Vector128 control); ++ public static Vector128 PermuteVar8x16(Vector128 left, Vector128 control); ++ public static Vector128 PermuteVar8x16x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 PermuteVar8x16x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 ShiftLeftLogicalVariable(Vector128 value, Vector128 count); ++ public static Vector128 ShiftLeftLogicalVariable(Vector128 value, Vector128 count); ++ public static Vector256 ShiftLeftLogicalVariable(Vector256 value, Vector256 count); ++ public static Vector256 ShiftLeftLogicalVariable(Vector256 value, Vector256 count); ++ public static Vector128 ShiftRightArithmeticVariable(Vector128 value, Vector128 count); ++ public static Vector256 ShiftRightArithmeticVariable(Vector256 value, Vector256 count); ++ public static Vector128 ShiftRightLogicalVariable(Vector128 value, Vector128 count); ++ public static Vector128 ShiftRightLogicalVariable(Vector128 value, Vector128 count); ++ public static Vector256 ShiftRightLogicalVariable(Vector256 value, Vector256 count); ++ public static Vector256 ShiftRightLogicalVariable(Vector256 value, Vector256 count); ++ public static Vector128 SumAbsoluteDifferencesInBlock32(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); ++ public static Vector256 SumAbsoluteDifferencesInBlock32(Vector256 left, Vector256 right, [ConstantExpectedAttribute] byte control); ++ } ++ public new abstract class X64 : Avx512F.X64 { ++ public static new bool IsSupported { get; } ++ } ++ } ++ [CLSCompliantAttribute(false)] ++ public abstract class Avx512CD : Avx512F { ++ public static new bool IsSupported { get; } ++ public 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 new bool IsSupported { get; } ++ 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); ++ } ++ public new abstract class X64 : Avx512F.X64 { ++ public static new bool IsSupported { get; } ++ } ++ } ++ [CLSCompliantAttribute(false)] ++ public abstract class Avx512DQ : Avx512F { ++ public static new bool IsSupported { get; } ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 BroadcastPairScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastPairScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastPairScalarToVector512(Vector128 value); ++ public unsafe static Vector512 BroadcastVector128ToVector512(double* address); ++ public unsafe static Vector512 BroadcastVector128ToVector512(long* address); ++ public unsafe static Vector512 BroadcastVector128ToVector512(ulong* address); ++ public unsafe static Vector512 BroadcastVector256ToVector512(int* address); ++ public unsafe static Vector512 BroadcastVector256ToVector512(float* address); ++ public unsafe static Vector512 BroadcastVector256ToVector512(uint* address); ++ public static Vector256 ConvertToVector256Single(Vector512 value); ++ public static Vector256 ConvertToVector256Single(Vector512 value); ++ public static Vector512 ConvertToVector512Double(Vector512 value); ++ public static Vector512 ConvertToVector512Double(Vector512 value); ++ public static Vector512 ConvertToVector512Int64(Vector256 value); ++ public static Vector512 ConvertToVector512Int64(Vector512 value); ++ public static Vector512 ConvertToVector512Int64WithTruncation(Vector256 value); ++ public static Vector512 ConvertToVector512Int64WithTruncation(Vector512 value); ++ public static Vector512 ConvertToVector512UInt64(Vector256 value); ++ public static Vector512 ConvertToVector512UInt64(Vector512 value); ++ public static Vector512 ConvertToVector512UInt64WithTruncation(Vector256 value); ++ public static Vector512 ConvertToVector512UInt64WithTruncation(Vector512 value); ++ public static new Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static new Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static new Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static new Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static new Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static new Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static new Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static new Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static new Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static new Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static new Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static new Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 MultiplyLow(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyLow(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ 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 static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public new abstract class VL : Avx512F.VL { ++ public static new bool IsSupported { get; } ++ public static Vector128 BroadcastPairScalarToVector128(Vector128 value); ++ public static Vector128 BroadcastPairScalarToVector128(Vector128 value); ++ public static Vector256 BroadcastPairScalarToVector256(Vector128 value); ++ public static Vector256 BroadcastPairScalarToVector256(Vector128 value); ++ public static Vector256 BroadcastPairScalarToVector256(Vector128 value); ++ public static Vector128 ConvertToVector128Double(Vector128 value); ++ public static Vector128 ConvertToVector128Double(Vector128 value); ++ public static Vector128 ConvertToVector128Int64(Vector128 value); ++ public static Vector128 ConvertToVector128Int64(Vector128 value); ++ public static Vector128 ConvertToVector128Int64WithTruncation(Vector128 value); ++ public static Vector128 ConvertToVector128Int64WithTruncation(Vector128 value); ++ public static Vector128 ConvertToVector128Single(Vector128 value); ++ public static Vector128 ConvertToVector128Single(Vector128 value); ++ public static Vector128 ConvertToVector128Single(Vector256 value); ++ public static Vector128 ConvertToVector128Single(Vector256 value); ++ public static Vector128 ConvertToVector128UInt64(Vector128 value); ++ public static Vector128 ConvertToVector128UInt64(Vector128 value); ++ public static Vector128 ConvertToVector128UInt64WithTruncation(Vector128 value); ++ public static Vector128 ConvertToVector128UInt64WithTruncation(Vector128 value); ++ public static Vector256 ConvertToVector256Double(Vector256 value); ++ public static Vector256 ConvertToVector256Double(Vector256 value); ++ public static Vector256 ConvertToVector256Int64(Vector128 value); ++ public static Vector256 ConvertToVector256Int64(Vector256 value); ++ public static Vector256 ConvertToVector256Int64WithTruncation(Vector128 value); ++ public static Vector256 ConvertToVector256Int64WithTruncation(Vector256 value); ++ public static Vector256 ConvertToVector256UInt64(Vector128 value); ++ public static Vector256 ConvertToVector256UInt64(Vector256 value); ++ public static Vector256 ConvertToVector256UInt64WithTruncation(Vector128 value); ++ public static Vector256 ConvertToVector256UInt64WithTruncation(Vector256 value); ++ public static Vector128 MultiplyLow(Vector128 left, Vector128 right); ++ public static Vector128 MultiplyLow(Vector128 left, Vector128 right); ++ public static Vector256 MultiplyLow(Vector256 left, Vector256 right); ++ public static Vector256 MultiplyLow(Vector256 left, Vector256 right); ++ 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); ++ } ++ public new abstract class X64 : Avx512F.X64 { ++ public static new bool IsSupported { get; } ++ } ++ } ++ [CLSCompliantAttribute(false)] ++ public abstract class Avx512F : Avx2 { ++ public static new bool IsSupported { get; } ++ public static Vector512 Abs(Vector512 value); ++ public static Vector512 Abs(Vector512 value); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ 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 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 And(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BlendVariable(Vector512 left, Vector512 right, Vector512 mask); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public static Vector512 BroadcastScalarToVector512(Vector128 value); ++ public unsafe static Vector512 BroadcastVector128ToVector512(int* address); ++ public unsafe static Vector512 BroadcastVector128ToVector512(float* address); ++ public unsafe static Vector512 BroadcastVector128ToVector512(uint* address); ++ public unsafe static Vector512 BroadcastVector256ToVector512(double* address); ++ public unsafe static Vector512 BroadcastVector256ToVector512(long* address); ++ public unsafe static Vector512 BroadcastVector256ToVector512(ulong* address); ++ public static Vector512 Compare(Vector512 left, Vector512 right, [ConstantExpectedAttribute(Max=FloatComparisonMode.UnorderedTrueSignaling)] FloatComparisonMode mode); ++ public static Vector512 Compare(Vector512 left, Vector512 right, [ConstantExpectedAttribute(Max=FloatComparisonMode.UnorderedTrueSignaling)] FloatComparisonMode mode); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotGreaterThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotGreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotLessThan(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareNotLessThanOrEqual(Vector512 left, Vector512 right); ++ public static Vector512 CompareOrdered(Vector512 left, Vector512 right); ++ public static Vector512 CompareOrdered(Vector512 left, Vector512 right); ++ public static Vector512 CompareUnordered(Vector512 left, Vector512 right); ++ public static Vector512 CompareUnordered(Vector512 left, Vector512 right); ++ public static Vector128 ConvertScalarToVector128Double(Vector128 upper, uint value); ++ public static Vector128 ConvertScalarToVector128Single(Vector128 upper, uint value); ++ public static uint ConvertToUInt32(Vector128 value); ++ public static uint ConvertToUInt32(Vector128 value); ++ public static uint ConvertToUInt32WithTruncation(Vector128 value); ++ public static uint ConvertToUInt32WithTruncation(Vector128 value); ++ public static Vector128 ConvertToVector128Byte(Vector512 value); ++ public static Vector128 ConvertToVector128Byte(Vector512 value); ++ public static Vector128 ConvertToVector128Byte(Vector512 value); ++ public static Vector128 ConvertToVector128Byte(Vector512 value); ++ public static Vector128 ConvertToVector128ByteWithSaturation(Vector512 value); ++ public static Vector128 ConvertToVector128ByteWithSaturation(Vector512 value); ++ public static Vector128 ConvertToVector128Int16(Vector512 value); ++ public static Vector128 ConvertToVector128Int16(Vector512 value); ++ public static Vector128 ConvertToVector128Int16WithSaturation(Vector512 value); ++ public static Vector128 ConvertToVector128SByte(Vector512 value); ++ public static Vector128 ConvertToVector128SByte(Vector512 value); ++ public static Vector128 ConvertToVector128SByte(Vector512 value); ++ public static Vector128 ConvertToVector128SByte(Vector512 value); ++ public static Vector128 ConvertToVector128SByteWithSaturation(Vector512 value); ++ public static Vector128 ConvertToVector128SByteWithSaturation(Vector512 value); ++ public static Vector128 ConvertToVector128UInt16(Vector512 value); ++ public static Vector128 ConvertToVector128UInt16(Vector512 value); ++ public static Vector128 ConvertToVector128UInt16WithSaturation(Vector512 value); ++ public static Vector256 ConvertToVector256Int16(Vector512 value); ++ public static Vector256 ConvertToVector256Int16(Vector512 value); ++ public static Vector256 ConvertToVector256Int16WithSaturation(Vector512 value); ++ public static Vector256 ConvertToVector256Int32(Vector512 value); ++ public static Vector256 ConvertToVector256Int32(Vector512 value); ++ public static Vector256 ConvertToVector256Int32(Vector512 value); ++ public static Vector256 ConvertToVector256Int32WithSaturation(Vector512 value); ++ public static Vector256 ConvertToVector256Int32WithTruncation(Vector512 value); ++ public static Vector256 ConvertToVector256Single(Vector512 value); ++ public static Vector256 ConvertToVector256UInt16(Vector512 value); ++ public static Vector256 ConvertToVector256UInt16(Vector512 value); ++ public static Vector256 ConvertToVector256UInt16WithSaturation(Vector512 value); ++ public static Vector256 ConvertToVector256UInt32(Vector512 value); ++ public static Vector256 ConvertToVector256UInt32(Vector512 value); ++ public static Vector256 ConvertToVector256UInt32(Vector512 value); ++ public static Vector256 ConvertToVector256UInt32WithSaturation(Vector512 value); ++ public static Vector256 ConvertToVector256UInt32WithTruncation(Vector512 value); ++ public static Vector512 ConvertToVector512Double(Vector256 value); ++ public static Vector512 ConvertToVector512Double(Vector256 value); ++ public static Vector512 ConvertToVector512Double(Vector256 value); ++ public static Vector512 ConvertToVector512Int32(Vector128 value); ++ public static Vector512 ConvertToVector512Int32(Vector128 value); ++ public static Vector512 ConvertToVector512Int32(Vector256 value); ++ public static Vector512 ConvertToVector512Int32(Vector256 value); ++ public static Vector512 ConvertToVector512Int32(Vector512 value); ++ public static Vector512 ConvertToVector512Int32WithTruncation(Vector512 value); ++ public static Vector512 ConvertToVector512Int64(Vector128 value); ++ public static Vector512 ConvertToVector512Int64(Vector128 value); ++ public static Vector512 ConvertToVector512Int64(Vector128 value); ++ public static Vector512 ConvertToVector512Int64(Vector128 value); ++ public static Vector512 ConvertToVector512Int64(Vector256 value); ++ public static Vector512 ConvertToVector512Int64(Vector256 value); ++ public static Vector512 ConvertToVector512Single(Vector512 value); ++ public static Vector512 ConvertToVector512Single(Vector512 value); ++ public static Vector512 ConvertToVector512UInt32(Vector128 value); ++ public static Vector512 ConvertToVector512UInt32(Vector128 value); ++ public static Vector512 ConvertToVector512UInt32(Vector256 value); ++ public static Vector512 ConvertToVector512UInt32(Vector256 value); ++ public static Vector512 ConvertToVector512UInt32(Vector512 value); ++ public static Vector512 ConvertToVector512UInt32WithTruncation(Vector512 value); ++ public static Vector512 ConvertToVector512UInt64(Vector128 value); ++ public static Vector512 ConvertToVector512UInt64(Vector128 value); ++ public static Vector512 ConvertToVector512UInt64(Vector128 value); ++ public static Vector512 ConvertToVector512UInt64(Vector128 value); ++ public static Vector512 ConvertToVector512UInt64(Vector256 value); ++ public static Vector512 ConvertToVector512UInt64(Vector256 value); ++ public static Vector512 Divide(Vector512 left, Vector512 right); ++ public static Vector512 Divide(Vector512 left, Vector512 right); ++ public static Vector512 DuplicateEvenIndexed(Vector512 value); ++ public static Vector512 DuplicateEvenIndexed(Vector512 value); ++ public static Vector512 DuplicateOddIndexed(Vector512 value); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector128 ExtractVector128(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ public static Vector256 ExtractVector256(Vector512 value, [ConstantExpectedAttribute] byte index); ++ 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 FusedMultiplyAdd(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplyAdd(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplyAddNegated(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplyAddNegated(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplyAddSubtract(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplyAddSubtract(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplySubtract(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplySubtract(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplySubtractAdd(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplySubtractAdd(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplySubtractNegated(Vector512 a, Vector512 b, Vector512 c); ++ public static Vector512 FusedMultiplySubtractNegated(Vector512 a, Vector512 b, Vector512 c); ++ 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 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector128(Vector512 value, Vector128 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public static Vector512 InsertVector256(Vector512 value, Vector256 data, [ConstantExpectedAttribute] byte index); ++ public unsafe static Vector512 LoadAlignedVector512(byte* address); ++ public unsafe static Vector512 LoadAlignedVector512(double* address); ++ public unsafe static Vector512 LoadAlignedVector512(short* address); ++ public unsafe static Vector512 LoadAlignedVector512(int* address); ++ public unsafe static Vector512 LoadAlignedVector512(long* address); ++ public unsafe static Vector512 LoadAlignedVector512(sbyte* address); ++ public unsafe static Vector512 LoadAlignedVector512(float* address); ++ public unsafe static Vector512 LoadAlignedVector512(ushort* address); ++ public unsafe static Vector512 LoadAlignedVector512(uint* address); ++ public unsafe static Vector512 LoadAlignedVector512(ulong* address); ++ public unsafe static Vector512 LoadAlignedVector512NonTemporal(byte* address); ++ public unsafe static Vector512 LoadAlignedVector512NonTemporal(short* address); ++ public unsafe static Vector512 LoadAlignedVector512NonTemporal(int* address); ++ public unsafe static Vector512 LoadAlignedVector512NonTemporal(long* address); ++ public unsafe static Vector512 LoadAlignedVector512NonTemporal(sbyte* address); ++ public unsafe static Vector512 LoadAlignedVector512NonTemporal(ushort* address); ++ public unsafe static Vector512 LoadAlignedVector512NonTemporal(uint* address); ++ public unsafe static Vector512 LoadAlignedVector512NonTemporal(ulong* address); ++ public unsafe static Vector512 LoadVector512(byte* address); ++ public unsafe static Vector512 LoadVector512(double* address); ++ public unsafe static Vector512 LoadVector512(short* address); ++ public unsafe static Vector512 LoadVector512(int* address); ++ public unsafe static Vector512 LoadVector512(long* address); ++ public unsafe static Vector512 LoadVector512(sbyte* address); ++ public unsafe static Vector512 LoadVector512(float* address); ++ public unsafe static Vector512 LoadVector512(ushort* address); ++ public unsafe static Vector512 LoadVector512(uint* address); ++ public unsafe static Vector512 LoadVector512(ulong* address); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Multiply(Vector512 left, Vector512 right); ++ public static Vector512 Multiply(Vector512 left, Vector512 right); ++ public static Vector512 Multiply(Vector512 left, Vector512 right); ++ public static Vector512 Multiply(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyLow(Vector512 left, Vector512 right); ++ public static Vector512 MultiplyLow(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Or(Vector512 left, Vector512 right); ++ public static Vector512 Permute2x64(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Permute4x32(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Permute4x64(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Permute4x64(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Permute4x64(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 PermuteVar16x32(Vector512 left, Vector512 control); ++ public static Vector512 PermuteVar16x32(Vector512 left, Vector512 control); ++ public static Vector512 PermuteVar16x32(Vector512 left, Vector512 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 PermuteVar2x64(Vector512 left, Vector512 control); ++ public static Vector512 PermuteVar4x32(Vector512 left, Vector512 control); ++ public static Vector512 PermuteVar8x64(Vector512 value, Vector512 control); ++ public static Vector512 PermuteVar8x64(Vector512 value, Vector512 control); ++ public static Vector512 PermuteVar8x64(Vector512 value, Vector512 control); ++ 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 ShiftLeftLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftLeftLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftLeftLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftLeftLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftLeftLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftLeftLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftRightArithmetic(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftRightArithmetic(Vector512 value, Vector128 count); ++ public static Vector512 ShiftRightArithmetic(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftRightArithmetic(Vector512 value, Vector128 count); ++ public static Vector512 ShiftRightArithmeticVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftRightArithmeticVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftRightLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftRightLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftRightLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftRightLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftRightLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftRightLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftRightLogical(Vector512 value, [ConstantExpectedAttribute] byte count); ++ public static Vector512 ShiftRightLogical(Vector512 value, Vector128 count); ++ public static Vector512 ShiftRightLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftRightLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftRightLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 ShiftRightLogicalVariable(Vector512 value, Vector512 count); ++ public static Vector512 Shuffle(Vector512 value, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Shuffle(Vector512 value, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Shuffle(Vector512 value, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Shuffle(Vector512 value, [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 Shuffle4x128(Vector512 left, Vector512 right, [ConstantExpectedAttribute] byte control); ++ public static Vector512 Sqrt(Vector512 value); ++ public static Vector512 Sqrt(Vector512 value); ++ public unsafe static void Store(byte* address, Vector512 source); ++ public unsafe static void Store(double* address, Vector512 source); ++ public unsafe static void Store(short* address, Vector512 source); ++ public unsafe static void Store(int* address, Vector512 source); ++ public unsafe static void Store(long* address, Vector512 source); ++ public unsafe static void Store(sbyte* address, Vector512 source); ++ public unsafe static void Store(float* address, Vector512 source); ++ public unsafe static void Store(ushort* address, Vector512 source); ++ public unsafe static void Store(uint* address, Vector512 source); ++ public unsafe static void Store(ulong* address, Vector512 source); ++ public unsafe static void StoreAligned(byte* address, Vector512 source); ++ public unsafe static void StoreAligned(double* address, Vector512 source); ++ public unsafe static void StoreAligned(short* address, Vector512 source); ++ public unsafe static void StoreAligned(int* address, Vector512 source); ++ public unsafe static void StoreAligned(long* address, Vector512 source); ++ public unsafe static void StoreAligned(sbyte* address, Vector512 source); ++ public unsafe static void StoreAligned(float* address, Vector512 source); ++ public unsafe static void StoreAligned(ushort* address, Vector512 source); ++ public unsafe static void StoreAligned(uint* address, Vector512 source); ++ public unsafe static void StoreAligned(ulong* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(byte* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(double* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(short* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(int* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(long* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(sbyte* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(float* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(ushort* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(uint* address, Vector512 source); ++ public unsafe static void StoreAlignedNonTemporal(ulong* address, Vector512 source); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ 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 static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackHigh(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public static Vector512 UnpackLow(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ public abstract class VL { ++ public static bool IsSupported { get; } ++ public static Vector128 Abs(Vector128 value); ++ public static Vector256 Abs(Vector256 value); ++ 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 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right); ++ public static Vector256 CompareGreaterThan(Vector256 left, Vector256 right); ++ public static Vector256 CompareGreaterThan(Vector256 left, Vector256 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 Vector256 CompareGreaterThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareGreaterThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareGreaterThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareGreaterThanOrEqual(Vector256 left, Vector256 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 Vector256 CompareLessThan(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThan(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThan(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThan(Vector256 left, Vector256 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 Vector256 CompareLessThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareLessThanOrEqual(Vector256 left, Vector256 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector128 CompareNotEqual(Vector128 left, Vector128 right); ++ public static Vector256 CompareNotEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareNotEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareNotEqual(Vector256 left, Vector256 right); ++ public static Vector256 CompareNotEqual(Vector256 left, Vector256 right); ++ public static Vector128 ConvertToVector128Byte(Vector128 value); ++ public static Vector128 ConvertToVector128Byte(Vector128 value); ++ public static Vector128 ConvertToVector128Byte(Vector128 value); ++ public static Vector128 ConvertToVector128Byte(Vector128 value); ++ public static Vector128 ConvertToVector128Byte(Vector256 value); ++ public static Vector128 ConvertToVector128Byte(Vector256 value); ++ public static Vector128 ConvertToVector128Byte(Vector256 value); ++ public static Vector128 ConvertToVector128Byte(Vector256 value); ++ public static Vector128 ConvertToVector128ByteWithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128ByteWithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128ByteWithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128ByteWithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128Double(Vector128 value); ++ public static Vector128 ConvertToVector128Int16(Vector128 value); ++ public static Vector128 ConvertToVector128Int16(Vector128 value); ++ public static Vector128 ConvertToVector128Int16(Vector128 value); ++ public static Vector128 ConvertToVector128Int16(Vector128 value); ++ public static Vector128 ConvertToVector128Int16(Vector256 value); ++ public static Vector128 ConvertToVector128Int16(Vector256 value); ++ public static Vector128 ConvertToVector128Int16(Vector256 value); ++ public static Vector128 ConvertToVector128Int16(Vector256 value); ++ public static Vector128 ConvertToVector128Int16WithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128Int16WithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128Int16WithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128Int16WithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128Int32(Vector128 value); ++ public static Vector128 ConvertToVector128Int32(Vector128 value); ++ public static Vector128 ConvertToVector128Int32(Vector256 value); ++ public static Vector128 ConvertToVector128Int32(Vector256 value); ++ public static Vector128 ConvertToVector128Int32WithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128Int32WithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128SByte(Vector128 value); ++ public static Vector128 ConvertToVector128SByte(Vector128 value); ++ public static Vector128 ConvertToVector128SByte(Vector128 value); ++ public static Vector128 ConvertToVector128SByte(Vector128 value); ++ public static Vector128 ConvertToVector128SByte(Vector256 value); ++ public static Vector128 ConvertToVector128SByte(Vector256 value); ++ public static Vector128 ConvertToVector128SByte(Vector256 value); ++ public static Vector128 ConvertToVector128SByte(Vector256 value); ++ public static Vector128 ConvertToVector128SByteWithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128SByteWithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128SByteWithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128SByteWithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128Single(Vector128 value); ++ public static Vector128 ConvertToVector128UInt16(Vector128 value); ++ public static Vector128 ConvertToVector128UInt16(Vector128 value); ++ public static Vector128 ConvertToVector128UInt16(Vector128 value); ++ public static Vector128 ConvertToVector128UInt16(Vector128 value); ++ public static Vector128 ConvertToVector128UInt16(Vector256 value); ++ public static Vector128 ConvertToVector128UInt16(Vector256 value); ++ public static Vector128 ConvertToVector128UInt16(Vector256 value); ++ public static Vector128 ConvertToVector128UInt16(Vector256 value); ++ public static Vector128 ConvertToVector128UInt16WithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128UInt16WithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128UInt16WithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128UInt16WithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128UInt32(Vector128 value); ++ public static Vector128 ConvertToVector128UInt32(Vector128 value); ++ public static Vector128 ConvertToVector128UInt32(Vector128 value); ++ public static Vector128 ConvertToVector128UInt32(Vector128 value); ++ public static Vector128 ConvertToVector128UInt32(Vector256 value); ++ public static Vector128 ConvertToVector128UInt32(Vector256 value); ++ public static Vector128 ConvertToVector128UInt32(Vector256 value); ++ public static Vector128 ConvertToVector128UInt32WithSaturation(Vector128 value); ++ public static Vector128 ConvertToVector128UInt32WithSaturation(Vector256 value); ++ public static Vector128 ConvertToVector128UInt32WithTruncation(Vector128 value); ++ public static Vector128 ConvertToVector128UInt32WithTruncation(Vector128 value); ++ public static Vector128 ConvertToVector128UInt32WithTruncation(Vector256 value); ++ public static Vector256 ConvertToVector256Double(Vector128 value); ++ public static Vector256 ConvertToVector256Single(Vector256 value); ++ public static Vector256 ConvertToVector256UInt32(Vector256 value); ++ public static Vector256 ConvertToVector256UInt32WithTruncation(Vector256 value); ++ 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 Max(Vector128 left, Vector128 right); ++ public static Vector128 Max(Vector128 left, Vector128 right); ++ public static Vector256 Max(Vector256 left, Vector256 right); ++ public static Vector256 Max(Vector256 left, Vector256 right); ++ public static Vector128 Min(Vector128 left, Vector128 right); ++ public static Vector128 Min(Vector128 left, Vector128 right); ++ public static Vector256 Min(Vector256 left, Vector256 right); ++ public static Vector256 Min(Vector256 left, Vector256 right); ++ 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 PermuteVar4x64(Vector256 value, Vector256 control); ++ public static Vector256 PermuteVar4x64(Vector256 value, Vector256 control); ++ public static Vector256 PermuteVar4x64(Vector256 value, Vector256 control); ++ 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 Vector128 ShiftRightArithmetic(Vector128 value, [ConstantExpectedAttribute] byte count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, Vector128 count); ++ public static Vector256 ShiftRightArithmetic(Vector256 value, [ConstantExpectedAttribute] byte count); ++ public static Vector256 ShiftRightArithmetic(Vector256 value, Vector128 count); ++ public static Vector128 ShiftRightArithmeticVariable(Vector128 value, Vector128 count); ++ public static Vector256 ShiftRightArithmeticVariable(Vector256 value, Vector256 count); ++ 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); ++ } ++ public new abstract class X64 : Avx2.X64 { ++ public static new bool IsSupported { get; } ++ public static Vector128 ConvertScalarToVector128Double(Vector128 upper, ulong value); ++ public static Vector128 ConvertScalarToVector128Single(Vector128 upper, ulong value); ++ public static ulong ConvertToUInt64(Vector128 value); ++ public static ulong ConvertToUInt64(Vector128 value); ++ public static ulong ConvertToUInt64WithTruncation(Vector128 value); ++ public static ulong ConvertToUInt64WithTruncation(Vector128 value); ++ } ++ } ++ [CLSCompliantAttribute(false)] ++ public abstract class Avx512Vbmi : Avx512BW { ++ public static new bool IsSupported { get; } ++ public static Vector512 PermuteVar64x8(Vector512 left, Vector512 control); ++ public static Vector512 PermuteVar64x8(Vector512 left, Vector512 control); ++ 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 new bool IsSupported { get; } ++ public static Vector128 PermuteVar16x8(Vector128 left, Vector128 control); ++ public static Vector128 PermuteVar16x8(Vector128 left, Vector128 control); ++ public static Vector128 PermuteVar16x8x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector128 PermuteVar16x8x2(Vector128 lower, Vector128 indices, Vector128 upper); ++ public static Vector256 PermuteVar32x8(Vector256 left, Vector256 control); ++ public static Vector256 PermuteVar32x8(Vector256 left, Vector256 control); ++ public static Vector256 PermuteVar32x8x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ public static Vector256 PermuteVar32x8x2(Vector256 lower, Vector256 indices, Vector256 upper); ++ } ++ public new abstract class X64 : Avx512BW.X64 { ++ public static new bool IsSupported { get; } ++ } ++ } + [CLSCompliantAttribute(false)] + public abstract class Pclmulqdq : Sse2 { +- public static Vector128 CarrylessMultiply(Vector128 left, Vector128 right, byte control); ++ public static Vector128 CarrylessMultiply(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 CarrylessMultiply(Vector128 left, Vector128 right, byte control); ++ public static Vector128 CarrylessMultiply(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); + } + [CLSCompliantAttribute(false)] + public abstract class Sse : X86Base { +- public static Vector128 Shuffle(Vector128 left, Vector128 right, byte control); ++ public static Vector128 Shuffle(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); + } + [CLSCompliantAttribute(false)] + public abstract class Sse2 : Sse { +- public static ushort Extract(Vector128 value, byte index); ++ public static ushort Extract(Vector128 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 Insert(Vector128 value, short data, byte index); ++ public static Vector128 Insert(Vector128 value, short data, [ConstantExpectedAttribute] byte index); +- public static Vector128 Insert(Vector128 value, ushort data, byte index); ++ public static Vector128 Insert(Vector128 value, ushort data, [ConstantExpectedAttribute] byte index); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftLeftLogical(Vector128 value, byte count); ++ public static Vector128 ShiftLeftLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftLeftLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftRightArithmetic(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftRightArithmetic(Vector128 value, byte count); ++ public static Vector128 ShiftRightArithmetic(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftRightLogical(Vector128 value, byte count); ++ public static Vector128 ShiftRightLogical(Vector128 value, [ConstantExpectedAttribute] byte count); +- public static Vector128 ShiftRightLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftRightLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftRightLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftRightLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftRightLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftRightLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftRightLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftRightLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftRightLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftRightLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftRightLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftRightLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftRightLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftRightLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 ShiftRightLogical128BitLane(Vector128 value, byte numBytes); ++ public static Vector128 ShiftRightLogical128BitLane(Vector128 value, [ConstantExpectedAttribute] byte numBytes); +- public static Vector128 Shuffle(Vector128 left, Vector128 right, byte control); ++ public static Vector128 Shuffle(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 Shuffle(Vector128 value, byte control); ++ public static Vector128 Shuffle(Vector128 value, [ConstantExpectedAttribute] byte control); +- public static Vector128 Shuffle(Vector128 value, byte control); ++ public static Vector128 Shuffle(Vector128 value, [ConstantExpectedAttribute] byte control); +- public static Vector128 ShuffleHigh(Vector128 value, byte control); ++ public static Vector128 ShuffleHigh(Vector128 value, [ConstantExpectedAttribute] byte control); +- public static Vector128 ShuffleHigh(Vector128 value, byte control); ++ public static Vector128 ShuffleHigh(Vector128 value, [ConstantExpectedAttribute] byte control); +- public static Vector128 ShuffleLow(Vector128 value, byte control); ++ public static Vector128 ShuffleLow(Vector128 value, [ConstantExpectedAttribute] byte control); +- public static Vector128 ShuffleLow(Vector128 value, byte control); ++ public static Vector128 ShuffleLow(Vector128 value, [ConstantExpectedAttribute] byte control); + } + [CLSCompliantAttribute(false)] + public abstract class Sse41 : Ssse3 { +- public static Vector128 Blend(Vector128 left, Vector128 right, byte control); ++ public static Vector128 Blend(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 Blend(Vector128 left, Vector128 right, byte control); ++ public static Vector128 Blend(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 Blend(Vector128 left, Vector128 right, byte control); ++ public static Vector128 Blend(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 Blend(Vector128 left, Vector128 right, byte control); ++ public static Vector128 Blend(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 DotProduct(Vector128 left, Vector128 right, byte control); ++ public static Vector128 DotProduct(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static Vector128 DotProduct(Vector128 left, Vector128 right, byte control); ++ public static Vector128 DotProduct(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte control); +- public static byte Extract(Vector128 value, byte index); ++ public static byte Extract(Vector128 value, [ConstantExpectedAttribute] byte index); +- public static int Extract(Vector128 value, byte index); ++ public static int Extract(Vector128 value, [ConstantExpectedAttribute] byte index); +- public static float Extract(Vector128 value, byte index); ++ public static float Extract(Vector128 value, [ConstantExpectedAttribute] byte index); +- public static uint Extract(Vector128 value, byte index); ++ public static uint Extract(Vector128 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 Insert(Vector128 value, byte data, byte index); ++ public static Vector128 Insert(Vector128 value, byte data, [ConstantExpectedAttribute] byte index); +- public static Vector128 Insert(Vector128 value, int data, byte index); ++ public static Vector128 Insert(Vector128 value, int data, [ConstantExpectedAttribute] byte index); +- public static Vector128 Insert(Vector128 value, sbyte data, byte index); ++ public static Vector128 Insert(Vector128 value, sbyte data, [ConstantExpectedAttribute] byte index); +- public static Vector128 Insert(Vector128 value, Vector128 data, byte index); ++ public static Vector128 Insert(Vector128 value, Vector128 data, [ConstantExpectedAttribute] byte index); +- public static Vector128 Insert(Vector128 value, uint data, byte index); ++ public static Vector128 Insert(Vector128 value, uint data, [ConstantExpectedAttribute] byte index); +- public static Vector128 MultipleSumAbsoluteDifferences(Vector128 left, Vector128 right, byte mask); ++ public static Vector128 MultipleSumAbsoluteDifferences(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); + public new abstract class X64 : Ssse3.X64 { +- public static long Extract(Vector128 value, byte index); ++ public static long Extract(Vector128 value, [ConstantExpectedAttribute] byte index); +- public static ulong Extract(Vector128 value, byte index); ++ public static ulong Extract(Vector128 value, [ConstantExpectedAttribute] byte index); +- public static Vector128 Insert(Vector128 value, long data, byte index); ++ public static Vector128 Insert(Vector128 value, long data, [ConstantExpectedAttribute] byte index); +- public static Vector128 Insert(Vector128 value, ulong data, byte index); ++ public static Vector128 Insert(Vector128 value, ulong data, [ConstantExpectedAttribute] byte index); + } + } + [CLSCompliantAttribute(false)] + public abstract class Ssse3 : Sse3 { +- public static Vector128 AlignRight(Vector128 left, Vector128 right, byte mask); ++ public static Vector128 AlignRight(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); +- public static Vector128 AlignRight(Vector128 left, Vector128 right, byte mask); ++ public static Vector128 AlignRight(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); +- public static Vector128 AlignRight(Vector128 left, Vector128 right, byte mask); ++ public static Vector128 AlignRight(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); +- public static Vector128 AlignRight(Vector128 left, Vector128 right, byte mask); ++ public static Vector128 AlignRight(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); +- public static Vector128 AlignRight(Vector128 left, Vector128 right, byte mask); ++ public static Vector128 AlignRight(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); +- public static Vector128 AlignRight(Vector128 left, Vector128 right, byte mask); ++ public static Vector128 AlignRight(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); +- public static Vector128 AlignRight(Vector128 left, Vector128 right, byte mask); ++ public static Vector128 AlignRight(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); +- public static Vector128 AlignRight(Vector128 left, Vector128 right, byte mask); ++ public static Vector128 AlignRight(Vector128 left, Vector128 right, [ConstantExpectedAttribute] byte mask); + } +- public abstract class X86Base { ++ [CLSCompliantAttribute(false)] ++ public abstract class X86Base { ++ [RequiresPreviewFeaturesAttribute("DivRem is in preview.")] ++ public static (int Quotient, int Remainder) DivRem(uint lower, int upper, int divisor); ++ [RequiresPreviewFeaturesAttribute("DivRem is in preview.")] ++ public static (uint Quotient, uint Remainder) DivRem(uint lower, uint upper, uint divisor); ++ [RequiresPreviewFeaturesAttribute("DivRem is in preview.")] ++ public static (IntPtr Quotient, IntPtr Remainder) DivRem(UIntPtr lower, IntPtr upper, IntPtr divisor); ++ [RequiresPreviewFeaturesAttribute("DivRem is in preview.")] ++ public static (UIntPtr Quotient, UIntPtr Remainder) DivRem(UIntPtr lower, UIntPtr upper, UIntPtr divisor); + public abstract class X64 { ++ [RequiresPreviewFeaturesAttribute("DivRem is in preview.")] ++ public static (long Quotient, long Remainder) DivRem(ulong lower, long upper, long divisor); ++ [RequiresPreviewFeaturesAttribute("DivRem is in preview.")] ++ public static (ulong Quotient, ulong Remainder) DivRem(ulong lower, ulong upper, ulong divisor); + } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.md new file mode 100644 index 00000000000..00a077f6651 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Intrinsics.md @@ -0,0 +1,974 @@ +# System.Runtime.Intrinsics + +``` diff + namespace System.Runtime.Intrinsics { + public static class Vector128 { +- public static Vector128 Abs(Vector128 vector) where T : struct; ++ public static Vector128 Abs(Vector128 vector); +- public static Vector128 Add(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 Add(Vector128 left, Vector128 right); +- public static Vector128 AndNot(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 AndNot(Vector128 left, Vector128 right); +- public static Vector128 As(this Vector128 vector) where TFrom : struct where TTo : struct; ++ public static Vector128 As(this Vector128 vector); +- public static Vector128 AsByte(this Vector128 vector) where T : struct; ++ public static Vector128 AsByte(this Vector128 vector); +- public static Vector128 AsDouble(this Vector128 vector) where T : struct; ++ public static Vector128 AsDouble(this Vector128 vector); +- public static Vector128 AsInt16(this Vector128 vector) where T : struct; ++ public static Vector128 AsInt16(this Vector128 vector); +- public static Vector128 AsInt32(this Vector128 vector) where T : struct; ++ public static Vector128 AsInt32(this Vector128 vector); +- public static Vector128 AsInt64(this Vector128 vector) where T : struct; ++ public static Vector128 AsInt64(this Vector128 vector); +- public static Vector128 AsNInt(this Vector128 vector) where T : struct; ++ public static Vector128 AsNInt(this Vector128 vector); +- [CLSCompliantAttribute(false)] +- public static Vector128 AsNUInt(this Vector128 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector128 AsNUInt(this Vector128 vector); +- [CLSCompliantAttribute(false)] +- public static Vector128 AsSByte(this Vector128 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector128 AsSByte(this Vector128 vector); +- public static Vector128 AsSingle(this Vector128 vector) where T : struct; ++ public static Vector128 AsSingle(this Vector128 vector); +- [CLSCompliantAttribute(false)] +- public static Vector128 AsUInt16(this Vector128 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector128 AsUInt16(this Vector128 vector); +- [CLSCompliantAttribute(false)] +- public static Vector128 AsUInt32(this Vector128 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector128 AsUInt32(this Vector128 vector); +- [CLSCompliantAttribute(false)] +- public static Vector128 AsUInt64(this Vector128 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector128 AsUInt64(this Vector128 vector); +- public static Vector128 AsVector128(this Vector value) where T : struct; ++ public static Vector128 AsVector128(this Vector value); +- public static Vector AsVector(this Vector128 value) where T : struct; ++ public static Vector AsVector(this Vector128 value); +- public static Vector128 BitwiseAnd(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 BitwiseAnd(Vector128 left, Vector128 right); +- public static Vector128 BitwiseOr(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 BitwiseOr(Vector128 left, Vector128 right); +- public static Vector128 ConditionalSelect(Vector128 condition, Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 ConditionalSelect(Vector128 condition, Vector128 left, Vector128 right); +- public static void CopyTo(this Vector128 vector, Span destination) where T : struct; ++ public static void CopyTo(this Vector128 vector, Span destination); +- public static void CopyTo(this Vector128 vector, T[] destination) where T : struct; ++ public static void CopyTo(this Vector128 vector, T[] destination); +- public static void CopyTo(this Vector128 vector, T[] destination, int startIndex) where T : struct; ++ public static void CopyTo(this Vector128 vector, T[] destination, int startIndex); ++ public static Vector128 Create(Vector64 lower, Vector64 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector128 Create(Vector64 lower, Vector64 upper); +- public static Vector128 Create(ReadOnlySpan values) where T : struct; ++ public static Vector128 Create(ReadOnlySpan values); ++ public static Vector128 Create(Vector64 lower, Vector64 upper); +- public static Vector128 Create(T value) where T : struct; ++ public static Vector128 Create(T value); +- public static Vector128 Create(T[] values) where T : struct; ++ public static Vector128 Create(T[] values); +- public static Vector128 Create(T[] values, int index) where T : struct; ++ public static Vector128 Create(T[] values, int index); ++ public static Vector128 CreateScalar(T value); ++ public static Vector128 CreateScalarUnsafe(T value); +- public static Vector128 Divide(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 Divide(Vector128 left, Vector128 right); ++ public static Vector128 Divide(Vector128 left, T right); +- public static T Dot(Vector128 left, Vector128 right) where T : struct; ++ public static T Dot(Vector128 left, Vector128 right); +- public static Vector128 Equals(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 Equals(Vector128 left, Vector128 right); +- public static bool EqualsAll(Vector128 left, Vector128 right) where T : struct; ++ public static bool EqualsAll(Vector128 left, Vector128 right); +- public static bool EqualsAny(Vector128 left, Vector128 right) where T : struct; ++ public static bool EqualsAny(Vector128 left, Vector128 right); +- [CLSCompliantAttribute(false)] +- public static uint ExtractMostSignificantBits(this Vector128 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static uint ExtractMostSignificantBits(this Vector128 vector); +- public static T GetElement(this Vector128 vector, int index) where T : struct; ++ public static T GetElement(this Vector128 vector, int index); +- public static Vector64 GetLower(this Vector128 vector) where T : struct; ++ public static Vector64 GetLower(this Vector128 vector); +- public static Vector64 GetUpper(this Vector128 vector) where T : struct; ++ public static Vector64 GetUpper(this Vector128 vector); +- public static Vector128 GreaterThan(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 GreaterThan(Vector128 left, Vector128 right); +- public static bool GreaterThanAll(Vector128 left, Vector128 right) where T : struct; ++ public static bool GreaterThanAll(Vector128 left, Vector128 right); +- public static bool GreaterThanAny(Vector128 left, Vector128 right) where T : struct; ++ public static bool GreaterThanAny(Vector128 left, Vector128 right); +- public static Vector128 GreaterThanOrEqual(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 GreaterThanOrEqual(Vector128 left, Vector128 right); +- public static bool GreaterThanOrEqualAll(Vector128 left, Vector128 right) where T : struct; ++ public static bool GreaterThanOrEqualAll(Vector128 left, Vector128 right); +- public static bool GreaterThanOrEqualAny(Vector128 left, Vector128 right) where T : struct; ++ public static bool GreaterThanOrEqualAny(Vector128 left, Vector128 right); +- public static Vector128 LessThan(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 LessThan(Vector128 left, Vector128 right); +- public static bool LessThanAll(Vector128 left, Vector128 right) where T : struct; ++ public static bool LessThanAll(Vector128 left, Vector128 right); +- public static bool LessThanAny(Vector128 left, Vector128 right) where T : struct; ++ public static bool LessThanAny(Vector128 left, Vector128 right); +- public static Vector128 LessThanOrEqual(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 LessThanOrEqual(Vector128 left, Vector128 right); +- public static bool LessThanOrEqualAll(Vector128 left, Vector128 right) where T : struct; ++ public static bool LessThanOrEqualAll(Vector128 left, Vector128 right); +- public static bool LessThanOrEqualAny(Vector128 left, Vector128 right) where T : struct; ++ public static bool LessThanOrEqualAny(Vector128 left, Vector128 right); +- [CLSCompliantAttribute(false)] +- public unsafe static Vector128 Load(T* source) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector128 Load(T* source); +- [CLSCompliantAttribute(false)] +- public unsafe static Vector128 LoadAligned(T* source) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector128 LoadAligned(T* source); +- [CLSCompliantAttribute(false)] +- public unsafe static Vector128 LoadAlignedNonTemporal(T* source) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector128 LoadAlignedNonTemporal(T* source); +- public static Vector128 LoadUnsafe(ref T source) where T : struct; ++ public static Vector128 LoadUnsafe([RequiresLocationAttribute] ref T source); +- [CLSCompliantAttribute(false)] +- public static Vector128 LoadUnsafe(ref T source, UIntPtr elementOffset) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector128 LoadUnsafe([RequiresLocationAttribute] ref T source, UIntPtr elementOffset); +- public static Vector128 Max(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 Max(Vector128 left, Vector128 right); +- public static Vector128 Min(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 Min(Vector128 left, Vector128 right); +- public static Vector128 Multiply(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 Multiply(Vector128 left, Vector128 right); +- public static Vector128 Multiply(Vector128 left, T right) where T : struct; ++ public static Vector128 Multiply(Vector128 left, T right); +- public static Vector128 Multiply(T left, Vector128 right) where T : struct; ++ public static Vector128 Multiply(T left, Vector128 right); +- public static Vector128 Negate(Vector128 vector) where T : struct; ++ public static Vector128 Negate(Vector128 vector); +- public static Vector128 OnesComplement(Vector128 vector) where T : struct; ++ public static Vector128 OnesComplement(Vector128 vector); +- public static Vector128 Sqrt(Vector128 vector) where T : struct; ++ public static Vector128 Sqrt(Vector128 vector); +- [CLSCompliantAttribute(false)] +- public unsafe static void Store(this Vector128 source, T* destination) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static void Store(this Vector128 source, T* destination); +- [CLSCompliantAttribute(false)] +- public unsafe static void StoreAligned(this Vector128 source, T* destination) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAligned(this Vector128 source, T* destination); +- [CLSCompliantAttribute(false)] +- public unsafe static void StoreAlignedNonTemporal(this Vector128 source, T* destination) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAlignedNonTemporal(this Vector128 source, T* destination); +- public static void StoreUnsafe(this Vector128 source, ref T destination) where T : struct; ++ public static void StoreUnsafe(this Vector128 source, ref T destination); +- [CLSCompliantAttribute(false)] +- public static void StoreUnsafe(this Vector128 source, ref T destination, UIntPtr elementOffset) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static void StoreUnsafe(this Vector128 source, ref T destination, UIntPtr elementOffset); +- public static Vector128 Subtract(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 Subtract(Vector128 left, Vector128 right); +- public static T Sum(Vector128 vector) where T : struct; ++ public static T Sum(Vector128 vector); +- public static T ToScalar(this Vector128 vector) where T : struct; ++ public static T ToScalar(this Vector128 vector); +- public static Vector256 ToVector256(this Vector128 vector) where T : struct; ++ public static Vector256 ToVector256(this Vector128 vector); +- public static Vector256 ToVector256Unsafe(this Vector128 vector) where T : struct; ++ public static Vector256 ToVector256Unsafe(this Vector128 vector); +- public static bool TryCopyTo(this Vector128 vector, Span destination) where T : struct; ++ public static bool TryCopyTo(this Vector128 vector, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static Vector128 WidenLower(Vector128 source); ++ public static Vector128 WidenLower(Vector128 source); ++ public static Vector128 WidenLower(Vector128 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector128 WidenLower(Vector128 source); ++ public static Vector128 WidenLower(Vector128 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector128 WidenLower(Vector128 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector128 WidenLower(Vector128 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector128 WidenUpper(Vector128 source); ++ public static Vector128 WidenUpper(Vector128 source); ++ public static Vector128 WidenUpper(Vector128 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector128 WidenUpper(Vector128 source); ++ public static Vector128 WidenUpper(Vector128 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector128 WidenUpper(Vector128 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector128 WidenUpper(Vector128 source); +- public static Vector128 WithElement(this Vector128 vector, int index, T value) where T : struct; ++ public static Vector128 WithElement(this Vector128 vector, int index, T value); +- public static Vector128 WithLower(this Vector128 vector, Vector64 value) where T : struct; ++ public static Vector128 WithLower(this Vector128 vector, Vector64 value); +- public static Vector128 WithUpper(this Vector128 vector, Vector64 value) where T : struct; ++ public static Vector128 WithUpper(this Vector128 vector, Vector64 value); +- public static Vector128 Xor(Vector128 left, Vector128 right) where T : struct; ++ public static Vector128 Xor(Vector128 left, Vector128 right); + } +- public readonly struct Vector128 : IEquatable> where T : struct { ++ public readonly struct Vector128 : IEquatable> { ++ public static Vector128 One { get; } ++ public static Vector128 operator /(Vector128 left, T right); ++ public static Vector128 operator <<(Vector128 value, int shiftCount); ++ public static Vector128 operator >>(Vector128 value, int shiftCount); ++ public static Vector128 operator >>>(Vector128 value, int shiftCount); + } + public static class Vector256 { +- public static Vector256 Abs(Vector256 vector) where T : struct; ++ public static Vector256 Abs(Vector256 vector); +- public static Vector256 Add(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 Add(Vector256 left, Vector256 right); +- public static Vector256 AndNot(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 AndNot(Vector256 left, Vector256 right); +- public static Vector256 As(this Vector256 vector) where TFrom : struct where TTo : struct; ++ public static Vector256 As(this Vector256 vector); +- public static Vector256 AsByte(this Vector256 vector) where T : struct; ++ public static Vector256 AsByte(this Vector256 vector); +- public static Vector256 AsDouble(this Vector256 vector) where T : struct; ++ public static Vector256 AsDouble(this Vector256 vector); +- public static Vector256 AsInt16(this Vector256 vector) where T : struct; ++ public static Vector256 AsInt16(this Vector256 vector); +- public static Vector256 AsInt32(this Vector256 vector) where T : struct; ++ public static Vector256 AsInt32(this Vector256 vector); +- public static Vector256 AsInt64(this Vector256 vector) where T : struct; ++ public static Vector256 AsInt64(this Vector256 vector); +- public static Vector256 AsNInt(this Vector256 vector) where T : struct; ++ public static Vector256 AsNInt(this Vector256 vector); +- [CLSCompliantAttribute(false)] +- public static Vector256 AsNUInt(this Vector256 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector256 AsNUInt(this Vector256 vector); +- [CLSCompliantAttribute(false)] +- public static Vector256 AsSByte(this Vector256 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector256 AsSByte(this Vector256 vector); +- public static Vector256 AsSingle(this Vector256 vector) where T : struct; ++ public static Vector256 AsSingle(this Vector256 vector); +- [CLSCompliantAttribute(false)] +- public static Vector256 AsUInt16(this Vector256 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector256 AsUInt16(this Vector256 vector); +- [CLSCompliantAttribute(false)] +- public static Vector256 AsUInt32(this Vector256 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector256 AsUInt32(this Vector256 vector); +- [CLSCompliantAttribute(false)] +- public static Vector256 AsUInt64(this Vector256 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector256 AsUInt64(this Vector256 vector); +- public static Vector256 AsVector256(this Vector value) where T : struct; ++ public static Vector256 AsVector256(this Vector value); +- public static Vector AsVector(this Vector256 value) where T : struct; ++ public static Vector AsVector(this Vector256 value); +- public static Vector256 BitwiseAnd(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 BitwiseAnd(Vector256 left, Vector256 right); +- public static Vector256 BitwiseOr(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 BitwiseOr(Vector256 left, Vector256 right); +- public static Vector256 ConditionalSelect(Vector256 condition, Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 ConditionalSelect(Vector256 condition, Vector256 left, Vector256 right); +- public static void CopyTo(this Vector256 vector, Span destination) where T : struct; ++ public static void CopyTo(this Vector256 vector, Span destination); +- public static void CopyTo(this Vector256 vector, T[] destination) where T : struct; ++ public static void CopyTo(this Vector256 vector, T[] destination); +- public static void CopyTo(this Vector256 vector, T[] destination, int startIndex) where T : struct; ++ public static void CopyTo(this Vector256 vector, T[] destination, int startIndex); ++ public static Vector256 Create(Vector128 lower, Vector128 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector256 Create(Vector128 lower, Vector128 upper); +- public static Vector256 Create(ReadOnlySpan values) where T : struct; ++ public static Vector256 Create(ReadOnlySpan values); ++ public static Vector256 Create(Vector128 lower, Vector128 upper); +- public static Vector256 Create(T value) where T : struct; ++ public static Vector256 Create(T value); +- public static Vector256 Create(T[] values) where T : struct; ++ public static Vector256 Create(T[] values); +- public static Vector256 Create(T[] values, int index) where T : struct; ++ public static Vector256 Create(T[] values, int index); ++ public static Vector256 CreateScalar(T value); ++ public static Vector256 CreateScalarUnsafe(T value); +- public static Vector256 Divide(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 Divide(Vector256 left, Vector256 right); ++ public static Vector256 Divide(Vector256 left, T right); +- public static T Dot(Vector256 left, Vector256 right) where T : struct; ++ public static T Dot(Vector256 left, Vector256 right); +- public static Vector256 Equals(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 Equals(Vector256 left, Vector256 right); +- public static bool EqualsAll(Vector256 left, Vector256 right) where T : struct; ++ public static bool EqualsAll(Vector256 left, Vector256 right); +- public static bool EqualsAny(Vector256 left, Vector256 right) where T : struct; ++ public static bool EqualsAny(Vector256 left, Vector256 right); +- [CLSCompliantAttribute(false)] +- public static uint ExtractMostSignificantBits(this Vector256 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static uint ExtractMostSignificantBits(this Vector256 vector); +- public static T GetElement(this Vector256 vector, int index) where T : struct; ++ public static T GetElement(this Vector256 vector, int index); +- public static Vector128 GetLower(this Vector256 vector) where T : struct; ++ public static Vector128 GetLower(this Vector256 vector); +- public static Vector128 GetUpper(this Vector256 vector) where T : struct; ++ public static Vector128 GetUpper(this Vector256 vector); +- public static Vector256 GreaterThan(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 GreaterThan(Vector256 left, Vector256 right); +- public static bool GreaterThanAll(Vector256 left, Vector256 right) where T : struct; ++ public static bool GreaterThanAll(Vector256 left, Vector256 right); +- public static bool GreaterThanAny(Vector256 left, Vector256 right) where T : struct; ++ public static bool GreaterThanAny(Vector256 left, Vector256 right); +- public static Vector256 GreaterThanOrEqual(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 GreaterThanOrEqual(Vector256 left, Vector256 right); +- public static bool GreaterThanOrEqualAll(Vector256 left, Vector256 right) where T : struct; ++ public static bool GreaterThanOrEqualAll(Vector256 left, Vector256 right); +- public static bool GreaterThanOrEqualAny(Vector256 left, Vector256 right) where T : struct; ++ public static bool GreaterThanOrEqualAny(Vector256 left, Vector256 right); +- public static Vector256 LessThan(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 LessThan(Vector256 left, Vector256 right); +- public static bool LessThanAll(Vector256 left, Vector256 right) where T : struct; ++ public static bool LessThanAll(Vector256 left, Vector256 right); +- public static bool LessThanAny(Vector256 left, Vector256 right) where T : struct; ++ public static bool LessThanAny(Vector256 left, Vector256 right); +- public static Vector256 LessThanOrEqual(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 LessThanOrEqual(Vector256 left, Vector256 right); +- public static bool LessThanOrEqualAll(Vector256 left, Vector256 right) where T : struct; ++ public static bool LessThanOrEqualAll(Vector256 left, Vector256 right); +- public static bool LessThanOrEqualAny(Vector256 left, Vector256 right) where T : struct; ++ public static bool LessThanOrEqualAny(Vector256 left, Vector256 right); +- [CLSCompliantAttribute(false)] +- public unsafe static Vector256 Load(T* source) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector256 Load(T* source); +- [CLSCompliantAttribute(false)] +- public unsafe static Vector256 LoadAligned(T* source) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector256 LoadAligned(T* source); +- [CLSCompliantAttribute(false)] +- public unsafe static Vector256 LoadAlignedNonTemporal(T* source) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector256 LoadAlignedNonTemporal(T* source); +- public static Vector256 LoadUnsafe(ref T source) where T : struct; ++ public static Vector256 LoadUnsafe([RequiresLocationAttribute] ref T source); +- [CLSCompliantAttribute(false)] +- public static Vector256 LoadUnsafe(ref T source, UIntPtr elementOffset) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector256 LoadUnsafe([RequiresLocationAttribute] ref T source, UIntPtr elementOffset); +- public static Vector256 Max(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 Max(Vector256 left, Vector256 right); +- public static Vector256 Min(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 Min(Vector256 left, Vector256 right); +- public static Vector256 Multiply(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 Multiply(Vector256 left, Vector256 right); +- public static Vector256 Multiply(Vector256 left, T right) where T : struct; ++ public static Vector256 Multiply(Vector256 left, T right); +- public static Vector256 Multiply(T left, Vector256 right) where T : struct; ++ public static Vector256 Multiply(T left, Vector256 right); +- public static Vector256 Negate(Vector256 vector) where T : struct; ++ public static Vector256 Negate(Vector256 vector); +- public static Vector256 OnesComplement(Vector256 vector) where T : struct; ++ public static Vector256 OnesComplement(Vector256 vector); +- public static Vector256 Sqrt(Vector256 vector) where T : struct; ++ public static Vector256 Sqrt(Vector256 vector); +- [CLSCompliantAttribute(false)] +- public unsafe static void Store(this Vector256 source, T* destination) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static void Store(this Vector256 source, T* destination); +- [CLSCompliantAttribute(false)] +- public unsafe static void StoreAligned(this Vector256 source, T* destination) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAligned(this Vector256 source, T* destination); +- [CLSCompliantAttribute(false)] +- public unsafe static void StoreAlignedNonTemporal(this Vector256 source, T* destination) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAlignedNonTemporal(this Vector256 source, T* destination); +- public static void StoreUnsafe(this Vector256 source, ref T destination) where T : struct; ++ public static void StoreUnsafe(this Vector256 source, ref T destination); +- [CLSCompliantAttribute(false)] +- public static void StoreUnsafe(this Vector256 source, ref T destination, UIntPtr elementOffset) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static void StoreUnsafe(this Vector256 source, ref T destination, UIntPtr elementOffset); +- public static Vector256 Subtract(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 Subtract(Vector256 left, Vector256 right); +- public static T Sum(Vector256 vector) where T : struct; ++ public static T Sum(Vector256 vector); +- public static T ToScalar(this Vector256 vector) where T : struct; ++ public static T ToScalar(this Vector256 vector); ++ public static Vector512 ToVector512(this Vector256 vector); ++ public static Vector512 ToVector512Unsafe(this Vector256 vector); +- public static bool TryCopyTo(this Vector256 vector, Span destination) where T : struct; ++ public static bool TryCopyTo(this Vector256 vector, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static Vector256 WidenLower(Vector256 source); ++ public static Vector256 WidenLower(Vector256 source); ++ public static Vector256 WidenLower(Vector256 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector256 WidenLower(Vector256 source); ++ public static Vector256 WidenLower(Vector256 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector256 WidenLower(Vector256 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector256 WidenLower(Vector256 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector256 WidenUpper(Vector256 source); ++ public static Vector256 WidenUpper(Vector256 source); ++ public static Vector256 WidenUpper(Vector256 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector256 WidenUpper(Vector256 source); ++ public static Vector256 WidenUpper(Vector256 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector256 WidenUpper(Vector256 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector256 WidenUpper(Vector256 source); +- public static Vector256 WithElement(this Vector256 vector, int index, T value) where T : struct; ++ public static Vector256 WithElement(this Vector256 vector, int index, T value); +- public static Vector256 WithLower(this Vector256 vector, Vector128 value) where T : struct; ++ public static Vector256 WithLower(this Vector256 vector, Vector128 value); +- public static Vector256 WithUpper(this Vector256 vector, Vector128 value) where T : struct; ++ public static Vector256 WithUpper(this Vector256 vector, Vector128 value); +- public static Vector256 Xor(Vector256 left, Vector256 right) where T : struct; ++ public static Vector256 Xor(Vector256 left, Vector256 right); + } +- public readonly struct Vector256 : IEquatable> where T : struct { ++ public readonly struct Vector256 : IEquatable> { ++ public static Vector256 One { get; } ++ public static Vector256 operator /(Vector256 left, T right); ++ public static Vector256 operator <<(Vector256 value, int shiftCount); ++ public static Vector256 operator >>(Vector256 value, int shiftCount); ++ public static Vector256 operator >>>(Vector256 value, int shiftCount); + } ++ public static class Vector512 { ++ public static bool IsHardwareAccelerated { get; } ++ public static Vector512 Abs(Vector512 vector); ++ public static Vector512 Add(Vector512 left, Vector512 right); ++ public static Vector512 AndNot(Vector512 left, Vector512 right); ++ public static Vector512 As(this Vector512 vector); ++ public static Vector512 AsByte(this Vector512 vector); ++ public static Vector512 AsDouble(this Vector512 vector); ++ public static Vector512 AsInt16(this Vector512 vector); ++ public static Vector512 AsInt32(this Vector512 vector); ++ public static Vector512 AsInt64(this Vector512 vector); ++ public static Vector512 AsNInt(this Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 AsNUInt(this Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 AsSByte(this Vector512 vector); ++ public static Vector512 AsSingle(this Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 AsUInt16(this Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 AsUInt32(this Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 AsUInt64(this Vector512 vector); ++ public static Vector512 AsVector512(this Vector value); ++ public static Vector AsVector(this Vector512 value); ++ public static Vector512 BitwiseAnd(Vector512 left, Vector512 right); ++ public static Vector512 BitwiseOr(Vector512 left, Vector512 right); ++ public static Vector512 Ceiling(Vector512 vector); ++ public static Vector512 Ceiling(Vector512 vector); ++ public static Vector512 ConditionalSelect(Vector512 condition, Vector512 left, Vector512 right); ++ public static Vector512 ConvertToDouble(Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ConvertToDouble(Vector512 vector); ++ public static Vector512 ConvertToInt32(Vector512 vector); ++ public static Vector512 ConvertToInt64(Vector512 vector); ++ public static Vector512 ConvertToSingle(Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ConvertToSingle(Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ConvertToUInt32(Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ConvertToUInt64(Vector512 vector); ++ public static void CopyTo(this Vector512 vector, Span destination); ++ public static void CopyTo(this Vector512 vector, T[] destination); ++ public static void CopyTo(this Vector512 vector, T[] destination, int startIndex); ++ public static Vector512 Create(byte value); ++ public static Vector512 Create(byte e0, byte e1, byte e2, byte e3, byte e4, byte e5, byte e6, byte e7, byte e8, byte e9, byte e10, byte e11, byte e12, byte e13, byte e14, byte e15, byte e16, byte e17, byte e18, byte e19, byte e20, byte e21, byte e22, byte e23, byte e24, byte e25, byte e26, byte e27, byte e28, byte e29, byte e30, byte e31, byte e32, byte e33, byte e34, byte e35, byte e36, byte e37, byte e38, byte e39, byte e40, byte e41, byte e42, byte e43, byte e44, byte e45, byte e46, byte e47, byte e48, byte e49, byte e50, byte e51, byte e52, byte e53, byte e54, byte e55, byte e56, byte e57, byte e58, byte e59, byte e60, byte e61, byte e62, byte e63); ++ public static Vector512 Create(double value); ++ public static Vector512 Create(double e0, double e1, double e2, double e3, double e4, double e5, double e6, double e7); ++ public static Vector512 Create(short value); ++ public static Vector512 Create(short e0, short e1, short e2, short e3, short e4, short e5, short e6, short e7, short e8, short e9, short e10, short e11, short e12, short e13, short e14, short e15, short e16, short e17, short e18, short e19, short e20, short e21, short e22, short e23, short e24, short e25, short e26, short e27, short e28, short e29, short e30, short e31); ++ public static Vector512 Create(int value); ++ public static Vector512 Create(int e0, int e1, int e2, int e3, int e4, int e5, int e6, int e7, int e8, int e9, int e10, int e11, int e12, int e13, int e14, int e15); ++ public static Vector512 Create(long value); ++ public static Vector512 Create(long e0, long e1, long e2, long e3, long e4, long e5, long e6, long e7); ++ public static Vector512 Create(IntPtr value); ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(sbyte value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(sbyte e0, sbyte e1, sbyte e2, sbyte e3, sbyte e4, sbyte e5, sbyte e6, sbyte e7, sbyte e8, sbyte e9, sbyte e10, sbyte e11, sbyte e12, sbyte e13, sbyte e14, sbyte e15, sbyte e16, sbyte e17, sbyte e18, sbyte e19, sbyte e20, sbyte e21, sbyte e22, sbyte e23, sbyte e24, sbyte e25, sbyte e26, sbyte e27, sbyte e28, sbyte e29, sbyte e30, sbyte e31, sbyte e32, sbyte e33, sbyte e34, sbyte e35, sbyte e36, sbyte e37, sbyte e38, sbyte e39, sbyte e40, sbyte e41, sbyte e42, sbyte e43, sbyte e44, sbyte e45, sbyte e46, sbyte e47, sbyte e48, sbyte e49, sbyte e50, sbyte e51, sbyte e52, sbyte e53, sbyte e54, sbyte e55, sbyte e56, sbyte e57, sbyte e58, sbyte e59, sbyte e60, sbyte e61, sbyte e62, sbyte e63); ++ public static Vector512 Create(float value); ++ public static Vector512 Create(float e0, float e1, float e2, float e3, float e4, float e5, float e6, float e7, float e8, float e9, float e10, float e11, float e12, float e13, float e14, float e15); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(ushort value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(ushort e0, ushort e1, ushort e2, ushort e3, ushort e4, ushort e5, ushort e6, ushort e7, ushort e8, ushort e9, ushort e10, ushort e11, ushort e12, ushort e13, ushort e14, ushort e15, ushort e16, ushort e17, ushort e18, ushort e19, ushort e20, ushort e21, ushort e22, ushort e23, ushort e24, ushort e25, ushort e26, ushort e27, ushort e28, ushort e29, ushort e30, ushort e31); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(uint value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(uint e0, uint e1, uint e2, uint e3, uint e4, uint e5, uint e6, uint e7, uint e8, uint e9, uint e10, uint e11, uint e12, uint e13, uint e14, uint e15); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(ulong value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(ulong e0, ulong e1, ulong e2, ulong e3, ulong e4, ulong e5, ulong e6, ulong e7); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Create(UIntPtr value); ++ public static Vector512 Create(ReadOnlySpan values); ++ public static Vector512 Create(Vector256 lower, Vector256 upper); ++ public static Vector512 Create(T value); ++ public static Vector512 Create(T[] values); ++ public static Vector512 Create(T[] values, int index); ++ public static Vector512 CreateScalar(byte value); ++ public static Vector512 CreateScalar(double value); ++ public static Vector512 CreateScalar(short value); ++ public static Vector512 CreateScalar(int value); ++ public static Vector512 CreateScalar(long value); ++ public static Vector512 CreateScalar(IntPtr value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalar(sbyte value); ++ public static Vector512 CreateScalar(float value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalar(ushort value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalar(uint value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalar(ulong value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalar(UIntPtr value); ++ public static Vector512 CreateScalar(T value); ++ public static Vector512 CreateScalarUnsafe(byte value); ++ public static Vector512 CreateScalarUnsafe(double value); ++ public static Vector512 CreateScalarUnsafe(short value); ++ public static Vector512 CreateScalarUnsafe(int value); ++ public static Vector512 CreateScalarUnsafe(long value); ++ public static Vector512 CreateScalarUnsafe(IntPtr value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalarUnsafe(sbyte value); ++ public static Vector512 CreateScalarUnsafe(float value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalarUnsafe(ushort value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalarUnsafe(uint value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalarUnsafe(ulong value); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 CreateScalarUnsafe(UIntPtr value); ++ public static Vector512 CreateScalarUnsafe(T value); ++ public static Vector512 Divide(Vector512 left, Vector512 right); ++ public static Vector512 Divide(Vector512 left, T right); ++ public static T Dot(Vector512 left, Vector512 right); ++ public static Vector512 Equals(Vector512 left, Vector512 right); ++ public static bool EqualsAll(Vector512 left, Vector512 right); ++ public static bool EqualsAny(Vector512 left, Vector512 right); ++ [CLSCompliantAttribute(false)] ++ public static ulong ExtractMostSignificantBits(this Vector512 vector); ++ public static Vector512 Floor(Vector512 vector); ++ public static Vector512 Floor(Vector512 vector); ++ public static T GetElement(this Vector512 vector, int index); ++ public static Vector256 GetLower(this Vector512 vector); ++ public static Vector256 GetUpper(this Vector512 vector); ++ public static Vector512 GreaterThan(Vector512 left, Vector512 right); ++ public static bool GreaterThanAll(Vector512 left, Vector512 right); ++ public static bool GreaterThanAny(Vector512 left, Vector512 right); ++ public static Vector512 GreaterThanOrEqual(Vector512 left, Vector512 right); ++ public static bool GreaterThanOrEqualAll(Vector512 left, Vector512 right); ++ public static bool GreaterThanOrEqualAny(Vector512 left, Vector512 right); ++ public static Vector512 LessThan(Vector512 left, Vector512 right); ++ public static bool LessThanAll(Vector512 left, Vector512 right); ++ public static bool LessThanAny(Vector512 left, Vector512 right); ++ public static Vector512 LessThanOrEqual(Vector512 left, Vector512 right); ++ public static bool LessThanOrEqualAll(Vector512 left, Vector512 right); ++ public static bool LessThanOrEqualAny(Vector512 left, Vector512 right); ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector512 Load(T* source); ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector512 LoadAligned(T* source); ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector512 LoadAlignedNonTemporal(T* source); ++ public static Vector512 LoadUnsafe([RequiresLocationAttribute] ref T source); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 LoadUnsafe([RequiresLocationAttribute] ref T source, UIntPtr elementOffset); ++ public static Vector512 Max(Vector512 left, Vector512 right); ++ public static Vector512 Min(Vector512 left, Vector512 right); ++ public static Vector512 Multiply(Vector512 left, Vector512 right); ++ public static Vector512 Multiply(Vector512 left, T right); ++ public static Vector512 Multiply(T left, Vector512 right); ++ public static Vector512 Narrow(Vector512 lower, Vector512 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Narrow(Vector512 lower, Vector512 upper); ++ public static Vector512 Narrow(Vector512 lower, Vector512 upper); ++ public static Vector512 Narrow(Vector512 lower, Vector512 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Narrow(Vector512 lower, Vector512 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Narrow(Vector512 lower, Vector512 upper); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Narrow(Vector512 lower, Vector512 upper); ++ public static Vector512 Negate(Vector512 vector); ++ public static Vector512 OnesComplement(Vector512 vector); ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftLeft(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftRightArithmetic(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftRightArithmetic(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftRightArithmetic(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftRightArithmetic(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftRightArithmetic(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 ShiftRightLogical(Vector512 vector, int shiftCount); ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 Shuffle(Vector512 vector, Vector512 indices); ++ public static Vector512 Sqrt(Vector512 vector); ++ [CLSCompliantAttribute(false)] ++ public unsafe static void Store(this Vector512 source, T* destination); ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAligned(this Vector512 source, T* destination); ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAlignedNonTemporal(this Vector512 source, T* destination); ++ public static void StoreUnsafe(this Vector512 source, ref T destination); ++ [CLSCompliantAttribute(false)] ++ public static void StoreUnsafe(this Vector512 source, ref T destination, UIntPtr elementOffset); ++ public static Vector512 Subtract(Vector512 left, Vector512 right); ++ public static T Sum(Vector512 vector); ++ public static T ToScalar(this Vector512 vector); ++ public static bool TryCopyTo(this Vector512 vector, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static (Vector512 Lower, Vector512 Upper) Widen(Vector512 source); ++ public static (Vector512 Lower, Vector512 Upper) Widen(Vector512 source); ++ public static (Vector512 Lower, Vector512 Upper) Widen(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static (Vector512 Lower, Vector512 Upper) Widen(Vector512 source); ++ public static (Vector512 Lower, Vector512 Upper) Widen(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static (Vector512 Lower, Vector512 Upper) Widen(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static (Vector512 Lower, Vector512 Upper) Widen(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 WidenLower(Vector512 source); ++ public static Vector512 WidenLower(Vector512 source); ++ public static Vector512 WidenLower(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 WidenLower(Vector512 source); ++ public static Vector512 WidenLower(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 WidenLower(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 WidenLower(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 WidenUpper(Vector512 source); ++ public static Vector512 WidenUpper(Vector512 source); ++ public static Vector512 WidenUpper(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 WidenUpper(Vector512 source); ++ public static Vector512 WidenUpper(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 WidenUpper(Vector512 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector512 WidenUpper(Vector512 source); ++ public static Vector512 WithElement(this Vector512 vector, int index, T value); ++ public static Vector512 WithLower(this Vector512 vector, Vector256 value); ++ public static Vector512 WithUpper(this Vector512 vector, Vector256 value); ++ public static Vector512 Xor(Vector512 left, Vector512 right); ++ } ++ public readonly struct Vector512 : IEquatable> { ++ public static Vector512 AllBitsSet { get; } ++ public static int Count { get; } ++ public static bool IsSupported { get; } ++ public static Vector512 One { get; } ++ public T this[int index] { get; } ++ public static Vector512 Zero { get; } ++ public override bool Equals([NotNullWhenAttribute(true)] object? obj); ++ public bool Equals(Vector512 other); ++ public override int GetHashCode(); ++ public static Vector512 operator +(Vector512 left, Vector512 right); ++ public static Vector512 operator &(Vector512 left, Vector512 right); ++ public static Vector512 operator |(Vector512 left, Vector512 right); ++ public static Vector512 operator /(Vector512 left, Vector512 right); ++ public static Vector512 operator /(Vector512 left, T right); ++ public static bool operator ==(Vector512 left, Vector512 right); ++ public static Vector512 operator ^(Vector512 left, Vector512 right); ++ public static bool operator !=(Vector512 left, Vector512 right); ++ public static Vector512 operator <<(Vector512 value, int shiftCount); ++ public static Vector512 operator *(Vector512 left, Vector512 right); ++ public static Vector512 operator *(Vector512 left, T right); ++ public static Vector512 operator *(T left, Vector512 right); ++ public static Vector512 operator ~(Vector512 vector); ++ public static Vector512 operator >>(Vector512 value, int shiftCount); ++ public static Vector512 operator -(Vector512 left, Vector512 right); ++ public static Vector512 operator -(Vector512 vector); ++ public static Vector512 operator +(Vector512 value); ++ public static Vector512 operator >>>(Vector512 value, int shiftCount); ++ public override string ToString(); ++ } + public static class Vector64 { +- public static Vector64 Abs(Vector64 vector) where T : struct; ++ public static Vector64 Abs(Vector64 vector); +- public static Vector64 Add(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 Add(Vector64 left, Vector64 right); +- public static Vector64 AndNot(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 AndNot(Vector64 left, Vector64 right); +- public static Vector64 As(this Vector64 vector) where TFrom : struct where TTo : struct; ++ public static Vector64 As(this Vector64 vector); +- public static Vector64 AsByte(this Vector64 vector) where T : struct; ++ public static Vector64 AsByte(this Vector64 vector); +- public static Vector64 AsDouble(this Vector64 vector) where T : struct; ++ public static Vector64 AsDouble(this Vector64 vector); +- public static Vector64 AsInt16(this Vector64 vector) where T : struct; ++ public static Vector64 AsInt16(this Vector64 vector); +- public static Vector64 AsInt32(this Vector64 vector) where T : struct; ++ public static Vector64 AsInt32(this Vector64 vector); +- public static Vector64 AsInt64(this Vector64 vector) where T : struct; ++ public static Vector64 AsInt64(this Vector64 vector); +- public static Vector64 AsNInt(this Vector64 vector) where T : struct; ++ public static Vector64 AsNInt(this Vector64 vector); +- [CLSCompliantAttribute(false)] +- public static Vector64 AsNUInt(this Vector64 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector64 AsNUInt(this Vector64 vector); +- [CLSCompliantAttribute(false)] +- public static Vector64 AsSByte(this Vector64 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector64 AsSByte(this Vector64 vector); +- public static Vector64 AsSingle(this Vector64 vector) where T : struct; ++ public static Vector64 AsSingle(this Vector64 vector); +- [CLSCompliantAttribute(false)] +- public static Vector64 AsUInt16(this Vector64 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector64 AsUInt16(this Vector64 vector); +- [CLSCompliantAttribute(false)] +- public static Vector64 AsUInt32(this Vector64 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector64 AsUInt32(this Vector64 vector); +- [CLSCompliantAttribute(false)] +- public static Vector64 AsUInt64(this Vector64 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector64 AsUInt64(this Vector64 vector); +- public static Vector64 BitwiseAnd(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 BitwiseAnd(Vector64 left, Vector64 right); +- public static Vector64 BitwiseOr(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 BitwiseOr(Vector64 left, Vector64 right); +- public static Vector64 ConditionalSelect(Vector64 condition, Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 ConditionalSelect(Vector64 condition, Vector64 left, Vector64 right); +- public static void CopyTo(this Vector64 vector, Span destination) where T : struct; ++ public static void CopyTo(this Vector64 vector, Span destination); +- public static void CopyTo(this Vector64 vector, T[] destination) where T : struct; ++ public static void CopyTo(this Vector64 vector, T[] destination); +- public static void CopyTo(this Vector64 vector, T[] destination, int startIndex) where T : struct; ++ public static void CopyTo(this Vector64 vector, T[] destination, int startIndex); +- public static Vector64 Create(ReadOnlySpan values) where T : struct; ++ public static Vector64 Create(ReadOnlySpan values); +- public static Vector64 Create(T value) where T : struct; ++ public static Vector64 Create(T value); +- public static Vector64 Create(T[] values) where T : struct; ++ public static Vector64 Create(T[] values); +- public static Vector64 Create(T[] values, int index) where T : struct; ++ public static Vector64 Create(T[] values, int index); ++ public static Vector64 CreateScalar(T value); ++ public static Vector64 CreateScalarUnsafe(double value); ++ public static Vector64 CreateScalarUnsafe(long value); ++ [CLSCompliantAttribute(false)] ++ public static Vector64 CreateScalarUnsafe(ulong value); ++ public static Vector64 CreateScalarUnsafe(T value); +- public static Vector64 Divide(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 Divide(Vector64 left, Vector64 right); ++ public static Vector64 Divide(Vector64 left, T right); +- public static T Dot(Vector64 left, Vector64 right) where T : struct; ++ public static T Dot(Vector64 left, Vector64 right); +- public static Vector64 Equals(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 Equals(Vector64 left, Vector64 right); +- public static bool EqualsAll(Vector64 left, Vector64 right) where T : struct; ++ public static bool EqualsAll(Vector64 left, Vector64 right); +- public static bool EqualsAny(Vector64 left, Vector64 right) where T : struct; ++ public static bool EqualsAny(Vector64 left, Vector64 right); +- [CLSCompliantAttribute(false)] +- public static uint ExtractMostSignificantBits(this Vector64 vector) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static uint ExtractMostSignificantBits(this Vector64 vector); +- public static T GetElement(this Vector64 vector, int index) where T : struct; ++ public static T GetElement(this Vector64 vector, int index); +- public static Vector64 GreaterThan(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 GreaterThan(Vector64 left, Vector64 right); +- public static bool GreaterThanAll(Vector64 left, Vector64 right) where T : struct; ++ public static bool GreaterThanAll(Vector64 left, Vector64 right); +- public static bool GreaterThanAny(Vector64 left, Vector64 right) where T : struct; ++ public static bool GreaterThanAny(Vector64 left, Vector64 right); +- public static Vector64 GreaterThanOrEqual(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 GreaterThanOrEqual(Vector64 left, Vector64 right); +- public static bool GreaterThanOrEqualAll(Vector64 left, Vector64 right) where T : struct; ++ public static bool GreaterThanOrEqualAll(Vector64 left, Vector64 right); +- public static bool GreaterThanOrEqualAny(Vector64 left, Vector64 right) where T : struct; ++ public static bool GreaterThanOrEqualAny(Vector64 left, Vector64 right); +- public static Vector64 LessThan(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 LessThan(Vector64 left, Vector64 right); +- public static bool LessThanAll(Vector64 left, Vector64 right) where T : struct; ++ public static bool LessThanAll(Vector64 left, Vector64 right); +- public static bool LessThanAny(Vector64 left, Vector64 right) where T : struct; ++ public static bool LessThanAny(Vector64 left, Vector64 right); +- public static Vector64 LessThanOrEqual(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 LessThanOrEqual(Vector64 left, Vector64 right); +- public static bool LessThanOrEqualAll(Vector64 left, Vector64 right) where T : struct; ++ public static bool LessThanOrEqualAll(Vector64 left, Vector64 right); +- public static bool LessThanOrEqualAny(Vector64 left, Vector64 right) where T : struct; ++ public static bool LessThanOrEqualAny(Vector64 left, Vector64 right); +- [CLSCompliantAttribute(false)] +- public unsafe static Vector64 Load(T* source) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector64 Load(T* source); +- [CLSCompliantAttribute(false)] +- public unsafe static Vector64 LoadAligned(T* source) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector64 LoadAligned(T* source); +- [CLSCompliantAttribute(false)] +- public unsafe static Vector64 LoadAlignedNonTemporal(T* source) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static Vector64 LoadAlignedNonTemporal(T* source); +- public static Vector64 LoadUnsafe(ref T source) where T : struct; ++ public static Vector64 LoadUnsafe([RequiresLocationAttribute] ref T source); +- [CLSCompliantAttribute(false)] +- public static Vector64 LoadUnsafe(ref T source, UIntPtr elementOffset) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static Vector64 LoadUnsafe([RequiresLocationAttribute] ref T source, UIntPtr elementOffset); +- public static Vector64 Max(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 Max(Vector64 left, Vector64 right); +- public static Vector64 Min(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 Min(Vector64 left, Vector64 right); +- public static Vector64 Multiply(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 Multiply(Vector64 left, Vector64 right); +- public static Vector64 Multiply(Vector64 left, T right) where T : struct; ++ public static Vector64 Multiply(Vector64 left, T right); +- public static Vector64 Multiply(T left, Vector64 right) where T : struct; ++ public static Vector64 Multiply(T left, Vector64 right); +- public static Vector64 Negate(Vector64 vector) where T : struct; ++ public static Vector64 Negate(Vector64 vector); +- public static Vector64 OnesComplement(Vector64 vector) where T : struct; ++ public static Vector64 OnesComplement(Vector64 vector); +- public static Vector64 Sqrt(Vector64 vector) where T : struct; ++ public static Vector64 Sqrt(Vector64 vector); +- [CLSCompliantAttribute(false)] +- public unsafe static void Store(this Vector64 source, T* destination) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static void Store(this Vector64 source, T* destination); +- [CLSCompliantAttribute(false)] +- public unsafe static void StoreAligned(this Vector64 source, T* destination) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAligned(this Vector64 source, T* destination); +- [CLSCompliantAttribute(false)] +- public unsafe static void StoreAlignedNonTemporal(this Vector64 source, T* destination) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public unsafe static void StoreAlignedNonTemporal(this Vector64 source, T* destination); +- public static void StoreUnsafe(this Vector64 source, ref T destination) where T : struct; ++ public static void StoreUnsafe(this Vector64 source, ref T destination); +- [CLSCompliantAttribute(false)] +- public static void StoreUnsafe(this Vector64 source, ref T destination, UIntPtr elementOffset) where T : struct; ++ [CLSCompliantAttribute(false)] ++ public static void StoreUnsafe(this Vector64 source, ref T destination, UIntPtr elementOffset); +- public static Vector64 Subtract(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 Subtract(Vector64 left, Vector64 right); +- public static T Sum(Vector64 vector) where T : struct; ++ public static T Sum(Vector64 vector); +- public static T ToScalar(this Vector64 vector) where T : struct; ++ public static T ToScalar(this Vector64 vector); +- public static Vector128 ToVector128(this Vector64 vector) where T : struct; ++ public static Vector128 ToVector128(this Vector64 vector); +- public static Vector128 ToVector128Unsafe(this Vector64 vector) where T : struct; ++ public static Vector128 ToVector128Unsafe(this Vector64 vector); +- public static bool TryCopyTo(this Vector64 vector, Span destination) where T : struct; ++ public static bool TryCopyTo(this Vector64 vector, Span destination); ++ [CLSCompliantAttribute(false)] ++ public static Vector64 WidenLower(Vector64 source); ++ public static Vector64 WidenLower(Vector64 source); ++ public static Vector64 WidenLower(Vector64 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector64 WidenLower(Vector64 source); ++ public static Vector64 WidenLower(Vector64 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector64 WidenLower(Vector64 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector64 WidenLower(Vector64 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector64 WidenUpper(Vector64 source); ++ public static Vector64 WidenUpper(Vector64 source); ++ public static Vector64 WidenUpper(Vector64 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector64 WidenUpper(Vector64 source); ++ public static Vector64 WidenUpper(Vector64 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector64 WidenUpper(Vector64 source); ++ [CLSCompliantAttribute(false)] ++ public static Vector64 WidenUpper(Vector64 source); +- public static Vector64 WithElement(this Vector64 vector, int index, T value) where T : struct; ++ public static Vector64 WithElement(this Vector64 vector, int index, T value); +- public static Vector64 Xor(Vector64 left, Vector64 right) where T : struct; ++ public static Vector64 Xor(Vector64 left, Vector64 right); + } +- public readonly struct Vector64 : IEquatable> where T : struct { ++ public readonly struct Vector64 : IEquatable> { ++ public static Vector64 One { get; } ++ public static Vector64 operator /(Vector64 left, T right); ++ public static Vector64 operator <<(Vector64 value, int shiftCount); ++ public static Vector64 operator >>(Vector64 value, int shiftCount); ++ public static Vector64 operator >>>(Vector64 value, int shiftCount); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Serialization.Formatters.Binary.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Serialization.Formatters.Binary.md new file mode 100644 index 00000000000..be83b2cb8e1 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Serialization.Formatters.Binary.md @@ -0,0 +1,21 @@ +# System.Runtime.Serialization.Formatters.Binary + +``` diff + namespace System.Runtime.Serialization.Formatters.Binary { +- public sealed class BinaryFormatter : IFormatter { ++ [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public sealed class BinaryFormatter : IFormatter { +- [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] +- [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the Type of objects being processed cannot be statically discovered.")] +- public object Deserialize(Stream serializationStream); ++ [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the type of objects being processed cannot be statically discovered.")] ++ public object Deserialize(Stream serializationStream); +- [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] +- [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the Type of objects being processed cannot be statically discovered.")] +- public void Serialize(Stream serializationStream, object graph); ++ [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the type of objects being processed cannot be statically discovered.")] ++ public void Serialize(Stream serializationStream, object graph); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Serialization.Formatters.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Serialization.Formatters.md new file mode 100644 index 00000000000..8aa23834e17 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Serialization.Formatters.md @@ -0,0 +1,19 @@ +# System.Runtime.Serialization.Formatters + +``` diff + namespace System.Runtime.Serialization.Formatters { +- public enum FormatterAssemblyStyle ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public enum FormatterAssemblyStyle +- public enum FormatterTypeStyle ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public enum FormatterTypeStyle +- public interface IFieldInfo ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public interface IFieldInfo +- public enum TypeFilterLevel ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public enum TypeFilterLevel + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Serialization.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Serialization.md new file mode 100644 index 00000000000..d731210fdc1 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Runtime.Serialization.md @@ -0,0 +1,136 @@ +# System.Runtime.Serialization + +``` diff + namespace System.Runtime.Serialization { +- [CLSCompliantAttribute(false)] +- public abstract class Formatter : IFormatter { ++ [CLSCompliantAttribute(false)] ++ [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public abstract class Formatter : IFormatter { +- [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] +- [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the Type of objects being processed cannot be statically discovered.")] +- public abstract object Deserialize(Stream serializationStream); ++ [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the type of objects being processed cannot be statically discovered.")] ++ public abstract object Deserialize(Stream serializationStream); +- [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] +- [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the Type of objects being processed cannot be statically discovered.")] +- public abstract void Serialize(Stream serializationStream, object graph); ++ [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the type of objects being processed cannot be statically discovered.")] ++ public abstract void Serialize(Stream serializationStream, object graph); + } +- public class FormatterConverter : IFormatterConverter ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public class FormatterConverter : IFormatterConverter +- public static class FormatterServices ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public static class FormatterServices +- public interface IFormatter { ++ [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public interface IFormatter { +- [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] +- [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the Type of objects being processed cannot be statically discovered.")] +- object Deserialize(Stream serializationStream); ++ [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the type of objects being processed cannot be statically discovered.")] ++ object Deserialize(Stream serializationStream); +- [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] +- [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the Type of objects being processed cannot be statically discovered.")] +- void Serialize(Stream serializationStream, object graph); ++ [RequiresUnreferencedCodeAttribute("BinaryFormatter serialization is not trim compatible because the type of objects being processed cannot be statically discovered.")] ++ void Serialize(Stream serializationStream, object graph); + } +- [CLSCompliantAttribute(false)] +- public interface IFormatterConverter ++ [CLSCompliantAttribute(false)] ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public interface IFormatterConverter + public class InvalidDataContractException : Exception { +- protected InvalidDataContractException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidDataContractException(SerializationInfo info, StreamingContext context); + } +- public interface IObjectReference ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public interface IObjectReference +- public interface ISafeSerializationData ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public interface ISafeSerializationData + public interface ISerializable { +- void GetObjectData(SerializationInfo info, StreamingContext context); ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ void GetObjectData(SerializationInfo info, StreamingContext context); + } +- public interface ISerializationSurrogate ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public interface ISerializationSurrogate +- public interface ISurrogateSelector ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public interface ISurrogateSelector +- public class ObjectIDGenerator ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public class ObjectIDGenerator +- public class ObjectManager { ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public class ObjectManager { + [RequiresUnreferencedCodeAttribute("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")] + public virtual void DoFixups(); + [RequiresUnreferencedCodeAttribute("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")] + public void RaiseOnDeserializingEvent(object obj); + [RequiresUnreferencedCodeAttribute("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")] + public virtual void RegisterObject(object obj, long objectID); + [RequiresUnreferencedCodeAttribute("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")] + public void RegisterObject(object obj, long objectID, SerializationInfo info); + [RequiresUnreferencedCodeAttribute("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")] + public void RegisterObject(object obj, long objectID, SerializationInfo? info, long idOfContainingObj, MemberInfo? member); + [RequiresUnreferencedCodeAttribute("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")] + public void RegisterObject(object obj, long objectID, SerializationInfo? info, long idOfContainingObj, MemberInfo? member, int[]? arrayIndex); + } +- public sealed class SafeSerializationEventArgs : EventArgs ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public sealed class SafeSerializationEventArgs : EventArgs + public class SerializationException : SystemException { +- protected SerializationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SerializationException(SerializationInfo info, StreamingContext context); + } + public sealed class SerializationInfo { +- [CLSCompliantAttribute(false)] +- public SerializationInfo(Type type, IFormatterConverter converter); ++ [CLSCompliantAttribute(false)] ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public SerializationInfo(Type type, IFormatterConverter converter); +- [CLSCompliantAttribute(false)] +- public SerializationInfo(Type type, IFormatterConverter converter, bool requireSameTokenInPartialTrust); ++ [CLSCompliantAttribute(false)] ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public SerializationInfo(Type type, IFormatterConverter converter, bool requireSameTokenInPartialTrust); + } +- public sealed class SerializationObjectManager { ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public sealed class SerializationObjectManager { + [RequiresUnreferencedCodeAttribute("SerializationObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")] + public void RegisterObject(object obj); + } + public readonly struct StreamingContext { +- public StreamingContext(StreamingContextStates state); ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public StreamingContext(StreamingContextStates state); +- public StreamingContext(StreamingContextStates state, object additional); ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public StreamingContext(StreamingContextStates state, object additional); +- public StreamingContextStates State { get; } ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public StreamingContextStates State { get; } + } +- [FlagsAttribute] +- public enum StreamingContextStates ++ [FlagsAttribute] ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public enum StreamingContextStates +- public class SurrogateSelector : ISurrogateSelector ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public class SurrogateSelector : ISurrogateSelector + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.AccessControl.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.AccessControl.md new file mode 100644 index 00000000000..6d8866a6028 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.AccessControl.md @@ -0,0 +1,13 @@ +# System.Security.AccessControl + +``` diff + namespace System.Security.AccessControl { + public sealed class PrivilegeNotHeldException : UnauthorizedAccessException, ISerializable { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Authentication.ExtendedProtection.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Authentication.ExtendedProtection.md new file mode 100644 index 00000000000..49f8bc9a094 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Authentication.ExtendedProtection.md @@ -0,0 +1,13 @@ +# System.Security.Authentication.ExtendedProtection + +``` diff + namespace System.Security.Authentication.ExtendedProtection { + public class ExtendedProtectionPolicy : ISerializable { +- protected ExtendedProtectionPolicy(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ExtendedProtectionPolicy(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Authentication.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Authentication.md new file mode 100644 index 00000000000..aa90ff1488e --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Authentication.md @@ -0,0 +1,19 @@ +# System.Security.Authentication + +``` diff + namespace System.Security.Authentication { + public class AuthenticationException : SystemException { +- protected AuthenticationException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected AuthenticationException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class InvalidCredentialException : AuthenticationException { +- protected InvalidCredentialException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidCredentialException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Claims.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Claims.md new file mode 100644 index 00000000000..13657d80a5d --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Claims.md @@ -0,0 +1,23 @@ +# System.Security.Claims + +``` diff + namespace System.Security.Claims { + public class ClaimsIdentity : IIdentity { +- protected ClaimsIdentity(SerializationInfo info); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ClaimsIdentity(SerializationInfo info); +- protected ClaimsIdentity(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ClaimsIdentity(SerializationInfo info, StreamingContext context); + } + public class ClaimsPrincipal : IPrincipal { +- protected ClaimsPrincipal(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ClaimsPrincipal(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Cryptography.X509Certificates.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Cryptography.X509Certificates.md new file mode 100644 index 00000000000..3b83fe36b6e --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Cryptography.X509Certificates.md @@ -0,0 +1,19 @@ +# System.Security.Cryptography.X509Certificates + +``` diff + namespace System.Security.Cryptography.X509Certificates { + public class X509Certificate : IDeserializationCallback, IDisposable, ISerializable { +- public X509Certificate(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public X509Certificate(SerializationInfo info, StreamingContext context); + } + public class X509Certificate2 : X509Certificate { +- protected X509Certificate2(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected X509Certificate2(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Cryptography.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Cryptography.md new file mode 100644 index 00000000000..8360a5e0bde --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Cryptography.md @@ -0,0 +1,268 @@ +# 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; } + } + public abstract class AsymmetricAlgorithm : IDisposable { ++ public string ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan passwordBytes, PbeParameters pbeParameters); ++ public bool TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan passwordBytes, PbeParameters pbeParameters, Span destination, out int charsWritten); + } ++ public sealed class AuthenticationTagMismatchException : CryptographicException { ++ public AuthenticationTagMismatchException(); ++ public AuthenticationTagMismatchException(string message); ++ public AuthenticationTagMismatchException(string message, Exception inner); ++ } + public class CryptographicException : SystemException { +- protected CryptographicException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected CryptographicException(SerializationInfo info, StreamingContext context); + } + public class CryptographicUnexpectedOperationException : CryptographicException { +- protected CryptographicUnexpectedOperationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected CryptographicUnexpectedOperationException(SerializationInfo info, StreamingContext context); + } + public abstract class ECDiffieHellman : ECAlgorithm { ++ public virtual byte[] DeriveRawSecretAgreement(ECDiffieHellmanPublicKey otherPartyPublicKey); + } + public readonly struct HashAlgorithmName : IEquatable { ++ public static HashAlgorithmName SHA3_256 { get; } ++ public static HashAlgorithmName SHA3_384 { get; } ++ public static HashAlgorithmName SHA3_512 { get; } + } ++ public class HMACSHA3_256 : HMAC { ++ public const int HashSizeInBits = 256; ++ public const int HashSizeInBytes = 32; ++ public HMACSHA3_256(); ++ public HMACSHA3_256(byte[] key); ++ public static bool IsSupported { get; } ++ public override byte[] Key { get; set; } ++ protected override void Dispose(bool disposing); ++ protected override void HashCore(byte[] rgb, int ib, int cb); ++ protected override void HashCore(ReadOnlySpan source); ++ public static byte[] HashData(byte[] key, byte[] source); ++ public static byte[] HashData(byte[] key, Stream source); ++ public static byte[] HashData(ReadOnlySpan key, Stream source); ++ public static int HashData(ReadOnlySpan key, Stream source, Span destination); ++ public static byte[] HashData(ReadOnlySpan key, ReadOnlySpan source); ++ public static int HashData(ReadOnlySpan key, ReadOnlySpan source, Span destination); ++ public static ValueTask HashDataAsync(byte[] key, Stream source, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(ReadOnlyMemory key, Stream source, Memory destination, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(ReadOnlyMemory key, Stream source, CancellationToken cancellationToken = default(CancellationToken)); ++ protected override byte[] HashFinal(); ++ public override void Initialize(); ++ public static bool TryHashData(ReadOnlySpan key, ReadOnlySpan source, Span destination, out int bytesWritten); ++ protected override bool TryHashFinal(Span destination, out int bytesWritten); ++ } ++ public class HMACSHA3_384 : HMAC { ++ public const int HashSizeInBits = 384; ++ public const int HashSizeInBytes = 48; ++ public HMACSHA3_384(); ++ public HMACSHA3_384(byte[] key); ++ public static bool IsSupported { get; } ++ public override byte[] Key { get; set; } ++ protected override void Dispose(bool disposing); ++ protected override void HashCore(byte[] rgb, int ib, int cb); ++ protected override void HashCore(ReadOnlySpan source); ++ public static byte[] HashData(byte[] key, byte[] source); ++ public static byte[] HashData(byte[] key, Stream source); ++ public static byte[] HashData(ReadOnlySpan key, Stream source); ++ public static int HashData(ReadOnlySpan key, Stream source, Span destination); ++ public static byte[] HashData(ReadOnlySpan key, ReadOnlySpan source); ++ public static int HashData(ReadOnlySpan key, ReadOnlySpan source, Span destination); ++ public static ValueTask HashDataAsync(byte[] key, Stream source, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(ReadOnlyMemory key, Stream source, Memory destination, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(ReadOnlyMemory key, Stream source, CancellationToken cancellationToken = default(CancellationToken)); ++ protected override byte[] HashFinal(); ++ public override void Initialize(); ++ public static bool TryHashData(ReadOnlySpan key, ReadOnlySpan source, Span destination, out int bytesWritten); ++ protected override bool TryHashFinal(Span destination, out int bytesWritten); ++ } ++ public class HMACSHA3_512 : HMAC { ++ public const int HashSizeInBits = 512; ++ public const int HashSizeInBytes = 64; ++ public HMACSHA3_512(); ++ public HMACSHA3_512(byte[] key); ++ public static bool IsSupported { get; } ++ public override byte[] Key { get; set; } ++ protected override void Dispose(bool disposing); ++ protected override void HashCore(byte[] rgb, int ib, int cb); ++ protected override void HashCore(ReadOnlySpan source); ++ public static byte[] HashData(byte[] key, byte[] source); ++ public static byte[] HashData(byte[] key, Stream source); ++ public static byte[] HashData(ReadOnlySpan key, Stream source); ++ public static int HashData(ReadOnlySpan key, Stream source, Span destination); ++ public static byte[] HashData(ReadOnlySpan key, ReadOnlySpan source); ++ public static int HashData(ReadOnlySpan key, ReadOnlySpan source, Span destination); ++ public static ValueTask HashDataAsync(byte[] key, Stream source, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(ReadOnlyMemory key, Stream source, Memory destination, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(ReadOnlyMemory key, Stream source, CancellationToken cancellationToken = default(CancellationToken)); ++ protected override byte[] HashFinal(); ++ public override void Initialize(); ++ public static bool TryHashData(ReadOnlySpan key, ReadOnlySpan source, Span destination, out int bytesWritten); ++ protected override bool TryHashFinal(Span destination, out int bytesWritten); ++ } + public abstract class RandomNumberGenerator : IDisposable { ++ public static string GetHexString(int stringLength, bool lowercase = false); ++ public static void GetHexString(Span destination, bool lowercase = false); ++ public static T[] GetItems(ReadOnlySpan choices, int length); ++ public static void GetItems(ReadOnlySpan choices, Span destination); ++ public static string GetString(ReadOnlySpan choices, int length); ++ public static void Shuffle(Span values); + } + public abstract class RSA : AsymmetricAlgorithm { +- public virtual byte[] DecryptValue(byte[] rgb); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("RSA.EncryptValue and DecryptValue are not supported and throw NotSupportedException. Use RSA.Encrypt and RSA.Decrypt instead.", DiagnosticId="SYSLIB0048", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual byte[] DecryptValue(byte[] rgb); +- public virtual byte[] EncryptValue(byte[] rgb); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("RSA.EncryptValue and DecryptValue are not supported and throw NotSupportedException. Use RSA.Encrypt and RSA.Decrypt instead.", DiagnosticId="SYSLIB0048", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual byte[] EncryptValue(byte[] rgb); ++ public int GetMaxOutputSize(); + } + public sealed class RSACryptoServiceProvider : RSA, ICspAsymmetricAlgorithm { +- public override byte[] DecryptValue(byte[] rgb); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("RSA.EncryptValue and DecryptValue are not supported and throw NotSupportedException. Use RSA.Encrypt and RSA.Decrypt instead.", DiagnosticId="SYSLIB0048", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override byte[] DecryptValue(byte[] rgb); +- public override byte[] EncryptValue(byte[] rgb); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("RSA.EncryptValue and DecryptValue are not supported and throw NotSupportedException. Use RSA.Encrypt and RSA.Decrypt instead.", DiagnosticId="SYSLIB0048", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override byte[] EncryptValue(byte[] rgb); + } + public sealed class RSAEncryptionPadding : IEquatable { ++ public static RSAEncryptionPadding OaepSHA3_256 { get; } ++ public static RSAEncryptionPadding OaepSHA3_384 { get; } ++ public static RSAEncryptionPadding OaepSHA3_512 { get; } + } + public sealed class SafeEvpPKeyHandle : SafeHandle { ++ [UnsupportedOSPlatformAttribute("android")] ++ [UnsupportedOSPlatformAttribute("browser")] ++ [UnsupportedOSPlatformAttribute("ios")] ++ [UnsupportedOSPlatformAttribute("tvos")] ++ [UnsupportedOSPlatformAttribute("windows")] ++ public static SafeEvpPKeyHandle OpenPrivateKeyFromEngine(string engineName, string keyId); ++ [UnsupportedOSPlatformAttribute("android")] ++ [UnsupportedOSPlatformAttribute("browser")] ++ [UnsupportedOSPlatformAttribute("ios")] ++ [UnsupportedOSPlatformAttribute("tvos")] ++ [UnsupportedOSPlatformAttribute("windows")] ++ public static SafeEvpPKeyHandle OpenPublicKeyFromEngine(string engineName, string keyId); + } ++ public abstract class SHA3_256 : HashAlgorithm { ++ public const int HashSizeInBits = 256; ++ public const int HashSizeInBytes = 32; ++ protected SHA3_256(); ++ public static bool IsSupported { get; } ++ public static new SHA3_256 Create(); ++ public static byte[] HashData(byte[] source); ++ public static byte[] HashData(Stream source); ++ public static int HashData(Stream source, Span destination); ++ public static byte[] HashData(ReadOnlySpan source); ++ public static int HashData(ReadOnlySpan source, Span destination); ++ public static ValueTask HashDataAsync(Stream source, Memory destination, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(Stream source, CancellationToken cancellationToken = default(CancellationToken)); ++ public static bool TryHashData(ReadOnlySpan source, Span destination, out int bytesWritten); ++ } ++ public abstract class SHA3_384 : HashAlgorithm { ++ public const int HashSizeInBits = 384; ++ public const int HashSizeInBytes = 48; ++ protected SHA3_384(); ++ public static bool IsSupported { get; } ++ public static new SHA3_384 Create(); ++ public static byte[] HashData(byte[] source); ++ public static byte[] HashData(Stream source); ++ public static int HashData(Stream source, Span destination); ++ public static byte[] HashData(ReadOnlySpan source); ++ public static int HashData(ReadOnlySpan source, Span destination); ++ public static ValueTask HashDataAsync(Stream source, Memory destination, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(Stream source, CancellationToken cancellationToken = default(CancellationToken)); ++ public static bool TryHashData(ReadOnlySpan source, Span destination, out int bytesWritten); ++ } ++ public abstract class SHA3_512 : HashAlgorithm { ++ public const int HashSizeInBits = 512; ++ public const int HashSizeInBytes = 64; ++ protected SHA3_512(); ++ public static bool IsSupported { get; } ++ public static new SHA3_512 Create(); ++ public static byte[] HashData(byte[] source); ++ public static byte[] HashData(Stream source); ++ public static int HashData(Stream source, Span destination); ++ public static byte[] HashData(ReadOnlySpan source); ++ public static int HashData(ReadOnlySpan source, Span destination); ++ public static ValueTask HashDataAsync(Stream source, Memory destination, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(Stream source, CancellationToken cancellationToken = default(CancellationToken)); ++ public static bool TryHashData(ReadOnlySpan source, Span destination, out int bytesWritten); ++ } ++ public sealed class Shake128 : IDisposable { ++ public Shake128(); ++ public static bool IsSupported { get; } ++ public void AppendData(byte[] data); ++ public void AppendData(ReadOnlySpan data); ++ public void Dispose(); ++ public byte[] GetCurrentHash(int outputLength); ++ public void GetCurrentHash(Span destination); ++ public byte[] GetHashAndReset(int outputLength); ++ public void GetHashAndReset(Span destination); ++ public static byte[] HashData(byte[] source, int outputLength); ++ public static byte[] HashData(Stream source, int outputLength); ++ public static void HashData(Stream source, Span destination); ++ public static byte[] HashData(ReadOnlySpan source, int outputLength); ++ public static void HashData(ReadOnlySpan source, Span destination); ++ public static ValueTask HashDataAsync(Stream source, int outputLength, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(Stream source, Memory destination, CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public sealed class Shake256 : IDisposable { ++ public Shake256(); ++ public static bool IsSupported { get; } ++ public void AppendData(byte[] data); ++ public void AppendData(ReadOnlySpan data); ++ public void Dispose(); ++ public byte[] GetCurrentHash(int outputLength); ++ public void GetCurrentHash(Span destination); ++ public byte[] GetHashAndReset(int outputLength); ++ public void GetHashAndReset(Span destination); ++ public static byte[] HashData(byte[] source, int outputLength); ++ public static byte[] HashData(Stream source, int outputLength); ++ public static void HashData(Stream source, Span destination); ++ public static byte[] HashData(ReadOnlySpan source, int outputLength); ++ public static void HashData(ReadOnlySpan source, Span destination); ++ public static ValueTask HashDataAsync(Stream source, int outputLength, CancellationToken cancellationToken = default(CancellationToken)); ++ public static ValueTask HashDataAsync(Stream source, Memory destination, CancellationToken cancellationToken = default(CancellationToken)); ++ } ++ public sealed class SP800108HmacCounterKdf : IDisposable { ++ public SP800108HmacCounterKdf(byte[] key, HashAlgorithmName hashAlgorithm); ++ public SP800108HmacCounterKdf(ReadOnlySpan key, HashAlgorithmName hashAlgorithm); ++ public static byte[] DeriveBytes(byte[] key, HashAlgorithmName hashAlgorithm, byte[] label, byte[] context, int derivedKeyLengthInBytes); ++ public static byte[] DeriveBytes(byte[] key, HashAlgorithmName hashAlgorithm, string label, string context, int derivedKeyLengthInBytes); ++ public static byte[] DeriveBytes(ReadOnlySpan key, HashAlgorithmName hashAlgorithm, ReadOnlySpan label, ReadOnlySpan context, int derivedKeyLengthInBytes); ++ public static void DeriveBytes(ReadOnlySpan key, HashAlgorithmName hashAlgorithm, ReadOnlySpan label, ReadOnlySpan context, Span destination); ++ public static byte[] DeriveBytes(ReadOnlySpan key, HashAlgorithmName hashAlgorithm, ReadOnlySpan label, ReadOnlySpan context, int derivedKeyLengthInBytes); ++ public static void DeriveBytes(ReadOnlySpan key, HashAlgorithmName hashAlgorithm, ReadOnlySpan label, ReadOnlySpan context, Span destination); ++ public byte[] DeriveKey(byte[] label, byte[] context, int derivedKeyLengthInBytes); ++ public byte[] DeriveKey(ReadOnlySpan label, ReadOnlySpan context, int derivedKeyLengthInBytes); ++ public void DeriveKey(ReadOnlySpan label, ReadOnlySpan context, Span destination); ++ public byte[] DeriveKey(ReadOnlySpan label, ReadOnlySpan context, int derivedKeyLengthInBytes); ++ public void DeriveKey(ReadOnlySpan label, ReadOnlySpan context, Span destination); ++ public byte[] DeriveKey(string label, string context, int derivedKeyLengthInBytes); ++ public void Dispose(); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Principal.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Principal.md new file mode 100644 index 00000000000..cd31f3585f8 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.Principal.md @@ -0,0 +1,19 @@ +# System.Security.Principal + +``` diff + namespace System.Security.Principal { + public sealed class IdentityNotMappedException : SystemException { +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class WindowsIdentity : ClaimsIdentity, IDeserializationCallback, IDisposable, ISerializable { +- public WindowsIdentity(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public WindowsIdentity(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.md new file mode 100644 index 00000000000..ef2d0d9870e --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Security.md @@ -0,0 +1,23 @@ +# System.Security + +``` diff + namespace System.Security { + public class SecurityException : SystemException { +- protected SecurityException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SecurityException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class VerificationException : SystemException { +- protected VerificationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected VerificationException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.Nodes.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.Nodes.md new file mode 100644 index 00000000000..f64c87f67ba --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.Nodes.md @@ -0,0 +1,28 @@ +# System.Text.Json.Nodes + +``` diff + namespace System.Text.Json.Nodes { + public sealed class JsonArray : JsonNode, ICollection, IEnumerable, IEnumerable, IList { ++ public IEnumerable GetValues(); + } + public abstract class JsonNode { ++ public JsonNode DeepClone(); ++ public static bool DeepEquals(JsonNode? node1, JsonNode? node2); ++ public int GetElementIndex(); ++ public string GetPropertyName(); ++ public JsonValueKind GetValueKind(); +- public static implicit operator JsonNode? (string? value); ++ [return: NotNullIfNotNullAttribute("value")] ++ public static implicit operator JsonNode? (string? value); ++ public static Task ParseAsync(Stream utf8Json, JsonNodeOptions? nodeOptions = default(JsonNodeOptions?), JsonDocumentOptions documentOptions = default(JsonDocumentOptions), CancellationToken cancellationToken = default(CancellationToken)); ++ [RequiresUnreferencedCodeAttribute("Creating JsonValue instances with non-primitive types is not compatible with trimming. It can result in non-primitive types being serialized, which may have their members trimmed.")] ++ public void ReplaceWith(T value); + } + public abstract class JsonValue : JsonNode { +- public static JsonValue Create(string value, JsonNodeOptions? options = default(JsonNodeOptions?)); ++ [return: NotNullIfNotNullAttribute("value")] ++ public static JsonValue Create(string value, JsonNodeOptions? options = default(JsonNodeOptions?)); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.Serialization.Metadata.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.Serialization.Metadata.md new file mode 100644 index 00000000000..2d13005f7d4 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.Serialization.Metadata.md @@ -0,0 +1,52 @@ +# 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 HalfConverter { get; } ++ public static JsonConverter Int128Converter { 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> MemoryByteConverter { get; } ++ public static JsonConverter> ReadOnlyMemoryByteConverter { get; } +- public static JsonConverter StringConverter { get; } ++ public static JsonConverter StringConverter { get; } ++ [CLSCompliantAttribute(false)] ++ public static JsonConverter UInt128Converter { get; } +- public static JsonConverter UriConverter { get; } ++ public static JsonConverter UriConverter { get; } +- public static JsonConverter VersionConverter { get; } ++ public static JsonConverter VersionConverter { get; } ++ public static JsonTypeInfo> CreateMemoryInfo(JsonSerializerOptions options, JsonCollectionInfoValues> collectionInfo); ++ public static JsonTypeInfo> CreateReadOnlyMemoryInfo(JsonSerializerOptions options, JsonCollectionInfoValues> collectionInfo); + } + public abstract class JsonPropertyInfo { ++ public JsonObjectCreationHandling? ObjectCreationHandling { get; set; } + } + public abstract class JsonTypeInfo { ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public IJsonTypeInfoResolver? OriginatingResolver { get; set; } ++ public JsonObjectCreationHandling? PreferredPropertyObjectCreationHandling { get; set; } ++ public JsonUnmappedMemberHandling? UnmappedMemberHandling { get; set; } + } +- public abstract class JsonTypeInfo : JsonTypeInfo ++ public sealed class JsonTypeInfo : JsonTypeInfo + public static class JsonTypeInfoResolver { +- public static IJsonTypeInfoResolver Combine(params IJsonTypeInfoResolver[] resolvers); ++ public static IJsonTypeInfoResolver Combine(params IJsonTypeInfoResolver?[] resolvers); ++ public static IJsonTypeInfoResolver WithAddedModifier(this IJsonTypeInfoResolver resolver, Action modifier); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.Serialization.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.Serialization.md new file mode 100644 index 00000000000..d463ddc7a27 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.Serialization.md @@ -0,0 +1,69 @@ +# System.Text.Json.Serialization + +``` diff + namespace System.Text.Json.Serialization { + public abstract class JsonConverter { ++ public abstract Type Type { get; } + } + public abstract class JsonConverter : JsonConverter { ++ public sealed override Type Type { get; } +- public virtual void WriteAsPropertyName(Utf8JsonWriter writer, T value, JsonSerializerOptions options); ++ public virtual void WriteAsPropertyName(Utf8JsonWriter writer, [DisallowNullAttribute] T value, JsonSerializerOptions options); + } + public abstract class JsonConverterFactory : JsonConverter { ++ public sealed override Type Type { get; } + } + public enum JsonKnownNamingPolicy { ++ KebabCaseLower = 4, ++ KebabCaseUpper = 5, ++ SnakeCaseLower = 2, ++ SnakeCaseUpper = 3, + } ++ public sealed class JsonNumberEnumConverter : JsonConverterFactory where TEnum : struct { ++ public JsonNumberEnumConverter(); ++ public override bool CanConvert(Type typeToConvert); ++ public override JsonConverter? CreateConverter(Type typeToConvert, JsonSerializerOptions options); ++ } ++ public enum JsonObjectCreationHandling { ++ Populate = 1, ++ Replace = 0, ++ } ++ [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Field | AttributeTargets.Interface | AttributeTargets.Property | AttributeTargets.Struct, AllowMultiple=false)] ++ public sealed class JsonObjectCreationHandlingAttribute : JsonAttribute { ++ public JsonObjectCreationHandlingAttribute(JsonObjectCreationHandling handling); ++ public JsonObjectCreationHandling Handling { get; } ++ } + [AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false)] + public sealed class JsonSourceGenerationOptionsAttribute : JsonAttribute { ++ public JsonSourceGenerationOptionsAttribute(JsonSerializerDefaults defaults); ++ public bool AllowTrailingCommas { get; set; } ++ public Type[]? Converters { get; set; } ++ public int DefaultBufferSize { get; set; } ++ public JsonKnownNamingPolicy DictionaryKeyPolicy { get; set; } ++ public int MaxDepth { get; set; } ++ public JsonNumberHandling NumberHandling { get; set; } ++ public JsonObjectCreationHandling PreferredObjectCreationHandling { get; set; } ++ public bool PropertyNameCaseInsensitive { get; set; } ++ public JsonCommentHandling ReadCommentHandling { get; set; } ++ public JsonUnknownTypeHandling UnknownTypeHandling { get; set; } ++ public JsonUnmappedMemberHandling UnmappedMemberHandling { get; set; } ++ public bool UseStringEnumConverter { get; set; } + } ++ public class JsonStringEnumConverter : JsonConverterFactory where TEnum : struct { ++ public JsonStringEnumConverter(); ++ public JsonStringEnumConverter(JsonNamingPolicy? namingPolicy = null, bool allowIntegerValues = true); ++ public sealed override bool CanConvert(Type typeToConvert); ++ public sealed override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options); ++ } ++ public enum JsonUnmappedMemberHandling { ++ Disallow = 1, ++ Skip = 0, ++ } ++ [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Struct, AllowMultiple=false, Inherited=false)] ++ public class JsonUnmappedMemberHandlingAttribute : JsonAttribute { ++ public JsonUnmappedMemberHandlingAttribute(JsonUnmappedMemberHandling unmappedMemberHandling); ++ public JsonUnmappedMemberHandling UnmappedMemberHandling { get; } ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.md new file mode 100644 index 00000000000..9293c4f53e1 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Json.md @@ -0,0 +1,63 @@ +# System.Text.Json + +``` diff + namespace System.Text.Json { + public readonly struct JsonEncodedText : IEquatable { ++ public string Value { get; } + } + public class JsonException : Exception { +- protected JsonException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected JsonException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public abstract class JsonNamingPolicy { ++ public static JsonNamingPolicy KebabCaseLower { get; } ++ public static JsonNamingPolicy KebabCaseUpper { get; } ++ public static JsonNamingPolicy SnakeCaseLower { get; } ++ public static JsonNamingPolicy SnakeCaseUpper { get; } + } + public static class JsonSerializer { ++ public static bool IsReflectionEnabledByDefault { get; } ++ public static object? Deserialize(Stream utf8Json, JsonTypeInfo jsonTypeInfo); ++ public static object? Deserialize(ReadOnlySpan utf8Json, JsonTypeInfo jsonTypeInfo); ++ public static object? Deserialize([StringSyntaxAttribute("Json")] ReadOnlySpan json, JsonTypeInfo jsonTypeInfo); ++ public static object? Deserialize([StringSyntaxAttribute("Json")] string json, JsonTypeInfo jsonTypeInfo); ++ public static object? Deserialize(this JsonDocument document, JsonTypeInfo jsonTypeInfo); ++ public static object? Deserialize(this JsonElement element, JsonTypeInfo jsonTypeInfo); ++ public static object? Deserialize(this JsonNode? node, JsonTypeInfo jsonTypeInfo); ++ public static object? Deserialize(ref Utf8JsonReader reader, JsonTypeInfo jsonTypeInfo); ++ public static ValueTask DeserializeAsync(Stream utf8Json, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); ++ public static void Serialize(Stream utf8Json, object? value, JsonTypeInfo jsonTypeInfo); ++ public static string Serialize(object? value, JsonTypeInfo jsonTypeInfo); ++ public static void Serialize(Utf8JsonWriter writer, object? value, JsonTypeInfo jsonTypeInfo); ++ public static Task SerializeAsync(Stream utf8Json, object? value, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken = default(CancellationToken)); ++ public static JsonDocument SerializeToDocument(object? value, JsonTypeInfo jsonTypeInfo); ++ public static JsonElement SerializeToElement(object? value, JsonTypeInfo jsonTypeInfo); ++ public static JsonNode? SerializeToNode(object? value, JsonTypeInfo jsonTypeInfo); ++ public static byte[] SerializeToUtf8Bytes(object? value, JsonTypeInfo jsonTypeInfo); + } + public sealed class JsonSerializerOptions { ++ public bool IsReadOnly { get; } ++ public JsonObjectCreationHandling PreferredObjectCreationHandling { get; set; } ++ public IList TypeInfoResolverChain { get; } ++ public JsonUnmappedMemberHandling UnmappedMemberHandling { get; set; } +- public void AddContext() where TContext : JsonSerializerContext, new(); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("JsonSerializerOptions.AddContext is obsolete. To register a JsonSerializerContext, use either the TypeInfoResolver or TypeInfoResolverChain properties.", DiagnosticId="SYSLIB0049", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void AddContext() where TContext : JsonSerializerContext, new(); ++ public void MakeReadOnly(); ++ [RequiresUnreferencedCodeAttribute("Populating unconfigured TypeInfoResolver properties with the reflection resolver requires unreferenced code.")] ++ public void MakeReadOnly(bool populateMissingResolver); ++ public bool TryGetTypeInfo(Type type, [NotNullWhenAttribute(true)] out JsonTypeInfo? typeInfo); + } + public sealed class Utf8JsonWriter : IAsyncDisposable, IDisposable { ++ public void WriteRawValue(ReadOnlySequence utf8Json, bool skipInputValidation = false); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.RegularExpressions.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.RegularExpressions.md new file mode 100644 index 00000000000..b78fb7969a5 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.RegularExpressions.md @@ -0,0 +1,55 @@ +# System.Text.RegularExpressions + +``` diff + namespace System.Text.RegularExpressions { + public class Regex : ISerializable { +- protected Regex(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected Regex(SerializationInfo info, StreamingContext context); +- protected void InitializeReferences(); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete mechanisms for Regex extensibility. It is not supported.", DiagnosticId="SYSLIB0052", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected void InitializeReferences(); +- protected bool UseOptionC(); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete mechanisms for Regex extensibility. It is not supported.", DiagnosticId="SYSLIB0052", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected bool UseOptionC(); +- protected internal bool UseOptionR(); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete mechanisms for Regex extensibility. It is not supported.", DiagnosticId="SYSLIB0052", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected bool UseOptionR(); + } + public class RegexMatchTimeoutException : TimeoutException, ISerializable { +- protected RegexMatchTimeoutException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected RegexMatchTimeoutException(SerializationInfo info, StreamingContext context); + } + public sealed class RegexParseException : ArgumentException { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } +- public abstract class RegexRunner { ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public abstract class RegexRunner { +- protected static bool CharInClass(char ch, string charClass); ++ public static bool CharInClass(char ch, string charClass); +- protected static bool CharInSet(char ch, string @set, string category); ++ [ObsoleteAttribute("This API supports obsolete mechanisms for Regex extensibility. It is not supported.", DiagnosticId="SYSLIB0052", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected static bool CharInSet(char ch, string @set, string category); +- protected internal Match? Scan(Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick); ++ [ObsoleteAttribute("This API supports obsolete mechanisms for Regex extensibility. It is not supported.", DiagnosticId="SYSLIB0052", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected internal Match? Scan(Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick); +- protected internal Match? Scan(Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick, TimeSpan timeout); ++ [ObsoleteAttribute("This API supports obsolete mechanisms for Regex extensibility. It is not supported.", DiagnosticId="SYSLIB0052", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected internal Match? Scan(Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick, TimeSpan timeout); + } +- public abstract class RegexRunnerFactory ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public abstract class RegexRunnerFactory + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Unicode.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Unicode.md new file mode 100644 index 00000000000..6e031964442 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.Unicode.md @@ -0,0 +1,30 @@ +# System.Text.Unicode + +``` diff + namespace System.Text.Unicode { + public static class Utf8 { ++ public static bool IsValid(ReadOnlySpan value); ++ public static bool TryWrite(Span destination, IFormatProvider? provider, [InterpolatedStringHandlerArgumentAttribute(new string[]{ "destination", "provider"})] ref Utf8.TryWriteInterpolatedStringHandler handler, out int bytesWritten); ++ public static bool TryWrite(Span destination, [InterpolatedStringHandlerArgumentAttribute("destination")] ref Utf8.TryWriteInterpolatedStringHandler handler, out int bytesWritten); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [InterpolatedStringHandlerAttribute] ++ public ref struct TryWriteInterpolatedStringHandler { ++ public TryWriteInterpolatedStringHandler(int literalLength, int formattedCount, Span destination, out bool shouldAppend); ++ public TryWriteInterpolatedStringHandler(int literalLength, int formattedCount, Span destination, IFormatProvider? provider, out bool shouldAppend); ++ public bool AppendFormatted(object? value, int alignment = 0, string? format = null); ++ public bool AppendFormatted([ScopedRefAttribute] ReadOnlySpan utf8Value); ++ public bool AppendFormatted([ScopedRefAttribute] ReadOnlySpan utf8Value, int alignment = 0, string? format = null); ++ public bool AppendFormatted([ScopedRefAttribute] ReadOnlySpan value); ++ public bool AppendFormatted([ScopedRefAttribute] ReadOnlySpan value, int alignment = 0, string? format = null); ++ public bool AppendFormatted(string? value); ++ public bool AppendFormatted(string? value, int alignment = 0, string? format = null); ++ public bool AppendFormatted(T value); ++ public bool AppendFormatted(T value, int alignment); ++ public bool AppendFormatted(T value, int alignment, string? format); ++ public bool AppendFormatted(T value, string? format); ++ public bool AppendLiteral(string value); ++ } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.md new file mode 100644 index 00000000000..9aca42e95eb --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Text.md @@ -0,0 +1,69 @@ +# System.Text + +``` diff + namespace System.Text { ++ public static class Ascii { ++ public static bool Equals(ReadOnlySpan left, ReadOnlySpan right); ++ public static bool Equals(ReadOnlySpan left, ReadOnlySpan right); ++ public static bool Equals(ReadOnlySpan left, ReadOnlySpan right); ++ public static bool Equals(ReadOnlySpan left, ReadOnlySpan right); ++ public static bool EqualsIgnoreCase(ReadOnlySpan left, ReadOnlySpan right); ++ public static bool EqualsIgnoreCase(ReadOnlySpan left, ReadOnlySpan right); ++ public static bool EqualsIgnoreCase(ReadOnlySpan left, ReadOnlySpan right); ++ public static bool EqualsIgnoreCase(ReadOnlySpan left, ReadOnlySpan right); ++ public static OperationStatus FromUtf16(ReadOnlySpan source, Span destination, out int bytesWritten); ++ public static bool IsValid(byte value); ++ public static bool IsValid(char value); ++ public static bool IsValid(ReadOnlySpan value); ++ public static bool IsValid(ReadOnlySpan value); ++ public static OperationStatus ToLower(ReadOnlySpan source, Span destination, out int bytesWritten); ++ public static OperationStatus ToLower(ReadOnlySpan source, Span destination, out int charsWritten); ++ public static OperationStatus ToLower(ReadOnlySpan source, Span destination, out int bytesWritten); ++ public static OperationStatus ToLower(ReadOnlySpan source, Span destination, out int charsWritten); ++ public static OperationStatus ToLowerInPlace(Span value, out int bytesWritten); ++ public static OperationStatus ToLowerInPlace(Span value, out int charsWritten); ++ public static OperationStatus ToUpper(ReadOnlySpan source, Span destination, out int bytesWritten); ++ public static OperationStatus ToUpper(ReadOnlySpan source, Span destination, out int charsWritten); ++ public static OperationStatus ToUpper(ReadOnlySpan source, Span destination, out int bytesWritten); ++ public static OperationStatus ToUpper(ReadOnlySpan source, Span destination, out int charsWritten); ++ public static OperationStatus ToUpperInPlace(Span value, out int bytesWritten); ++ public static OperationStatus ToUpperInPlace(Span value, out int charsWritten); ++ public static OperationStatus ToUtf16(ReadOnlySpan source, Span destination, out int charsWritten); ++ public static Range Trim(ReadOnlySpan value); ++ public static Range Trim(ReadOnlySpan value); ++ public static Range TrimEnd(ReadOnlySpan value); ++ public static Range TrimEnd(ReadOnlySpan value); ++ public static Range TrimStart(ReadOnlySpan value); ++ public static Range TrimStart(ReadOnlySpan value); ++ } + public class ASCIIEncoding : Encoding { ++ public override bool TryGetBytes(ReadOnlySpan chars, Span bytes, out int bytesWritten); ++ public override bool TryGetChars(ReadOnlySpan bytes, Span chars, out int charsWritten); + } ++ public sealed class CompositeFormat { ++ public string Format { get; } ++ public int MinimumArgumentCount { get; } ++ public static CompositeFormat Parse([StringSyntaxAttribute("CompositeFormat")] string format); ++ } + public abstract class Encoding : ICloneable { ++ public virtual bool TryGetBytes(ReadOnlySpan chars, Span bytes, out int bytesWritten); ++ public virtual bool TryGetChars(ReadOnlySpan bytes, Span chars, out int charsWritten); + } +- public readonly struct Rune : IComparable, IComparable, IEquatable, IFormattable, ISpanFormattable { ++ public readonly struct Rune : IComparable, IComparable, IEquatable, IFormattable, ISpanFormattable, IUtf8SpanFormattable { ++ bool IUtf8SpanFormattable.TryFormat(Span utf8Destination, out int bytesWritten, ReadOnlySpan format, IFormatProvider provider); + } + public sealed class StringBuilder : ISerializable { ++ public StringBuilder AppendFormat(IFormatProvider? provider, CompositeFormat format, params object?[] args); ++ public StringBuilder AppendFormat(IFormatProvider? provider, CompositeFormat format, ReadOnlySpan args); ++ public StringBuilder AppendFormat(IFormatProvider? provider, CompositeFormat format, TArg0 arg0, TArg1 arg1, TArg2 arg2); ++ public StringBuilder AppendFormat(IFormatProvider? provider, CompositeFormat format, TArg0 arg0, TArg1 arg1); ++ public StringBuilder AppendFormat(IFormatProvider? provider, CompositeFormat format, TArg0 arg0); + } + public class UTF8Encoding : Encoding { ++ public override bool TryGetBytes(ReadOnlySpan chars, Span bytes, out int bytesWritten); ++ public override bool TryGetChars(ReadOnlySpan bytes, Span chars, out int charsWritten); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Threading.Channels.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Threading.Channels.md new file mode 100644 index 00000000000..dd7c1bc8fe0 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Threading.Channels.md @@ -0,0 +1,13 @@ +# System.Threading.Channels + +``` diff + namespace System.Threading.Channels { + public class ChannelClosedException : InvalidOperationException { +- protected ChannelClosedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ChannelClosedException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Threading.Tasks.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Threading.Tasks.md new file mode 100644 index 00000000000..6ab436e602f --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Threading.Tasks.md @@ -0,0 +1,53 @@ +# System.Threading.Tasks + +``` diff + namespace System.Threading.Tasks { ++ [FlagsAttribute] ++ public enum ConfigureAwaitOptions { ++ ContinueOnCapturedContext = 1, ++ ForceYielding = 4, ++ None = 0, ++ SuppressThrowing = 2, ++ } + public static class Parallel { ++ public static Task ForAsync(T fromInclusive, T toExclusive, Func body) where T : IBinaryInteger; ++ public static Task ForAsync(T fromInclusive, T toExclusive, CancellationToken cancellationToken, Func body) where T : IBinaryInteger; ++ public static Task ForAsync(T fromInclusive, T toExclusive, ParallelOptions parallelOptions, Func body) where T : IBinaryInteger; + } + public class Task : IAsyncResult, IDisposable { +- public bool IsFaulted { get; } ++ [MemberNotNullWhenAttribute(true, "Exception")] ++ public bool IsFaulted { [MemberNotNullWhenAttribute(true, "Exception")] get; } ++ public ConfiguredTaskAwaitable ConfigureAwait(ConfigureAwaitOptions options); ++ public static Task Delay(TimeSpan delay, TimeProvider timeProvider); ++ public static Task Delay(TimeSpan delay, TimeProvider timeProvider, CancellationToken cancellationToken); ++ public Task WaitAsync(TimeSpan timeout, TimeProvider timeProvider); ++ public Task WaitAsync(TimeSpan timeout, TimeProvider timeProvider, CancellationToken cancellationToken); + } + public class Task : Task { ++ public new ConfiguredTaskAwaitable ConfigureAwait(ConfigureAwaitOptions options); ++ public new Task WaitAsync(TimeSpan timeout, TimeProvider timeProvider); ++ public new Task WaitAsync(TimeSpan timeout, TimeProvider timeProvider, CancellationToken cancellationToken); + } + public class TaskCanceledException : OperationCanceledException { +- protected TaskCanceledException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TaskCanceledException(SerializationInfo info, StreamingContext context); + } + public class TaskSchedulerException : Exception { +- protected TaskSchedulerException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TaskSchedulerException(SerializationInfo info, StreamingContext context); + } ++ public static class TaskToAsyncResult { ++ public static IAsyncResult Begin(Task task, AsyncCallback? callback, object? state); ++ public static void End(IAsyncResult asyncResult); ++ public static TResult End(IAsyncResult asyncResult); ++ public static Task Unwrap(IAsyncResult asyncResult); ++ public static Task Unwrap(IAsyncResult asyncResult); ++ } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Threading.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Threading.md new file mode 100644 index 00000000000..2651eea9f83 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Threading.md @@ -0,0 +1,130 @@ +# System.Threading + +``` diff + namespace System.Threading { + public class AbandonedMutexException : SystemException { +- protected AbandonedMutexException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected AbandonedMutexException(SerializationInfo info, StreamingContext context); + } + public class BarrierPostPhaseException : Exception { +- protected BarrierPostPhaseException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected BarrierPostPhaseException(SerializationInfo info, StreamingContext context); + } + public class CancellationTokenSource : IDisposable { ++ public CancellationTokenSource(TimeSpan delay, TimeProvider timeProvider); ++ public Task CancelAsync(); + } + public sealed class CompressedStack : ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } + public sealed class ExecutionContext : IDisposable, ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } + public static class Interlocked { +- public static long Read(ref long location); ++ public static long Read([RequiresLocationAttribute] ref long location); +- [CLSCompliantAttribute(false)] +- public static ulong Read(ref ulong location); ++ [CLSCompliantAttribute(false)] ++ public static ulong Read([RequiresLocationAttribute] ref ulong location); + } ++ public interface ITimer : IAsyncDisposable, IDisposable { ++ bool Change(TimeSpan dueTime, TimeSpan period); ++ } + public class LockRecursionException : Exception { +- protected LockRecursionException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected LockRecursionException(SerializationInfo info, StreamingContext context); + } + public sealed class PeriodicTimer : IDisposable { ++ public PeriodicTimer(TimeSpan period, TimeProvider timeProvider); ++ public TimeSpan Period { get; set; } + } + public class SemaphoreFullException : SystemException { +- protected SemaphoreFullException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SemaphoreFullException(SerializationInfo info, StreamingContext context); + } + public class SynchronizationLockException : SystemException { +- protected SynchronizationLockException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SynchronizationLockException(SerializationInfo info, StreamingContext context); + } + public class ThreadInterruptedException : SystemException { +- protected ThreadInterruptedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ThreadInterruptedException(SerializationInfo info, StreamingContext context); + } + public class ThreadStateException : SystemException { +- protected ThreadStateException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ThreadStateException(SerializationInfo info, StreamingContext context); + } +- public sealed class Timer : MarshalByRefObject, IAsyncDisposable, IDisposable ++ public sealed class Timer : MarshalByRefObject, IAsyncDisposable, IDisposable, ITimer + public static class Volatile { +- public static bool Read(ref bool location); ++ public static bool Read([RequiresLocationAttribute] ref bool location); +- public static byte Read(ref byte location); ++ public static byte Read([RequiresLocationAttribute] ref byte location); +- public static double Read(ref double location); ++ public static double Read([RequiresLocationAttribute] ref double location); +- public static short Read(ref short location); ++ public static short Read([RequiresLocationAttribute] ref short location); +- public static int Read(ref int location); ++ public static int Read([RequiresLocationAttribute] ref int location); +- public static long Read(ref long location); ++ public static long Read([RequiresLocationAttribute] ref long location); +- public static IntPtr Read(ref IntPtr location); ++ public static IntPtr Read([RequiresLocationAttribute] ref IntPtr location); +- [CLSCompliantAttribute(false)] +- public static sbyte Read(ref sbyte location); ++ [CLSCompliantAttribute(false)] ++ public static sbyte Read([RequiresLocationAttribute] ref sbyte location); +- public static float Read(ref float location); ++ public static float Read([RequiresLocationAttribute] ref float location); +- [CLSCompliantAttribute(false)] +- public static ushort Read(ref ushort location); ++ [CLSCompliantAttribute(false)] ++ public static ushort Read([RequiresLocationAttribute] ref ushort location); +- [CLSCompliantAttribute(false)] +- public static uint Read(ref uint location); ++ [CLSCompliantAttribute(false)] ++ public static uint Read([RequiresLocationAttribute] ref uint location); +- [CLSCompliantAttribute(false)] +- public static ulong Read(ref ulong location); ++ [CLSCompliantAttribute(false)] ++ public static ulong Read([RequiresLocationAttribute] ref ulong location); +- [CLSCompliantAttribute(false)] +- public static UIntPtr Read(ref UIntPtr location); ++ [CLSCompliantAttribute(false)] ++ public static UIntPtr Read([RequiresLocationAttribute] ref UIntPtr location); +- [return: NotNullIfNotNullAttribute("location")] +- public static T Read([NotNullIfNotNullAttribute("location")] ref T location) where T : class?; ++ [return: NotNullIfNotNullAttribute("location")] ++ public static T Read([NotNullIfNotNullAttribute("location"), RequiresLocationAttribute] ref T location) where T : class?; + } + public class WaitHandleCannotBeOpenedException : ApplicationException { +- protected WaitHandleCannotBeOpenedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected WaitHandleCannotBeOpenedException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Transactions.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Transactions.md new file mode 100644 index 00000000000..351d69406f1 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Transactions.md @@ -0,0 +1,37 @@ +# System.Transactions + +``` diff + namespace System.Transactions { + public class TransactionAbortedException : TransactionException { +- protected TransactionAbortedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TransactionAbortedException(SerializationInfo info, StreamingContext context); + } + public class TransactionException : SystemException { +- protected TransactionException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TransactionException(SerializationInfo info, StreamingContext context); + } + public class TransactionInDoubtException : TransactionException { +- protected TransactionInDoubtException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TransactionInDoubtException(SerializationInfo info, StreamingContext context); + } + public class TransactionManagerCommunicationException : TransactionException { +- protected TransactionManagerCommunicationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TransactionManagerCommunicationException(SerializationInfo info, StreamingContext context); + } + public class TransactionPromotionException : TransactionException { +- protected TransactionPromotionException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TransactionPromotionException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Web.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Web.md new file mode 100644 index 00000000000..d3b17afd367 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_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/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.Schema.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.Schema.md new file mode 100644 index 00000000000..826a90858d3 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.Schema.md @@ -0,0 +1,37 @@ +# System.Xml.Schema + +``` diff + namespace System.Xml.Schema { + public class XmlSchemaException : SystemException { +- protected XmlSchemaException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected XmlSchemaException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class XmlSchemaInferenceException : XmlSchemaException { +- protected XmlSchemaInferenceException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected XmlSchemaInferenceException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class XmlSchemaValidationException : XmlSchemaException { +- protected XmlSchemaValidationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected XmlSchemaValidationException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.XPath.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.XPath.md new file mode 100644 index 00000000000..57f100e2712 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.XPath.md @@ -0,0 +1,20 @@ +# System.Xml.XPath + +``` diff + namespace System.Xml.XPath { + public class XPathException : SystemException { +- protected XPathException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected XPathException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } +- [DebuggerDisplayAttribute("Position={CurrentPosition}, Current={debuggerDisplayProxy}")] +- public abstract class XPathNodeIterator : ICloneable, IEnumerable ++ public abstract class XPathNodeIterator : ICloneable, IEnumerable + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.Xsl.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.Xsl.md new file mode 100644 index 00000000000..8ecd4aef697 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.Xsl.md @@ -0,0 +1,27 @@ +# System.Xml.Xsl + +``` diff + namespace System.Xml.Xsl { + public class XsltCompileException : XsltException { +- protected XsltCompileException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected XsltCompileException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class XsltException : SystemException { +- protected XsltException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected XsltException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.md new file mode 100644 index 00000000000..96c5f7d58cc --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.Xml.md @@ -0,0 +1,27 @@ +# System.Xml + +``` diff + namespace System.Xml { + public class XmlException : SystemException { +- protected XmlException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected XmlException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } +- [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 + public abstract class XmlResolver { ++ public static XmlResolver FileSystemResolver { get; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.md new file mode 100644 index 00000000000..17b4320f7f3 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.NETCore.App/8.0.0_System.md @@ -0,0 +1,841 @@ +# System + +``` diff + namespace System { + public class AccessViolationException : SystemException { +- protected AccessViolationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected AccessViolationException(SerializationInfo info, StreamingContext context); + } + public class AggregateException : Exception { +- protected AggregateException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected AggregateException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class AppDomainUnloadedException : SystemException { +- protected AppDomainUnloadedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected AppDomainUnloadedException(SerializationInfo info, StreamingContext context); + } + public class ApplicationException : Exception { +- protected ApplicationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ApplicationException(SerializationInfo info, StreamingContext context); + } + public class ArgumentException : SystemException { +- protected ArgumentException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ArgumentException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ public static void ThrowIfNullOrWhiteSpace([NotNullAttribute] string argument, [CallerArgumentExpressionAttribute("argument")] string paramName = null); + } + public class ArgumentNullException : ArgumentException { +- protected ArgumentNullException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ArgumentNullException(SerializationInfo info, StreamingContext context); + } + public class ArgumentOutOfRangeException : ArgumentException { +- protected ArgumentOutOfRangeException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ArgumentOutOfRangeException(SerializationInfo info, StreamingContext context); +- public ArgumentOutOfRangeException(string paramName); ++ public ArgumentOutOfRangeException(string? paramName); +- public ArgumentOutOfRangeException(string message, Exception innerException); ++ public ArgumentOutOfRangeException(string? message, Exception? innerException); +- public ArgumentOutOfRangeException(string paramName, object actualValue, string message); ++ public ArgumentOutOfRangeException(string? paramName, object? actualValue, string? message); +- public ArgumentOutOfRangeException(string paramName, string message); ++ public ArgumentOutOfRangeException(string? paramName, string? message); +- public virtual object ActualValue { get; } ++ public virtual object? ActualValue { get; } +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ public static void ThrowIfEqual(T value, T other, [CallerArgumentExpressionAttribute("value")] string? paramName = null) where T : IEquatable?; ++ public static void ThrowIfGreaterThan(T value, T other, [CallerArgumentExpressionAttribute("value")] string? paramName = null) where T : IComparable; ++ public static void ThrowIfGreaterThanOrEqual(T value, T other, [CallerArgumentExpressionAttribute("value")] string? paramName = null) where T : IComparable; ++ public static void ThrowIfLessThan(T value, T other, [CallerArgumentExpressionAttribute("value")] string? paramName = null) where T : IComparable; ++ public static void ThrowIfLessThanOrEqual(T value, T other, [CallerArgumentExpressionAttribute("value")] string? paramName = null) where T : IComparable; ++ public static void ThrowIfNegative(T value, [CallerArgumentExpressionAttribute("value")] string? paramName = null) where T : INumberBase; ++ public static void ThrowIfNegativeOrZero(T value, [CallerArgumentExpressionAttribute("value")] string? paramName = null) where T : INumberBase; ++ public static void ThrowIfNotEqual(T value, T other, [CallerArgumentExpressionAttribute("value")] string? paramName = null) where T : IEquatable?; ++ public static void ThrowIfZero(T value, [CallerArgumentExpressionAttribute("value")] string? paramName = null) where T : INumberBase; + } + public class ArithmeticException : SystemException { +- protected ArithmeticException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ArithmeticException(SerializationInfo info, StreamingContext context); + } + public class ArrayTypeMismatchException : SystemException { +- protected ArrayTypeMismatchException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ArrayTypeMismatchException(SerializationInfo info, StreamingContext context); + } + public class BadImageFormatException : SystemException { +- protected BadImageFormatException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected BadImageFormatException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } +- public readonly struct Boolean : IComparable, IComparable, IConvertible, IEquatable { ++ public readonly struct Boolean : IComparable, IComparable, IConvertible, IEquatable, IParsable, ISpanParsable { ++ static bool IParsable.Parse(string s, IFormatProvider provider); ++ static bool IParsable.TryParse([NotNullWhenAttribute(true)] string s, IFormatProvider provider, out bool result); ++ static bool ISpanParsable.Parse(ReadOnlySpan s, IFormatProvider provider); ++ static bool ISpanParsable.TryParse(ReadOnlySpan s, IFormatProvider provider, out bool result); + } +- public readonly struct Byte : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber { ++ public readonly struct Byte : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static byte Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static byte Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, out byte result); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out byte result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out byte result); + } + public class CannotUnloadAppDomainException : SystemException { +- protected CannotUnloadAppDomainException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected CannotUnloadAppDomainException(SerializationInfo info, StreamingContext context); + } +- public readonly struct Char : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber { ++ public readonly struct Char : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber, IUtf8SpanFormattable, IUtf8SpanParsable { ++ bool IUtf8SpanFormattable.TryFormat(Span utf8Destination, out int bytesWritten, ReadOnlySpan format, IFormatProvider provider); + } + public static class Console { +- public static int WindowHeight { [UnsupportedOSPlatformAttribute("android"), UnsupportedOSPlatformAttribute("browser"), UnsupportedOSPlatformAttribute("ios"), UnsupportedOSPlatformAttribute("tvos")] get; [SupportedOSPlatformAttribute("windows")] set; } ++ [UnsupportedOSPlatformAttribute("android")] ++ [UnsupportedOSPlatformAttribute("browser")] ++ [UnsupportedOSPlatformAttribute("ios")] ++ [UnsupportedOSPlatformAttribute("tvos")] ++ public static int WindowHeight { get; set; } +- public static int WindowWidth { [UnsupportedOSPlatformAttribute("android"), UnsupportedOSPlatformAttribute("browser"), UnsupportedOSPlatformAttribute("ios"), UnsupportedOSPlatformAttribute("tvos")] get; [SupportedOSPlatformAttribute("windows")] set; } ++ [UnsupportedOSPlatformAttribute("android")] ++ [UnsupportedOSPlatformAttribute("browser")] ++ [UnsupportedOSPlatformAttribute("ios")] ++ [UnsupportedOSPlatformAttribute("tvos")] ++ public static int WindowWidth { get; set; } +- [SupportedOSPlatformAttribute("windows")] +- public static void SetWindowSize(int width, int height); ++ [UnsupportedOSPlatformAttribute("android")] ++ [UnsupportedOSPlatformAttribute("browser")] ++ [UnsupportedOSPlatformAttribute("ios")] ++ [UnsupportedOSPlatformAttribute("tvos")] ++ public static void SetWindowSize(int width, int height); + } + public enum ConsoleKey { ++ None = 0, + } + [FlagsAttribute] + public enum ConsoleModifiers { ++ None = 0, + } + public class ContextMarshalException : SystemException { +- protected ContextMarshalException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ContextMarshalException(SerializationInfo info, StreamingContext context); + } +- public readonly struct DateOnly : IComparable, IComparable, IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable { ++ public readonly struct DateOnly : IComparable, IComparable, IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable, IUtf8SpanFormattable { ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public void Deconstruct(out int year, out int month, out int day); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("DateOnlyFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); + } +- public readonly struct DateTime : IComparable, IComparable, IConvertible, IEquatable, IFormattable, IParsable, ISerializable, ISpanFormattable, ISpanParsable { ++ public readonly struct DateTime : IComparable, IComparable, IConvertible, IEquatable, IFormattable, IParsable, ISerializable, ISpanFormattable, ISpanParsable, IUtf8SpanFormattable { ++ public DateTime(DateOnly date, TimeOnly time); ++ public DateTime(DateOnly date, TimeOnly time, DateTimeKind kind); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public void Deconstruct(out DateOnly date, out TimeOnly time); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public void Deconstruct(out int year, out int month, out int day); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("DateTimeFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); + } +- public readonly struct DateTimeOffset : IComparable, IComparable, IDeserializationCallback, IEquatable, IFormattable, IParsable, ISerializable, ISpanFormattable, ISpanParsable { ++ public readonly struct DateTimeOffset : IComparable, IComparable, IDeserializationCallback, IEquatable, IFormattable, IParsable, ISerializable, ISpanFormattable, ISpanParsable, IUtf8SpanFormattable { ++ public DateTimeOffset(DateOnly date, TimeOnly time, TimeSpan offset); ++ public int TotalOffsetMinutes { get; } ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public void Deconstruct(out DateOnly date, out TimeOnly time, out TimeSpan offset); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("DateTimeFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? formatProvider = null); + } + public sealed class DBNull : IConvertible, ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } +- public readonly struct Decimal : IAdditionOperators, IAdditiveIdentity, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDeserializationCallback, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPoint, IFloatingPointConstants, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISerializable, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct Decimal : IAdditionOperators, IAdditiveIdentity, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDeserializationCallback, IDivisionOperators, IEqualityOperators, IEquatable, IFloatingPoint, IFloatingPointConstants, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISerializable, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static decimal Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Number, IFormatProvider? provider = null); ++ public static decimal Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, out decimal result); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out decimal result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out decimal result); + } + public abstract class Delegate : ICloneable, ISerializable { +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class DivideByZeroException : ArithmeticException { +- protected DivideByZeroException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DivideByZeroException(SerializationInfo info, StreamingContext context); + } + public class DllNotFoundException : TypeLoadException { +- protected DllNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DllNotFoundException(SerializationInfo info, StreamingContext context); + } +- public readonly struct Double : IAdditionOperators, IAdditiveIdentity, IBinaryFloatingPointIeee754, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct Double : IAdditionOperators, IAdditiveIdentity, IBinaryFloatingPointIeee754, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { +- public const double NegativeZero = 0; ++ public const double NegativeZero = -0; ++ public static double DegreesToRadians(double degrees); ++ public static double Lerp(double value1, double value2, double amount); ++ public static double Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowExponent | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, IFormatProvider? provider = null); ++ public static double Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public static double RadiansToDegrees(double radians); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, out double result); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out double result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out double result); + } + public class DuplicateWaitObjectException : ArgumentException { +- protected DuplicateWaitObjectException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DuplicateWaitObjectException(SerializationInfo info, StreamingContext context); + } + public class EntryPointNotFoundException : TypeLoadException { +- protected EntryPointNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EntryPointNotFoundException(SerializationInfo info, StreamingContext context); + } +- public abstract class Enum : ValueType, IComparable, IConvertible, IFormattable { ++ public abstract class Enum : ValueType, IComparable, IConvertible, IFormattable, ISpanFormattable { ++ bool ISpanFormattable.TryFormat(Span destination, out int charsWritten, ReadOnlySpan format, IFormatProvider provider); ++ public static bool TryFormat(TEnum value, Span destination, out int charsWritten, [StringSyntaxAttribute("EnumFormat")] ReadOnlySpan format = default(ReadOnlySpan)) where TEnum : struct; + } + public static class Environment { ++ public static bool IsPrivilegedProcess { get; } + } + public class Exception : ISerializable { +- protected Exception(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected Exception(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class FieldAccessException : MemberAccessException { +- protected FieldAccessException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected FieldAccessException(SerializationInfo info, StreamingContext context); + } + public class FormatException : SystemException { +- protected FormatException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected FormatException(SerializationInfo info, StreamingContext context); + } + public static class GC { ++ public static void RefreshMemoryLimit(); ++ public static void RegisterNoGCRegionCallback(long totalSize, Action callback); + } +- public readonly struct Guid : IComparable, IComparable, IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable { ++ public readonly struct Guid : IComparable, IComparable, IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable, IUtf8SpanFormattable { ++ public Guid(ReadOnlySpan b, bool bigEndian); ++ bool IUtf8SpanFormattable.TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("GuidFormat")] ReadOnlySpan format, IFormatProvider provider); ++ public byte[] ToByteArray(bool bigEndian); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("GuidFormat")] ReadOnlySpan format = default(ReadOnlySpan)); ++ public bool TryWriteBytes(Span destination, bool bigEndian, out int bytesWritten); + } +- public readonly struct Half : IAdditionOperators, IAdditiveIdentity, IBinaryFloatingPointIeee754, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct Half : IAdditionOperators, IAdditiveIdentity, IBinaryFloatingPointIeee754, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static Half DegreesToRadians(Half degrees); ++ public static Half Lerp(Half value1, Half value2, Half amount); ++ public static Half Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowExponent | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, IFormatProvider? provider = null); ++ public static Half Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public static Half RadiansToDegrees(Half radians); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out Half result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out Half result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out Half result); + } +- public readonly struct Int128 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct Int128 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static Int128 Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static Int128 Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out Int128 result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out Int128 result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out Int128 result); + } +- public readonly struct Int16 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct Int16 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static short Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static short Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out short result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out short result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out short result); + } +- public readonly struct Int32 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct Int32 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static int Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static int Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out int result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out int result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out int result); + } +- public readonly struct Int64 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct Int64 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static long Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static long Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out long result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out long result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out long result); + } +- public readonly struct IntPtr : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISerializable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct IntPtr : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISerializable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static IntPtr Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static IntPtr Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out IntPtr result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out IntPtr result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out IntPtr result); + } + public class InvalidCastException : SystemException { +- protected InvalidCastException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidCastException(SerializationInfo info, StreamingContext context); + } + public class InvalidOperationException : SystemException { +- protected InvalidOperationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidOperationException(SerializationInfo info, StreamingContext context); + } + public class InvalidTimeZoneException : Exception { +- protected InvalidTimeZoneException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected InvalidTimeZoneException(SerializationInfo info, StreamingContext context); + } ++ public interface IUtf8SpanFormattable { ++ bool TryFormat(Span utf8Destination, out int bytesWritten, ReadOnlySpan format, IFormatProvider? provider); ++ } ++ public interface IUtf8SpanParsable where TSelf : IUtf8SpanParsable? { ++ static abstract TSelf Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ static abstract bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, [MaybeNullWhenAttribute(false)] out TSelf result); ++ } + public class MemberAccessException : SystemException { +- protected MemberAccessException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MemberAccessException(SerializationInfo info, StreamingContext context); + } + public static class MemoryExtensions { ++ public static ReadOnlySpan AsSpan(this string? text, Index startIndex); ++ public static ReadOnlySpan AsSpan(this string? text, Range range); ++ public static bool ContainsAny(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; ++ public static bool ContainsAny(this ReadOnlySpan span, ReadOnlySpan values) where T : IEquatable?; ++ public static bool ContainsAny(this ReadOnlySpan span, T value0, T value1) where T : IEquatable?; ++ public static bool ContainsAny(this ReadOnlySpan span, T value0, T value1, T value2) where T : IEquatable?; ++ public static bool ContainsAny(this Span span, SearchValues values) where T : IEquatable?; ++ public static bool ContainsAny(this Span span, ReadOnlySpan values) where T : IEquatable?; ++ public static bool ContainsAny(this Span span, T value0, T value1) where T : IEquatable?; ++ public static bool ContainsAny(this Span span, T value0, T value1, T value2) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this ReadOnlySpan span, ReadOnlySpan values) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this ReadOnlySpan span, T value) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this ReadOnlySpan span, T value0, T value1) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this ReadOnlySpan span, T value0, T value1, T value2) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this Span span, SearchValues values) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this Span span, ReadOnlySpan values) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this Span span, T value) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this Span span, T value0, T value1) where T : IEquatable?; ++ public static bool ContainsAnyExcept(this Span span, T value0, T value1, T value2) where T : IEquatable?; ++ public static bool ContainsAnyExceptInRange(this ReadOnlySpan span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static bool ContainsAnyExceptInRange(this Span span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static bool ContainsAnyInRange(this ReadOnlySpan span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static bool ContainsAnyInRange(this Span span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static int Count(this ReadOnlySpan span, ReadOnlySpan value) where T : IEquatable?; ++ public static int Count(this ReadOnlySpan span, T value) where T : IEquatable?; ++ public static int Count(this Span span, ReadOnlySpan value) where T : IEquatable?; ++ public static int Count(this Span span, T value) where T : IEquatable?; ++ public static int IndexOfAny(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; ++ public static int IndexOfAny(this Span span, SearchValues values) where T : IEquatable?; ++ public static int IndexOfAnyExcept(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; ++ public static int IndexOfAnyExcept(this Span span, SearchValues values) where T : IEquatable?; ++ public static int IndexOfAnyExceptInRange(this ReadOnlySpan span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static int IndexOfAnyExceptInRange(this Span span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static int IndexOfAnyInRange(this ReadOnlySpan span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static int IndexOfAnyInRange(this Span span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static int LastIndexOfAny(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; ++ public static int LastIndexOfAny(this Span span, SearchValues values) where T : IEquatable?; ++ public static int LastIndexOfAnyExcept(this ReadOnlySpan span, SearchValues values) where T : IEquatable?; ++ public static int LastIndexOfAnyExcept(this Span span, SearchValues values) where T : IEquatable?; ++ public static int LastIndexOfAnyExceptInRange(this ReadOnlySpan span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static int LastIndexOfAnyExceptInRange(this Span span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static int LastIndexOfAnyInRange(this ReadOnlySpan span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static int LastIndexOfAnyInRange(this Span span, T lowInclusive, T highInclusive) where T : IComparable; ++ public static void Replace(this ReadOnlySpan source, Span destination, T oldValue, T newValue) where T : IEquatable?; ++ public static void Replace(this Span span, T oldValue, T newValue) where T : IEquatable?; ++ public static int Split(this ReadOnlySpan source, Span destination, char separator, StringSplitOptions options = StringSplitOptions.None); ++ public static int Split(this ReadOnlySpan source, Span destination, ReadOnlySpan separator, StringSplitOptions options = StringSplitOptions.None); ++ public static int SplitAny(this ReadOnlySpan source, Span destination, ReadOnlySpan separators, StringSplitOptions options = StringSplitOptions.None); ++ public static int SplitAny(this ReadOnlySpan source, Span destination, ReadOnlySpan separators, StringSplitOptions options = StringSplitOptions.None); ++ public static bool TryWrite(this Span destination, IFormatProvider? provider, CompositeFormat format, out int charsWritten, params object?[] args); ++ public static bool TryWrite(this Span destination, IFormatProvider? provider, CompositeFormat format, out int charsWritten, ReadOnlySpan args); ++ public static bool TryWrite(this Span destination, IFormatProvider? provider, CompositeFormat format, out int charsWritten, TArg0 arg0, TArg1 arg1, TArg2 arg2); ++ public static bool TryWrite(this Span destination, IFormatProvider? provider, CompositeFormat format, out int charsWritten, TArg0 arg0, TArg1 arg1); ++ public static bool TryWrite(this Span destination, IFormatProvider? provider, CompositeFormat format, out int charsWritten, TArg0 arg0); + [EditorBrowsableAttribute(EditorBrowsableState.Never)] + [InterpolatedStringHandlerAttribute] + public ref struct TryWriteInterpolatedStringHandler { + public bool AppendFormatted([ScopedRefAttribute] ReadOnlySpan value); + public bool AppendFormatted([ScopedRefAttribute] ReadOnlySpan value, int alignment = 0, string? format = null); + } + } + public class MethodAccessException : MemberAccessException { +- protected MethodAccessException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MethodAccessException(SerializationInfo info, StreamingContext context); + } +- public class MissingFieldException : MissingMemberException, ISerializable { ++ public class MissingFieldException : MissingMemberException { +- protected MissingFieldException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MissingFieldException(SerializationInfo info, StreamingContext context); + } +- public class MissingMemberException : MemberAccessException, ISerializable { ++ public class MissingMemberException : MemberAccessException { +- protected MissingMemberException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MissingMemberException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class MissingMethodException : MissingMemberException { +- protected MissingMethodException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected MissingMethodException(SerializationInfo info, StreamingContext context); + } + public abstract class MulticastDelegate : Delegate { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } +- [AttributeUsageAttribute(AttributeTargets.Field, Inherited=false)] +- public sealed class NonSerializedAttribute : Attribute ++ [AttributeUsageAttribute(AttributeTargets.Field, Inherited=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class NonSerializedAttribute : Attribute + public class NotFiniteNumberException : ArithmeticException { +- protected NotFiniteNumberException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected NotFiniteNumberException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class NotImplementedException : SystemException { +- protected NotImplementedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected NotImplementedException(SerializationInfo info, StreamingContext context); + } + public class NotSupportedException : SystemException { +- protected NotSupportedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected NotSupportedException(SerializationInfo info, StreamingContext context); + } + public static class Nullable { +- public static ref readonly T GetValueRefOrDefaultRef(in T? nullable) where T : struct; ++ public static ref readonly T GetValueRefOrDefaultRef([RequiresLocationAttribute] ref T? nullable) where T : struct; + } + public class NullReferenceException : SystemException { +- protected NullReferenceException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected NullReferenceException(SerializationInfo info, StreamingContext context); + } + public class ObjectDisposedException : InvalidOperationException { +- protected ObjectDisposedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ObjectDisposedException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public sealed class OperatingSystem : ICloneable, ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); ++ public static bool IsWasi(); + } + public class OperationCanceledException : SystemException { +- protected OperationCanceledException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected OperationCanceledException(SerializationInfo info, StreamingContext context); + } + public class OutOfMemoryException : SystemException { +- protected OutOfMemoryException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected OutOfMemoryException(SerializationInfo info, StreamingContext context); + } + public class OverflowException : ArithmeticException { +- protected OverflowException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected OverflowException(SerializationInfo info, StreamingContext context); + } + public class PlatformNotSupportedException : NotSupportedException { +- protected PlatformNotSupportedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected PlatformNotSupportedException(SerializationInfo info, StreamingContext context); + } + public class Random { ++ public T[] GetItems(ReadOnlySpan choices, int length); ++ public void GetItems(ReadOnlySpan choices, Span destination); ++ public T[] GetItems(T[] choices, int length); ++ public void Shuffle(Span values); ++ public void Shuffle(T[] values); + } + public class RankException : SystemException { +- protected RankException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected RankException(SerializationInfo info, StreamingContext context); + } + [NativeMarshallingAttribute(typeof(ReadOnlySpanMarshaller<,>))] + public readonly ref struct ReadOnlySpan { +- public ReadOnlySpan(in T reference); ++ public ReadOnlySpan([RequiresLocationAttribute] ref T reference); + } + public struct RuntimeFieldHandle : IEquatable, ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } + public struct RuntimeMethodHandle : IEquatable, ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } + public struct RuntimeTypeHandle : IEquatable, ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } +- [CLSCompliantAttribute(false)] +- public readonly struct SByte : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators { ++ [CLSCompliantAttribute(false)] ++ public readonly struct SByte : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static sbyte Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static sbyte Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out sbyte result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out sbyte result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out sbyte result); + } +- [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Delegate | AttributeTargets.Enum | AttributeTargets.Struct, Inherited=false)] +- public sealed class SerializableAttribute : Attribute ++ [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Delegate | AttributeTargets.Enum | AttributeTargets.Struct, Inherited=false)] ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public sealed class SerializableAttribute : Attribute +- public readonly struct Single : IAdditionOperators, IAdditiveIdentity, IBinaryFloatingPointIeee754, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators { ++ public readonly struct Single : IAdditionOperators, IAdditiveIdentity, IBinaryFloatingPointIeee754, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IExponentialFunctions, IFloatingPoint, IFloatingPointConstants, IFloatingPointIeee754, IFormattable, IHyperbolicFunctions, IIncrementOperators, ILogarithmicFunctions, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IPowerFunctions, IRootFunctions, ISignedNumber, ISpanFormattable, ISpanParsable, ISubtractionOperators, ITrigonometricFunctions, IUnaryNegationOperators, IUnaryPlusOperators, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static float DegreesToRadians(float degrees); ++ public static float Lerp(float value1, float value2, float amount); ++ public static float Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowExponent | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, IFormatProvider? provider = null); ++ public static float Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public static float RadiansToDegrees(float radians); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out float result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out float result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out float result); + } +- public sealed class String : ICloneable, IComparable, IComparable, IConvertible, IEnumerable, IEnumerable, IEquatable { ++ public sealed class String : ICloneable, IComparable, IComparable, IConvertible, IEnumerable, IEnumerable, IEquatable, IParsable, ISpanParsable { ++ public static string Format(IFormatProvider? provider, CompositeFormat format, params object?[] args); ++ public static string Format(IFormatProvider? provider, CompositeFormat format, ReadOnlySpan args); ++ public static string Format(IFormatProvider? provider, CompositeFormat format, TArg0 arg0, TArg1 arg1, TArg2 arg2); ++ public static string Format(IFormatProvider? provider, CompositeFormat format, TArg0 arg0, TArg1 arg1); ++ public static string Format(IFormatProvider? provider, CompositeFormat format, TArg0 arg0); ++ static string IParsable.Parse(string s, IFormatProvider provider); ++ static bool IParsable.TryParse([NotNullWhenAttribute(true)] string s, IFormatProvider provider, [MaybeNullWhenAttribute(false)] out string result); ++ static string ISpanParsable.Parse(ReadOnlySpan s, IFormatProvider provider); ++ static bool ISpanParsable.TryParse(ReadOnlySpan s, IFormatProvider provider, [MaybeNullWhenAttribute(false)] out string result); + } + public class SystemException : Exception { +- protected SystemException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SystemException(SerializationInfo info, StreamingContext context); + } +- public readonly struct TimeOnly : IComparable, IComparable, IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable { ++ public readonly struct TimeOnly : IComparable, IComparable, IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable, IUtf8SpanFormattable { ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public void Deconstruct(out int hour, out int minute); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public void Deconstruct(out int hour, out int minute, out int second); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public void Deconstruct(out int hour, out int minute, out int second, out int millisecond); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ public void Deconstruct(out int hour, out int minute, out int second, out int millisecond, out int microsecond); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("TimeOnlyFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); + } + public class TimeoutException : SystemException { +- protected TimeoutException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TimeoutException(SerializationInfo info, StreamingContext context); + } ++ public abstract class TimeProvider { ++ protected TimeProvider(); ++ public virtual TimeZoneInfo LocalTimeZone { get; } ++ public static TimeProvider System { get; } ++ public virtual long TimestampFrequency { get; } ++ public virtual ITimer CreateTimer(TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period); ++ public TimeSpan GetElapsedTime(long startingTimestamp); ++ public TimeSpan GetElapsedTime(long startingTimestamp, long endingTimestamp); ++ public DateTimeOffset GetLocalNow(); ++ public virtual long GetTimestamp(); ++ public virtual DateTimeOffset GetUtcNow(); ++ } +- public readonly struct TimeSpan : IComparable, IComparable, IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable { ++ public readonly struct TimeSpan : IComparable, IComparable, IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable, IUtf8SpanFormattable { ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("TimeSpanFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? formatProvider = null); + } + public sealed class TimeZoneInfo : IDeserializationCallback, IEquatable, ISerializable { ++ public static ReadOnlyCollection GetSystemTimeZones(bool skipSorting); ++ public static bool TryFindSystemTimeZoneById(string id, [NotNullWhenAttribute(true)] out TimeZoneInfo? timeZoneInfo); + } + public class TimeZoneNotFoundException : Exception { +- protected TimeZoneNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TimeZoneNotFoundException(SerializationInfo info, StreamingContext context); + } + public abstract class Type : MemberInfo, IReflect { ++ public virtual bool IsFunctionPointer { get; } +- public virtual bool IsSerializable { get; } ++ [ObsoleteAttribute("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual bool IsSerializable { get; } ++ public virtual bool IsUnmanagedFunctionPointer { get; } ++ public virtual Type[] GetFunctionPointerCallingConventions(); ++ public virtual Type[] GetFunctionPointerParameterTypes(); ++ public virtual Type GetFunctionPointerReturnType(); ++ public virtual Type[] GetOptionalCustomModifiers(); ++ public virtual Type[] GetRequiredCustomModifiers(); + } + public class TypeAccessException : TypeLoadException { +- protected TypeAccessException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TypeAccessException(SerializationInfo info, StreamingContext context); + } + public sealed class TypeInitializationException : SystemException { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } +- public class TypeLoadException : SystemException, ISerializable { ++ public class TypeLoadException : SystemException { +- protected TypeLoadException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TypeLoadException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class TypeUnloadedException : SystemException { +- protected TypeUnloadedException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected TypeUnloadedException(SerializationInfo info, StreamingContext context); + } +- [CLSCompliantAttribute(false)] +- public readonly struct UInt128 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber { ++ [CLSCompliantAttribute(false)] ++ public readonly struct UInt128 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static UInt128 Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static UInt128 Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out UInt128 result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out UInt128 result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out UInt128 result); + } +- [CLSCompliantAttribute(false)] +- public readonly struct UInt16 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber { ++ [CLSCompliantAttribute(false)] ++ public readonly struct UInt16 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static ushort Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static ushort Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out ushort result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out ushort result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out ushort result); + } +- [CLSCompliantAttribute(false)] +- public readonly struct UInt32 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber { ++ [CLSCompliantAttribute(false)] ++ public readonly struct UInt32 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static uint Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static uint Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out uint result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out uint result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out uint result); + } +- [CLSCompliantAttribute(false)] +- public readonly struct UInt64 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber { ++ [CLSCompliantAttribute(false)] ++ public readonly struct UInt64 : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IConvertible, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static ulong Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static ulong Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out ulong result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out ulong result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out ulong result); + } +- [CLSCompliantAttribute(false)] +- public readonly struct UIntPtr : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISerializable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber { ++ [CLSCompliantAttribute(false)] ++ public readonly struct UIntPtr : IAdditionOperators, IAdditiveIdentity, IBinaryInteger, IBinaryNumber, IBitwiseOperators, IComparable, IComparable, IComparisonOperators, IDecrementOperators, IDivisionOperators, IEqualityOperators, IEquatable, IFormattable, IIncrementOperators, IMinMaxValue, IModulusOperators, IMultiplicativeIdentity, IMultiplyOperators, INumber, INumberBase, IParsable, ISerializable, IShiftOperators, ISpanFormattable, ISpanParsable, ISubtractionOperators, IUnaryNegationOperators, IUnaryPlusOperators, IUnsignedNumber, IUtf8SpanFormattable, IUtf8SpanParsable { ++ public static UIntPtr Parse(ReadOnlySpan utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null); ++ public static UIntPtr Parse(ReadOnlySpan utf8Text, IFormatProvider? provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten, [StringSyntaxAttribute("NumericFormat")] ReadOnlySpan format = default(ReadOnlySpan), IFormatProvider? provider = null); ++ public static bool TryParse(ReadOnlySpan utf8Text, NumberStyles style, IFormatProvider? provider, out UIntPtr result); ++ public static bool TryParse(ReadOnlySpan utf8Text, IFormatProvider? provider, out UIntPtr result); ++ public static bool TryParse(ReadOnlySpan utf8Text, out UIntPtr result); + } + public class UnauthorizedAccessException : SystemException { +- protected UnauthorizedAccessException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected UnauthorizedAccessException(SerializationInfo info, StreamingContext context); + } +- public class Uri : ISerializable { ++ public class Uri : IFormattable, ISerializable, ISpanFormattable { +- protected Uri(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected Uri(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ string IFormattable.ToString(string format, IFormatProvider formatProvider); ++ bool ISpanFormattable.TryFormat(Span destination, out int charsWritten, ReadOnlySpan format, IFormatProvider provider); ++ public bool TryFormat(Span destination, out int charsWritten); + } + public class UriFormatException : FormatException, ISerializable { +- protected UriFormatException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected UriFormatException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } +- public sealed class Version : ICloneable, IComparable, IComparable, IEquatable, IFormattable, ISpanFormattable { ++ public sealed class Version : ICloneable, IComparable, IComparable, IEquatable, IFormattable, ISpanFormattable, IUtf8SpanFormattable { +- public int CompareTo(object version); ++ public int CompareTo(object? version); +- public int CompareTo(Version value); ++ public int CompareTo(Version? value); +- public override bool Equals([NotNullWhenAttribute(true)] object obj); ++ public override bool Equals([NotNullWhenAttribute(true)] object? obj); +- public bool Equals([NotNullWhenAttribute(true)] Version obj); ++ public bool Equals([NotNullWhenAttribute(true)] Version? obj); +- public static bool operator ==(Version v1, Version v2); ++ public static bool operator ==(Version? v1, Version? v2); +- public static bool operator >(Version v1, Version v2); ++ public static bool operator >(Version? v1, Version? v2); +- public static bool operator >=(Version v1, Version v2); ++ public static bool operator >=(Version? v1, Version? v2); +- public static bool operator !=(Version v1, Version v2); ++ public static bool operator !=(Version? v1, Version? v2); +- public static bool operator <(Version v1, Version v2); ++ public static bool operator <(Version? v1, Version? v2); +- public static bool operator <=(Version v1, Version v2); ++ public static bool operator <=(Version? v1, Version? v2); ++ bool IUtf8SpanFormattable.TryFormat(Span utf8Destination, out int bytesWritten, ReadOnlySpan format, IFormatProvider provider); ++ public bool TryFormat(Span utf8Destination, out int bytesWritten); ++ public bool TryFormat(Span utf8Destination, int fieldCount, out int bytesWritten); +- public static bool TryParse([NotNullWhenAttribute(true)] string input, [NotNullWhenAttribute(true)] out Version result); ++ public static bool TryParse([NotNullWhenAttribute(true)] string? input, [NotNullWhenAttribute(true)] out Version? result); + } + public class WeakReference : ISerializable { +- protected WeakReference(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected WeakReference(SerializationInfo info, StreamingContext context); +- public virtual void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); + } + public sealed class WeakReference : ISerializable where T : class? { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(EditorBrowsableState.Never)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0.md new file mode 100644 index 00000000000..01b42fa7bcf --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0.md @@ -0,0 +1,33 @@ +# API Difference 7.0.0 vs 8.0.0 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [Microsoft.VisualBasic.ApplicationServices](8.0.0_Microsoft.VisualBasic.ApplicationServices.md) +* [Microsoft.Win32](8.0.0_Microsoft.Win32.md) +* [System.ComponentModel.Design](8.0.0_System.ComponentModel.Design.md) +* [System.ComponentModel.Design.Serialization](8.0.0_System.ComponentModel.Design.Serialization.md) +* [System.Configuration](8.0.0_System.Configuration.md) +* [System.Configuration.Internal](8.0.0_System.Configuration.Internal.md) +* [System.Configuration.Provider](8.0.0_System.Configuration.Provider.md) +* [System.Diagnostics.Eventing.Reader](8.0.0_System.Diagnostics.Eventing.Reader.md) +* [System.DirectoryServices](8.0.0_System.DirectoryServices.md) +* [System.DirectoryServices.ActiveDirectory](8.0.0_System.DirectoryServices.ActiveDirectory.md) +* [System.Drawing](8.0.0_System.Drawing.md) +* [System.Drawing.Design](8.0.0_System.Drawing.Design.md) +* [System.Drawing.Drawing2D](8.0.0_System.Drawing.Drawing2D.md) +* [System.Drawing.Imaging](8.0.0_System.Drawing.Imaging.md) +* [System.Drawing.Interop](8.0.0_System.Drawing.Interop.md) +* [System.Drawing.Printing](8.0.0_System.Drawing.Printing.md) +* [System.IO](8.0.0_System.IO.md) +* [System.Media](8.0.0_System.Media.md) +* [System.Resources](8.0.0_System.Resources.md) +* [System.Resources.Extensions](8.0.0_System.Resources.Extensions.md) +* [System.Security](8.0.0_System.Security.md) +* [System.Security.Cryptography.Xml](8.0.0_System.Security.Cryptography.Xml.md) +* [System.Security.Policy](8.0.0_System.Security.Policy.md) +* [System.Windows.Controls.Ribbon](8.0.0_System.Windows.Controls.Ribbon.md) +* [System.Windows.Forms](8.0.0_System.Windows.Forms.md) +* [System.Windows.Forms.Design](8.0.0_System.Windows.Forms.Design.md) +* [System.Windows.Forms.Design.Behavior](8.0.0_System.Windows.Forms.Design.Behavior.md) + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_Microsoft.VisualBasic.ApplicationServices.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_Microsoft.VisualBasic.ApplicationServices.md new file mode 100644 index 00000000000..5926426d670 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_Microsoft.VisualBasic.ApplicationServices.md @@ -0,0 +1,23 @@ +# Microsoft.VisualBasic.ApplicationServices + +``` diff + namespace Microsoft.VisualBasic.ApplicationServices { + [EditorBrowsableAttribute(1)] + public class CantStartSingleInstanceException : Exception { +- [EditorBrowsableAttribute(2)] +- protected CantStartSingleInstanceException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(2)] ++ [ObsoleteAttribute("Type or member is obsolete", DiagnosticId="SYSLIB0051")] ++ protected CantStartSingleInstanceException(SerializationInfo info, StreamingContext context); + } + [EditorBrowsableAttribute(1)] + public class NoStartupFormException : Exception { +- [EditorBrowsableAttribute(2)] +- protected NoStartupFormException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(2)] ++ [ObsoleteAttribute("Type or member obsolete.", DiagnosticId="SYSLIB0051")] ++ protected NoStartupFormException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_Microsoft.Win32.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_Microsoft.Win32.md new file mode 100644 index 00000000000..fc5c61944ec --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_Microsoft.Win32.md @@ -0,0 +1,58 @@ +# Microsoft.Win32 + +``` diff + namespace Microsoft.Win32 { ++ public abstract class CommonItemDialog : CommonDialog { ++ public bool AddToRecent { get; set; } ++ public Guid? ClientGuid { get; set; } ++ public IList CustomPlaces { get; set; } ++ public string DefaultDirectory { get; set; } ++ public bool DereferenceLinks { get; set; } ++ public string InitialDirectory { get; set; } ++ public string RootDirectory { get; set; } ++ public bool ShowHiddenItems { get; set; } ++ public string Title { get; set; } ++ public bool ValidateNames { get; set; } ++ protected virtual void OnItemOk(CancelEventArgs e); ++ public override void Reset(); ++ protected override bool RunDialog(IntPtr hwndOwner); ++ public override string ToString(); ++ } +- public abstract class FileDialog : CommonDialog { ++ public abstract class FileDialog : CommonItemDialog { +- protected FileDialog(); +- public virtual bool CheckFileExists { get; set; } ++ public bool CheckFileExists { get; set; } +- public IList CustomPlaces { get; set; } +- public bool DereferenceLinks { get; set; } +- public string InitialDirectory { get; set; } +- protected int Options { get; } +- public string Title { get; set; } +- public bool ValidateNames { get; set; } +- protected override IntPtr HookProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam); +- protected void OnFileOk(CancelEventArgs e); ++ protected override void OnItemOk(CancelEventArgs e); +- protected override bool RunDialog(IntPtr hwndOwner); + } + public sealed class OpenFileDialog : FileDialog { ++ public bool ForcePreviewPane { get; set; } +- protected override void CheckPermissionsToShowDialog(); + } ++ public sealed class OpenFolderDialog : CommonItemDialog { ++ public OpenFolderDialog(); ++ public string FolderName { get; set; } ++ public string[] FolderNames { get; } ++ public bool Multiselect { get; set; } ++ public string SafeFolderName { get; } ++ public string[] SafeFolderNames { get; } ++ public event CancelEventHandler FolderOk; ++ protected override void OnItemOk(CancelEventArgs e); ++ public override void Reset(); ++ public override string ToString(); ++ } + public sealed class SaveFileDialog : FileDialog { ++ public bool CreateTestFile { get; set; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.ComponentModel.Design.Serialization.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.ComponentModel.Design.Serialization.md new file mode 100644 index 00000000000..b3a18a0b53d --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.ComponentModel.Design.Serialization.md @@ -0,0 +1,120 @@ +# System.ComponentModel.Design.Serialization + +``` diff + namespace System.ComponentModel.Design.Serialization { + [DefaultSerializationProviderAttribute(typeof(CodeDomSerializationProvider))] + public class CodeDomSerializer : CodeDomSerializerBase { +- public virtual object Deserialize(IDesignerSerializationManager manager, object codeObject); ++ public virtual object? Deserialize(IDesignerSerializationManager manager, object codeObject); +- protected object DeserializeStatementToInstance(IDesignerSerializationManager manager, CodeStatement statement); ++ protected object? DeserializeStatementToInstance(IDesignerSerializationManager manager, CodeStatement statement); +- public virtual string GetTargetComponentName(CodeStatement statement, CodeExpression expression, Type targetType); ++ public virtual string? GetTargetComponentName(CodeStatement? statement, CodeExpression? expression, Type? targetType); +- public virtual object Serialize(IDesignerSerializationManager manager, object value); ++ public virtual object? Serialize(IDesignerSerializationManager manager, object value); +- public virtual object SerializeAbsolute(IDesignerSerializationManager manager, object value); ++ public virtual object? SerializeAbsolute(IDesignerSerializationManager manager, object value); +- [ObsoleteAttribute("This method has been deprecated. Use SerializeToExpression or GetExpression instead. https://go.microsoft.com/fwlink/?linkid=14202")] +- protected CodeExpression SerializeToReferenceExpression(IDesignerSerializationManager manager, object value); ++ [ObsoleteAttribute("This method has been deprecated. Use SerializeToExpression or GetExpression instead. https://go.microsoft.com/fwlink/?linkid=14202")] ++ protected CodeExpression? SerializeToReferenceExpression(IDesignerSerializationManager manager, object value); + } + [EditorBrowsableAttribute(1)] + public abstract class CodeDomSerializerBase { +- protected object DeserializeExpression(IDesignerSerializationManager manager, string name, CodeExpression expression); ++ protected object? DeserializeExpression(IDesignerSerializationManager manager, string? name, CodeExpression? expression); +- protected virtual object DeserializeInstance(IDesignerSerializationManager manager, Type type, object[] parameters, string name, bool addToContainer); ++ protected virtual object DeserializeInstance(IDesignerSerializationManager manager, Type type, object?[]? parameters, string? name, bool addToContainer); +- protected void DeserializePropertiesFromResources(IDesignerSerializationManager manager, object value, Attribute[] filter); ++ protected void DeserializePropertiesFromResources(IDesignerSerializationManager manager, object value, Attribute[]? filter); +- protected static EventDescriptorCollection GetEventsHelper(IDesignerSerializationManager manager, object instance, Attribute[] attributes); ++ protected static EventDescriptorCollection GetEventsHelper(IDesignerSerializationManager manager, object instance, Attribute[]? attributes); +- protected CodeExpression GetExpression(IDesignerSerializationManager manager, object value); ++ protected CodeExpression? GetExpression(IDesignerSerializationManager manager, object value); +- protected static PropertyDescriptorCollection GetPropertiesHelper(IDesignerSerializationManager manager, object instance, Attribute[] attributes); ++ protected static PropertyDescriptorCollection GetPropertiesHelper(IDesignerSerializationManager manager, object instance, Attribute[]? attributes); +- protected CodeDomSerializer GetSerializer(IDesignerSerializationManager manager, object value); ++ protected CodeDomSerializer? GetSerializer(IDesignerSerializationManager manager, object? value); +- protected CodeDomSerializer GetSerializer(IDesignerSerializationManager manager, Type valueType); ++ protected CodeDomSerializer? GetSerializer(IDesignerSerializationManager manager, Type valueType); +- protected static TypeDescriptionProvider GetTargetFrameworkProvider(IServiceProvider provider, object instance); ++ protected static TypeDescriptionProvider? GetTargetFrameworkProvider(IServiceProvider provider, object instance); +- protected CodeExpression SerializeCreationExpression(IDesignerSerializationManager manager, object value, out bool isComplete); ++ protected CodeExpression? SerializeCreationExpression(IDesignerSerializationManager manager, object value, out bool isComplete); +- protected void SerializeEvents(IDesignerSerializationManager manager, CodeStatementCollection statements, object value, params Attribute[] filter); ++ protected void SerializeEvents(IDesignerSerializationManager manager, CodeStatementCollection statements, object value, params Attribute[]? filter); +- protected void SerializeProperties(IDesignerSerializationManager manager, CodeStatementCollection statements, object value, Attribute[] filter); ++ protected void SerializeProperties(IDesignerSerializationManager manager, CodeStatementCollection statements, object value, Attribute[]? filter); +- protected void SerializePropertiesToResources(IDesignerSerializationManager manager, CodeStatementCollection statements, object value, Attribute[] filter); ++ protected void SerializePropertiesToResources(IDesignerSerializationManager manager, CodeStatementCollection statements, object value, Attribute[]? filter); +- protected void SerializeResource(IDesignerSerializationManager manager, string resourceName, object value); ++ protected void SerializeResource(IDesignerSerializationManager manager, string resourceName, object? value); +- protected void SerializeResourceInvariant(IDesignerSerializationManager manager, string resourceName, object value); ++ protected void SerializeResourceInvariant(IDesignerSerializationManager manager, string resourceName, object? value); +- protected CodeExpression SerializeToExpression(IDesignerSerializationManager manager, object value); ++ protected CodeExpression? SerializeToExpression(IDesignerSerializationManager manager, object? value); +- protected CodeExpression SerializeToResourceExpression(IDesignerSerializationManager manager, object value); ++ protected CodeExpression? SerializeToResourceExpression(IDesignerSerializationManager manager, object? value); +- protected CodeExpression SerializeToResourceExpression(IDesignerSerializationManager manager, object value, bool ensureInvariant); ++ protected CodeExpression? SerializeToResourceExpression(IDesignerSerializationManager manager, object? value, bool ensureInvariant); + } + public class CodeDomSerializerException : SystemException { +- public CodeDomSerializerException(Exception ex, IDesignerSerializationManager manager); ++ public CodeDomSerializerException(Exception? ex, IDesignerSerializationManager manager); +- public CodeDomSerializerException(string message, IDesignerSerializationManager manager); ++ public CodeDomSerializerException(string? message, IDesignerSerializationManager manager); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [ObsoleteAttribute(DiagnosticId="SYSLIB0051")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class DesignerSerializationManager : IDesignerSerializationManager, IServiceProvider { +- public DesignerSerializationManager(IServiceProvider provider); ++ public DesignerSerializationManager(IServiceProvider? provider); +- public IContainer Container { get; set; } ++ public IContainer? Container { get; set; } +- public object PropertyProvider { get; set; } ++ public object? PropertyProvider { get; set; } +- ContextStack System.ComponentModel.Design.Serialization.IDesignerSerializationManager.Context { get; } ++ ContextStack IDesignerSerializationManager.Context { get; } +- PropertyDescriptorCollection System.ComponentModel.Design.Serialization.IDesignerSerializationManager.Properties { get; } ++ PropertyDescriptorCollection IDesignerSerializationManager.Properties { get; } +- public event EventHandler SessionCreated; ++ public event EventHandler? SessionCreated; +- public event EventHandler SessionDisposed; ++ public event EventHandler? SessionDisposed; +- protected virtual object CreateInstance(Type type, ICollection arguments, string name, bool addToContainer); ++ protected virtual object CreateInstance(Type type, ICollection? arguments, string? name, bool addToContainer); +- public Type GetRuntimeType(string typeName); ++ public Type? GetRuntimeType(string? typeName); +- public object GetSerializer(Type objectType, Type serializerType); ++ public object? GetSerializer(Type? objectType, Type serializerType); +- protected virtual object GetService(Type serviceType); ++ protected virtual object? GetService(Type serviceType); +- protected virtual Type GetType(string typeName); ++ protected virtual Type? GetType(string? typeName); +- object IDesignerSerializationManager.CreateInstance(Type type, ICollection arguments, string name, bool addToContainer); ++ object IDesignerSerializationManager.CreateInstance(Type type, ICollection? arguments, string? name, bool addToContainer); +- object IDesignerSerializationManager.GetInstance(string name); ++ object? IDesignerSerializationManager.GetInstance(string name); +- string IDesignerSerializationManager.GetName(object value); ++ string? IDesignerSerializationManager.GetName(object value); +- object IDesignerSerializationManager.GetSerializer(Type objectType, Type serializerType); ++ object? IDesignerSerializationManager.GetSerializer(Type? objectType, Type serializerType); +- Type IDesignerSerializationManager.GetType(string typeName); ++ Type? IDesignerSerializationManager.GetType(string typeName); +- object IServiceProvider.GetService(Type serviceType); ++ object? IServiceProvider.GetService(Type serviceType); + } + public sealed class ExpressionContext { +- public ExpressionContext(CodeExpression expression, Type expressionType, object owner, object presetValue); ++ public ExpressionContext(CodeExpression expression, Type expressionType, object owner, object? presetValue); +- public object PresetValue { get; } ++ public object? PresetValue { get; } + } + public sealed class ObjectStatementCollection : IEnumerable { +- public CodeStatementCollection this[object statementOwner] { get; } ++ public CodeStatementCollection? this[object statementOwner] { get; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.ComponentModel.Design.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.ComponentModel.Design.md new file mode 100644 index 00000000000..57f5dc4816b --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.ComponentModel.Design.md @@ -0,0 +1,130 @@ +# System.ComponentModel.Design + +``` diff + namespace System.ComponentModel.Design { + public class CollectionEditor : UITypeEditor { + protected abstract class CollectionForm : Form { +- public object EditValue { get; set; } ++ public object? EditValue { get; set; } + } + } + public class DesignerActionList { +- public DesignerActionList(IComponent component); ++ public DesignerActionList(IComponent? component); +- public IComponent Component { get; } ++ public IComponent? Component { get; } +- public object GetService(Type serviceType); ++ public object? GetService(Type serviceType); + } + public class DesignerActionListCollection : CollectionBase { +- public DesignerActionListCollection(DesignerActionList[] value); ++ public DesignerActionListCollection(DesignerActionList?[] value); +- public void AddRange(DesignerActionList[] value); ++ public void AddRange(DesignerActionList?[] value); +- public void CopyTo(DesignerActionList[] array, int index); ++ public void CopyTo(DesignerActionList?[] array, int index); + } + public sealed class DesignerActionPropertyItem : DesignerActionItem { +- public DesignerActionPropertyItem(string memberName, string displayName); ++ public DesignerActionPropertyItem(string memberName, string? displayName); + } + public class DesignerActionTextItem : DesignerActionItem { +- public DesignerActionTextItem(string displayName, string category); ++ public DesignerActionTextItem(string? displayName, string? category); + } + public class DesignerCommandSet { +- public virtual ICollection GetCommands(string name); ++ public virtual ICollection? GetCommands(string name); + } + public class DesignSurface : IDisposable, IServiceProvider { +- public DesignSurface(IServiceProvider parentProvider); ++ public DesignSurface(IServiceProvider? parentProvider); +- public DesignSurface(IServiceProvider parentProvider, Type rootComponentType); ++ public DesignSurface(IServiceProvider? parentProvider, Type rootComponentType); +- public event EventHandler Disposed; ++ public event EventHandler? Disposed; +- public event EventHandler Flushed; ++ public event EventHandler? Flushed; +- public event LoadedEventHandler Loaded; ++ public event LoadedEventHandler? Loaded; +- public event EventHandler Loading; ++ public event EventHandler? Loading; +- public event EventHandler Unloaded; ++ public event EventHandler? Unloaded; +- public event EventHandler Unloading; ++ public event EventHandler? Unloading; +- public event EventHandler ViewActivated; ++ public event EventHandler? ViewActivated; +- [ObsoleteAttribute("CreateComponent has been replaced by CreateInstance and will be removed after Beta2")] +- protected internal virtual IComponent CreateComponent(Type componentType); ++ [ObsoleteAttribute("CreateComponent has been replaced by CreateInstance and will be removed after Beta2")] ++ protected internal virtual IComponent? CreateComponent(Type componentType); +- protected internal virtual IDesigner CreateDesigner(IComponent component, bool rootDesigner); ++ protected internal virtual IDesigner? CreateDesigner(IComponent component, bool rootDesigner); +- protected internal virtual object CreateInstance(Type type); ++ protected internal virtual object? CreateInstance(Type type); +- public INestedContainer CreateNestedContainer(IComponent owningComponent, string containerName); ++ public INestedContainer CreateNestedContainer(IComponent owningComponent, string? containerName); +- public object GetService(Type serviceType); ++ public object? GetService(Type serviceType); + } + public sealed class DesignSurfaceCollection : ICollection, IEnumerable { +- int System.Collections.ICollection.Count { get; } ++ int ICollection.Count { get; } +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } + } + public class DesignSurfaceManager : IDisposable, IServiceProvider { +- public object GetService(Type serviceType); ++ public object? GetService(Type serviceType); + } + public sealed class ExceptionCollection : Exception { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [ObsoleteAttribute(DiagnosticId="SYSLIB0051")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class InheritanceService : IDisposable, IInheritanceService { +- protected virtual void AddInheritedComponents(Type type, IComponent component, IContainer container); ++ protected virtual void AddInheritedComponents(Type? type, IComponent component, IContainer container); +- protected virtual bool IgnoreInheritedMember(MemberInfo member, IComponent component); ++ protected virtual bool IgnoreInheritedMember(MemberInfo member, IComponent? component); + } + public sealed class LoadedEventArgs : EventArgs { +- public LoadedEventArgs(bool succeeded, ICollection errors); ++ public LoadedEventArgs(bool succeeded, ICollection? errors); + } + public abstract class ObjectSelectorEditor : UITypeEditor { +- protected virtual void FillTreeWithData(ObjectSelectorEditor.Selector selector, ITypeDescriptorContext context, IServiceProvider provider); ++ protected virtual void FillTreeWithData(ObjectSelectorEditor.Selector selector, ITypeDescriptorContext? context, IServiceProvider provider); + public class Selector : TreeView { +- public ObjectSelectorEditor.SelectorNode AddNode(string label, object value, ObjectSelectorEditor.SelectorNode parent); ++ public ObjectSelectorEditor.SelectorNode AddNode(string? label, object? value, ObjectSelectorEditor.SelectorNode? parent); +- protected void OnAfterSelect(object sender, TreeViewEventArgs e); ++ protected void OnAfterSelect(object? sender, TreeViewEventArgs e); +- public bool SetSelection(object value, TreeNodeCollection nodes); ++ public bool SetSelection(object? value, TreeNodeCollection? nodes); +- public void Start(IWindowsFormsEditorService edSvc, object value); ++ public void Start(IWindowsFormsEditorService edSvc, object? value); + } + } + public abstract class UndoEngine : IDisposable { +- public event EventHandler Undoing; ++ public event EventHandler? Undoing; +- public event EventHandler Undone; ++ public event EventHandler? Undone; +- protected virtual UndoEngine.UndoUnit CreateUndoUnit(string name, bool primary); ++ protected virtual UndoEngine.UndoUnit CreateUndoUnit(string? name, bool primary); +- protected object GetService(Type serviceType); ++ protected object? GetService(Type serviceType); + protected class UndoUnit { +- public UndoUnit(UndoEngine engine, string name); ++ public UndoUnit(UndoEngine engine, string? name); +- protected object GetService(Type serviceType); ++ protected object? GetService(Type serviceType); + } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Configuration.Internal.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Configuration.Internal.md new file mode 100644 index 00000000000..e5c101e54cd --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Configuration.Internal.md @@ -0,0 +1,17 @@ +# System.Configuration.Internal + +``` diff + namespace System.Configuration.Internal { + public class DelegatingConfigHost : IInternalConfigHost { +- public virtual void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady); ++ [ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public virtual void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady); + } + public interface IInternalConfigHost { +- void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady); ++ [ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Configuration.Provider.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Configuration.Provider.md new file mode 100644 index 00000000000..51ae29fb2ff --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Configuration.Provider.md @@ -0,0 +1,13 @@ +# System.Configuration.Provider + +``` diff + namespace System.Configuration.Provider { + public class ProviderException : Exception { +- protected ProviderException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ProviderException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Configuration.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Configuration.md new file mode 100644 index 00000000000..bca27cbd364 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Configuration.md @@ -0,0 +1,66 @@ +# System.Configuration + +``` diff + namespace System.Configuration { +- [DebuggerDisplayAttribute("Count = {Count}")] +- public abstract class ConfigurationElementCollection : ConfigurationElement, ICollection, IEnumerable ++ public abstract class ConfigurationElementCollection : ConfigurationElement, ICollection, IEnumerable + public class ConfigurationErrorsException : ConfigurationException { +- protected ConfigurationErrorsException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ConfigurationErrorsException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class ConfigurationException : SystemException { +- protected ConfigurationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ConfigurationException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public sealed class ConfigurationSectionCollection : NameObjectCollectionBase { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public sealed class ConfigurationSectionGroupCollection : NameObjectCollectionBase { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public sealed class PropertyInformationCollection : NameObjectCollectionBase { +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class SettingsPropertyIsReadOnlyException : Exception { +- protected SettingsPropertyIsReadOnlyException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SettingsPropertyIsReadOnlyException(SerializationInfo info, StreamingContext context); + } + public class SettingsPropertyNotFoundException : Exception { +- protected SettingsPropertyNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SettingsPropertyNotFoundException(SerializationInfo info, StreamingContext context); + } + public class SettingsPropertyWrongTypeException : Exception { +- protected SettingsPropertyWrongTypeException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SettingsPropertyWrongTypeException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Diagnostics.Eventing.Reader.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Diagnostics.Eventing.Reader.md new file mode 100644 index 00000000000..e3f09e09504 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Diagnostics.Eventing.Reader.md @@ -0,0 +1,41 @@ +# System.Diagnostics.Eventing.Reader + +``` diff + namespace System.Diagnostics.Eventing.Reader { + public class EventLogException : Exception { +- protected EventLogException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogException(SerializationInfo serializationInfo, StreamingContext streamingContext); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class EventLogInvalidDataException : EventLogException { +- protected EventLogInvalidDataException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogInvalidDataException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class EventLogNotFoundException : EventLogException { +- protected EventLogNotFoundException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogNotFoundException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class EventLogProviderDisabledException : EventLogException { +- protected EventLogProviderDisabledException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogProviderDisabledException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class EventLogReadingException : EventLogException { +- protected EventLogReadingException(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected EventLogReadingException(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.DirectoryServices.ActiveDirectory.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.DirectoryServices.ActiveDirectory.md new file mode 100644 index 00000000000..ad697e94096 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.DirectoryServices.ActiveDirectory.md @@ -0,0 +1,63 @@ +# System.DirectoryServices.ActiveDirectory + +``` diff + namespace System.DirectoryServices.ActiveDirectory { + public class ActiveDirectoryObjectExistsException : Exception { +- protected ActiveDirectoryObjectExistsException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ActiveDirectoryObjectExistsException(SerializationInfo info, StreamingContext context); + } + public class ActiveDirectoryObjectNotFoundException : Exception, ISerializable { +- protected ActiveDirectoryObjectNotFoundException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ActiveDirectoryObjectNotFoundException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class ActiveDirectoryOperationException : Exception, ISerializable { +- protected ActiveDirectoryOperationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ActiveDirectoryOperationException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class ActiveDirectoryServerDownException : Exception, ISerializable { +- protected ActiveDirectoryServerDownException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ActiveDirectoryServerDownException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class ForestTrustCollisionException : ActiveDirectoryOperationException, ISerializable { +- protected ForestTrustCollisionException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected ForestTrustCollisionException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + public class SyncFromAllServersOperationException : ActiveDirectoryOperationException, ISerializable { +- protected SyncFromAllServersOperationException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SyncFromAllServersOperationException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.DirectoryServices.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.DirectoryServices.md new file mode 100644 index 00000000000..2b135da5500 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.DirectoryServices.md @@ -0,0 +1,34 @@ +# System.DirectoryServices + +``` diff + namespace System.DirectoryServices { + public class DirectoryServicesCOMException : COMException, ISerializable { +- protected DirectoryServicesCOMException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected DirectoryServicesCOMException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext); + } + [ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] + public sealed class DirectoryServicesPermission : ResourcePermissionBase { +- public DirectoryServicesPermission(DirectoryServicesPermissionEntry[]? permissionAccessEntries); ++ public DirectoryServicesPermission(DirectoryServicesPermissionEntry[] permissionAccessEntries); + } + public class DirectoryServicesPermissionEntryCollection : CollectionBase { +- public DirectoryServicesPermissionEntry? this[int index] { get; set; } ++ public DirectoryServicesPermissionEntry this[int index] { get; set; } +- protected override void OnInsert(int index, object? value); ++ protected override void OnInsert(int index, object value); +- protected override void OnRemove(int index, object? value); ++ protected override void OnRemove(int index, object value); +- protected override void OnSet(int index, object? oldValue, object? newValue); ++ protected override void OnSet(int index, object oldValue, object newValue); +- public void Remove(DirectoryServicesPermissionEntry? value); ++ public void Remove(DirectoryServicesPermissionEntry value); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Design.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Design.md new file mode 100644 index 00000000000..74d6a3ad872 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Design.md @@ -0,0 +1,57 @@ +# System.Drawing.Design + +``` diff + namespace System.Drawing.Design { + [CLSCompliantAttribute(false)] + public class ColorEditor : UITypeEditor { +- public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value); ++ public override object? EditValue(ITypeDescriptorContext? context, IServiceProvider provider, object? value); +- public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context); ++ public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext? context); +- public override bool GetPaintValueSupported(ITypeDescriptorContext context); ++ public override bool GetPaintValueSupported(ITypeDescriptorContext? context); + } + public class FontNameEditor : UITypeEditor { +- public override bool GetPaintValueSupported(ITypeDescriptorContext context); ++ public override bool GetPaintValueSupported(ITypeDescriptorContext? context); + } + public class IconEditor : UITypeEditor { +- protected static string CreateExtensionsString(string[] extensions, string sep); ++ protected static string? CreateExtensionsString(string?[]? extensions, string sep); +- public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value); ++ public override object? EditValue(ITypeDescriptorContext? context, IServiceProvider provider, object? value); +- public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context); ++ public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext? context); +- public override bool GetPaintValueSupported(ITypeDescriptorContext context); ++ public override bool GetPaintValueSupported(ITypeDescriptorContext? context); + } + [CLSCompliantAttribute(false)] + public class ImageEditor : UITypeEditor { +- protected static string CreateExtensionsString(string[] extensions, string sep); ++ protected static string? CreateExtensionsString(string?[]? extensions, string sep); +- public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value); ++ public override object? EditValue(ITypeDescriptorContext? context, IServiceProvider provider, object? value); +- public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context); ++ public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext? context); +- public override bool GetPaintValueSupported(ITypeDescriptorContext context); ++ public override bool GetPaintValueSupported(ITypeDescriptorContext? context); + } + public interface IPropertyValueUIService { +- event EventHandler PropertyUIValueItemsChanged; ++ event EventHandler? PropertyUIValueItemsChanged; + } + public class PropertyValueUIItem { +- public PropertyValueUIItem(Image uiItemImage, PropertyValueUIItemInvokeHandler handler, string tooltip); ++ public PropertyValueUIItem(Image uiItemImage, PropertyValueUIItemInvokeHandler handler, string? tooltip); +- public virtual string ToolTip { get; } ++ public virtual string? ToolTip { get; } + } + public class ToolboxComponentsCreatedEventArgs : EventArgs { +- public ToolboxComponentsCreatedEventArgs(IComponent[] components); ++ public ToolboxComponentsCreatedEventArgs(IComponent[]? components); +- public IComponent[] Components { get; } ++ public IComponent[]? Components { get; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Drawing2D.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Drawing2D.md new file mode 100644 index 00000000000..4a9e3471fc9 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Drawing2D.md @@ -0,0 +1,10 @@ +# System.Drawing.Drawing2D + +``` diff + namespace System.Drawing.Drawing2D { +- public enum LinearGradientMode ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public enum LinearGradientMode + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Imaging.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Imaging.md new file mode 100644 index 00000000000..66443b88c73 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Imaging.md @@ -0,0 +1,17 @@ +# System.Drawing.Imaging + +``` diff + namespace System.Drawing.Imaging { ++ public sealed class CachedBitmap : IDisposable { ++ public CachedBitmap(Bitmap bitmap, Graphics graphics); ++ public void Dispose(); ++ ~CachedBitmap(); ++ } +- [EditorAttribute("System.Drawing.Design.MetafileEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- public sealed class Metafile : Image ++ [EditorAttribute("System.Drawing.Design.MetafileEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public sealed class Metafile : Image + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Interop.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Interop.md new file mode 100644 index 00000000000..352d69c7c9d --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Interop.md @@ -0,0 +1,24 @@ +# System.Drawing.Interop + +``` diff ++namespace System.Drawing.Interop { ++ public struct LOGFONT { ++ public byte lfCharSet; ++ public byte lfClipPrecision; ++ public byte lfItalic; ++ public byte lfOutPrecision; ++ public byte lfPitchAndFamily; ++ public byte lfQuality; ++ public byte lfStrikeOut; ++ public byte lfUnderline; ++ public int lfEscapement; ++ public int lfHeight; ++ public int lfOrientation; ++ public int lfWeight; ++ public int lfWidth; ++ [UnscopedRefAttribute] ++ public Span lfFaceName { get; } ++ } ++} +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Printing.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Printing.md new file mode 100644 index 00000000000..e2f740497fb --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.Printing.md @@ -0,0 +1,26 @@ +# System.Drawing.Printing + +``` diff + namespace System.Drawing.Printing { +- public class InvalidPrinterException : SystemException { ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public class InvalidPrinterException : SystemException { +- protected InvalidPrinterException(SerializationInfo info, StreamingContext context); ++ [ObsoleteAttribute(DiagnosticId="SYSLIB0051")] ++ protected InvalidPrinterException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [ObsoleteAttribute(DiagnosticId="SYSLIB0051")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + [TypeConverterAttribute(typeof(MarginsConverter))] + public class Margins : ICloneable { +- public override bool Equals([NotNullWhenAttribute(true)] object obj); ++ public override bool Equals([NotNullWhenAttribute(true)] object? obj); +- public static bool operator ==(Margins m1, Margins m2); ++ public static bool operator ==(Margins? m1, Margins? m2); +- public static bool operator !=(Margins m1, Margins m2); ++ public static bool operator !=(Margins? m1, Margins? m2); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.md new file mode 100644 index 00000000000..08a18ab9d35 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Drawing.md @@ -0,0 +1,225 @@ +# System.Drawing + +``` diff + namespace System.Drawing { +- [EditorAttribute("System.Drawing.Design.BitmapEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- public sealed class Bitmap : Image ++ [EditorAttribute("System.Drawing.Design.BitmapEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public sealed class Bitmap : Image +- [EditorAttribute("System.Drawing.Design.ContentAlignmentEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- public enum ContentAlignment ++ [EditorAttribute("System.Drawing.Design.ContentAlignmentEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public enum ContentAlignment +- [EditorAttribute("System.Drawing.Design.FontEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- [TypeConverterAttribute(typeof(FontConverter))] +- public sealed class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable { ++ [EditorAttribute("System.Drawing.Design.FontEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeConverterAttribute(typeof(FontConverter))] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public sealed class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable { ++ public static Font FromLogFont(in LOGFONT logFont); ++ public static Font FromLogFont(in LOGFONT logFont, IntPtr hdc); ++ public void ToLogFont(out LOGFONT logFont); ++ public void ToLogFont(out LOGFONT logFont, Graphics graphics); + } + public class FontConverter : TypeConverter { +- public override bool CanConvertTo(ITypeDescriptorContext context, [NotNullWhenAttribute(true)] Type destinationType); ++ public override bool CanConvertTo(ITypeDescriptorContext? context, [NotNullWhenAttribute(true)] Type? destinationType); +- public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value); ++ public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value); +- public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType); ++ public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType); +- public override bool GetCreateInstanceSupported(ITypeDescriptorContext context); ++ public override bool GetCreateInstanceSupported(ITypeDescriptorContext? context); +- [RequiresUnreferencedCodeAttribute("The Type of value cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")] +- public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[]? attributes); ++ [RequiresUnreferencedCodeAttribute("The Type of value cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")] ++ public override PropertyDescriptorCollection? GetProperties(ITypeDescriptorContext? context, object value, Attribute[]? attributes); +- public override bool GetPropertiesSupported(ITypeDescriptorContext context); ++ public override bool GetPropertiesSupported(ITypeDescriptorContext? context); + public sealed class FontNameConverter : TypeConverter, IDisposable { +- public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value); ++ public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value); +- public override bool GetStandardValuesExclusive(ITypeDescriptorContext context); ++ public override bool GetStandardValuesExclusive(ITypeDescriptorContext? context); +- public override bool GetStandardValuesSupported(ITypeDescriptorContext context); ++ public override bool GetStandardValuesSupported(ITypeDescriptorContext? context); + } + } +- [FlagsAttribute] +- public enum FontStyle ++ [FlagsAttribute] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public enum FontStyle + public sealed class Graphics : MarshalByRefObject, IDeviceContext, IDisposable { ++ public void DrawCachedBitmap(CachedBitmap cachedBitmap, int x, int y); ++ public void DrawString(ReadOnlySpan s, Font font, Brush brush, PointF point); ++ public void DrawString(ReadOnlySpan s, Font font, Brush brush, PointF point, StringFormat? format); ++ public void DrawString(ReadOnlySpan s, Font font, Brush brush, RectangleF layoutRectangle); ++ public void DrawString(ReadOnlySpan s, Font font, Brush brush, RectangleF layoutRectangle, StringFormat? format); ++ public void DrawString(ReadOnlySpan s, Font font, Brush brush, float x, float y); ++ public void DrawString(ReadOnlySpan s, Font font, Brush brush, float x, float y, StringFormat? format); ++ public Region[] MeasureCharacterRanges(ReadOnlySpan text, Font font, RectangleF layoutRect, StringFormat? stringFormat); ++ public SizeF MeasureString(ReadOnlySpan text, Font font); ++ public SizeF MeasureString(ReadOnlySpan text, Font font, PointF origin, StringFormat? stringFormat); ++ public SizeF MeasureString(ReadOnlySpan text, Font font, SizeF layoutArea); ++ public SizeF MeasureString(ReadOnlySpan text, Font font, SizeF layoutArea, StringFormat? stringFormat); ++ public SizeF MeasureString(ReadOnlySpan text, Font font, SizeF layoutArea, StringFormat? stringFormat, out int charactersFitted, out int linesFilled); ++ public SizeF MeasureString(ReadOnlySpan text, Font font, int width); ++ public SizeF MeasureString(ReadOnlySpan text, Font font, int width, StringFormat? format); + } +- public enum GraphicsUnit ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public enum GraphicsUnit +- [EditorAttribute("System.Drawing.Design.IconEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- [TypeConverterAttribute(typeof(IconConverter))] +- public sealed class Icon : MarshalByRefObject, ICloneable, IDisposable, ISerializable { ++ [EditorAttribute("System.Drawing.Design.IconEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [TypeConverterAttribute(typeof(IconConverter))] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public sealed class Icon : MarshalByRefObject, ICloneable, IDisposable, ISerializable { ++ public static Icon? ExtractIcon(string filePath, int id, bool smallIcon = false); ++ public static Icon? ExtractIcon(string filePath, int id, int size); + } +- [EditorAttribute("System.Drawing.Design.ImageEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- [ImmutableObjectAttribute(true)] +- [TypeConverterAttribute(typeof(ImageConverter))] +- public abstract class Image : MarshalByRefObject, ICloneable, IDisposable, ISerializable ++ [EditorAttribute("System.Drawing.Design.ImageEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [ImmutableObjectAttribute(true)] ++ [TypeConverterAttribute(typeof(ImageConverter))] ++ [TypeForwardedFromAttribute("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ public abstract class Image : MarshalByRefObject, ICloneable, IDisposable, ISerializable + public class ImageConverter : TypeConverter { +- public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType); ++ public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType); + } + public class ImageFormatConverter : TypeConverter { +- public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType); ++ public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType); + } ++ public enum StockIconId { ++ Application = 2, ++ AudioFiles = 71, ++ AutoList = 49, ++ ClusteredDrive = 140, ++ Delete = 84, ++ DesktopPC = 94, ++ DeviceAudioPlayer = 102, ++ DeviceCamera = 100, ++ DeviceCellPhone = 99, ++ DeviceVideoCamera = 101, ++ DocumentNoAssociation = 0, ++ DocumentWithAssociation = 1, ++ Drive35 = 6, ++ Drive525 = 5, ++ DriveBD = 133, ++ DriveCD = 11, ++ DriveDVD = 59, ++ DriveFixed = 8, ++ DriveHDDVD = 132, ++ DriveNet = 9, ++ DriveNetDisabled = 10, ++ DriveRam = 12, ++ DriveRemovable = 7, ++ DriveUnknown = 58, ++ Error = 80, ++ Find = 22, ++ Folder = 3, ++ FolderBack = 75, ++ FolderFront = 76, ++ FolderOpen = 4, ++ Help = 23, ++ ImageFiles = 72, ++ Info = 79, ++ Internet = 104, ++ Key = 81, ++ Link = 29, ++ Lock = 47, ++ MediaAudioDVD = 85, ++ MediaBDR = 138, ++ MediaBDRE = 139, ++ MediaBDROM = 137, ++ MediaBlankCD = 69, ++ MediaBluRay = 90, ++ MediaCDAudio = 40, ++ MediaCDAudioPlus = 65, ++ MediaCDBurn = 68, ++ MediaCDR = 67, ++ MediaCDROM = 70, ++ MediaCDRW = 66, ++ MediaCompactFlash = 98, ++ MediaDVD = 60, ++ MediaDVDPlusR = 92, ++ MediaDVDPlusRW = 93, ++ MediaDVDR = 63, ++ MediaDVDRAM = 61, ++ MediaDVDROM = 64, ++ MediaDVDRW = 62, ++ MediaEnhancedCD = 87, ++ MediaEnhancedDVD = 88, ++ MediaHDDVD = 89, ++ MediaHDDVDR = 135, ++ MediaHDDVDRAM = 136, ++ MediaHDDVDROM = 134, ++ MediaMovieDVD = 86, ++ MediaSmartMedia = 97, ++ MediaSVCD = 56, ++ MediaVCD = 91, ++ MixedFiles = 74, ++ MobilePC = 95, ++ MyNetwork = 17, ++ NetworkConnect = 103, ++ Printer = 16, ++ PrinterFax = 52, ++ PrinterFaxNet = 53, ++ PrinterFile = 54, ++ PrinterNet = 50, ++ Recycler = 31, ++ RecyclerFull = 32, ++ Rename = 83, ++ Server = 15, ++ ServerShare = 51, ++ Settings = 106, ++ Share = 28, ++ Shield = 77, ++ SlowFile = 30, ++ Software = 82, ++ Stack = 55, ++ StuffedFolder = 57, ++ Users = 96, ++ VideoFiles = 73, ++ Warning = 78, ++ World = 13, ++ ZipFile = 105, ++ } ++ [FlagsAttribute] ++ public enum StockIconOptions { ++ Default = 0, ++ LinkOverlay = 32768, ++ Selected = 65536, ++ ShellIconSize = 4, ++ SmallIcon = 1, ++ } + public static class SystemIcons { ++ public static Icon GetStockIcon(StockIconId stockIcon, StockIconOptions options = StockIconOptions.Default); ++ public static Icon GetStockIcon(StockIconId stockIcon, int size); + } + [AttributeUsageAttribute(4)] + public class ToolboxBitmapAttribute : Attribute { +- public override bool Equals([NotNullWhenAttribute(true)] object? value); ++ public override bool Equals([NotNullWhenAttribute(true)] object value); +- public Image? GetImage(object? component); ++ public Image GetImage(object component); +- public Image? GetImage(object? component, bool large); ++ public Image GetImage(object component, bool large); +- public Image? GetImage(Type type, string? imgName, bool large); ++ public Image GetImage(Type type, string imgName, bool large); +- public static Image? GetImageFromResource(Type t, string? imageName, bool large); ++ public static Image GetImageFromResource(Type t, string imageName, bool large); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.IO.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.IO.md new file mode 100644 index 00000000000..570dac1196a --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.IO.md @@ -0,0 +1,17 @@ +# System.IO + +``` diff + namespace System.IO { + public class FileFormatException : FormatException { +- protected FileFormatException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected FileFormatException(SerializationInfo info, StreamingContext context); +- public override void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public override void GetObjectData(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Media.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Media.md new file mode 100644 index 00000000000..deedef3c41b --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Media.md @@ -0,0 +1,14 @@ +# System.Media + +``` diff + namespace System.Media { + [ToolboxItemAttribute(false)] + public class SoundPlayer : Component, ISerializable { +- protected SoundPlayer(SerializationInfo serializationInfo, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected SoundPlayer(SerializationInfo serializationInfo, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Resources.Extensions.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Resources.Extensions.md new file mode 100644 index 00000000000..272d336faed --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Resources.Extensions.md @@ -0,0 +1,12 @@ +# System.Resources.Extensions + +``` diff + namespace System.Resources.Extensions { + public sealed class PreserializedResourceWriter : IDisposable, IResourceWriter { +- public void AddBinaryFormattedResource(string name, byte[] value, string? typeName = null); ++ [ObsoleteAttribute("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void AddBinaryFormattedResource(string name, byte[] value, string? typeName = null); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Resources.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Resources.md new file mode 100644 index 00000000000..fd16e06ef66 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Resources.md @@ -0,0 +1,61 @@ +# System.Resources + +``` diff + namespace System.Resources { + public sealed class ResXDataNode : ISerializable { +- public ResXDataNode(string name, object value); ++ public ResXDataNode(string name, object? value); +- public ResXDataNode(string name, object value, Func typeNameConverter); ++ public ResXDataNode(string name, object? value, Func? typeNameConverter); +- public ResXDataNode(string name, ResXFileRef fileRef, Func typeNameConverter); ++ public ResXDataNode(string name, ResXFileRef fileRef, Func? typeNameConverter); +- public string Comment { get; set; } ++ [AllowNullAttribute] ++ public string Comment { get; set; } +- public object GetValue(AssemblyName[] names); ++ public object GetValue(AssemblyName[]? names); +- public string GetValueTypeName(AssemblyName[] names); ++ public string GetValueTypeName(AssemblyName[]? names); + } + [TypeConverterAttribute(typeof(ResXFileRef.Converter))] + public class ResXFileRef { +- public Encoding TextFileEncoding { get; } ++ public Encoding? TextFileEncoding { get; } + public class Converter : TypeConverter { +- public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType); ++ public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType); + } + } + public class ResXResourceReader : IDisposable, IEnumerable, IResourceReader { +- public ResXResourceReader(string fileName, ITypeResolutionService typeResolver); ++ public ResXResourceReader(string fileName, ITypeResolutionService? typeResolver); +- public string BasePath { get; set; } ++ public string? BasePath { get; set; } +- public static ResXResourceReader FromFileContents(string fileContents, ITypeResolutionService typeResolver); ++ public static ResXResourceReader FromFileContents(string fileContents, ITypeResolutionService? typeResolver); + } + public class ResXResourceWriter : IDisposable, IResourceWriter { +- public ResXResourceWriter(Stream stream, Func typeNameConverter); ++ public ResXResourceWriter(Stream stream, Func typeNameConverter); +- public ResXResourceWriter(TextWriter textWriter, Func typeNameConverter); ++ public ResXResourceWriter(TextWriter textWriter, Func typeNameConverter); +- public ResXResourceWriter(string fileName, Func typeNameConverter); ++ public ResXResourceWriter(string fileName, Func typeNameConverter); +- public string BasePath { get; set; } ++ public string? BasePath { get; set; } +- public virtual void AddAlias(string aliasName, AssemblyName assemblyName); ++ public virtual void AddAlias(string? aliasName, AssemblyName assemblyName); +- public void AddMetadata(string name, object value); ++ public void AddMetadata(string name, object? value); +- public void AddMetadata(string name, string value); ++ public void AddMetadata(string name, string? value); +- public void AddResource(string name, byte[] value); ++ public void AddResource(string name, byte[]? value); +- public void AddResource(string name, object value); ++ public void AddResource(string name, object? value); +- public void AddResource(string name, string value); ++ public void AddResource(string name, string? value); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Security.Cryptography.Xml.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Security.Cryptography.Xml.md new file mode 100644 index 00000000000..5dfdedc0aff --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Security.Cryptography.Xml.md @@ -0,0 +1,242 @@ +# System.Security.Cryptography.Xml + +``` diff + namespace System.Security.Cryptography.Xml { + public sealed class CipherData { +- public CipherReference CipherReference { get; set; } ++ [DisallowNullAttribute] ++ public CipherReference CipherReference { get; set; } +- public byte[] CipherValue { get; set; } ++ [DisallowNullAttribute] ++ public byte[] CipherValue { get; set; } +- public void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public void LoadXml(XmlElement value); + } + public sealed class CipherReference : EncryptedReference { +- public override void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public override void LoadXml(XmlElement value); + } + public sealed class EncryptedData : EncryptedType { +- public override void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public override void LoadXml(XmlElement value); + } + public sealed class EncryptedKey : EncryptedType { +- public string CarriedKeyName { get; set; } ++ public string? CarriedKeyName { get; set; } +- public string Recipient { get; set; } ++ [AllowNullAttribute] ++ public string Recipient { get; set; } +- public override void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public override void LoadXml(XmlElement value); + } + public abstract class EncryptedReference { +- protected string ReferenceType { get; set; } ++ protected string? ReferenceType { get; set; } +- public virtual void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public virtual void LoadXml(XmlElement value); + } + public abstract class EncryptedType { +- public KeyInfo KeyInfo { get; set; } ++ [AllowNullAttribute] ++ public KeyInfo KeyInfo { get; set; } +- public abstract void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public abstract void LoadXml(XmlElement value); + } + public class EncryptedXml { +- public EncryptedXml(); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public EncryptedXml(); +- public EncryptedXml(XmlDocument document); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public EncryptedXml(XmlDocument document); +- public EncryptedXml(XmlDocument document, Evidence evidence); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public EncryptedXml(XmlDocument document, Evidence? evidence); +- public Evidence DocumentEvidence { get; set; } ++ public Evidence? DocumentEvidence { get; set; } +- public string Recipient { get; set; } ++ [AllowNullAttribute] ++ public string Recipient { get; set; } +- public XmlResolver Resolver { get; set; } ++ public XmlResolver? Resolver { get; set; } +- public virtual byte[] DecryptEncryptedKey(EncryptedKey encryptedKey); ++ public virtual byte[]? DecryptEncryptedKey(EncryptedKey encryptedKey); +- public virtual byte[] GetDecryptionIV(EncryptedData encryptedData, string symmetricAlgorithmUri); ++ public virtual byte[] GetDecryptionIV(EncryptedData encryptedData, string? symmetricAlgorithmUri); +- public virtual SymmetricAlgorithm GetDecryptionKey(EncryptedData encryptedData, string symmetricAlgorithmUri); ++ public virtual SymmetricAlgorithm? GetDecryptionKey(EncryptedData encryptedData, string? symmetricAlgorithmUri); +- public virtual XmlElement GetIdElement(XmlDocument document, string idValue); ++ public virtual XmlElement? GetIdElement(XmlDocument document, string idValue); + } + public sealed class EncryptionProperty { +- public XmlElement PropertyElement { get; set; } ++ [DisallowNullAttribute] ++ public XmlElement PropertyElement { get; set; } + } + public sealed class EncryptionPropertyCollection : ICollection, IEnumerable, IList { +- object System.Collections.IList.this[int index] { get; set; } ++ object? IList.this[int index] { get; set; } + } + public class KeyInfo : IEnumerable { +- public string Id { get; set; } ++ public string? Id { get; set; } +- public void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public void LoadXml(XmlElement value); + } +- public class KeyInfoEncryptedKey : KeyInfoClause { ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public class KeyInfoEncryptedKey : KeyInfoClause { +- public EncryptedKey EncryptedKey { get; set; } ++ public EncryptedKey? EncryptedKey { get; set; } + } + public class KeyInfoNode : KeyInfoClause { +- public XmlElement Value { get; set; } ++ public XmlElement? Value { get; set; } + } + public class Reference { +- public void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public void LoadXml(XmlElement value); + } + public sealed class ReferenceList : 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; } +- public int Add(object value); ++ public int Add(object? value); +- public bool Contains(object value); ++ public bool Contains(object? value); +- public int IndexOf(object value); ++ public int IndexOf(object? value); +- public void Insert(int index, object value); ++ public void Insert(int index, object? value); +- public EncryptedReference Item(int index); ++ public EncryptedReference? Item(int index); +- public void Remove(object value); ++ public void Remove(object? value); + } + public class Signature { +- public string Id { get; set; } ++ public string? Id { get; set; } +- public byte[] SignatureValue { get; set; } ++ public byte[]? SignatureValue { get; set; } +- public SignedInfo SignedInfo { get; set; } ++ public SignedInfo? SignedInfo { get; set; } +- public void LoadXml(XmlElement value); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public void LoadXml(XmlElement value); + } +- public class SignedInfo : ICollection, IEnumerable { ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public class SignedInfo : ICollection, IEnumerable { +- public string CanonicalizationMethod { get; set; } ++ [AllowNullAttribute] ++ public string CanonicalizationMethod { get; set; } +- public string Id { get; set; } ++ public string? Id { get; set; } +- public string SignatureLength { get; set; } ++ public string? SignatureLength { get; set; } +- public string SignatureMethod { get; set; } ++ public string? SignatureMethod { get; set; } + } + public class SignedXml { +- protected string m_strSigningKeyName; ++ protected string? m_strSigningKeyName; +- public SignedXml(); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public SignedXml(); +- public SignedXml(XmlDocument document); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public SignedXml(XmlDocument document); +- public SignedXml(XmlElement elem); ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public SignedXml(XmlElement elem); +- public EncryptedXml EncryptedXml { get; set; } ++ [AllowNullAttribute] ++ public EncryptedXml EncryptedXml { get; set; } +- public string SignatureLength { get; } ++ public string? SignatureLength { get; } +- public string SignatureMethod { get; } ++ public string? SignatureMethod { get; } +- public byte[] SignatureValue { get; } ++ public byte[]? SignatureValue { get; } +- public SignedInfo SignedInfo { get; } ++ public SignedInfo? SignedInfo { get; } +- public AsymmetricAlgorithm SigningKey { get; set; } ++ public AsymmetricAlgorithm? SigningKey { get; set; } +- public string SigningKeyName { get; set; } ++ public string? SigningKeyName { get; set; } +- public bool CheckSignatureReturningKey(out AsymmetricAlgorithm signingKey); ++ public bool CheckSignatureReturningKey(out AsymmetricAlgorithm? signingKey); +- public virtual XmlElement GetIdElement(XmlDocument document, string idValue); ++ public virtual XmlElement? GetIdElement(XmlDocument? document, string idValue); +- protected virtual AsymmetricAlgorithm GetPublicKey(); ++ protected virtual AsymmetricAlgorithm? GetPublicKey(); + } + public abstract class Transform { +- public string Algorithm { get; set; } ++ public string? Algorithm { get; set; } +- public XmlElement Context { get; set; } ++ public XmlElement? Context { get; set; } +- public XmlResolver Resolver { set; } ++ public XmlResolver? Resolver { set; } +- protected abstract XmlNodeList GetInnerXml(); ++ protected abstract XmlNodeList? GetInnerXml(); + } +- public class XmlDecryptionTransform : Transform { ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public class XmlDecryptionTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); +- protected virtual bool IsTargetElement(XmlElement inputElement, string idValue); ++ protected virtual bool IsTargetElement(XmlElement? inputElement, string idValue); + } + public class XmlDsigBase64Transform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigC14NTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigEnvelopedSignatureTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigExcC14NTransform : Transform { +- public XmlDsigExcC14NTransform(bool includeComments, string inclusiveNamespacesPrefixList); ++ public XmlDsigExcC14NTransform(bool includeComments, string? inclusiveNamespacesPrefixList); +- public string InclusiveNamespacesPrefixList { get; set; } ++ public string? InclusiveNamespacesPrefixList { get; set; } +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigXPathTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + public class XmlDsigXsltTransform : Transform { +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } +- public class XmlLicenseTransform : Transform { ++ [RequiresUnreferencedCodeAttribute("The algorithm implementations referenced in the XML payload might be removed. Ensure the required algorithm implementations are preserved in your application.")] ++ public class XmlLicenseTransform : Transform { +- public IRelDecryptor Decryptor { get; set; } ++ public IRelDecryptor? Decryptor { get; set; } +- protected override XmlNodeList GetInnerXml(); ++ protected override XmlNodeList? GetInnerXml(); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Security.Policy.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Security.Policy.md new file mode 100644 index 00000000000..ff806aab95f --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Security.Policy.md @@ -0,0 +1,19 @@ +# System.Security.Policy + +``` diff + namespace System.Security.Policy { + public sealed class Hash : EvidenceBase, ISerializable { +- public void GetObjectData(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ public void GetObjectData(SerializationInfo info, StreamingContext context); + } + public class PolicyException : SystemException { +- protected PolicyException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected PolicyException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Security.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Security.md new file mode 100644 index 00000000000..b77e05f455a --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Security.md @@ -0,0 +1,14 @@ +# System.Security + +``` diff + namespace System.Security { + [ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] + public class HostProtectionException : SystemException { +- protected HostProtectionException(SerializationInfo info, StreamingContext context); ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")] ++ protected HostProtectionException(SerializationInfo info, StreamingContext context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Controls.Ribbon.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Controls.Ribbon.md new file mode 100644 index 00000000000..990d9c7a9fa --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Controls.Ribbon.md @@ -0,0 +1,11 @@ +# System.Windows.Controls.Ribbon + +``` diff + namespace System.Windows.Controls.Ribbon { + public class RibbonGalleryItem : ContentControl { ++ protected internal virtual void OnSelected(RoutedEventArgs e); ++ protected internal virtual void OnUnselected(RoutedEventArgs e); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Forms.Design.Behavior.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Forms.Design.Behavior.md new file mode 100644 index 00000000000..7f16139c020 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Forms.Design.Behavior.md @@ -0,0 +1,33 @@ +# 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; } + } + public sealed class BehaviorService : IDisposable { +- public Behavior CurrentBehavior { get; } ++ public Behavior? CurrentBehavior { get; } +- public event BehaviorDragDropEventHandler BeginDrag; ++ public event BehaviorDragDropEventHandler? BeginDrag; +- public event BehaviorDragDropEventHandler EndDrag; ++ public event BehaviorDragDropEventHandler? EndDrag; +- public event EventHandler Synchronize; ++ public event EventHandler? Synchronize; +- public Behavior GetNextBehavior(Behavior behavior); ++ public Behavior? GetNextBehavior(Behavior behavior); +- public Behavior PopBehavior(Behavior behavior); ++ public Behavior? PopBehavior(Behavior behavior); + } + public sealed class SnapLine { +- public SnapLine(SnapLineType type, int offset, string filter); ++ public SnapLine(SnapLineType type, int offset, string? filter); +- public SnapLine(SnapLineType type, int offset, string filter, SnapLinePriority priority); ++ public SnapLine(SnapLineType type, int offset, string? filter, SnapLinePriority priority); +- public string Filter { get; } ++ public string? Filter { get; } + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Forms.Design.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Forms.Design.md new file mode 100644 index 00000000000..fa66507ec23 --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Forms.Design.md @@ -0,0 +1,56 @@ +# System.Windows.Forms.Design + +``` diff + namespace System.Windows.Forms.Design { + public class ControlDesigner : ComponentDesigner { + public class ControlDesignerAccessibleObject : AccessibleObject { +- public override string Description { get; } ++ public override string? Description { get; } +- public override AccessibleObject Parent { get; } ++ public override AccessibleObject? Parent { get; } +- public override string Value { get; } ++ public override string? Value { get; } +- public override AccessibleObject GetChild(int index); ++ public override AccessibleObject? GetChild(int index); +- public override AccessibleObject GetFocused(); ++ public override AccessibleObject? GetFocused(); +- public override AccessibleObject GetSelected(); ++ public override AccessibleObject? GetSelected(); +- public override AccessibleObject HitTest(int x, int y); ++ public override AccessibleObject? HitTest(int x, int y); + } + } + public sealed class EventHandlerService : IEventHandlerService { +- public object GetHandler(Type handlerType); ++ public object? GetHandler(Type handlerType); + } + [CLSCompliantAttribute(false)] + public class FolderNameEditor : UITypeEditor { +- public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value); ++ public override object? EditValue(ITypeDescriptorContext? context, IServiceProvider provider, object? value); +- public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context); ++ public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext? context); + protected sealed class FolderBrowser : Component { +- public string Description { get; set; } ++ [AllowNullAttribute] ++ public string Description { get; set; } +- public DialogResult ShowDialog(IWin32Window owner); ++ public DialogResult ShowDialog(IWin32Window? owner); + } + } + public class ImageListCodeDomSerializer : CodeDomSerializer { +- public override object Deserialize(IDesignerSerializationManager manager, object codeObject); ++ public override object? Deserialize(IDesignerSerializationManager manager, object codeObject); +- public override object Serialize(IDesignerSerializationManager manager, object value); ++ public override object? Serialize(IDesignerSerializationManager manager, object value); + } + [CLSCompliantAttribute(false)] + public class ImageListImageEditor : ImageEditor { +- public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value); ++ public override object? EditValue(ITypeDescriptorContext? context, IServiceProvider provider, object? value); +- public override bool GetPaintValueSupported(ITypeDescriptorContext context); ++ public override bool GetPaintValueSupported(ITypeDescriptorContext? context); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Forms.md b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Forms.md new file mode 100644 index 00000000000..d757b2ed16b --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/Microsoft.WindowsDesktop.App/8.0.0_System.Windows.Forms.md @@ -0,0 +1,2587 @@ +# System.Windows.Forms + +``` diff + namespace System.Windows.Forms { +- public class AccessibleObject : StandardOleMarshalObject, IAccessible, Interop.Ole32.IOleWindow, Interop.Ole32.IServiceProvider, Interop.Oleaut32.IEnumVariant, Interop.UiaCore.IAccessibleEx, Interop.UiaCore.IExpandCollapseProvider, Interop.UiaCore.IGridItemProvider, Interop.UiaCore.IGridProvider, Interop.UiaCore.IInvokeProvider, Interop.UiaCore.ILegacyIAccessibleProvider, Interop.UiaCore.IMultipleViewProvider, Interop.UiaCore.IRangeValueProvider, Interop.UiaCore.IRawElementProviderFragment, Interop.UiaCore.IRawElementProviderFragmentRoot, Interop.UiaCore.IRawElementProviderHwndOverride, Interop.UiaCore.IRawElementProviderSimple, Interop.UiaCore.IScrollItemProvider, Interop.UiaCore.ISelectionItemProvider, Interop.UiaCore.ISelectionProvider, Interop.UiaCore.ITableItemProvider, Interop.UiaCore.ITableProvider, Interop.UiaCore.ITextProvider, Interop.UiaCore.ITextProvider2, Interop.UiaCore.IToggleProvider, Interop.UiaCore.IValueProvider, IReflect ++ public class AccessibleObject : StandardOleMarshalObject, IAccessible, IEnumVARIANT.Interface, Interop.UiaCore.IAccessibleEx, Interop.UiaCore.IExpandCollapseProvider, Interop.UiaCore.IGridItemProvider, Interop.UiaCore.IGridProvider, Interop.UiaCore.IInvokeProvider, Interop.UiaCore.ILegacyIAccessibleProvider, Interop.UiaCore.IMultipleViewProvider, Interop.UiaCore.IRangeValueProvider, Interop.UiaCore.IRawElementProviderFragment, Interop.UiaCore.IRawElementProviderFragmentRoot, Interop.UiaCore.IRawElementProviderHwndOverride, Interop.UiaCore.IRawElementProviderSimple, Interop.UiaCore.IScrollItemProvider, Interop.UiaCore.ISelectionItemProvider, Interop.UiaCore.ISelectionProvider, Interop.UiaCore.ITableItemProvider, Interop.UiaCore.ITableProvider, Interop.UiaCore.ITextProvider, Interop.UiaCore.ITextProvider2, Interop.UiaCore.IToggleProvider, Interop.UiaCore.IValueProvider, IOleWindow.Interface, IReflect, IServiceProvider.Interface + public sealed class Application { +- public static string CompanyName { get; } ++ public static string? CompanyName { get; } +- public static string ProductName { get; } ++ public static string? ProductName { get; } +- public static event EventHandler ApplicationExit; ++ public static event EventHandler? ApplicationExit; +- [EditorBrowsableAttribute(2)] +- public static event EventHandler EnterThreadModal; ++ [EditorBrowsableAttribute(2)] ++ public static event EventHandler? EnterThreadModal; +- public static event EventHandler Idle; ++ public static event EventHandler? Idle; +- [EditorBrowsableAttribute(2)] +- public static event EventHandler LeaveThreadModal; ++ [EditorBrowsableAttribute(2)] ++ public static event EventHandler? LeaveThreadModal; +- public static event ThreadExceptionEventHandler ThreadException; ++ public static event ThreadExceptionEventHandler? ThreadException; +- public static event EventHandler ThreadExit; ++ public static event EventHandler? ThreadExit; +- public static void AddMessageFilter(IMessageFilter value); ++ public static void AddMessageFilter(IMessageFilter? value); +- [EditorBrowsableAttribute(2)] +- public static void Exit(CancelEventArgs e); ++ [EditorBrowsableAttribute(2)] ++ public static void Exit(CancelEventArgs? e); +- [EditorBrowsableAttribute(2)] +- public static void RegisterMessageLoop(Application.MessageLoopCallback callback); ++ [EditorBrowsableAttribute(2)] ++ public static void RegisterMessageLoop(Application.MessageLoopCallback? callback); + } + public class AutoCompleteStringCollection : 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; } +- 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); + } + [DefaultEventAttribute("Enter")] + [DesignTimeVisibleAttribute(false)] + [DesignerAttribute("System.Windows.Forms.Design.AxHostDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [ToolboxItemAttribute(false)] + public abstract class AxHost : Control, ICustomTypeDescriptor, ISupportInitialize { +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public override Cursor Cursor { get; set; } ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override Cursor Cursor { get; set; } +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public override Font Font { get; set; } ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override Font Font { get; set; } +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public override string Text { get; set; } ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override string Text { get; set; } +- [TypeConverterAttribute(typeof(TypeConverter))] +- public class State : ISerializable { ++ [TypeConverterAttribute(typeof(TypeConverter))] ++ public class State : IDisposable, ISerializable { ++ public void Dispose(); ++ protected virtual void Dispose(bool disposing); +- void ISerializable.GetObjectData(SerializationInfo si, StreamingContext context); ++ void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context); + } + } + public class BaseCollection : MarshalByRefObject, ICollection, IEnumerable { +- protected virtual ArrayList List { get; } ++ protected virtual ArrayList? List { get; } + } +- [RequiresPreviewFeaturesAttribute] +- public abstract class BindableComponent : Component, IBindableComponent, IComponent, IDisposable ++ public abstract class BindableComponent : Component, IBindableComponent, IComponent, IDisposable + [DefaultEventAttribute("CollectionChanged")] + public class BindingContext : ICollection, IEnumerable { +- int System.Collections.ICollection.Count { get; } ++ int ICollection.Count { get; } +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- public BindingManagerBase this[object dataSource, string dataMember] { get; } ++ public BindingManagerBase this[object dataSource, string? dataMember] { get; } +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- [SRDescriptionAttribute("collectionChangedEventDescr")] +- public event CollectionChangeEventHandler CollectionChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ [SRDescriptionAttribute("collectionChangedEventDescr")] ++ public event CollectionChangeEventHandler? CollectionChanged; +- public bool Contains(object dataSource, string dataMember); ++ public bool Contains(object dataSource, string? dataMember); +- public static void UpdateBinding(BindingContext newBindingContext, Binding binding); ++ public static void UpdateBinding(BindingContext? newBindingContext, Binding binding); + } + public abstract class BindingManagerBase { +- public abstract object Current { get; } ++ public abstract object? Current { get; } + } +- public struct BindingMemberInfo : IEquatable { ++ public readonly struct BindingMemberInfo : IEquatable { +- public BindingMemberInfo(string dataMember); ++ public BindingMemberInfo(string? dataMember); +- public override bool Equals(object otherObject); ++ public override bool Equals(object? otherObject); + } + [DefaultEventAttribute("CollectionChanged")] + public class BindingsCollection : BaseCollection { +- [SRDescriptionAttribute("collectionChangedEventDescr")] +- public event CollectionChangeEventHandler CollectionChanged; ++ [SRDescriptionAttribute("collectionChangedEventDescr")] ++ public event CollectionChangeEventHandler? CollectionChanged; +- [SRDescriptionAttribute("collectionChangingEventDescr")] +- public event CollectionChangeEventHandler CollectionChanging; ++ [SRDescriptionAttribute("collectionChangingEventDescr")] ++ public event CollectionChangeEventHandler? CollectionChanging; + } + [DesignerAttribute("System.Windows.Forms.Design.ButtonBaseDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + public abstract class ButtonBase : Control, ICommandBindingTargetProvider { +- [BindableAttribute(true)] +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [RequiresPreviewFeaturesAttribute] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandComponentCommandDescr")] +- public ICommand? Command { get; set; } ++ [BindableAttribute(true)] ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandComponentCommandDescr")] ++ public ICommand? Command { get; set; } +- [BindableAttribute(true)] +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandComponentCommandParameterDescr")] +- public object? CommandParameter { [RequiresPreviewFeaturesAttribute] get; [RequiresPreviewFeaturesAttribute] set; } ++ [BindableAttribute(true)] ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandComponentCommandParameterDescr")] ++ public object? CommandParameter { get; set; } +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandCanExecuteChangedEventDescr")] +- public event EventHandler? CommandCanExecuteChanged; ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandCanExecuteChangedEventDescr")] ++ public event EventHandler? CommandCanExecuteChanged; +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandChangedEventDescr")] +- public event EventHandler? CommandChanged; ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandChangedEventDescr")] ++ public event EventHandler? CommandChanged; +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandParameterChangedEventDescr")] +- public event EventHandler? CommandParameterChanged; ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandParameterChangedEventDescr")] ++ public event EventHandler? CommandParameterChanged; +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- protected virtual void OnCommandCanExecuteChanged(EventArgs e); ++ [EditorBrowsableAttribute(2)] ++ protected virtual void OnCommandCanExecuteChanged(EventArgs e); +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- protected virtual void OnCommandChanged(EventArgs e); ++ [EditorBrowsableAttribute(2)] ++ protected virtual void OnCommandChanged(EventArgs e); +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- protected virtual void OnCommandParameterChanged(EventArgs e); ++ [EditorBrowsableAttribute(2)] ++ protected virtual void OnCommandParameterChanged(EventArgs e); +- [RequiresPreviewFeaturesAttribute] +- protected virtual void OnRequestCommandExecute(EventArgs e); ++ protected virtual void OnRequestCommandExecute(EventArgs e); + public class ButtonBaseAccessibleObject : Control.ControlAccessibleObject { ++ public override string KeyboardShortcut { get; } ++ public override string Name { get; } + } + } + [LookupBindingPropertiesAttribute] + [SRDescriptionAttribute("DescriptionCheckedListBox")] + public class CheckedListBox : ListBox { +- [DesignerSerializationVisibilityAttribute(2)] +- [EditorAttribute("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] +- [LocalizableAttribute(true)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ListBoxItemsDescr")] +- public new CheckedListBox.ObjectCollection Items { get; } ++ [DesignerSerializationVisibilityAttribute(2)] ++ [EditorAttribute("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] ++ [LocalizableAttribute(true)] ++ [MergablePropertyAttribute(false)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ListBoxItemsDescr")] ++ public new CheckedListBox.ObjectCollection Items { get; } + } + [DefaultBindingPropertyAttribute("Text")] + [DefaultEventAttribute("SelectedIndexChanged")] + [DefaultPropertyAttribute("Items")] + [DesignerAttribute("System.Windows.Forms.Design.ComboBoxDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionComboBox")] + public class ComboBox : ListControl { +- [BrowsableAttribute(true)] +- [DesignerSerializationVisibilityAttribute(2)] +- [EditorAttribute("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] +- [EditorBrowsableAttribute(0)] +- [LocalizableAttribute(true)] +- [SRDescriptionAttribute("ComboBoxAutoCompleteCustomSourceDescr")] +- public AutoCompleteStringCollection AutoCompleteCustomSource { get; set; } ++ [BrowsableAttribute(true)] ++ [DesignerSerializationVisibilityAttribute(2)] ++ [EditorAttribute("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] ++ [EditorBrowsableAttribute(0)] ++ [LocalizableAttribute(true)] ++ [SRDescriptionAttribute("ComboBoxAutoCompleteCustomSourceDescr")] ++ [AllowNullAttribute] ++ public AutoCompleteStringCollection AutoCompleteCustomSource { get; set; } +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public override Image BackgroundImage { get; set; } ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public override Image? BackgroundImage { get; set; } +- [AttributeProviderAttribute(typeof(IListSource))] +- [DefaultValueAttribute(null)] +- [RefreshPropertiesAttribute(2)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ListControlDataSourceDescr")] +- public new object DataSource { get; set; } ++ [AttributeProviderAttribute(typeof(IListSource))] ++ [DefaultValueAttribute(null)] ++ [RefreshPropertiesAttribute(2)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ListControlDataSourceDescr")] ++ public new object? DataSource { get; set; } +- [BindableAttribute(true)] +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRDescriptionAttribute("ComboBoxSelectedItemDescr")] +- public object SelectedItem { get; set; } ++ [BindableAttribute(true)] ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRDescriptionAttribute("ComboBoxSelectedItemDescr")] ++ public object? SelectedItem { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRDescriptionAttribute("ComboBoxSelectedTextDescr")] +- public string SelectedText { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRDescriptionAttribute("ComboBoxSelectedTextDescr")] ++ [AllowNullAttribute] ++ public string SelectedText { get; set; } +- [BindableAttribute(true)] +- [LocalizableAttribute(true)] +- public override string Text { get; set; } ++ [BindableAttribute(true)] ++ [LocalizableAttribute(true)] ++ [AllowNullAttribute] ++ public override string Text { get; set; } +- [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; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler DoubleClick; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? DoubleClick; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("drawItemEventDescr")] +- public event DrawItemEventHandler DrawItem; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("drawItemEventDescr")] ++ public event DrawItemEventHandler? DrawItem; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ComboBoxOnDropDownDescr")] +- public event EventHandler DropDown; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ComboBoxOnDropDownDescr")] ++ public event EventHandler? DropDown; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ComboBoxOnDropDownClosedDescr")] +- public event EventHandler DropDownClosed; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ComboBoxOnDropDownClosedDescr")] ++ public event EventHandler? DropDownClosed; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ComboBoxDropDownStyleChangedDescr")] +- public event EventHandler DropDownStyleChanged; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ComboBoxDropDownStyleChangedDescr")] ++ public event EventHandler? DropDownStyleChanged; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("measureItemEventDescr")] +- public event MeasureItemEventHandler MeasureItem; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("measureItemEventDescr")] ++ public event MeasureItemEventHandler? MeasureItem; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler PaddingChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? PaddingChanged; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event PaintEventHandler Paint; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event PaintEventHandler? Paint; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("selectedIndexChangedEventDescr")] +- public event EventHandler SelectedIndexChanged; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("selectedIndexChangedEventDescr")] ++ public event EventHandler? SelectedIndexChanged; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("selectionChangeCommittedEventDescr")] +- public event EventHandler SelectionChangeCommitted; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("selectionChangeCommittedEventDescr")] ++ public event EventHandler? SelectionChangeCommitted; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ComboBoxOnTextUpdateDescr")] +- public event EventHandler TextUpdate; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ComboBoxOnTextUpdateDescr")] ++ public event EventHandler? TextUpdate; +- [ObsoleteAttribute("This method has been deprecated. There is no replacement. https://go.microsoft.com/fwlink/?linkid=14202")] +- protected virtual void AddItemsCore(object[] value); ++ [ObsoleteAttribute("This method has been deprecated. There is no replacement. https://go.microsoft.com/fwlink/?linkid=14202")] ++ protected virtual void AddItemsCore(object[]? value); +- public int FindString(string s); ++ public int FindString(string? s); +- public int FindString(string s, int startIndex); ++ public int FindString(string? s, int startIndex); +- public int FindStringExact(string s); ++ public int FindStringExact(string? s); +- public int FindStringExact(string s, int startIndex); ++ public int FindStringExact(string? s, int startIndex); + [ListBindableAttribute(false)] + public class ObjectCollection : ICollection, IComparer, IEnumerable, IList { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- public virtual object this[int index] { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ public virtual object? this[int index] { get; set; } +- public bool Contains(object value); ++ public bool Contains(object? value); +- public int IndexOf(object value); ++ public int IndexOf(object? value); +- public void Insert(int index, object item); ++ public void Insert(int index, object? item); +- public void Remove(object value); ++ public void Remove(object? value); +- int IComparer.Compare(ComboBox.ObjectCollection.Entry entry1, ComboBox.ObjectCollection.Entry entry2); ++ int IComparer.Compare(ComboBox.ObjectCollection.Entry? entry1, ComboBox.ObjectCollection.Entry? entry2); +- int IList.Add(object item); ++ int IList.Add(object? item); + } + } + [DefaultEventAttribute("Opening")] + [SRDescriptionAttribute("DescriptionContextMenuStrip")] + public class ContextMenuStrip : ToolStripDropDownMenu { ++ protected override void OnClosed(ToolStripDropDownClosedEventArgs e); ++ protected override void OnOpened(EventArgs e); + } +- [DefaultEventAttribute("Click")] +- [DefaultPropertyAttribute("Text")] +- [DesignerAttribute("System.Windows.Forms.Design.ControlDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- [DesignerSerializerAttribute("System.Windows.Forms.Design.ControlCodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.ComponentModel.Design.Serialization.CodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- [ToolboxItemFilterAttribute("System.Windows.Forms")] +- public class Control : Component, IArrangedElement, IBindableComponent, IComponent, IDisposable, IDropTarget, IHandle, IKeyboardToolTip, Interop.Ole32.IOleControl, Interop.Ole32.IOleInPlaceActiveObject, Interop.Ole32.IOleInPlaceObject, Interop.Ole32.IOleObject, Interop.Ole32.IOleWindow, Interop.Ole32.IPersist, Interop.Ole32.IPersistStorage, Interop.Ole32.IPersistStreamInit, Interop.Ole32.IQuickActivate, Interop.Ole32.IViewObject, Interop.Ole32.IViewObject2, Interop.Oleaut32.IPersistPropertyBag, ISupportOleDropSource, ISynchronizeInvoke, IWin32Window { ++ [DefaultEventAttribute("Click")] ++ [DefaultPropertyAttribute("Text")] ++ [DesignerAttribute("System.Windows.Forms.Design.ControlDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [DesignerSerializerAttribute("System.Windows.Forms.Design.ControlCodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.ComponentModel.Design.Serialization.CodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [ToolboxItemFilterAttribute("System.Windows.Forms")] ++ public class Control : Component, IArrangedElement, IBindableComponent, IComponent, IDisposable, IDropTarget, IHandle, IKeyboardToolTip, IOleControl.Interface, IOleInPlaceActiveObject.Interface, IOleInPlaceObject.Interface, IOleObject.Interface, IOleWindow.Interface, IPersist.Interface, IPersistPropertyBag.Interface, IPersistStorage.Interface, IPersistStreamInit.Interface, IQuickActivate.Interface, ISupportOleDropSource, ISynchronizeInvoke, IViewObject.Interface, IViewObject2.Interface, IWin32Window { +- [EditorBrowsableAttribute(2)] +- protected void InvokeGotFocus(Control toInvoke, EventArgs e); ++ [EditorBrowsableAttribute(2)] ++ protected void InvokeGotFocus(Control? toInvoke, EventArgs e); +- [EditorBrowsableAttribute(2)] +- protected void InvokeLostFocus(Control toInvoke, EventArgs e); ++ [EditorBrowsableAttribute(2)] ++ protected void InvokeLostFocus(Control? toInvoke, EventArgs e); +- [EditorBrowsableAttribute(2)] +- protected void InvokeOnClick(Control toInvoke, EventArgs e); ++ [EditorBrowsableAttribute(2)] ++ protected void InvokeOnClick(Control? toInvoke, EventArgs e); + } + [ComplexBindingPropertiesAttribute("DataSource", "DataMember")] + [DefaultEventAttribute("CellContentClick")] + [DesignerAttribute("System.Windows.Forms.Design.DataGridViewDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [DockingAttribute(DockingBehavior.Ask)] + [EditorAttribute("System.Windows.Forms.Design.DataGridViewComponentEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(ComponentEditor))] + [SRDescriptionAttribute("DescriptionDataGridView")] + public class DataGridView : Control, ISupportInitialize { + public class DataGridViewControlCollection : Control.ControlCollection { +- public override void Remove(Control value); ++ public override void Remove(Control? value); + } + public sealed class HitTestInfo { +- public override bool Equals(object value); ++ public override bool Equals(object? value); + } + } + public class DataGridViewButtonCell : DataGridViewCell { +- public override Type EditType { get; } ++ public override Type? EditType { get; } +- protected override object GetValue(int rowIndex); ++ protected override object? GetValue(int rowIndex); +- protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates elementState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts); ++ protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates elementState, object? value, object? formattedValue, string? errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts); + } + [AttributeUsageAttribute(4)] + public sealed class DataGridViewColumnDesignTimeVisibleAttribute : Attribute { +- public override bool Equals(object obj); ++ public override bool Equals(object? obj); + } + public class DataGridViewComboBoxEditingControl : ComboBox, IDataGridViewEditingControl { +- public virtual DataGridView EditingControlDataGridView { get; set; } ++ public virtual DataGridView? EditingControlDataGridView { get; set; } + } + [TypeConverterAttribute(typeof(DataGridViewRowConverter))] + public class DataGridViewRow : DataGridViewBand { +- [DefaultValueAttribute(22)] +- [NotifyParentPropertyAttribute(true)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("DataGridView_RowHeightDescr")] +- public int Height { get; set; } ++ [NotifyParentPropertyAttribute(true)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("DataGridView_RowHeightDescr")] ++ public int Height { get; set; } + } + [ListBindableAttribute(false)] + public class DataGridViewSelectedCellCollection : BaseCollection, ICollection, IEnumerable, IList { +- int System.Collections.ICollection.Count { get; } ++ int ICollection.Count { get; } +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- 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); + } + [ListBindableAttribute(false)] + public class DataGridViewSelectedColumnCollection : BaseCollection, ICollection, IEnumerable, IList { +- int System.Collections.ICollection.Count { get; } ++ int ICollection.Count { get; } +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- 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); + } + [ListBindableAttribute(false)] + public class DataGridViewSelectedRowCollection : BaseCollection, ICollection, IEnumerable, IList { +- int System.Collections.ICollection.Count { get; } ++ int ICollection.Count { get; } +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- 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); + } + public class DataGridViewTextBoxEditingControl : TextBox, IDataGridViewEditingControl { +- protected override void OnGotFocus(EventArgs e); + } + public class DataGridViewTopLeftHeaderCell : DataGridViewColumnHeaderCell { +- protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates cellState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts); ++ protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates cellState, object? value, object? formattedValue, string? errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts); + } + [DefaultBindingPropertyAttribute("SelectedItem")] + [DefaultEventAttribute("SelectedItemChanged")] + [DefaultPropertyAttribute("Items")] + [SRDescriptionAttribute("DescriptionDomainUpDown")] + public class DomainUpDown : UpDownBase { +- protected override AccessibleObject CreateAccessibilityInstance(); +- [EditorBrowsableAttribute(1)] +- [ObsoleteAttribute("DomainUpDownAccessibleObject is no longer used to provide accessible support for DomainUpDown controls.", false, DiagnosticId="WFDEV002", UrlFormat="https://aka.ms/winforms-warnings/{0}")] +- public class DomainUpDownAccessibleObject : Control.ControlAccessibleObject ++ [EditorBrowsableAttribute(1)] ++ [ObsoleteAttribute("DomainUpDownAccessibleObject is no longer used to provide accessible support for DomainUpDown controls. Use ControlAccessibleObject instead.", true, DiagnosticId="WFDEV002", UrlFormat="https://aka.ms/winforms-warnings/{0}")] ++ public class DomainUpDownAccessibleObject : Control.ControlAccessibleObject + } + public class DragEventArgs : EventArgs { +- public DragEventArgs(IDataObject? data, int keyState, int x, int y, DragDropEffects allowedEffect, DragDropEffects effect, DropImageType dropImageType, string message, string messageReplacementToken); ++ public DragEventArgs(IDataObject data, int keyState, int x, int y, DragDropEffects allowedEffect, DragDropEffects effect, DropImageType dropImageType, string message, string messageReplacementToken); + } + [ComplexBindingPropertiesAttribute("DataSource", "DataMember")] + [ProvidePropertyAttribute("Error", typeof(Control))] + [ProvidePropertyAttribute("IconAlignment", typeof(Control))] + [ProvidePropertyAttribute("IconPadding", typeof(Control))] + [SRDescriptionAttribute("DescriptionErrorProvider")] + [ToolboxItemFilterAttribute("System.Windows.Forms")] + public class ErrorProvider : Component, IExtenderProvider, ISupportInitialize { +- [DefaultValueAttribute(null)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ErrorProviderContainerControlDescr")] +- public ContainerControl ContainerControl { get; set; } ++ [DefaultValueAttribute(null)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ErrorProviderContainerControlDescr")] ++ public ContainerControl? ContainerControl { get; set; } +- [DefaultValueAttribute(null)] +- [EditorAttribute("System.Windows.Forms.Design.DataMemberListEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ErrorProviderDataMemberDescr")] +- public string DataMember { get; set; } ++ [DefaultValueAttribute(null)] ++ [EditorAttribute("System.Windows.Forms.Design.DataMemberListEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ErrorProviderDataMemberDescr")] ++ public string? DataMember { get; set; } +- [AttributeProviderAttribute(typeof(IListSource))] +- [DefaultValueAttribute(null)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ErrorProviderDataSourceDescr")] +- public object DataSource { get; set; } ++ [AttributeProviderAttribute(typeof(IListSource))] ++ [DefaultValueAttribute(null)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ErrorProviderDataSourceDescr")] ++ public object? DataSource { get; set; } +- public override ISite Site { set; } ++ public override ISite? Site { set; } +- [BindableAttribute(true)] +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(false)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ControlTagDescr")] +- [TypeConverterAttribute(typeof(StringConverter))] +- public object Tag { get; set; } ++ [BindableAttribute(true)] ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(false)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ControlTagDescr")] ++ [TypeConverterAttribute(typeof(StringConverter))] ++ public object? Tag { get; set; } +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("ControlOnRightToLeftChangedDescr")] +- public event EventHandler RightToLeftChanged; ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("ControlOnRightToLeftChangedDescr")] ++ public event EventHandler? RightToLeftChanged; +- public void BindToDataAndErrors(object newDataSource, string newDataMember); ++ public void BindToDataAndErrors(object? newDataSource, string? newDataMember); +- public bool CanExtend(object extendee); ++ public bool CanExtend(object? extendee); +- public void SetError(Control control, string value); ++ public void SetError(Control control, string? value); + } + [DefaultEventAttribute("HelpRequest")] + [DefaultPropertyAttribute("SelectedPath")] + [DesignerAttribute("System.Windows.Forms.Design.FolderBrowserDialogDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionFolderBrowserDialog")] + public sealed class FolderBrowserDialog : CommonDialog { + protected override bool RunDialog(IntPtr hWndOwner); + } + public static class Help { +- public static void ShowPopup(Control parent, string caption, Point location); ++ public static void ShowPopup(Control? parent, string caption, Point location); + } + [ProvidePropertyAttribute("HelpKeyword", typeof(Control))] + [ProvidePropertyAttribute("HelpNavigator", typeof(Control))] + [ProvidePropertyAttribute("HelpString", typeof(Control))] + [ProvidePropertyAttribute("ShowHelp", typeof(Control))] + [SRDescriptionAttribute("DescriptionHelpProvider")] + [ToolboxItemFilterAttribute("System.Windows.Forms")] + public class HelpProvider : Component, IExtenderProvider { +- [DefaultValueAttribute(null)] +- [EditorAttribute("System.Windows.Forms.Design.HelpNamespaceEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] +- [LocalizableAttribute(true)] +- [SRDescriptionAttribute("HelpProviderHelpNamespaceDescr")] +- public virtual string HelpNamespace { get; set; } ++ [DefaultValueAttribute(null)] ++ [EditorAttribute("System.Windows.Forms.Design.HelpNamespaceEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] ++ [LocalizableAttribute(true)] ++ [SRDescriptionAttribute("HelpProviderHelpNamespaceDescr")] ++ public virtual string? HelpNamespace { get; set; } +- [BindableAttribute(true)] +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(false)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ControlTagDescr")] +- [TypeConverterAttribute(typeof(StringConverter))] +- public object Tag { get; set; } ++ [BindableAttribute(true)] ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(false)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ControlTagDescr")] ++ [TypeConverterAttribute(typeof(StringConverter))] ++ public object? Tag { get; set; } +- public virtual bool CanExtend(object target); ++ public virtual bool CanExtend(object? target); +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(true)] +- [SRDescriptionAttribute("HelpProviderHelpKeywordDescr")] +- public virtual string GetHelpKeyword(Control ctl); ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(true)] ++ [SRDescriptionAttribute("HelpProviderHelpKeywordDescr")] ++ public virtual string? GetHelpKeyword(Control ctl); +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(true)] +- [SRDescriptionAttribute("HelpProviderHelpStringDescr")] +- public virtual string GetHelpString(Control ctl); ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(true)] ++ [SRDescriptionAttribute("HelpProviderHelpStringDescr")] ++ public virtual string? GetHelpString(Control ctl); +- public virtual void SetHelpKeyword(Control ctl, string keyword); ++ public virtual void SetHelpKeyword(Control ctl, string? keyword); +- public virtual void SetHelpString(Control ctl, string helpString); ++ public virtual void SetHelpString(Control ctl, string? helpString); + } + public sealed class HtmlDocument { +- public HtmlElement ActiveElement { get; } ++ public HtmlElement? ActiveElement { get; } +- public HtmlElement Body { get; } ++ public HtmlElement? Body { get; } +- public Uri Url { get; } ++ public Uri? Url { get; } +- public HtmlWindow Window { get; } ++ public HtmlWindow? Window { get; } +- public event HtmlElementEventHandler Click; ++ public event HtmlElementEventHandler? Click; +- public event HtmlElementEventHandler ContextMenuShowing; ++ public event HtmlElementEventHandler? ContextMenuShowing; +- public event HtmlElementEventHandler Focusing; ++ public event HtmlElementEventHandler? Focusing; +- public event HtmlElementEventHandler LosingFocus; ++ public event HtmlElementEventHandler? LosingFocus; +- public event HtmlElementEventHandler MouseDown; ++ public event HtmlElementEventHandler? MouseDown; +- public event HtmlElementEventHandler MouseLeave; ++ public event HtmlElementEventHandler? MouseLeave; +- public event HtmlElementEventHandler MouseMove; ++ public event HtmlElementEventHandler? MouseMove; +- public event HtmlElementEventHandler MouseOver; ++ public event HtmlElementEventHandler? MouseOver; +- public event HtmlElementEventHandler MouseUp; ++ public event HtmlElementEventHandler? MouseUp; +- public event HtmlElementEventHandler Stop; ++ public event HtmlElementEventHandler? Stop; +- public HtmlElement CreateElement(string elementTag); ++ public HtmlElement? CreateElement(string elementTag); +- public override bool Equals(object obj); ++ public override bool Equals(object? obj); +- public HtmlElement GetElementById(string id); ++ public HtmlElement? GetElementById(string id); +- public HtmlElement GetElementFromPoint(Point point); ++ public HtmlElement? GetElementFromPoint(Point point); +- public object InvokeScript(string scriptName); ++ public object? InvokeScript(string scriptName); +- public object InvokeScript(string scriptName, object[] args); ++ public object? InvokeScript(string scriptName, object[]? args); +- public HtmlDocument OpenNew(bool replaceInHistory); ++ public HtmlDocument? OpenNew(bool replaceInHistory); +- public static bool operator ==(HtmlDocument left, HtmlDocument right); ++ public static bool operator ==(HtmlDocument? left, HtmlDocument? right); +- public static bool operator !=(HtmlDocument left, HtmlDocument right); ++ public static bool operator !=(HtmlDocument? left, HtmlDocument? right); + } + public sealed class HtmlElementCollection : ICollection, IEnumerable { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- public HtmlElement this[int index] { get; } ++ public HtmlElement? this[int index] { get; } +- public HtmlElement this[string elementId] { get; } ++ public HtmlElement? this[string elementId] { get; } + } + public sealed class HtmlElementEventArgs : EventArgs { +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(2)] +- public HtmlElement FromElement { get; } ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(2)] ++ public HtmlElement? FromElement { get; } +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(2)] +- public HtmlElement ToElement { get; } ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(2)] ++ public HtmlElement? ToElement { get; } + } + public class HtmlWindowCollection : ICollection, IEnumerable { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- public HtmlWindow this[int index] { get; } ++ public HtmlWindow? this[int index] { get; } +- public HtmlWindow this[string windowId] { get; } ++ public HtmlWindow? this[string windowId] { get; } + } +- public struct ImeModeConversion ++ public readonly struct ImeModeConversion + public class KeysConverter : TypeConverter, IComparer { +- public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType); ++ public override bool CanConvertTo(ITypeDescriptorContext? context, Type? destinationType); +- public int Compare(object a, object b); ++ public int Compare(object? a, object? b); +- public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value); ++ public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value); +- public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType); ++ public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType); +- public override bool GetStandardValuesExclusive(ITypeDescriptorContext context); ++ public override bool GetStandardValuesExclusive(ITypeDescriptorContext? context); +- public override bool GetStandardValuesSupported(ITypeDescriptorContext context); ++ public override bool GetStandardValuesSupported(ITypeDescriptorContext? context); + } + [DefaultEventAttribute("LinkClicked")] + [SRDescriptionAttribute("DescriptionLinkLabel")] + [ToolboxItemAttribute("System.Windows.Forms.Design.AutoSizeToolboxItem,System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + public class LinkLabel : Label, IButtonControl { +- protected Cursor OverrideCursor { get; set; } ++ protected Cursor? OverrideCursor { get; set; } +- DialogResult System.Windows.Forms.IButtonControl.DialogResult { get; set; } ++ DialogResult IButtonControl.DialogResult { get; set; } +- [RefreshPropertiesAttribute(2)] +- public override string Text { get; set; } ++ [RefreshPropertiesAttribute(2)] ++ [AllowNullAttribute] ++ public override string Text { get; set; } +- [SRDescriptionAttribute("LinkLabelLinkClickedDescr")] +- [WinCategoryAttribute("Action")] +- public event LinkLabelLinkClickedEventHandler LinkClicked; ++ [SRDescriptionAttribute("LinkLabelLinkClickedDescr")] ++ [WinCategoryAttribute("Action")] ++ public event LinkLabelLinkClickedEventHandler? LinkClicked; +- [BrowsableAttribute(true)] +- [EditorBrowsableAttribute(0)] +- public new event EventHandler TabStopChanged; ++ [BrowsableAttribute(true)] ++ [EditorBrowsableAttribute(0)] ++ public new event EventHandler? TabStopChanged; +- protected LinkLabel.Link PointInLink(int x, int y); ++ protected LinkLabel.Link? PointInLink(int x, int y); + [TypeConverterAttribute(typeof(LinkConverter))] + public class Link { +- [DefaultValueAttribute("")] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("TreeNodeNodeNameDescr")] +- public string Name { get; set; } ++ [DefaultValueAttribute("")] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("TreeNodeNodeNameDescr")] ++ [AllowNullAttribute] ++ public string Name { get; set; } + } + public class LinkCollection : ICollection, IEnumerable, IList { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- object System.Collections.IList.this[int index] { get; set; } ++ object? IList.this[int index] { get; set; } +- public virtual LinkLabel.Link this[string key] { get; } ++ public virtual LinkLabel.Link? this[string key] { get; } +- public LinkLabel.Link Add(int start, int length, object linkData); ++ public LinkLabel.Link Add(int start, int length, object? linkData); +- 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 link); ++ bool IList.Contains(object? value); +- int IList.IndexOf(object link); ++ 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 static class ListBindingHelper { +- public static object GetList(object list); ++ public static object? GetList(object? list); +- public static object GetList(object dataSource, string dataMember); ++ public static object? GetList(object? dataSource, string? dataMember); +- public static PropertyDescriptorCollection GetListItemProperties(object list); ++ public static PropertyDescriptorCollection GetListItemProperties(object? list); +- public static PropertyDescriptorCollection GetListItemProperties(object list, PropertyDescriptor[] listAccessors); ++ public static PropertyDescriptorCollection GetListItemProperties(object? list, PropertyDescriptor[]? listAccessors); +- public static PropertyDescriptorCollection GetListItemProperties(object dataSource, string dataMember, PropertyDescriptor[] listAccessors); ++ public static PropertyDescriptorCollection GetListItemProperties(object? dataSource, string? dataMember, PropertyDescriptor[]? listAccessors); +- public static Type GetListItemType(object list); ++ public static Type? GetListItemType(object? list); +- public static Type GetListItemType(object dataSource, string dataMember); ++ public static Type? GetListItemType(object? dataSource, string? dataMember); +- public static string GetListName(object list, PropertyDescriptor[] listAccessors); ++ public static string GetListName(object? list, PropertyDescriptor[]? listAccessors); + } + [DefaultBindingPropertyAttribute("SelectedValue")] + [DefaultEventAttribute("SelectedIndexChanged")] + [DefaultPropertyAttribute("Items")] + [DesignerAttribute("System.Windows.Forms.Design.ListBoxDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionListBox")] + public class ListBox : ListControl { +- [DefaultValueAttribute(13)] +- [LocalizableAttribute(true)] +- [RefreshPropertiesAttribute(2)] +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ListBoxItemHeightDescr")] +- public virtual int ItemHeight { get; set; } ++ [LocalizableAttribute(true)] ++ [RefreshPropertiesAttribute(2)] ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ListBoxItemHeightDescr")] ++ public virtual int ItemHeight { get; set; } + } + [DefaultEventAttribute("SelectedIndexChanged")] + [DefaultPropertyAttribute("Items")] + [DesignerAttribute("System.Windows.Forms.Design.ListViewDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [DockingAttribute(DockingBehavior.Ask)] + [SRDescriptionAttribute("DescriptionListView")] + public class ListView : Control { + [ListBindableAttribute(false)] + public class ListViewItemCollection : ICollection, IEnumerable, IList { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- object System.Collections.IList.this[int index] { get; set; } ++ object? IList.this[int index] { get; set; } +- public virtual ListViewItem this[string key] { get; } ++ public virtual ListViewItem? this[string key] { get; } +- public virtual ListViewItem Add(string text); ++ public virtual ListViewItem Add(string? text); +- public virtual ListViewItem Add(string text, int imageIndex); ++ public virtual ListViewItem Add(string? text, int imageIndex); +- public virtual ListViewItem Add(string text, string imageKey); ++ public virtual ListViewItem Add(string? text, string? imageKey); +- public virtual ListViewItem Add(string key, string text, int imageIndex); ++ public virtual ListViewItem Add(string? key, string? text, int imageIndex); +- public virtual ListViewItem Add(string key, string text, string imageKey); ++ public virtual ListViewItem Add(string? key, string? text, string? imageKey); +- public virtual bool ContainsKey(string key); ++ public virtual bool ContainsKey(string? key); +- public virtual int IndexOfKey(string key); ++ public virtual int IndexOfKey(string? key); +- public ListViewItem Insert(int index, string text); ++ public ListViewItem Insert(int index, string? text); +- public ListViewItem Insert(int index, string text, int imageIndex); ++ public ListViewItem Insert(int index, string? text, int imageIndex); +- public ListViewItem Insert(int index, string text, string imageKey); ++ public ListViewItem Insert(int index, string? text, string? imageKey); +- public virtual ListViewItem Insert(int index, string key, string text, int imageIndex); ++ public virtual ListViewItem Insert(int index, string? key, string? text, int imageIndex); +- public virtual ListViewItem Insert(int index, string key, string text, string imageKey); ++ public virtual ListViewItem Insert(int index, string? key, string? text, string? imageKey); +- int IList.Add(object item); ++ int IList.Add(object? item); +- bool IList.Contains(object item); ++ bool IList.Contains(object? item); +- int IList.IndexOf(object item); ++ int IList.IndexOf(object? item); +- void IList.Insert(int index, object item); ++ void IList.Insert(int index, object? item); +- void IList.Remove(object item); ++ void IList.Remove(object? item); + } + } + [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(ListViewItem.ListViewSubItem[] subItems, string imageKey, ListViewGroup group); ++ public ListViewItem(ListViewItem.ListViewSubItem[] subItems, string? imageKey, ListViewGroup? group); +- public ListViewItem(string text); ++ public ListViewItem(string? text); +- public ListViewItem(string text, int imageIndex); ++ public ListViewItem(string? text, int imageIndex); +- public ListViewItem(string text, int imageIndex, ListViewGroup group); ++ public ListViewItem(string? text, int imageIndex, ListViewGroup? group); +- public ListViewItem(string text, string imageKey); ++ public ListViewItem(string? text, string? imageKey); +- public ListViewItem(string text, string imageKey, ListViewGroup group); ++ public ListViewItem(string? text, string? imageKey, ListViewGroup? group); +- public ListViewItem(string text, ListViewGroup group); ++ public ListViewItem(string? text, ListViewGroup? group); +- 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); +- public ListViewItem(ListViewGroup group); ++ public ListViewItem(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; } +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(true)] +- [SRCategoryAttribute("CatBehavior")] +- public ListViewGroup Group { get; set; } ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(true)] ++ [SRCategoryAttribute("CatBehavior")] ++ public ListViewGroup? Group { get; set; } +- [BrowsableAttribute(false)] +- public ImageList ImageList { get; } ++ [BrowsableAttribute(false)] ++ public ImageList? ImageList { get; } +- [BrowsableAttribute(false)] +- public ListView ListView { get; } ++ [BrowsableAttribute(false)] ++ public ListView? ListView { get; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [LocalizableAttribute(true)] +- public string Name { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [LocalizableAttribute(true)] ++ [AllowNullAttribute] ++ public string Name { get; set; } +- [BindableAttribute(true)] +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(false)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ControlTagDescr")] +- [TypeConverterAttribute(typeof(StringConverter))] +- public object Tag { get; set; } ++ [BindableAttribute(true)] ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(false)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ControlTagDescr")] ++ [TypeConverterAttribute(typeof(StringConverter))] ++ public object? Tag { get; set; } +- [DesignerSerializationVisibilityAttribute(0)] +- [LocalizableAttribute(true)] +- [SRCategoryAttribute("CatAppearance")] +- public string Text { get; set; } ++ [DesignerSerializationVisibilityAttribute(0)] ++ [LocalizableAttribute(true)] ++ [SRCategoryAttribute("CatAppearance")] ++ [AllowNullAttribute] ++ public string Text { get; set; } +- [DefaultValueAttribute("")] +- [SRCategoryAttribute("CatAppearance")] +- public string ToolTipText { get; set; } ++ [DefaultValueAttribute("")] ++ [SRCategoryAttribute("CatAppearance")] ++ [AllowNullAttribute] ++ public string ToolTipText { get; set; } +- public ListViewItem FindNearestItem(SearchDirectionHint searchDirection); ++ public ListViewItem? FindNearestItem(SearchDirectionHint searchDirection); +- public ListViewItem.ListViewSubItem GetSubItemAt(int x, int y); ++ public ListViewItem.ListViewSubItem? GetSubItemAt(int x, int y); + [DefaultPropertyAttribute("Text")] + [DesignTimeVisibleAttribute(false)] + [ToolboxItemAttribute(false)] + [TypeConverterAttribute(typeof(ListViewSubItemConverter))] + public class ListViewSubItem { +- public ListViewSubItem(ListViewItem owner, string? text); ++ public ListViewSubItem(ListViewItem owner, string text); +- public ListViewSubItem(ListViewItem owner, string? text, Color foreColor, Color backColor, Font font); ++ public ListViewSubItem(ListViewItem owner, string text, Color foreColor, Color backColor, Font font); +- [LocalizableAttribute(true)] +- public Font Font { get; set; } ++ [LocalizableAttribute(true)] ++ [AllowNullAttribute] ++ public Font Font { get; set; } +- [BindableAttribute(true)] +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(false)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ControlTagDescr")] +- [TypeConverterAttribute(typeof(StringConverter))] +- public object? Tag { get; set; } ++ [BindableAttribute(true)] ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(false)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ControlTagDescr")] ++ [TypeConverterAttribute(typeof(StringConverter))] ++ public object Tag { get; set; } + } + } + [DefaultBindingPropertyAttribute("Text")] + [DefaultEventAttribute("MaskInputRejected")] + [DefaultPropertyAttribute("Mask")] + [DesignerAttribute("System.Windows.Forms.Design.MaskedTextBoxDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionMaskedTextBox")] + public class MaskedTextBox : TextBoxBase { ++ protected override AccessibleObject CreateAccessibilityInstance(); ++ protected override void OnGotFocus(EventArgs e); ++ protected override void OnMouseDown(MouseEventArgs e); + } + [DesignTimeVisibleAttribute(false)] + [ToolboxItemAttribute(false)] + public sealed class MdiClient : Control { + public new class ControlCollection : Control.ControlCollection { +- public override void Add(Control value); ++ public override void Add(Control? value); +- public override void Remove(Control value); ++ public override void Remove(Control? value); + } + } + public class MessageBox { +- public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, string helpFilePath, string keyword); ++ public static DialogResult Show(string? text, string? caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, string helpFilePath, string keyword); + } + [DefaultBindingPropertyAttribute("SelectionRange")] + [DefaultEventAttribute("DateChanged")] + [DefaultPropertyAttribute("SelectionRange")] + [DesignerAttribute("System.Windows.Forms.Design.MonthCalendarDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionMonthCalendar")] + public class MonthCalendar : Control { +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public override Image BackgroundImage { get; set; } ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public override Image? BackgroundImage { get; set; } +- [BindableAttribute(false)] +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override string Text { get; set; } ++ [BindableAttribute(false)] ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override string Text { get; set; } +- [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; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler Click; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? Click; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("MonthCalendarOnDateChangedDescr")] +- public event DateRangeEventHandler DateChanged; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("MonthCalendarOnDateChangedDescr")] ++ public event DateRangeEventHandler? DateChanged; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("MonthCalendarOnDateSelectedDescr")] +- public event DateRangeEventHandler DateSelected; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("MonthCalendarOnDateSelectedDescr")] ++ public event DateRangeEventHandler? DateSelected; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler DoubleClick; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? DoubleClick; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler ImeModeChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? ImeModeChanged; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event MouseEventHandler MouseClick; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event MouseEventHandler? MouseClick; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event MouseEventHandler MouseDoubleClick; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event MouseEventHandler? MouseDoubleClick; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler PaddingChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? PaddingChanged; +- [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; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler TextChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? TextChanged; + } + public class NativeWindow : MarshalByRefObject, IHandle, IWin32Window { ++ protected virtual void WmDpiChangedAfterParent(ref Message m); ++ protected virtual void WmDpiChangedBeforeParent(ref Message m); + } + [DefaultPropertyAttribute("Document")] + [SRDescriptionAttribute("DescriptionPrintPreviewControl")] + public class PrintPreviewControl : Control { +- protected override CreateParams CreateParams { get; } ++ [DefaultValueAttribute(false)] ++ [DispIdAttribute(-516)] ++ public new bool TabStop { get; set; } ++ protected override void OnGotFocus(EventArgs e); ++ protected override void OnLostFocus(EventArgs e); ++ protected override void OnMouseDown(MouseEventArgs e); ++ protected override void OnPaintBackground(PaintEventArgs e); + } +- [DesignerAttribute("System.Windows.Forms.Design.PropertyGridDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] +- [SRDescriptionAttribute("DescriptionPropertyGrid")] +- public class PropertyGrid : ContainerControl, IComPropertyBrowser, Interop.Ole32.IPropertyNotifySink { ++ [DesignerAttribute("System.Windows.Forms.Design.PropertyGridDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] ++ [SRDescriptionAttribute("DescriptionPropertyGrid")] ++ public class PropertyGrid : ContainerControl, IComPropertyBrowser, IPropertyNotifySink.Interface { + public class PropertyTabCollection : ICollection, IEnumerable { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } + } + } + 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); + } + [DefaultBindingPropertyAttribute("Checked")] + [DefaultEventAttribute("CheckedChanged")] + [DefaultPropertyAttribute("Checked")] + [DesignerAttribute("System.Windows.Forms.Design.RadioButtonDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionRadioButton")] + [ToolboxItemAttribute("System.Windows.Forms.Design.AutoSizeToolboxItem,System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + public class RadioButton : ButtonBase { + public class RadioButtonAccessibleObject : Control.ControlAccessibleObject { ++ public override string KeyboardShortcut { get; } ++ public override string Name { get; } + } + } + [DesignerAttribute("System.Windows.Forms.Design.RichTextBoxDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [DockingAttribute(DockingBehavior.Ask)] + [SRDescriptionAttribute("DescriptionRichTextBox")] + public class RichTextBox : TextBoxBase { +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public override Image BackgroundImage { get; set; } ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public override Image? BackgroundImage { get; set; } +- public override Font Font { get; set; } ++ [AllowNullAttribute] ++ public override Font Font { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [RefreshPropertiesAttribute(1)] +- [SRDescriptionAttribute("RichTextBoxRTF")] +- public string Rtf { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [RefreshPropertiesAttribute(1)] ++ [SRDescriptionAttribute("RichTextBoxRTF")] ++ public string? Rtf { get; set; } +- [BrowsableAttribute(false)] +- [DefaultValueAttribute("")] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRDescriptionAttribute("RichTextBoxSelRTF")] +- public string SelectedRtf { get; set; } ++ [BrowsableAttribute(false)] ++ [DefaultValueAttribute("")] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRDescriptionAttribute("RichTextBoxSelRTF")] ++ [AllowNullAttribute] ++ public string SelectedRtf { get; set; } +- [BrowsableAttribute(false)] +- [DefaultValueAttribute("")] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRDescriptionAttribute("RichTextBoxSelText")] +- public override string SelectedText { get; set; } ++ [BrowsableAttribute(false)] ++ [DefaultValueAttribute("")] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRDescriptionAttribute("RichTextBoxSelText")] ++ [AllowNullAttribute] ++ public override string SelectedText { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRDescriptionAttribute("RichTextBoxSelFont")] +- public Font SelectionFont { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRDescriptionAttribute("RichTextBoxSelFont")] ++ [DisallowNullAttribute] ++ public Font? SelectionFont { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRDescriptionAttribute("RichTextBoxSelTabs")] +- public int[] SelectionTabs { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRDescriptionAttribute("RichTextBoxSelTabs")] ++ [AllowNullAttribute] ++ public int[] SelectionTabs { get; set; } +- [LocalizableAttribute(true)] +- [RefreshPropertiesAttribute(1)] +- public override string Text { get; set; } ++ [LocalizableAttribute(true)] ++ [RefreshPropertiesAttribute(1)] ++ [AllowNullAttribute] ++ public override string Text { get; set; } +- [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("CatBehavior")] +- [SRDescriptionAttribute("RichTextBoxContentsResized")] +- public event ContentsResizedEventHandler ContentsResized; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("RichTextBoxContentsResized")] ++ public event ContentsResizedEventHandler? ContentsResized; +- [BrowsableAttribute(false)] +- public new event DragEventHandler DragDrop; ++ [BrowsableAttribute(false)] ++ public new event DragEventHandler? DragDrop; +- [BrowsableAttribute(false)] +- public new event DragEventHandler DragEnter; ++ [BrowsableAttribute(false)] ++ public new event DragEventHandler? DragEnter; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler DragLeave; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? DragLeave; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event DragEventHandler DragOver; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event DragEventHandler? DragOver; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event GiveFeedbackEventHandler GiveFeedback; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event GiveFeedbackEventHandler? GiveFeedback; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("RichTextBoxHScroll")] +- public event EventHandler HScroll; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("RichTextBoxHScroll")] ++ public event EventHandler? HScroll; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("RichTextBoxIMEChange")] +- public event EventHandler ImeChange; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("RichTextBoxIMEChange")] ++ public event EventHandler? ImeChange; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("RichTextBoxLinkClick")] +- public event LinkClickedEventHandler LinkClicked; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("RichTextBoxLinkClick")] ++ public event LinkClickedEventHandler? LinkClicked; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("RichTextBoxProtected")] +- public event EventHandler Protected; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("RichTextBoxProtected")] ++ public event EventHandler? Protected; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event QueryContinueDragEventHandler QueryContinueDrag; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event QueryContinueDragEventHandler? QueryContinueDrag; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("RichTextBoxSelChange")] +- public event EventHandler SelectionChanged; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("RichTextBoxSelChange")] ++ public event EventHandler? SelectionChanged; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("RichTextBoxVScroll")] +- public event EventHandler VScroll; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("RichTextBoxVScroll")] ++ public event EventHandler? VScroll; + } + [DefaultEventAttribute("Scroll")] + [DefaultPropertyAttribute("Value")] + public abstract class ScrollBar : Control { +- protected override void RescaleConstantsForDpi(int deviceDpiOld, int deviceDpiNew); ++ protected override void ScaleControl(SizeF factor, BoundsSpecified specified); + } + [SRDescriptionAttribute("DescriptionStatusStrip")] + public class StatusStrip : ToolStrip { +- [BrowsableAttribute(false)] +- public new event EventHandler PaddingChanged; ++ [BrowsableAttribute(false)] ++ public new event EventHandler? PaddingChanged; +- protected internal override ToolStripItem CreateDefaultItem(string text, Image image, EventHandler onClick); ++ protected internal override ToolStripItem CreateDefaultItem(string? text, Image? image, EventHandler? onClick); + } + [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 new class ControlCollection : Control.ControlCollection { +- public override void Add(Control value); ++ public override void Add(Control? value); +- public override void Remove(Control value); ++ public override void Remove(Control? value); + } + } + [TypeConverterAttribute(typeof(TableLayoutPanelCellPositionTypeConverter))] + public struct TableLayoutPanelCellPosition : IEquatable { +- public override bool Equals(object other); ++ public override bool Equals(object? other); + } + [EditorAttribute("System.Windows.Forms.Design.StyleCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] + public abstract class TableLayoutStyleCollection : ICollection, IEnumerable, IList { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- 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; } + } ++ 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); + } + [DesignerAttribute("System.Windows.Forms.Design.TextBoxDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionTextBox")] + public class TextBox : TextBoxBase { ++ protected override AccessibleObject CreateAccessibilityInstance(); + } + [DefaultBindingPropertyAttribute("Text")] + [DefaultEventAttribute("TextChanged")] + [DesignerAttribute("System.Windows.Forms.Design.TextBoxBaseDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + public abstract class TextBoxBase : Control { ++ protected bool ContainsNavigationKeyCode(Keys keyCode); + } + [DefaultEventAttribute("ItemClicked")] + [DefaultPropertyAttribute("Items")] + [DesignerAttribute("System.Windows.Forms.Design.ToolStripDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [DesignerSerializerAttribute("System.Windows.Forms.Design.ToolStripCodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.ComponentModel.Design.Serialization.CodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [SRDescriptionAttribute("DescriptionToolStrip")] + public class ToolStrip : ScrollableControl, IArrangedElement, IComponent, IDisposable, ISupportToolStripPanel { +- public override BindingContext BindingContext { get; set; } ++ public override BindingContext? BindingContext { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- public override Cursor Cursor { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [AllowNullAttribute] ++ public override Cursor Cursor { get; set; } +- public override Font Font { get; set; } ++ [AllowNullAttribute] ++ public override Font Font { get; set; } +- [BrowsableAttribute(false)] +- [DefaultValueAttribute(null)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripImageListDescr")] +- public ImageList ImageList { get; set; } ++ [BrowsableAttribute(false)] ++ [DefaultValueAttribute(null)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripImageListDescr")] ++ public ImageList? ImageList { get; set; } +- [BrowsableAttribute(false)] +- [DefaultValueAttribute(null)] +- [DesignerSerializationVisibilityAttribute(0)] +- public LayoutSettings LayoutSettings { get; set; } ++ [BrowsableAttribute(false)] ++ [DefaultValueAttribute(null)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ public LayoutSettings? LayoutSettings { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- public ToolStripRenderer Renderer { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [AllowNullAttribute] ++ public ToolStripRenderer Renderer { get; set; } +- [BrowsableAttribute(true)] +- [EditorBrowsableAttribute(0)] +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("ControlOnAutoSizeChangedDescr")] +- public new event EventHandler AutoSizeChanged; ++ [BrowsableAttribute(true)] ++ [EditorBrowsableAttribute(0)] ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("ControlOnAutoSizeChangedDescr")] ++ public new event EventHandler? AutoSizeChanged; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ToolStripOnBeginDrag")] +- public event EventHandler BeginDrag; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ToolStripOnBeginDrag")] ++ public event EventHandler? BeginDrag; +- [BrowsableAttribute(false)] +- public new event EventHandler CausesValidationChanged; ++ [BrowsableAttribute(false)] ++ public new event EventHandler? CausesValidationChanged; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event ControlEventHandler ControlAdded; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event ControlEventHandler? ControlAdded; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event ControlEventHandler ControlRemoved; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event ControlEventHandler? ControlRemoved; +- [BrowsableAttribute(false)] +- public new event EventHandler CursorChanged; ++ [BrowsableAttribute(false)] ++ public new event EventHandler? CursorChanged; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ToolStripOnEndDrag")] +- public event EventHandler EndDrag; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ToolStripOnEndDrag")] ++ public event EventHandler? EndDrag; +- [BrowsableAttribute(false)] +- public new event EventHandler ForeColorChanged; ++ [BrowsableAttribute(false)] ++ public new event EventHandler? ForeColorChanged; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripItemAddedDescr")] +- public event ToolStripItemEventHandler ItemAdded; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripItemAddedDescr")] ++ public event ToolStripItemEventHandler? ItemAdded; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("ToolStripItemOnClickDescr")] +- public event ToolStripItemClickedEventHandler ItemClicked; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("ToolStripItemOnClickDescr")] ++ public event ToolStripItemClickedEventHandler? ItemClicked; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripItemRemovedDescr")] +- public event ToolStripItemEventHandler ItemRemoved; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripItemRemovedDescr")] ++ public event ToolStripItemEventHandler? ItemRemoved; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripLayoutCompleteDescr")] +- public event EventHandler LayoutCompleted; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripLayoutCompleteDescr")] ++ public event EventHandler? LayoutCompleted; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripLayoutStyleChangedDescr")] +- public event EventHandler LayoutStyleChanged; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripLayoutStyleChangedDescr")] ++ public event EventHandler? LayoutStyleChanged; +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripPaintGripDescr")] +- public event PaintEventHandler PaintGrip; ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripPaintGripDescr")] ++ public event PaintEventHandler? PaintGrip; +- public event EventHandler RendererChanged; ++ public event EventHandler? RendererChanged; +- protected internal virtual ToolStripItem CreateDefaultItem(string text, Image image, EventHandler onClick); ++ protected internal virtual ToolStripItem CreateDefaultItem(string? text, Image? image, EventHandler? onClick); +- protected virtual LayoutSettings CreateLayoutSettings(ToolStripLayoutStyle layoutStyle); ++ protected virtual LayoutSettings? CreateLayoutSettings(ToolStripLayoutStyle layoutStyle); +- [EditorBrowsableAttribute(1)] +- public new Control GetChildAtPoint(Point point); ++ [EditorBrowsableAttribute(1)] ++ public new Control? GetChildAtPoint(Point point); +- [EditorBrowsableAttribute(1)] +- public new Control GetChildAtPoint(Point pt, GetChildAtPointSkip skipValue); ++ [EditorBrowsableAttribute(1)] ++ public new Control? GetChildAtPoint(Point pt, GetChildAtPointSkip skipValue); +- public ToolStripItem GetItemAt(Point point); ++ public ToolStripItem? GetItemAt(Point point); +- public ToolStripItem GetItemAt(int x, int y); ++ public ToolStripItem? GetItemAt(int x, int y); +- public virtual ToolStripItem GetNextItem(ToolStripItem start, ArrowDirection direction); ++ public virtual ToolStripItem? GetNextItem(ToolStripItem? start, ArrowDirection direction); + } + [ToolStripItemDesignerAvailabilityAttribute(ToolStripItemDesignerAvailability.ToolStrip)] + public class ToolStripButton : ToolStripItem { +- public override bool CanSelect { get; } ++ protected internal override bool ProcessDialogKey(Keys keyData); + } + [DefaultPropertyAttribute("Items")] + [ToolStripItemDesignerAvailabilityAttribute(ToolStripItemDesignerAvailability.ContextMenuStrip | ToolStripItemDesignerAvailability.MenuStrip | ToolStripItemDesignerAvailability.ToolStrip)] + public class ToolStripComboBox : ToolStripControlHost { +- public ToolStripComboBox(string name); ++ public ToolStripComboBox(string? name); +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override Image BackgroundImage { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ public override Image? BackgroundImage { get; set; } +- [BindableAttribute(true)] +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRDescriptionAttribute("ComboBoxSelectedItemDescr")] +- public object SelectedItem { get; set; } ++ [BindableAttribute(true)] ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRDescriptionAttribute("ComboBoxSelectedItemDescr")] ++ public object? SelectedItem { get; set; } +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler DoubleClick; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? DoubleClick; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ComboBoxOnDropDownDescr")] +- public event EventHandler DropDown; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ComboBoxOnDropDownDescr")] ++ public event EventHandler? DropDown; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ComboBoxOnDropDownClosedDescr")] +- public event EventHandler DropDownClosed; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ComboBoxOnDropDownClosedDescr")] ++ public event EventHandler? DropDownClosed; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ComboBoxDropDownStyleChangedDescr")] +- public event EventHandler DropDownStyleChanged; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ComboBoxDropDownStyleChangedDescr")] ++ public event EventHandler? DropDownStyleChanged; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("selectedIndexChangedEventDescr")] +- public event EventHandler SelectedIndexChanged; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("selectedIndexChangedEventDescr")] ++ public event EventHandler? SelectedIndexChanged; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ComboBoxOnTextUpdateDescr")] +- public event EventHandler TextUpdate; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ComboBoxOnTextUpdateDescr")] ++ public event EventHandler? TextUpdate; +- public int FindString(string s); ++ public int FindString(string? s); +- public int FindString(string s, int startIndex); ++ public int FindString(string? s, int startIndex); +- public int FindStringExact(string s); ++ public int FindStringExact(string? s); +- public int FindStringExact(string s, int startIndex); ++ public int FindStringExact(string? s, int startIndex); +- protected override void OnSubscribeControlEvents(Control control); ++ protected override void OnSubscribeControlEvents(Control? control); +- protected override void OnUnsubscribeControlEvents(Control control); ++ protected override void OnUnsubscribeControlEvents(Control? control); + } + public class ToolStripControlHost : ToolStripItem { +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(true)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripItemImageDescr")] +- public override Image BackgroundImage { get; set; } ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(true)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripItemImageDescr")] ++ public override Image? BackgroundImage { get; set; } +- public override Font Font { get; set; } ++ [AllowNullAttribute] ++ public override Font Font { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override Image Image { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ public override Image? Image { get; set; } +- [EditorBrowsableAttribute(2)] +- public override ISite Site { get; set; } ++ [EditorBrowsableAttribute(2)] ++ public override ISite? Site { get; set; } +- [DefaultValueAttribute("")] +- public override string Text { get; set; } ++ [DefaultValueAttribute("")] ++ [AllowNullAttribute] ++ public override string Text { get; set; } +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- public new event EventHandler DisplayStyleChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ public new event EventHandler? DisplayStyleChanged; +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ControlOnEnterDescr")] +- public event EventHandler Enter; ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ControlOnEnterDescr")] ++ public event EventHandler? Enter; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(2)] +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ToolStripItemOnGotFocusDescr")] +- public event EventHandler GotFocus; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ToolStripItemOnGotFocusDescr")] ++ public event EventHandler? GotFocus; +- [SRCategoryAttribute("CatKey")] +- [SRDescriptionAttribute("ControlOnKeyDownDescr")] +- public event KeyEventHandler KeyDown; ++ [SRCategoryAttribute("CatKey")] ++ [SRDescriptionAttribute("ControlOnKeyDownDescr")] ++ public event KeyEventHandler? KeyDown; +- [SRCategoryAttribute("CatKey")] +- [SRDescriptionAttribute("ControlOnKeyPressDescr")] +- public event KeyPressEventHandler KeyPress; ++ [SRCategoryAttribute("CatKey")] ++ [SRDescriptionAttribute("ControlOnKeyPressDescr")] ++ public event KeyPressEventHandler? KeyPress; +- [SRCategoryAttribute("CatKey")] +- [SRDescriptionAttribute("ControlOnKeyUpDescr")] +- public event KeyEventHandler KeyUp; ++ [SRCategoryAttribute("CatKey")] ++ [SRDescriptionAttribute("ControlOnKeyUpDescr")] ++ public event KeyEventHandler? KeyUp; +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ControlOnLeaveDescr")] +- public event EventHandler Leave; ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ControlOnLeaveDescr")] ++ public event EventHandler? Leave; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(2)] +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ToolStripItemOnLostFocusDescr")] +- public event EventHandler LostFocus; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ToolStripItemOnLostFocusDescr")] ++ public event EventHandler? LostFocus; +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ControlOnValidatedDescr")] +- public event EventHandler Validated; ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ControlOnValidatedDescr")] ++ public event EventHandler? Validated; +- [SRCategoryAttribute("CatFocus")] +- [SRDescriptionAttribute("ControlOnValidatingDescr")] +- public event CancelEventHandler Validating; ++ [SRCategoryAttribute("CatFocus")] ++ [SRDescriptionAttribute("ControlOnValidatingDescr")] ++ public event CancelEventHandler? Validating; +- protected override void OnParentChanged(ToolStrip oldParent, ToolStrip newParent); ++ protected override void OnParentChanged(ToolStrip? oldParent, ToolStrip? newParent); +- protected virtual void OnSubscribeControlEvents(Control control); ++ protected virtual void OnSubscribeControlEvents(Control? control); +- protected virtual void OnUnsubscribeControlEvents(Control control); ++ protected virtual void OnUnsubscribeControlEvents(Control? control); + } + [DesignerAttribute("System.Windows.Forms.Design.ToolStripDropDownDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + public class ToolStripDropDown : ToolStrip { +- public override Font Font { get; set; } ++ [AllowNullAttribute] ++ public override Font Font { get; set; } + } + [ToolStripItemDesignerAvailabilityAttribute(ToolStripItemDesignerAvailability.StatusStrip | ToolStripItemDesignerAvailability.ToolStrip)] + public class ToolStripDropDownButton : ToolStripDropDownItem { +- public ToolStripDropDownButton(Image image); ++ public ToolStripDropDownButton(Image? image); +- public ToolStripDropDownButton(string text); ++ public ToolStripDropDownButton(string? text); +- public ToolStripDropDownButton(string text, Image image); ++ public ToolStripDropDownButton(string? text, Image? image); +- public ToolStripDropDownButton(string text, Image image, EventHandler onClick); ++ public ToolStripDropDownButton(string? text, Image? image, EventHandler? onClick); +- public ToolStripDropDownButton(string text, Image image, EventHandler onClick, string name); ++ public ToolStripDropDownButton(string? text, Image? image, EventHandler? onClick, string? name); +- public ToolStripDropDownButton(string text, Image image, params ToolStripItem[] dropDownItems); ++ public ToolStripDropDownButton(string? text, Image? image, params ToolStripItem[]? dropDownItems); + } + [DefaultPropertyAttribute("DropDownItems")] + [DesignerAttribute("System.Windows.Forms.Design.ToolStripMenuItemDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + public abstract class ToolStripDropDownItem : ToolStripItem { +- protected ToolStripDropDownItem(string text, Image image, EventHandler onClick); ++ protected ToolStripDropDownItem(string? text, Image? image, EventHandler? onClick); +- protected ToolStripDropDownItem(string text, Image image, EventHandler onClick, string name); ++ protected ToolStripDropDownItem(string? text, Image? image, EventHandler? onClick, string? name); +- protected ToolStripDropDownItem(string text, Image image, params ToolStripItem[] dropDownItems); ++ protected ToolStripDropDownItem(string? text, Image? image, params ToolStripItem[]? dropDownItems); +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ToolStripDropDownDescr")] +- [TypeConverterAttribute(typeof(ReferenceConverter))] +- public ToolStripDropDown DropDown { get; set; } ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ToolStripDropDownDescr")] ++ [TypeConverterAttribute(typeof(ReferenceConverter))] ++ [AllowNullAttribute] ++ public ToolStripDropDown DropDown { get; set; } +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("ToolStripDropDownClosedDecr")] +- public event EventHandler DropDownClosed; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("ToolStripDropDownClosedDecr")] ++ public event EventHandler? DropDownClosed; +- [SRCategoryAttribute("CatAction")] +- public event ToolStripItemClickedEventHandler DropDownItemClicked; ++ [SRCategoryAttribute("CatAction")] ++ public event ToolStripItemClickedEventHandler? DropDownItemClicked; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("ToolStripDropDownOpenedDescr")] +- public event EventHandler DropDownOpened; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("ToolStripDropDownOpenedDescr")] ++ public event EventHandler? DropDownOpened; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("ToolStripDropDownOpeningDescr")] +- public event EventHandler DropDownOpening; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("ToolStripDropDownOpeningDescr")] ++ public event EventHandler? DropDownOpening; + } + [DesignerAttribute("System.Windows.Forms.Design.ToolStripDropDownDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + public class ToolStripDropDownMenu : ToolStripDropDown { +- protected internal override ToolStripItem CreateDefaultItem(string text, Image image, EventHandler onClick); ++ protected internal override ToolStripItem CreateDefaultItem(string? text, Image? image, EventHandler? onClick); + } + [DefaultEventAttribute("Click")] + [DefaultPropertyAttribute("Text")] + [DesignTimeVisibleAttribute(false)] + [DesignerAttribute("System.Windows.Forms.Design.ToolStripItemDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [ToolboxItemAttribute(false)] + public abstract class ToolStripItem : BindableComponent, IArrangedElement, ICommandBindingTargetProvider, IComponent, IDisposable, IDropTarget, IKeyboardToolTip, ISupportOleDropSource { +- [BindableAttribute(true)] +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [RequiresPreviewFeaturesAttribute] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandComponentCommandDescr")] +- public ICommand Command { get; set; } ++ [BindableAttribute(true)] ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandComponentCommandDescr")] ++ public ICommand Command { get; set; } +- [BindableAttribute(true)] +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandComponentCommandParameterDescr")] +- public object CommandParameter { [RequiresPreviewFeaturesAttribute] get; [RequiresPreviewFeaturesAttribute] set; } ++ [BindableAttribute(true)] ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandComponentCommandParameterDescr")] ++ public object CommandParameter { get; set; } +- [LocalizableAttribute(true)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripItemFontDescr")] +- public virtual Font Font { get; set; } ++ [LocalizableAttribute(true)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripItemFontDescr")] ++ [AllowNullAttribute] ++ public virtual Font Font { get; set; } +- [BrowsableAttribute(false)] +- [EditorAttribute("System.Windows.Forms.Design.ToolStripImageIndexEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] +- [LocalizableAttribute(true)] +- [RefreshPropertiesAttribute(2)] +- [RelatedImageListAttribute("Owner.ImageList")] +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ToolStripItemImageKeyDescr")] +- [TypeConverterAttribute(typeof(ImageKeyConverter))] +- public string ImageKey { get; set; } ++ [BrowsableAttribute(false)] ++ [EditorAttribute("System.Windows.Forms.Design.ToolStripImageIndexEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] ++ [LocalizableAttribute(true)] ++ [RefreshPropertiesAttribute(2)] ++ [RelatedImageListAttribute("Owner.ImageList")] ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ToolStripItemImageKeyDescr")] ++ [TypeConverterAttribute(typeof(ImageKeyConverter))] ++ [AllowNullAttribute] ++ public string ImageKey { get; set; } +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandCanExecuteChangedEventDescr")] +- public event EventHandler CommandCanExecuteChanged; ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandCanExecuteChangedEventDescr")] ++ public event EventHandler CommandCanExecuteChanged; +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandChangedEventDescr")] +- public event EventHandler CommandChanged; ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandChangedEventDescr")] ++ public event EventHandler CommandChanged; +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("CommandParameterChangedEventDescr")] +- public event EventHandler CommandParameterChanged; ++ [EditorBrowsableAttribute(2)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("CommandParameterChangedEventDescr")] ++ public event EventHandler CommandParameterChanged; +- [EditorBrowsableAttribute(2)] +- public DragDropEffects DoDragDrop(object data, DragDropEffects allowedEffects, Bitmap dragImage, Point cursorOffset, bool useDefaultDragImage); ++ [EditorBrowsableAttribute(2)] ++ public DragDropEffects DoDragDrop(object data, DragDropEffects allowedEffects, Bitmap? dragImage, Point cursorOffset, bool useDefaultDragImage); +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- protected virtual void OnCommandCanExecuteChanged(EventArgs e); ++ [EditorBrowsableAttribute(2)] ++ protected virtual void OnCommandCanExecuteChanged(EventArgs e); +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- protected virtual void OnCommandChanged(EventArgs e); ++ [EditorBrowsableAttribute(2)] ++ protected virtual void OnCommandChanged(EventArgs e); +- [EditorBrowsableAttribute(2)] +- [RequiresPreviewFeaturesAttribute] +- protected virtual void OnCommandParameterChanged(EventArgs e); ++ [EditorBrowsableAttribute(2)] ++ protected virtual void OnCommandParameterChanged(EventArgs e); +- [RequiresPreviewFeaturesAttribute] +- protected virtual void OnRequestCommandExecute(EventArgs e); ++ protected virtual void OnRequestCommandExecute(EventArgs 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); + } + [ToolStripItemDesignerAvailabilityAttribute(ToolStripItemDesignerAvailability.ToolStrip)] + public class ToolStripLabel : ToolStripItem { +- public ToolStripLabel(Image image); ++ public ToolStripLabel(Image? image); +- public ToolStripLabel(string text); ++ public ToolStripLabel(string? text); +- public ToolStripLabel(string text, Image image); ++ public ToolStripLabel(string? text, Image? image); +- public ToolStripLabel(string text, Image image, bool isLink); ++ public ToolStripLabel(string? text, Image? image, bool isLink); +- public ToolStripLabel(string text, Image image, bool isLink, EventHandler onClick); ++ public ToolStripLabel(string? text, Image? image, bool isLink, EventHandler? onClick); +- public ToolStripLabel(string text, Image image, bool isLink, EventHandler onClick, string name); ++ public ToolStripLabel(string? text, Image? image, bool isLink, EventHandler? onClick, string? name); + } + public static class ToolStripManager { +- public static ToolStripRenderer Renderer { get; set; } ++ [AllowNullAttribute] ++ public static ToolStripRenderer Renderer { get; set; } +- public static event EventHandler RendererChanged; ++ public static event EventHandler? RendererChanged; +- public static ToolStrip FindToolStrip(string toolStripName); ++ public static ToolStrip? FindToolStrip(string toolStripName); + } + [DesignerSerializerAttribute("System.Windows.Forms.Design.ToolStripMenuItemCodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.ComponentModel.Design.Serialization.CodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [ToolStripItemDesignerAvailabilityAttribute(ToolStripItemDesignerAvailability.ContextMenuStrip | ToolStripItemDesignerAvailability.MenuStrip)] + public class ToolStripMenuItem : ToolStripDropDownItem { +- public ToolStripMenuItem(Image image); ++ public ToolStripMenuItem(Image? image); +- public ToolStripMenuItem(string text); ++ public ToolStripMenuItem(string? text); +- public ToolStripMenuItem(string text, Image image); ++ public ToolStripMenuItem(string? text, Image? image); +- public ToolStripMenuItem(string text, Image image, EventHandler onClick); ++ public ToolStripMenuItem(string? text, Image? image, EventHandler? onClick); +- public ToolStripMenuItem(string text, Image image, EventHandler onClick, string name); ++ public ToolStripMenuItem(string? text, Image? image, EventHandler? onClick, string? name); +- public ToolStripMenuItem(string text, Image image, EventHandler onClick, Keys shortcutKeys); ++ public ToolStripMenuItem(string? text, Image? image, EventHandler? onClick, Keys shortcutKeys); +- public ToolStripMenuItem(string text, Image image, params ToolStripItem[] dropDownItems); ++ public ToolStripMenuItem(string? text, Image? image, params ToolStripItem[]? dropDownItems); +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(true)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("ToolStripMenuItemShortcutKeyDisplayStringDescr")] +- public string ShortcutKeyDisplayString { get; set; } ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(true)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("ToolStripMenuItemShortcutKeyDisplayStringDescr")] ++ public string? ShortcutKeyDisplayString { get; set; } +- [SRDescriptionAttribute("CheckBoxOnCheckedChangedDescr")] +- public event EventHandler CheckedChanged; ++ [SRDescriptionAttribute("CheckBoxOnCheckedChangedDescr")] ++ public event EventHandler? CheckedChanged; +- [SRDescriptionAttribute("CheckBoxOnCheckStateChangedDescr")] +- public event EventHandler CheckStateChanged; ++ [SRDescriptionAttribute("CheckBoxOnCheckStateChangedDescr")] ++ public event EventHandler? CheckStateChanged; + } + [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); + } + } + [DefaultPropertyAttribute("Value")] + public class ToolStripProgressBar : ToolStripControlHost { +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override string Text { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override string Text { get; set; } + } + [ToolStripItemDesignerAvailabilityAttribute(ToolStripItemDesignerAvailability.ContextMenuStrip | ToolStripItemDesignerAvailability.ToolStrip)] + public class ToolStripSeparator : ToolStripItem { +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override Font Font { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override Font Font { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public new string ImageKey { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public new string ImageKey { get; set; } + } + [DefaultEventAttribute("ButtonClick")] + [ToolStripItemDesignerAvailabilityAttribute(ToolStripItemDesignerAvailability.StatusStrip | ToolStripItemDesignerAvailability.ToolStrip)] + public class ToolStripSplitButton : ToolStripDropDownItem { +- public ToolStripSplitButton(Image image); ++ public ToolStripSplitButton(Image? image); +- public ToolStripSplitButton(string text); ++ public ToolStripSplitButton(string? text); +- public ToolStripSplitButton(string text, Image image); ++ public ToolStripSplitButton(string? text, Image? image); +- public ToolStripSplitButton(string text, Image image, EventHandler onClick); ++ public ToolStripSplitButton(string? text, Image? image, EventHandler? onClick); +- public ToolStripSplitButton(string text, Image image, EventHandler onClick, string name); ++ public ToolStripSplitButton(string? text, Image? image, EventHandler? onClick, string? name); +- public ToolStripSplitButton(string text, Image image, params ToolStripItem[] dropDownItems); ++ public ToolStripSplitButton(string? text, Image? image, params ToolStripItem[]? dropDownItems); +- [BrowsableAttribute(false)] +- [DefaultValueAttribute(null)] +- public ToolStripItem DefaultItem { get; set; } ++ [BrowsableAttribute(false)] ++ [DefaultValueAttribute(null)] ++ public ToolStripItem? DefaultItem { get; set; } +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("ToolStripSplitButtonOnButtonClickDescr")] +- public event EventHandler ButtonClick; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("ToolStripSplitButtonOnButtonClickDescr")] ++ public event EventHandler? ButtonClick; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("ToolStripSplitButtonOnButtonDoubleClickDescr")] +- public event EventHandler ButtonDoubleClick; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("ToolStripSplitButtonOnButtonDoubleClickDescr")] ++ public event EventHandler? ButtonDoubleClick; +- [SRCategoryAttribute("CatAction")] +- [SRDescriptionAttribute("ToolStripSplitButtonOnDefaultItemChangedDescr")] +- public event EventHandler DefaultItemChanged; ++ [SRCategoryAttribute("CatAction")] ++ [SRDescriptionAttribute("ToolStripSplitButtonOnDefaultItemChangedDescr")] ++ public event EventHandler? DefaultItemChanged; + } + [ToolStripItemDesignerAvailabilityAttribute(ToolStripItemDesignerAvailability.StatusStrip)] + public class ToolStripStatusLabel : ToolStripLabel, IAutomationLiveRegion { +- public ToolStripStatusLabel(Image image); ++ public ToolStripStatusLabel(Image? image); +- public ToolStripStatusLabel(string text); ++ public ToolStripStatusLabel(string? text); +- public ToolStripStatusLabel(string text, Image image); ++ public ToolStripStatusLabel(string? text, Image? image); +- public ToolStripStatusLabel(string text, Image image, EventHandler onClick); ++ public ToolStripStatusLabel(string? text, Image? image, EventHandler? onClick); +- public ToolStripStatusLabel(string text, Image image, EventHandler onClick, string name); ++ public ToolStripStatusLabel(string? text, Image? image, EventHandler? onClick, string? name); + } + [ToolStripItemDesignerAvailabilityAttribute(ToolStripItemDesignerAvailability.ContextMenuStrip | ToolStripItemDesignerAvailability.MenuStrip | ToolStripItemDesignerAvailability.ToolStrip)] + public class ToolStripTextBox : ToolStripControlHost { +- public ToolStripTextBox(string name); ++ public ToolStripTextBox(string? name); +- [BrowsableAttribute(true)] +- [DesignerSerializationVisibilityAttribute(2)] +- [EditorAttribute("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] +- [EditorBrowsableAttribute(0)] +- [LocalizableAttribute(true)] +- [SRDescriptionAttribute("TextBoxAutoCompleteCustomSourceDescr")] +- public AutoCompleteStringCollection AutoCompleteCustomSource { get; set; } ++ [BrowsableAttribute(true)] ++ [DesignerSerializationVisibilityAttribute(2)] ++ [EditorAttribute("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] ++ [EditorBrowsableAttribute(0)] ++ [LocalizableAttribute(true)] ++ [SRDescriptionAttribute("TextBoxAutoCompleteCustomSourceDescr")] ++ [AllowNullAttribute] ++ public AutoCompleteStringCollection AutoCompleteCustomSource { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override Image BackgroundImage { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ public override Image? BackgroundImage { get; set; } +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorAttribute("System.Windows.Forms.Design.StringArrayEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] +- [LocalizableAttribute(true)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("TextBoxLinesDescr")] +- public string[] Lines { get; set; } ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorAttribute("System.Windows.Forms.Design.StringArrayEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] ++ [LocalizableAttribute(true)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("TextBoxLinesDescr")] ++ [AllowNullAttribute] ++ public string[] Lines { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [SRCategoryAttribute("CatAppearance")] +- [SRDescriptionAttribute("TextBoxSelectedTextDescr")] +- public string SelectedText { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [SRCategoryAttribute("CatAppearance")] ++ [SRDescriptionAttribute("TextBoxSelectedTextDescr")] ++ [AllowNullAttribute] ++ public string SelectedText { get; set; } +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("TextBoxBaseOnAcceptsTabChangedDescr")] +- public event EventHandler AcceptsTabChanged; ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("TextBoxBaseOnAcceptsTabChangedDescr")] ++ public event EventHandler? AcceptsTabChanged; +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("TextBoxBaseOnBorderStyleChangedDescr")] +- public event EventHandler BorderStyleChanged; ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("TextBoxBaseOnBorderStyleChangedDescr")] ++ public event EventHandler? BorderStyleChanged; +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("TextBoxBaseOnHideSelectionChangedDescr")] +- public event EventHandler HideSelectionChanged; ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("TextBoxBaseOnHideSelectionChangedDescr")] ++ public event EventHandler? HideSelectionChanged; +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("TextBoxBaseOnModifiedChangedDescr")] +- public event EventHandler ModifiedChanged; ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("TextBoxBaseOnModifiedChangedDescr")] ++ public event EventHandler? ModifiedChanged; +- [BrowsableAttribute(false)] +- [EditorBrowsableAttribute(1)] +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("TextBoxBaseOnMultilineChangedDescr")] +- public event EventHandler MultilineChanged; ++ [BrowsableAttribute(false)] ++ [EditorBrowsableAttribute(1)] ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("TextBoxBaseOnMultilineChangedDescr")] ++ public event EventHandler? MultilineChanged; +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("TextBoxBaseOnReadOnlyChangedDescr")] +- public event EventHandler ReadOnlyChanged; ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("TextBoxBaseOnReadOnlyChangedDescr")] ++ public event EventHandler? ReadOnlyChanged; +- [SRCategoryAttribute("CatPropertyChanged")] +- [SRDescriptionAttribute("ToolStripTextBoxTextBoxTextAlignChangedDescr")] +- public event EventHandler TextBoxTextAlignChanged; ++ [SRCategoryAttribute("CatPropertyChanged")] ++ [SRDescriptionAttribute("ToolStripTextBoxTextBoxTextAlignChangedDescr")] ++ public event EventHandler? TextBoxTextAlignChanged; +- public void AppendText(string text); ++ public void AppendText(string? text); +- protected override void OnSubscribeControlEvents(Control control); ++ protected override void OnSubscribeControlEvents(Control? control); +- protected override void OnUnsubscribeControlEvents(Control control); ++ protected override void OnUnsubscribeControlEvents(Control? control); + } + [DefaultEventAttribute("Popup")] + [ProvidePropertyAttribute("ToolTip", typeof(Control))] + [SRDescriptionAttribute("DescriptionToolTip")] + [ToolboxItemFilterAttribute("System.Windows.Forms")] + public class ToolTip : Component, IExtenderProvider, IHandle { +- [BindableAttribute(true)] +- [DefaultValueAttribute(null)] +- [LocalizableAttribute(false)] +- [SRCategoryAttribute("CatData")] +- [SRDescriptionAttribute("ControlTagDescr")] +- [TypeConverterAttribute(typeof(StringConverter))] +- public object Tag { get; set; } ++ [BindableAttribute(true)] ++ [DefaultValueAttribute(null)] ++ [LocalizableAttribute(false)] ++ [SRCategoryAttribute("CatData")] ++ [SRDescriptionAttribute("ControlTagDescr")] ++ [TypeConverterAttribute(typeof(StringConverter))] ++ public object? Tag { get; set; } +- [DefaultValueAttribute("")] +- [SRDescriptionAttribute("ToolTipTitleDescr")] +- public string ToolTipTitle { get; set; } ++ [DefaultValueAttribute("")] ++ [SRDescriptionAttribute("ToolTipTitleDescr")] ++ [AllowNullAttribute] ++ public string ToolTipTitle { get; set; } +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ToolTipDrawEventDescr")] +- public event DrawToolTipEventHandler Draw; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ToolTipDrawEventDescr")] ++ public event DrawToolTipEventHandler? Draw; +- [SRCategoryAttribute("CatBehavior")] +- [SRDescriptionAttribute("ToolTipPopupEventDescr")] +- public event PopupEventHandler Popup; ++ [SRCategoryAttribute("CatBehavior")] ++ [SRDescriptionAttribute("ToolTipPopupEventDescr")] ++ public event PopupEventHandler? Popup; +- [DefaultValueAttribute("")] +- [EditorAttribute("System.ComponentModel.Design.MultilineStringEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] +- [LocalizableAttribute(true)] +- [SRDescriptionAttribute("ToolTipToolTipDescr")] +- public string GetToolTip(Control control); ++ [DefaultValueAttribute("")] ++ [EditorAttribute("System.ComponentModel.Design.MultilineStringEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] ++ [LocalizableAttribute(true)] ++ [SRDescriptionAttribute("ToolTipToolTipDescr")] ++ public string? GetToolTip(Control? control); +- 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); + } + [EditorAttribute("System.Windows.Forms.Design.TreeNodeCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] + public class TreeNodeCollection : ICollection, IEnumerable, IList { +- bool System.Collections.ICollection.IsSynchronized { get; } ++ bool ICollection.IsSynchronized { get; } +- object System.Collections.ICollection.SyncRoot { get; } ++ object ICollection.SyncRoot { get; } +- bool System.Collections.IList.IsFixedSize { get; } ++ bool IList.IsFixedSize { get; } +- object System.Collections.IList.this[int index] { get; set; } ++ object IList.this[int index] { get; set; } +- public virtual TreeNode Add(string text); ++ public virtual TreeNode Add(string? text); +- public virtual TreeNode Insert(int index, string text); ++ public virtual TreeNode Insert(int index, string? text); + } + [DefaultEventAttribute("DocumentCompleted")] + [DefaultPropertyAttribute("Url")] + [DesignerAttribute("System.Windows.Forms.Design.WebBrowserDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [DockingAttribute(DockingBehavior.AutoDock)] + [SRDescriptionAttribute("DescriptionWebBrowser")] + public class WebBrowser : WebBrowserBase { +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- public string DocumentText { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [AllowNullAttribute] ++ public string DocumentText { get; set; } +- public void Navigate(string urlString, string targetFrameName); ++ public void Navigate(string urlString, string? targetFrameName); + } + [DefaultEventAttribute("Enter")] + [DefaultPropertyAttribute("Name")] + [DesignerAttribute("System.Windows.Forms.Design.AxDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + public class WebBrowserBase : Control { +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override Cursor Cursor { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override Cursor Cursor { get; set; } +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override Font Font { get; set; } ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override Font Font { get; set; } +- [BindableAttribute(false)] +- [BrowsableAttribute(false)] +- [DesignerSerializationVisibilityAttribute(0)] +- [EditorBrowsableAttribute(1)] +- public override string Text { get; set; } ++ [BindableAttribute(false)] ++ [BrowsableAttribute(false)] ++ [DesignerSerializationVisibilityAttribute(0)] ++ [EditorBrowsableAttribute(1)] ++ [AllowNullAttribute] ++ public override string Text { get; set; } + } +- public class WebBrowserSiteBase : IDisposable, Interop.Ole32.IOleClientSite, Interop.Ole32.IOleControlSite, Interop.Ole32.IOleInPlaceSite, Interop.Ole32.IPropertyNotifySink, Interop.Ole32.ISimpleFrameSite ++ public class WebBrowserSiteBase : IDisposable, IOleClientSite.Interface, IOleControlSite.Interface, IOleInPlaceSite.Interface, IOleWindow.Interface, IPropertyNotifySink.Interface, ISimpleFrameSite.Interface + public sealed class WindowsFormsSynchronizationContext : SynchronizationContext, IDisposable { +- public override void Post(SendOrPostCallback d, object state); ++ public override void Post(SendOrPostCallback d, object? state); +- public override void Send(SendOrPostCallback d, object state); ++ public override void Send(SendOrPostCallback d, object? state); + } + } +``` + diff --git a/release-notes/8.0/8.0.0/api-diff/README.md b/release-notes/8.0/8.0.0/api-diff/README.md new file mode 100644 index 00000000000..d3dcefb57eb --- /dev/null +++ b/release-notes/8.0/8.0.0/api-diff/README.md @@ -0,0 +1,7 @@ +# .NET 8.0 GA API Changes + +The following API changes were made in .NET 8.0 GA: + +- [Microsoft.NETCore.App](./Microsoft.NETCore.App/8.0.0.md) +- [Microsoft.AspNetCore.App](./Microsoft.AspNetCore.App/8.0.0.md) +- [Microsoft.WindowsDesktop.App](./Microsoft.WindowsDesktop.App/8.0.0.md)