diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0.md new file mode 100644 index 0000000000..9e29555146 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0.md @@ -0,0 +1,49 @@ +# API difference between .NET 10.0 GA and .NET 11.0 Preview 7 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [Microsoft.AspNetCore.Components](11.0.0_Microsoft.AspNetCore.Components.md) +* [Microsoft.AspNetCore.Components.Authorization](11.0.0_Microsoft.AspNetCore.Components.Authorization.md) +* [Microsoft.AspNetCore.Components.Endpoints](11.0.0_Microsoft.AspNetCore.Components.Endpoints.md) +* [Microsoft.AspNetCore.Components.Forms](11.0.0_Microsoft.AspNetCore.Components.Forms.md) +* [Microsoft.AspNetCore.Components.Server](11.0.0_Microsoft.AspNetCore.Components.Server.md) +* [Microsoft.AspNetCore.Components.Web](11.0.0_Microsoft.AspNetCore.Components.Web.md) +* [Microsoft.AspNetCore.Connections.Abstractions](11.0.0_Microsoft.AspNetCore.Connections.Abstractions.md) +* [Microsoft.AspNetCore.DataProtection](11.0.0_Microsoft.AspNetCore.DataProtection.md) +* [Microsoft.AspNetCore.DataProtection.Abstractions](11.0.0_Microsoft.AspNetCore.DataProtection.Abstractions.md) +* [Microsoft.AspNetCore.Http.Abstractions](11.0.0_Microsoft.AspNetCore.Http.Abstractions.md) +* [Microsoft.AspNetCore.Http.Connections](11.0.0_Microsoft.AspNetCore.Http.Connections.md) +* [Microsoft.AspNetCore.Http.Connections.Common](11.0.0_Microsoft.AspNetCore.Http.Connections.Common.md) +* [Microsoft.AspNetCore.Http.Features](11.0.0_Microsoft.AspNetCore.Http.Features.md) +* [Microsoft.AspNetCore.Mvc.Abstractions](11.0.0_Microsoft.AspNetCore.Mvc.Abstractions.md) +* [Microsoft.AspNetCore.Mvc.Core](11.0.0_Microsoft.AspNetCore.Mvc.Core.md) +* [Microsoft.AspNetCore.Mvc.TagHelpers](11.0.0_Microsoft.AspNetCore.Mvc.TagHelpers.md) +* [Microsoft.AspNetCore.OutputCaching](11.0.0_Microsoft.AspNetCore.OutputCaching.md) +* [Microsoft.AspNetCore.ResponseCompression](11.0.0_Microsoft.AspNetCore.ResponseCompression.md) +* [Microsoft.AspNetCore.Routing](11.0.0_Microsoft.AspNetCore.Routing.md) +* [Microsoft.AspNetCore.Server.HttpSys](11.0.0_Microsoft.AspNetCore.Server.HttpSys.md) +* [Microsoft.AspNetCore.Server.Kestrel.Core](11.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.md) +* [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic](11.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.md) +* [Microsoft.AspNetCore.SignalR.Core](11.0.0_Microsoft.AspNetCore.SignalR.Core.md) +* [Microsoft.AspNetCore.StaticAssets](11.0.0_Microsoft.AspNetCore.StaticAssets.md) +* [Microsoft.Extensions.Caching.Abstractions](11.0.0_Microsoft.Extensions.Caching.Abstractions.md) +* [Microsoft.Extensions.Caching.Memory](11.0.0_Microsoft.Extensions.Caching.Memory.md) +* [Microsoft.Extensions.Configuration.Abstractions](11.0.0_Microsoft.Extensions.Configuration.Abstractions.md) +* [Microsoft.Extensions.Configuration.EnvironmentVariables](11.0.0_Microsoft.Extensions.Configuration.EnvironmentVariables.md) +* [Microsoft.Extensions.DependencyInjection.Abstractions](11.0.0_Microsoft.Extensions.DependencyInjection.Abstractions.md) +* [Microsoft.Extensions.Diagnostics](11.0.0_Microsoft.Extensions.Diagnostics.md) +* [Microsoft.Extensions.Diagnostics.Abstractions](11.0.0_Microsoft.Extensions.Diagnostics.Abstractions.md) +* [Microsoft.Extensions.FileProviders.Abstractions](11.0.0_Microsoft.Extensions.FileProviders.Abstractions.md) +* [Microsoft.Extensions.Hosting.Abstractions](11.0.0_Microsoft.Extensions.Hosting.Abstractions.md) +* [Microsoft.Extensions.Identity.Core](11.0.0_Microsoft.Extensions.Identity.Core.md) +* [Microsoft.Extensions.Identity.Stores](11.0.0_Microsoft.Extensions.Identity.Stores.md) +* [Microsoft.Extensions.Logging.Abstractions](11.0.0_Microsoft.Extensions.Logging.Abstractions.md) +* [Microsoft.Extensions.Options](11.0.0_Microsoft.Extensions.Options.md) +* [Microsoft.Extensions.Options.DataAnnotations](11.0.0_Microsoft.Extensions.Options.DataAnnotations.md) +* [Microsoft.Extensions.Primitives](11.0.0_Microsoft.Extensions.Primitives.md) +* [Microsoft.Extensions.Validation](11.0.0_Microsoft.Extensions.Validation.md) +* [Microsoft.Extensions.Validation.Localization](11.0.0_Microsoft.Extensions.Validation.Localization.md) +* [System.Diagnostics.EventLog](11.0.0_System.Diagnostics.EventLog.md) +* [System.Formats.Cbor](11.0.0_System.Formats.Cbor.md) +* [System.Security.Cryptography.Pkcs](11.0.0_System.Security.Cryptography.Pkcs.md) diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Authorization.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Authorization.md new file mode 100644 index 0000000000..603ccc8eae --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Authorization.md @@ -0,0 +1,12 @@ +# Microsoft.AspNetCore.Components.Authorization + +```diff + namespace Microsoft.AspNetCore.Components.Authorization + { ++ [Microsoft.AspNetCore.Components.CacheBehaviorAttribute(Microsoft.AspNetCore.Components.CacheBehavior.Throw)] ++ [Microsoft.AspNetCore.Components.CacheConditionAttribute(Microsoft.AspNetCore.Components.CacheVaryBy.User)] + public abstract class AuthorizeViewCore : Microsoft.AspNetCore.Components.ComponentBase + { + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Endpoints.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Endpoints.md new file mode 100644 index 0000000000..b3e6d59f86 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Endpoints.md @@ -0,0 +1,123 @@ +# Microsoft.AspNetCore.Components.Endpoints + +```diff + namespace Microsoft.AspNetCore.Builder + { + public static class RazorComponentsEndpointConventionBuilderExtensions + { ++ public static Microsoft.AspNetCore.Builder.RazorComponentsEndpointConventionBuilder WithBrowserOptions(this Microsoft.AspNetCore.Builder.RazorComponentsEndpointConventionBuilder builder, System.Action configureOptions); + } + } + namespace Microsoft.AspNetCore.Components + { ++ public sealed class BrowserOptions ++ { ++ public BrowserOptions(); ++ public Microsoft.Extensions.Logging.LogLevel? LogLevel { get; set; } ++ public Microsoft.AspNetCore.Components.InteractiveServerBrowserOptions Server { get; } ++ public Microsoft.AspNetCore.Components.SsrBrowserOptions Ssr { get; } ++ public Microsoft.AspNetCore.Components.WebAssemblyBrowserOptions WebAssembly { get; } ++ } ++ public static class BrowserOptionsHttpContextExtensions ++ { ++ public static Microsoft.AspNetCore.Components.BrowserOptions GetBrowserOptions(this Microsoft.AspNetCore.Http.HttpContext context); ++ } ++ public sealed class CacheView : Microsoft.AspNetCore.Components.IComponent, System.IDisposable ++ { ++ public CacheView(); ++ public void Dispose(); ++ void Microsoft.AspNetCore.Components.IComponent.Attach(Microsoft.AspNetCore.Components.RenderHandle renderHandle); ++ System.Threading.Tasks.Task? Microsoft.AspNetCore.Components.IComponent.SetParametersAsync(Microsoft.AspNetCore.Components.ParameterView parameters); ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public string? CacheKey { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public Microsoft.AspNetCore.Components.RenderFragment? ChildContent { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public bool Enabled { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public System.TimeSpan? ExpiresAfter { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public System.DateTimeOffset? ExpiresOn { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public System.TimeSpan? ExpiresSliding { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public string? VaryBy { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public string? VaryByCookie { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public bool VaryByCulture { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public string? VaryByHeader { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public string? VaryByQuery { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public string? VaryByRoute { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public bool VaryByUser { get; set; } ++ } ++ public sealed class ConfigureBrowser : Microsoft.AspNetCore.Components.IComponent ++ { ++ public ConfigureBrowser(); ++ void Microsoft.AspNetCore.Components.IComponent.Attach(Microsoft.AspNetCore.Components.RenderHandle renderHandle); ++ System.Threading.Tasks.Task Microsoft.AspNetCore.Components.IComponent.SetParametersAsync(Microsoft.AspNetCore.Components.ParameterView parameters); ++ [Microsoft.AspNetCore.Components.CascadingParameterAttribute] ++ public Microsoft.AspNetCore.Http.HttpContext? HttpContext { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ [Microsoft.AspNetCore.Components.EditorRequiredAttribute] ++ public Microsoft.AspNetCore.Components.BrowserOptions Options { get; set; } ++ } ++ public sealed class InteractiveServerBrowserOptions ++ { ++ public InteractiveServerBrowserOptions(); ++ [System.Text.Json.Serialization.JsonExtensionDataAttribute] ++ public System.Collections.Generic.IDictionary Extensions { get; } ++ public string? ReconnectionDialogId { get; set; } ++ public int? ReconnectionMaxRetries { get; set; } ++ [System.Text.Json.Serialization.JsonPropertyNameAttribute("reconnectionRetryIntervalMilliseconds")] ++ public System.TimeSpan? ReconnectionRetryInterval { get; set; } ++ } ++ public interface ITempData : System.Collections.Generic.IDictionary, System.Collections.Generic.ICollection>, System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable ++ { ++ object? Get(string key); ++ void Keep(); ++ void Keep(string key); ++ object? Peek(string key); ++ } ++ public sealed class SsrBrowserOptions ++ { ++ public SsrBrowserOptions(); ++ [System.Text.Json.Serialization.JsonPropertyNameAttribute("circuitInactivityTimeoutMs")] ++ public System.TimeSpan? CircuitInactivityTimeout { get; set; } ++ [System.Text.Json.Serialization.JsonPropertyNameAttribute("disableDomPreservation")] ++ public bool? PreserveDom { get; set; } ++ } ++ public sealed class WebAssemblyBrowserOptions ++ { ++ public WebAssemblyBrowserOptions(); ++ public string? ApplicationCulture { get; set; } ++ public string? EnvironmentName { get; set; } ++ public System.Collections.Generic.IDictionary EnvironmentVariables { get; } ++ } + } + namespace Microsoft.AspNetCore.Components.Endpoints + { + public sealed class RazorComponentsServiceOptions + { ++ public Microsoft.Extensions.Caching.Hybrid.HybridCache? CacheViewHybridCache { get; set; } ++ public long CacheViewSizeLimit { get; set; } ++ public Microsoft.AspNetCore.Http.CookieBuilder TempDataCookie { get; set; } ++ public Microsoft.AspNetCore.Components.Endpoints.TempDataProviderType TempDataProviderType { get; set; } + } ++ public sealed class BasePath : Microsoft.AspNetCore.Components.IComponent ++ { ++ public BasePath(); ++ void Microsoft.AspNetCore.Components.IComponent.Attach(Microsoft.AspNetCore.Components.RenderHandle renderHandle); ++ System.Threading.Tasks.Task Microsoft.AspNetCore.Components.IComponent.SetParametersAsync(Microsoft.AspNetCore.Components.ParameterView parameters); ++ } ++ public enum TempDataProviderType ++ { ++ Cookie = 0, ++ SessionStorage = 1, ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Forms.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Forms.md new file mode 100644 index 0000000000..01a53331b9 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Forms.md @@ -0,0 +1,64 @@ +# Microsoft.AspNetCore.Components.Forms + +```diff + namespace Microsoft.AspNetCore.Components.Forms + { + public class DataAnnotationsValidator : Microsoft.AspNetCore.Components.ComponentBase, System.IDisposable + { ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public bool EnableClientValidation { get; set; } + } + public sealed class EditContext + { ++ [System.ObsoleteAttribute("Validate is obsolete. Use ValidateAsync instead.")] + public bool Validate(); ++ public bool IsValidationFaulted(); ++ public bool IsValidationFaulted(in Microsoft.AspNetCore.Components.Forms.FieldIdentifier fieldIdentifier); ++ public bool IsValidationFaulted(System.Linq.Expressions.Expression> accessor); ++ public bool IsValidationPending(); ++ public bool IsValidationPending(in Microsoft.AspNetCore.Components.Forms.FieldIdentifier fieldIdentifier); ++ public bool IsValidationPending(System.Linq.Expressions.Expression> accessor); ++ public void RegisterAsyncFieldValidator(in Microsoft.AspNetCore.Components.Forms.FieldIdentifier fieldIdentifier, System.Func validator); ++ public System.Threading.Tasks.Task ValidateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public static class EditContextDataAnnotationsExtensions + { +- [System.ObsoleteAttribute("Use EnableDataAnnotationsValidation instead.")] +- public static Microsoft.AspNetCore.Components.Forms.EditContext AddDataAnnotationsValidation(this Microsoft.AspNetCore.Components.Forms.EditContext editContext); ++ public static System.IDisposable EnableDataAnnotationsValidation(this Microsoft.AspNetCore.Components.Forms.EditContext editContext, System.IServiceProvider serviceProvider); +- public static System.IDisposable EnableDataAnnotationsValidation(this Microsoft.AspNetCore.Components.Forms.EditContext editContext, System.IServiceProvider serviceProvider); +- [System.ObsoleteAttribute("This API is obsolete and may be removed in future versions. Use the overload that accepts an IServiceProvider instead.")] +- public static System.IDisposable EnableDataAnnotationsValidation(this Microsoft.AspNetCore.Components.Forms.EditContext editContext); + } + public sealed class ValidationRequestedEventArgs : System.EventArgs + { ++ public void AddAsyncValidator(System.Func validator); + } + } ++ namespace Microsoft.AspNetCore.Components.Forms.ClientValidation ++ { ++ public sealed class ClientValidationRule ++ { ++ public ClientValidationRule(string name, string errorMessage); ++ public Microsoft.AspNetCore.Components.Forms.ClientValidation.ClientValidationRule WithParameter(string name, object? value); ++ public string ErrorMessage { get; } ++ public string Name { get; } ++ public System.Collections.Generic.IReadOnlyDictionary Parameters { get; } ++ } ++ public interface IClientValidationAdapter ++ { ++ System.Collections.Generic.IEnumerable GetClientValidationRules(string errorMessage); ++ } ++ public interface IClientValidationService ++ { ++ System.Collections.Generic.IReadOnlyDictionary? GetClientValidationAttributes(Microsoft.AspNetCore.Components.Forms.FieldIdentifier fieldIdentifier); ++ } ++ } ++ namespace Microsoft.Extensions.DependencyInjection ++ { ++ public static class ClientValidationServiceCollectionExtensions ++ { ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddClientValidation(this Microsoft.Extensions.DependencyInjection.IServiceCollection services); ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Server.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Server.md new file mode 100644 index 0000000000..60b62c3b27 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Server.md @@ -0,0 +1,18 @@ +# Microsoft.AspNetCore.Components.Server + +```diff + namespace Microsoft.AspNetCore.Components.Server + { + public class ServerComponentsEndpointOptions + { ++ public System.Action? ConfigureConnection { get; set; } + } + } + namespace Microsoft.AspNetCore.Components.Server.Circuits + { + public sealed class Circuit + { ++ public System.Threading.Tasks.Task RequestCircuitPauseAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Web.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Web.md new file mode 100644 index 0000000000..e411dc7838 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.Web.md @@ -0,0 +1,157 @@ +# Microsoft.AspNetCore.Components.Web + +```diff + namespace Microsoft.AspNetCore.Components.Forms + { ++ [Microsoft.AspNetCore.Components.CacheBehaviorAttribute(Microsoft.AspNetCore.Components.CacheBehavior.Rerender)] + public class AntiforgeryToken : Microsoft.AspNetCore.Components.IComponent + { + } + public abstract class InputBase : Microsoft.AspNetCore.Components.ComponentBase, System.IDisposable + { ++ protected string IdAttributeValue { get; } + } + public class InputFile : Microsoft.AspNetCore.Components.ComponentBase, System.IDisposable + { ++ protected virtual void Dispose(bool disposing); + } +- [System.ObsoleteAttribute("RemoteJSDataStream defaults are utilized instead of the options here.")] +- public class RemoteBrowserFileStreamOptions +- { +- public RemoteBrowserFileStreamOptions(); +- public int MaxBufferSize { get; set; } +- public int MaxSegmentSize { get; set; } +- public System.TimeSpan SegmentFetchTimeout { get; set; } +- } ++ public sealed class DisplayName : Microsoft.AspNetCore.Components.IComponent ++ { ++ public DisplayName(); ++ void Microsoft.AspNetCore.Components.IComponent.Attach(Microsoft.AspNetCore.Components.RenderHandle renderHandle); ++ System.Threading.Tasks.Task Microsoft.AspNetCore.Components.IComponent.SetParametersAsync(Microsoft.AspNetCore.Components.ParameterView parameters); ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ [Microsoft.AspNetCore.Components.EditorRequiredAttribute] ++ public System.Linq.Expressions.Expression>? For { get; set; } ++ } ++ public sealed class Label : Microsoft.AspNetCore.Components.IComponent ++ { ++ public Label(); ++ void Microsoft.AspNetCore.Components.IComponent.Attach(Microsoft.AspNetCore.Components.RenderHandle renderHandle); ++ System.Threading.Tasks.Task? Microsoft.AspNetCore.Components.IComponent.SetParametersAsync(Microsoft.AspNetCore.Components.ParameterView parameters); ++ [Microsoft.AspNetCore.Components.ParameterAttribute(CaptureUnmatchedValues = true)] ++ public System.Collections.Generic.IReadOnlyDictionary? AdditionalAttributes { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public Microsoft.AspNetCore.Components.RenderFragment? ChildContent { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ [Microsoft.AspNetCore.Components.EditorRequiredAttribute] ++ public System.Linq.Expressions.Expression>? For { get; set; } ++ } + } + namespace Microsoft.AspNetCore.Components.RenderTree + { + public abstract class WebRenderer : Microsoft.AspNetCore.Components.RenderTree.Renderer + { +- protected int RendererId { get; init; } ++ protected int RendererId { get; } + } + } + namespace Microsoft.AspNetCore.Components.Routing + { + public class NavLink : Microsoft.AspNetCore.Components.ComponentBase, System.IDisposable + { ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public bool RelativeToCurrentUri { get; set; } + } + } + namespace Microsoft.AspNetCore.Components.Web + { ++ [Microsoft.AspNetCore.Components.CacheBehaviorAttribute(Microsoft.AspNetCore.Components.CacheBehavior.Rerender)] + public sealed class HeadOutlet : Microsoft.AspNetCore.Components.ComponentBase + { + } +- public static class WebEventCallbackFactoryEventArgsExtensions +- { +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Action callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- [System.ObsoleteAttribute("This extension method is obsolete and will be removed in a future version. Use the generic overload instead.")] +- public static Microsoft.AspNetCore.Components.EventCallback Create(this Microsoft.AspNetCore.Components.EventCallbackFactory factory, object receiver, System.Func callback); +- } ++ public sealed class EnvironmentView : Microsoft.AspNetCore.Components.ComponentBase ++ { ++ public EnvironmentView(); ++ protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder builder); ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public Microsoft.AspNetCore.Components.RenderFragment? ChildContent { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public string? Exclude { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public string? Include { get; set; } ++ } ++ public sealed class SupplyParameterFromSessionAttribute : Microsoft.AspNetCore.Components.CascadingParameterAttributeBase ++ { ++ public SupplyParameterFromSessionAttribute(); ++ public string? Name { get; set; } ++ } ++ public sealed class SupplyParameterFromTempDataAttribute : Microsoft.AspNetCore.Components.CascadingParameterAttributeBase ++ { ++ public SupplyParameterFromTempDataAttribute(); ++ public string? Name { get; set; } ++ } + } + namespace Microsoft.AspNetCore.Components.Web.Virtualization + { ++ [Microsoft.AspNetCore.Components.CacheBehaviorAttribute(Microsoft.AspNetCore.Components.CacheBehavior.Throw)] + public sealed class Virtualize : Microsoft.AspNetCore.Components.ComponentBase, System.IAsyncDisposable + { ++ public System.Threading.Tasks.Task ScrollToItemAsync(int itemIndex, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public Microsoft.AspNetCore.Components.Web.Virtualization.VirtualizeAnchorMode AnchorMode { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public int InitialItemIndex { get; set; } ++ [Microsoft.AspNetCore.Components.ParameterAttribute] ++ public System.Collections.Generic.IEqualityComparer ItemComparer { get; set; } + } ++ [System.FlagsAttribute] ++ public enum VirtualizeAnchorMode ++ { ++ None = 0, ++ Start = 1, ++ End = 2, ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.md new file mode 100644 index 0000000000..31e9634045 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Components.md @@ -0,0 +1,82 @@ +# Microsoft.AspNetCore.Components + +```diff + namespace Microsoft.AspNetCore.Components + { + public sealed class LayoutAttribute : System.Attribute + { ++ [System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute((System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)(-1))] + public System.Type LayoutType { get; } + } + public static class NavigationManagerExtensions + { ++ public static string GetUriWithFragment(this Microsoft.AspNetCore.Components.NavigationManager navigationManager, string? fragment); + } + public readonly struct NavigationOptions + { ++ public bool RelativeToCurrentUri { get; init; } + } +- public delegate Microsoft.AspNetCore.Components.RenderFragment RenderFragment(TValue value); ++ public delegate Microsoft.AspNetCore.Components.RenderFragment RenderFragment(TValue value); ++ public enum CacheBehavior ++ { ++ Rerender = 0, ++ Throw = 1, ++ } ++ public sealed class CacheBehaviorAttribute : System.Attribute ++ { ++ public CacheBehaviorAttribute(Microsoft.AspNetCore.Components.CacheBehavior behavior); ++ public Microsoft.AspNetCore.Components.CacheBehavior Behavior { get; } ++ } ++ public sealed class CacheConditionAttribute : System.Attribute ++ { ++ public CacheConditionAttribute(Microsoft.AspNetCore.Components.CacheVaryBy varyBy); ++ public Microsoft.AspNetCore.Components.CacheVaryBy VaryBy { get; } ++ } ++ [System.FlagsAttribute] ++ public enum CacheVaryBy ++ { ++ None = 0, ++ Query = 1, ++ User = 16, ++ Route = 2, ++ Culture = 32, ++ Header = 4, ++ Cookie = 8, ++ } ++ public abstract class CascadingParameterSubscription : System.IDisposable ++ { ++ protected CascadingParameterSubscription(); ++ public abstract void Dispose(); ++ public abstract object? GetCurrentValue(); ++ } ++ public interface IComponentPropertyActivator ++ { ++ System.Action GetActivator(System.Type componentType); ++ } + } + namespace Microsoft.AspNetCore.Components.Rendering + { + public sealed class RenderTreeBuilder : System.IDisposable + { ++ public void SetAttributeValue(int frameIndex, object? value); + } + } + namespace Microsoft.AspNetCore.Components.Routing + { + public class Router : Microsoft.AspNetCore.Components.IComponent, Microsoft.AspNetCore.Components.IHandleAfterRender, System.IDisposable + { +- [System.ObsoleteAttribute("This property is obsolete and configuring it has no effect.")] +- [Microsoft.AspNetCore.Components.ParameterAttribute] +- public bool PreferExactMatches { get; set; } + } + } + namespace Microsoft.Extensions.DependencyInjection + { + public static class CascadingValueServiceCollectionExtensions + { ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection TryAddCascadingValueSupplier(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, System.Func> subscribeFactory) ++ where TAttribute : Microsoft.AspNetCore.Components.CascadingParameterAttributeBase; + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Connections.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Connections.Abstractions.md new file mode 100644 index 0000000000..a96750826b --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Connections.Abstractions.md @@ -0,0 +1,20 @@ +# Microsoft.AspNetCore.Connections.Abstractions + +```diff + namespace Microsoft.AspNetCore.Connections.Features + { + public interface ITlsHandshakeFeature + { ++ System.Exception? Exception { get; } + } ++ public interface IAuthenticationRefreshFeature ++ { ++ System.Threading.Tasks.Task RefreshAuthenticationAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ System.TimeSpan? InitialTokenLifetime { get; } ++ } ++ public interface IConnectionUserRefreshFeature ++ { ++ System.IDisposable OnUserRefreshed(System.Action callback, object? state); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.DataProtection.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.DataProtection.Abstractions.md new file mode 100644 index 0000000000..98eddee20d --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.DataProtection.Abstractions.md @@ -0,0 +1,14 @@ +# Microsoft.AspNetCore.DataProtection.Abstractions + +```diff + namespace Microsoft.AspNetCore.DataProtection + { ++ public interface ISpanDataProtector : Microsoft.AspNetCore.DataProtection.IDataProtector, Microsoft.AspNetCore.DataProtection.IDataProtectionProvider ++ { ++ void Protect(System.ReadOnlySpan plaintext, ref TWriter destination) ++ where TWriter : System.Buffers.IBufferWriter, allows ref struct; ++ void Unprotect(System.ReadOnlySpan protectedData, ref TWriter destination) ++ where TWriter : System.Buffers.IBufferWriter, allows ref struct; ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.DataProtection.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.DataProtection.md new file mode 100644 index 0000000000..99feffa31c --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.DataProtection.md @@ -0,0 +1,14 @@ +# Microsoft.AspNetCore.DataProtection + +```diff + namespace Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption + { ++ public interface ISpanAuthenticatedEncryptor : Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor ++ { ++ void Decrypt(System.ReadOnlySpan ciphertext, System.ReadOnlySpan additionalAuthenticatedData, ref TWriter destination) ++ where TWriter : System.Buffers.IBufferWriter, allows ref struct; ++ void Encrypt(System.ReadOnlySpan plaintext, System.ReadOnlySpan additionalAuthenticatedData, ref TWriter destination) ++ where TWriter : System.Buffers.IBufferWriter, allows ref struct; ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Abstractions.md new file mode 100644 index 0000000000..906032cf17 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Abstractions.md @@ -0,0 +1,17 @@ +# Microsoft.AspNetCore.Http.Abstractions + +```diff + namespace Microsoft.AspNetCore.Antiforgery + { ++ public sealed class CsrfProtectionResult ++ { ++ public static Microsoft.AspNetCore.Antiforgery.CsrfProtectionResult Allowed(); ++ public static Microsoft.AspNetCore.Antiforgery.CsrfProtectionResult Denied(); ++ public bool IsAllowed { get; } ++ } ++ public interface ICsrfProtection ++ { ++ System.Threading.Tasks.ValueTask ValidateAsync(Microsoft.AspNetCore.Http.HttpContext context); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Connections.Common.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Connections.Common.md new file mode 100644 index 0000000000..c23332c501 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Connections.Common.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.Http.Connections.Common + +```diff + namespace Microsoft.AspNetCore.Http.Connections + { + public class NegotiationResponse + { ++ public System.TimeSpan? TokenLifetime { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Connections.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Connections.md new file mode 100644 index 0000000000..2c503d1081 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Connections.md @@ -0,0 +1,25 @@ +# Microsoft.AspNetCore.Http.Connections + +```diff + namespace Microsoft.AspNetCore.Http.Connections + { + public class HttpConnectionDispatcherOptions + { ++ public bool EnableAuthenticationRefresh { get; set; } ++ public System.Func>? OnAuthenticationRefresh { get; set; } + } ++ public sealed class AuthenticationRefreshContext ++ { ++ public AuthenticationRefreshContext(); ++ public required string ConnectionId { get; init; } ++ public required Microsoft.AspNetCore.Http.HttpContext HttpContext { get; init; } ++ public required System.DateTimeOffset NewExpiration { get; init; } ++ public required System.Security.Claims.ClaimsPrincipal NewUser { get; init; } ++ public required System.Security.Claims.ClaimsPrincipal PreviousUser { get; init; } ++ } ++ public sealed class AuthenticationRefreshMetadata ++ { ++ public AuthenticationRefreshMetadata(); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Features.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Features.md new file mode 100644 index 0000000000..1559ef8cd1 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Http.Features.md @@ -0,0 +1,15 @@ +# Microsoft.AspNetCore.Http.Features + +```diff + namespace Microsoft.AspNetCore.Http.Features + { + public interface ITlsConnectionFeature + { ++ bool TryGetChannelBindingBytes(System.Security.Authentication.ExtendedProtection.ChannelBindingKind kind, out System.ReadOnlyMemory channelBindingToken); + } ++ [System.ObsoleteAttribute("ITlsTokenBindingFeature is deprecated. TLS Token Binding (RFC 8471) has not been adopted by browsers.", DiagnosticId = "ASPDEPR010", UrlFormat = "https://aka.ms/aspnet/deprecate/010")] + public interface ITlsTokenBindingFeature + { + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Mvc.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Mvc.Abstractions.md new file mode 100644 index 0000000000..b05ce8e1f2 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Mvc.Abstractions.md @@ -0,0 +1,19 @@ +# Microsoft.AspNetCore.Mvc.Abstractions + +```diff + namespace Microsoft.AspNetCore.Mvc.ApiExplorer + { + public class ApiDescription + { ++ public Microsoft.AspNetCore.Routing.Patterns.RoutePattern? RoutePattern { get; set; } + } + } + namespace Microsoft.AspNetCore.Mvc.ModelBinding.Metadata + { + public readonly struct ModelMetadataIdentity : System.IEquatable + { +- [System.ObsoleteAttribute("This API is obsolete and may be removed in a future release. Please use the overload that takes a PropertyInfo object.")] +- public static Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity ForProperty(System.Type modelType, string name, System.Type containerType); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Mvc.Core.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Mvc.Core.md new file mode 100644 index 0000000000..1c4620c8d5 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Mvc.Core.md @@ -0,0 +1,46 @@ +# Microsoft.AspNetCore.Mvc.Core + +```diff + namespace Microsoft.AspNetCore.Mvc + { +- [System.ObsoleteAttribute("This API is obsolete and will be removed in a future version. Consider removing usages.", DiagnosticId = "ASP5001", UrlFormat = "https://aka.ms/aspnetcore-warnings/{0}")] +- public enum CompatibilityVersion +- { +- Latest = System.Int32.MaxValue, +- Version_2_0 = 0, +- Version_2_1 = 1, +- Version_2_2 = 2, +- Version_3_0 = 3, +- } + } + namespace Microsoft.AspNetCore.Mvc.Infrastructure + { +- [System.ObsoleteAttribute("This API is obsolete and will be removed in a future version. Consider removing usages.", DiagnosticId = "ASP5001", UrlFormat = "https://aka.ms/aspnetcore-warnings/{0}")] +- public abstract class ConfigureCompatibilityOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class, System.Collections.Generic.IEnumerable +- { +- protected ConfigureCompatibilityOptions(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Options.IOptions compatibilityOptions); +- public virtual void PostConfigure(string? name, TOptions options); +- protected abstract System.Collections.Generic.IReadOnlyDictionary DefaultValues { get; } +- protected Microsoft.AspNetCore.Mvc.CompatibilityVersion Version { get; } +- } +- [System.ObsoleteAttribute("This API is obsolete and will be removed in a future version. Consider removing usages.", DiagnosticId = "ASP5001", UrlFormat = "https://aka.ms/aspnetcore-warnings/{0}")] +- public class MvcCompatibilityOptions +- { +- public MvcCompatibilityOptions(); +- public Microsoft.AspNetCore.Mvc.CompatibilityVersion CompatibilityVersion { get; set; } +- } + } + namespace Microsoft.Extensions.DependencyInjection + { + public static class MvcCoreMvcBuilderExtensions + { +- [System.ObsoleteAttribute("This API is obsolete and will be removed in a future version. Consider removing usages.", DiagnosticId = "ASP5001", UrlFormat = "https://aka.ms/aspnetcore-warnings/{0}")] +- public static Microsoft.Extensions.DependencyInjection.IMvcBuilder SetCompatibilityVersion(this Microsoft.Extensions.DependencyInjection.IMvcBuilder builder, Microsoft.AspNetCore.Mvc.CompatibilityVersion version); + } + public static class MvcCoreMvcCoreBuilderExtensions + { +- [System.ObsoleteAttribute("This API is obsolete and will be removed in a future version. Consider removing usages.", DiagnosticId = "ASP5001", UrlFormat = "https://aka.ms/aspnetcore-warnings/{0}")] +- public static Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder SetCompatibilityVersion(this Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder builder, Microsoft.AspNetCore.Mvc.CompatibilityVersion version); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Mvc.TagHelpers.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Mvc.TagHelpers.md new file mode 100644 index 0000000000..8bc7fee7b3 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Mvc.TagHelpers.md @@ -0,0 +1,16 @@ +# Microsoft.AspNetCore.Mvc.TagHelpers + +```diff + namespace Microsoft.AspNetCore.Mvc.TagHelpers + { + public class ImageTagHelper : Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper + { +- [System.ObsoleteAttribute("This constructor is obsolete and will be removed in a future version.")] +- public ImageTagHelper(Microsoft.AspNetCore.Hosting.IWebHostEnvironment hostingEnvironment, Microsoft.AspNetCore.Mvc.Razor.Infrastructure.TagHelperMemoryCacheProvider cacheProvider, Microsoft.AspNetCore.Mvc.ViewFeatures.IFileVersionProvider fileVersionProvider, System.Text.Encodings.Web.HtmlEncoder htmlEncoder, Microsoft.AspNetCore.Mvc.Routing.IUrlHelperFactory urlHelperFactory) : base(default(Microsoft.AspNetCore.Mvc.Routing.IUrlHelperFactory)!, default(System.Text.Encodings.Web.HtmlEncoder)!); +- [System.ObsoleteAttribute("This property is obsolete and will be removed in a future version.")] +- protected internal Microsoft.Extensions.Caching.Memory.IMemoryCache Cache { get; } +- [System.ObsoleteAttribute("This property is obsolete and will be removed in a future version.")] +- protected internal Microsoft.AspNetCore.Hosting.IWebHostEnvironment HostingEnvironment { get; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.OutputCaching.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.OutputCaching.md new file mode 100644 index 0000000000..4470ac0ac5 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.OutputCaching.md @@ -0,0 +1,12 @@ +# Microsoft.AspNetCore.OutputCaching + +```diff + namespace Microsoft.AspNetCore.OutputCaching + { ++ public interface IOutputCachePolicyProvider ++ { ++ System.Collections.Generic.IReadOnlyList GetBasePolicies(); ++ System.Threading.Tasks.ValueTask GetPolicyAsync(string policyName); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.ResponseCompression.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.ResponseCompression.md new file mode 100644 index 0000000000..5c2534376a --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.ResponseCompression.md @@ -0,0 +1,20 @@ +# Microsoft.AspNetCore.ResponseCompression + +```diff + namespace Microsoft.AspNetCore.ResponseCompression + { ++ public class ZstandardCompressionProvider : Microsoft.AspNetCore.ResponseCompression.ICompressionProvider ++ { ++ public ZstandardCompressionProvider(Microsoft.Extensions.Options.IOptions options); ++ public System.IO.Stream CreateStream(System.IO.Stream outputStream); ++ public string EncodingName { get; } ++ public bool SupportsFlush { get; } ++ } ++ public class ZstandardCompressionProviderOptions : Microsoft.Extensions.Options.IOptions ++ { ++ public ZstandardCompressionProviderOptions(); ++ public System.IO.Compression.ZstandardCompressionOptions CompressionOptions { get; set; } ++ Microsoft.AspNetCore.ResponseCompression.ZstandardCompressionProviderOptions Microsoft.Extensions.Options.IOptions.Value { get; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Routing.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Routing.md new file mode 100644 index 0000000000..1c84a9e9e3 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Routing.md @@ -0,0 +1,18 @@ +# Microsoft.AspNetCore.Routing + +```diff + namespace Microsoft.AspNetCore.Routing + { ++ public interface IShortCircuitMetadata ++ { ++ int? StatusCode { get; } ++ } ++ [System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] ++ public sealed class ShortCircuitAttribute : System.Attribute, Microsoft.AspNetCore.Routing.IShortCircuitMetadata ++ { ++ public ShortCircuitAttribute(); ++ public ShortCircuitAttribute(int statusCode); ++ public int? StatusCode { get; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Server.HttpSys.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Server.HttpSys.md new file mode 100644 index 0000000000..7089bee924 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Server.HttpSys.md @@ -0,0 +1,21 @@ +# Microsoft.AspNetCore.Server.HttpSys + +```diff + namespace Microsoft.AspNetCore.Server.HttpSys + { + public class HttpSysOptions + { ++ public Microsoft.AspNetCore.Server.HttpSys.HttpAuthenticationHardeningLevel HttpAuthenticationHardeningLevel { get; set; } + } + public interface IHttpSysRequestPropertyFeature + { ++ bool TryGetRequestProperty(int propertyId, System.ReadOnlySpan qualifier, System.Span output, out int bytesReturned); + } ++ public enum HttpAuthenticationHardeningLevel ++ { ++ Legacy = 0, ++ Medium = 1, ++ Strict = 2, ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.md new file mode 100644 index 0000000000..9945de6268 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Server.Kestrel.Core.md @@ -0,0 +1,19 @@ +# Microsoft.AspNetCore.Server.Kestrel.Core + +```diff + namespace Microsoft.AspNetCore.Hosting + { + public static class ListenOptionsHttpsExtensions + { ++ public static Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions UseTlsClientHelloListener(this Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions listenOptions, System.Action> tlsClientHelloBytesCallback, System.TimeSpan? timeout = null); + } + } + namespace Microsoft.AspNetCore.Server.Kestrel.Https + { + public class HttpsConnectionAdapterOptions + { ++ [System.ObsoleteAttribute("Use ListenOptions.UseTlsClientHelloListener() instead.", false)] + public System.Action>? TlsClientHelloBytesCallback { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.md new file mode 100644 index 0000000000..ee16ec7d85 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.md @@ -0,0 +1,18 @@ +# Microsoft.AspNetCore.Server.Kestrel.Transport.Quic + +```diff + namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Quic + { + public sealed class QuicTransportOptions + { +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public int MaxBidirectionalStreamCount { get; set; } +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public long? MaxReadBufferSize { get; set; } +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public int MaxUnidirectionalStreamCount { get; set; } +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public long? MaxWriteBufferSize { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.SignalR.Core.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.SignalR.Core.md new file mode 100644 index 0000000000..1c5bc89cbc --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.SignalR.Core.md @@ -0,0 +1,11 @@ +# Microsoft.AspNetCore.SignalR.Core + +```diff + namespace Microsoft.AspNetCore.SignalR + { + public abstract class Hub : System.IDisposable + { ++ public virtual System.Threading.Tasks.Task OnAuthenticationRefreshedAsync(); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.StaticAssets.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.StaticAssets.md new file mode 100644 index 0000000000..062b60e053 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.AspNetCore.StaticAssets.md @@ -0,0 +1,12 @@ +# Microsoft.AspNetCore.StaticAssets + +```diff + namespace Microsoft.AspNetCore.StaticAssets + { + public sealed class StaticAssetDescriptor + { ++ [System.Text.Json.Serialization.JsonIgnoreAttribute(Condition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull)] ++ public string? Order { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Caching.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Caching.Abstractions.md new file mode 100644 index 0000000000..9dd14174d0 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Caching.Abstractions.md @@ -0,0 +1,211 @@ +# Microsoft.Extensions.Caching.Abstractions + +```diff +- namespace Microsoft.Extensions.Caching.Distributed +- { +- public static class DistributedCacheEntryExtensions +- { +- public static Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.DateTimeOffset absolute); +- public static Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.TimeSpan relative); +- public static Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions SetSlidingExpiration(this Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.TimeSpan offset); +- } +- public class DistributedCacheEntryOptions +- { +- public DistributedCacheEntryOptions(); +- public System.DateTimeOffset? AbsoluteExpiration { get; set; } +- public System.TimeSpan? AbsoluteExpirationRelativeToNow { get; set; } +- public System.TimeSpan? SlidingExpiration { get; set; } +- } +- public static class DistributedCacheExtensions +- { +- public static string? GetString(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key); +- public static System.Threading.Tasks.Task GetStringAsync(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- public static void Set(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, byte[] value); +- public static System.Threading.Tasks.Task SetAsync(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, byte[] value, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- public static void SetString(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, string value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options); +- public static void SetString(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, string value); +- public static System.Threading.Tasks.Task SetStringAsync(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, string value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- public static System.Threading.Tasks.Task SetStringAsync(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, string value, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- } +- public interface IBufferDistributedCache : Microsoft.Extensions.Caching.Distributed.IDistributedCache +- { +- void Set(string key, System.Buffers.ReadOnlySequence value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options); +- System.Threading.Tasks.ValueTask SetAsync(string key, System.Buffers.ReadOnlySequence value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- bool TryGet(string key, System.Buffers.IBufferWriter destination); +- System.Threading.Tasks.ValueTask TryGetAsync(string key, System.Buffers.IBufferWriter destination, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- } +- public interface IDistributedCache +- { +- byte[]? Get(string key); +- System.Threading.Tasks.Task GetAsync(string key, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- void Refresh(string key); +- System.Threading.Tasks.Task RefreshAsync(string key, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- void Remove(string key); +- System.Threading.Tasks.Task RemoveAsync(string key, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- void Set(string key, byte[] value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options); +- System.Threading.Tasks.Task SetAsync(string key, byte[] value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- } +- } +- namespace Microsoft.Extensions.Caching.Hybrid +- { +- public abstract class HybridCache +- { +- protected HybridCache(); +- public System.Threading.Tasks.ValueTask GetOrCreateAsync(System.ReadOnlySpan key, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public System.Threading.Tasks.ValueTask GetOrCreateAsync(ref System.Runtime.CompilerServices.DefaultInterpolatedStringHandler key, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public System.Threading.Tasks.ValueTask GetOrCreateAsync(string key, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public virtual System.Threading.Tasks.ValueTask GetOrCreateAsync(System.ReadOnlySpan key, TState state, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public System.Threading.Tasks.ValueTask GetOrCreateAsync(ref System.Runtime.CompilerServices.DefaultInterpolatedStringHandler key, TState state, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public abstract System.Threading.Tasks.ValueTask GetOrCreateAsync(string key, TState state, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public virtual System.Threading.Tasks.ValueTask RemoveAsync(System.Collections.Generic.IEnumerable keys, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public abstract System.Threading.Tasks.ValueTask RemoveAsync(string key, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public virtual System.Threading.Tasks.ValueTask RemoveByTagAsync(System.Collections.Generic.IEnumerable tags, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public abstract System.Threading.Tasks.ValueTask RemoveByTagAsync(string tag, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- public abstract System.Threading.Tasks.ValueTask SetAsync(string key, T value, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- } +- [System.FlagsAttribute] +- public enum HybridCacheEntryFlags +- { +- None = 0, +- DisableLocalCacheRead = 1, +- DisableDistributedCache = 12, +- DisableUnderlyingData = 16, +- DisableLocalCacheWrite = 2, +- DisableLocalCache = 3, +- DisableCompression = 32, +- DisableDistributedCacheRead = 4, +- DisableDistributedCacheWrite = 8, +- } +- public sealed class HybridCacheEntryOptions +- { +- public HybridCacheEntryOptions(); +- public System.TimeSpan? Expiration { get; init; } +- public Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryFlags? Flags { get; init; } +- public System.TimeSpan? LocalCacheExpiration { get; init; } +- } +- public interface IHybridCacheSerializer +- { +- T Deserialize(System.Buffers.ReadOnlySequence source); +- void Serialize(T value, System.Buffers.IBufferWriter target); +- } +- public interface IHybridCacheSerializerFactory +- { +- bool TryCreateSerializer(out Microsoft.Extensions.Caching.Hybrid.IHybridCacheSerializer? serializer); +- } +- } +- namespace Microsoft.Extensions.Caching.Memory +- { +- public static class CacheEntryExtensions +- { +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry AddExpirationToken(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Primitives.IChangeToken expirationToken); +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry RegisterPostEvictionCallback(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Caching.Memory.PostEvictionDelegate callback, object? state); +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry RegisterPostEvictionCallback(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Caching.Memory.PostEvictionDelegate callback); +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, System.DateTimeOffset absolute); +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, System.TimeSpan relative); +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetOptions(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options); +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetPriority(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Caching.Memory.CacheItemPriority priority); +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetSize(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, long size); +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetSlidingExpiration(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, System.TimeSpan offset); +- public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetValue(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, object? value); +- } +- public static class CacheExtensions +- { +- public static object? Get(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key); +- public static TItem? Get(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key); +- public static TItem? GetOrCreate(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, System.Func factory, Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions? createOptions); +- public static TItem? GetOrCreate(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, System.Func factory); +- public static System.Threading.Tasks.Task GetOrCreateAsync(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, System.Func> factory, Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions? createOptions); +- public static System.Threading.Tasks.Task GetOrCreateAsync(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, System.Func> factory); +- public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value, Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions? options); +- public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value, Microsoft.Extensions.Primitives.IChangeToken expirationToken); +- public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value, System.DateTimeOffset absoluteExpiration); +- public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value, System.TimeSpan absoluteExpirationRelativeToNow); +- public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value); +- public static bool TryGetValue(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, out TItem? value); +- } +- public enum CacheItemPriority +- { +- Low = 0, +- Normal = 1, +- High = 2, +- NeverRemove = 3, +- } +- public enum EvictionReason +- { +- None = 0, +- Removed = 1, +- Replaced = 2, +- Expired = 3, +- TokenExpired = 4, +- Capacity = 5, +- } +- public interface ICacheEntry : System.IDisposable +- { +- System.DateTimeOffset? AbsoluteExpiration { get; set; } +- System.TimeSpan? AbsoluteExpirationRelativeToNow { get; set; } +- System.Collections.Generic.IList ExpirationTokens { get; } +- object Key { get; } +- System.Collections.Generic.IList PostEvictionCallbacks { get; } +- Microsoft.Extensions.Caching.Memory.CacheItemPriority Priority { get; set; } +- long? Size { get; set; } +- System.TimeSpan? SlidingExpiration { get; set; } +- object? Value { get; set; } +- } +- public interface IMemoryCache : System.IDisposable +- { +- Microsoft.Extensions.Caching.Memory.ICacheEntry CreateEntry(object key); +- Microsoft.Extensions.Caching.Memory.MemoryCacheStatistics? GetCurrentStatistics(); +- void Remove(object key); +- bool TryGetValue(object key, out object? value); +- } +- public static class MemoryCacheEntryExtensions +- { +- public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions AddExpirationToken(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, Microsoft.Extensions.Primitives.IChangeToken expirationToken); +- public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions RegisterPostEvictionCallback(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, Microsoft.Extensions.Caching.Memory.PostEvictionDelegate callback, object? state); +- public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions RegisterPostEvictionCallback(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, Microsoft.Extensions.Caching.Memory.PostEvictionDelegate callback); +- public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, System.DateTimeOffset absolute); +- public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, System.TimeSpan relative); +- public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetPriority(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, Microsoft.Extensions.Caching.Memory.CacheItemPriority priority); +- public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetSize(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, long size); +- public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetSlidingExpiration(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, System.TimeSpan offset); +- } +- public class MemoryCacheEntryOptions +- { +- public MemoryCacheEntryOptions(); +- public System.DateTimeOffset? AbsoluteExpiration { get; set; } +- public System.TimeSpan? AbsoluteExpirationRelativeToNow { get; set; } +- public System.Collections.Generic.IList ExpirationTokens { get; } +- public System.Collections.Generic.IList PostEvictionCallbacks { get; } +- public Microsoft.Extensions.Caching.Memory.CacheItemPriority Priority { get; set; } +- public long? Size { get; set; } +- public System.TimeSpan? SlidingExpiration { get; set; } +- } +- public class MemoryCacheStatistics +- { +- public MemoryCacheStatistics(); +- public long CurrentEntryCount { get; init; } +- public long? CurrentEstimatedSize { get; init; } +- public long TotalHits { get; init; } +- public long TotalMisses { get; init; } +- } +- public class PostEvictionCallbackRegistration +- { +- public PostEvictionCallbackRegistration(); +- public Microsoft.Extensions.Caching.Memory.PostEvictionDelegate? EvictionCallback { get; set; } +- public object? State { get; set; } +- } +- public delegate void PostEvictionDelegate(object key, object? value, Microsoft.Extensions.Caching.Memory.EvictionReason reason, object? state); +- } +- namespace Microsoft.Extensions.Internal +- { +- public interface ISystemClock +- { +- System.DateTimeOffset UtcNow { get; } +- } +- public class SystemClock : Microsoft.Extensions.Internal.ISystemClock +- { +- public SystemClock(); +- public System.DateTimeOffset UtcNow { get; } +- } +- } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Caching.Memory.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Caching.Memory.md new file mode 100644 index 0000000000..7587873416 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Caching.Memory.md @@ -0,0 +1,17 @@ +# Microsoft.Extensions.Caching.Memory + +```diff + namespace Microsoft.Extensions.Caching.Memory + { + public class MemoryCache : Microsoft.Extensions.Caching.Memory.IMemoryCache, System.IDisposable + { +- public MemoryCache(Microsoft.Extensions.Options.IOptions optionsAccessor, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory); ++ public MemoryCache(Microsoft.Extensions.Options.IOptions optionsAccessor, Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory); ++ public MemoryCache(Microsoft.Extensions.Options.IOptions optionsAccessor, Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory, System.Diagnostics.Metrics.IMeterFactory? meterFactory); + } + public class MemoryCacheOptions : Microsoft.Extensions.Options.IOptions + { ++ public string Name { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Configuration.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Configuration.Abstractions.md new file mode 100644 index 0000000000..258dd22d84 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Configuration.Abstractions.md @@ -0,0 +1,83 @@ +# Microsoft.Extensions.Configuration.Abstractions + +```diff +- namespace Microsoft.Extensions.Configuration +- { +- public readonly struct ConfigurationDebugViewContext +- { +- public ConfigurationDebugViewContext(string path, string key, string? value, Microsoft.Extensions.Configuration.IConfigurationProvider configurationProvider); +- public Microsoft.Extensions.Configuration.IConfigurationProvider ConfigurationProvider { get; } +- public string Key { get; } +- public string Path { get; } +- public string? Value { get; } +- } +- public static class ConfigurationExtensions +- { +- public static Microsoft.Extensions.Configuration.IConfigurationBuilder Add(this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, System.Action? configureSource) +- where TSource : Microsoft.Extensions.Configuration.IConfigurationSource, new(); +- public static System.Collections.Generic.IEnumerable> AsEnumerable(this Microsoft.Extensions.Configuration.IConfiguration configuration, bool makePathsRelative); +- public static System.Collections.Generic.IEnumerable> AsEnumerable(this Microsoft.Extensions.Configuration.IConfiguration configuration); +- public static bool Exists(this Microsoft.Extensions.Configuration.IConfigurationSection? section); +- public static string? GetConnectionString(this Microsoft.Extensions.Configuration.IConfiguration configuration, string name); +- public static Microsoft.Extensions.Configuration.IConfigurationSection GetRequiredSection(this Microsoft.Extensions.Configuration.IConfiguration configuration, string key); +- } +- public sealed class ConfigurationKeyNameAttribute : System.Attribute +- { +- public ConfigurationKeyNameAttribute(string name); +- public string Name { get; } +- } +- public static class ConfigurationPath +- { +- public static readonly string KeyDelimiter; +- public static string Combine(System.Collections.Generic.IEnumerable pathSegments); +- public static string Combine(params string[] pathSegments); +- public static string? GetParentPath(string? path); +- public static string? GetSectionKey(string? path); +- } +- public static class ConfigurationRootExtensions +- { +- public static string GetDebugView(this Microsoft.Extensions.Configuration.IConfigurationRoot root, System.Func? processValue); +- public static string GetDebugView(this Microsoft.Extensions.Configuration.IConfigurationRoot root); +- } +- public interface IConfiguration +- { +- System.Collections.Generic.IEnumerable GetChildren(); +- Microsoft.Extensions.Primitives.IChangeToken GetReloadToken(); +- Microsoft.Extensions.Configuration.IConfigurationSection GetSection(string key); +- string? this[string key] { get; set; } +- } +- public interface IConfigurationBuilder +- { +- Microsoft.Extensions.Configuration.IConfigurationBuilder Add(Microsoft.Extensions.Configuration.IConfigurationSource source); +- Microsoft.Extensions.Configuration.IConfigurationRoot Build(); +- System.Collections.Generic.IDictionary Properties { get; } +- System.Collections.Generic.IList Sources { get; } +- } +- public interface IConfigurationManager : Microsoft.Extensions.Configuration.IConfiguration, Microsoft.Extensions.Configuration.IConfigurationBuilder +- { +- } +- public interface IConfigurationProvider +- { +- System.Collections.Generic.IEnumerable GetChildKeys(System.Collections.Generic.IEnumerable earlierKeys, string? parentPath); +- Microsoft.Extensions.Primitives.IChangeToken GetReloadToken(); +- void Load(); +- void Set(string key, string? value); +- bool TryGet(string key, out string? value); +- } +- public interface IConfigurationRoot : Microsoft.Extensions.Configuration.IConfiguration +- { +- void Reload(); +- System.Collections.Generic.IEnumerable Providers { get; } +- } +- public interface IConfigurationSection : Microsoft.Extensions.Configuration.IConfiguration +- { +- string Key { get; } +- string Path { get; } +- string? Value { get; set; } +- } +- public interface IConfigurationSource +- { +- Microsoft.Extensions.Configuration.IConfigurationProvider Build(Microsoft.Extensions.Configuration.IConfigurationBuilder builder); +- } +- } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Configuration.EnvironmentVariables.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Configuration.EnvironmentVariables.md new file mode 100644 index 0000000000..dc78157641 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Configuration.EnvironmentVariables.md @@ -0,0 +1,24 @@ +# Microsoft.Extensions.Configuration.EnvironmentVariables + +```diff + namespace Microsoft.Extensions.Configuration + { + public static class EnvironmentVariablesExtensions + { ++ public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddEnvironmentVariables(this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string? prefix, System.Func? variableNameTransformation); + } + } + namespace Microsoft.Extensions.Configuration.EnvironmentVariables + { + public class EnvironmentVariablesConfigurationProvider : Microsoft.Extensions.Configuration.ConfigurationProvider + { ++ public EnvironmentVariablesConfigurationProvider(string? prefix, System.Func? variableNameTransformation); + } + public class EnvironmentVariablesConfigurationSource : Microsoft.Extensions.Configuration.IConfigurationSource + { ++ public static System.Func ColonAndDotTransformation { get; } ++ public static System.Func DefaultTransformation { get; } ++ public System.Func? VariableNameTransformation { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.DependencyInjection.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.DependencyInjection.Abstractions.md new file mode 100644 index 0000000000..db11b783f9 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.DependencyInjection.Abstractions.md @@ -0,0 +1,360 @@ +# Microsoft.Extensions.DependencyInjection.Abstractions + +```diff +- namespace Microsoft.Extensions.DependencyInjection +- { +- public static class ActivatorUtilities +- { +- public static Microsoft.Extensions.DependencyInjection.ObjectFactory CreateFactory(System.Type instanceType, System.Type[] argumentTypes); +- public static Microsoft.Extensions.DependencyInjection.ObjectFactory CreateFactory(System.Type[] argumentTypes); +- public static object CreateInstance(System.IServiceProvider provider, System.Type instanceType, params object[] parameters); +- public static T CreateInstance(System.IServiceProvider provider, params object[] parameters); +- public static object GetServiceOrCreateInstance(System.IServiceProvider provider, System.Type type); +- public static T GetServiceOrCreateInstance(System.IServiceProvider provider); +- } +- public class ActivatorUtilitiesConstructorAttribute : System.Attribute +- { +- public ActivatorUtilitiesConstructorAttribute(); +- } +- public readonly struct AsyncServiceScope : Microsoft.Extensions.DependencyInjection.IServiceScope, System.IDisposable, System.IAsyncDisposable +- { +- public AsyncServiceScope(Microsoft.Extensions.DependencyInjection.IServiceScope serviceScope); +- public readonly void Dispose(); +- public readonly System.Threading.Tasks.ValueTask DisposeAsync(); +- public System.IServiceProvider ServiceProvider { get; } +- } +- public class FromKeyedServicesAttribute : System.Attribute +- { +- public FromKeyedServicesAttribute(); +- public FromKeyedServicesAttribute(object? key); +- public object? Key { get; } +- public Microsoft.Extensions.DependencyInjection.ServiceKeyLookupMode LookupMode { get; } +- } +- public interface IKeyedServiceProvider : System.IServiceProvider +- { +- object? GetKeyedService(System.Type serviceType, object? serviceKey); +- object GetRequiredKeyedService(System.Type serviceType, object? serviceKey); +- } +- public interface IServiceCollection : System.Collections.Generic.ICollection, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable, System.Collections.Generic.IList +- { +- } +- public interface IServiceProviderFactory +- where TContainerBuilder : notnull +- { +- TContainerBuilder CreateBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection services); +- System.IServiceProvider CreateServiceProvider(TContainerBuilder containerBuilder); +- } +- public interface IServiceProviderIsKeyedService : Microsoft.Extensions.DependencyInjection.IServiceProviderIsService +- { +- bool IsKeyedService(System.Type serviceType, object? serviceKey); +- } +- public interface IServiceProviderIsService +- { +- bool IsService(System.Type serviceType); +- } +- public interface IServiceScope : System.IDisposable +- { +- System.IServiceProvider ServiceProvider { get; } +- } +- public interface IServiceScopeFactory +- { +- Microsoft.Extensions.DependencyInjection.IServiceScope CreateScope(); +- } +- public interface ISupportRequiredService +- { +- object GetRequiredService(System.Type serviceType); +- } +- public static class KeyedService +- { +- public static object AnyKey { get; } +- } +- public delegate object ObjectFactory(System.IServiceProvider serviceProvider, object?[]? arguments); +- public delegate T ObjectFactory(System.IServiceProvider serviceProvider, object?[]? arguments); +- public class ServiceCollection : Microsoft.Extensions.DependencyInjection.IServiceCollection, System.Collections.Generic.ICollection, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable, System.Collections.Generic.IList +- { +- public ServiceCollection(); +- public void Clear(); +- public bool Contains(Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); +- public void CopyTo(Microsoft.Extensions.DependencyInjection.ServiceDescriptor[] array, int arrayIndex); +- public System.Collections.Generic.IEnumerator GetEnumerator(); +- public int IndexOf(Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); +- public void Insert(int index, Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); +- public void MakeReadOnly(); +- public bool Remove(Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); +- public void RemoveAt(int index); +- void System.Collections.Generic.ICollection.Add(Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); +- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); +- public int Count { get; } +- public bool IsReadOnly { get; } +- public Microsoft.Extensions.DependencyInjection.ServiceDescriptor this[int index] { get { } set { } } +- } +- public static class ServiceCollectionServiceExtensions +- { +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, object implementationInstance); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, TService implementationInstance) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object implementationInstance); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, TService implementationInstance) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) +- where TService : class where TImplementation : class, TService; +- } +- public class ServiceDescriptor +- { +- public ServiceDescriptor(System.Type serviceType, System.Func factory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); +- public ServiceDescriptor(System.Type serviceType, object? serviceKey, System.Func factory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); +- public ServiceDescriptor(System.Type serviceType, object? serviceKey, object instance); +- public ServiceDescriptor(System.Type serviceType, object? serviceKey, System.Type implementationType, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); +- public ServiceDescriptor(System.Type serviceType, object instance); +- public ServiceDescriptor(System.Type serviceType, System.Type implementationType, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Describe(System.Type serviceType, System.Func implementationFactory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Describe(System.Type serviceType, System.Type implementationType, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor DescribeKeyed(System.Type serviceType, object? serviceKey, System.Func implementationFactory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor DescribeKeyed(System.Type serviceType, object? serviceKey, System.Type implementationType, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(System.Type service, object? serviceKey, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(System.Type service, object? serviceKey, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(object? serviceKey, System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(object? serviceKey, System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(object? serviceKey) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(System.Type serviceType, object? serviceKey, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(System.Type serviceType, object? serviceKey, object implementationInstance); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(System.Type service, object? serviceKey, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(object? serviceKey, TService implementationInstance) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(object? serviceKey, System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(object? serviceKey, System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(object? serviceKey) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(System.Type service, object? serviceKey, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(System.Type service, object? serviceKey, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(object? serviceKey, System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(object? serviceKey, System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(object? serviceKey) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped(System.Type service, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped(System.Type service, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped(System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped() +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped(System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Type serviceType, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Type serviceType, object implementationInstance); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Type service, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(TService implementationInstance) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton() +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public override string ToString(); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient(System.Type service, System.Func implementationFactory); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient(System.Type service, System.Type implementationType); +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient(System.Func implementationFactory) +- where TService : class; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient() +- where TService : class where TImplementation : class, TService; +- public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient(System.Func implementationFactory) +- where TService : class where TImplementation : class, TService; +- public System.Func? ImplementationFactory { get; } +- public object? ImplementationInstance { get; } +- [System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)] +- public System.Type? ImplementationType { get; } +- public bool IsKeyedService { get; } +- public System.Func? KeyedImplementationFactory { get; } +- public object? KeyedImplementationInstance { get; } +- [System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)] +- public System.Type? KeyedImplementationType { get; } +- public Microsoft.Extensions.DependencyInjection.ServiceLifetime Lifetime { get; } +- public object? ServiceKey { get; } +- public System.Type ServiceType { get; } +- } +- public class ServiceKeyAttribute : System.Attribute +- { +- public ServiceKeyAttribute(); +- } +- public enum ServiceKeyLookupMode +- { +- InheritKey = 0, +- NullKey = 1, +- ExplicitKey = 2, +- } +- public enum ServiceLifetime +- { +- Singleton = 0, +- Scoped = 1, +- Transient = 2, +- } +- public static class ServiceProviderKeyedServiceExtensions +- { +- public static object? GetKeyedService(this System.IServiceProvider provider, System.Type serviceType, object? serviceKey); +- public static T? GetKeyedService(this System.IServiceProvider provider, object? serviceKey); +- public static System.Collections.Generic.IEnumerable GetKeyedServices(this System.IServiceProvider provider, System.Type serviceType, object? serviceKey); +- public static System.Collections.Generic.IEnumerable GetKeyedServices(this System.IServiceProvider provider, object? serviceKey); +- public static object GetRequiredKeyedService(this System.IServiceProvider provider, System.Type serviceType, object? serviceKey); +- public static T GetRequiredKeyedService(this System.IServiceProvider provider, object? serviceKey) +- where T : notnull; +- } +- public static class ServiceProviderServiceExtensions +- { +- public static Microsoft.Extensions.DependencyInjection.AsyncServiceScope CreateAsyncScope(this Microsoft.Extensions.DependencyInjection.IServiceScopeFactory serviceScopeFactory); +- public static Microsoft.Extensions.DependencyInjection.AsyncServiceScope CreateAsyncScope(this System.IServiceProvider provider); +- public static Microsoft.Extensions.DependencyInjection.IServiceScope CreateScope(this System.IServiceProvider provider); +- public static object GetRequiredService(this System.IServiceProvider provider, System.Type serviceType); +- public static T GetRequiredService(this System.IServiceProvider provider) +- where T : notnull; +- public static T? GetService(this System.IServiceProvider provider); +- public static System.Collections.Generic.IEnumerable GetServices(this System.IServiceProvider provider, System.Type serviceType); +- public static System.Collections.Generic.IEnumerable GetServices(this System.IServiceProvider provider); +- } +- } +- namespace Microsoft.Extensions.DependencyInjection.Extensions +- { +- public static class ServiceCollectionDescriptorExtensions +- { +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection Add(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, Microsoft.Extensions.DependencyInjection.ServiceDescriptor descriptor); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection Add(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Collections.Generic.IEnumerable descriptors); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection RemoveAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type serviceType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection RemoveAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection RemoveAllKeyed(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type serviceType, object? serviceKey); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection RemoveAllKeyed(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection Replace(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, Microsoft.Extensions.DependencyInjection.ServiceDescriptor descriptor); +- public static void TryAdd(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, Microsoft.Extensions.DependencyInjection.ServiceDescriptor descriptor); +- public static void TryAdd(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Collections.Generic.IEnumerable descriptors); +- public static void TryAddEnumerable(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.DependencyInjection.ServiceDescriptor descriptor); +- public static void TryAddEnumerable(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Collections.Generic.IEnumerable descriptors); +- public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Func implementationFactory); +- public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Type implementationType); +- public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey); +- public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) +- where TService : class; +- public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) +- where TService : class; +- public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) +- where TService : class where TImplementation : class, TService; +- public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Func implementationFactory); +- public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Type implementationType); +- public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey); +- public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey, TService instance) +- where TService : class; +- public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) +- where TService : class; +- public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) +- where TService : class; +- public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) +- where TService : class where TImplementation : class, TService; +- public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Func implementationFactory); +- public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Type implementationType); +- public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey); +- public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) +- where TService : class; +- public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) +- where TService : class; +- public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) +- where TService : class where TImplementation : class, TService; +- public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Func implementationFactory); +- public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Type implementationType); +- public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service); +- public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where TService : class; +- public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) +- where TService : class; +- public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) +- where TService : class where TImplementation : class, TService; +- public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Func implementationFactory); +- public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Type implementationType); +- public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service); +- public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, TService instance) +- where TService : class; +- public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where TService : class; +- public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) +- where TService : class; +- public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) +- where TService : class where TImplementation : class, TService; +- public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Func implementationFactory); +- public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Type implementationType); +- public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service); +- public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where TService : class; +- public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) +- where TService : class; +- public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) +- where TService : class where TImplementation : class, TService; +- } +- } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Diagnostics.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Diagnostics.Abstractions.md new file mode 100644 index 0000000000..4a7873148e --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Diagnostics.Abstractions.md @@ -0,0 +1,70 @@ +# Microsoft.Extensions.Diagnostics.Abstractions + +```diff +- namespace Microsoft.Extensions.Diagnostics.Metrics +- { +- public interface IMetricsBuilder +- { +- Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } +- } +- public interface IMetricsListener +- { +- Microsoft.Extensions.Diagnostics.Metrics.MeasurementHandlers GetMeasurementHandlers(); +- void Initialize(Microsoft.Extensions.Diagnostics.Metrics.IObservableInstrumentsSource source); +- bool InstrumentPublished(System.Diagnostics.Metrics.Instrument instrument, out object? userState); +- void MeasurementsCompleted(System.Diagnostics.Metrics.Instrument instrument, object? userState); +- string Name { get; } +- } +- public class InstrumentRule +- { +- public InstrumentRule(string? meterName, string? instrumentName, string? listenerName, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes, bool enable); +- public bool Enable { get; } +- public string? InstrumentName { get; } +- public string? ListenerName { get; } +- public string? MeterName { get; } +- public Microsoft.Extensions.Diagnostics.Metrics.MeterScope Scopes { get; } +- } +- public interface IObservableInstrumentsSource +- { +- void RecordObservableInstruments(); +- } +- public class MeasurementHandlers +- { +- public MeasurementHandlers(); +- public System.Diagnostics.Metrics.MeasurementCallback? ByteHandler { get; set; } +- public System.Diagnostics.Metrics.MeasurementCallback? DecimalHandler { get; set; } +- public System.Diagnostics.Metrics.MeasurementCallback? DoubleHandler { get; set; } +- public System.Diagnostics.Metrics.MeasurementCallback? FloatHandler { get; set; } +- public System.Diagnostics.Metrics.MeasurementCallback? IntHandler { get; set; } +- public System.Diagnostics.Metrics.MeasurementCallback? LongHandler { get; set; } +- public System.Diagnostics.Metrics.MeasurementCallback? ShortHandler { get; set; } +- } +- [System.FlagsAttribute] +- public enum MeterScope +- { +- None = 0, +- Global = 1, +- Local = 2, +- } +- public static class MetricsBuilderExtensions +- { +- public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder AddListener(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, Microsoft.Extensions.Diagnostics.Metrics.IMetricsListener listener); +- public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder AddListener(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder) +- where T : class, Microsoft.Extensions.Diagnostics.Metrics.IMetricsListener; +- public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder ClearListeners(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder); +- public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder DisableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, string? meterName, string? instrumentName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes = (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Global) | (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Local)); +- public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder DisableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, string? meterName); +- public static Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions DisableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions options, string? meterName, string? instrumentName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes = (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Global) | (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Local)); +- public static Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions DisableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions options, string? meterName); +- public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder EnableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, string? meterName, string? instrumentName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes = (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Global) | (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Local)); +- public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder EnableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, string? meterName); +- public static Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions EnableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions options, string? meterName, string? instrumentName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes = (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Global) | (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Local)); +- public static Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions EnableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions options, string? meterName); +- } +- public class MetricsOptions +- { +- public MetricsOptions(); +- public System.Collections.Generic.IList Rules { get; } +- } +- } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Diagnostics.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Diagnostics.md new file mode 100644 index 0000000000..15a93026ff --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Diagnostics.md @@ -0,0 +1,24 @@ +# Microsoft.Extensions.Diagnostics + +```diff + namespace Microsoft.Extensions.DependencyInjection + { ++ public static class TracingServiceExtensions ++ { ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTracing(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configure); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTracing(this Microsoft.Extensions.DependencyInjection.IServiceCollection services); ++ } + } ++ namespace Microsoft.Extensions.Diagnostics.Tracing ++ { ++ public abstract class ActivityListenerConfigurationFactory ++ { ++ protected ActivityListenerConfigurationFactory(); ++ public abstract Microsoft.Extensions.Configuration.IConfiguration GetConfiguration(string listenerName); ++ } ++ public static class TracingBuilderConfigurationExtensions ++ { ++ public static Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder AddConfiguration(this Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder builder, Microsoft.Extensions.Configuration.IConfiguration configuration); ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.FileProviders.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.FileProviders.Abstractions.md new file mode 100644 index 0000000000..270a453b9b --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.FileProviders.Abstractions.md @@ -0,0 +1,61 @@ +# Microsoft.Extensions.FileProviders.Abstractions + +```diff +- namespace Microsoft.Extensions.FileProviders +- { +- public interface IDirectoryContents : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable +- { +- bool Exists { get; } +- } +- public interface IFileInfo +- { +- System.IO.Stream CreateReadStream(); +- bool Exists { get; } +- bool IsDirectory { get; } +- System.DateTimeOffset LastModified { get; } +- long Length { get; } +- string Name { get; } +- string? PhysicalPath { get; } +- } +- public interface IFileProvider +- { +- Microsoft.Extensions.FileProviders.IDirectoryContents GetDirectoryContents(string subpath); +- Microsoft.Extensions.FileProviders.IFileInfo GetFileInfo(string subpath); +- Microsoft.Extensions.Primitives.IChangeToken Watch(string filter); +- } +- public class NotFoundDirectoryContents : Microsoft.Extensions.FileProviders.IDirectoryContents, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable +- { +- public NotFoundDirectoryContents(); +- public System.Collections.Generic.IEnumerator GetEnumerator(); +- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); +- public bool Exists { get; } +- public static Microsoft.Extensions.FileProviders.NotFoundDirectoryContents Singleton { get; } +- } +- public class NotFoundFileInfo : Microsoft.Extensions.FileProviders.IFileInfo +- { +- public NotFoundFileInfo(string name); +- [System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute] +- public System.IO.Stream CreateReadStream(); +- public bool Exists { get; } +- public bool IsDirectory { get; } +- public System.DateTimeOffset LastModified { get; } +- public long Length { get; } +- public string Name { get; } +- public string? PhysicalPath { get; } +- } +- public sealed class NullChangeToken : Microsoft.Extensions.Primitives.IChangeToken +- { +- public System.IDisposable RegisterChangeCallback(System.Action callback, object? state); +- public bool ActiveChangeCallbacks { get; } +- public bool HasChanged { get; } +- public static Microsoft.Extensions.FileProviders.NullChangeToken Singleton { get; } +- } +- public class NullFileProvider : Microsoft.Extensions.FileProviders.IFileProvider +- { +- public NullFileProvider(); +- public Microsoft.Extensions.FileProviders.IDirectoryContents GetDirectoryContents(string subpath); +- public Microsoft.Extensions.FileProviders.IFileInfo GetFileInfo(string subpath); +- public Microsoft.Extensions.Primitives.IChangeToken Watch(string filter); +- } +- } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Hosting.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Hosting.Abstractions.md new file mode 100644 index 0000000000..07848c39a2 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Hosting.Abstractions.md @@ -0,0 +1,163 @@ +# Microsoft.Extensions.Hosting.Abstractions + +```diff +- namespace Microsoft.Extensions.DependencyInjection +- { +- public static class ServiceCollectionHostedServiceExtensions +- { +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddHostedService(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) +- where THostedService : class, Microsoft.Extensions.Hosting.IHostedService; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddHostedService(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) +- where THostedService : class, Microsoft.Extensions.Hosting.IHostedService; +- } +- } +- namespace Microsoft.Extensions.Hosting +- { +- public abstract class BackgroundService : Microsoft.Extensions.Hosting.IHostedService, System.IDisposable +- { +- protected BackgroundService(); +- public virtual void Dispose(); +- protected abstract System.Threading.Tasks.Task ExecuteAsync(System.Threading.CancellationToken stoppingToken); +- public virtual System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken); +- public virtual System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken); +- public virtual System.Threading.Tasks.Task? ExecuteTask { get; } +- } +- [System.ObsoleteAttribute("EnvironmentName has been deprecated. Use Microsoft.Extensions.Hosting.Environments instead.")] +- public static class EnvironmentName +- { +- public static readonly string Development; +- public static readonly string Production; +- public static readonly string Staging; +- } +- public static class Environments +- { +- public static readonly string Development; +- public static readonly string Production; +- public static readonly string Staging; +- } +- public sealed class HostAbortedException : System.Exception +- { +- public HostAbortedException(); +- public HostAbortedException(string? message, System.Exception? innerException); +- public HostAbortedException(string? message); +- } +- public class HostBuilderContext +- { +- public HostBuilderContext(System.Collections.Generic.IDictionary properties); +- public Microsoft.Extensions.Configuration.IConfiguration Configuration { get; set; } +- public Microsoft.Extensions.Hosting.IHostEnvironment HostingEnvironment { get; set; } +- public System.Collections.Generic.IDictionary Properties { get; } +- } +- public static class HostDefaults +- { +- public static readonly string ApplicationKey; +- public static readonly string ContentRootKey; +- public static readonly string EnvironmentKey; +- } +- public static class HostEnvironmentEnvExtensions +- { +- public static bool IsDevelopment(this Microsoft.Extensions.Hosting.IHostEnvironment hostEnvironment); +- public static bool IsEnvironment(this Microsoft.Extensions.Hosting.IHostEnvironment hostEnvironment, string environmentName); +- public static bool IsProduction(this Microsoft.Extensions.Hosting.IHostEnvironment hostEnvironment); +- public static bool IsStaging(this Microsoft.Extensions.Hosting.IHostEnvironment hostEnvironment); +- } +- public static class HostingAbstractionsHostBuilderExtensions +- { +- public static Microsoft.Extensions.Hosting.IHost Start(this Microsoft.Extensions.Hosting.IHostBuilder hostBuilder); +- public static System.Threading.Tasks.Task StartAsync(this Microsoft.Extensions.Hosting.IHostBuilder hostBuilder, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- } +- public static class HostingAbstractionsHostExtensions +- { +- public static void Run(this Microsoft.Extensions.Hosting.IHost host); +- public static System.Threading.Tasks.Task RunAsync(this Microsoft.Extensions.Hosting.IHost host, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- public static void Start(this Microsoft.Extensions.Hosting.IHost host); +- public static System.Threading.Tasks.Task StopAsync(this Microsoft.Extensions.Hosting.IHost host, System.TimeSpan timeout); +- public static void WaitForShutdown(this Microsoft.Extensions.Hosting.IHost host); +- public static System.Threading.Tasks.Task WaitForShutdownAsync(this Microsoft.Extensions.Hosting.IHost host, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); +- } +- public static class HostingEnvironmentExtensions +- { +- public static bool IsDevelopment(this Microsoft.Extensions.Hosting.IHostingEnvironment hostingEnvironment); +- public static bool IsEnvironment(this Microsoft.Extensions.Hosting.IHostingEnvironment hostingEnvironment, string environmentName); +- public static bool IsProduction(this Microsoft.Extensions.Hosting.IHostingEnvironment hostingEnvironment); +- public static bool IsStaging(this Microsoft.Extensions.Hosting.IHostingEnvironment hostingEnvironment); +- } +- [System.ObsoleteAttribute("IApplicationLifetime has been deprecated. Use Microsoft.Extensions.Hosting.IHostApplicationLifetime instead.")] +- public interface IApplicationLifetime +- { +- void StopApplication(); +- System.Threading.CancellationToken ApplicationStarted { get; } +- System.Threading.CancellationToken ApplicationStopped { get; } +- System.Threading.CancellationToken ApplicationStopping { get; } +- } +- public interface IHost : System.IDisposable +- { +- System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); +- System.IServiceProvider Services { get; } +- } +- public interface IHostApplicationBuilder +- { +- void ConfigureContainer(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory factory, System.Action? configure = null) +- where TContainerBuilder : notnull; +- Microsoft.Extensions.Configuration.IConfigurationManager Configuration { get; } +- Microsoft.Extensions.Hosting.IHostEnvironment Environment { get; } +- Microsoft.Extensions.Logging.ILoggingBuilder Logging { get; } +- Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder Metrics { get; } +- System.Collections.Generic.IDictionary Properties { get; } +- Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } +- } +- public interface IHostApplicationLifetime +- { +- void StopApplication(); +- System.Threading.CancellationToken ApplicationStarted { get; } +- System.Threading.CancellationToken ApplicationStopped { get; } +- System.Threading.CancellationToken ApplicationStopping { get; } +- } +- public interface IHostBuilder +- { +- Microsoft.Extensions.Hosting.IHost Build(); +- Microsoft.Extensions.Hosting.IHostBuilder ConfigureAppConfiguration(System.Action configureDelegate); +- Microsoft.Extensions.Hosting.IHostBuilder ConfigureContainer(System.Action configureDelegate); +- Microsoft.Extensions.Hosting.IHostBuilder ConfigureHostConfiguration(System.Action configureDelegate); +- Microsoft.Extensions.Hosting.IHostBuilder ConfigureServices(System.Action configureDelegate); +- Microsoft.Extensions.Hosting.IHostBuilder UseServiceProviderFactory(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory factory) +- where TContainerBuilder : notnull; +- Microsoft.Extensions.Hosting.IHostBuilder UseServiceProviderFactory(System.Func> factory) +- where TContainerBuilder : notnull; +- System.Collections.Generic.IDictionary Properties { get; } +- } +- public interface IHostedLifecycleService : Microsoft.Extensions.Hosting.IHostedService +- { +- System.Threading.Tasks.Task StartedAsync(System.Threading.CancellationToken cancellationToken); +- System.Threading.Tasks.Task StartingAsync(System.Threading.CancellationToken cancellationToken); +- System.Threading.Tasks.Task StoppedAsync(System.Threading.CancellationToken cancellationToken); +- System.Threading.Tasks.Task StoppingAsync(System.Threading.CancellationToken cancellationToken); +- } +- public interface IHostedService +- { +- System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken); +- System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken); +- } +- public interface IHostEnvironment +- { +- string ApplicationName { get; set; } +- Microsoft.Extensions.FileProviders.IFileProvider ContentRootFileProvider { get; set; } +- string ContentRootPath { get; set; } +- string EnvironmentName { get; set; } +- } +- [System.ObsoleteAttribute("IHostingEnvironment has been deprecated. Use Microsoft.Extensions.Hosting.IHostEnvironment instead.")] +- public interface IHostingEnvironment +- { +- string ApplicationName { get; set; } +- Microsoft.Extensions.FileProviders.IFileProvider ContentRootFileProvider { get; set; } +- string ContentRootPath { get; set; } +- string EnvironmentName { get; set; } +- } +- public interface IHostLifetime +- { +- System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken); +- System.Threading.Tasks.Task WaitForStartAsync(System.Threading.CancellationToken cancellationToken); +- } +- } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Identity.Core.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Identity.Core.md new file mode 100644 index 0000000000..fecf3e9758 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Identity.Core.md @@ -0,0 +1,11 @@ +# Microsoft.Extensions.Identity.Core + +```diff + namespace Microsoft.AspNetCore.Identity + { + public sealed class UserPasskeyInfo + { ++ public byte[]? Aaguid { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Identity.Stores.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Identity.Stores.md new file mode 100644 index 0000000000..6e5ece6d40 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Identity.Stores.md @@ -0,0 +1,26 @@ +# Microsoft.Extensions.Identity.Stores + +```diff + namespace Microsoft.AspNetCore.Identity + { + public class IdentityPasskeyData + { ++ public virtual byte[]? Aaguid { get; set; } + } + public abstract class RoleStoreBase : Microsoft.AspNetCore.Identity.IQueryableRoleStore, Microsoft.AspNetCore.Identity.IRoleStore, System.IDisposable, Microsoft.AspNetCore.Identity.IRoleClaimStore where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TKey : System.IEquatable where TUserRole : Microsoft.AspNetCore.Identity.IdentityUserRole, new() + where TRoleClaim : Microsoft.AspNetCore.Identity.IdentityRoleClaim, new() + { +- [System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "TKey is annoated with RequiresUnreferencedCodeAttribute.All.")] ++ [System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "TKey is annotated with RequiresUnreferencedCodeAttribute.All.")] + public virtual TKey? ConvertIdFromString(string? id); + } + public abstract class UserStoreBase : Microsoft.AspNetCore.Identity.IUserLoginStore, Microsoft.AspNetCore.Identity.IUserStore, System.IDisposable, Microsoft.AspNetCore.Identity.IUserClaimStore, Microsoft.AspNetCore.Identity.IUserPasswordStore, Microsoft.AspNetCore.Identity.IUserSecurityStampStore, Microsoft.AspNetCore.Identity.IUserEmailStore, Microsoft.AspNetCore.Identity.IUserLockoutStore, Microsoft.AspNetCore.Identity.IUserPhoneNumberStore, Microsoft.AspNetCore.Identity.IQueryableUserStore, Microsoft.AspNetCore.Identity.IUserTwoFactorStore, Microsoft.AspNetCore.Identity.IUserAuthenticationTokenStore, Microsoft.AspNetCore.Identity.IUserAuthenticatorKeyStore, Microsoft.AspNetCore.Identity.IUserTwoFactorRecoveryCodeStore where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TKey : System.IEquatable where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim, new() + where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin, new() + where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken, new() + { +- [System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "TKey is annoated with RequiresUnreferencedCodeAttribute.All.")] ++ [System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "TKey is annotated with RequiresUnreferencedCodeAttribute.All.")] + public virtual TKey? ConvertIdFromString(string? id); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Logging.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Logging.Abstractions.md new file mode 100644 index 0000000000..6e5e40ee70 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Logging.Abstractions.md @@ -0,0 +1,221 @@ +# Microsoft.Extensions.Logging.Abstractions + +```diff +- namespace Microsoft.Extensions.Logging +- { +- public readonly struct EventId : System.IEquatable +- { +- public EventId(int id, string? name = null); +- public readonly bool Equals(Microsoft.Extensions.Logging.EventId other); +- public override readonly bool Equals(object? obj); +- public override readonly int GetHashCode(); +- public static bool operator ==(Microsoft.Extensions.Logging.EventId left, Microsoft.Extensions.Logging.EventId right); +- public static implicit operator Microsoft.Extensions.Logging.EventId(int i); +- public static bool operator !=(Microsoft.Extensions.Logging.EventId left, Microsoft.Extensions.Logging.EventId right); +- public override readonly string ToString(); +- public int Id { get; } +- public string? Name { get; } +- } +- public interface IExternalScopeProvider +- { +- void ForEachScope(System.Action callback, TState state); +- System.IDisposable Push(object? state); +- } +- public interface ILogger +- { +- System.IDisposable? BeginScope(TState state) +- where TState : notnull; +- bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel); +- void Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func formatter); +- } +- public interface ILogger : Microsoft.Extensions.Logging.ILogger +- { +- } +- public interface ILoggerFactory : System.IDisposable +- { +- void AddProvider(Microsoft.Extensions.Logging.ILoggerProvider provider); +- Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName); +- } +- public interface ILoggerProvider : System.IDisposable +- { +- Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName); +- } +- public interface ILoggingBuilder +- { +- Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } +- } +- public interface ISupportExternalScope +- { +- void SetScopeProvider(Microsoft.Extensions.Logging.IExternalScopeProvider scopeProvider); +- } +- public class LogDefineOptions +- { +- public LogDefineOptions(); +- public bool SkipEnabledCheck { get; set; } +- } +- public class Logger : Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.ILogger +- { +- public Logger(Microsoft.Extensions.Logging.ILoggerFactory factory); +- System.IDisposable Microsoft.Extensions.Logging.ILogger.BeginScope(TState state); +- bool Microsoft.Extensions.Logging.ILogger.IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel); +- void Microsoft.Extensions.Logging.ILogger.Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception exception, System.Func formatter); +- } +- public static class LoggerExtensions +- { +- public static System.IDisposable? BeginScope(this Microsoft.Extensions.Logging.ILogger logger, string messageFormat, params object?[] args); +- public static void Log(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); +- public static void Log(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); +- public static void Log(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.LogLevel logLevel, System.Exception? exception, string? message, params object?[] args); +- public static void Log(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.LogLevel logLevel, string? message, params object?[] args); +- public static void LogCritical(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); +- public static void LogCritical(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); +- public static void LogCritical(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); +- public static void LogCritical(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); +- public static void LogDebug(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); +- public static void LogDebug(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); +- public static void LogDebug(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); +- public static void LogDebug(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); +- public static void LogError(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); +- public static void LogError(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); +- public static void LogError(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); +- public static void LogError(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); +- public static void LogInformation(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); +- public static void LogInformation(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); +- public static void LogInformation(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); +- public static void LogInformation(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); +- public static void LogTrace(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); +- public static void LogTrace(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); +- public static void LogTrace(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); +- public static void LogTrace(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); +- public static void LogWarning(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); +- public static void LogWarning(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); +- public static void LogWarning(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); +- public static void LogWarning(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); +- } +- public class LoggerExternalScopeProvider : Microsoft.Extensions.Logging.IExternalScopeProvider +- { +- public LoggerExternalScopeProvider(); +- public void ForEachScope(System.Action callback, TState state); +- public System.IDisposable Push(object? state); +- } +- public static class LoggerFactoryExtensions +- { +- public static Microsoft.Extensions.Logging.ILogger CreateLogger(this Microsoft.Extensions.Logging.ILoggerFactory factory, System.Type type); +- public static Microsoft.Extensions.Logging.ILogger CreateLogger(this Microsoft.Extensions.Logging.ILoggerFactory factory); +- } +- public static class LoggerMessage +- { +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); +- public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); +- public static System.Func DefineScope(string formatString); +- public static System.Func DefineScope(string formatString); +- public static System.Func DefineScope(string formatString); +- public static System.Func DefineScope(string formatString); +- public static System.Func DefineScope(string formatString); +- public static System.Func DefineScope(string formatString); +- public static System.Func DefineScope(string formatString); +- } +- public sealed class LoggerMessageAttribute : System.Attribute +- { +- public LoggerMessageAttribute(); +- public LoggerMessageAttribute(Microsoft.Extensions.Logging.LogLevel level, string message); +- public LoggerMessageAttribute(Microsoft.Extensions.Logging.LogLevel level); +- public LoggerMessageAttribute(int eventId, Microsoft.Extensions.Logging.LogLevel level, string message); +- public LoggerMessageAttribute(string message); +- public int EventId { get; set; } +- public string? EventName { get; set; } +- public Microsoft.Extensions.Logging.LogLevel Level { get; set; } +- public string Message { get; set; } +- public bool SkipEnabledCheck { get; set; } +- } +- public enum LogLevel +- { +- Trace = 0, +- Debug = 1, +- Information = 2, +- Warning = 3, +- Error = 4, +- Critical = 5, +- None = 6, +- } +- public class ProviderAliasAttribute : System.Attribute +- { +- public ProviderAliasAttribute(string alias); +- public string Alias { get; } +- } +- } +- namespace Microsoft.Extensions.Logging.Abstractions +- { +- public abstract class BufferedLogRecord +- { +- protected BufferedLogRecord(); +- public virtual System.Diagnostics.ActivitySpanId? ActivitySpanId { get; } +- public virtual System.Diagnostics.ActivityTraceId? ActivityTraceId { get; } +- public virtual System.Collections.Generic.IReadOnlyList> Attributes { get; } +- public abstract Microsoft.Extensions.Logging.EventId EventId { get; } +- public virtual string? Exception { get; } +- public virtual string? FormattedMessage { get; } +- public abstract Microsoft.Extensions.Logging.LogLevel LogLevel { get; } +- public virtual int? ManagedThreadId { get; } +- public virtual string? MessageTemplate { get; } +- public abstract System.DateTimeOffset Timestamp { get; } +- } +- public interface IBufferedLogger +- { +- void LogRecords(System.Collections.Generic.IEnumerable records); +- } +- public readonly struct LogEntry +- { +- public LogEntry(Microsoft.Extensions.Logging.LogLevel logLevel, string category, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func formatter); +- public string Category { get; } +- public Microsoft.Extensions.Logging.EventId EventId { get; } +- public System.Exception? Exception { get; } +- public System.Func Formatter { get; } +- public Microsoft.Extensions.Logging.LogLevel LogLevel { get; } +- public TState State { get; } +- } +- public sealed class NullLogger : Microsoft.Extensions.Logging.ILogger +- { +- public System.IDisposable BeginScope(TState state) +- where TState : notnull; +- public bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel); +- public void Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func formatter); +- public static Microsoft.Extensions.Logging.Abstractions.NullLogger Instance { get; } +- } +- public class NullLogger : Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.ILogger +- { +- public static readonly Microsoft.Extensions.Logging.Abstractions.NullLogger Instance; +- public NullLogger(); +- public System.IDisposable BeginScope(TState state) +- where TState : notnull; +- public bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel); +- public void Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func formatter); +- } +- public class NullLoggerFactory : Microsoft.Extensions.Logging.ILoggerFactory, System.IDisposable +- { +- public static readonly Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory Instance; +- public NullLoggerFactory(); +- public void AddProvider(Microsoft.Extensions.Logging.ILoggerProvider provider); +- public Microsoft.Extensions.Logging.ILogger CreateLogger(string name); +- public void Dispose(); +- } +- public sealed class NullLoggerProvider : Microsoft.Extensions.Logging.ILoggerProvider, System.IDisposable +- { +- public Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName); +- public void Dispose(); +- public static Microsoft.Extensions.Logging.Abstractions.NullLoggerProvider Instance { get; } +- } +- } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Options.DataAnnotations.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Options.DataAnnotations.md new file mode 100644 index 0000000000..4ed4b50bf3 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Options.DataAnnotations.md @@ -0,0 +1,11 @@ +# Microsoft.Extensions.Options.DataAnnotations + +```diff + namespace Microsoft.Extensions.Options + { + public class DataAnnotationValidateOptions : Microsoft.Extensions.Options.IValidateOptions, Microsoft.Extensions.Options.IAsyncValidateOptions where TOptions : class + { ++ public System.Threading.Tasks.Task ValidateAsync(string? name, TOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Options.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Options.md new file mode 100644 index 0000000000..ab6d493d92 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Options.md @@ -0,0 +1,436 @@ +# Microsoft.Extensions.Options + +```diff +- namespace Microsoft.Extensions.DependencyInjection +- { +- public static class OptionsBuilderExtensions +- { +- public static Microsoft.Extensions.Options.OptionsBuilder ValidateOnStart(this Microsoft.Extensions.Options.OptionsBuilder optionsBuilder) +- where TOptions : class; +- } +- public static class OptionsServiceCollectionExtensions +- { +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services); +- public static Microsoft.Extensions.Options.OptionsBuilder AddOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name) +- where TOptions : class; +- public static Microsoft.Extensions.Options.OptionsBuilder AddOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) +- where TOptions : class; +- public static Microsoft.Extensions.Options.OptionsBuilder AddOptionsWithValidateOnStart(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name = null) +- where TOptions : class; +- public static Microsoft.Extensions.Options.OptionsBuilder AddOptionsWithValidateOnStart(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name = null) +- where TOptions : class where TValidateOptions : class, Microsoft.Extensions.Options.IValidateOptions; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) +- where TOptions : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name, System.Action configureOptions) +- where TOptions : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection ConfigureAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) +- where TOptions : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection ConfigureOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object configureInstance); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection ConfigureOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type configureType); +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection ConfigureOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) +- where TConfigureOptions : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection PostConfigure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) +- where TOptions : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection PostConfigure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name, System.Action configureOptions) +- where TOptions : class; +- public static Microsoft.Extensions.DependencyInjection.IServiceCollection PostConfigureAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) +- where TOptions : class; +- } +- } +- namespace Microsoft.Extensions.Options +- { +- public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class +- { +- public ConfigureNamedOptions(string? name, System.Action? action); +- public void Configure(TOptions options); +- public virtual void Configure(string? name, TOptions options); +- public System.Action? Action { get; } +- public string? Name { get; } +- } +- public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep : class +- { +- public ConfigureNamedOptions(string? name, TDep dependency, System.Action? action); +- public void Configure(TOptions options); +- public virtual void Configure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep Dependency { get; } +- public string? Name { get; } +- } +- public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class +- { +- public ConfigureNamedOptions(string? name, TDep1 dependency, TDep2 dependency2, System.Action? action); +- public void Configure(TOptions options); +- public virtual void Configure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public string? Name { get; } +- } +- public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class +- { +- public ConfigureNamedOptions(string? name, TDep1 dependency, TDep2 dependency2, TDep3 dependency3, System.Action? action); +- public void Configure(TOptions options); +- public virtual void Configure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public TDep3 Dependency3 { get; } +- public string? Name { get; } +- } +- public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class +- { +- public ConfigureNamedOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, System.Action? action); +- public void Configure(TOptions options); +- public virtual void Configure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public TDep3 Dependency3 { get; } +- public TDep4 Dependency4 { get; } +- public string? Name { get; } +- } +- public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class where TDep5 : class +- { +- public ConfigureNamedOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, System.Action? action); +- public void Configure(TOptions options); +- public virtual void Configure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public TDep3 Dependency3 { get; } +- public TDep4 Dependency4 { get; } +- public TDep5 Dependency5 { get; } +- public string? Name { get; } +- } +- public class ConfigureOptions : Microsoft.Extensions.Options.IConfigureOptions where TOptions : class +- { +- public ConfigureOptions(System.Action? action); +- public virtual void Configure(TOptions options); +- public System.Action? Action { get; } +- } +- public interface IConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureOptions where TOptions : class +- { +- void Configure(string? name, TOptions options); +- } +- public interface IConfigureOptions +- where TOptions : class +- { +- void Configure(TOptions options); +- } +- public interface IOptions +- where TOptions : class +- { +- TOptions Value { get; } +- } +- public interface IOptionsChangeTokenSource +- { +- Microsoft.Extensions.Primitives.IChangeToken GetChangeToken(); +- string? Name { get; } +- } +- public interface IOptionsFactory +- where TOptions : class +- { +- TOptions Create(string name); +- } +- public interface IOptionsMonitor +- { +- TOptions Get(string? name); +- System.IDisposable? OnChange(System.Action listener); +- TOptions CurrentValue { get; } +- } +- public interface IOptionsMonitorCache +- where TOptions : class +- { +- void Clear(); +- TOptions GetOrAdd(string? name, System.Func createOptions); +- bool TryAdd(string? name, TOptions options); +- bool TryRemove(string? name); +- } +- public interface IOptionsSnapshot : Microsoft.Extensions.Options.IOptions where TOptions : class +- { +- TOptions Get(string? name); +- } +- public interface IPostConfigureOptions +- where TOptions : class +- { +- void PostConfigure(string? name, TOptions options); +- } +- public interface IStartupValidator +- { +- void Validate(); +- } +- public interface IValidateOptions +- where TOptions : class +- { +- Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); +- } +- public static class Options +- { +- public static readonly string DefaultName; +- public static Microsoft.Extensions.Options.IOptions Create(TOptions options) +- where TOptions : class; +- } +- public class OptionsBuilder where TOptions : class +- { +- public OptionsBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name); +- public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions); +- public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) +- where TDep : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) +- where TDep1 : class where TDep2 : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) +- where TDep1 : class where TDep2 : class where TDep3 : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) +- where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) +- where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class where TDep5 : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions); +- public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) +- where TDep : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) +- where TDep1 : class where TDep2 : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) +- where TDep1 : class where TDep2 : class where TDep3 : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) +- where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) +- where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class where TDep5 : class; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage); +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation); +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) +- where TDep : notnull; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) +- where TDep : notnull; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) +- where TDep1 : notnull where TDep2 : notnull; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) +- where TDep1 : notnull where TDep2 : notnull; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) +- where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) +- where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) +- where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) +- where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) +- where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull where TDep5 : notnull; +- public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) +- where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull where TDep5 : notnull; +- public string Name { get; } +- public Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } +- } +- public class OptionsCache : Microsoft.Extensions.Options.IOptionsMonitorCache where TOptions : class +- { +- public OptionsCache(); +- public void Clear(); +- public virtual TOptions GetOrAdd(string? name, System.Func createOptions); +- public virtual bool TryAdd(string? name, TOptions options); +- public virtual bool TryRemove(string? name); +- } +- public class OptionsFactory : Microsoft.Extensions.Options.IOptionsFactory where TOptions : class +- { +- public OptionsFactory(System.Collections.Generic.IEnumerable> setups, System.Collections.Generic.IEnumerable> postConfigures, System.Collections.Generic.IEnumerable> validations); +- public OptionsFactory(System.Collections.Generic.IEnumerable> setups, System.Collections.Generic.IEnumerable> postConfigures); +- public TOptions Create(string name); +- protected virtual TOptions CreateInstance(string name); +- } +- public class OptionsManager : Microsoft.Extensions.Options.IOptions, Microsoft.Extensions.Options.IOptionsSnapshot where TOptions : class +- { +- public OptionsManager(Microsoft.Extensions.Options.IOptionsFactory factory); +- public virtual TOptions Get(string? name); +- public TOptions Value { get; } +- } +- public class OptionsMonitor : Microsoft.Extensions.Options.IOptionsMonitor, System.IDisposable where TOptions : class +- { +- public OptionsMonitor(Microsoft.Extensions.Options.IOptionsFactory factory, System.Collections.Generic.IEnumerable> sources, Microsoft.Extensions.Options.IOptionsMonitorCache cache); +- public void Dispose(); +- public virtual TOptions Get(string? name); +- public System.IDisposable OnChange(System.Action listener); +- public TOptions CurrentValue { get; } +- } +- public static class OptionsMonitorExtensions +- { +- public static System.IDisposable? OnChange(this Microsoft.Extensions.Options.IOptionsMonitor monitor, System.Action listener); +- } +- public class OptionsValidationException : System.Exception +- { +- public OptionsValidationException(string optionsName, System.Type optionsType, System.Collections.Generic.IEnumerable? failureMessages); +- public System.Collections.Generic.IEnumerable Failures { get; } +- public override string Message { get; } +- public string OptionsName { get; } +- public System.Type OptionsType { get; } +- } +- public sealed class OptionsValidatorAttribute : System.Attribute +- { +- public OptionsValidatorAttribute(); +- } +- public class OptionsWrapper : Microsoft.Extensions.Options.IOptions where TOptions : class +- { +- public OptionsWrapper(TOptions options); +- public TOptions Value { get; } +- } +- public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class +- { +- public PostConfigureOptions(string? name, System.Action? action); +- public virtual void PostConfigure(string? name, TOptions options); +- public System.Action? Action { get; } +- public string? Name { get; } +- } +- public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep : class +- { +- public PostConfigureOptions(string? name, TDep dependency, System.Action? action); +- public void PostConfigure(TOptions options); +- public virtual void PostConfigure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep Dependency { get; } +- public string? Name { get; } +- } +- public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class +- { +- public PostConfigureOptions(string? name, TDep1 dependency, TDep2 dependency2, System.Action? action); +- public void PostConfigure(TOptions options); +- public virtual void PostConfigure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public string? Name { get; } +- } +- public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class +- { +- public PostConfigureOptions(string? name, TDep1 dependency, TDep2 dependency2, TDep3 dependency3, System.Action? action); +- public void PostConfigure(TOptions options); +- public virtual void PostConfigure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public TDep3 Dependency3 { get; } +- public string? Name { get; } +- } +- public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class +- { +- public PostConfigureOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, System.Action? action); +- public void PostConfigure(TOptions options); +- public virtual void PostConfigure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public TDep3 Dependency3 { get; } +- public TDep4 Dependency4 { get; } +- public string? Name { get; } +- } +- public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class where TDep5 : class +- { +- public PostConfigureOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, System.Action? action); +- public void PostConfigure(TOptions options); +- public virtual void PostConfigure(string? name, TOptions options); +- public System.Action? Action { get; } +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public TDep3 Dependency3 { get; } +- public TDep4 Dependency4 { get; } +- public TDep5 Dependency5 { get; } +- public string? Name { get; } +- } +- public sealed class ValidateEnumeratedItemsAttribute : System.Attribute +- { +- public ValidateEnumeratedItemsAttribute(); +- public ValidateEnumeratedItemsAttribute(System.Type validator); +- public System.Type? Validator { get; } +- } +- public sealed class ValidateObjectMembersAttribute : System.Attribute +- { +- public ValidateObjectMembersAttribute(); +- public ValidateObjectMembersAttribute(System.Type validator); +- public System.Type? Validator { get; } +- } +- public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class +- { +- public ValidateOptions(string? name, System.Func validation, string failureMessage); +- public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); +- public string FailureMessage { get; } +- public string? Name { get; } +- public System.Func Validation { get; } +- } +- public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class +- { +- public ValidateOptions(string? name, TDep dependency, System.Func validation, string failureMessage); +- public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); +- public TDep Dependency { get; } +- public string FailureMessage { get; } +- public string? Name { get; } +- public System.Func Validation { get; } +- } +- public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class +- { +- public ValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, System.Func validation, string failureMessage); +- public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public string FailureMessage { get; } +- public string? Name { get; } +- public System.Func Validation { get; } +- } +- public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class +- { +- public ValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, System.Func validation, string failureMessage); +- public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public TDep3 Dependency3 { get; } +- public string FailureMessage { get; } +- public string? Name { get; } +- public System.Func Validation { get; } +- } +- public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class +- { +- public ValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, System.Func validation, string failureMessage); +- public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public TDep3 Dependency3 { get; } +- public TDep4 Dependency4 { get; } +- public string FailureMessage { get; } +- public string? Name { get; } +- public System.Func Validation { get; } +- } +- public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class +- { +- public ValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, System.Func validation, string failureMessage); +- public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); +- public TDep1 Dependency1 { get; } +- public TDep2 Dependency2 { get; } +- public TDep3 Dependency3 { get; } +- public TDep4 Dependency4 { get; } +- public TDep5 Dependency5 { get; } +- public string FailureMessage { get; } +- public string? Name { get; } +- public System.Func Validation { get; } +- } +- public class ValidateOptionsResult +- { +- public static readonly Microsoft.Extensions.Options.ValidateOptionsResult Skip; +- public static readonly Microsoft.Extensions.Options.ValidateOptionsResult Success; +- public ValidateOptionsResult(); +- public static Microsoft.Extensions.Options.ValidateOptionsResult Fail(System.Collections.Generic.IEnumerable failures); +- public static Microsoft.Extensions.Options.ValidateOptionsResult Fail(string failureMessage); +- [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "FailureMessage")] +- [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "Failures")] +- public bool Failed { get; protected set; } +- public string? FailureMessage { get; protected set; } +- public System.Collections.Generic.IEnumerable? Failures { get; protected set; } +- public bool Skipped { get; protected set; } +- public bool Succeeded { get; protected set; } +- } +- public class ValidateOptionsResultBuilder +- { +- public ValidateOptionsResultBuilder(); +- public void AddError(string error, string? propertyName = null); +- public void AddResult(Microsoft.Extensions.Options.ValidateOptionsResult result); +- public void AddResult(System.ComponentModel.DataAnnotations.ValidationResult? result); +- public void AddResults(System.Collections.Generic.IEnumerable? results); +- public Microsoft.Extensions.Options.ValidateOptionsResult Build(); +- public void Clear(); +- } +- } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Primitives.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Primitives.md new file mode 100644 index 0000000000..f05b4b4259 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Primitives.md @@ -0,0 +1,187 @@ +# Microsoft.Extensions.Primitives + +```diff +- namespace Microsoft.Extensions.Primitives +- { +- public class CancellationChangeToken : Microsoft.Extensions.Primitives.IChangeToken +- { +- public CancellationChangeToken(System.Threading.CancellationToken cancellationToken); +- public System.IDisposable RegisterChangeCallback(System.Action callback, object? state); +- public bool ActiveChangeCallbacks { get; } +- public bool HasChanged { get; } +- } +- public static class ChangeToken +- { +- public static System.IDisposable OnChange(System.Func changeTokenProducer, System.Action changeTokenConsumer); +- public static System.IDisposable OnChange(System.Func changeTokenProducer, System.Action changeTokenConsumer, TState state); +- } +- public class CompositeChangeToken : Microsoft.Extensions.Primitives.IChangeToken +- { +- public CompositeChangeToken(System.Collections.Generic.IReadOnlyList changeTokens); +- public System.IDisposable RegisterChangeCallback(System.Action callback, object? state); +- public bool ActiveChangeCallbacks { get; } +- public System.Collections.Generic.IReadOnlyList ChangeTokens { get; } +- public bool HasChanged { get; } +- } +- public static class Extensions +- { +- public static System.Text.StringBuilder Append(this System.Text.StringBuilder builder, Microsoft.Extensions.Primitives.StringSegment segment); +- } +- public interface IChangeToken +- { +- System.IDisposable RegisterChangeCallback(System.Action callback, object? state); +- bool ActiveChangeCallbacks { get; } +- bool HasChanged { get; } +- } +- [System.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 void Append(Microsoft.Extensions.Primitives.StringSegment segment); +- public void Append(char c); +- public void Append(string? value, int offset, int count); +- public void Append(string? value); +- public override string? ToString(); +- public int Capacity { get; set; } +- } +- public readonly struct StringSegment : System.IEquatable, System.IEquatable +- { +- public static readonly Microsoft.Extensions.Primitives.StringSegment Empty; +- public StringSegment(string buffer, int offset, int length); +- public StringSegment(string? buffer); +- public readonly System.ReadOnlyMemory AsMemory(); +- public readonly System.ReadOnlySpan AsSpan(); +- public readonly System.ReadOnlySpan AsSpan(int start, int length); +- public readonly System.ReadOnlySpan AsSpan(int start); +- public static int Compare(Microsoft.Extensions.Primitives.StringSegment a, Microsoft.Extensions.Primitives.StringSegment b, System.StringComparison comparisonType); +- public readonly bool EndsWith(string text, System.StringComparison comparisonType); +- public static bool Equals(Microsoft.Extensions.Primitives.StringSegment a, Microsoft.Extensions.Primitives.StringSegment b, System.StringComparison comparisonType); +- public readonly bool Equals(Microsoft.Extensions.Primitives.StringSegment other, System.StringComparison comparisonType); +- public readonly bool Equals(Microsoft.Extensions.Primitives.StringSegment other); +- public override readonly bool Equals(object? obj); +- public readonly bool Equals(string? text, System.StringComparison comparisonType); +- public readonly bool Equals(string? text); +- public override readonly int GetHashCode(); +- public readonly int IndexOf(char c, int start, int count); +- public readonly int IndexOf(char c, int start); +- public readonly int IndexOf(char c); +- public readonly int IndexOfAny(char[] anyOf, int startIndex, int count); +- public readonly int IndexOfAny(char[] anyOf, int startIndex); +- public readonly int IndexOfAny(char[] anyOf); +- public static bool IsNullOrEmpty(Microsoft.Extensions.Primitives.StringSegment value); +- public readonly int LastIndexOf(char value); +- public static bool operator ==(Microsoft.Extensions.Primitives.StringSegment left, Microsoft.Extensions.Primitives.StringSegment right); +- public static implicit operator System.ReadOnlyMemory(Microsoft.Extensions.Primitives.StringSegment segment); +- public static implicit operator System.ReadOnlySpan(Microsoft.Extensions.Primitives.StringSegment segment); +- public static implicit operator Microsoft.Extensions.Primitives.StringSegment(string? value); +- public static bool operator !=(Microsoft.Extensions.Primitives.StringSegment left, Microsoft.Extensions.Primitives.StringSegment right); +- public readonly Microsoft.Extensions.Primitives.StringTokenizer Split(char[] chars); +- public readonly bool StartsWith(string text, System.StringComparison comparisonType); +- public readonly Microsoft.Extensions.Primitives.StringSegment Subsegment(int offset, int length); +- public readonly Microsoft.Extensions.Primitives.StringSegment Subsegment(int offset); +- public readonly string Substring(int offset, int length); +- public readonly string Substring(int offset); +- public override readonly string ToString(); +- public readonly Microsoft.Extensions.Primitives.StringSegment Trim(); +- public readonly Microsoft.Extensions.Primitives.StringSegment TrimEnd(); +- public readonly Microsoft.Extensions.Primitives.StringSegment TrimStart(); +- public string? Buffer { get; } +- [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "Buffer")] +- [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "Value")] +- public bool HasValue { get; } +- public char this[int index] { get { } } +- public int Length { get; } +- public int Offset { get; } +- public string? Value { get; } +- } +- public class StringSegmentComparer : System.Collections.Generic.IComparer, System.Collections.Generic.IEqualityComparer +- { +- public int Compare(Microsoft.Extensions.Primitives.StringSegment x, Microsoft.Extensions.Primitives.StringSegment y); +- public bool Equals(Microsoft.Extensions.Primitives.StringSegment x, Microsoft.Extensions.Primitives.StringSegment y); +- public int GetHashCode(Microsoft.Extensions.Primitives.StringSegment obj); +- public static Microsoft.Extensions.Primitives.StringSegmentComparer Ordinal { get; } +- public static Microsoft.Extensions.Primitives.StringSegmentComparer OrdinalIgnoreCase { get; } +- } +- public readonly struct StringTokenizer : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable +- { +- public StringTokenizer(Microsoft.Extensions.Primitives.StringSegment value, char[] separators); +- public StringTokenizer(string value, char[] separators); +- public readonly Microsoft.Extensions.Primitives.StringTokenizer.Enumerator GetEnumerator(); +- readonly System.Collections.Generic.IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator(); +- readonly System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); +- public struct Enumerator : System.Collections.Generic.IEnumerator, System.Collections.IEnumerator, System.IDisposable +- { +- public Enumerator(ref Microsoft.Extensions.Primitives.StringTokenizer tokenizer); +- public void Dispose(); +- public bool MoveNext(); +- public void Reset(); +- public Microsoft.Extensions.Primitives.StringSegment Current { get; } +- object System.Collections.IEnumerator.Current { get; } +- } +- } +- public readonly struct StringValues : System.Collections.Generic.ICollection, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable, System.Collections.Generic.IList, System.Collections.Generic.IReadOnlyCollection, System.Collections.Generic.IReadOnlyList, System.IEquatable, System.IEquatable, System.IEquatable +- { +- public static readonly Microsoft.Extensions.Primitives.StringValues Empty; +- public StringValues(string? value); +- public StringValues(string?[]? values); +- public static Microsoft.Extensions.Primitives.StringValues Concat(Microsoft.Extensions.Primitives.StringValues values1, Microsoft.Extensions.Primitives.StringValues values2); +- public static Microsoft.Extensions.Primitives.StringValues Concat(in Microsoft.Extensions.Primitives.StringValues values, string? value); +- public static Microsoft.Extensions.Primitives.StringValues Concat(string? value, in Microsoft.Extensions.Primitives.StringValues values); +- public static bool Equals(Microsoft.Extensions.Primitives.StringValues left, Microsoft.Extensions.Primitives.StringValues right); +- public static bool Equals(Microsoft.Extensions.Primitives.StringValues left, string? right); +- public static bool Equals(Microsoft.Extensions.Primitives.StringValues left, string?[]? right); +- public readonly bool Equals(Microsoft.Extensions.Primitives.StringValues other); +- public override readonly bool Equals(object? obj); +- public static bool Equals(string? left, Microsoft.Extensions.Primitives.StringValues right); +- public readonly bool Equals(string? other); +- public static bool Equals(string?[]? left, Microsoft.Extensions.Primitives.StringValues right); +- public readonly bool Equals(string?[]? other); +- public readonly Microsoft.Extensions.Primitives.StringValues.Enumerator GetEnumerator(); +- public override readonly int GetHashCode(); +- public static bool IsNullOrEmpty(Microsoft.Extensions.Primitives.StringValues value); +- public static bool operator ==(Microsoft.Extensions.Primitives.StringValues left, Microsoft.Extensions.Primitives.StringValues right); +- public static bool operator ==(Microsoft.Extensions.Primitives.StringValues left, object? right); +- public static bool operator ==(Microsoft.Extensions.Primitives.StringValues left, string? right); +- public static bool operator ==(Microsoft.Extensions.Primitives.StringValues left, string?[]? right); +- public static bool operator ==(object? left, Microsoft.Extensions.Primitives.StringValues right); +- public static bool operator ==(string? left, Microsoft.Extensions.Primitives.StringValues right); +- public static bool operator ==(string?[]? left, Microsoft.Extensions.Primitives.StringValues right); +- public static implicit operator string?(Microsoft.Extensions.Primitives.StringValues values); +- public static implicit operator string?[]?(Microsoft.Extensions.Primitives.StringValues value); +- public static implicit operator Microsoft.Extensions.Primitives.StringValues(string? value); +- public static implicit operator Microsoft.Extensions.Primitives.StringValues(string?[]? values); +- public static bool operator !=(Microsoft.Extensions.Primitives.StringValues left, Microsoft.Extensions.Primitives.StringValues right); +- public static bool operator !=(Microsoft.Extensions.Primitives.StringValues left, object? right); +- public static bool operator !=(Microsoft.Extensions.Primitives.StringValues left, string? right); +- public static bool operator !=(Microsoft.Extensions.Primitives.StringValues left, string?[]? right); +- public static bool operator !=(object? left, Microsoft.Extensions.Primitives.StringValues right); +- public static bool operator !=(string? left, Microsoft.Extensions.Primitives.StringValues right); +- public static bool operator !=(string?[]? left, Microsoft.Extensions.Primitives.StringValues right); +- readonly void System.Collections.Generic.ICollection.Add(string item); +- readonly void System.Collections.Generic.ICollection.Clear(); +- readonly bool System.Collections.Generic.ICollection.Contains(string item); +- readonly void System.Collections.Generic.ICollection.CopyTo(string[] array, int arrayIndex); +- readonly bool System.Collections.Generic.ICollection.Remove(string item); +- readonly System.Collections.Generic.IEnumerator? System.Collections.Generic.IEnumerable.GetEnumerator(); +- readonly int System.Collections.Generic.IList.IndexOf(string item); +- readonly void System.Collections.Generic.IList.Insert(int index, string item); +- readonly void System.Collections.Generic.IList.RemoveAt(int index); +- readonly System.Collections.IEnumerator? System.Collections.IEnumerable.GetEnumerator(); +- public readonly string?[] ToArray(); +- public override readonly string ToString(); +- public int Count { get; } +- public string? this[int index] { get { } } +- bool System.Collections.Generic.ICollection.IsReadOnly { get; } +- string? System.Collections.Generic.IList.this[int index] { get { } set { } } +- public struct Enumerator : System.Collections.Generic.IEnumerator, System.Collections.IEnumerator, System.IDisposable +- { +- public Enumerator(ref Microsoft.Extensions.Primitives.StringValues values); +- public void Dispose(); +- public bool MoveNext(); +- void System.Collections.IEnumerator.Reset(); +- public string? Current { get; } +- object? System.Collections.IEnumerator.Current { get; } +- } +- } +- } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Validation.Localization.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Validation.Localization.md new file mode 100644 index 0000000000..e169c842a9 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Validation.Localization.md @@ -0,0 +1,33 @@ +# Microsoft.Extensions.Validation.Localization + +```diff ++ namespace Microsoft.Extensions.DependencyInjection ++ { ++ public static class ValidationLocalizationServiceCollectionExtensions ++ { ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddValidationLocalization(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action? configureOptions = null); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddValidationLocalization(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action? configureOptions = null); ++ } ++ } ++ namespace Microsoft.Extensions.Validation.Localization ++ { ++ public interface IValidationAttributeFormatter ++ { ++ string FormatErrorMessage(System.Globalization.CultureInfo culture, string messageTemplate, string displayName); ++ } ++ public sealed class ValidationAttributeFormatterRegistry ++ { ++ public ValidationAttributeFormatterRegistry(); ++ public void AddFormatter(System.Func factory) ++ where TAttribute : System.ComponentModel.DataAnnotations.ValidationAttribute; ++ public Microsoft.Extensions.Validation.Localization.IValidationAttributeFormatter? GetFormatter(System.ComponentModel.DataAnnotations.ValidationAttribute attribute); ++ } ++ public class ValidationLocalizationOptions ++ { ++ public ValidationLocalizationOptions(); ++ public Microsoft.Extensions.Validation.Localization.ValidationAttributeFormatterRegistry AttributeFormatters { get; } ++ public System.Func? ErrorMessageKeyProvider { get; set; } ++ public System.Func? LocalizerProvider { get; set; } ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Validation.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Validation.md new file mode 100644 index 0000000000..95d91b19b1 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_Microsoft.Extensions.Validation.md @@ -0,0 +1,109 @@ +# Microsoft.Extensions.Validation + +```diff + namespace Microsoft.Extensions.Validation + { +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] +- public interface IValidatableInfo +- { +- System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken); +- } + public interface IValidatableInfoResolver + { +- bool TryGetValidatableParameterInfo(System.Reflection.ParameterInfo parameterInfo, out Microsoft.Extensions.Validation.IValidatableInfo? validatableInfo); +- bool TryGetValidatableTypeInfo(System.Type type, out Microsoft.Extensions.Validation.IValidatableInfo? validatableInfo); ++ bool TryGetValidatableParameterInfo(System.Reflection.ParameterInfo parameterInfo, out Microsoft.Extensions.Validation.IValidatableParameterInfo? validatableParameterInfo); ++ bool TryGetValidatableTypeInfo(System.Type type, out Microsoft.Extensions.Validation.IValidatableTypeInfo? validatableTypeInfo); + } +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] + public sealed class SkipValidationAttribute : System.Attribute + { + } + public abstract class ValidatableParameterInfo : Microsoft.Extensions.Validation.IValidatableParameterInfo + { +- protected ValidatableParameterInfo(System.Type parameterType, string name, string displayName); ++ protected ValidatableParameterInfo(System.Type parameterType, string name, Microsoft.Extensions.Validation.DisplayNameInfo? displayNameInfo = null); ++ public virtual void Validate(object? value, Microsoft.Extensions.Validation.ValidateContext context); + } + public abstract class ValidatablePropertyInfo : Microsoft.Extensions.Validation.IValidatablePropertyInfo + { +- protected ValidatablePropertyInfo(System.Type declaringType, System.Type propertyType, string name, string displayName); +- public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken); ++ public virtual System.Threading.Tasks.Task ValidateAsync(object containingObject, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken); ++ protected ValidatablePropertyInfo(System.Type declaringType, System.Type propertyType, string name, Microsoft.Extensions.Validation.DisplayNameInfo? displayNameInfo = null); ++ public virtual void Validate(object containingObject, Microsoft.Extensions.Validation.ValidateContext context); + } +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] + public sealed class ValidatableTypeAttribute : System.Attribute + { + } + public abstract class ValidatableTypeInfo : Microsoft.Extensions.Validation.IValidatableTypeInfo + { +- protected ValidatableTypeInfo(System.Type type, System.Collections.Generic.IReadOnlyList members); ++ protected ValidatableTypeInfo(System.Type type, System.Collections.Generic.IReadOnlyList members, Microsoft.Extensions.Validation.DisplayNameInfo? displayNameInfo = null); ++ public bool TryFindProperty(string propertyName, Microsoft.Extensions.Validation.ValidationOptions validationOptions, out Microsoft.Extensions.Validation.IValidatablePropertyInfo? validatablePropertyInfo); ++ public virtual void Validate(object? value, Microsoft.Extensions.Validation.ValidateContext context); + } + public sealed class ValidateContext + { +- public System.Collections.Generic.Dictionary? ValidationErrors { get; set; } ++ public System.Collections.Generic.IReadOnlyDictionary>? ValidationErrors { get; } ++ public void AddValidationError(Microsoft.Extensions.Validation.ValidationErrorContext validationErrorContext); + } + public class ValidationOptions + { +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] +- public bool TryGetValidatableParameterInfo(System.Reflection.ParameterInfo parameterInfo, out Microsoft.Extensions.Validation.IValidatableInfo? validatableInfo); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] +- public bool TryGetValidatableTypeInfo(System.Type type, out Microsoft.Extensions.Validation.IValidatableInfo? validatableTypeInfo); ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] ++ public bool TryGetValidatableParameterInfo(System.Reflection.ParameterInfo parameterInfo, out Microsoft.Extensions.Validation.IValidatableParameterInfo? validatableInfo); ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] ++ public bool TryGetValidatableTypeInfo(System.Type type, out Microsoft.Extensions.Validation.IValidatableTypeInfo? validatableTypeInfo); ++ public Microsoft.Extensions.Validation.IValidationLocalizer? Localizer { get; set; } + } ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] ++ public abstract class DisplayNameInfo ++ { ++ protected DisplayNameInfo(); ++ public abstract string? GetDisplayName(Microsoft.Extensions.Validation.ValidateContext context, string memberName, System.Type? type); ++ } ++ public readonly struct DisplayNameLocalizationContext ++ { ++ public required string? DisplayName { get; init; } ++ public required string MemberName { get; init; } ++ public System.Type? Type { get; init; } ++ } ++ public readonly struct ErrorMessageLocalizationContext ++ { ++ public required System.ComponentModel.DataAnnotations.ValidationAttribute Attribute { get; init; } ++ public System.Type? DeclaringType { get; init; } ++ public required string DisplayName { get; init; } ++ public required string MemberName { get; init; } ++ } ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] ++ public interface IValidatableParameterInfo ++ { ++ void Validate(object? value, Microsoft.Extensions.Validation.ValidateContext context); ++ System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken); ++ } ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] ++ public interface IValidatablePropertyInfo ++ { ++ void Validate(object containingObject, Microsoft.Extensions.Validation.ValidateContext context); ++ System.Threading.Tasks.Task ValidateAsync(object containingObject, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken); ++ } ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")] ++ public interface IValidatableTypeInfo ++ { ++ bool TryFindProperty(string propertyName, Microsoft.Extensions.Validation.ValidationOptions validationOptions, out Microsoft.Extensions.Validation.IValidatablePropertyInfo? validatablePropertyInfo); ++ void Validate(object? value, Microsoft.Extensions.Validation.ValidateContext context); ++ System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken); ++ } ++ public interface IValidationLocalizer ++ { ++ string? ResolveDisplayName(in Microsoft.Extensions.Validation.DisplayNameLocalizationContext context); ++ string? ResolveErrorMessage(in Microsoft.Extensions.Validation.ErrorMessageLocalizationContext context); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_System.Diagnostics.EventLog.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_System.Diagnostics.EventLog.md new file mode 100644 index 0000000000..23b9e98a23 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_System.Diagnostics.EventLog.md @@ -0,0 +1,303 @@ +# System.Diagnostics.EventLog + +```diff + namespace System.Diagnostics + { + public class EntryWrittenEventArgs : System.EventArgs + { +- public EntryWrittenEventArgs(System.Diagnostics.EventLogEntry entry); ++ public EntryWrittenEventArgs(System.Diagnostics.EventLogEntry? entry); +- public System.Diagnostics.EventLogEntry Entry { get; } ++ public System.Diagnostics.EventLogEntry? Entry { get; } + } +- public delegate void EntryWrittenEventHandler(object sender, System.Diagnostics.EntryWrittenEventArgs e); ++ public delegate void EntryWrittenEventHandler(object? sender, System.Diagnostics.EntryWrittenEventArgs e); + public class EventLog : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize + { +- public event System.Diagnostics.EntryWrittenEventHandler EntryWritten { add; remove; } ++ public event System.Diagnostics.EntryWrittenEventHandler? EntryWritten { add; remove; } +- public static bool Exists(string logName, string machineName); ++ public static bool Exists(string? logName, string machineName); +- public static bool Exists(string logName); ++ public static bool Exists(string? logName); +- public static bool SourceExists(string source, string machineName); ++ public static bool SourceExists(string? source, string machineName); +- public static bool SourceExists(string source); ++ public static bool SourceExists(string? source); +- public void WriteEntry(string message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[] rawData); ++ public void WriteEntry(string? message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[]? rawData); +- public void WriteEntry(string message, System.Diagnostics.EventLogEntryType type, int eventID, short category); ++ public void WriteEntry(string? message, System.Diagnostics.EventLogEntryType type, int eventID, short category); +- public void WriteEntry(string message, System.Diagnostics.EventLogEntryType type, int eventID); ++ public void WriteEntry(string? message, System.Diagnostics.EventLogEntryType type, int eventID); +- public void WriteEntry(string message, System.Diagnostics.EventLogEntryType type); ++ public void WriteEntry(string? message, System.Diagnostics.EventLogEntryType type); +- public static void WriteEntry(string source, string message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[] rawData); ++ public static void WriteEntry(string source, string? message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[]? rawData); +- public static void WriteEntry(string source, string message, System.Diagnostics.EventLogEntryType type, int eventID, short category); ++ public static void WriteEntry(string source, string? message, System.Diagnostics.EventLogEntryType type, int eventID, short category); +- public static void WriteEntry(string source, string message, System.Diagnostics.EventLogEntryType type, int eventID); ++ public static void WriteEntry(string source, string? message, System.Diagnostics.EventLogEntryType type, int eventID); +- public static void WriteEntry(string source, string message, System.Diagnostics.EventLogEntryType type); ++ public static void WriteEntry(string source, string? message, System.Diagnostics.EventLogEntryType type); +- public static void WriteEntry(string source, string message); ++ public static void WriteEntry(string source, string? message); +- public void WriteEntry(string message); ++ public void WriteEntry(string? message); +- public void WriteEvent(System.Diagnostics.EventInstance instance, byte[] data, params object[] values); ++ public void WriteEvent(System.Diagnostics.EventInstance instance, byte[]? data, params object?[]? values); +- public void WriteEvent(System.Diagnostics.EventInstance instance, params object[] values); ++ public void WriteEvent(System.Diagnostics.EventInstance instance, params object?[]? values); +- public static void WriteEvent(string source, System.Diagnostics.EventInstance instance, byte[] data, params object[] values); ++ public static void WriteEvent(string source, System.Diagnostics.EventInstance instance, byte[] data, params object?[]? values); +- public static void WriteEvent(string source, System.Diagnostics.EventInstance instance, params object[] values); ++ public static void WriteEvent(string source, System.Diagnostics.EventInstance instance, params object?[]? values); +- public string LogDisplayName { get; } ++ public string? LogDisplayName { get; } +- public System.ComponentModel.ISynchronizeInvoke SynchronizingObject { get; set; } ++ public System.ComponentModel.ISynchronizeInvoke? SynchronizingObject { get; set; } + } + public sealed class EventLogEntry : System.ComponentModel.Component, System.Runtime.Serialization.ISerializable + { +- public bool Equals(System.Diagnostics.EventLogEntry otherEntry); ++ public bool Equals(System.Diagnostics.EventLogEntry? otherEntry); +- public string UserName { get; } ++ public string? UserName { get; } + } + public sealed class EventLogTraceListener : System.Diagnostics.TraceListener + { +- public EventLogTraceListener(System.Diagnostics.EventLog eventLog); ++ public EventLogTraceListener(System.Diagnostics.EventLog? eventLog); +- public override void TraceData(System.Diagnostics.TraceEventCache eventCache, string source, System.Diagnostics.TraceEventType severity, int id, object data); ++ public override void TraceData(System.Diagnostics.TraceEventCache? eventCache, string source, System.Diagnostics.TraceEventType severity, int id, object? data); +- public override void TraceData(System.Diagnostics.TraceEventCache eventCache, string source, System.Diagnostics.TraceEventType severity, int id, params object[] data); ++ public override void TraceData(System.Diagnostics.TraceEventCache? eventCache, string source, System.Diagnostics.TraceEventType severity, int id, params object?[]? data); +- public override void TraceEvent(System.Diagnostics.TraceEventCache eventCache, string source, System.Diagnostics.TraceEventType severity, int id, string format, params object[] args); ++ public override void TraceEvent(System.Diagnostics.TraceEventCache? eventCache, string source, System.Diagnostics.TraceEventType severity, int id, string? format, params object?[]? args); +- public override void TraceEvent(System.Diagnostics.TraceEventCache eventCache, string source, System.Diagnostics.TraceEventType severity, int id, string message); ++ public override void TraceEvent(System.Diagnostics.TraceEventCache? eventCache, string source, System.Diagnostics.TraceEventType severity, int id, string? message); +- public override void Write(string message); ++ public override void Write(string? message); +- public override void WriteLine(string message); ++ public override void WriteLine(string? message); +- public System.Diagnostics.EventLog EventLog { get; set; } ++ public System.Diagnostics.EventLog? EventLog { get; set; } + } + public class EventSourceCreationData + { +- public EventSourceCreationData(string source, string logName); ++ public EventSourceCreationData(string? source, string logName); +- public string CategoryResourceFile { get; set; } ++ public string? CategoryResourceFile { get; set; } +- public string MessageResourceFile { get; set; } ++ public string? MessageResourceFile { get; set; } +- public string ParameterResourceFile { get; set; } ++ public string? ParameterResourceFile { get; set; } +- public string Source { get; set; } ++ public string? Source { get; set; } + } + } + namespace System.Diagnostics.Eventing.Reader + { + public sealed class EventKeyword + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string Name { get; } ++ public string? Name { get; } + } + public sealed class EventLevel + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string Name { get; } ++ public string? Name { get; } + } + public class EventLogConfiguration : System.IDisposable + { +- public EventLogConfiguration(string logName, System.Diagnostics.Eventing.Reader.EventLogSession session); ++ public EventLogConfiguration(string logName, System.Diagnostics.Eventing.Reader.EventLogSession? session); +- public System.Collections.Generic.IEnumerable ProviderNames { get; } ++ public System.Collections.Generic.IEnumerable ProviderNames { get; } + } + public class EventLogException : System.Exception + { +- public EventLogException(string message, System.Exception innerException); ++ public EventLogException(string? message, System.Exception? innerException); +- public EventLogException(string message); ++ public EventLogException(string? message); + } + public class EventLogInvalidDataException : System.Diagnostics.Eventing.Reader.EventLogException + { +- public EventLogInvalidDataException(string message, System.Exception innerException); ++ public EventLogInvalidDataException(string? message, System.Exception? innerException); +- public EventLogInvalidDataException(string message); ++ public EventLogInvalidDataException(string? message); + } + public sealed class EventLogLink + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string LogName { get; } ++ public string? LogName { get; } + } + public class EventLogNotFoundException : System.Diagnostics.Eventing.Reader.EventLogException + { +- public EventLogNotFoundException(string message, System.Exception innerException); ++ public EventLogNotFoundException(string? message, System.Exception? innerException); +- public EventLogNotFoundException(string message); ++ public EventLogNotFoundException(string? message); + } + public class EventLogProviderDisabledException : System.Diagnostics.Eventing.Reader.EventLogException + { +- public EventLogProviderDisabledException(string message, System.Exception innerException); ++ public EventLogProviderDisabledException(string? message, System.Exception? innerException); +- public EventLogProviderDisabledException(string message); ++ public EventLogProviderDisabledException(string? message); + } + public class EventLogQuery + { +- public EventLogQuery(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query); ++ public EventLogQuery(string? path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query); +- public EventLogQuery(string path, System.Diagnostics.Eventing.Reader.PathType pathType); ++ public EventLogQuery(string? path, System.Diagnostics.Eventing.Reader.PathType pathType); + } + public class EventLogReader : System.IDisposable + { +- public EventLogReader(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark bookmark); ++ public EventLogReader(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark? bookmark); +- public System.Diagnostics.Eventing.Reader.EventRecord ReadEvent(); ++ public System.Diagnostics.Eventing.Reader.EventRecord? ReadEvent(); +- public System.Diagnostics.Eventing.Reader.EventRecord ReadEvent(System.TimeSpan timeout); ++ public System.Diagnostics.Eventing.Reader.EventRecord? ReadEvent(System.TimeSpan timeout); + } + public class EventLogReadingException : System.Diagnostics.Eventing.Reader.EventLogException + { +- public EventLogReadingException(string message, System.Exception innerException); ++ public EventLogReadingException(string? message, System.Exception? innerException); +- public EventLogReadingException(string message); ++ public EventLogReadingException(string? message); + } + public class EventLogRecord : System.Diagnostics.Eventing.Reader.EventRecord + { +- public override string FormatDescription(); ++ public override string? FormatDescription(); +- public override string FormatDescription(System.Collections.Generic.IEnumerable values); ++ public override string? FormatDescription(System.Collections.Generic.IEnumerable? values); +- public System.Collections.Generic.IList GetPropertyValues(System.Diagnostics.Eventing.Reader.EventLogPropertySelector propertySelector); ++ public System.Collections.Generic.IList GetPropertyValues(System.Diagnostics.Eventing.Reader.EventLogPropertySelector propertySelector); +- public string ContainerLog { get; } ++ public string? ContainerLog { get; } +- public override string LevelDisplayName { get; } ++ public override string? LevelDisplayName { get; } +- public override string LogName { get; } ++ public override string? LogName { get; } +- public override string MachineName { get; } ++ public override string? MachineName { get; } +- public System.Collections.Generic.IEnumerable MatchedQueryIds { get; } ++ public System.Collections.Generic.IEnumerable? MatchedQueryIds { get; } +- public override string OpcodeDisplayName { get; } ++ public override string? OpcodeDisplayName { get; } +- public override string TaskDisplayName { get; } ++ public override string? TaskDisplayName { get; } +- public override System.Security.Principal.SecurityIdentifier UserId { get; } ++ public override System.Security.Principal.SecurityIdentifier? UserId { get; } + } + public class EventLogSession : System.IDisposable + { +- public EventLogSession(string server, string domain, string user, System.Security.SecureString password, System.Diagnostics.Eventing.Reader.SessionAuthentication logOnType); ++ public EventLogSession(string server, string? domain, string? user, System.Security.SecureString? password, System.Diagnostics.Eventing.Reader.SessionAuthentication logOnType); +- public void ClearLog(string logName, string backupPath); ++ public void ClearLog(string logName, string? backupPath); +- public void ExportLog(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query, string targetFilePath, bool tolerateQueryErrors); ++ public void ExportLog(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query, string targetFilePath, bool tolerateQueryErrors); +- public void ExportLog(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query, string targetFilePath); ++ public void ExportLog(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query, string targetFilePath); +- public void ExportLogAndMessages(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query, string targetFilePath, bool tolerateQueryErrors, System.Globalization.CultureInfo targetCultureInfo); ++ public void ExportLogAndMessages(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query, string targetFilePath, bool tolerateQueryErrors, System.Globalization.CultureInfo? targetCultureInfo); +- public void ExportLogAndMessages(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query, string targetFilePath); ++ public void ExportLogAndMessages(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query, string targetFilePath); + } + public sealed class EventLogStatus + { +- public string LogName { get; } ++ public string? LogName { get; } + } + public class EventLogWatcher : System.IDisposable + { +- public event System.EventHandler EventRecordWritten { add; remove; } ++ public event System.EventHandler? EventRecordWritten { add; remove; } +- public EventLogWatcher(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark bookmark, bool readExistingEvents); ++ public EventLogWatcher(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark? bookmark, bool readExistingEvents); +- public EventLogWatcher(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark bookmark); ++ public EventLogWatcher(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark? bookmark); + } + public sealed class EventMetadata + { +- public string Description { get; } ++ public string? Description { get; } +- public string Template { get; } ++ public string? Template { get; } + } + public sealed class EventOpcode + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string Name { get; } ++ public string? Name { get; } + } + public sealed class EventProperty + { +- public object Value { get; } ++ public object? Value { get; } + } + public abstract class EventRecord : System.IDisposable + { +- public abstract string FormatDescription(); ++ public abstract string? FormatDescription(); +- public abstract string FormatDescription(System.Collections.Generic.IEnumerable values); ++ public abstract string? FormatDescription(System.Collections.Generic.IEnumerable? values); +- public abstract string LevelDisplayName { get; } ++ public abstract string? LevelDisplayName { get; } +- public abstract string LogName { get; } ++ public abstract string? LogName { get; } +- public abstract string MachineName { get; } ++ public abstract string? MachineName { get; } +- public abstract string OpcodeDisplayName { get; } ++ public abstract string? OpcodeDisplayName { get; } +- public abstract string TaskDisplayName { get; } ++ public abstract string? TaskDisplayName { get; } +- public abstract System.Security.Principal.SecurityIdentifier UserId { get; } ++ public abstract System.Security.Principal.SecurityIdentifier? UserId { get; } + } + public sealed class EventRecordWrittenEventArgs : System.EventArgs + { +- public System.Exception EventException { get; } ++ public System.Exception? EventException { get; } +- public System.Diagnostics.Eventing.Reader.EventRecord EventRecord { get; } ++ public System.Diagnostics.Eventing.Reader.EventRecord? EventRecord { get; } + } + public sealed class EventTask + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string Name { get; } ++ public string? Name { get; } + } + public class ProviderMetadata : System.IDisposable + { +- public ProviderMetadata(string providerName, System.Diagnostics.Eventing.Reader.EventLogSession session, System.Globalization.CultureInfo targetCultureInfo); ++ public ProviderMetadata(string providerName, System.Diagnostics.Eventing.Reader.EventLogSession? session, System.Globalization.CultureInfo? targetCultureInfo); +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public System.Uri HelpLink { get; } ++ public System.Uri? HelpLink { get; } +- public string MessageFilePath { get; } ++ public string? MessageFilePath { get; } +- public string ParameterFilePath { get; } ++ public string? ParameterFilePath { get; } +- public string ResourceFilePath { get; } ++ public string? ResourceFilePath { get; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_System.Formats.Cbor.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_System.Formats.Cbor.md new file mode 100644 index 0000000000..11edb10080 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_System.Formats.Cbor.md @@ -0,0 +1,33 @@ +# System.Formats.Cbor + +```diff + namespace System.Formats.Cbor + { + public class CborReader + { ++ public CborReader(System.ReadOnlyMemory data, System.Formats.Cbor.CborReaderOptions? options); ++ public int MaxDepth { get; } + } + public class CborWriter + { ++ public CborWriter(System.Formats.Cbor.CborWriterOptions? options); ++ public int MaxDepth { get; } + } ++ public sealed class CborReaderOptions ++ { ++ public CborReaderOptions(); ++ public bool AllowMultipleRootLevelValues { get; set; } ++ public System.Formats.Cbor.CborConformanceMode ConformanceMode { get; set; } ++ public int MaxDepth { get; set; } ++ } ++ public sealed class CborWriterOptions ++ { ++ public CborWriterOptions(); ++ public bool AllowMultipleRootLevelValues { get; set; } ++ public System.Formats.Cbor.CborConformanceMode ConformanceMode { get; set; } ++ public bool ConvertIndefiniteLengthEncodings { get; set; } ++ public int InitialCapacity { get; set; } ++ public int MaxDepth { get; set; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_System.Security.Cryptography.Pkcs.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_System.Security.Cryptography.Pkcs.md new file mode 100644 index 0000000000..854ea99240 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.AspNetCore.App/11.0.0_System.Security.Cryptography.Pkcs.md @@ -0,0 +1,504 @@ +# System.Security.Cryptography.Pkcs + +```diff ++ namespace System.Security.Cryptography ++ { ++ public sealed class CryptographicAttributeObject ++ { ++ public CryptographicAttributeObject(System.Security.Cryptography.Oid oid, System.Security.Cryptography.AsnEncodedDataCollection? values); ++ public CryptographicAttributeObject(System.Security.Cryptography.Oid oid); ++ public System.Security.Cryptography.Oid Oid { get; } ++ public System.Security.Cryptography.AsnEncodedDataCollection Values { get; } ++ } ++ public sealed class CryptographicAttributeObjectCollection : System.Collections.ICollection, System.Collections.IEnumerable ++ { ++ public CryptographicAttributeObjectCollection(); ++ public CryptographicAttributeObjectCollection(System.Security.Cryptography.CryptographicAttributeObject attribute); ++ public int Add(System.Security.Cryptography.AsnEncodedData asnEncodedData); ++ public int Add(System.Security.Cryptography.CryptographicAttributeObject attribute); ++ public void CopyTo(System.Security.Cryptography.CryptographicAttributeObject[] array, int index); ++ public System.Security.Cryptography.CryptographicAttributeObjectEnumerator GetEnumerator(); ++ public void Remove(System.Security.Cryptography.CryptographicAttributeObject attribute); ++ void System.Collections.ICollection.CopyTo(System.Array array, int index); ++ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public int Count { get; } ++ public bool IsSynchronized { get; } ++ public System.Security.Cryptography.CryptographicAttributeObject this[int index] { get { } } ++ public object SyncRoot { get; } ++ } ++ public sealed class CryptographicAttributeObjectEnumerator : System.Collections.IEnumerator ++ { ++ public bool MoveNext(); ++ public void Reset(); ++ public System.Security.Cryptography.CryptographicAttributeObject Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ } ++ } ++ namespace System.Security.Cryptography.Pkcs ++ { ++ public sealed class AlgorithmIdentifier ++ { ++ public AlgorithmIdentifier(); ++ public AlgorithmIdentifier(System.Security.Cryptography.Oid oid, int keyLength); ++ public AlgorithmIdentifier(System.Security.Cryptography.Oid oid); ++ public int KeyLength { get; set; } ++ public System.Security.Cryptography.Oid Oid { get; set; } ++ public byte[] Parameters { get; set; } ++ } ++ public sealed class CmsRecipient ++ { ++ public CmsRecipient(System.Security.Cryptography.Pkcs.SubjectIdentifierType recipientIdentifierType, System.Security.Cryptography.X509Certificates.X509Certificate2 certificate, System.Security.Cryptography.RSAEncryptionPadding rsaEncryptionPadding); ++ public CmsRecipient(System.Security.Cryptography.Pkcs.SubjectIdentifierType recipientIdentifierType, System.Security.Cryptography.X509Certificates.X509Certificate2 certificate); ++ public CmsRecipient(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate, System.Security.Cryptography.RSAEncryptionPadding rsaEncryptionPadding); ++ public CmsRecipient(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate); ++ public System.Security.Cryptography.X509Certificates.X509Certificate2 Certificate { get; } ++ public System.Security.Cryptography.Pkcs.SubjectIdentifierType RecipientIdentifierType { get; } ++ public System.Security.Cryptography.RSAEncryptionPadding? RSAEncryptionPadding { get; } ++ } ++ public sealed class CmsRecipientCollection : System.Collections.ICollection, System.Collections.IEnumerable ++ { ++ public CmsRecipientCollection(); ++ public CmsRecipientCollection(System.Security.Cryptography.Pkcs.CmsRecipient recipient); ++ public CmsRecipientCollection(System.Security.Cryptography.Pkcs.SubjectIdentifierType recipientIdentifierType, System.Security.Cryptography.X509Certificates.X509Certificate2Collection certificates); ++ public int Add(System.Security.Cryptography.Pkcs.CmsRecipient recipient); ++ public void CopyTo(System.Array array, int index); ++ public void CopyTo(System.Security.Cryptography.Pkcs.CmsRecipient[] array, int index); ++ public System.Security.Cryptography.Pkcs.CmsRecipientEnumerator GetEnumerator(); ++ public void Remove(System.Security.Cryptography.Pkcs.CmsRecipient recipient); ++ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public int Count { get; } ++ public bool IsSynchronized { get; } ++ public System.Security.Cryptography.Pkcs.CmsRecipient this[int index] { get { } } ++ public object SyncRoot { get; } ++ } ++ public sealed class CmsRecipientEnumerator : System.Collections.IEnumerator ++ { ++ public bool MoveNext(); ++ public void Reset(); ++ public System.Security.Cryptography.Pkcs.CmsRecipient Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ } ++ public sealed class CmsSigner ++ { ++ public CmsSigner(); ++ [System.ObsoleteAttribute("CmsSigner(CspParameters) is obsolete and is not supported. Use an alternative constructor instead.", DiagnosticId = "SYSLIB0034", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] ++ public CmsSigner(System.Security.Cryptography.CspParameters parameters); ++ public CmsSigner(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType, System.Security.Cryptography.X509Certificates.X509Certificate2? certificate, System.Security.Cryptography.AsymmetricAlgorithm? privateKey); ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] ++ public CmsSigner(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType, System.Security.Cryptography.X509Certificates.X509Certificate2? certificate, System.Security.Cryptography.CompositeMLDsa? privateKey); ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] ++ public CmsSigner(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType, System.Security.Cryptography.X509Certificates.X509Certificate2? certificate, System.Security.Cryptography.MLDsa? privateKey); ++ public CmsSigner(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType, System.Security.Cryptography.X509Certificates.X509Certificate2? certificate, System.Security.Cryptography.RSA? privateKey, System.Security.Cryptography.RSASignaturePadding? signaturePadding); ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] ++ public CmsSigner(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType, System.Security.Cryptography.X509Certificates.X509Certificate2? certificate, System.Security.Cryptography.SlhDsa? privateKey); ++ public CmsSigner(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType, System.Security.Cryptography.X509Certificates.X509Certificate2? certificate); ++ public CmsSigner(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType); ++ public CmsSigner(System.Security.Cryptography.X509Certificates.X509Certificate2? certificate); ++ public System.Security.Cryptography.X509Certificates.X509Certificate2? Certificate { get; set; } ++ public System.Security.Cryptography.X509Certificates.X509Certificate2Collection Certificates { get; } ++ public System.Security.Cryptography.Oid DigestAlgorithm { get; set; } ++ public System.Security.Cryptography.X509Certificates.X509IncludeOption IncludeOption { get; set; } ++ public System.Security.Cryptography.AsymmetricAlgorithm? PrivateKey { get; set; } ++ public System.Security.Cryptography.RSASignaturePadding? SignaturePadding { get; set; } ++ public System.Security.Cryptography.CryptographicAttributeObjectCollection SignedAttributes { get; } ++ public System.Security.Cryptography.Pkcs.SubjectIdentifierType SignerIdentifierType { get; set; } ++ public System.Security.Cryptography.CryptographicAttributeObjectCollection UnsignedAttributes { get; } ++ } ++ public sealed class ContentInfo ++ { ++ public ContentInfo(byte[] content); ++ public ContentInfo(System.Security.Cryptography.Oid contentType, byte[] content); ++ public static System.Security.Cryptography.Oid GetContentType(byte[] encodedMessage); ++ public static System.Security.Cryptography.Oid GetContentType(System.ReadOnlySpan encodedMessage); ++ public byte[] Content { get; } ++ public System.Security.Cryptography.Oid ContentType { get; } ++ } ++ public sealed class EnvelopedCms ++ { ++ public EnvelopedCms(); ++ public EnvelopedCms(System.Security.Cryptography.Pkcs.ContentInfo contentInfo, System.Security.Cryptography.Pkcs.AlgorithmIdentifier encryptionAlgorithm); ++ public EnvelopedCms(System.Security.Cryptography.Pkcs.ContentInfo contentInfo); ++ public void Decode(byte[] encodedMessage); ++ public void Decode(System.ReadOnlySpan encodedMessage); ++ public void Decrypt(); ++ public void Decrypt(System.Security.Cryptography.Pkcs.RecipientInfo recipientInfo, System.Security.Cryptography.AsymmetricAlgorithm? privateKey); ++ public void Decrypt(System.Security.Cryptography.Pkcs.RecipientInfo recipientInfo, System.Security.Cryptography.X509Certificates.X509Certificate2Collection extraStore); ++ public void Decrypt(System.Security.Cryptography.Pkcs.RecipientInfo recipientInfo); ++ public void Decrypt(System.Security.Cryptography.X509Certificates.X509Certificate2Collection extraStore); ++ public byte[] Encode(); ++ public void Encrypt(System.Security.Cryptography.Pkcs.CmsRecipient recipient); ++ public void Encrypt(System.Security.Cryptography.Pkcs.CmsRecipientCollection recipients); ++ public System.Security.Cryptography.X509Certificates.X509Certificate2Collection Certificates { get; } ++ public System.Security.Cryptography.Pkcs.AlgorithmIdentifier ContentEncryptionAlgorithm { get; } ++ public System.Security.Cryptography.Pkcs.ContentInfo ContentInfo { get; } ++ public System.Security.Cryptography.Pkcs.RecipientInfoCollection RecipientInfos { get; } ++ public System.Security.Cryptography.CryptographicAttributeObjectCollection UnprotectedAttributes { get; } ++ public int Version { get; } ++ } ++ public sealed class KeyAgreeRecipientInfo : System.Security.Cryptography.Pkcs.RecipientInfo ++ { ++ public System.DateTime Date { get; } ++ public override byte[] EncryptedKey { get; } ++ public override System.Security.Cryptography.Pkcs.AlgorithmIdentifier KeyEncryptionAlgorithm { get; } ++ public System.Security.Cryptography.Pkcs.SubjectIdentifierOrKey OriginatorIdentifierOrKey { get; } ++ public System.Security.Cryptography.CryptographicAttributeObject? OtherKeyAttribute { get; } ++ public override System.Security.Cryptography.Pkcs.SubjectIdentifier RecipientIdentifier { get; } ++ public override int Version { get; } ++ } ++ public sealed class KeyTransRecipientInfo : System.Security.Cryptography.Pkcs.RecipientInfo ++ { ++ public override byte[] EncryptedKey { get; } ++ public override System.Security.Cryptography.Pkcs.AlgorithmIdentifier KeyEncryptionAlgorithm { get; } ++ public override System.Security.Cryptography.Pkcs.SubjectIdentifier RecipientIdentifier { get; } ++ public override int Version { get; } ++ } ++ public sealed class Pkcs12Builder ++ { ++ public Pkcs12Builder(); ++ public void AddSafeContentsEncrypted(System.Security.Cryptography.Pkcs.Pkcs12SafeContents safeContents, byte[]? passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); ++ public void AddSafeContentsEncrypted(System.Security.Cryptography.Pkcs.Pkcs12SafeContents safeContents, System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); ++ public void AddSafeContentsEncrypted(System.Security.Cryptography.Pkcs.Pkcs12SafeContents safeContents, System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters); ++ public void AddSafeContentsEncrypted(System.Security.Cryptography.Pkcs.Pkcs12SafeContents safeContents, string? password, System.Security.Cryptography.PbeParameters pbeParameters); ++ public void AddSafeContentsUnencrypted(System.Security.Cryptography.Pkcs.Pkcs12SafeContents safeContents); ++ public byte[] Encode(); ++ public void SealWithMac(System.ReadOnlySpan password, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, int iterationCount); ++ public void SealWithMac(string? password, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, int iterationCount); ++ public void SealWithoutIntegrity(); ++ public bool TryEncode(System.Span destination, out int bytesWritten); ++ public bool IsSealed { get; } ++ } ++ public sealed class Pkcs12CertBag : System.Security.Cryptography.Pkcs.Pkcs12SafeBag ++ { ++ public Pkcs12CertBag(System.Security.Cryptography.Oid certificateType, System.ReadOnlyMemory encodedCertificate) : base(default(string)!, default(System.ReadOnlyMemory), default(bool)); ++ public System.Security.Cryptography.X509Certificates.X509Certificate2 GetCertificate(); ++ public System.Security.Cryptography.Oid GetCertificateType(); ++ public System.ReadOnlyMemory EncodedCertificate { get; } ++ public bool IsX509Certificate { get; } ++ } ++ public enum Pkcs12ConfidentialityMode ++ { ++ Unknown = 0, ++ None = 1, ++ Password = 2, ++ PublicKey = 3, ++ } ++ public sealed class Pkcs12Info ++ { ++ public static System.Security.Cryptography.Pkcs.Pkcs12Info Decode(System.ReadOnlyMemory encodedBytes, out int bytesConsumed, bool skipCopy = false); ++ public bool VerifyMac(System.ReadOnlySpan password); ++ public bool VerifyMac(string? password); ++ public System.Collections.ObjectModel.ReadOnlyCollection AuthenticatedSafe { get; } ++ public System.Security.Cryptography.Pkcs.Pkcs12IntegrityMode IntegrityMode { get; } ++ } ++ public enum Pkcs12IntegrityMode ++ { ++ Unknown = 0, ++ None = 1, ++ Password = 2, ++ PublicKey = 3, ++ } ++ public sealed class Pkcs12KeyBag : System.Security.Cryptography.Pkcs.Pkcs12SafeBag ++ { ++ public Pkcs12KeyBag(System.ReadOnlyMemory pkcs8PrivateKey, bool skipCopy = false) : base(default(string)!, default(System.ReadOnlyMemory), default(bool)); ++ public System.ReadOnlyMemory Pkcs8PrivateKey { get; } ++ } ++ public abstract class Pkcs12SafeBag ++ { ++ protected Pkcs12SafeBag(string bagIdValue, System.ReadOnlyMemory encodedBagValue, bool skipCopy = false); ++ public byte[] Encode(); ++ public System.Security.Cryptography.Oid GetBagId(); ++ public bool TryEncode(System.Span destination, out int bytesWritten); ++ public System.Security.Cryptography.CryptographicAttributeObjectCollection Attributes { get; } ++ public System.ReadOnlyMemory EncodedBagValue { get; } ++ } ++ public sealed class Pkcs12SafeContents ++ { ++ public Pkcs12SafeContents(); ++ public System.Security.Cryptography.Pkcs.Pkcs12CertBag AddCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate); ++ public System.Security.Cryptography.Pkcs.Pkcs12KeyBag AddKeyUnencrypted(System.Security.Cryptography.AsymmetricAlgorithm key); ++ public System.Security.Cryptography.Pkcs.Pkcs12SafeContentsBag AddNestedContents(System.Security.Cryptography.Pkcs.Pkcs12SafeContents safeContents); ++ public void AddSafeBag(System.Security.Cryptography.Pkcs.Pkcs12SafeBag safeBag); ++ public System.Security.Cryptography.Pkcs.Pkcs12SecretBag AddSecret(System.Security.Cryptography.Oid secretType, System.ReadOnlyMemory secretValue); ++ public System.Security.Cryptography.Pkcs.Pkcs12ShroudedKeyBag AddShroudedKey(System.Security.Cryptography.AsymmetricAlgorithm key, byte[]? passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); ++ public System.Security.Cryptography.Pkcs.Pkcs12ShroudedKeyBag AddShroudedKey(System.Security.Cryptography.AsymmetricAlgorithm key, System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); ++ public System.Security.Cryptography.Pkcs.Pkcs12ShroudedKeyBag AddShroudedKey(System.Security.Cryptography.AsymmetricAlgorithm key, System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters); ++ public System.Security.Cryptography.Pkcs.Pkcs12ShroudedKeyBag AddShroudedKey(System.Security.Cryptography.AsymmetricAlgorithm key, string? password, System.Security.Cryptography.PbeParameters pbeParameters); ++ public void Decrypt(byte[]? passwordBytes); ++ public void Decrypt(System.ReadOnlySpan passwordBytes); ++ public void Decrypt(System.ReadOnlySpan password); ++ public void Decrypt(string? password); ++ public System.Collections.Generic.IEnumerable GetBags(); ++ public System.Security.Cryptography.Pkcs.Pkcs12ConfidentialityMode ConfidentialityMode { get; } ++ public bool IsReadOnly { get; } ++ } ++ public sealed class Pkcs12SafeContentsBag : System.Security.Cryptography.Pkcs.Pkcs12SafeBag ++ { ++ public System.Security.Cryptography.Pkcs.Pkcs12SafeContents? SafeContents { get; } ++ } ++ public sealed class Pkcs12SecretBag : System.Security.Cryptography.Pkcs.Pkcs12SafeBag ++ { ++ public System.Security.Cryptography.Oid GetSecretType(); ++ public System.ReadOnlyMemory SecretValue { get; } ++ } ++ public sealed class Pkcs12ShroudedKeyBag : System.Security.Cryptography.Pkcs.Pkcs12SafeBag ++ { ++ public Pkcs12ShroudedKeyBag(System.ReadOnlyMemory encryptedPkcs8PrivateKey, bool skipCopy = false) : base(default(string)!, default(System.ReadOnlyMemory), default(bool)); ++ public System.ReadOnlyMemory EncryptedPkcs8PrivateKey { get; } ++ } ++ public sealed class Pkcs8PrivateKeyInfo ++ { ++ public Pkcs8PrivateKeyInfo(System.Security.Cryptography.Oid algorithmId, System.ReadOnlyMemory? algorithmParameters, System.ReadOnlyMemory privateKey, bool skipCopies = false); ++ public static System.Security.Cryptography.Pkcs.Pkcs8PrivateKeyInfo Create(System.Security.Cryptography.AsymmetricAlgorithm privateKey); ++ public static System.Security.Cryptography.Pkcs.Pkcs8PrivateKeyInfo Decode(System.ReadOnlyMemory source, out int bytesRead, bool skipCopy = false); ++ public static System.Security.Cryptography.Pkcs.Pkcs8PrivateKeyInfo DecryptAndDecode(System.ReadOnlySpan passwordBytes, System.ReadOnlyMemory source, out int bytesRead); ++ public static System.Security.Cryptography.Pkcs.Pkcs8PrivateKeyInfo DecryptAndDecode(System.ReadOnlySpan password, System.ReadOnlyMemory source, out int bytesRead); ++ public byte[] Encode(); ++ public byte[] Encrypt(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); ++ public byte[] Encrypt(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters); ++ public bool TryEncode(System.Span destination, out int bytesWritten); ++ public bool TryEncrypt(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); ++ public bool TryEncrypt(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); ++ public System.Security.Cryptography.Oid AlgorithmId { get; } ++ public System.ReadOnlyMemory? AlgorithmParameters { get; } ++ public System.Security.Cryptography.CryptographicAttributeObjectCollection Attributes { get; } ++ public System.ReadOnlyMemory PrivateKeyBytes { get; } ++ } ++ public class Pkcs9AttributeObject : System.Security.Cryptography.AsnEncodedData ++ { ++ public Pkcs9AttributeObject(); ++ public Pkcs9AttributeObject(System.Security.Cryptography.AsnEncodedData asnEncodedData); ++ public Pkcs9AttributeObject(System.Security.Cryptography.Oid oid, byte[] encodedData); ++ public Pkcs9AttributeObject(string oid, byte[] encodedData); ++ public override void CopyFrom(System.Security.Cryptography.AsnEncodedData asnEncodedData); ++ public new System.Security.Cryptography.Oid? Oid { get; } ++ } ++ public sealed class Pkcs9ContentType : System.Security.Cryptography.Pkcs.Pkcs9AttributeObject ++ { ++ public Pkcs9ContentType(); ++ public override void CopyFrom(System.Security.Cryptography.AsnEncodedData asnEncodedData); ++ public System.Security.Cryptography.Oid ContentType { get; } ++ } ++ public sealed class Pkcs9DocumentDescription : System.Security.Cryptography.Pkcs.Pkcs9AttributeObject ++ { ++ public Pkcs9DocumentDescription(); ++ public Pkcs9DocumentDescription(byte[] encodedDocumentDescription); ++ public Pkcs9DocumentDescription(string documentDescription); ++ public override void CopyFrom(System.Security.Cryptography.AsnEncodedData asnEncodedData); ++ public string DocumentDescription { get; } ++ } ++ public sealed class Pkcs9DocumentName : System.Security.Cryptography.Pkcs.Pkcs9AttributeObject ++ { ++ public Pkcs9DocumentName(); ++ public Pkcs9DocumentName(byte[] encodedDocumentName); ++ public Pkcs9DocumentName(string documentName); ++ public override void CopyFrom(System.Security.Cryptography.AsnEncodedData asnEncodedData); ++ public string DocumentName { get; } ++ } ++ public sealed class Pkcs9LocalKeyId : System.Security.Cryptography.Pkcs.Pkcs9AttributeObject ++ { ++ public Pkcs9LocalKeyId(); ++ public Pkcs9LocalKeyId(byte[] keyId); ++ public Pkcs9LocalKeyId(System.ReadOnlySpan keyId); ++ public System.ReadOnlyMemory KeyId { get; } ++ } ++ public sealed class Pkcs9MessageDigest : System.Security.Cryptography.Pkcs.Pkcs9AttributeObject ++ { ++ public Pkcs9MessageDigest(); ++ public override void CopyFrom(System.Security.Cryptography.AsnEncodedData asnEncodedData); ++ public byte[] MessageDigest { get; } ++ } ++ public sealed class Pkcs9SigningTime : System.Security.Cryptography.Pkcs.Pkcs9AttributeObject ++ { ++ public Pkcs9SigningTime(); ++ public Pkcs9SigningTime(byte[] encodedSigningTime); ++ public Pkcs9SigningTime(System.DateTime signingTime); ++ public override void CopyFrom(System.Security.Cryptography.AsnEncodedData asnEncodedData); ++ public System.DateTime SigningTime { get; } ++ } ++ public sealed class PublicKeyInfo ++ { ++ public System.Security.Cryptography.Pkcs.AlgorithmIdentifier Algorithm { get; } ++ public byte[] KeyValue { get; } ++ } ++ public abstract class RecipientInfo ++ { ++ public abstract byte[] EncryptedKey { get; } ++ public abstract System.Security.Cryptography.Pkcs.AlgorithmIdentifier KeyEncryptionAlgorithm { get; } ++ public abstract System.Security.Cryptography.Pkcs.SubjectIdentifier RecipientIdentifier { get; } ++ public System.Security.Cryptography.Pkcs.RecipientInfoType Type { get; } ++ public abstract int Version { get; } ++ } ++ public sealed class RecipientInfoCollection : System.Collections.ICollection, System.Collections.IEnumerable ++ { ++ public void CopyTo(System.Array array, int index); ++ public void CopyTo(System.Security.Cryptography.Pkcs.RecipientInfo[] array, int index); ++ public System.Security.Cryptography.Pkcs.RecipientInfoEnumerator GetEnumerator(); ++ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public int Count { get; } ++ public bool IsSynchronized { get; } ++ public System.Security.Cryptography.Pkcs.RecipientInfo this[int index] { get { } } ++ public object SyncRoot { get; } ++ } ++ public sealed class RecipientInfoEnumerator : System.Collections.IEnumerator ++ { ++ public bool MoveNext(); ++ public void Reset(); ++ public System.Security.Cryptography.Pkcs.RecipientInfo Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ } ++ public enum RecipientInfoType ++ { ++ Unknown = 0, ++ KeyTransport = 1, ++ KeyAgreement = 2, ++ } ++ public sealed class Rfc3161TimestampRequest ++ { ++ public static System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest CreateFromData(System.ReadOnlySpan data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.Oid? requestedPolicyId = null, System.ReadOnlyMemory? nonce = null, bool requestSignerCertificates = false, System.Security.Cryptography.X509Certificates.X509ExtensionCollection? extensions = null); ++ public static System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest CreateFromHash(System.ReadOnlyMemory hash, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.Oid? requestedPolicyId = null, System.ReadOnlyMemory? nonce = null, bool requestSignerCertificates = false, System.Security.Cryptography.X509Certificates.X509ExtensionCollection? extensions = null); ++ public static System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest CreateFromHash(System.ReadOnlyMemory hash, System.Security.Cryptography.Oid hashAlgorithmId, System.Security.Cryptography.Oid? requestedPolicyId = null, System.ReadOnlyMemory? nonce = null, bool requestSignerCertificates = false, System.Security.Cryptography.X509Certificates.X509ExtensionCollection? extensions = null); ++ public static System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest CreateFromSignerInfo(System.Security.Cryptography.Pkcs.SignerInfo signerInfo, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.Oid? requestedPolicyId = null, System.ReadOnlyMemory? nonce = null, bool requestSignerCertificates = false, System.Security.Cryptography.X509Certificates.X509ExtensionCollection? extensions = null); ++ public byte[] Encode(); ++ public System.Security.Cryptography.X509Certificates.X509ExtensionCollection GetExtensions(); ++ public System.ReadOnlyMemory GetMessageHash(); ++ public System.ReadOnlyMemory? GetNonce(); ++ public System.Security.Cryptography.Pkcs.Rfc3161TimestampToken ProcessResponse(System.ReadOnlyMemory responseBytes, out int bytesConsumed); ++ public static bool TryDecode(System.ReadOnlyMemory encodedBytes, out System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest? request, out int bytesConsumed); ++ public bool TryEncode(System.Span destination, out int bytesWritten); ++ public bool HasExtensions { get; } ++ public System.Security.Cryptography.Oid HashAlgorithmId { get; } ++ public System.Security.Cryptography.Oid? RequestedPolicyId { get; } ++ public bool RequestSignerCertificate { get; } ++ public int Version { get; } ++ } ++ public sealed class Rfc3161TimestampToken ++ { ++ public System.Security.Cryptography.Pkcs.SignedCms AsSignedCms(); ++ public static bool TryDecode(System.ReadOnlyMemory encodedBytes, out System.Security.Cryptography.Pkcs.Rfc3161TimestampToken? token, out int bytesConsumed); ++ public bool VerifySignatureForData(System.ReadOnlySpan data, out System.Security.Cryptography.X509Certificates.X509Certificate2? signerCertificate, System.Security.Cryptography.X509Certificates.X509Certificate2Collection? extraCandidates = null); ++ public bool VerifySignatureForHash(System.ReadOnlySpan hash, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, out System.Security.Cryptography.X509Certificates.X509Certificate2? signerCertificate, System.Security.Cryptography.X509Certificates.X509Certificate2Collection? extraCandidates = null); ++ public bool VerifySignatureForHash(System.ReadOnlySpan hash, System.Security.Cryptography.Oid hashAlgorithmId, out System.Security.Cryptography.X509Certificates.X509Certificate2? signerCertificate, System.Security.Cryptography.X509Certificates.X509Certificate2Collection? extraCandidates = null); ++ public bool VerifySignatureForSignerInfo(System.Security.Cryptography.Pkcs.SignerInfo signerInfo, out System.Security.Cryptography.X509Certificates.X509Certificate2? signerCertificate, System.Security.Cryptography.X509Certificates.X509Certificate2Collection? extraCandidates = null); ++ public System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo TokenInfo { get; } ++ } ++ public sealed class Rfc3161TimestampTokenInfo ++ { ++ public Rfc3161TimestampTokenInfo(System.Security.Cryptography.Oid policyId, System.Security.Cryptography.Oid hashAlgorithmId, System.ReadOnlyMemory messageHash, System.ReadOnlyMemory serialNumber, System.DateTimeOffset timestamp, long? accuracyInMicroseconds = null, bool isOrdering = false, System.ReadOnlyMemory? nonce = null, System.ReadOnlyMemory? timestampAuthorityName = null, System.Security.Cryptography.X509Certificates.X509ExtensionCollection? extensions = null); ++ public byte[] Encode(); ++ public System.Security.Cryptography.X509Certificates.X509ExtensionCollection GetExtensions(); ++ public System.ReadOnlyMemory GetMessageHash(); ++ public System.ReadOnlyMemory? GetNonce(); ++ public System.ReadOnlyMemory GetSerialNumber(); ++ public System.ReadOnlyMemory? GetTimestampAuthorityName(); ++ public static bool TryDecode(System.ReadOnlyMemory encodedBytes, out System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo? timestampTokenInfo, out int bytesConsumed); ++ public bool TryEncode(System.Span destination, out int bytesWritten); ++ public long? AccuracyInMicroseconds { get; } ++ public bool HasExtensions { get; } ++ public System.Security.Cryptography.Oid HashAlgorithmId { get; } ++ public bool IsOrdering { get; } ++ public System.Security.Cryptography.Oid PolicyId { get; } ++ public System.DateTimeOffset Timestamp { get; } ++ public int Version { get; } ++ } ++ public sealed class SignedCms ++ { ++ public SignedCms(); ++ public SignedCms(System.Security.Cryptography.Pkcs.ContentInfo contentInfo, bool detached); ++ public SignedCms(System.Security.Cryptography.Pkcs.ContentInfo contentInfo); ++ public SignedCms(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType, System.Security.Cryptography.Pkcs.ContentInfo contentInfo, bool detached); ++ public SignedCms(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType, System.Security.Cryptography.Pkcs.ContentInfo contentInfo); ++ public SignedCms(System.Security.Cryptography.Pkcs.SubjectIdentifierType signerIdentifierType); ++ public void AddCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate); ++ public void CheckHash(); ++ public void CheckSignature(bool verifySignatureOnly); ++ public void CheckSignature(System.Security.Cryptography.X509Certificates.X509Certificate2Collection extraStore, bool verifySignatureOnly); ++ public void ComputeSignature(); ++ public void ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner signer, bool silent); ++ public void ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner signer); ++ public void Decode(byte[] encodedMessage); ++ public void Decode(System.ReadOnlySpan encodedMessage); ++ public byte[] Encode(); ++ public void RemoveCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate); ++ public void RemoveSignature(int index); ++ public void RemoveSignature(System.Security.Cryptography.Pkcs.SignerInfo signerInfo); ++ public System.Security.Cryptography.X509Certificates.X509Certificate2Collection Certificates { get; } ++ public System.Security.Cryptography.Pkcs.ContentInfo ContentInfo { get; } ++ public bool Detached { get; } ++ public System.Security.Cryptography.Pkcs.SignerInfoCollection SignerInfos { get; } ++ public int Version { get; } ++ } ++ public sealed class SignerInfo ++ { ++ public void AddUnsignedAttribute(System.Security.Cryptography.AsnEncodedData unsignedAttribute); ++ public void CheckHash(); ++ public void CheckSignature(bool verifySignatureOnly); ++ public void CheckSignature(System.Security.Cryptography.X509Certificates.X509Certificate2Collection extraStore, bool verifySignatureOnly); ++ [System.ObsoleteAttribute("ComputeCounterSignature without specifying a CmsSigner is obsolete and is not supported. Use the overload that accepts a CmsSigner.", DiagnosticId = "SYSLIB0035", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] ++ public void ComputeCounterSignature(); ++ public void ComputeCounterSignature(System.Security.Cryptography.Pkcs.CmsSigner signer); ++ public byte[] GetSignature(); ++ public void RemoveCounterSignature(int index); ++ public void RemoveCounterSignature(System.Security.Cryptography.Pkcs.SignerInfo counterSignerInfo); ++ public void RemoveUnsignedAttribute(System.Security.Cryptography.AsnEncodedData unsignedAttribute); ++ public System.Security.Cryptography.X509Certificates.X509Certificate2? Certificate { get; } ++ public System.Security.Cryptography.Pkcs.SignerInfoCollection CounterSignerInfos { get; } ++ public System.Security.Cryptography.Oid DigestAlgorithm { get; } ++ public System.Security.Cryptography.Oid SignatureAlgorithm { get; } ++ public System.Security.Cryptography.CryptographicAttributeObjectCollection SignedAttributes { get; } ++ public System.Security.Cryptography.Pkcs.SubjectIdentifier SignerIdentifier { get; } ++ public System.Security.Cryptography.CryptographicAttributeObjectCollection UnsignedAttributes { get; } ++ public int Version { get; } ++ } ++ public sealed class SignerInfoCollection : System.Collections.ICollection, System.Collections.IEnumerable ++ { ++ public void CopyTo(System.Array array, int index); ++ public void CopyTo(System.Security.Cryptography.Pkcs.SignerInfo[] array, int index); ++ public System.Security.Cryptography.Pkcs.SignerInfoEnumerator GetEnumerator(); ++ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public int Count { get; } ++ public bool IsSynchronized { get; } ++ public System.Security.Cryptography.Pkcs.SignerInfo this[int index] { get { } } ++ public object SyncRoot { get; } ++ } ++ public sealed class SignerInfoEnumerator : System.Collections.IEnumerator ++ { ++ public bool MoveNext(); ++ public void Reset(); ++ public System.Security.Cryptography.Pkcs.SignerInfo Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ } ++ public sealed class SubjectIdentifier ++ { ++ public bool MatchesCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate); ++ public System.Security.Cryptography.Pkcs.SubjectIdentifierType Type { get; } ++ public object? Value { get; } ++ } ++ public sealed class SubjectIdentifierOrKey ++ { ++ public System.Security.Cryptography.Pkcs.SubjectIdentifierOrKeyType Type { get; } ++ public object Value { get; } ++ } ++ public enum SubjectIdentifierOrKeyType ++ { ++ Unknown = 0, ++ IssuerAndSerialNumber = 1, ++ SubjectKeyIdentifier = 2, ++ PublicKeyInfo = 3, ++ } ++ public enum SubjectIdentifierType ++ { ++ Unknown = 0, ++ IssuerAndSerialNumber = 1, ++ SubjectKeyIdentifier = 2, ++ NoSignature = 3, ++ } ++ } ++ namespace System.Security.Cryptography.Xml ++ { ++ public struct X509IssuerSerial ++ { ++ public string IssuerName { get; set; } ++ public string SerialNumber { get; set; } ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0.md new file mode 100644 index 0000000000..9ceabbc156 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0.md @@ -0,0 +1,52 @@ +# API difference between .NET 10.0 GA and .NET 11.0 Preview 7 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [Microsoft.Extensions.Caching.Abstractions](11.0.0_Microsoft.Extensions.Caching.Abstractions.md) +* [Microsoft.Extensions.Configuration.Abstractions](11.0.0_Microsoft.Extensions.Configuration.Abstractions.md) +* [Microsoft.Extensions.DependencyInjection.Abstractions](11.0.0_Microsoft.Extensions.DependencyInjection.Abstractions.md) +* [Microsoft.Extensions.Diagnostics.Abstractions](11.0.0_Microsoft.Extensions.Diagnostics.Abstractions.md) +* [Microsoft.Extensions.FileProviders.Abstractions](11.0.0_Microsoft.Extensions.FileProviders.Abstractions.md) +* [Microsoft.Extensions.Hosting.Abstractions](11.0.0_Microsoft.Extensions.Hosting.Abstractions.md) +* [Microsoft.Extensions.Logging.Abstractions](11.0.0_Microsoft.Extensions.Logging.Abstractions.md) +* [Microsoft.Extensions.Options](11.0.0_Microsoft.Extensions.Options.md) +* [Microsoft.Extensions.Primitives](11.0.0_Microsoft.Extensions.Primitives.md) +* [System.Collections](11.0.0_System.Collections.md) +* [System.Collections.Immutable](11.0.0_System.Collections.Immutable.md) +* [System.ComponentModel.Annotations](11.0.0_System.ComponentModel.Annotations.md) +* [System.ComponentModel.TypeConverter](11.0.0_System.ComponentModel.TypeConverter.md) +* [System.Console](11.0.0_System.Console.md) +* [System.Diagnostics.DiagnosticSource](11.0.0_System.Diagnostics.DiagnosticSource.md) +* [System.Diagnostics.Process](11.0.0_System.Diagnostics.Process.md) +* [System.Diagnostics.Tracing](11.0.0_System.Diagnostics.Tracing.md) +* [System.Drawing.Primitives](11.0.0_System.Drawing.Primitives.md) +* [System.Formats.Asn1](11.0.0_System.Formats.Asn1.md) +* [System.Formats.Tar](11.0.0_System.Formats.Tar.md) +* [System.IO.Compression](11.0.0_System.IO.Compression.md) +* [System.IO.Compression.Brotli](11.0.0_System.IO.Compression.Brotli.md) +* [System.IO.Compression.ZipFile](11.0.0_System.IO.Compression.ZipFile.md) +* [System.IO.Pipes](11.0.0_System.IO.Pipes.md) +* [System.Linq](11.0.0_System.Linq.md) +* [System.Linq.AsyncEnumerable](11.0.0_System.Linq.AsyncEnumerable.md) +* [System.Linq.Expressions](11.0.0_System.Linq.Expressions.md) +* [System.Linq.Queryable](11.0.0_System.Linq.Queryable.md) +* [System.Memory](11.0.0_System.Memory.md) +* [System.Net.Mail](11.0.0_System.Net.Mail.md) +* [System.Net.NameResolution](11.0.0_System.Net.NameResolution.md) +* [System.Net.Primitives](11.0.0_System.Net.Primitives.md) +* [System.Net.Quic](11.0.0_System.Net.Quic.md) +* [System.Net.Sockets](11.0.0_System.Net.Sockets.md) +* [System.Numerics.Vectors](11.0.0_System.Numerics.Vectors.md) +* [System.Reflection.Emit](11.0.0_System.Reflection.Emit.md) +* [System.Reflection.Emit.ILGeneration](11.0.0_System.Reflection.Emit.ILGeneration.md) +* [System.Runtime](11.0.0_System.Runtime.md) +* [System.Runtime.InteropServices](11.0.0_System.Runtime.InteropServices.md) +* [System.Runtime.InteropServices.JavaScript](11.0.0_System.Runtime.InteropServices.JavaScript.md) +* [System.Runtime.Intrinsics](11.0.0_System.Runtime.Intrinsics.md) +* [System.Runtime.Loader](11.0.0_System.Runtime.Loader.md) +* [System.Runtime.Numerics](11.0.0_System.Runtime.Numerics.md) +* [System.Security.Cryptography](11.0.0_System.Security.Cryptography.md) +* [System.Text.Json](11.0.0_System.Text.Json.md) +* [System.Text.RegularExpressions](11.0.0_System.Text.RegularExpressions.md) +* [System.Threading](11.0.0_System.Threading.md) diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Caching.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Caching.Abstractions.md new file mode 100644 index 0000000000..0a0dc10aef --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Caching.Abstractions.md @@ -0,0 +1,212 @@ +# Microsoft.Extensions.Caching.Abstractions + +```diff ++ namespace Microsoft.Extensions.Caching.Distributed ++ { ++ public static class DistributedCacheEntryExtensions ++ { ++ public static Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.DateTimeOffset absolute); ++ public static Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.TimeSpan relative); ++ public static Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions SetSlidingExpiration(this Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.TimeSpan offset); ++ } ++ public class DistributedCacheEntryOptions ++ { ++ public DistributedCacheEntryOptions(); ++ public System.DateTimeOffset? AbsoluteExpiration { get; set; } ++ public System.TimeSpan? AbsoluteExpirationRelativeToNow { get; set; } ++ public System.TimeSpan? SlidingExpiration { get; set; } ++ } ++ public static class DistributedCacheExtensions ++ { ++ public static string? GetString(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key); ++ public static System.Threading.Tasks.Task GetStringAsync(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ public static void Set(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, byte[] value); ++ public static System.Threading.Tasks.Task SetAsync(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, byte[] value, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ public static void SetString(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, string value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options); ++ public static void SetString(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, string value); ++ public static System.Threading.Tasks.Task SetStringAsync(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, string value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task SetStringAsync(this Microsoft.Extensions.Caching.Distributed.IDistributedCache cache, string key, string value, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ } ++ public interface IBufferDistributedCache : Microsoft.Extensions.Caching.Distributed.IDistributedCache ++ { ++ void Set(string key, System.Buffers.ReadOnlySequence value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options); ++ System.Threading.Tasks.ValueTask SetAsync(string key, System.Buffers.ReadOnlySequence value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ bool TryGet(string key, System.Buffers.IBufferWriter destination); ++ System.Threading.Tasks.ValueTask TryGetAsync(string key, System.Buffers.IBufferWriter destination, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ } ++ public interface IDistributedCache ++ { ++ byte[]? Get(string key); ++ System.Threading.Tasks.Task GetAsync(string key, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ void Refresh(string key); ++ System.Threading.Tasks.Task RefreshAsync(string key, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ void Remove(string key); ++ System.Threading.Tasks.Task RemoveAsync(string key, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ void Set(string key, byte[] value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options); ++ System.Threading.Tasks.Task SetAsync(string key, byte[] value, Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions options, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ } ++ } ++ namespace Microsoft.Extensions.Caching.Hybrid ++ { ++ public abstract class HybridCache ++ { ++ protected HybridCache(); ++ public System.Threading.Tasks.ValueTask GetOrCreateAsync(System.ReadOnlySpan key, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Threading.Tasks.ValueTask GetOrCreateAsync(ref System.Runtime.CompilerServices.DefaultInterpolatedStringHandler key, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Threading.Tasks.ValueTask GetOrCreateAsync(string key, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public virtual System.Threading.Tasks.ValueTask GetOrCreateAsync(System.ReadOnlySpan key, TState state, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Threading.Tasks.ValueTask GetOrCreateAsync(ref System.Runtime.CompilerServices.DefaultInterpolatedStringHandler key, TState state, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public abstract System.Threading.Tasks.ValueTask GetOrCreateAsync(string key, TState state, System.Func> factory, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public virtual System.Threading.Tasks.ValueTask RemoveAsync(System.Collections.Generic.IEnumerable keys, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public abstract System.Threading.Tasks.ValueTask RemoveAsync(string key, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public virtual System.Threading.Tasks.ValueTask RemoveByTagAsync(System.Collections.Generic.IEnumerable tags, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public abstract System.Threading.Tasks.ValueTask RemoveByTagAsync(string tag, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public abstract System.Threading.Tasks.ValueTask SetAsync(string key, T value, Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryOptions? options = null, System.Collections.Generic.IEnumerable? tags = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ } ++ [System.FlagsAttribute] ++ public enum HybridCacheEntryFlags ++ { ++ None = 0, ++ DisableLocalCacheRead = 1, ++ DisableDistributedCache = 12, ++ DisableUnderlyingData = 16, ++ DisableLocalCacheWrite = 2, ++ DisableLocalCache = 3, ++ DisableCompression = 32, ++ DisableDistributedCacheRead = 4, ++ DisableDistributedCacheWrite = 8, ++ } ++ public sealed class HybridCacheEntryOptions ++ { ++ public HybridCacheEntryOptions(); ++ public System.TimeSpan? Expiration { get; init; } ++ public Microsoft.Extensions.Caching.Hybrid.HybridCacheEntryFlags? Flags { get; init; } ++ public System.TimeSpan? LocalCacheExpiration { get; init; } ++ } ++ public interface IHybridCacheSerializer ++ { ++ T Deserialize(System.Buffers.ReadOnlySequence source); ++ void Serialize(T value, System.Buffers.IBufferWriter target); ++ } ++ public interface IHybridCacheSerializerFactory ++ { ++ bool TryCreateSerializer(out Microsoft.Extensions.Caching.Hybrid.IHybridCacheSerializer? serializer); ++ } ++ } ++ namespace Microsoft.Extensions.Caching.Memory ++ { ++ public static class CacheEntryExtensions ++ { ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry AddExpirationToken(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Primitives.IChangeToken expirationToken); ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry RegisterPostEvictionCallback(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Caching.Memory.PostEvictionDelegate callback, object? state); ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry RegisterPostEvictionCallback(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Caching.Memory.PostEvictionDelegate callback); ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, System.DateTimeOffset absolute); ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, System.TimeSpan relative); ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetOptions(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options); ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetPriority(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, Microsoft.Extensions.Caching.Memory.CacheItemPriority priority); ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetSize(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, long size); ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetSlidingExpiration(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, System.TimeSpan offset); ++ public static Microsoft.Extensions.Caching.Memory.ICacheEntry SetValue(this Microsoft.Extensions.Caching.Memory.ICacheEntry entry, object? value); ++ } ++ public static class CacheExtensions ++ { ++ public static object? Get(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key); ++ public static TItem? Get(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key); ++ public static TItem? GetOrCreate(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, System.Func factory, Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions? createOptions); ++ public static TItem? GetOrCreate(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, System.Func factory); ++ public static System.Threading.Tasks.Task GetOrCreateAsync(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, System.Func> factory, Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions? createOptions); ++ public static System.Threading.Tasks.Task GetOrCreateAsync(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, System.Func> factory); ++ public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value, Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions? options); ++ public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value, Microsoft.Extensions.Primitives.IChangeToken expirationToken); ++ public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value, System.DateTimeOffset absoluteExpiration); ++ public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value, System.TimeSpan absoluteExpirationRelativeToNow); ++ public static TItem Set(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, TItem value); ++ public static bool TryGetValue(this Microsoft.Extensions.Caching.Memory.IMemoryCache cache, object key, out TItem? value); ++ } ++ public enum CacheItemPriority ++ { ++ Low = 0, ++ Normal = 1, ++ High = 2, ++ NeverRemove = 3, ++ } ++ public enum EvictionReason ++ { ++ None = 0, ++ Removed = 1, ++ Replaced = 2, ++ Expired = 3, ++ TokenExpired = 4, ++ Capacity = 5, ++ } ++ public interface ICacheEntry : System.IDisposable ++ { ++ System.DateTimeOffset? AbsoluteExpiration { get; set; } ++ System.TimeSpan? AbsoluteExpirationRelativeToNow { get; set; } ++ System.Collections.Generic.IList ExpirationTokens { get; } ++ object Key { get; } ++ System.Collections.Generic.IList PostEvictionCallbacks { get; } ++ Microsoft.Extensions.Caching.Memory.CacheItemPriority Priority { get; set; } ++ long? Size { get; set; } ++ System.TimeSpan? SlidingExpiration { get; set; } ++ object? Value { get; set; } ++ } ++ public interface IMemoryCache : System.IDisposable ++ { ++ Microsoft.Extensions.Caching.Memory.ICacheEntry CreateEntry(object key); ++ Microsoft.Extensions.Caching.Memory.MemoryCacheStatistics? GetCurrentStatistics(); ++ void Remove(object key); ++ bool TryGetValue(object key, out object? value); ++ } ++ public static class MemoryCacheEntryExtensions ++ { ++ public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions AddExpirationToken(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, Microsoft.Extensions.Primitives.IChangeToken expirationToken); ++ public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions RegisterPostEvictionCallback(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, Microsoft.Extensions.Caching.Memory.PostEvictionDelegate callback, object? state); ++ public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions RegisterPostEvictionCallback(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, Microsoft.Extensions.Caching.Memory.PostEvictionDelegate callback); ++ public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, System.DateTimeOffset absolute); ++ public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetAbsoluteExpiration(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, System.TimeSpan relative); ++ public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetPriority(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, Microsoft.Extensions.Caching.Memory.CacheItemPriority priority); ++ public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetSize(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, long size); ++ public static Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions SetSlidingExpiration(this Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions options, System.TimeSpan offset); ++ } ++ public class MemoryCacheEntryOptions ++ { ++ public MemoryCacheEntryOptions(); ++ public System.DateTimeOffset? AbsoluteExpiration { get; set; } ++ public System.TimeSpan? AbsoluteExpirationRelativeToNow { get; set; } ++ public System.Collections.Generic.IList ExpirationTokens { get; } ++ public System.Collections.Generic.IList PostEvictionCallbacks { get; } ++ public Microsoft.Extensions.Caching.Memory.CacheItemPriority Priority { get; set; } ++ public long? Size { get; set; } ++ public System.TimeSpan? SlidingExpiration { get; set; } ++ } ++ public class MemoryCacheStatistics ++ { ++ public MemoryCacheStatistics(); ++ public long CurrentEntryCount { get; init; } ++ public long? CurrentEstimatedSize { get; init; } ++ public long TotalEvictions { get; init; } ++ public long TotalHits { get; init; } ++ public long TotalMisses { get; init; } ++ } ++ public class PostEvictionCallbackRegistration ++ { ++ public PostEvictionCallbackRegistration(); ++ public Microsoft.Extensions.Caching.Memory.PostEvictionDelegate? EvictionCallback { get; set; } ++ public object? State { get; set; } ++ } ++ public delegate void PostEvictionDelegate(object key, object? value, Microsoft.Extensions.Caching.Memory.EvictionReason reason, object? state); ++ } ++ namespace Microsoft.Extensions.Internal ++ { ++ public interface ISystemClock ++ { ++ System.DateTimeOffset UtcNow { get; } ++ } ++ public class SystemClock : Microsoft.Extensions.Internal.ISystemClock ++ { ++ public SystemClock(); ++ public System.DateTimeOffset UtcNow { get; } ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Configuration.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Configuration.Abstractions.md new file mode 100644 index 0000000000..3ed334341c --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Configuration.Abstractions.md @@ -0,0 +1,87 @@ +# Microsoft.Extensions.Configuration.Abstractions + +```diff ++ namespace Microsoft.Extensions.Configuration ++ { ++ public readonly struct ConfigurationDebugViewContext ++ { ++ public ConfigurationDebugViewContext(string path, string key, string? value, Microsoft.Extensions.Configuration.IConfigurationProvider configurationProvider); ++ public Microsoft.Extensions.Configuration.IConfigurationProvider ConfigurationProvider { get; } ++ public string Key { get; } ++ public string Path { get; } ++ public string? Value { get; } ++ } ++ public static class ConfigurationExtensions ++ { ++ public static Microsoft.Extensions.Configuration.IConfigurationBuilder Add(this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, System.Action? configureSource) ++ where TSource : Microsoft.Extensions.Configuration.IConfigurationSource, new(); ++ public static System.Collections.Generic.IEnumerable> AsEnumerable(this Microsoft.Extensions.Configuration.IConfiguration configuration, bool makePathsRelative); ++ public static System.Collections.Generic.IEnumerable> AsEnumerable(this Microsoft.Extensions.Configuration.IConfiguration configuration); ++ public static bool Exists(this Microsoft.Extensions.Configuration.IConfigurationSection? section); ++ public static string? GetConnectionString(this Microsoft.Extensions.Configuration.IConfiguration configuration, string name); ++ public static Microsoft.Extensions.Configuration.IConfigurationSection GetRequiredSection(this Microsoft.Extensions.Configuration.IConfiguration configuration, string key); ++ } ++ public sealed class ConfigurationIgnoreAttribute : System.Attribute ++ { ++ public ConfigurationIgnoreAttribute(); ++ } ++ public sealed class ConfigurationKeyNameAttribute : System.Attribute ++ { ++ public ConfigurationKeyNameAttribute(string name); ++ public string Name { get; } ++ } ++ public static class ConfigurationPath ++ { ++ public static readonly string KeyDelimiter; ++ public static string Combine(System.Collections.Generic.IEnumerable pathSegments); ++ public static string Combine(params string[] pathSegments); ++ public static string? GetParentPath(string? path); ++ public static string? GetSectionKey(string? path); ++ } ++ public static class ConfigurationRootExtensions ++ { ++ public static string GetDebugView(this Microsoft.Extensions.Configuration.IConfigurationRoot root, System.Func? processValue); ++ public static string GetDebugView(this Microsoft.Extensions.Configuration.IConfigurationRoot root); ++ } ++ public interface IConfiguration ++ { ++ System.Collections.Generic.IEnumerable GetChildren(); ++ Microsoft.Extensions.Primitives.IChangeToken GetReloadToken(); ++ Microsoft.Extensions.Configuration.IConfigurationSection GetSection(string key); ++ string? this[string key] { get; set; } ++ } ++ public interface IConfigurationBuilder ++ { ++ Microsoft.Extensions.Configuration.IConfigurationBuilder Add(Microsoft.Extensions.Configuration.IConfigurationSource source); ++ Microsoft.Extensions.Configuration.IConfigurationRoot Build(); ++ System.Collections.Generic.IDictionary Properties { get; } ++ System.Collections.Generic.IList Sources { get; } ++ } ++ public interface IConfigurationManager : Microsoft.Extensions.Configuration.IConfiguration, Microsoft.Extensions.Configuration.IConfigurationBuilder ++ { ++ } ++ public interface IConfigurationProvider ++ { ++ System.Collections.Generic.IEnumerable GetChildKeys(System.Collections.Generic.IEnumerable earlierKeys, string? parentPath); ++ Microsoft.Extensions.Primitives.IChangeToken GetReloadToken(); ++ void Load(); ++ void Set(string key, string? value); ++ bool TryGet(string key, out string? value); ++ } ++ public interface IConfigurationRoot : Microsoft.Extensions.Configuration.IConfiguration ++ { ++ void Reload(); ++ System.Collections.Generic.IEnumerable Providers { get; } ++ } ++ public interface IConfigurationSection : Microsoft.Extensions.Configuration.IConfiguration ++ { ++ string Key { get; } ++ string Path { get; } ++ string? Value { get; set; } ++ } ++ public interface IConfigurationSource ++ { ++ Microsoft.Extensions.Configuration.IConfigurationProvider Build(Microsoft.Extensions.Configuration.IConfigurationBuilder builder); ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.DependencyInjection.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.DependencyInjection.Abstractions.md new file mode 100644 index 0000000000..7080de891c --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.DependencyInjection.Abstractions.md @@ -0,0 +1,370 @@ +# Microsoft.Extensions.DependencyInjection.Abstractions + +```diff ++ namespace Microsoft.Extensions.DependencyInjection ++ { ++ public static class ActivatorUtilities ++ { ++ public static Microsoft.Extensions.DependencyInjection.ObjectFactory CreateFactory(System.Type instanceType, System.Type[] argumentTypes); ++ public static Microsoft.Extensions.DependencyInjection.ObjectFactory CreateFactory(System.Type[] argumentTypes); ++ public static object CreateInstance(System.IServiceProvider provider, System.Type instanceType, params object[] parameters); ++ public static T CreateInstance(System.IServiceProvider provider, params object[] parameters); ++ public static object GetServiceOrCreateInstance(System.IServiceProvider provider, System.Type type); ++ public static T GetServiceOrCreateInstance(System.IServiceProvider provider); ++ } ++ public class ActivatorUtilitiesConstructorAttribute : System.Attribute ++ { ++ public ActivatorUtilitiesConstructorAttribute(); ++ } ++ public readonly struct AsyncServiceScope : Microsoft.Extensions.DependencyInjection.IServiceScope, System.IDisposable, System.IAsyncDisposable ++ { ++ public AsyncServiceScope(Microsoft.Extensions.DependencyInjection.IServiceScope serviceScope); ++ public readonly void Dispose(); ++ public readonly System.Threading.Tasks.ValueTask DisposeAsync(); ++ public System.IServiceProvider ServiceProvider { get; } ++ } ++ public sealed class EmptyServiceProvider : Microsoft.Extensions.DependencyInjection.IKeyedServiceProvider, System.IServiceProvider, Microsoft.Extensions.DependencyInjection.IServiceProviderIsKeyedService, Microsoft.Extensions.DependencyInjection.IServiceProviderIsService ++ { ++ object Microsoft.Extensions.DependencyInjection.IKeyedServiceProvider.GetKeyedService(System.Type serviceType, object serviceKey); ++ object Microsoft.Extensions.DependencyInjection.IKeyedServiceProvider.GetRequiredKeyedService(System.Type serviceType, object serviceKey); ++ bool Microsoft.Extensions.DependencyInjection.IServiceProviderIsKeyedService.IsKeyedService(System.Type serviceType, object serviceKey); ++ bool Microsoft.Extensions.DependencyInjection.IServiceProviderIsService.IsService(System.Type serviceType); ++ object System.IServiceProvider.GetService(System.Type serviceType); ++ public static Microsoft.Extensions.DependencyInjection.EmptyServiceProvider Instance { get; } ++ } ++ public class FromKeyedServicesAttribute : System.Attribute ++ { ++ public FromKeyedServicesAttribute(); ++ public FromKeyedServicesAttribute(object? key); ++ public object? Key { get; } ++ public Microsoft.Extensions.DependencyInjection.ServiceKeyLookupMode LookupMode { get; } ++ } ++ public interface IKeyedServiceProvider : System.IServiceProvider ++ { ++ object? GetKeyedService(System.Type serviceType, object? serviceKey); ++ object GetRequiredKeyedService(System.Type serviceType, object? serviceKey); ++ } ++ public interface IServiceCollection : System.Collections.Generic.ICollection, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable, System.Collections.Generic.IList ++ { ++ } ++ public interface IServiceProviderFactory ++ where TContainerBuilder : notnull ++ { ++ TContainerBuilder CreateBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection services); ++ System.IServiceProvider CreateServiceProvider(TContainerBuilder containerBuilder); ++ } ++ public interface IServiceProviderIsKeyedService : Microsoft.Extensions.DependencyInjection.IServiceProviderIsService ++ { ++ bool IsKeyedService(System.Type serviceType, object? serviceKey); ++ } ++ public interface IServiceProviderIsService ++ { ++ bool IsService(System.Type serviceType); ++ } ++ public interface IServiceScope : System.IDisposable ++ { ++ System.IServiceProvider ServiceProvider { get; } ++ } ++ public interface IServiceScopeFactory ++ { ++ Microsoft.Extensions.DependencyInjection.IServiceScope CreateScope(); ++ } ++ public interface ISupportRequiredService ++ { ++ object GetRequiredService(System.Type serviceType); ++ } ++ public static class KeyedService ++ { ++ public static object AnyKey { get; } ++ } ++ public delegate object ObjectFactory(System.IServiceProvider serviceProvider, object?[]? arguments); ++ public delegate T ObjectFactory(System.IServiceProvider serviceProvider, object?[]? arguments); ++ public class ServiceCollection : Microsoft.Extensions.DependencyInjection.IServiceCollection, System.Collections.Generic.ICollection, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable, System.Collections.Generic.IList ++ { ++ public ServiceCollection(); ++ public void Clear(); ++ public bool Contains(Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); ++ public void CopyTo(Microsoft.Extensions.DependencyInjection.ServiceDescriptor[] array, int arrayIndex); ++ public System.Collections.Generic.IEnumerator GetEnumerator(); ++ public int IndexOf(Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); ++ public void Insert(int index, Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); ++ public void MakeReadOnly(); ++ public bool Remove(Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); ++ public void RemoveAt(int index); ++ void System.Collections.Generic.ICollection.Add(Microsoft.Extensions.DependencyInjection.ServiceDescriptor item); ++ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public int Count { get; } ++ public bool IsReadOnly { get; } ++ public Microsoft.Extensions.DependencyInjection.ServiceDescriptor this[int index] { get { } set { } } ++ } ++ public static class ServiceCollectionServiceExtensions ++ { ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, object implementationInstance); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, TService implementationInstance) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object? serviceKey); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, object implementationInstance); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, TService implementationInstance) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type serviceType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) ++ where TService : class where TImplementation : class, TService; ++ } ++ public class ServiceDescriptor ++ { ++ public ServiceDescriptor(System.Type serviceType, System.Func factory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); ++ public ServiceDescriptor(System.Type serviceType, object? serviceKey, System.Func factory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); ++ public ServiceDescriptor(System.Type serviceType, object? serviceKey, object instance); ++ public ServiceDescriptor(System.Type serviceType, object? serviceKey, System.Type implementationType, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); ++ public ServiceDescriptor(System.Type serviceType, object instance); ++ public ServiceDescriptor(System.Type serviceType, System.Type implementationType, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Describe(System.Type serviceType, System.Func implementationFactory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Describe(System.Type serviceType, System.Type implementationType, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor DescribeKeyed(System.Type serviceType, object? serviceKey, System.Func implementationFactory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor DescribeKeyed(System.Type serviceType, object? serviceKey, System.Type implementationType, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(System.Type service, object? serviceKey, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(System.Type service, object? serviceKey, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(object? serviceKey, System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(object? serviceKey, System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedScoped(object? serviceKey) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(System.Type serviceType, object? serviceKey, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(System.Type serviceType, object? serviceKey, object implementationInstance); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(System.Type service, object? serviceKey, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(object? serviceKey, TService implementationInstance) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(object? serviceKey, System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(object? serviceKey, System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedSingleton(object? serviceKey) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(System.Type service, object? serviceKey, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(System.Type service, object? serviceKey, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(object? serviceKey, System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(object? serviceKey, System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor KeyedTransient(object? serviceKey) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped(System.Type service, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped(System.Type service, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped(System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped() ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Scoped(System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Type serviceType, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Type serviceType, object implementationInstance); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Type service, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(TService implementationInstance) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton() ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Singleton(System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public override string ToString(); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient(System.Type service, System.Func implementationFactory); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient(System.Type service, System.Type implementationType); ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient(System.Func implementationFactory) ++ where TService : class; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient() ++ where TService : class where TImplementation : class, TService; ++ public static Microsoft.Extensions.DependencyInjection.ServiceDescriptor Transient(System.Func implementationFactory) ++ where TService : class where TImplementation : class, TService; ++ public System.Func? ImplementationFactory { get; } ++ public object? ImplementationInstance { get; } ++ [System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)] ++ public System.Type? ImplementationType { get; } ++ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "ServiceKey")] ++ public bool IsKeyedService { get; } ++ public System.Func? KeyedImplementationFactory { get; } ++ public object? KeyedImplementationInstance { get; } ++ [System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)] ++ public System.Type? KeyedImplementationType { get; } ++ public Microsoft.Extensions.DependencyInjection.ServiceLifetime Lifetime { get; } ++ public object? ServiceKey { get; } ++ public System.Type ServiceType { get; } ++ } ++ public class ServiceKeyAttribute : System.Attribute ++ { ++ public ServiceKeyAttribute(); ++ } ++ public enum ServiceKeyLookupMode ++ { ++ InheritKey = 0, ++ NullKey = 1, ++ ExplicitKey = 2, ++ } ++ public enum ServiceLifetime ++ { ++ Singleton = 0, ++ Scoped = 1, ++ Transient = 2, ++ } ++ public static class ServiceProviderKeyedServiceExtensions ++ { ++ public static object? GetKeyedService(this System.IServiceProvider provider, System.Type serviceType, object? serviceKey); ++ public static T? GetKeyedService(this System.IServiceProvider provider, object? serviceKey); ++ public static System.Collections.Generic.IEnumerable GetKeyedServices(this System.IServiceProvider provider, System.Type serviceType, object? serviceKey); ++ public static System.Collections.Generic.IEnumerable GetKeyedServices(this System.IServiceProvider provider, object? serviceKey); ++ public static object GetRequiredKeyedService(this System.IServiceProvider provider, System.Type serviceType, object? serviceKey); ++ public static T GetRequiredKeyedService(this System.IServiceProvider provider, object? serviceKey) ++ where T : notnull; ++ } ++ public static class ServiceProviderServiceExtensions ++ { ++ public static Microsoft.Extensions.DependencyInjection.AsyncServiceScope CreateAsyncScope(this Microsoft.Extensions.DependencyInjection.IServiceScopeFactory serviceScopeFactory); ++ public static Microsoft.Extensions.DependencyInjection.AsyncServiceScope CreateAsyncScope(this System.IServiceProvider provider); ++ public static Microsoft.Extensions.DependencyInjection.IServiceScope CreateScope(this System.IServiceProvider provider); ++ public static object GetRequiredService(this System.IServiceProvider provider, System.Type serviceType); ++ public static T GetRequiredService(this System.IServiceProvider provider) ++ where T : notnull; ++ public static T? GetService(this System.IServiceProvider provider); ++ public static System.Collections.Generic.IEnumerable GetServices(this System.IServiceProvider provider, System.Type serviceType); ++ public static System.Collections.Generic.IEnumerable GetServices(this System.IServiceProvider provider); ++ } ++ } ++ namespace Microsoft.Extensions.DependencyInjection.Extensions ++ { ++ public static class ServiceCollectionDescriptorExtensions ++ { ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection Add(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, Microsoft.Extensions.DependencyInjection.ServiceDescriptor descriptor); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection Add(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Collections.Generic.IEnumerable descriptors); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection RemoveAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type serviceType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection RemoveAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection RemoveAllKeyed(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type serviceType, object? serviceKey); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection RemoveAllKeyed(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection Replace(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, Microsoft.Extensions.DependencyInjection.ServiceDescriptor descriptor); ++ public static void TryAdd(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, Microsoft.Extensions.DependencyInjection.ServiceDescriptor descriptor); ++ public static void TryAdd(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Collections.Generic.IEnumerable descriptors); ++ public static void TryAddEnumerable(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.DependencyInjection.ServiceDescriptor descriptor); ++ public static void TryAddEnumerable(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Collections.Generic.IEnumerable descriptors); ++ public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Func implementationFactory); ++ public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Type implementationType); ++ public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey); ++ public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) ++ where TService : class; ++ public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) ++ where TService : class; ++ public static void TryAddKeyedScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) ++ where TService : class where TImplementation : class, TService; ++ public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Func implementationFactory); ++ public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Type implementationType); ++ public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey); ++ public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey, TService instance) ++ where TService : class; ++ public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) ++ where TService : class; ++ public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) ++ where TService : class; ++ public static void TryAddKeyedSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) ++ where TService : class where TImplementation : class, TService; ++ public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Func implementationFactory); ++ public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey, System.Type implementationType); ++ public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, object? serviceKey); ++ public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object? serviceKey, System.Func implementationFactory) ++ where TService : class; ++ public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) ++ where TService : class; ++ public static void TryAddKeyedTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, object? serviceKey) ++ where TService : class where TImplementation : class, TService; ++ public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Func implementationFactory); ++ public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Type implementationType); ++ public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service); ++ public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where TService : class; ++ public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) ++ where TService : class; ++ public static void TryAddScoped(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) ++ where TService : class where TImplementation : class, TService; ++ public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Func implementationFactory); ++ public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Type implementationType); ++ public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service); ++ public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, TService instance) ++ where TService : class; ++ public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where TService : class; ++ public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) ++ where TService : class; ++ public static void TryAddSingleton(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) ++ where TService : class where TImplementation : class, TService; ++ public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Func implementationFactory); ++ public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service, System.Type implementationType); ++ public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection, System.Type service); ++ public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where TService : class; ++ public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) ++ where TService : class; ++ public static void TryAddTransient(this Microsoft.Extensions.DependencyInjection.IServiceCollection collection) ++ where TService : class where TImplementation : class, TService; ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Diagnostics.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Diagnostics.Abstractions.md new file mode 100644 index 0000000000..9d572ed0ab --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Diagnostics.Abstractions.md @@ -0,0 +1,117 @@ +# Microsoft.Extensions.Diagnostics.Abstractions + +```diff ++ namespace Microsoft.Extensions.Diagnostics.Metrics ++ { ++ public interface IMetricsBuilder ++ { ++ Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } ++ } ++ public interface IMetricsListener ++ { ++ Microsoft.Extensions.Diagnostics.Metrics.MeasurementHandlers GetMeasurementHandlers(); ++ void Initialize(Microsoft.Extensions.Diagnostics.Metrics.IObservableInstrumentsSource source); ++ bool InstrumentPublished(System.Diagnostics.Metrics.Instrument instrument, out object? userState); ++ void MeasurementsCompleted(System.Diagnostics.Metrics.Instrument instrument, object? userState); ++ string Name { get; } ++ } ++ public class InstrumentRule ++ { ++ public InstrumentRule(string? meterName, string? instrumentName, string? listenerName, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes, bool enable); ++ public bool Enable { get; } ++ public string? InstrumentName { get; } ++ public string? ListenerName { get; } ++ public string? MeterName { get; } ++ public Microsoft.Extensions.Diagnostics.Metrics.MeterScope Scopes { get; } ++ } ++ public interface IObservableInstrumentsSource ++ { ++ void RecordObservableInstruments(); ++ } ++ public class MeasurementHandlers ++ { ++ public MeasurementHandlers(); ++ public System.Diagnostics.Metrics.MeasurementCallback? ByteHandler { get; set; } ++ public System.Diagnostics.Metrics.MeasurementCallback? DecimalHandler { get; set; } ++ public System.Diagnostics.Metrics.MeasurementCallback? DoubleHandler { get; set; } ++ public System.Diagnostics.Metrics.MeasurementCallback? FloatHandler { get; set; } ++ public System.Diagnostics.Metrics.MeasurementCallback? IntHandler { get; set; } ++ public System.Diagnostics.Metrics.MeasurementCallback? LongHandler { get; set; } ++ public System.Diagnostics.Metrics.MeasurementCallback? ShortHandler { get; set; } ++ } ++ [System.FlagsAttribute] ++ public enum MeterScope ++ { ++ None = 0, ++ Global = 1, ++ Local = 2, ++ } ++ public static class MetricsBuilderExtensions ++ { ++ public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder AddListener(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, Microsoft.Extensions.Diagnostics.Metrics.IMetricsListener listener); ++ public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder AddListener(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder) ++ where T : class, Microsoft.Extensions.Diagnostics.Metrics.IMetricsListener; ++ public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder ClearListeners(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder); ++ public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder DisableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, string? meterName, string? instrumentName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes = (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Global) | (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Local)); ++ public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder DisableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, string? meterName); ++ public static Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions DisableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions options, string? meterName, string? instrumentName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes = (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Global) | (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Local)); ++ public static Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions DisableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions options, string? meterName); ++ public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder EnableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, string? meterName, string? instrumentName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes = (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Global) | (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Local)); ++ public static Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder EnableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder builder, string? meterName); ++ public static Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions EnableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions options, string? meterName, string? instrumentName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Metrics.MeterScope scopes = (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Global) | (Microsoft.Extensions.Diagnostics.Metrics.MeterScope.Local)); ++ public static Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions EnableMetrics(this Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions options, string? meterName); ++ } ++ public class MetricsOptions ++ { ++ public MetricsOptions(); ++ public System.Collections.Generic.IList Rules { get; } ++ } ++ } ++ namespace Microsoft.Extensions.Diagnostics.Tracing ++ { ++ public sealed class ActivityListenerBuilder ++ { ++ public System.Action? ActivityStarted { get; set; } ++ public System.Action? ActivityStopped { get; set; } ++ public System.Diagnostics.ExceptionRecorder? ExceptionRecorder { get; set; } ++ public string Name { get; } ++ public System.Diagnostics.SampleActivity? Sample { get; set; } ++ public System.Diagnostics.SampleActivity? SampleUsingParentId { get; set; } ++ } ++ [System.FlagsAttribute] ++ public enum ActivitySourceScopes ++ { ++ None = 0, ++ Global = 1, ++ Local = 2, ++ } ++ public interface ITracingBuilder ++ { ++ Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } ++ } ++ public static class TracingBuilderExtensions ++ { ++ public static Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder AddListener(this Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder builder, string name, System.Action configure); ++ public static Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder AddListener(this Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder builder, string name, System.Action configure); ++ public static Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder ClearListeners(this Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder builder); ++ public static Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder DisableTracing(this Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder builder, string? sourceName = null, string? operationName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes scopes = (Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes.Global) | (Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes.Local)); ++ public static Microsoft.Extensions.Diagnostics.Tracing.TracingOptions DisableTracing(this Microsoft.Extensions.Diagnostics.Tracing.TracingOptions options, string? sourceName = null, string? operationName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes scopes = (Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes.Global) | (Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes.Local)); ++ public static Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder EnableTracing(this Microsoft.Extensions.Diagnostics.Tracing.ITracingBuilder builder, string? sourceName = null, string? operationName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes scopes = (Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes.Global) | (Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes.Local)); ++ public static Microsoft.Extensions.Diagnostics.Tracing.TracingOptions EnableTracing(this Microsoft.Extensions.Diagnostics.Tracing.TracingOptions options, string? sourceName = null, string? operationName = null, string? listenerName = null, Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes scopes = (Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes.Global) | (Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes.Local)); ++ } ++ public class TracingOptions ++ { ++ public TracingOptions(); ++ public System.Collections.Generic.List Rules { get; } ++ } ++ public class TracingRule ++ { ++ public TracingRule(string? sourceName, string? operationName, string? listenerName, Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes scopes, bool enable); ++ public bool Enable { get; } ++ public string? ListenerName { get; } ++ public string? OperationName { get; } ++ public Microsoft.Extensions.Diagnostics.Tracing.ActivitySourceScopes Scopes { get; } ++ public string? SourceName { get; } ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.FileProviders.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.FileProviders.Abstractions.md new file mode 100644 index 0000000000..12eeda4efc --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.FileProviders.Abstractions.md @@ -0,0 +1,61 @@ +# Microsoft.Extensions.FileProviders.Abstractions + +```diff ++ namespace Microsoft.Extensions.FileProviders ++ { ++ public interface IDirectoryContents : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable ++ { ++ bool Exists { get; } ++ } ++ public interface IFileInfo ++ { ++ System.IO.Stream CreateReadStream(); ++ bool Exists { get; } ++ bool IsDirectory { get; } ++ System.DateTimeOffset LastModified { get; } ++ long Length { get; } ++ string Name { get; } ++ string? PhysicalPath { get; } ++ } ++ public interface IFileProvider ++ { ++ Microsoft.Extensions.FileProviders.IDirectoryContents GetDirectoryContents(string subpath); ++ Microsoft.Extensions.FileProviders.IFileInfo GetFileInfo(string subpath); ++ Microsoft.Extensions.Primitives.IChangeToken Watch(string filter); ++ } ++ public class NotFoundDirectoryContents : Microsoft.Extensions.FileProviders.IDirectoryContents, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable ++ { ++ public NotFoundDirectoryContents(); ++ public System.Collections.Generic.IEnumerator GetEnumerator(); ++ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public bool Exists { get; } ++ public static Microsoft.Extensions.FileProviders.NotFoundDirectoryContents Singleton { get; } ++ } ++ public class NotFoundFileInfo : Microsoft.Extensions.FileProviders.IFileInfo ++ { ++ public NotFoundFileInfo(string name); ++ [System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute] ++ public System.IO.Stream CreateReadStream(); ++ public bool Exists { get; } ++ public bool IsDirectory { get; } ++ public System.DateTimeOffset LastModified { get; } ++ public long Length { get; } ++ public string Name { get; } ++ public string? PhysicalPath { get; } ++ } ++ public sealed class NullChangeToken : Microsoft.Extensions.Primitives.IChangeToken ++ { ++ public System.IDisposable RegisterChangeCallback(System.Action callback, object? state); ++ public bool ActiveChangeCallbacks { get; } ++ public bool HasChanged { get; } ++ public static Microsoft.Extensions.FileProviders.NullChangeToken Singleton { get; } ++ } ++ public class NullFileProvider : Microsoft.Extensions.FileProviders.IFileProvider ++ { ++ public NullFileProvider(); ++ public Microsoft.Extensions.FileProviders.IDirectoryContents GetDirectoryContents(string subpath); ++ public Microsoft.Extensions.FileProviders.IFileInfo GetFileInfo(string subpath); ++ public Microsoft.Extensions.Primitives.IChangeToken Watch(string filter); ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Hosting.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Hosting.Abstractions.md new file mode 100644 index 0000000000..5a31817799 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Hosting.Abstractions.md @@ -0,0 +1,163 @@ +# Microsoft.Extensions.Hosting.Abstractions + +```diff ++ namespace Microsoft.Extensions.DependencyInjection ++ { ++ public static class ServiceCollectionHostedServiceExtensions ++ { ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddHostedService(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func implementationFactory) ++ where THostedService : class, Microsoft.Extensions.Hosting.IHostedService; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddHostedService(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) ++ where THostedService : class, Microsoft.Extensions.Hosting.IHostedService; ++ } ++ } ++ namespace Microsoft.Extensions.Hosting ++ { ++ public abstract class BackgroundService : Microsoft.Extensions.Hosting.IHostedService, System.IDisposable ++ { ++ protected BackgroundService(); ++ public virtual void Dispose(); ++ protected abstract System.Threading.Tasks.Task ExecuteAsync(System.Threading.CancellationToken stoppingToken); ++ public virtual System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken); ++ public virtual System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken); ++ public virtual System.Threading.Tasks.Task? ExecuteTask { get; } ++ } ++ [System.ObsoleteAttribute("EnvironmentName has been deprecated. Use Microsoft.Extensions.Hosting.Environments instead.")] ++ public static class EnvironmentName ++ { ++ public static readonly string Development; ++ public static readonly string Production; ++ public static readonly string Staging; ++ } ++ public static class Environments ++ { ++ public static readonly string Development; ++ public static readonly string Production; ++ public static readonly string Staging; ++ } ++ public sealed class HostAbortedException : System.Exception ++ { ++ public HostAbortedException(); ++ public HostAbortedException(string? message, System.Exception? innerException); ++ public HostAbortedException(string? message); ++ } ++ public class HostBuilderContext ++ { ++ public HostBuilderContext(System.Collections.Generic.IDictionary properties); ++ public Microsoft.Extensions.Configuration.IConfiguration Configuration { get; set; } ++ public Microsoft.Extensions.Hosting.IHostEnvironment HostingEnvironment { get; set; } ++ public System.Collections.Generic.IDictionary Properties { get; } ++ } ++ public static class HostDefaults ++ { ++ public static readonly string ApplicationKey; ++ public static readonly string ContentRootKey; ++ public static readonly string EnvironmentKey; ++ } ++ public static class HostEnvironmentEnvExtensions ++ { ++ public static bool IsDevelopment(this Microsoft.Extensions.Hosting.IHostEnvironment hostEnvironment); ++ public static bool IsEnvironment(this Microsoft.Extensions.Hosting.IHostEnvironment hostEnvironment, string environmentName); ++ public static bool IsProduction(this Microsoft.Extensions.Hosting.IHostEnvironment hostEnvironment); ++ public static bool IsStaging(this Microsoft.Extensions.Hosting.IHostEnvironment hostEnvironment); ++ } ++ public static class HostingAbstractionsHostBuilderExtensions ++ { ++ public static Microsoft.Extensions.Hosting.IHost Start(this Microsoft.Extensions.Hosting.IHostBuilder hostBuilder); ++ public static System.Threading.Tasks.Task StartAsync(this Microsoft.Extensions.Hosting.IHostBuilder hostBuilder, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ } ++ public static class HostingAbstractionsHostExtensions ++ { ++ public static void Run(this Microsoft.Extensions.Hosting.IHost host); ++ public static System.Threading.Tasks.Task RunAsync(this Microsoft.Extensions.Hosting.IHost host, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ public static void Start(this Microsoft.Extensions.Hosting.IHost host); ++ public static System.Threading.Tasks.Task StopAsync(this Microsoft.Extensions.Hosting.IHost host, System.TimeSpan timeout); ++ public static void WaitForShutdown(this Microsoft.Extensions.Hosting.IHost host); ++ public static System.Threading.Tasks.Task WaitForShutdownAsync(this Microsoft.Extensions.Hosting.IHost host, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)); ++ } ++ public static class HostingEnvironmentExtensions ++ { ++ public static bool IsDevelopment(this Microsoft.Extensions.Hosting.IHostingEnvironment hostingEnvironment); ++ public static bool IsEnvironment(this Microsoft.Extensions.Hosting.IHostingEnvironment hostingEnvironment, string environmentName); ++ public static bool IsProduction(this Microsoft.Extensions.Hosting.IHostingEnvironment hostingEnvironment); ++ public static bool IsStaging(this Microsoft.Extensions.Hosting.IHostingEnvironment hostingEnvironment); ++ } ++ [System.ObsoleteAttribute("IApplicationLifetime has been deprecated. Use Microsoft.Extensions.Hosting.IHostApplicationLifetime instead.")] ++ public interface IApplicationLifetime ++ { ++ void StopApplication(); ++ System.Threading.CancellationToken ApplicationStarted { get; } ++ System.Threading.CancellationToken ApplicationStopped { get; } ++ System.Threading.CancellationToken ApplicationStopping { get; } ++ } ++ public interface IHost : System.IDisposable ++ { ++ System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ System.IServiceProvider Services { get; } ++ } ++ public interface IHostApplicationBuilder ++ { ++ void ConfigureContainer(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory factory, System.Action? configure = null) ++ where TContainerBuilder : notnull; ++ Microsoft.Extensions.Configuration.IConfigurationManager Configuration { get; } ++ Microsoft.Extensions.Hosting.IHostEnvironment Environment { get; } ++ Microsoft.Extensions.Logging.ILoggingBuilder Logging { get; } ++ Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder Metrics { get; } ++ System.Collections.Generic.IDictionary Properties { get; } ++ Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } ++ } ++ public interface IHostApplicationLifetime ++ { ++ void StopApplication(); ++ System.Threading.CancellationToken ApplicationStarted { get; } ++ System.Threading.CancellationToken ApplicationStopped { get; } ++ System.Threading.CancellationToken ApplicationStopping { get; } ++ } ++ public interface IHostBuilder ++ { ++ Microsoft.Extensions.Hosting.IHost Build(); ++ Microsoft.Extensions.Hosting.IHostBuilder ConfigureAppConfiguration(System.Action configureDelegate); ++ Microsoft.Extensions.Hosting.IHostBuilder ConfigureContainer(System.Action configureDelegate); ++ Microsoft.Extensions.Hosting.IHostBuilder ConfigureHostConfiguration(System.Action configureDelegate); ++ Microsoft.Extensions.Hosting.IHostBuilder ConfigureServices(System.Action configureDelegate); ++ Microsoft.Extensions.Hosting.IHostBuilder UseServiceProviderFactory(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory factory) ++ where TContainerBuilder : notnull; ++ Microsoft.Extensions.Hosting.IHostBuilder UseServiceProviderFactory(System.Func> factory) ++ where TContainerBuilder : notnull; ++ System.Collections.Generic.IDictionary Properties { get; } ++ } ++ public interface IHostedLifecycleService : Microsoft.Extensions.Hosting.IHostedService ++ { ++ System.Threading.Tasks.Task StartedAsync(System.Threading.CancellationToken cancellationToken); ++ System.Threading.Tasks.Task StartingAsync(System.Threading.CancellationToken cancellationToken); ++ System.Threading.Tasks.Task StoppedAsync(System.Threading.CancellationToken cancellationToken); ++ System.Threading.Tasks.Task StoppingAsync(System.Threading.CancellationToken cancellationToken); ++ } ++ public interface IHostedService ++ { ++ System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken); ++ System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken); ++ } ++ public interface IHostEnvironment ++ { ++ string ApplicationName { get; set; } ++ Microsoft.Extensions.FileProviders.IFileProvider ContentRootFileProvider { get; set; } ++ string ContentRootPath { get; set; } ++ string EnvironmentName { get; set; } ++ } ++ [System.ObsoleteAttribute("IHostingEnvironment has been deprecated. Use Microsoft.Extensions.Hosting.IHostEnvironment instead.")] ++ public interface IHostingEnvironment ++ { ++ string ApplicationName { get; set; } ++ Microsoft.Extensions.FileProviders.IFileProvider ContentRootFileProvider { get; set; } ++ string ContentRootPath { get; set; } ++ string EnvironmentName { get; set; } ++ } ++ public interface IHostLifetime ++ { ++ System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken); ++ System.Threading.Tasks.Task WaitForStartAsync(System.Threading.CancellationToken cancellationToken); ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Logging.Abstractions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Logging.Abstractions.md new file mode 100644 index 0000000000..3182f30fb4 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Logging.Abstractions.md @@ -0,0 +1,259 @@ +# Microsoft.Extensions.Logging.Abstractions + +```diff ++ namespace Microsoft.Extensions.Logging ++ { ++ public readonly struct EventId : System.IEquatable ++ { ++ public EventId(int id, string? name = null); ++ public readonly bool Equals(Microsoft.Extensions.Logging.EventId other); ++ public override readonly bool Equals(object? obj); ++ public override readonly int GetHashCode(); ++ public static bool operator ==(Microsoft.Extensions.Logging.EventId left, Microsoft.Extensions.Logging.EventId right); ++ public static implicit operator Microsoft.Extensions.Logging.EventId(int i); ++ public static bool operator !=(Microsoft.Extensions.Logging.EventId left, Microsoft.Extensions.Logging.EventId right); ++ public override readonly string ToString(); ++ public int Id { get; } ++ public string? Name { get; } ++ } ++ public interface IExternalScopeProvider ++ { ++ void ForEachScope(System.Action callback, TState state); ++ System.IDisposable Push(object? state); ++ } ++ public interface ILogger ++ { ++ System.IDisposable? BeginScope(TState state) ++ where TState : notnull; ++ bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel); ++ void Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func formatter); ++ } ++ public interface ILogger : Microsoft.Extensions.Logging.ILogger ++ { ++ } ++ public interface ILoggerFactory : System.IDisposable ++ { ++ void AddProvider(Microsoft.Extensions.Logging.ILoggerProvider provider); ++ Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName); ++ } ++ public interface ILoggerProvider : System.IDisposable ++ { ++ Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName); ++ } ++ public interface ILoggingBuilder ++ { ++ Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } ++ } ++ public interface ISupportExternalScope ++ { ++ void SetScopeProvider(Microsoft.Extensions.Logging.IExternalScopeProvider scopeProvider); ++ } ++ public class LogDefineOptions ++ { ++ public LogDefineOptions(); ++ public bool SkipEnabledCheck { get; set; } ++ } ++ public class Logger : Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.ILogger ++ { ++ public Logger(Microsoft.Extensions.Logging.ILoggerFactory factory); ++ System.IDisposable Microsoft.Extensions.Logging.ILogger.BeginScope(TState state); ++ bool Microsoft.Extensions.Logging.ILogger.IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel); ++ void Microsoft.Extensions.Logging.ILogger.Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception exception, System.Func formatter); ++ } ++ public static class LoggerExtensions ++ { ++ public static System.IDisposable? BeginScope(this Microsoft.Extensions.Logging.ILogger logger, string messageFormat, params object?[] args); ++ public static void Log(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); ++ public static void Log(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); ++ public static void Log(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.LogLevel logLevel, System.Exception? exception, string? message, params object?[] args); ++ public static void Log(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.LogLevel logLevel, string? message, params object?[] args); ++ public static void LogCritical(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); ++ public static void LogCritical(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); ++ public static void LogCritical(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); ++ public static void LogCritical(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); ++ public static void LogDebug(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); ++ public static void LogDebug(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); ++ public static void LogDebug(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); ++ public static void LogDebug(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); ++ public static void LogError(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); ++ public static void LogError(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); ++ public static void LogError(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); ++ public static void LogError(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); ++ public static void LogInformation(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); ++ public static void LogInformation(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); ++ public static void LogInformation(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); ++ public static void LogInformation(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); ++ public static void LogTrace(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); ++ public static void LogTrace(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); ++ public static void LogTrace(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); ++ public static void LogTrace(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); ++ public static void LogWarning(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception, string? message, params object?[] args); ++ public static void LogWarning(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Logging.EventId eventId, string? message, params object?[] args); ++ public static void LogWarning(this Microsoft.Extensions.Logging.ILogger logger, System.Exception? exception, string? message, params object?[] args); ++ public static void LogWarning(this Microsoft.Extensions.Logging.ILogger logger, string? message, params object?[] args); ++ } ++ public class LoggerExternalScopeProvider : Microsoft.Extensions.Logging.IExternalScopeProvider ++ { ++ public LoggerExternalScopeProvider(); ++ public void ForEachScope(System.Action callback, TState state); ++ public System.IDisposable Push(object? state); ++ } ++ public static class LoggerFactoryExtensions ++ { ++ public static Microsoft.Extensions.Logging.ILogger CreateLogger(this Microsoft.Extensions.Logging.ILoggerFactory factory, System.Type type); ++ public static Microsoft.Extensions.Logging.ILogger CreateLogger(this Microsoft.Extensions.Logging.ILoggerFactory factory); ++ } ++ public static class LoggerMessage ++ { ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString, Microsoft.Extensions.Logging.LogDefineOptions? options); ++ public static System.Action Define(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, string formatString); ++ public static System.Func DefineScope(string formatString); ++ public static System.Func DefineScope(string formatString); ++ public static System.Func DefineScope(string formatString); ++ public static System.Func DefineScope(string formatString); ++ public static System.Func DefineScope(string formatString); ++ public static System.Func DefineScope(string formatString); ++ public static System.Func DefineScope(string formatString); ++ } ++ public sealed class LoggerMessageAttribute : System.Attribute ++ { ++ public LoggerMessageAttribute(); ++ public LoggerMessageAttribute(Microsoft.Extensions.Logging.LogLevel level, string message); ++ public LoggerMessageAttribute(Microsoft.Extensions.Logging.LogLevel level); ++ public LoggerMessageAttribute(int eventId, Microsoft.Extensions.Logging.LogLevel level, string message); ++ public LoggerMessageAttribute(string message); ++ public int EventId { get; set; } ++ public string? EventName { get; set; } ++ public Microsoft.Extensions.Logging.LogLevel Level { get; set; } ++ public string Message { get; set; } ++ public bool SkipEnabledCheck { get; set; } ++ } ++ public enum LogLevel ++ { ++ Trace = 0, ++ Debug = 1, ++ Information = 2, ++ Warning = 3, ++ Error = 4, ++ Critical = 5, ++ None = 6, ++ } ++ public class ProviderAliasAttribute : System.Attribute ++ { ++ public ProviderAliasAttribute(string alias); ++ public string Alias { get; } ++ } ++ } ++ namespace Microsoft.Extensions.Logging.Abstractions ++ { ++ public abstract class BufferedLogRecord ++ { ++ protected BufferedLogRecord(); ++ public virtual System.Diagnostics.ActivitySpanId? ActivitySpanId { get; } ++ public virtual System.Diagnostics.ActivityTraceId? ActivityTraceId { get; } ++ public virtual System.Collections.Generic.IReadOnlyList> Attributes { get; } ++ public abstract Microsoft.Extensions.Logging.EventId EventId { get; } ++ public virtual string? Exception { get; } ++ public virtual string? FormattedMessage { get; } ++ public abstract Microsoft.Extensions.Logging.LogLevel LogLevel { get; } ++ public virtual int? ManagedThreadId { get; } ++ public virtual string? MessageTemplate { get; } ++ public abstract System.DateTimeOffset Timestamp { get; } ++ } ++ public interface IBufferedLogger ++ { ++ void LogRecords(System.Collections.Generic.IEnumerable records); ++ } ++ public readonly struct LogEntry ++ { ++ public LogEntry(Microsoft.Extensions.Logging.LogLevel logLevel, string category, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func formatter); ++ public string Category { get; } ++ public Microsoft.Extensions.Logging.EventId EventId { get; } ++ public System.Exception? Exception { get; } ++ public System.Func Formatter { get; } ++ public Microsoft.Extensions.Logging.LogLevel LogLevel { get; } ++ public TState State { get; } ++ } ++ public sealed class NullLogger : Microsoft.Extensions.Logging.ILogger ++ { ++ public System.IDisposable BeginScope(TState state) ++ where TState : notnull; ++ public bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel); ++ public void Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func formatter); ++ public static Microsoft.Extensions.Logging.Abstractions.NullLogger Instance { get; } ++ } ++ public class NullLogger : Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.ILogger ++ { ++ public static readonly Microsoft.Extensions.Logging.Abstractions.NullLogger Instance; ++ public NullLogger(); ++ public System.IDisposable BeginScope(TState state) ++ where TState : notnull; ++ public bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel); ++ public void Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func formatter); ++ } ++ public class NullLoggerFactory : Microsoft.Extensions.Logging.ILoggerFactory, System.IDisposable ++ { ++ public static readonly Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory Instance; ++ public NullLoggerFactory(); ++ public void AddProvider(Microsoft.Extensions.Logging.ILoggerProvider provider); ++ public Microsoft.Extensions.Logging.ILogger CreateLogger(string name); ++ public void Dispose(); ++ } ++ public sealed class NullLoggerProvider : Microsoft.Extensions.Logging.ILoggerProvider, System.IDisposable ++ { ++ public Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName); ++ public void Dispose(); ++ public static Microsoft.Extensions.Logging.Abstractions.NullLoggerProvider Instance { get; } ++ } ++ } ++ namespace Microsoft.Extensions.Logging.Abstractions.Internal ++ { ++ [System.ObsoleteAttribute("This type is retained only for compatibility.", true)] ++ public class NullScope : System.IDisposable ++ { ++ public void Dispose(); ++ public static Microsoft.Extensions.Logging.Abstractions.Internal.NullScope Instance { get; } ++ } ++ [System.ObsoleteAttribute("This type is retained only for compatibility.", true)] ++ public class TypeNameHelper ++ { ++ public TypeNameHelper(); ++ public static string GetTypeDisplayName(System.Type type); ++ } ++ } ++ namespace Microsoft.Extensions.Logging.Internal ++ { ++ [System.ObsoleteAttribute("This type is retained only for compatibility. The recommended alternative is the Microsoft.Extensions.Diagnostics.Testing package.", true)] ++ public class FormattedLogValues : System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable, System.Collections.Generic.IReadOnlyCollection>, System.Collections.Generic.IReadOnlyList> ++ { ++ public FormattedLogValues(string? format, params object?[]? values); ++ public System.Collections.Generic.IEnumerator> GetEnumerator(); ++ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public override string ToString(); ++ public int Count { get; } ++ public System.Collections.Generic.KeyValuePair this[int index] { get { } } ++ } ++ [System.ObsoleteAttribute("This type is retained only for compatibility. The recommended alternative is the Microsoft.Extensions.Diagnostics.Testing package.", true)] ++ public class LogValuesFormatter ++ { ++ public LogValuesFormatter(string format); ++ public string Format(object?[]? values); ++ public System.Collections.Generic.KeyValuePair GetValue(object?[] values, int index); ++ public System.Collections.Generic.IEnumerable> GetValues(object[] values); ++ public string OriginalFormat { get; } ++ public System.Collections.Generic.List ValueNames { get; } ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Options.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Options.md new file mode 100644 index 0000000000..929052da28 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Options.md @@ -0,0 +1,532 @@ +# Microsoft.Extensions.Options + +```diff ++ namespace Microsoft.Extensions.DependencyInjection ++ { ++ public static class OptionsBuilderExtensions ++ { ++ public static Microsoft.Extensions.Options.OptionsBuilder ValidateOnStart(this Microsoft.Extensions.Options.OptionsBuilder optionsBuilder) ++ where TOptions : class; ++ } ++ public static class OptionsServiceCollectionExtensions ++ { ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services); ++ public static Microsoft.Extensions.Options.OptionsBuilder AddOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name) ++ where TOptions : class; ++ public static Microsoft.Extensions.Options.OptionsBuilder AddOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) ++ where TOptions : class; ++ public static Microsoft.Extensions.Options.OptionsBuilder AddOptionsWithValidateOnStart(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name = null) ++ where TOptions : class; ++ public static Microsoft.Extensions.Options.OptionsBuilder AddOptionsWithValidateOnStart(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name = null) ++ where TOptions : class where TValidateOptions : class, Microsoft.Extensions.Options.IValidateOptions; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) ++ where TOptions : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name, System.Action configureOptions) ++ where TOptions : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection ConfigureAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) ++ where TOptions : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection ConfigureOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, object configureInstance); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection ConfigureOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Type configureType); ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection ConfigureOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) ++ where TConfigureOptions : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection PostConfigure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) ++ where TOptions : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection PostConfigure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name, System.Action configureOptions) ++ where TOptions : class; ++ public static Microsoft.Extensions.DependencyInjection.IServiceCollection PostConfigureAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) ++ where TOptions : class; ++ } ++ } ++ namespace Microsoft.Extensions.Options ++ { ++ public class AsyncValidateOptions : Microsoft.Extensions.Options.IAsyncValidateOptions where TOptions : class ++ { ++ public AsyncValidateOptions(string? name, System.Func> validation, string failureMessage); ++ public System.Threading.Tasks.Task ValidateAsync(string? name, TOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func> Validation { get; } ++ } ++ public class AsyncValidateOptions : Microsoft.Extensions.Options.IAsyncValidateOptions where TOptions : class ++ { ++ public AsyncValidateOptions(string? name, TDep dependency, System.Func> validation, string failureMessage); ++ public System.Threading.Tasks.Task ValidateAsync(string? name, TOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public TDep Dependency { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func> Validation { get; } ++ } ++ public class AsyncValidateOptions : Microsoft.Extensions.Options.IAsyncValidateOptions where TOptions : class ++ { ++ public AsyncValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, System.Func> validation, string failureMessage); ++ public System.Threading.Tasks.Task ValidateAsync(string? name, TOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func> Validation { get; } ++ } ++ public class AsyncValidateOptions : Microsoft.Extensions.Options.IAsyncValidateOptions where TOptions : class ++ { ++ public AsyncValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, System.Func> validation, string failureMessage); ++ public System.Threading.Tasks.Task ValidateAsync(string? name, TOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func> Validation { get; } ++ } ++ public class AsyncValidateOptions : Microsoft.Extensions.Options.IAsyncValidateOptions where TOptions : class ++ { ++ public AsyncValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, System.Func> validation, string failureMessage); ++ public System.Threading.Tasks.Task ValidateAsync(string? name, TOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public TDep4 Dependency4 { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func> Validation { get; } ++ } ++ public class AsyncValidateOptions : Microsoft.Extensions.Options.IAsyncValidateOptions where TOptions : class ++ { ++ public AsyncValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, System.Func> validation, string failureMessage); ++ public System.Threading.Tasks.Task ValidateAsync(string? name, TOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public TDep4 Dependency4 { get; } ++ public TDep5 Dependency5 { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func> Validation { get; } ++ } ++ public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class ++ { ++ public ConfigureNamedOptions(string? name, System.Action? action); ++ public void Configure(TOptions options); ++ public virtual void Configure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public string? Name { get; } ++ } ++ public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep : class ++ { ++ public ConfigureNamedOptions(string? name, TDep dependency, System.Action? action); ++ public void Configure(TOptions options); ++ public virtual void Configure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep Dependency { get; } ++ public string? Name { get; } ++ } ++ public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class ++ { ++ public ConfigureNamedOptions(string? name, TDep1 dependency, TDep2 dependency2, System.Action? action); ++ public void Configure(TOptions options); ++ public virtual void Configure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public string? Name { get; } ++ } ++ public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class ++ { ++ public ConfigureNamedOptions(string? name, TDep1 dependency, TDep2 dependency2, TDep3 dependency3, System.Action? action); ++ public void Configure(TOptions options); ++ public virtual void Configure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public string? Name { get; } ++ } ++ public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class ++ { ++ public ConfigureNamedOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, System.Action? action); ++ public void Configure(TOptions options); ++ public virtual void Configure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public TDep4 Dependency4 { get; } ++ public string? Name { get; } ++ } ++ public class ConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureNamedOptions, Microsoft.Extensions.Options.IConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class where TDep5 : class ++ { ++ public ConfigureNamedOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, System.Action? action); ++ public void Configure(TOptions options); ++ public virtual void Configure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public TDep4 Dependency4 { get; } ++ public TDep5 Dependency5 { get; } ++ public string? Name { get; } ++ } ++ public class ConfigureOptions : Microsoft.Extensions.Options.IConfigureOptions where TOptions : class ++ { ++ public ConfigureOptions(System.Action? action); ++ public virtual void Configure(TOptions options); ++ public System.Action? Action { get; } ++ } ++ public interface IAsyncStartupValidator ++ { ++ System.Threading.Tasks.Task ValidateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ } ++ public interface IAsyncValidateOptions ++ where TOptions : class ++ { ++ System.Threading.Tasks.Task ValidateAsync(string? name, TOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ } ++ public interface IConfigureNamedOptions : Microsoft.Extensions.Options.IConfigureOptions where TOptions : class ++ { ++ void Configure(string? name, TOptions options); ++ } ++ public interface IConfigureOptions ++ where TOptions : class ++ { ++ void Configure(TOptions options); ++ } ++ public interface IOptions ++ where TOptions : class ++ { ++ TOptions Value { get; } ++ } ++ public interface IOptionsChangeTokenSource ++ { ++ Microsoft.Extensions.Primitives.IChangeToken GetChangeToken(); ++ string? Name { get; } ++ } ++ public interface IOptionsFactory ++ where TOptions : class ++ { ++ TOptions Create(string name); ++ } ++ public interface IOptionsMonitor ++ { ++ TOptions Get(string? name); ++ System.IDisposable? OnChange(System.Action listener); ++ TOptions CurrentValue { get; } ++ } ++ public interface IOptionsMonitorCache ++ where TOptions : class ++ { ++ void Clear(); ++ TOptions GetOrAdd(string? name, System.Func createOptions); ++ bool TryAdd(string? name, TOptions options); ++ bool TryRemove(string? name); ++ } ++ public interface IOptionsSnapshot : Microsoft.Extensions.Options.IOptions where TOptions : class ++ { ++ TOptions Get(string? name); ++ } ++ public interface IPostConfigureOptions ++ where TOptions : class ++ { ++ void PostConfigure(string? name, TOptions options); ++ } ++ public interface IStartupValidator ++ { ++ void Validate(); ++ } ++ public interface IValidateOptions ++ where TOptions : class ++ { ++ Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); ++ } ++ public static class Options ++ { ++ public static readonly string DefaultName; ++ public static Microsoft.Extensions.Options.IOptions Create(TOptions options) ++ where TOptions : class; ++ } ++ public class OptionsBuilder where TOptions : class ++ { ++ public OptionsBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name); ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions); ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) ++ where TDep : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) ++ where TDep1 : class where TDep2 : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) ++ where TDep1 : class where TDep2 : class where TDep3 : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) ++ where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Configure(System.Action configureOptions) ++ where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class where TDep5 : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions); ++ public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) ++ where TDep : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) ++ where TDep1 : class where TDep2 : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) ++ where TDep1 : class where TDep2 : class where TDep3 : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) ++ where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder PostConfigure(System.Action configureOptions) ++ where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class where TDep5 : class; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage); ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation); ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation, string failureMessage); ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation); ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate() ++ where TValidateOptions : class, Microsoft.Extensions.Options.IValidateOptions; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) ++ where TDep : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) ++ where TDep : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation, string failureMessage) ++ where TDep : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation) ++ where TDep : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) ++ where TDep1 : notnull where TDep2 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) ++ where TDep1 : notnull where TDep2 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation, string failureMessage) ++ where TDep1 : notnull where TDep2 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation) ++ where TDep1 : notnull where TDep2 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation, string failureMessage) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation, string failureMessage) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation, string failureMessage) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull where TDep5 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func validation) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull where TDep5 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation, string failureMessage) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull where TDep5 : notnull; ++ public virtual Microsoft.Extensions.Options.OptionsBuilder Validate(System.Func> validation) ++ where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull where TDep4 : notnull where TDep5 : notnull; ++ public string Name { get; } ++ public Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } ++ } ++ public class OptionsCache : Microsoft.Extensions.Options.IOptionsMonitorCache where TOptions : class ++ { ++ public OptionsCache(); ++ public void Clear(); ++ public virtual TOptions GetOrAdd(string? name, System.Func createOptions); ++ public virtual bool TryAdd(string? name, TOptions options); ++ public virtual bool TryRemove(string? name); ++ } ++ public class OptionsFactory : Microsoft.Extensions.Options.IOptionsFactory where TOptions : class ++ { ++ public OptionsFactory(System.Collections.Generic.IEnumerable> setups, System.Collections.Generic.IEnumerable> postConfigures, System.Collections.Generic.IEnumerable> validations); ++ public OptionsFactory(System.Collections.Generic.IEnumerable> setups, System.Collections.Generic.IEnumerable> postConfigures); ++ public TOptions Create(string name); ++ protected virtual TOptions CreateInstance(string name); ++ } ++ public class OptionsManager : Microsoft.Extensions.Options.IOptions, Microsoft.Extensions.Options.IOptionsSnapshot where TOptions : class ++ { ++ public OptionsManager(Microsoft.Extensions.Options.IOptionsFactory factory); ++ public virtual TOptions Get(string? name); ++ public TOptions Value { get; } ++ } ++ public class OptionsMonitor : Microsoft.Extensions.Options.IOptionsMonitor, System.IDisposable where TOptions : class ++ { ++ public OptionsMonitor(Microsoft.Extensions.Options.IOptionsFactory factory, System.Collections.Generic.IEnumerable> sources, Microsoft.Extensions.Options.IOptionsMonitorCache cache); ++ public void Dispose(); ++ public virtual TOptions Get(string? name); ++ public System.IDisposable OnChange(System.Action listener); ++ public TOptions CurrentValue { get; } ++ } ++ public static class OptionsMonitorExtensions ++ { ++ public static System.IDisposable? OnChange(this Microsoft.Extensions.Options.IOptionsMonitor monitor, System.Action listener); ++ } ++ public class OptionsValidationException : System.Exception ++ { ++ public OptionsValidationException(string optionsName, System.Type optionsType, System.Collections.Generic.IEnumerable? failureMessages); ++ public System.Collections.Generic.IEnumerable Failures { get; } ++ public override string Message { get; } ++ public string OptionsName { get; } ++ public System.Type OptionsType { get; } ++ } ++ public sealed class OptionsValidatorAttribute : System.Attribute ++ { ++ public OptionsValidatorAttribute(); ++ } ++ public class OptionsWrapper : Microsoft.Extensions.Options.IOptions where TOptions : class ++ { ++ public OptionsWrapper(TOptions options); ++ public TOptions Value { get; } ++ } ++ public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class ++ { ++ public PostConfigureOptions(string? name, System.Action? action); ++ public virtual void PostConfigure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public string? Name { get; } ++ } ++ public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep : class ++ { ++ public PostConfigureOptions(string? name, TDep dependency, System.Action? action); ++ public void PostConfigure(TOptions options); ++ public virtual void PostConfigure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep Dependency { get; } ++ public string? Name { get; } ++ } ++ public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class ++ { ++ public PostConfigureOptions(string? name, TDep1 dependency, TDep2 dependency2, System.Action? action); ++ public void PostConfigure(TOptions options); ++ public virtual void PostConfigure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public string? Name { get; } ++ } ++ public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class ++ { ++ public PostConfigureOptions(string? name, TDep1 dependency, TDep2 dependency2, TDep3 dependency3, System.Action? action); ++ public void PostConfigure(TOptions options); ++ public virtual void PostConfigure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public string? Name { get; } ++ } ++ public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class ++ { ++ public PostConfigureOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, System.Action? action); ++ public void PostConfigure(TOptions options); ++ public virtual void PostConfigure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public TDep4 Dependency4 { get; } ++ public string? Name { get; } ++ } ++ public class PostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions where TOptions : class where TDep1 : class where TDep2 : class where TDep3 : class where TDep4 : class where TDep5 : class ++ { ++ public PostConfigureOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, System.Action? action); ++ public void PostConfigure(TOptions options); ++ public virtual void PostConfigure(string? name, TOptions options); ++ public System.Action? Action { get; } ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public TDep4 Dependency4 { get; } ++ public TDep5 Dependency5 { get; } ++ public string? Name { get; } ++ } ++ public sealed class ValidateEnumeratedItemsAttribute : System.Attribute ++ { ++ public ValidateEnumeratedItemsAttribute(); ++ public ValidateEnumeratedItemsAttribute(System.Type validator); ++ public System.Type? Validator { get; } ++ } ++ public sealed class ValidateObjectMembersAttribute : System.Attribute ++ { ++ public ValidateObjectMembersAttribute(); ++ public ValidateObjectMembersAttribute(System.Type validator); ++ public System.Type? Validator { get; } ++ } ++ public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class ++ { ++ public ValidateOptions(string? name, System.Func validation, string failureMessage); ++ public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func Validation { get; } ++ } ++ public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class ++ { ++ public ValidateOptions(string? name, TDep dependency, System.Func validation, string failureMessage); ++ public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); ++ public TDep Dependency { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func Validation { get; } ++ } ++ public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class ++ { ++ public ValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, System.Func validation, string failureMessage); ++ public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func Validation { get; } ++ } ++ public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class ++ { ++ public ValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, System.Func validation, string failureMessage); ++ public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func Validation { get; } ++ } ++ public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class ++ { ++ public ValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, System.Func validation, string failureMessage); ++ public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public TDep4 Dependency4 { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func Validation { get; } ++ } ++ public class ValidateOptions : Microsoft.Extensions.Options.IValidateOptions where TOptions : class ++ { ++ public ValidateOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, System.Func validation, string failureMessage); ++ public Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, TOptions options); ++ public TDep1 Dependency1 { get; } ++ public TDep2 Dependency2 { get; } ++ public TDep3 Dependency3 { get; } ++ public TDep4 Dependency4 { get; } ++ public TDep5 Dependency5 { get; } ++ public string FailureMessage { get; } ++ public string? Name { get; } ++ public System.Func Validation { get; } ++ } ++ public class ValidateOptionsResult ++ { ++ public static readonly Microsoft.Extensions.Options.ValidateOptionsResult Skip; ++ public static readonly Microsoft.Extensions.Options.ValidateOptionsResult Success; ++ public ValidateOptionsResult(); ++ public static Microsoft.Extensions.Options.ValidateOptionsResult Fail(System.Collections.Generic.IEnumerable failures); ++ public static Microsoft.Extensions.Options.ValidateOptionsResult Fail(string failureMessage); ++ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "Failures")] ++ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "FailureMessage")] ++ public bool Failed { get; protected set; } ++ public string? FailureMessage { get; protected set; } ++ public System.Collections.Generic.IEnumerable? Failures { get; protected set; } ++ public bool Skipped { get; protected set; } ++ public bool Succeeded { get; protected set; } ++ } ++ public class ValidateOptionsResultBuilder ++ { ++ public ValidateOptionsResultBuilder(); ++ public void AddError(string error, string? propertyName = null); ++ public void AddResult(Microsoft.Extensions.Options.ValidateOptionsResult result); ++ public void AddResult(System.ComponentModel.DataAnnotations.ValidationResult? result); ++ public void AddResults(System.Collections.Generic.IEnumerable? results); ++ public Microsoft.Extensions.Options.ValidateOptionsResult Build(); ++ public void Clear(); ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Primitives.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Primitives.md new file mode 100644 index 0000000000..84448834d2 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_Microsoft.Extensions.Primitives.md @@ -0,0 +1,189 @@ +# Microsoft.Extensions.Primitives + +```diff ++ namespace Microsoft.Extensions.Primitives ++ { ++ public class CancellationChangeToken : Microsoft.Extensions.Primitives.IChangeToken ++ { ++ public CancellationChangeToken(System.Threading.CancellationToken cancellationToken); ++ public System.IDisposable RegisterChangeCallback(System.Action callback, object? state); ++ public bool ActiveChangeCallbacks { get; } ++ public bool HasChanged { get; } ++ } ++ public static class ChangeToken ++ { ++ public static System.IDisposable OnChange(System.Func changeTokenProducer, System.Action changeTokenConsumer); ++ public static System.IDisposable OnChange(System.Func changeTokenProducer, System.Func changeTokenConsumer); ++ public static System.IDisposable OnChange(System.Func changeTokenProducer, System.Action changeTokenConsumer, TState state); ++ public static System.IDisposable OnChange(System.Func changeTokenProducer, System.Func changeTokenConsumer, TState state); ++ } ++ public class CompositeChangeToken : Microsoft.Extensions.Primitives.IChangeToken ++ { ++ public CompositeChangeToken(System.Collections.Generic.IReadOnlyList changeTokens); ++ public System.IDisposable RegisterChangeCallback(System.Action callback, object? state); ++ public bool ActiveChangeCallbacks { get; } ++ public System.Collections.Generic.IReadOnlyList ChangeTokens { get; } ++ public bool HasChanged { get; } ++ } ++ public static class Extensions ++ { ++ public static System.Text.StringBuilder Append(this System.Text.StringBuilder builder, Microsoft.Extensions.Primitives.StringSegment segment); ++ } ++ public interface IChangeToken ++ { ++ System.IDisposable RegisterChangeCallback(System.Action callback, object? state); ++ bool ActiveChangeCallbacks { get; } ++ bool HasChanged { get; } ++ } ++ [System.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 void Append(Microsoft.Extensions.Primitives.StringSegment segment); ++ public void Append(char c); ++ public void Append(string? value, int offset, int count); ++ public void Append(string? value); ++ public override string? ToString(); ++ public int Capacity { get; set; } ++ } ++ public readonly struct StringSegment : System.IEquatable, System.IEquatable ++ { ++ public static readonly Microsoft.Extensions.Primitives.StringSegment Empty; ++ public StringSegment(string buffer, int offset, int length); ++ public StringSegment(string? buffer); ++ public readonly System.ReadOnlyMemory AsMemory(); ++ public readonly System.ReadOnlySpan AsSpan(); ++ public readonly System.ReadOnlySpan AsSpan(int start, int length); ++ public readonly System.ReadOnlySpan AsSpan(int start); ++ public static int Compare(Microsoft.Extensions.Primitives.StringSegment a, Microsoft.Extensions.Primitives.StringSegment b, System.StringComparison comparisonType); ++ public readonly bool EndsWith(string text, System.StringComparison comparisonType); ++ public static bool Equals(Microsoft.Extensions.Primitives.StringSegment a, Microsoft.Extensions.Primitives.StringSegment b, System.StringComparison comparisonType); ++ public readonly bool Equals(Microsoft.Extensions.Primitives.StringSegment other, System.StringComparison comparisonType); ++ public readonly bool Equals(Microsoft.Extensions.Primitives.StringSegment other); ++ public override readonly bool Equals(object? obj); ++ public readonly bool Equals(string? text, System.StringComparison comparisonType); ++ public readonly bool Equals(string? text); ++ public override readonly int GetHashCode(); ++ public readonly int IndexOf(char c, int start, int count); ++ public readonly int IndexOf(char c, int start); ++ public readonly int IndexOf(char c); ++ public readonly int IndexOfAny(char[] anyOf, int startIndex, int count); ++ public readonly int IndexOfAny(char[] anyOf, int startIndex); ++ public readonly int IndexOfAny(char[] anyOf); ++ public static bool IsNullOrEmpty(Microsoft.Extensions.Primitives.StringSegment value); ++ public readonly int LastIndexOf(char value); ++ public static bool operator ==(Microsoft.Extensions.Primitives.StringSegment left, Microsoft.Extensions.Primitives.StringSegment right); ++ public static implicit operator System.ReadOnlyMemory(Microsoft.Extensions.Primitives.StringSegment segment); ++ public static implicit operator System.ReadOnlySpan(Microsoft.Extensions.Primitives.StringSegment segment); ++ public static implicit operator Microsoft.Extensions.Primitives.StringSegment(string? value); ++ public static bool operator !=(Microsoft.Extensions.Primitives.StringSegment left, Microsoft.Extensions.Primitives.StringSegment right); ++ public readonly Microsoft.Extensions.Primitives.StringTokenizer Split(char[] chars); ++ public readonly bool StartsWith(string text, System.StringComparison comparisonType); ++ public readonly Microsoft.Extensions.Primitives.StringSegment Subsegment(int offset, int length); ++ public readonly Microsoft.Extensions.Primitives.StringSegment Subsegment(int offset); ++ public readonly string Substring(int offset, int length); ++ public readonly string Substring(int offset); ++ public override readonly string ToString(); ++ public readonly Microsoft.Extensions.Primitives.StringSegment Trim(); ++ public readonly Microsoft.Extensions.Primitives.StringSegment TrimEnd(); ++ public readonly Microsoft.Extensions.Primitives.StringSegment TrimStart(); ++ public string? Buffer { get; } ++ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "Buffer")] ++ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "Value")] ++ public bool HasValue { get; } ++ public char this[int index] { get { } } ++ public int Length { get; } ++ public int Offset { get; } ++ public string? Value { get; } ++ } ++ public class StringSegmentComparer : System.Collections.Generic.IComparer, System.Collections.Generic.IEqualityComparer ++ { ++ public int Compare(Microsoft.Extensions.Primitives.StringSegment x, Microsoft.Extensions.Primitives.StringSegment y); ++ public bool Equals(Microsoft.Extensions.Primitives.StringSegment x, Microsoft.Extensions.Primitives.StringSegment y); ++ public int GetHashCode(Microsoft.Extensions.Primitives.StringSegment obj); ++ public static Microsoft.Extensions.Primitives.StringSegmentComparer Ordinal { get; } ++ public static Microsoft.Extensions.Primitives.StringSegmentComparer OrdinalIgnoreCase { get; } ++ } ++ public readonly struct StringTokenizer : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable ++ { ++ public StringTokenizer(Microsoft.Extensions.Primitives.StringSegment value, char[] separators); ++ public StringTokenizer(string value, char[] separators); ++ public readonly Microsoft.Extensions.Primitives.StringTokenizer.Enumerator GetEnumerator(); ++ readonly System.Collections.Generic.IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator(); ++ readonly System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ public struct Enumerator : System.Collections.Generic.IEnumerator, System.Collections.IEnumerator, System.IDisposable ++ { ++ public Enumerator(ref Microsoft.Extensions.Primitives.StringTokenizer tokenizer); ++ public void Dispose(); ++ public bool MoveNext(); ++ public void Reset(); ++ public Microsoft.Extensions.Primitives.StringSegment Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ } ++ } ++ public readonly struct StringValues : System.Collections.Generic.ICollection, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable, System.Collections.Generic.IList, System.Collections.Generic.IReadOnlyCollection, System.Collections.Generic.IReadOnlyList, System.IEquatable, System.IEquatable, System.IEquatable ++ { ++ public static readonly Microsoft.Extensions.Primitives.StringValues Empty; ++ public StringValues(string? value); ++ public StringValues(string?[]? values); ++ public static Microsoft.Extensions.Primitives.StringValues Concat(Microsoft.Extensions.Primitives.StringValues values1, Microsoft.Extensions.Primitives.StringValues values2); ++ public static Microsoft.Extensions.Primitives.StringValues Concat(in Microsoft.Extensions.Primitives.StringValues values, string? value); ++ public static Microsoft.Extensions.Primitives.StringValues Concat(string? value, in Microsoft.Extensions.Primitives.StringValues values); ++ public static bool Equals(Microsoft.Extensions.Primitives.StringValues left, Microsoft.Extensions.Primitives.StringValues right); ++ public static bool Equals(Microsoft.Extensions.Primitives.StringValues left, string? right); ++ public static bool Equals(Microsoft.Extensions.Primitives.StringValues left, string?[]? right); ++ public readonly bool Equals(Microsoft.Extensions.Primitives.StringValues other); ++ public override readonly bool Equals(object? obj); ++ public static bool Equals(string? left, Microsoft.Extensions.Primitives.StringValues right); ++ public readonly bool Equals(string? other); ++ public static bool Equals(string?[]? left, Microsoft.Extensions.Primitives.StringValues right); ++ public readonly bool Equals(string?[]? other); ++ public readonly Microsoft.Extensions.Primitives.StringValues.Enumerator GetEnumerator(); ++ public override readonly int GetHashCode(); ++ public static bool IsNullOrEmpty(Microsoft.Extensions.Primitives.StringValues value); ++ public static bool operator ==(Microsoft.Extensions.Primitives.StringValues left, Microsoft.Extensions.Primitives.StringValues right); ++ public static bool operator ==(Microsoft.Extensions.Primitives.StringValues left, object? right); ++ public static bool operator ==(Microsoft.Extensions.Primitives.StringValues left, string? right); ++ public static bool operator ==(Microsoft.Extensions.Primitives.StringValues left, string?[]? right); ++ public static bool operator ==(object? left, Microsoft.Extensions.Primitives.StringValues right); ++ public static bool operator ==(string? left, Microsoft.Extensions.Primitives.StringValues right); ++ public static bool operator ==(string?[]? left, Microsoft.Extensions.Primitives.StringValues right); ++ public static implicit operator string?(Microsoft.Extensions.Primitives.StringValues values); ++ public static implicit operator string?[]?(Microsoft.Extensions.Primitives.StringValues value); ++ public static implicit operator Microsoft.Extensions.Primitives.StringValues(string? value); ++ public static implicit operator Microsoft.Extensions.Primitives.StringValues(string?[]? values); ++ public static bool operator !=(Microsoft.Extensions.Primitives.StringValues left, Microsoft.Extensions.Primitives.StringValues right); ++ public static bool operator !=(Microsoft.Extensions.Primitives.StringValues left, object? right); ++ public static bool operator !=(Microsoft.Extensions.Primitives.StringValues left, string? right); ++ public static bool operator !=(Microsoft.Extensions.Primitives.StringValues left, string?[]? right); ++ public static bool operator !=(object? left, Microsoft.Extensions.Primitives.StringValues right); ++ public static bool operator !=(string? left, Microsoft.Extensions.Primitives.StringValues right); ++ public static bool operator !=(string?[]? left, Microsoft.Extensions.Primitives.StringValues right); ++ readonly void System.Collections.Generic.ICollection.Add(string item); ++ readonly void System.Collections.Generic.ICollection.Clear(); ++ readonly bool System.Collections.Generic.ICollection.Contains(string item); ++ readonly void System.Collections.Generic.ICollection.CopyTo(string[] array, int arrayIndex); ++ readonly bool System.Collections.Generic.ICollection.Remove(string item); ++ readonly System.Collections.Generic.IEnumerator? System.Collections.Generic.IEnumerable.GetEnumerator(); ++ readonly int System.Collections.Generic.IList.IndexOf(string item); ++ readonly void System.Collections.Generic.IList.Insert(int index, string item); ++ readonly void System.Collections.Generic.IList.RemoveAt(int index); ++ readonly System.Collections.IEnumerator? System.Collections.IEnumerable.GetEnumerator(); ++ public readonly string?[] ToArray(); ++ public override readonly string ToString(); ++ public int Count { get; } ++ public string? this[int index] { get { } } ++ bool System.Collections.Generic.ICollection.IsReadOnly { get; } ++ string? System.Collections.Generic.IList.this[int index] { get { } set { } } ++ public struct Enumerator : System.Collections.Generic.IEnumerator, System.Collections.IEnumerator, System.IDisposable ++ { ++ public Enumerator(ref Microsoft.Extensions.Primitives.StringValues values); ++ public void Dispose(); ++ public bool MoveNext(); ++ void System.Collections.IEnumerator.Reset(); ++ public string? Current { get; } ++ object? System.Collections.IEnumerator.Current { get; } ++ } ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Collections.Immutable.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Collections.Immutable.md new file mode 100644 index 0000000000..617829c022 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Collections.Immutable.md @@ -0,0 +1,11 @@ +# System.Collections.Immutable + +```diff + namespace System.Collections.Frozen + { ++ [System.Runtime.CompilerServices.CollectionBuilderAttribute(typeof(System.Collections.Frozen.FrozenDictionary), "Create")] + public abstract class FrozenDictionary : System.Collections.Generic.ICollection>, System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable, System.Collections.Generic.IDictionary, System.Collections.Generic.IReadOnlyCollection>, System.Collections.Generic.IReadOnlyDictionary, System.Collections.ICollection, System.Collections.IDictionary where TKey : notnull + { + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Collections.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Collections.md new file mode 100644 index 0000000000..88a4968deb --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Collections.md @@ -0,0 +1,18 @@ +# System.Collections + +```diff + namespace System.Collections + { + public sealed class BitArray : System.Collections.ICollection, System.Collections.IEnumerable, System.ICloneable + { ++ public int PopCount(); + } + } + namespace System.Collections.Generic + { + public abstract class EqualityComparer : System.Collections.Generic.IEqualityComparer, System.Collections.IEqualityComparer + { ++ public static System.Collections.Generic.EqualityComparer Create(System.Func keySelector, System.Collections.Generic.IEqualityComparer? keyComparer = null); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.ComponentModel.Annotations.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.ComponentModel.Annotations.md new file mode 100644 index 0000000000..7f379b32ea --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.ComponentModel.Annotations.md @@ -0,0 +1,32 @@ +# System.ComponentModel.Annotations + +```diff + namespace System.ComponentModel.DataAnnotations + { + public static class Validator + { ++ public static System.Threading.Tasks.Task TryValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection? validationResults, bool validateAllProperties, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task TryValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection? validationResults, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task TryValidatePropertyAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection? validationResults, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task TryValidateValueAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection? validationResults, System.Collections.Generic.IEnumerable validationAttributes, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task ValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, bool validateAllProperties, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task ValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task ValidatePropertyAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task ValidateValueAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.IEnumerable validationAttributes, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } ++ public abstract class AsyncValidationAttribute : System.ComponentModel.DataAnnotations.ValidationAttribute ++ { ++ protected AsyncValidationAttribute(); ++ protected AsyncValidationAttribute(System.Func errorMessageAccessor); ++ protected AsyncValidationAttribute(string errorMessage); ++ public System.Threading.Tasks.Task GetValidationResultAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ protected abstract override System.ComponentModel.DataAnnotations.ValidationResult? IsValid(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext); ++ public sealed override bool IsValid(object? value); ++ protected abstract System.Threading.Tasks.Task IsValidAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken); ++ } ++ public interface IAsyncValidatableObject : System.ComponentModel.DataAnnotations.IValidatableObject ++ { ++ System.Collections.Generic.IAsyncEnumerable ValidateAsync(System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.ComponentModel.TypeConverter.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.ComponentModel.TypeConverter.md new file mode 100644 index 0000000000..bbfad93f6a --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.ComponentModel.TypeConverter.md @@ -0,0 +1,21 @@ +# System.ComponentModel.TypeConverter + +```diff + namespace System.ComponentModel + { + public class NullableConverter : System.ComponentModel.TypeConverter + { +- public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value); ++ public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value); + } + public static class SyntaxCheck + { +- public static bool CheckMachineName(string value); ++ public static bool CheckMachineName(string? value); +- public static bool CheckPath(string value); ++ public static bool CheckPath(string? value); +- public static bool CheckRootedPath(string value); ++ public static bool CheckRootedPath(string? value); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Console.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Console.md new file mode 100644 index 0000000000..faf0356f06 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Console.md @@ -0,0 +1,13 @@ +# System.Console + +```diff + namespace System + { + public static class Console + { ++ public static Microsoft.Win32.SafeHandles.SafeFileHandle OpenStandardErrorHandle(); ++ public static Microsoft.Win32.SafeHandles.SafeFileHandle OpenStandardInputHandle(); ++ public static Microsoft.Win32.SafeHandles.SafeFileHandle OpenStandardOutputHandle(); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Diagnostics.DiagnosticSource.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Diagnostics.DiagnosticSource.md new file mode 100644 index 0000000000..a1ea47045d --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Diagnostics.DiagnosticSource.md @@ -0,0 +1,37 @@ +# System.Diagnostics.DiagnosticSource + +```diff + namespace System.Diagnostics + { + public class Activity : System.IDisposable + { ++ public bool HasRandomizedTraceId { get; } + } + public sealed class ActivityListener : System.IDisposable + { ++ public void RefreshSources(); + } + public class ActivitySource : System.IDisposable + { ++ protected virtual void Dispose(bool disposing); ++ public object? Scope { get; } + } + public class ActivitySourceOptions + { ++ public object? Scope { get; set; } + } + public enum ActivityTraceFlags + { ++ RandomTraceId = 2, + } ++ public abstract class ActivitySourceFactory : System.IDisposable ++ { ++ protected ActivitySourceFactory(); ++ public System.Diagnostics.ActivitySource Create(System.Diagnostics.ActivitySourceOptions options); ++ public System.Diagnostics.ActivitySource Create(string name, string? version = "", System.Collections.Generic.IEnumerable>? tags = null); ++ protected abstract System.Diagnostics.ActivitySource CreateCore(System.Diagnostics.ActivitySourceOptions options); ++ public void Dispose(); ++ protected virtual void Dispose(bool disposing); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Diagnostics.Process.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Diagnostics.Process.md new file mode 100644 index 0000000000..be053efa53 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Diagnostics.Process.md @@ -0,0 +1,110 @@ +# System.Diagnostics.Process + +```diff + namespace Microsoft.Win32.SafeHandles + { + public sealed class SafeProcessHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid + { ++ public void Kill(); ++ public static Microsoft.Win32.SafeHandles.SafeProcessHandle Open(int processId); ++ public void Resume(); ++ public bool Signal(System.Runtime.InteropServices.PosixSignal signal); ++ public static Microsoft.Win32.SafeHandles.SafeProcessHandle Start(System.Diagnostics.ProcessStartInfo startInfo); ++ public static bool TryOpen(int processId, out Microsoft.Win32.SafeHandles.SafeProcessHandle? processHandle); ++ public bool TryWaitForExit(System.TimeSpan timeout, out System.Diagnostics.ProcessExitStatus? exitStatus); ++ public System.Diagnostics.ProcessExitStatus WaitForExit(); ++ public System.Threading.Tasks.Task WaitForExitAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Threading.Tasks.Task WaitForExitOrKillOnCancellationAsync(System.Threading.CancellationToken cancellationToken); ++ public System.Diagnostics.ProcessExitStatus WaitForExitOrKillOnTimeout(System.TimeSpan timeout); ++ public int ProcessId { get; } + } + } + namespace System.Diagnostics + { + public class Process : System.ComponentModel.Component, System.IDisposable + { +- public static System.Diagnostics.Process Start(string fileName, string arguments); ++ public static System.Diagnostics.Process Start(string fileName, string? arguments); ++ public (byte[] StandardOutput, byte[] StandardError) ReadAllBytes(System.TimeSpan? timeout = null); ++ public System.Threading.Tasks.Task<(byte[] StandardOutput, byte[] StandardError)> ReadAllBytesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Collections.Generic.IEnumerable ReadAllLines(System.TimeSpan? timeout = null); ++ public System.Collections.Generic.IAsyncEnumerable ReadAllLinesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public (string StandardOutput, string StandardError) ReadAllText(System.TimeSpan? timeout = null); ++ public System.Threading.Tasks.Task<(string StandardOutput, string StandardError)> ReadAllTextAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Diagnostics.ProcessExitStatus Run(System.Diagnostics.ProcessStartInfo startInfo, System.TimeSpan? timeout = null); ++ public static System.Diagnostics.ProcessExitStatus Run(string fileName, System.Collections.Generic.IList? arguments = null, bool silent = false, System.TimeSpan? timeout = null); ++ public static System.Diagnostics.ProcessTextOutput RunAndCaptureText(System.Diagnostics.ProcessStartInfo startInfo, System.TimeSpan? timeout = null); ++ public static System.Diagnostics.ProcessTextOutput RunAndCaptureText(string fileName, System.Collections.Generic.IList? arguments = null, System.TimeSpan? timeout = null); ++ public static System.Threading.Tasks.Task RunAndCaptureTextAsync(System.Diagnostics.ProcessStartInfo startInfo, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task RunAndCaptureTextAsync(string fileName, System.Collections.Generic.IList? arguments = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task RunAsync(System.Diagnostics.ProcessStartInfo startInfo, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task RunAsync(string fileName, System.Collections.Generic.IList? arguments = null, bool silent = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static int StartAndForget(System.Diagnostics.ProcessStartInfo startInfo); ++ public static int StartAndForget(string fileName, System.Collections.Generic.IList? arguments = null); ++ public static bool TryGetProcessById(int processId, out System.Diagnostics.Process? process); + } + public sealed class ProcessStartInfo + { +- public ProcessStartInfo(string fileName, string arguments); ++ public ProcessStartInfo(string fileName, string? arguments); ++ public System.Collections.Generic.IList? InheritedHandles { get; set; } ++ public bool KillOnParentExit { get; set; } ++ public Microsoft.Win32.SafeHandles.SafeFileHandle? StandardErrorHandle { get; set; } ++ public Microsoft.Win32.SafeHandles.SafeFileHandle? StandardInputHandle { get; set; } ++ public Microsoft.Win32.SafeHandles.SafeFileHandle? StandardOutputHandle { get; set; } ++ public bool StartDetached { get; set; } ++ public bool StartSuspended { get; set; } + } ++ public sealed class ProcessExitStatus ++ { ++ public ProcessExitStatus(int exitCode, bool canceled, System.Runtime.InteropServices.PosixSignal? signal = null); ++ public bool Canceled { get; } ++ public int ExitCode { get; } ++ public System.Runtime.InteropServices.PosixSignal? Signal { get; } ++ } ++ public readonly struct ProcessOutputLine ++ { ++ public ProcessOutputLine(string content, bool standardError); ++ public override readonly string ToString(); ++ public string Content { get; } ++ public bool StandardError { get; } ++ } ++ public sealed class ProcessTextOutput ++ { ++ public ProcessTextOutput(System.Diagnostics.ProcessExitStatus exitStatus, string standardOutput, string standardError, int processId); ++ public System.Diagnostics.ProcessExitStatus ExitStatus { get; } ++ public int ProcessId { get; } ++ public string StandardError { get; } ++ public string StandardOutput { get; } ++ } + } ++ namespace System.Runtime.InteropServices ++ { ++ public readonly ref struct UnixProcessStartArguments ++ { ++ public static System.Diagnostics.Process Start(System.Diagnostics.ProcessStartInfo startInfo, System.Func callback); ++ [System.CLSCompliantAttribute(false)] ++ public unsafe byte** Arguments { get; } ++ [System.CLSCompliantAttribute(false)] ++ public unsafe byte** EnvironmentVariables { get; } ++ public System.Diagnostics.ProcessStartInfo ProcessStartInfo { get; } ++ [System.CLSCompliantAttribute(false)] ++ public unsafe byte* ResolvedPath { get; } ++ public nint StandardError { get; } ++ public nint StandardInput { get; } ++ public nint StandardOutput { get; } ++ } ++ public readonly ref struct WindowsProcessStartArguments ++ { ++ public static System.Diagnostics.Process Start(System.Diagnostics.ProcessStartInfo startInfo, System.Func callback); ++ [System.CLSCompliantAttribute(false)] ++ public unsafe char* Arguments { get; } ++ [System.CLSCompliantAttribute(false)] ++ public unsafe char* EnvironmentVariables { get; } ++ public System.Diagnostics.ProcessStartInfo ProcessStartInfo { get; } ++ public nint StandardError { get; } ++ public nint StandardInput { get; } ++ public nint StandardOutput { get; } ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Diagnostics.Tracing.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Diagnostics.Tracing.md new file mode 100644 index 0000000000..0acc4f8890 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Diagnostics.Tracing.md @@ -0,0 +1,12 @@ +# System.Diagnostics.Tracing + +```diff + namespace System.Diagnostics.Tracing + { + public class EventSource : System.IDisposable + { ++ public EventSource(string eventSourceName, System.Guid eventSourceGuid, System.Diagnostics.Tracing.EventSourceSettings settings, string[]? traits = null); ++ public EventSource(string eventSourceName, System.Guid eventSourceGuid); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Drawing.Primitives.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Drawing.Primitives.md new file mode 100644 index 0000000000..27db939211 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Drawing.Primitives.md @@ -0,0 +1,14 @@ +# System.Drawing.Primitives + +```diff + namespace System.Drawing + { + public readonly struct Color : System.IEquatable + { ++ public static System.Drawing.Color FromArgb(System.Numerics.Colors.Argb argb); ++ public static explicit operator System.Numerics.Colors.Argb(in System.Drawing.Color color); ++ public static implicit operator System.Drawing.Color(System.Numerics.Colors.Argb argb); ++ public readonly System.Numerics.Colors.Argb ToArgbValue(); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Formats.Asn1.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Formats.Asn1.md new file mode 100644 index 0000000000..f1a56b381d --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Formats.Asn1.md @@ -0,0 +1,53 @@ +# System.Formats.Asn1 + +```diff + namespace System.Formats.Asn1 + { ++ public ref struct ValueAsnReader ++ { ++ public ValueAsnReader(System.ReadOnlySpan data, System.Formats.Asn1.AsnEncodingRules ruleSet, System.Formats.Asn1.AsnReaderOptions options = default(System.Formats.Asn1.AsnReaderOptions)); ++ public readonly System.ReadOnlySpan PeekContentBytes(); ++ public readonly System.ReadOnlySpan PeekEncodedValue(); ++ public readonly System.Formats.Asn1.Asn1Tag PeekTag(); ++ public byte[] ReadBitString(out int unusedBitCount, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public bool ReadBoolean(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public string ReadCharacterString(System.Formats.Asn1.UniversalTagNumber encodingType, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.ReadOnlySpan ReadEncodedValue(); ++ public System.ReadOnlySpan ReadEnumeratedBytes(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.Enum ReadEnumeratedValue(System.Type enumType, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public TEnum ReadEnumeratedValue(System.Formats.Asn1.Asn1Tag? expectedTag = null) ++ where TEnum : System.Enum; ++ public System.DateTimeOffset ReadGeneralizedTime(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.Numerics.BigInteger ReadInteger(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.ReadOnlySpan ReadIntegerBytes(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.Collections.BitArray ReadNamedBitList(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.Enum ReadNamedBitListValue(System.Type flagsEnumType, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public TFlagsEnum ReadNamedBitListValue(System.Formats.Asn1.Asn1Tag? expectedTag = null) ++ where TFlagsEnum : System.Enum; ++ public void ReadNull(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public string ReadObjectIdentifier(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public byte[] ReadOctetString(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.Formats.Asn1.ValueAsnReader ReadSequence(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.Formats.Asn1.ValueAsnReader ReadSetOf(bool skipSortOrderValidation, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.Formats.Asn1.ValueAsnReader ReadSetOf(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.DateTimeOffset ReadUtcTime(int twoDigitYearMax, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public System.DateTimeOffset ReadUtcTime(System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public readonly void ThrowIfNotEmpty(); ++ public bool TryReadBitString(System.Span destination, out int unusedBitCount, out int bytesWritten, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public bool TryReadCharacterString(System.Span destination, System.Formats.Asn1.UniversalTagNumber encodingType, out int charsWritten, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public bool TryReadCharacterStringBytes(System.Span destination, System.Formats.Asn1.Asn1Tag expectedTag, out int bytesWritten); ++ public bool TryReadInt32(out int value, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public bool TryReadInt64(out long value, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public bool TryReadOctetString(System.Span destination, out int bytesWritten, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public bool TryReadPrimitiveBitString(out int unusedBitCount, out System.ReadOnlySpan value, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public bool TryReadPrimitiveCharacterStringBytes(System.Formats.Asn1.Asn1Tag expectedTag, out System.ReadOnlySpan contents); ++ public bool TryReadPrimitiveOctetString(out System.ReadOnlySpan contents, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ [System.CLSCompliantAttribute(false)] ++ public bool TryReadUInt32(out uint value, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ [System.CLSCompliantAttribute(false)] ++ public bool TryReadUInt64(out ulong value, System.Formats.Asn1.Asn1Tag? expectedTag = null); ++ public bool HasData { get; } ++ public System.Formats.Asn1.AsnEncodingRules RuleSet { get; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Formats.Tar.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Formats.Tar.md new file mode 100644 index 0000000000..d99608af42 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Formats.Tar.md @@ -0,0 +1,43 @@ +# System.Formats.Tar + +```diff + namespace System.Formats.Tar + { + public static class TarFile + { ++ public static void CreateFromDirectory(string sourceDirectoryName, System.IO.Stream destination, bool includeBaseDirectory, System.Formats.Tar.TarEntryFormat format); ++ public static void CreateFromDirectory(string sourceDirectoryName, System.IO.Stream destination, bool includeBaseDirectory, System.Formats.Tar.TarWriterOptions options); ++ public static void CreateFromDirectory(string sourceDirectoryName, string destinationFileName, bool includeBaseDirectory, System.Formats.Tar.TarEntryFormat format); ++ public static void CreateFromDirectory(string sourceDirectoryName, string destinationFileName, bool includeBaseDirectory, System.Formats.Tar.TarWriterOptions options); ++ public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, bool includeBaseDirectory, System.Formats.Tar.TarEntryFormat format, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, bool includeBaseDirectory, System.Formats.Tar.TarWriterOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationFileName, bool includeBaseDirectory, System.Formats.Tar.TarEntryFormat format, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationFileName, bool includeBaseDirectory, System.Formats.Tar.TarWriterOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options); ++ public static void ExtractToDirectory(string sourceFileName, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options); ++ public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceFileName, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public sealed class TarWriter : System.IAsyncDisposable, System.IDisposable + { ++ public TarWriter(System.IO.Stream archiveStream, System.Formats.Tar.TarWriterOptions options, bool leaveOpen = false); + } ++ public sealed class TarExtractOptions ++ { ++ public TarExtractOptions(); ++ public System.Formats.Tar.TarHardLinkMode HardLinkMode { get; set; } ++ public bool OverwriteFiles { get; set; } ++ } ++ public enum TarHardLinkMode ++ { ++ PreserveLink = 0, ++ CopyContents = 1, ++ } ++ public sealed class TarWriterOptions ++ { ++ public TarWriterOptions(); ++ public System.Formats.Tar.TarEntryFormat Format { get; set; } ++ public System.Formats.Tar.TarHardLinkMode HardLinkMode { get; set; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Compression.Brotli.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Compression.Brotli.md new file mode 100644 index 0000000000..06507d491f --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Compression.Brotli.md @@ -0,0 +1,11 @@ +# System.IO.Compression.Brotli + +```diff + namespace System.IO.Compression + { + public sealed class BrotliCompressionOptions + { ++ public int WindowLog2 { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Compression.ZipFile.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Compression.ZipFile.md new file mode 100644 index 0000000000..67dc7c6274 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Compression.ZipFile.md @@ -0,0 +1,45 @@ +# System.IO.Compression.ZipFile + +```diff + namespace System.IO.Compression + { + public static class ZipFile + { ++ public static void CreateFromDirectory(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.ZipFileCreationOptions options); ++ public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.ZipFileCreationOptions options); ++ public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.ZipFileCreationOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.ZipFileCreationOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options); ++ public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options); ++ public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public static class ZipFileExtensions + { ++ public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel, System.ReadOnlySpan password, System.IO.Compression.ZipEncryptionMethod encryption); ++ public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.ReadOnlySpan password, System.IO.Compression.ZipEncryptionMethod encryption); ++ public static System.Threading.Tasks.Task CreateEntryFromFileAsync(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel, System.ReadOnlyMemory password, System.IO.Compression.ZipEncryptionMethod encryption, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task CreateEntryFromFileAsync(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.ReadOnlyMemory password, System.IO.Compression.ZipEncryptionMethod encryption, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static void ExtractToDirectory(this System.IO.Compression.ZipArchive source, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options); ++ public static System.Threading.Tasks.Task ExtractToDirectoryAsync(this System.IO.Compression.ZipArchive source, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static void ExtractToFile(this System.IO.Compression.ZipArchiveEntry source, string destinationFileName, System.IO.Compression.ZipExtractionOptions options); ++ public static System.Threading.Tasks.Task ExtractToFileAsync(this System.IO.Compression.ZipArchiveEntry source, string destinationFileName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } ++ public sealed class ZipExtractionOptions ++ { ++ public ZipExtractionOptions(); ++ public System.Text.Encoding? EntryNameEncoding { get; set; } ++ public bool OverwriteFiles { get; set; } ++ public System.ReadOnlyMemory Password { get; set; } ++ } ++ public sealed class ZipFileCreationOptions ++ { ++ public ZipFileCreationOptions(); ++ public System.IO.Compression.CompressionLevel CompressionLevel { get; set; } ++ public System.IO.Compression.ZipEncryptionMethod EncryptionMethod { get; set; } ++ public System.Text.Encoding? EntryNameEncoding { get; set; } ++ public bool IncludeBaseDirectory { get; set; } ++ public System.ReadOnlyMemory Password { get; set; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Compression.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Compression.md new file mode 100644 index 0000000000..1f536dcbcd --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Compression.md @@ -0,0 +1,213 @@ +# System.IO.Compression + +```diff + namespace System.IO.Compression + { + public class ZipArchive : System.IAsyncDisposable, System.IDisposable + { ++ public System.IO.Compression.ZipArchiveEntry CreateEntry(string entryName, System.IO.Compression.CompressionLevel compressionLevel, System.ReadOnlySpan password, System.IO.Compression.ZipEncryptionMethod encryptionMethod); ++ public System.IO.Compression.ZipArchiveEntry CreateEntry(string entryName, System.ReadOnlySpan password, System.IO.Compression.ZipEncryptionMethod encryptionMethod); + } + public class ZipArchiveEntry + { ++ public System.IO.Stream Open(System.IO.FileAccess access, System.ReadOnlySpan password); ++ public System.IO.Stream Open(System.IO.FileAccess access); ++ public System.IO.Stream Open(System.ReadOnlySpan password); ++ public System.Threading.Tasks.Task OpenAsync(System.IO.FileAccess access, System.ReadOnlySpan password, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Threading.Tasks.Task OpenAsync(System.IO.FileAccess access, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Threading.Tasks.Task OpenAsync(System.ReadOnlySpan password, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.IO.Compression.ZipCompressionMethod CompressionMethod { get; } ++ public System.IO.Compression.ZipEncryptionMethod EncryptionMethod { get; } ++ [System.CLSCompliantAttribute(false)] ++ public ushort VersionMadeBy { get; } + } + public sealed class ZLibCompressionOptions + { ++ public static int DefaultWindowLog2 { get; } ++ public static int MaxWindowLog2 { get; } ++ public static int MinWindowLog2 { get; } ++ public int WindowLog2 { get; set; } + } ++ public sealed class DeflateDecoder : System.IDisposable ++ { ++ public DeflateDecoder(); ++ public System.Buffers.OperationStatus Decompress(System.ReadOnlySpan source, System.Span destination, out int bytesConsumed, out int bytesWritten); ++ public void Dispose(); ++ public static bool TryDecompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ } ++ public sealed class DeflateEncoder : System.IDisposable ++ { ++ public DeflateEncoder(); ++ public DeflateEncoder(int quality, int windowLog2); ++ public DeflateEncoder(int quality); ++ public DeflateEncoder(System.IO.Compression.ZLibCompressionOptions options); ++ public System.Buffers.OperationStatus Compress(System.ReadOnlySpan source, System.Span destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock); ++ public void Dispose(); ++ public System.Buffers.OperationStatus Flush(System.Span destination, out int bytesWritten); ++ public static long GetMaxCompressedLength(long inputLength); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten, int quality, int windowLog2); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten, int quality); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ } ++ public sealed class GZipDecoder : System.IDisposable ++ { ++ public GZipDecoder(); ++ public System.Buffers.OperationStatus Decompress(System.ReadOnlySpan source, System.Span destination, out int bytesConsumed, out int bytesWritten); ++ public void Dispose(); ++ public static bool TryDecompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ } ++ public sealed class GZipEncoder : System.IDisposable ++ { ++ public GZipEncoder(); ++ public GZipEncoder(int quality, int windowLog2); ++ public GZipEncoder(int quality); ++ public GZipEncoder(System.IO.Compression.ZLibCompressionOptions options); ++ public System.Buffers.OperationStatus Compress(System.ReadOnlySpan source, System.Span destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock); ++ public void Dispose(); ++ public System.Buffers.OperationStatus Flush(System.Span destination, out int bytesWritten); ++ public static long GetMaxCompressedLength(long inputLength); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten, int quality, int windowLog2); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten, int quality); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ } ++ public enum ZipCompressionMethod ++ { ++ Stored = 0, ++ Deflate = 8, ++ Deflate64 = 9, ++ } ++ public enum ZipEncryptionMethod ++ { ++ None = 0, ++ ZipCrypto = 1, ++ Aes128 = 2, ++ Aes192 = 3, ++ Aes256 = 4, ++ Unknown = -1, ++ } ++ public sealed class ZLibDecoder : System.IDisposable ++ { ++ public ZLibDecoder(); ++ public System.Buffers.OperationStatus Decompress(System.ReadOnlySpan source, System.Span destination, out int bytesConsumed, out int bytesWritten); ++ public void Dispose(); ++ public static bool TryDecompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ } ++ public sealed class ZLibEncoder : System.IDisposable ++ { ++ public ZLibEncoder(); ++ public ZLibEncoder(int quality, int windowLog2); ++ public ZLibEncoder(int quality); ++ public ZLibEncoder(System.IO.Compression.ZLibCompressionOptions options); ++ public System.Buffers.OperationStatus Compress(System.ReadOnlySpan source, System.Span destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock); ++ public void Dispose(); ++ public System.Buffers.OperationStatus Flush(System.Span destination, out int bytesWritten); ++ public static long GetMaxCompressedLength(long inputLength); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten, int quality, int windowLog2); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten, int quality); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ } ++ public sealed class ZstandardCompressionOptions ++ { ++ public ZstandardCompressionOptions(); ++ public bool AppendChecksum { get; set; } ++ public static int DefaultQuality { get; } ++ public static int DefaultWindowLog2 { get; } ++ public System.IO.Compression.ZstandardDictionary? Dictionary { get; set; } ++ public bool EnableLongDistanceMatching { get; set; } ++ public static int MaxQuality { get; } ++ public static int MaxWindowLog2 { get; } ++ public static int MinQuality { get; } ++ public static int MinWindowLog2 { get; } ++ public int Quality { get; set; } ++ public int TargetBlockSize { get; set; } ++ public int WindowLog2 { get; set; } ++ } ++ public sealed class ZstandardDecoder : System.IDisposable ++ { ++ public ZstandardDecoder(); ++ public ZstandardDecoder(int maxWindowLog2); ++ public ZstandardDecoder(System.IO.Compression.ZstandardDecompressionOptions decompressionOptions); ++ public ZstandardDecoder(System.IO.Compression.ZstandardDictionary dictionary, int maxWindowLog2); ++ public ZstandardDecoder(System.IO.Compression.ZstandardDictionary dictionary); ++ public System.Buffers.OperationStatus Decompress(System.ReadOnlySpan source, System.Span destination, out int bytesConsumed, out int bytesWritten); ++ public void Dispose(); ++ public void Reset(); ++ public void SetPrefix(System.ReadOnlyMemory prefix); ++ public static bool TryDecompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten, System.IO.Compression.ZstandardDictionary dictionary); ++ public static bool TryDecompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ public static bool TryGetMaxDecompressedLength(System.ReadOnlySpan data, out long length); ++ } ++ public sealed class ZstandardDecompressionOptions ++ { ++ public ZstandardDecompressionOptions(); ++ public System.IO.Compression.ZstandardDictionary? Dictionary { get; set; } ++ public int MaxWindowLog2 { get; set; } ++ } ++ public sealed class ZstandardDictionary : System.IDisposable ++ { ++ public static System.IO.Compression.ZstandardDictionary Create(System.ReadOnlySpan buffer, int quality); ++ public static System.IO.Compression.ZstandardDictionary Create(System.ReadOnlySpan buffer); ++ public void Dispose(); ++ public static System.IO.Compression.ZstandardDictionary Train(System.ReadOnlySpan samples, System.ReadOnlySpan sampleLengths, int maxDictionarySize); ++ public System.ReadOnlyMemory Data { get; } ++ } ++ public sealed class ZstandardEncoder : System.IDisposable ++ { ++ public ZstandardEncoder(); ++ public ZstandardEncoder(int quality, int windowLog2); ++ public ZstandardEncoder(int quality); ++ public ZstandardEncoder(System.IO.Compression.ZstandardCompressionOptions compressionOptions); ++ public ZstandardEncoder(System.IO.Compression.ZstandardDictionary dictionary, int windowLog2); ++ public ZstandardEncoder(System.IO.Compression.ZstandardDictionary dictionary); ++ public System.Buffers.OperationStatus Compress(System.ReadOnlySpan source, System.Span destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock); ++ public void Dispose(); ++ public System.Buffers.OperationStatus Flush(System.Span destination, out int bytesWritten); ++ public static long GetMaxCompressedLength(long inputLength); ++ public void Reset(); ++ public void SetPrefix(System.ReadOnlyMemory prefix); ++ public void SetSourceLength(long length); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten, int quality, int windowLog2); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten, System.IO.Compression.ZstandardDictionary dictionary, int windowLog2); ++ public static bool TryCompress(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ } ++ public sealed class ZstandardStream : System.IO.Stream ++ { ++ public ZstandardStream(System.IO.Stream stream, System.IO.Compression.CompressionLevel compressionLevel, bool leaveOpen); ++ public ZstandardStream(System.IO.Stream stream, System.IO.Compression.CompressionLevel compressionLevel); ++ public ZstandardStream(System.IO.Stream stream, System.IO.Compression.CompressionMode mode, bool leaveOpen); ++ public ZstandardStream(System.IO.Stream stream, System.IO.Compression.CompressionMode mode, System.IO.Compression.ZstandardDictionary dictionary, bool leaveOpen = false); ++ public ZstandardStream(System.IO.Stream stream, System.IO.Compression.CompressionMode mode); ++ public ZstandardStream(System.IO.Stream stream, System.IO.Compression.ZstandardCompressionOptions compressionOptions, bool leaveOpen = false); ++ public ZstandardStream(System.IO.Stream stream, System.IO.Compression.ZstandardDecoder decoder, bool leaveOpen = false); ++ public ZstandardStream(System.IO.Stream stream, System.IO.Compression.ZstandardDecompressionOptions decompressionOptions, bool leaveOpen = false); ++ public ZstandardStream(System.IO.Stream stream, System.IO.Compression.ZstandardEncoder encoder, bool leaveOpen = false); ++ public override System.IAsyncResult BeginRead(byte[] buffer, int offset, int count, System.AsyncCallback? callback, object? state); ++ public override System.IAsyncResult BeginWrite(byte[] buffer, int offset, int count, System.AsyncCallback? callback, object? state); ++ protected override void Dispose(bool disposing); ++ public override System.Threading.Tasks.ValueTask DisposeAsync(); ++ public override int EndRead(System.IAsyncResult asyncResult); ++ public override void EndWrite(System.IAsyncResult asyncResult); ++ public override void Flush(); ++ public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken); ++ public override int Read(byte[] buffer, int offset, int count); ++ public override int Read(System.Span buffer); ++ public override System.Threading.Tasks.Task ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken); ++ public override System.Threading.Tasks.ValueTask ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public override int ReadByte(); ++ public override long Seek(long offset, System.IO.SeekOrigin origin); ++ public override void SetLength(long value); ++ public void SetSourceLength(long length); ++ public override void Write(byte[] buffer, int offset, int count); ++ public override void Write(System.ReadOnlySpan buffer); ++ public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken); ++ public override System.Threading.Tasks.ValueTask WriteAsync(System.ReadOnlyMemory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public override void WriteByte(byte value); ++ public System.IO.Stream BaseStream { get; } ++ 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; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Pipes.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Pipes.md new file mode 100644 index 0000000000..19439dbc93 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.IO.Pipes.md @@ -0,0 +1,13 @@ +# System.IO.Pipes + +```diff + namespace System.IO.Pipes + { + public sealed class NamedPipeClientStream : System.IO.Pipes.PipeStream + { ++ [System.ObsoleteAttribute("This constructor has been deprecated and argument bool isConnected does not have any effect. Use NamedPipeClientStream(PipeDirection direction, bool isAsync, SafePipeHandle safePipeHandle) instead.", DiagnosticId = "SYSLIB0063", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public NamedPipeClientStream(System.IO.Pipes.PipeDirection direction, bool isAsync, bool isConnected, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle) : base(default(System.IO.Pipes.PipeDirection), default(int)); ++ public NamedPipeClientStream(System.IO.Pipes.PipeDirection direction, bool isAsync, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle) : base(default(System.IO.Pipes.PipeDirection), default(int)); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.AsyncEnumerable.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.AsyncEnumerable.md new file mode 100644 index 0000000000..fd5f41ff95 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.AsyncEnumerable.md @@ -0,0 +1,22 @@ +# System.Linq.AsyncEnumerable + +```diff + namespace System.Linq + { + public static class AsyncEnumerable + { ++ public static System.Collections.Generic.IAsyncEnumerable<(TOuter? Outer, TInner? Inner)> FullJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable<(TOuter? Outer, TInner? Inner)> FullJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func> outerKeySelector, System.Func> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable FullJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Func resultSelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable FullJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func> outerKeySelector, System.Func> innerKeySelector, System.Func> resultSelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable> GroupJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable> GroupJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func> outerKeySelector, System.Func> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable<(TOuter Outer, TInner Inner)> Join(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable<(TOuter Outer, TInner Inner)> Join(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func> outerKeySelector, System.Func> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable<(TOuter Outer, TInner? Inner)> LeftJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable<(TOuter Outer, TInner? Inner)> LeftJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func> outerKeySelector, System.Func> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable<(TOuter? Outer, TInner Inner)> RightJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IAsyncEnumerable<(TOuter? Outer, TInner Inner)> RightJoin(this System.Collections.Generic.IAsyncEnumerable outer, System.Collections.Generic.IAsyncEnumerable inner, System.Func> outerKeySelector, System.Func> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.Expressions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.Expressions.md new file mode 100644 index 0000000000..777c77a0fb --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.Expressions.md @@ -0,0 +1,13 @@ +# System.Linq.Expressions + +```diff + namespace System.Runtime.CompilerServices + { ++ public sealed class Closure ++ { ++ public readonly object[] Constants; ++ public readonly object[]? Locals; ++ public Closure(object[] constants, object[]? locals); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.Queryable.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.Queryable.md new file mode 100644 index 0000000000..feb9e3199d --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.Queryable.md @@ -0,0 +1,16 @@ +# System.Linq.Queryable + +```diff + namespace System.Linq + { + public static class Queryable + { ++ public static System.Linq.IQueryable<(TOuter? Outer, TInner? Inner)> FullJoin(this System.Linq.IQueryable outer, System.Collections.Generic.IEnumerable inner, System.Linq.Expressions.Expression> outerKeySelector, System.Linq.Expressions.Expression> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Linq.IQueryable FullJoin(this System.Linq.IQueryable outer, System.Collections.Generic.IEnumerable inner, System.Linq.Expressions.Expression> outerKeySelector, System.Linq.Expressions.Expression> innerKeySelector, System.Linq.Expressions.Expression> resultSelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Linq.IQueryable> GroupJoin(this System.Linq.IQueryable outer, System.Collections.Generic.IEnumerable inner, System.Linq.Expressions.Expression> outerKeySelector, System.Linq.Expressions.Expression> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Linq.IQueryable<(TOuter Outer, TInner Inner)> Join(this System.Linq.IQueryable outer, System.Collections.Generic.IEnumerable inner, System.Linq.Expressions.Expression> outerKeySelector, System.Linq.Expressions.Expression> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Linq.IQueryable<(TOuter Outer, TInner? Inner)> LeftJoin(this System.Linq.IQueryable outer, System.Collections.Generic.IEnumerable inner, System.Linq.Expressions.Expression> outerKeySelector, System.Linq.Expressions.Expression> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Linq.IQueryable<(TOuter? Outer, TInner Inner)> RightJoin(this System.Linq.IQueryable outer, System.Collections.Generic.IEnumerable inner, System.Linq.Expressions.Expression> outerKeySelector, System.Linq.Expressions.Expression> innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.md new file mode 100644 index 0000000000..8b7b3e8423 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Linq.md @@ -0,0 +1,16 @@ +# System.Linq + +```diff + namespace System.Linq + { + public static class Enumerable + { ++ public static System.Collections.Generic.IEnumerable<(TOuter? Outer, TInner? Inner)> FullJoin(this System.Collections.Generic.IEnumerable outer, System.Collections.Generic.IEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IEnumerable FullJoin(this System.Collections.Generic.IEnumerable outer, System.Collections.Generic.IEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Func resultSelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IEnumerable> GroupJoin(this System.Collections.Generic.IEnumerable outer, System.Collections.Generic.IEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IEnumerable<(TOuter Outer, TInner Inner)> Join(this System.Collections.Generic.IEnumerable outer, System.Collections.Generic.IEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IEnumerable<(TOuter Outer, TInner? Inner)> LeftJoin(this System.Collections.Generic.IEnumerable outer, System.Collections.Generic.IEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); ++ public static System.Collections.Generic.IEnumerable<(TOuter? Outer, TInner Inner)> RightJoin(this System.Collections.Generic.IEnumerable outer, System.Collections.Generic.IEnumerable inner, System.Func outerKeySelector, System.Func innerKeySelector, System.Collections.Generic.IEqualityComparer? comparer = null); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Memory.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Memory.md new file mode 100644 index 0000000000..2d863286b4 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Memory.md @@ -0,0 +1,63 @@ +# System.Memory + +```diff + namespace System + { + public static class MemoryExtensions + { ++ public static bool ContainsAnyWhiteSpace(this System.ReadOnlySpan span); ++ public static int IndexOfAnyExceptWhiteSpace(this System.ReadOnlySpan span); ++ public static int IndexOfAnyWhiteSpace(this System.ReadOnlySpan span); ++ public static int LastIndexOfAnyExceptWhiteSpace(this System.ReadOnlySpan span); ++ public static int LastIndexOfAnyWhiteSpace(this System.ReadOnlySpan span); ++ public static T? Max(this System.ReadOnlySpan span, System.Collections.Generic.IComparer? comparer); ++ public static T? Max(this System.ReadOnlySpan span); ++ public static T? Min(this System.ReadOnlySpan span, System.Collections.Generic.IComparer? comparer); ++ public static T? Min(this System.ReadOnlySpan span); ++ public static int ToLowerOrdinal(this System.ReadOnlySpan source, System.Span destination); ++ public static int ToUpperOrdinal(this System.ReadOnlySpan source, System.Span destination); + } + } + namespace System.Buffers + { ++ public sealed class ReadOnlySequenceStream : System.IO.Stream ++ { ++ public ReadOnlySequenceStream(System.Buffers.ReadOnlySequence source); ++ public override void CopyTo(System.IO.Stream destination, int bufferSize); ++ public override System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken); ++ protected override void Dispose(bool disposing); ++ public override void Flush(); ++ public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken); ++ public override int Read(byte[] buffer, int offset, int count); ++ public override int Read(System.Span buffer); ++ public override System.Threading.Tasks.Task ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken); ++ public override System.Threading.Tasks.ValueTask ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public override int ReadByte(); ++ public override long Seek(long offset, System.IO.SeekOrigin origin); ++ public override void SetLength(long value); ++ public override void Write(byte[] buffer, int offset, int count); ++ public override void Write(System.ReadOnlySpan buffer); ++ public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken); ++ public override System.Threading.Tasks.ValueTask WriteAsync(System.ReadOnlyMemory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ 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; } ++ } + } + namespace System.Buffers.Binary + { + public static class BinaryPrimitives + { ++ public static System.Numerics.BFloat16 ReadBFloat16BigEndian(System.ReadOnlySpan source); ++ public static System.Numerics.BFloat16 ReadBFloat16LittleEndian(System.ReadOnlySpan source); ++ public static bool TryReadBFloat16BigEndian(System.ReadOnlySpan source, out System.Numerics.BFloat16 value); ++ public static bool TryReadBFloat16LittleEndian(System.ReadOnlySpan source, out System.Numerics.BFloat16 value); ++ public static bool TryWriteBFloat16BigEndian(System.Span destination, System.Numerics.BFloat16 value); ++ public static bool TryWriteBFloat16LittleEndian(System.Span destination, System.Numerics.BFloat16 value); ++ public static void WriteBFloat16BigEndian(System.Span destination, System.Numerics.BFloat16 value); ++ public static void WriteBFloat16LittleEndian(System.Span destination, System.Numerics.BFloat16 value); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Mail.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Mail.md new file mode 100644 index 0000000000..f55db29b04 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Mail.md @@ -0,0 +1,25 @@ +# System.Net.Mail + +```diff + namespace System.Net.Mime + { + public static class MediaTypeNames + { ++ public static class Video ++ { ++ public const string Mp4 = "video/mp4"; ++ public const string Mpeg = "video/mpeg"; ++ public const string Ogg = "video/ogg"; ++ public const string QuickTime = "video/quicktime"; ++ public const string WebM = "video/webm"; ++ } + } ++ public static class MediaTypeMap ++ { ++ public static string? GetExtension(System.ReadOnlySpan mediaType); ++ public static string? GetExtension(string mediaType); ++ public static string? GetMediaType(System.ReadOnlySpan pathOrExtension); ++ public static string? GetMediaType(string pathOrExtension); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.NameResolution.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.NameResolution.md new file mode 100644 index 0000000000..b99e752c58 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.NameResolution.md @@ -0,0 +1,119 @@ +# System.Net.NameResolution + +```diff + namespace System.Net + { + public static class Dns + { ++ public static System.Net.DnsResult ResolveAddresses(string name, System.Net.Sockets.AddressFamily addressFamily); ++ public static System.Net.DnsResult ResolveAddresses(string name); ++ public static System.Threading.Tasks.Task> ResolveAddressesAsync(string name, System.Net.Sockets.AddressFamily addressFamily, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task> ResolveAddressesAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Net.DnsResult ResolveCName(string name); ++ public static System.Threading.Tasks.Task> ResolveCNameAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Net.DnsResult ResolveMx(string name); ++ public static System.Threading.Tasks.Task> ResolveMxAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Net.DnsResult ResolveNs(string name); ++ public static System.Threading.Tasks.Task> ResolveNsAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Net.DnsResult ResolvePtr(System.Net.IPAddress address); ++ public static System.Net.DnsResult ResolvePtr(string name); ++ public static System.Threading.Tasks.Task> ResolvePtrAsync(System.Net.IPAddress address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task> ResolvePtrAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Net.DnsResult ResolveSrv(string name); ++ public static System.Threading.Tasks.Task> ResolveSrvAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Net.DnsResult ResolveTxt(string name); ++ public static System.Threading.Tasks.Task> ResolveTxtAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } ++ public readonly struct AddressRecord ++ { ++ public System.Net.IPAddress Address { get; } ++ public System.TimeSpan Ttl { get; } ++ } ++ public readonly struct CNameRecord ++ { ++ public string CanonicalName { get; } ++ public System.TimeSpan Ttl { get; } ++ } ++ public sealed class DnsResolver : System.IAsyncDisposable, System.IDisposable ++ { ++ public DnsResolver(); ++ public DnsResolver(System.Net.DnsResolverOptions options); ++ public void Dispose(); ++ public System.Threading.Tasks.ValueTask DisposeAsync(); ++ public System.Net.DnsResult ResolveAddresses(string name, System.Net.Sockets.AddressFamily addressFamily); ++ public System.Net.DnsResult ResolveAddresses(string name); ++ public System.Threading.Tasks.Task> ResolveAddressesAsync(string name, System.Net.Sockets.AddressFamily addressFamily, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Threading.Tasks.Task> ResolveAddressesAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Net.DnsResult ResolveCName(string name); ++ public System.Threading.Tasks.Task> ResolveCNameAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Net.DnsResult ResolveMx(string name); ++ public System.Threading.Tasks.Task> ResolveMxAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Net.DnsResult ResolveNs(string name); ++ public System.Threading.Tasks.Task> ResolveNsAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Net.DnsResult ResolvePtr(System.Net.IPAddress address); ++ public System.Net.DnsResult ResolvePtr(string name); ++ public System.Threading.Tasks.Task> ResolvePtrAsync(System.Net.IPAddress address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Threading.Tasks.Task> ResolvePtrAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Net.DnsResult ResolveSrv(string name); ++ public System.Threading.Tasks.Task> ResolveSrvAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public System.Net.DnsResult ResolveTxt(string name); ++ public System.Threading.Tasks.Task> ResolveTxtAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ } ++ public sealed class DnsResolverOptions ++ { ++ public DnsResolverOptions(); ++ public System.Collections.Generic.IList Servers { get; set; } ++ } ++ [System.CLSCompliantAttribute(false)] ++ public enum DnsResponseCode : ushort ++ { ++ NoError = 0, ++ FormatError = 1, ++ ServerFailure = 2, ++ NxDomain = 3, ++ NotImplemented = 4, ++ Refused = 5, ++ } ++ public readonly struct DnsResult ++ { ++ public System.TimeSpan NegativeCacheTtl { get; } ++ public System.Collections.Generic.IReadOnlyList Records { get; } ++ [System.CLSCompliantAttribute(false)] ++ public System.Net.DnsResponseCode ResponseCode { get; } ++ } ++ public readonly struct MxRecord ++ { ++ public string Exchange { get; } ++ [System.CLSCompliantAttribute(false)] ++ public ushort Preference { get; } ++ public System.TimeSpan Ttl { get; } ++ } ++ public readonly struct NsRecord ++ { ++ public string Name { get; } ++ public System.TimeSpan Ttl { get; } ++ } ++ public readonly struct PtrRecord ++ { ++ public string Name { get; } ++ public System.TimeSpan Ttl { get; } ++ } ++ public readonly struct SrvRecord ++ { ++ public System.Collections.Generic.IReadOnlyList Addresses { get; } ++ [System.CLSCompliantAttribute(false)] ++ public ushort Port { get; } ++ [System.CLSCompliantAttribute(false)] ++ public ushort Priority { get; } ++ public string Target { get; } ++ public System.TimeSpan Ttl { get; } ++ [System.CLSCompliantAttribute(false)] ++ public ushort Weight { get; } ++ } ++ public readonly struct TxtRecord ++ { ++ public System.TimeSpan Ttl { get; } ++ public System.Collections.Generic.IReadOnlyList Values { get; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Primitives.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Primitives.md new file mode 100644 index 0000000000..b633d4875f --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Primitives.md @@ -0,0 +1,27 @@ +# System.Net.Primitives + +```diff + namespace System.Net + { + public enum DecompressionMethods + { ++ Zstandard = 8, + } + public class IPEndPoint : System.Net.EndPoint, System.ISpanFormattable, System.IFormattable, System.ISpanParsable, System.IParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable + { ++ public static System.Net.IPEndPoint Parse(System.ReadOnlySpan utf8Text); ++ string System.IFormattable.ToString(string format, System.IFormatProvider formatProvider); ++ static System.Net.IPEndPoint System.IParsable.Parse(string s, System.IFormatProvider provider); ++ static bool System.IParsable.TryParse(string s, System.IFormatProvider provider, out System.Net.IPEndPoint result); ++ bool System.ISpanFormattable.TryFormat(System.Span destination, out int charsWritten, System.ReadOnlySpan format, System.IFormatProvider provider); ++ static System.Net.IPEndPoint System.ISpanParsable.Parse(System.ReadOnlySpan s, System.IFormatProvider provider); ++ static bool System.ISpanParsable.TryParse(System.ReadOnlySpan s, System.IFormatProvider provider, out System.Net.IPEndPoint result); ++ bool System.IUtf8SpanFormattable.TryFormat(System.Span utf8Destination, out int bytesWritten, System.ReadOnlySpan format, System.IFormatProvider provider); ++ static System.Net.IPEndPoint System.IUtf8SpanParsable.Parse(System.ReadOnlySpan utf8Text, System.IFormatProvider provider); ++ static bool System.IUtf8SpanParsable.TryParse(System.ReadOnlySpan utf8Text, System.IFormatProvider provider, out System.Net.IPEndPoint result); ++ public bool TryFormat(System.Span utf8Destination, out int bytesWritten); ++ public bool TryFormat(System.Span destination, out int charsWritten); ++ public static bool TryParse(System.ReadOnlySpan utf8Text, out System.Net.IPEndPoint? result); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Quic.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Quic.md new file mode 100644 index 0000000000..3ed0972336 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Quic.md @@ -0,0 +1,12 @@ +# System.Net.Quic + +```diff + namespace System.Net.Quic + { + public sealed class QuicStream : System.IO.Stream + { ++ public const byte DefaultPriority = 127; ++ public byte Priority { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Sockets.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Sockets.md new file mode 100644 index 0000000000..85b48a8b1c --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Net.Sockets.md @@ -0,0 +1,16 @@ +# System.Net.Sockets + +```diff + namespace System.Net.Sockets + { + public class Socket : System.IDisposable + { ++ public static bool ConnectAsync(System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType, System.Net.Sockets.SocketAsyncEventArgs e, System.Net.Sockets.ConnectAlgorithm connectAlgorithm); + } ++ public enum ConnectAlgorithm ++ { ++ Default = 0, ++ Parallel = 1, ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Numerics.Vectors.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Numerics.Vectors.md new file mode 100644 index 0000000000..b8b2853e63 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Numerics.Vectors.md @@ -0,0 +1,99 @@ +# System.Numerics.Vectors + +```diff + namespace System.Numerics + { + public static class Vector + { ++ public static System.Numerics.Vector ConcatLowerLower(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector ConcatLowerUpper(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector ConcatUpperLower(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector ConcatUpperUpper(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CreateAlternatingSequence(T even, T odd); ++ public static System.Numerics.Vector CreateGeometricSequence(T initial, T multiplier); ++ public static System.Numerics.Vector CreateHarmonicSequence(T start, T step); ++ public static System.Numerics.Vector get_E() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Numerics.Vector get_Epsilon() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Numerics.Vector get_NaN() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Numerics.Vector get_NegativeInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Numerics.Vector get_NegativeOne() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Numerics.Vector get_NegativeZero() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Numerics.Vector get_Pi() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Numerics.Vector get_PositiveInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Numerics.Vector get_SignSequence() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Numerics.Vector get_Tau() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Numerics.Vector Reverse(System.Numerics.Vector vector); ++ public static (System.Numerics.Vector Even, System.Numerics.Vector Odd) Unzip(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector UnzipEven(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector UnzipOdd(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static (System.Numerics.Vector Lower, System.Numerics.Vector Upper) Zip(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector ZipLower(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector ZipUpper(System.Numerics.Vector left, System.Numerics.Vector right); + } + } ++ namespace System.Numerics.Colors ++ { ++ public static class Argb ++ { ++ [System.CLSCompliantAttribute(false)] ++ public static System.Numerics.Colors.Argb CreateBigEndian(uint color); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Numerics.Colors.Argb CreateLittleEndian(uint color); ++ [System.CLSCompliantAttribute(false)] ++ public static uint ToUInt32BigEndian(this System.Numerics.Colors.Argb color); ++ [System.CLSCompliantAttribute(false)] ++ public static uint ToUInt32LittleEndian(this System.Numerics.Colors.Argb color); ++ } ++ public readonly struct Argb : System.IEquatable> where T : struct ++ { ++ public Argb(T a, T r, T g, T b); ++ public Argb(System.ReadOnlySpan values); ++ public readonly void CopyTo(System.Span destination); ++ public readonly bool Equals(System.Numerics.Colors.Argb other); ++ public override readonly bool Equals(object? obj); ++ public override readonly int GetHashCode(); ++ public readonly System.Numerics.Colors.Rgba ToRgba(); ++ public override readonly string ToString(); ++ public T A { get; init; } ++ public T B { get; init; } ++ public T G { get; init; } ++ public T R { get; init; } ++ } ++ public static class Rgba ++ { ++ [System.CLSCompliantAttribute(false)] ++ public static System.Numerics.Colors.Rgba CreateBigEndian(uint color); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Numerics.Colors.Rgba CreateLittleEndian(uint color); ++ [System.CLSCompliantAttribute(false)] ++ public static uint ToUInt32BigEndian(this System.Numerics.Colors.Rgba color); ++ [System.CLSCompliantAttribute(false)] ++ public static uint ToUInt32LittleEndian(this System.Numerics.Colors.Rgba color); ++ } ++ public readonly struct Rgba : System.IEquatable> where T : struct ++ { ++ public Rgba(T r, T g, T b, T a); ++ public Rgba(System.ReadOnlySpan values); ++ public readonly void CopyTo(System.Span destination); ++ public readonly bool Equals(System.Numerics.Colors.Rgba other); ++ public override readonly bool Equals(object? obj); ++ public override readonly int GetHashCode(); ++ public readonly System.Numerics.Colors.Argb ToArgb(); ++ public override readonly string ToString(); ++ public T A { get; init; } ++ public T B { get; init; } ++ public T G { get; init; } ++ public T R { get; init; } ++ } ++ } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Reflection.Emit.ILGeneration.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Reflection.Emit.ILGeneration.md new file mode 100644 index 0000000000..01481b7b57 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Reflection.Emit.ILGeneration.md @@ -0,0 +1,11 @@ +# System.Reflection.Emit.ILGeneration + +```diff + namespace System.Reflection.Emit + { + public abstract class ILGenerator + { ++ public virtual void EmitCalli(System.Type functionPointerType); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Reflection.Emit.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Reflection.Emit.md new file mode 100644 index 0000000000..8421a1c9f8 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Reflection.Emit.md @@ -0,0 +1,19 @@ +# System.Reflection.Emit + +```diff + namespace System.Reflection.Emit + { + public abstract class EnumBuilder : System.Reflection.TypeInfo + { ++ public override System.Type? GetNullableUnderlyingType(); + } + public abstract class GenericTypeParameterBuilder : System.Reflection.TypeInfo + { ++ public override System.Type? GetNullableUnderlyingType(); + } + public abstract class TypeBuilder : System.Reflection.TypeInfo + { ++ public override System.Type? GetNullableUnderlyingType(); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.InteropServices.JavaScript.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.InteropServices.JavaScript.md new file mode 100644 index 0000000000..83490235f2 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.InteropServices.JavaScript.md @@ -0,0 +1,16 @@ +# System.Runtime.InteropServices.JavaScript + +```diff + namespace System.Runtime.InteropServices.JavaScript + { + public struct JSMarshalerArgument + { ++ public void ToJS(System.ArraySegment value); ++ public void ToJS(float[]? value); ++ public void ToJS(System.Span value); ++ public void ToManaged(out System.ArraySegment value); ++ public void ToManaged(out float[]? value); ++ public void ToManaged(out System.Span value); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.InteropServices.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.InteropServices.md new file mode 100644 index 0000000000..278d473c58 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.InteropServices.md @@ -0,0 +1,32 @@ +# System.Runtime.InteropServices + +```diff + namespace System.Runtime.InteropServices + { +- [System.ObsoleteAttribute("CurrencyWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")] + public sealed class CurrencyWrapper + { + } + public readonly struct NFloat : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryFloatingPointIeee754, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IExponentialFunctions, System.Numerics.IFloatingPointConstants, System.Numerics.IFloatingPoint, System.Numerics.ISignedNumber, System.Numerics.IFloatingPointIeee754, System.Numerics.IHyperbolicFunctions, System.Numerics.ILogarithmicFunctions, System.Numerics.IPowerFunctions, System.Numerics.IRootFunctions, System.Numerics.ITrigonometricFunctions, System.Numerics.IMinMaxValue + { ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Runtime.InteropServices.NFloat result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Runtime.InteropServices.NFloat result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Runtime.InteropServices.NFloat result, out int charsConsumed); + } + public enum PosixSignal + { ++ SIGKILL = -11, + } + public sealed class UnmanagedCallersOnlyAttribute : System.Attribute + { ++ public System.Type? AssociatedSourceType; + } + } + namespace System.Runtime.InteropServices.ObjectiveC + { + public static class ObjectiveCMarshal + { ++ public static System.Span GetOrCreateReferenceTrackingMemory(object obj); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.Intrinsics.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.Intrinsics.md new file mode 100644 index 0000000000..62de0dd4ad --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.Intrinsics.md @@ -0,0 +1,807 @@ +# System.Runtime.Intrinsics + +```diff + namespace System.Runtime.Intrinsics + { + public static class Vector128 + { ++ public static System.Runtime.Intrinsics.Vector128 Asin(System.Runtime.Intrinsics.Vector128 vector); ++ public static System.Runtime.Intrinsics.Vector128 Asin(System.Runtime.Intrinsics.Vector128 vector); ++ public static System.Runtime.Intrinsics.Vector128 ConcatLowerLower(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); ++ public static System.Runtime.Intrinsics.Vector128 ConcatLowerUpper(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); ++ public static System.Runtime.Intrinsics.Vector128 ConcatUpperLower(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); ++ public static System.Runtime.Intrinsics.Vector128 ConcatUpperUpper(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); ++ public static System.Runtime.Intrinsics.Vector128 CreateAlternatingSequence(T even, T odd); ++ public static System.Runtime.Intrinsics.Vector128 CreateGeometricSequence(T initial, T multiplier); ++ public static System.Runtime.Intrinsics.Vector128 CreateHarmonicSequence(T start, T step); ++ public static System.Runtime.Intrinsics.Vector128 get_E() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector128 get_Epsilon() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector128 get_NaN() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector128 get_NegativeInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector128 get_NegativeOne() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Runtime.Intrinsics.Vector128 get_NegativeZero() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector128 get_Pi() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector128 get_PositiveInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector128 get_SignSequence() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Runtime.Intrinsics.Vector128 get_Tau() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector128 Reverse(System.Runtime.Intrinsics.Vector128 vector); ++ public static System.Runtime.Intrinsics.Vector128 Shuffle(System.Runtime.Intrinsics.Vector128 vector, System.Runtime.Intrinsics.Vector128 indices); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Runtime.Intrinsics.Vector128 Shuffle(System.Runtime.Intrinsics.Vector128 vector, System.Runtime.Intrinsics.Vector128 indices); ++ public static System.Runtime.Intrinsics.Vector128 ShuffleNative(System.Runtime.Intrinsics.Vector128 vector, System.Runtime.Intrinsics.Vector128 indices); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Runtime.Intrinsics.Vector128 ShuffleNative(System.Runtime.Intrinsics.Vector128 vector, System.Runtime.Intrinsics.Vector128 indices); ++ public static (System.Runtime.Intrinsics.Vector128 Even, System.Runtime.Intrinsics.Vector128 Odd) Unzip(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); ++ public static System.Runtime.Intrinsics.Vector128 UnzipEven(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); ++ public static System.Runtime.Intrinsics.Vector128 UnzipOdd(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); ++ public static (System.Runtime.Intrinsics.Vector128 Lower, System.Runtime.Intrinsics.Vector128 Upper) Zip(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); ++ public static System.Runtime.Intrinsics.Vector128 ZipLower(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); ++ public static System.Runtime.Intrinsics.Vector128 ZipUpper(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right); + } + public static class Vector256 + { ++ public static System.Runtime.Intrinsics.Vector256 Asin(System.Runtime.Intrinsics.Vector256 vector); ++ public static System.Runtime.Intrinsics.Vector256 Asin(System.Runtime.Intrinsics.Vector256 vector); ++ public static System.Runtime.Intrinsics.Vector256 ConcatLowerLower(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector256 ConcatLowerUpper(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector256 ConcatUpperLower(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector256 ConcatUpperUpper(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector256 CreateAlternatingSequence(T even, T odd); ++ public static System.Runtime.Intrinsics.Vector256 CreateGeometricSequence(T initial, T multiplier); ++ public static System.Runtime.Intrinsics.Vector256 CreateHarmonicSequence(T start, T step); ++ public static System.Runtime.Intrinsics.Vector256 get_E() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector256 get_Epsilon() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector256 get_NaN() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector256 get_NegativeInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector256 get_NegativeOne() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Runtime.Intrinsics.Vector256 get_NegativeZero() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector256 get_Pi() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector256 get_PositiveInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector256 get_SignSequence() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Runtime.Intrinsics.Vector256 get_Tau() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector256 Reverse(System.Runtime.Intrinsics.Vector256 vector); ++ public static System.Runtime.Intrinsics.Vector256 Shuffle(System.Runtime.Intrinsics.Vector256 vector, System.Runtime.Intrinsics.Vector256 indices); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Runtime.Intrinsics.Vector256 Shuffle(System.Runtime.Intrinsics.Vector256 vector, System.Runtime.Intrinsics.Vector256 indices); ++ public static System.Runtime.Intrinsics.Vector256 ShuffleNative(System.Runtime.Intrinsics.Vector256 vector, System.Runtime.Intrinsics.Vector256 indices); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Runtime.Intrinsics.Vector256 ShuffleNative(System.Runtime.Intrinsics.Vector256 vector, System.Runtime.Intrinsics.Vector256 indices); ++ public static (System.Runtime.Intrinsics.Vector256 Even, System.Runtime.Intrinsics.Vector256 Odd) Unzip(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector256 UnzipEven(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector256 UnzipOdd(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static (System.Runtime.Intrinsics.Vector256 Lower, System.Runtime.Intrinsics.Vector256 Upper) Zip(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector256 ZipLower(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector256 ZipUpper(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); + } + public static class Vector512 + { ++ public static System.Runtime.Intrinsics.Vector512 Asin(System.Runtime.Intrinsics.Vector512 vector); ++ public static System.Runtime.Intrinsics.Vector512 Asin(System.Runtime.Intrinsics.Vector512 vector); ++ public static System.Runtime.Intrinsics.Vector512 ConcatLowerLower(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 ConcatLowerUpper(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 ConcatUpperLower(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 ConcatUpperUpper(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 CreateAlternatingSequence(T even, T odd); ++ public static System.Runtime.Intrinsics.Vector512 CreateGeometricSequence(T initial, T multiplier); ++ public static System.Runtime.Intrinsics.Vector512 CreateHarmonicSequence(T start, T step); ++ public static System.Runtime.Intrinsics.Vector512 get_E() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector512 get_Epsilon() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector512 get_NaN() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector512 get_NegativeInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector512 get_NegativeOne() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Runtime.Intrinsics.Vector512 get_NegativeZero() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector512 get_Pi() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector512 get_PositiveInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector512 get_SignSequence() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Runtime.Intrinsics.Vector512 get_Tau() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector512 Reverse(System.Runtime.Intrinsics.Vector512 vector); ++ public static System.Runtime.Intrinsics.Vector512 Shuffle(System.Runtime.Intrinsics.Vector512 vector, System.Runtime.Intrinsics.Vector512 indices); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Runtime.Intrinsics.Vector512 Shuffle(System.Runtime.Intrinsics.Vector512 vector, System.Runtime.Intrinsics.Vector512 indices); ++ public static System.Runtime.Intrinsics.Vector512 ShuffleNative(System.Runtime.Intrinsics.Vector512 vector, System.Runtime.Intrinsics.Vector512 indices); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Runtime.Intrinsics.Vector512 ShuffleNative(System.Runtime.Intrinsics.Vector512 vector, System.Runtime.Intrinsics.Vector512 indices); ++ public static (System.Runtime.Intrinsics.Vector512 Even, System.Runtime.Intrinsics.Vector512 Odd) Unzip(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 UnzipEven(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 UnzipOdd(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static (System.Runtime.Intrinsics.Vector512 Lower, System.Runtime.Intrinsics.Vector512 Upper) Zip(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 ZipLower(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 ZipUpper(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); + } + public static class Vector64 + { ++ public static System.Runtime.Intrinsics.Vector64 Asin(System.Runtime.Intrinsics.Vector64 vector); ++ public static System.Runtime.Intrinsics.Vector64 Asin(System.Runtime.Intrinsics.Vector64 vector); ++ public static System.Runtime.Intrinsics.Vector64 ConcatLowerLower(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); ++ public static System.Runtime.Intrinsics.Vector64 ConcatLowerUpper(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); ++ public static System.Runtime.Intrinsics.Vector64 ConcatUpperLower(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); ++ public static System.Runtime.Intrinsics.Vector64 ConcatUpperUpper(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); ++ public static System.Runtime.Intrinsics.Vector64 CreateAlternatingSequence(T even, T odd); ++ public static System.Runtime.Intrinsics.Vector64 CreateGeometricSequence(T initial, T multiplier); ++ public static System.Runtime.Intrinsics.Vector64 CreateHarmonicSequence(T start, T step); ++ public static System.Runtime.Intrinsics.Vector64 get_E() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector64 get_Epsilon() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector64 get_NaN() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector64 get_NegativeInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector64 get_NegativeOne() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Runtime.Intrinsics.Vector64 get_NegativeZero() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector64 get_Pi() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector64 get_PositiveInfinity() ++ where T : System.Numerics.IFloatingPointIeee754; ++ public static System.Runtime.Intrinsics.Vector64 get_SignSequence() ++ where T : System.Numerics.ISignedNumber; ++ public static System.Runtime.Intrinsics.Vector64 get_Tau() ++ where T : System.Numerics.IFloatingPointConstants; ++ public static System.Runtime.Intrinsics.Vector64 Reverse(System.Runtime.Intrinsics.Vector64 vector); ++ public static System.Runtime.Intrinsics.Vector64 Shuffle(System.Runtime.Intrinsics.Vector64 vector, System.Runtime.Intrinsics.Vector64 indices); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Runtime.Intrinsics.Vector64 Shuffle(System.Runtime.Intrinsics.Vector64 vector, System.Runtime.Intrinsics.Vector64 indices); ++ public static System.Runtime.Intrinsics.Vector64 ShuffleNative(System.Runtime.Intrinsics.Vector64 vector, System.Runtime.Intrinsics.Vector64 indices); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Runtime.Intrinsics.Vector64 ShuffleNative(System.Runtime.Intrinsics.Vector64 vector, System.Runtime.Intrinsics.Vector64 indices); ++ public static (System.Runtime.Intrinsics.Vector64 Even, System.Runtime.Intrinsics.Vector64 Odd) Unzip(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); ++ public static System.Runtime.Intrinsics.Vector64 UnzipEven(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); ++ public static System.Runtime.Intrinsics.Vector64 UnzipOdd(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); ++ public static (System.Runtime.Intrinsics.Vector64 Lower, System.Runtime.Intrinsics.Vector64 Upper) Zip(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); ++ public static System.Runtime.Intrinsics.Vector64 ZipLower(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); ++ public static System.Runtime.Intrinsics.Vector64 ZipUpper(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right); + } + } + namespace System.Runtime.Intrinsics.Arm + { + public abstract class ArmBase + { + public abstract class Arm64 + { ++ public static int LeadingSignCount(nint value); + } ++ public static int LeadingZeroCount(nint value); ++ public static int LeadingZeroCount(nuint value); ++ public static nint ReverseElementBits(nint value); ++ public static nuint ReverseElementBits(nuint value); + } + public abstract class Crc32 : System.Runtime.Intrinsics.Arm.ArmBase + { ++ public static uint ComputeCrc32(uint crc, nuint data); ++ public static uint ComputeCrc32C(uint crc, nuint data); + } + public abstract class Sve : System.Runtime.Intrinsics.Arm.AdvSimd + { +- public static System.Numerics.Vector CreateWhileLessThanMask16Bit(int left, int right); +- public static System.Numerics.Vector CreateWhileLessThanMask16Bit(long left, long right); +- public static System.Numerics.Vector CreateWhileLessThanMask16Bit(uint left, uint right); +- public static System.Numerics.Vector CreateWhileLessThanMask16Bit(ulong left, ulong right); +- public static System.Numerics.Vector CreateWhileLessThanMask32Bit(int left, int right); +- public static System.Numerics.Vector CreateWhileLessThanMask32Bit(long left, long right); +- public static System.Numerics.Vector CreateWhileLessThanMask32Bit(uint left, uint right); +- public static System.Numerics.Vector CreateWhileLessThanMask32Bit(ulong left, ulong right); +- public static System.Numerics.Vector CreateWhileLessThanMask64Bit(int left, int right); +- public static System.Numerics.Vector CreateWhileLessThanMask64Bit(long left, long right); +- public static System.Numerics.Vector CreateWhileLessThanMask64Bit(uint left, uint right); +- public static System.Numerics.Vector CreateWhileLessThanMask64Bit(ulong left, ulong right); +- public static System.Numerics.Vector CreateWhileLessThanMask8Bit(int left, int right); +- public static System.Numerics.Vector CreateWhileLessThanMask8Bit(long left, long right); +- public static System.Numerics.Vector CreateWhileLessThanMask8Bit(uint left, uint right); +- public static System.Numerics.Vector CreateWhileLessThanMask8Bit(ulong left, ulong right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask16Bit(int left, int right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask16Bit(long left, long right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask16Bit(uint left, uint right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask16Bit(ulong left, ulong right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask32Bit(int left, int right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask32Bit(long left, long right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask32Bit(uint left, uint right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask32Bit(ulong left, ulong right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask64Bit(int left, int right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask64Bit(long left, long right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask64Bit(uint left, uint right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask64Bit(ulong left, ulong right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask8Bit(int left, int right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask8Bit(long left, long right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask8Bit(uint left, uint right); +- public static System.Numerics.Vector CreateWhileLessThanOrEqualMask8Bit(ulong left, ulong right); +- public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtend(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); +- public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtend(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); +- public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtend(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); +- public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtend(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); +- public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtendFirstFaulting(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); +- public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtendFirstFaulting(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); +- public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtendFirstFaulting(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); +- public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtendFirstFaulting(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); +- public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtend(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); +- public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtend(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); +- public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtend(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); +- public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtend(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); +- public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtendFirstFaulting(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); +- public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtendFirstFaulting(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); +- public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtendFirstFaulting(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); +- public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtendFirstFaulting(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); ++ public static System.Numerics.Vector CreateBreakAfterMask(System.Numerics.Vector totalMask, System.Numerics.Vector fromMask); ++ public static System.Numerics.Vector CreateBreakAfterMask(System.Numerics.Vector totalMask, System.Numerics.Vector fromMask); ++ public static System.Numerics.Vector CreateBreakAfterPropagateMask(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CreateBreakAfterPropagateMask(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CreateBreakBeforeMask(System.Numerics.Vector totalMask, System.Numerics.Vector fromMask); ++ public static System.Numerics.Vector CreateBreakBeforeMask(System.Numerics.Vector totalMask, System.Numerics.Vector fromMask); ++ public static System.Numerics.Vector CreateBreakBeforePropagateMask(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CreateBreakBeforePropagateMask(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CreateBreakPropagateMask(System.Numerics.Vector totalMask, System.Numerics.Vector fromMask); ++ public static System.Numerics.Vector CreateBreakPropagateMask(System.Numerics.Vector totalMask, System.Numerics.Vector fromMask); ++ public static System.Numerics.Vector CreateMaskForFirstActiveElement(System.Numerics.Vector totalMask, System.Numerics.Vector fromMask); ++ public static System.Numerics.Vector CreateMaskForFirstActiveElement(System.Numerics.Vector totalMask, System.Numerics.Vector fromMask); ++ public static System.Numerics.Vector CreateWhileLessThanMaskByte(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskByte(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskByte(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskByte(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskDouble(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskDouble(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskDouble(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskDouble(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt16(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt16(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt16(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt16(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt32(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt32(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt32(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt32(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt64(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt64(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt64(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskInt64(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskSByte(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskSByte(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskSByte(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskSByte(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskSingle(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskSingle(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskSingle(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskSingle(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt16(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt16(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt16(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt16(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt32(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt32(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt32(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt32(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt64(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt64(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt64(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanMaskUInt64(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskByte(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskByte(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskByte(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskByte(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskDouble(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskDouble(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskDouble(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskDouble(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt16(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt16(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt16(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt16(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt32(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt32(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt32(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt32(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt64(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt64(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt64(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskInt64(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskSByte(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskSByte(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskSByte(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskSByte(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskSingle(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskSingle(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskSingle(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskSingle(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt16(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt16(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt16(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt16(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt32(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt32(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt32(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt32(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt64(int left, int right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt64(long left, long right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt64(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileLessThanOrEqualMaskUInt64(ulong left, ulong right); ++ public static System.Numerics.Vector GetFfrDouble(); ++ public static System.Numerics.Vector GetFfrSingle(); ++ public static void SetFfr(System.Numerics.Vector value); ++ public static void SetFfr(System.Numerics.Vector value); ++ public static bool TestAnyTrue(System.Numerics.Vector mask, System.Numerics.Vector rightMask); ++ public static bool TestAnyTrue(System.Numerics.Vector mask, System.Numerics.Vector rightMask); ++ public static bool TestFirstTrue(System.Numerics.Vector leftMask, System.Numerics.Vector rightMask); ++ public static bool TestFirstTrue(System.Numerics.Vector leftMask, System.Numerics.Vector rightMask); ++ public static bool TestLastTrue(System.Numerics.Vector leftMask, System.Numerics.Vector rightMask); ++ public static bool TestLastTrue(System.Numerics.Vector leftMask, System.Numerics.Vector rightMask); + } + public abstract class Sve2 : System.Runtime.Intrinsics.Arm.Sve + { +- public static System.Numerics.Vector AddCarryWideningEven(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3); ++ public static System.Numerics.Vector AddCarryWideningEven(System.Numerics.Vector left, System.Numerics.Vector right, System.Numerics.Vector carry); +- public static System.Numerics.Vector AddCarryWideningEven(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3); ++ public static System.Numerics.Vector AddCarryWideningEven(System.Numerics.Vector left, System.Numerics.Vector right, System.Numerics.Vector carry); +- public static System.Numerics.Vector AddCarryWideningOdd(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3); ++ public static System.Numerics.Vector AddCarryWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right, System.Numerics.Vector carry); +- public static System.Numerics.Vector AddCarryWideningOdd(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3); ++ public static System.Numerics.Vector AddCarryWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right, System.Numerics.Vector carry); +- public static System.Numerics.Vector AddSaturateRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, byte rotation); ++ public static System.Numerics.Vector AddSaturateRotateComplex(System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector AddSaturateRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, byte rotation); ++ public static System.Numerics.Vector AddSaturateRotateComplex(System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector AddSaturateRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, byte rotation); ++ public static System.Numerics.Vector AddSaturateRotateComplex(System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector AddSaturateRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, byte rotation); ++ public static System.Numerics.Vector AddSaturateRotateComplex(System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector AddSaturateWithSignedAddend(System.Numerics.Vector left, System.Numerics.Vector right); +- public static System.Numerics.Vector AddSaturateWithSignedAddend(System.Numerics.Vector left, System.Numerics.Vector right); +- public static System.Numerics.Vector AddSaturateWithSignedAddend(System.Numerics.Vector left, System.Numerics.Vector right); +- public static System.Numerics.Vector AddSaturateWithSignedAddend(System.Numerics.Vector left, System.Numerics.Vector right); +- public static System.Numerics.Vector AddSaturateWithUnsignedAddend(System.Numerics.Vector left, System.Numerics.Vector right); +- public static System.Numerics.Vector AddSaturateWithUnsignedAddend(System.Numerics.Vector left, System.Numerics.Vector right); +- public static System.Numerics.Vector AddSaturateWithUnsignedAddend(System.Numerics.Vector left, System.Numerics.Vector right); +- public static System.Numerics.Vector AddSaturateWithUnsignedAddend(System.Numerics.Vector left, System.Numerics.Vector right); +- public static System.Numerics.Vector AddWideningEvenOdd(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddWideningEvenOdd(System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector AddWideningEvenOdd(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddWideningEvenOdd(System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector AddWideningEvenOdd(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddWideningEvenOdd(System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector DotProductRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte rotation); ++ public static System.Numerics.Vector DotProductRotateComplex(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector DotProductRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte rotation); ++ public static System.Numerics.Vector DotProductRotateComplex(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector DotProductRotateComplexBySelectedIndex(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte imm_index, byte rotation); ++ public static System.Numerics.Vector DotProductRotateComplexBySelectedIndex(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rightIndex, byte rotation); +- public static System.Numerics.Vector DotProductRotateComplexBySelectedIndex(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte imm_index, byte rotation); ++ public static System.Numerics.Vector DotProductRotateComplexBySelectedIndex(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rightIndex, byte rotation); +- public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorEvenOdd(System.Numerics.Vector odd, System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector InterleavingXorOddEven(System.Numerics.Vector even, System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte rotation); ++ public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplex(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte rotation); ++ public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplex(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte rotation); ++ public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplex(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplex(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte rotation); ++ public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplex(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rotation); +- public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplexBySelectedScalar(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte imm_index, byte rotation); ++ public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplexBySelectedScalar(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rightIndex, byte rotation); +- public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplexBySelectedScalar(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3, byte imm_index, byte rotation); ++ public static System.Numerics.Vector MultiplyAddRoundedDoublingSaturateHighRotateComplexBySelectedScalar(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right, byte rightIndex, byte rotation); +- public static System.Numerics.Vector SubtractBorrowWideningEven(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3); ++ public static System.Numerics.Vector SubtractBorrowWideningEven(System.Numerics.Vector left, System.Numerics.Vector right, System.Numerics.Vector borrow); +- public static System.Numerics.Vector SubtractBorrowWideningEven(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3); ++ public static System.Numerics.Vector SubtractBorrowWideningEven(System.Numerics.Vector left, System.Numerics.Vector right, System.Numerics.Vector borrow); +- public static System.Numerics.Vector SubtractBorrowWideningOdd(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3); ++ public static System.Numerics.Vector SubtractBorrowWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right, System.Numerics.Vector borrow); +- public static System.Numerics.Vector SubtractBorrowWideningOdd(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3); ++ public static System.Numerics.Vector SubtractBorrowWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right, System.Numerics.Vector borrow); +- public static System.Numerics.Vector SubtractWideningEvenOdd(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector SubtractWideningEvenOdd(System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector SubtractWideningEvenOdd(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector SubtractWideningEvenOdd(System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector SubtractWideningEvenOdd(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector SubtractWideningEvenOdd(System.Numerics.Vector leftEven, System.Numerics.Vector rightOdd); +- public static System.Numerics.Vector SubtractWideningOddEven(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector SubtractWideningOddEven(System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector SubtractWideningOddEven(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector SubtractWideningOddEven(System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); +- public static System.Numerics.Vector SubtractWideningOddEven(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector SubtractWideningOddEven(System.Numerics.Vector leftOdd, System.Numerics.Vector rightEven); ++ public static System.Numerics.Vector AddSaturate(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddSaturate(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddSaturate(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddSaturate(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddSaturate(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddSaturate(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddSaturate(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector AddSaturate(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector ConvertToSingleOdd(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector ConvertToSingleOddRoundToOdd(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector CountMatchingElements(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CountMatchingElements(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CountMatchingElements(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CountMatchingElements(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CountMatchingElementsIn128BitSegments(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CountMatchingElementsIn128BitSegments(System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskByte(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskByte(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskByte(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskByte(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskDouble(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskDouble(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskDouble(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskDouble(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt16(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt16(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt16(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt16(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt32(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt32(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt32(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt32(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt64(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt64(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt64(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskInt64(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskSByte(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskSByte(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskSByte(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskSByte(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskSingle(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskSingle(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskSingle(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskSingle(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt16(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt16(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt16(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt16(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt32(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt32(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt32(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt32(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt64(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt64(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt64(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanMaskUInt64(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskByte(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskByte(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskByte(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskByte(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskDouble(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskDouble(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskDouble(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskDouble(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt16(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt16(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt16(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt16(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt32(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt32(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt32(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt32(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt64(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt64(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt64(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskInt64(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskSByte(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskSByte(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskSByte(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskSByte(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskSingle(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskSingle(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskSingle(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskSingle(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt16(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt16(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt16(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt16(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt32(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt32(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt32(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt32(ulong left, ulong right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt64(int left, int right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt64(long left, long right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt64(uint left, uint right); ++ public static System.Numerics.Vector CreateWhileGreaterThanOrEqualMaskUInt64(ulong left, ulong right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskByte(byte* left, byte* right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskDouble(double* left, double* right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskInt16(short* left, short* right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskInt32(int* left, int* right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskInt64(long* left, long* right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskSByte(sbyte* left, sbyte* right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskSingle(float* left, float* right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskUInt16(ushort* left, ushort* right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskUInt32(uint* left, uint* right); ++ public static unsafe System.Numerics.Vector CreateWhileReadAfterWriteMaskUInt64(ulong* left, ulong* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskByte(byte* left, byte* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskDouble(double* left, double* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskInt16(short* left, short* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskInt32(int* left, int* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskInt64(long* left, long* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskSByte(sbyte* left, sbyte* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskSingle(float* left, float* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskUInt16(ushort* left, ushort* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskUInt32(uint* left, uint* right); ++ public static unsafe System.Numerics.Vector CreateWhileWriteAfterReadMaskUInt64(ulong* left, ulong* right); ++ public static unsafe System.Numerics.Vector GatherVectorByteZeroExtendNonTemporal(System.Numerics.Vector mask, byte* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorByteZeroExtendNonTemporal(System.Numerics.Vector mask, byte* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorByteZeroExtendNonTemporal(System.Numerics.Vector mask, byte* address, System.Numerics.Vector offsets); ++ public static System.Numerics.Vector GatherVectorByteZeroExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorByteZeroExtendNonTemporal(System.Numerics.Vector mask, byte* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorByteZeroExtendNonTemporal(System.Numerics.Vector mask, byte* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorByteZeroExtendNonTemporal(System.Numerics.Vector mask, byte* address, System.Numerics.Vector offsets); ++ public static System.Numerics.Vector GatherVectorByteZeroExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorInt16SignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorInt16SignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector indices); ++ public static System.Numerics.Vector GatherVectorInt16SignExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorInt16SignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorInt16SignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector indices); ++ public static System.Numerics.Vector GatherVectorInt16SignExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorInt16WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorInt16WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorInt16WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorInt16WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorInt16WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorInt16WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorInt32SignExtendNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorInt32SignExtendNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector indices); ++ public static System.Numerics.Vector GatherVectorInt32SignExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorInt32SignExtendNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorInt32SignExtendNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector indices); ++ public static System.Numerics.Vector GatherVectorInt32SignExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorInt32WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorInt32WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorInt32WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorInt32WithByteOffsetsSignExtendNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorNonTemporal(System.Numerics.Vector mask, double* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorNonTemporal(System.Numerics.Vector mask, double* address, System.Numerics.Vector indices); ++ public static System.Numerics.Vector GatherVectorNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorNonTemporal(System.Numerics.Vector mask, long* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorNonTemporal(System.Numerics.Vector mask, long* address, System.Numerics.Vector indices); ++ public static System.Numerics.Vector GatherVectorNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static System.Numerics.Vector GatherVectorNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorNonTemporal(System.Numerics.Vector mask, ulong* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorNonTemporal(System.Numerics.Vector mask, ulong* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorSByteSignExtendNonTemporal(System.Numerics.Vector mask, sbyte* address, System.Numerics.Vector offsets); ++ public static System.Numerics.Vector GatherVectorSByteSignExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorSByteSignExtendNonTemporal(System.Numerics.Vector mask, sbyte* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorSByteSignExtendNonTemporal(System.Numerics.Vector mask, sbyte* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorSByteSignExtendNonTemporal(System.Numerics.Vector mask, sbyte* address, System.Numerics.Vector offsets); ++ public static System.Numerics.Vector GatherVectorSByteSignExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorSByteSignExtendNonTemporal(System.Numerics.Vector mask, sbyte* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorSByteSignExtendNonTemporal(System.Numerics.Vector mask, sbyte* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector offsets); ++ public static System.Numerics.Vector GatherVectorUInt16ZeroExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16ZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16ZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector indices); ++ public static System.Numerics.Vector GatherVectorUInt16ZeroExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16ZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorUInt16ZeroExtendNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorUInt32WithByteOffsetsZeroExtendNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); ++ public static System.Numerics.Vector GatherVectorUInt32ZeroExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtendNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtendNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); ++ public static System.Numerics.Vector GatherVectorUInt32ZeroExtendNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses); ++ public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtendNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorUInt32ZeroExtendNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices); ++ public static unsafe System.Numerics.Vector GatherVectorWithByteOffsetsNonTemporal(System.Numerics.Vector mask, double* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorWithByteOffsetsNonTemporal(System.Numerics.Vector mask, double* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorWithByteOffsetsNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorWithByteOffsetsNonTemporal(System.Numerics.Vector mask, long* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorWithByteOffsetsNonTemporal(System.Numerics.Vector mask, long* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorWithByteOffsetsNonTemporal(System.Numerics.Vector mask, float* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorWithByteOffsetsNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorWithByteOffsetsNonTemporal(System.Numerics.Vector mask, ulong* address, System.Numerics.Vector offsets); ++ public static unsafe System.Numerics.Vector GatherVectorWithByteOffsetsNonTemporal(System.Numerics.Vector mask, ulong* address, System.Numerics.Vector offsets); ++ public static System.Numerics.Vector Match(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector Match(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector Match(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector Match(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector NoMatch(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector NoMatch(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector NoMatch(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector NoMatch(System.Numerics.Vector mask, System.Numerics.Vector left, System.Numerics.Vector right); ++ public static System.Numerics.Vector SaturatingExtractNarrowingLower(System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingLower(System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingLower(System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingLower(System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingLower(System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingLower(System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingUpper(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingUpper(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingUpper(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingUpper(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingUpper(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractNarrowingUpper(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractUnsignedNarrowingLower(System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractUnsignedNarrowingLower(System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractUnsignedNarrowingLower(System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractUnsignedNarrowingUpper(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractUnsignedNarrowingUpper(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static System.Numerics.Vector SaturatingExtractUnsignedNarrowingUpper(System.Numerics.Vector even, System.Numerics.Vector value); ++ public static unsafe void Scatter16BitNarrowingNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void Scatter16BitNarrowingNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static void Scatter16BitNarrowingNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses, System.Numerics.Vector data); ++ public static void Scatter16BitNarrowingNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses, System.Numerics.Vector data); ++ public static unsafe void Scatter16BitNarrowingNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void Scatter16BitNarrowingNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void Scatter16BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter16BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter16BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, short* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter16BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter16BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter16BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, ushort* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter32BitNarrowingNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void Scatter32BitNarrowingNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static void Scatter32BitNarrowingNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses, System.Numerics.Vector data); ++ public static void Scatter32BitNarrowingNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses, System.Numerics.Vector data); ++ public static unsafe void Scatter32BitNarrowingNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void Scatter32BitNarrowingNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void Scatter32BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter32BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter32BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter32BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static void Scatter8BitNarrowingNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses, System.Numerics.Vector data); ++ public static void Scatter8BitNarrowingNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses, System.Numerics.Vector data); ++ public static unsafe void Scatter8BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, sbyte* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter8BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, sbyte* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter8BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, sbyte* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter8BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, byte* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter8BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, byte* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void Scatter8BitWithByteOffsetsNarrowingNonTemporal(System.Numerics.Vector mask, byte* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void ScatterNonTemporal(System.Numerics.Vector mask, double* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void ScatterNonTemporal(System.Numerics.Vector mask, double* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static void ScatterNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses, System.Numerics.Vector data); ++ public static unsafe void ScatterNonTemporal(System.Numerics.Vector mask, long* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void ScatterNonTemporal(System.Numerics.Vector mask, long* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static void ScatterNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses, System.Numerics.Vector data); ++ public static void ScatterNonTemporal(System.Numerics.Vector mask, System.Numerics.Vector addresses, System.Numerics.Vector data); ++ public static unsafe void ScatterNonTemporal(System.Numerics.Vector mask, ulong* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void ScatterNonTemporal(System.Numerics.Vector mask, ulong* address, System.Numerics.Vector indices, System.Numerics.Vector data); ++ public static unsafe void ScatterWithByteOffsetsNonTemporal(System.Numerics.Vector mask, double* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void ScatterWithByteOffsetsNonTemporal(System.Numerics.Vector mask, double* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void ScatterWithByteOffsetsNonTemporal(System.Numerics.Vector mask, int* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void ScatterWithByteOffsetsNonTemporal(System.Numerics.Vector mask, long* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void ScatterWithByteOffsetsNonTemporal(System.Numerics.Vector mask, long* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void ScatterWithByteOffsetsNonTemporal(System.Numerics.Vector mask, float* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void ScatterWithByteOffsetsNonTemporal(System.Numerics.Vector mask, uint* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void ScatterWithByteOffsetsNonTemporal(System.Numerics.Vector mask, ulong* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static unsafe void ScatterWithByteOffsetsNonTemporal(System.Numerics.Vector mask, ulong* address, System.Numerics.Vector offsets, System.Numerics.Vector data); ++ public static System.Numerics.Vector ShiftRightLogicalNarrowingSaturateEven(System.Numerics.Vector value, byte count); ++ public static System.Numerics.Vector ShiftRightLogicalNarrowingSaturateEven(System.Numerics.Vector value, byte count); ++ public static System.Numerics.Vector ShiftRightLogicalNarrowingSaturateEven(System.Numerics.Vector value, byte count); ++ public static System.Numerics.Vector ShiftRightLogicalNarrowingSaturateOdd(System.Numerics.Vector even, System.Numerics.Vector value, byte count); ++ public static System.Numerics.Vector ShiftRightLogicalNarrowingSaturateOdd(System.Numerics.Vector even, System.Numerics.Vector value, byte count); ++ public static System.Numerics.Vector ShiftRightLogicalNarrowingSaturateOdd(System.Numerics.Vector even, System.Numerics.Vector value, byte count); + } ++ [System.CLSCompliantAttribute(false)] ++ public abstract class Sha3 : System.Runtime.Intrinsics.Arm.ArmBase ++ { ++ public static System.Runtime.Intrinsics.Vector128 BitwiseClearXor(System.Runtime.Intrinsics.Vector128 xor, System.Runtime.Intrinsics.Vector128 value, System.Runtime.Intrinsics.Vector128 mask); ++ public static System.Runtime.Intrinsics.Vector128 BitwiseClearXor(System.Runtime.Intrinsics.Vector128 xor, System.Runtime.Intrinsics.Vector128 value, System.Runtime.Intrinsics.Vector128 mask); ++ public static System.Runtime.Intrinsics.Vector128 BitwiseClearXor(System.Runtime.Intrinsics.Vector128 xor, System.Runtime.Intrinsics.Vector128 value, System.Runtime.Intrinsics.Vector128 mask); ++ public static System.Runtime.Intrinsics.Vector128 BitwiseClearXor(System.Runtime.Intrinsics.Vector128 xor, System.Runtime.Intrinsics.Vector128 value, System.Runtime.Intrinsics.Vector128 mask); ++ public static System.Runtime.Intrinsics.Vector128 BitwiseClearXor(System.Runtime.Intrinsics.Vector128 xor, System.Runtime.Intrinsics.Vector128 value, System.Runtime.Intrinsics.Vector128 mask); ++ public static System.Runtime.Intrinsics.Vector128 BitwiseClearXor(System.Runtime.Intrinsics.Vector128 xor, System.Runtime.Intrinsics.Vector128 value, System.Runtime.Intrinsics.Vector128 mask); ++ public static System.Runtime.Intrinsics.Vector128 BitwiseClearXor(System.Runtime.Intrinsics.Vector128 xor, System.Runtime.Intrinsics.Vector128 value, System.Runtime.Intrinsics.Vector128 mask); ++ public static System.Runtime.Intrinsics.Vector128 BitwiseClearXor(System.Runtime.Intrinsics.Vector128 xor, System.Runtime.Intrinsics.Vector128 value, System.Runtime.Intrinsics.Vector128 mask); ++ public static System.Runtime.Intrinsics.Vector128 BitwiseRotateLeftBy1AndXor(System.Runtime.Intrinsics.Vector128 xor, System.Runtime.Intrinsics.Vector128 rol1); ++ public static System.Runtime.Intrinsics.Vector128 Xor(System.Runtime.Intrinsics.Vector128 value1, System.Runtime.Intrinsics.Vector128 value2, System.Runtime.Intrinsics.Vector128 value3); ++ public static System.Runtime.Intrinsics.Vector128 Xor(System.Runtime.Intrinsics.Vector128 value1, System.Runtime.Intrinsics.Vector128 value2, System.Runtime.Intrinsics.Vector128 value3); ++ public static System.Runtime.Intrinsics.Vector128 Xor(System.Runtime.Intrinsics.Vector128 value1, System.Runtime.Intrinsics.Vector128 value2, System.Runtime.Intrinsics.Vector128 value3); ++ public static System.Runtime.Intrinsics.Vector128 Xor(System.Runtime.Intrinsics.Vector128 value1, System.Runtime.Intrinsics.Vector128 value2, System.Runtime.Intrinsics.Vector128 value3); ++ public static System.Runtime.Intrinsics.Vector128 Xor(System.Runtime.Intrinsics.Vector128 value1, System.Runtime.Intrinsics.Vector128 value2, System.Runtime.Intrinsics.Vector128 value3); ++ public static System.Runtime.Intrinsics.Vector128 Xor(System.Runtime.Intrinsics.Vector128 value1, System.Runtime.Intrinsics.Vector128 value2, System.Runtime.Intrinsics.Vector128 value3); ++ public static System.Runtime.Intrinsics.Vector128 Xor(System.Runtime.Intrinsics.Vector128 value1, System.Runtime.Intrinsics.Vector128 value2, System.Runtime.Intrinsics.Vector128 value3); ++ public static System.Runtime.Intrinsics.Vector128 Xor(System.Runtime.Intrinsics.Vector128 value1, System.Runtime.Intrinsics.Vector128 value2, System.Runtime.Intrinsics.Vector128 value3); ++ public static System.Runtime.Intrinsics.Vector128 XorRotateRight(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right, byte count); ++ public new static bool IsSupported { get; } ++ public abstract new class Arm64 : System.Runtime.Intrinsics.Arm.ArmBase.Arm64 ++ { ++ public new static bool IsSupported { get; } ++ } ++ } ++ [System.CLSCompliantAttribute(false)] ++ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] ++ public abstract class SveSha3 : System.Runtime.Intrinsics.Arm.ArmBase ++ { ++ public static System.Numerics.Vector BitwiseRotateLeftBy1AndXor(System.Numerics.Vector xor, System.Numerics.Vector rol1); ++ public static System.Numerics.Vector BitwiseRotateLeftBy1AndXor(System.Numerics.Vector xor, System.Numerics.Vector rol1); ++ public new static bool IsSupported { get; } ++ public abstract new class Arm64 : System.Runtime.Intrinsics.Arm.ArmBase.Arm64 ++ { ++ public new static bool IsSupported { get; } ++ } ++ } + } + namespace System.Runtime.Intrinsics.X86 + { + public abstract class AvxVnni : System.Runtime.Intrinsics.X86.Avx2 + { ++ public abstract class V512 ++ { ++ public static System.Runtime.Intrinsics.Vector512 MultiplyWideningAndAdd(System.Runtime.Intrinsics.Vector512 addend, System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 MultiplyWideningAndAdd(System.Runtime.Intrinsics.Vector512 addend, System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 MultiplyWideningAndAddSaturate(System.Runtime.Intrinsics.Vector512 addend, System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector512 MultiplyWideningAndAddSaturate(System.Runtime.Intrinsics.Vector512 addend, System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static bool IsSupported { get; } ++ } + } ++ [System.CLSCompliantAttribute(false)] ++ public abstract class Avx512Bmm : System.Runtime.Intrinsics.X86.Avx512F ++ { ++ public static System.Runtime.Intrinsics.Vector256 BitMultiplyMatrix16x16WithOrReduction(System.Runtime.Intrinsics.Vector256 addend, System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector512 BitMultiplyMatrix16x16WithOrReduction(System.Runtime.Intrinsics.Vector512 addend, System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector256 BitMultiplyMatrix16x16WithXorReduction(System.Runtime.Intrinsics.Vector256 addend, System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right); ++ public static System.Runtime.Intrinsics.Vector512 BitMultiplyMatrix16x16WithXorReduction(System.Runtime.Intrinsics.Vector512 addend, System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right); ++ public static System.Runtime.Intrinsics.Vector128 ReverseBits(System.Runtime.Intrinsics.Vector128 values); ++ public static System.Runtime.Intrinsics.Vector256 ReverseBits(System.Runtime.Intrinsics.Vector256 values); ++ public static System.Runtime.Intrinsics.Vector512 ReverseBits(System.Runtime.Intrinsics.Vector512 values); ++ public new static bool IsSupported { get; } ++ public abstract new class X64 : System.Runtime.Intrinsics.X86.Avx512F.X64 ++ { ++ public new static bool IsSupported { get; } ++ } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.Loader.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.Loader.md new file mode 100644 index 0000000000..7b735c4855 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.Loader.md @@ -0,0 +1,11 @@ +# System.Runtime.Loader + +```diff + namespace System.Runtime.Loader + { + public class AssemblyLoadContext + { ++ public static void SetAssemblyLocationOverride(System.Func locationOverride); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.Numerics.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.Numerics.md new file mode 100644 index 0000000000..28fbf0f76b --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.Numerics.md @@ -0,0 +1,158 @@ +# System.Runtime.Numerics + +```diff + namespace System.Numerics + { + public readonly struct BigInteger : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.ISignedNumber + { ++ public static explicit operator System.Numerics.BigInteger(System.Numerics.BFloat16 value); ++ public static explicit operator System.Numerics.BFloat16(System.Numerics.BigInteger value); ++ static System.Numerics.BigInteger System.IUtf8SpanParsable.Parse(System.ReadOnlySpan utf8Text, System.IFormatProvider? provider); ++ static bool System.IUtf8SpanParsable.TryParse(System.ReadOnlySpan utf8Text, System.IFormatProvider? provider, out System.Numerics.BigInteger result); ++ static System.Numerics.BigInteger System.Numerics.IBinaryInteger.Log10(System.Numerics.BigInteger value); ++ static System.Numerics.BigInteger System.Numerics.INumberBase.Parse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BigInteger result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.BigInteger result); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BigInteger result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BigInteger result, out int charsConsumed); ++ public readonly bool TryFormat(System.Span utf8Destination, out int bytesWritten, System.ReadOnlySpan format = default(System.ReadOnlySpan), System.IFormatProvider? provider = null); ++ public static bool TryParse(System.ReadOnlySpan utf8Text, out System.Numerics.BigInteger result); + } + public readonly struct Complex : System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IEqualityOperators, System.Numerics.IIncrementOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.ISignedNumber + { ++ public static implicit operator System.Numerics.Complex(System.Numerics.BFloat16 value); ++ static System.Numerics.Complex System.IUtf8SpanParsable.Parse(System.ReadOnlySpan utf8Text, System.IFormatProvider? provider); ++ static bool System.IUtf8SpanParsable.TryParse(System.ReadOnlySpan utf8Text, System.IFormatProvider? provider, out System.Numerics.Complex result); ++ static System.Numerics.Complex System.Numerics.INumberBase.Parse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.Complex result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Complex result); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.Complex result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.Complex result, out int charsConsumed); + } ++ public readonly struct Complex : System.IEquatable>, System.IFormattable, System.IParsable>, System.ISpanFormattable, System.ISpanParsable>, System.IUtf8SpanFormattable, System.IUtf8SpanParsable>, System.Numerics.IAdditionOperators, System.Numerics.Complex, System.Numerics.Complex>, System.Numerics.IAdditiveIdentity, System.Numerics.Complex>, System.Numerics.IDecrementOperators>, System.Numerics.IDivisionOperators, System.Numerics.Complex, System.Numerics.Complex>, System.Numerics.IEqualityOperators, System.Numerics.Complex, bool>, System.Numerics.IIncrementOperators>, System.Numerics.IMultiplicativeIdentity, System.Numerics.Complex>, System.Numerics.IMultiplyOperators, System.Numerics.Complex, System.Numerics.Complex>, System.Numerics.INumberBase>, System.Numerics.ISubtractionOperators, System.Numerics.Complex, System.Numerics.Complex>, System.Numerics.IUnaryNegationOperators, System.Numerics.Complex>, System.Numerics.IUnaryPlusOperators, System.Numerics.Complex>, System.Numerics.ISignedNumber> where T : System.Numerics.IFloatingPointIeee754, System.Numerics.IMinMaxValue ++ { ++ public Complex(T real, T imaginary); ++ public static T Abs(System.Numerics.Complex value); ++ public static System.Numerics.Complex Acos(System.Numerics.Complex value); ++ public static System.Numerics.Complex Add(T left, System.Numerics.Complex right); ++ public static System.Numerics.Complex Add(System.Numerics.Complex left, T right); ++ public static System.Numerics.Complex Add(System.Numerics.Complex left, System.Numerics.Complex right); ++ public static System.Numerics.Complex Asin(System.Numerics.Complex value); ++ public static System.Numerics.Complex Atan(System.Numerics.Complex value); ++ public static System.Numerics.Complex Conjugate(System.Numerics.Complex value); ++ public static System.Numerics.Complex Cos(System.Numerics.Complex value); ++ public static System.Numerics.Complex Cosh(System.Numerics.Complex value); ++ public static System.Numerics.Complex Divide(T dividend, System.Numerics.Complex divisor); ++ public static System.Numerics.Complex Divide(System.Numerics.Complex dividend, T divisor); ++ public static System.Numerics.Complex Divide(System.Numerics.Complex dividend, System.Numerics.Complex divisor); ++ public readonly bool Equals(System.Numerics.Complex value); ++ public override readonly bool Equals(object? obj); ++ public static System.Numerics.Complex Exp(System.Numerics.Complex value); ++ public static System.Numerics.Complex FromPolarCoordinates(T magnitude, T phase); ++ public override readonly int GetHashCode(); ++ public readonly T GetMagnitude(); ++ public readonly T GetPhase(); ++ public static System.Numerics.Complex Log(System.Numerics.Complex value, T baseValue); ++ public static System.Numerics.Complex Log(System.Numerics.Complex value); ++ public static System.Numerics.Complex Log10(System.Numerics.Complex value); ++ public static System.Numerics.Complex Multiply(T left, System.Numerics.Complex right); ++ public static System.Numerics.Complex Multiply(System.Numerics.Complex left, T right); ++ public static System.Numerics.Complex Multiply(System.Numerics.Complex left, System.Numerics.Complex right); ++ public static System.Numerics.Complex Negate(System.Numerics.Complex value); ++ public static System.Numerics.Complex operator +(T left, System.Numerics.Complex right); ++ public static System.Numerics.Complex operator +(System.Numerics.Complex left, T right); ++ public static System.Numerics.Complex operator +(System.Numerics.Complex left, System.Numerics.Complex right); ++ public static System.Numerics.Complex operator --(System.Numerics.Complex value); ++ public static System.Numerics.Complex operator /(T left, System.Numerics.Complex right); ++ public static System.Numerics.Complex operator /(System.Numerics.Complex left, T right); ++ public static System.Numerics.Complex operator /(System.Numerics.Complex left, System.Numerics.Complex right); ++ public static bool operator ==(System.Numerics.Complex left, System.Numerics.Complex right); ++ public static implicit operator System.Numerics.Complex(T value); ++ public static System.Numerics.Complex operator ++(System.Numerics.Complex value); ++ public static bool operator !=(System.Numerics.Complex left, System.Numerics.Complex right); ++ public static System.Numerics.Complex operator *(T left, System.Numerics.Complex right); ++ public static System.Numerics.Complex operator *(System.Numerics.Complex left, T right); ++ public static System.Numerics.Complex operator *(System.Numerics.Complex left, System.Numerics.Complex right); ++ public static System.Numerics.Complex operator -(T left, System.Numerics.Complex right); ++ public static System.Numerics.Complex operator -(System.Numerics.Complex left, T right); ++ public static System.Numerics.Complex operator -(System.Numerics.Complex left, System.Numerics.Complex right); ++ public static System.Numerics.Complex operator -(System.Numerics.Complex value); ++ public static System.Numerics.Complex operator +(System.Numerics.Complex value); ++ public static System.Numerics.Complex Pow(System.Numerics.Complex value, T power); ++ public static System.Numerics.Complex Pow(System.Numerics.Complex value, System.Numerics.Complex power); ++ public static System.Numerics.Complex Reciprocal(System.Numerics.Complex value); ++ public static System.Numerics.Complex Sin(System.Numerics.Complex value); ++ public static System.Numerics.Complex Sinh(System.Numerics.Complex value); ++ public static System.Numerics.Complex Sqrt(System.Numerics.Complex value); ++ public static System.Numerics.Complex Subtract(T left, System.Numerics.Complex right); ++ public static System.Numerics.Complex Subtract(System.Numerics.Complex left, T right); ++ public static System.Numerics.Complex Subtract(System.Numerics.Complex left, System.Numerics.Complex right); ++ static System.Numerics.Complex System.IParsable>.Parse(string s, System.IFormatProvider? provider); ++ static bool System.IParsable>.TryParse(string? s, System.IFormatProvider? provider, out System.Numerics.Complex result); ++ static System.Numerics.Complex System.ISpanParsable>.Parse(System.ReadOnlySpan s, System.IFormatProvider? provider); ++ static bool System.ISpanParsable>.TryParse(System.ReadOnlySpan s, System.IFormatProvider? provider, out System.Numerics.Complex result); ++ static System.Numerics.Complex System.IUtf8SpanParsable>.Parse(System.ReadOnlySpan utf8Text, System.IFormatProvider? provider); ++ static bool System.IUtf8SpanParsable>.TryParse(System.ReadOnlySpan utf8Text, System.IFormatProvider? provider, out System.Numerics.Complex result); ++ static System.Numerics.Complex System.Numerics.INumberBase>.Abs(System.Numerics.Complex value); ++ static System.Numerics.Complex System.Numerics.INumberBase>.CreateChecked(TOther value); ++ static System.Numerics.Complex System.Numerics.INumberBase>.CreateSaturating(TOther value); ++ static System.Numerics.Complex System.Numerics.INumberBase>.CreateTruncating(TOther value); ++ static bool System.Numerics.INumberBase>.IsCanonical(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsComplexNumber(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsEvenInteger(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsFinite(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsImaginaryNumber(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsInfinity(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsInteger(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsNaN(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsNegative(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsNegativeInfinity(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsNormal(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsOddInteger(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsPositive(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsPositiveInfinity(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsRealNumber(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsSubnormal(System.Numerics.Complex value); ++ static bool System.Numerics.INumberBase>.IsZero(System.Numerics.Complex value); ++ static System.Numerics.Complex System.Numerics.INumberBase>.MaxMagnitude(System.Numerics.Complex x, System.Numerics.Complex y); ++ static System.Numerics.Complex System.Numerics.INumberBase>.MaxMagnitudeNumber(System.Numerics.Complex x, System.Numerics.Complex y); ++ static System.Numerics.Complex System.Numerics.INumberBase>.MinMagnitude(System.Numerics.Complex x, System.Numerics.Complex y); ++ static System.Numerics.Complex System.Numerics.INumberBase>.MinMagnitudeNumber(System.Numerics.Complex x, System.Numerics.Complex y); ++ static System.Numerics.Complex System.Numerics.INumberBase>.MultiplyAddEstimate(System.Numerics.Complex left, System.Numerics.Complex right, System.Numerics.Complex addend); ++ static System.Numerics.Complex System.Numerics.INumberBase>.Parse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ static System.Numerics.Complex System.Numerics.INumberBase>.Parse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ static System.Numerics.Complex System.Numerics.INumberBase>.Parse(string s, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ static bool System.Numerics.INumberBase>.TryConvertFromChecked(TOther value, out System.Numerics.Complex result); ++ static bool System.Numerics.INumberBase>.TryConvertFromSaturating(TOther value, out System.Numerics.Complex result); ++ static bool System.Numerics.INumberBase>.TryConvertFromTruncating(TOther value, out System.Numerics.Complex result); ++ static bool System.Numerics.INumberBase>.TryConvertToChecked(System.Numerics.Complex value, out TOther result); ++ static bool System.Numerics.INumberBase>.TryConvertToSaturating(System.Numerics.Complex value, out TOther result); ++ static bool System.Numerics.INumberBase>.TryConvertToTruncating(System.Numerics.Complex value, out TOther result); ++ static bool System.Numerics.INumberBase>.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.Complex result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase>.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Complex result); ++ static bool System.Numerics.INumberBase>.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.Complex result, out int charsConsumed); ++ static bool System.Numerics.INumberBase>.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Complex result); ++ static bool System.Numerics.INumberBase>.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.Complex result, out int charsConsumed); ++ static bool System.Numerics.INumberBase>.TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Complex result); ++ public static System.Numerics.Complex Tan(System.Numerics.Complex value); ++ public static System.Numerics.Complex Tanh(System.Numerics.Complex value); ++ public override readonly string ToString(); ++ public readonly string ToString(System.IFormatProvider? provider); ++ public readonly string ToString(string? format, System.IFormatProvider? provider); ++ public readonly string ToString(string? format); ++ public readonly bool TryFormat(System.Span utf8Destination, out int bytesWritten, System.ReadOnlySpan format = default(System.ReadOnlySpan), System.IFormatProvider? provider = null); ++ public readonly bool TryFormat(System.Span destination, out int charsWritten, System.ReadOnlySpan format = default(System.ReadOnlySpan), System.IFormatProvider? provider = null); ++ public T Imaginary { get; } ++ public static System.Numerics.Complex ImaginaryOne { get; } ++ public static System.Numerics.Complex Infinity { get; } ++ public static System.Numerics.Complex NaN { get; } ++ public T Real { get; } ++ static System.Numerics.Complex System.Numerics.IAdditiveIdentity, System.Numerics.Complex>.AdditiveIdentity { get; } ++ static System.Numerics.Complex System.Numerics.IMultiplicativeIdentity, System.Numerics.Complex>.MultiplicativeIdentity { get; } ++ static System.Numerics.Complex System.Numerics.INumberBase>.One { get; } ++ static int System.Numerics.INumberBase>.Radix { get; } ++ static System.Numerics.Complex System.Numerics.INumberBase>.Zero { get; } ++ static System.Numerics.Complex System.Numerics.ISignedNumber>.NegativeOne { get; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.md new file mode 100644 index 0000000000..cb2a437abf --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Runtime.md @@ -0,0 +1,1088 @@ +# System.Runtime + +```diff + namespace Microsoft.Win32.SafeHandles + { + public sealed class SafeFileHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid + { ++ public static void CreateAnonymousPipe(out Microsoft.Win32.SafeHandles.SafeFileHandle readHandle, out Microsoft.Win32.SafeHandles.SafeFileHandle writeHandle, bool asyncRead = false, bool asyncWrite = false); ++ public System.IO.FileHandleType Type { get; } + } + } + namespace System + { + public static class BitConverter + { ++ public static short BFloat16ToInt16Bits(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static ushort BFloat16ToUInt16Bits(System.Numerics.BFloat16 value); ++ public static byte[] GetBytes(System.Numerics.BFloat16 value); ++ public static System.Numerics.BFloat16 Int16BitsToBFloat16(short value); ++ public static System.Numerics.BFloat16 ToBFloat16(byte[] value, int startIndex); ++ public static System.Numerics.BFloat16 ToBFloat16(System.ReadOnlySpan value); ++ public static bool TryWriteBytes(System.Span destination, System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static System.Numerics.BFloat16 UInt16BitsToBFloat16(ushort value); + } + public readonly struct Byte : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.IUnsignedNumber + { ++ static byte System.Numerics.IBinaryInteger.Log10(byte value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out byte result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out byte result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out byte result, out int charsConsumed); + } + public readonly struct Char : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.IUnsignedNumber + { ++ public readonly bool Equals(char other, System.StringComparison comparisonType); ++ static char System.Numerics.IBinaryInteger.Log10(char value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out char result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out char result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out char result, out int charsConsumed); ++ public static char ToLowerOrdinal(char c); ++ public static char ToUpperOrdinal(char c); + } + public readonly struct Decimal : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IFloatingPoint, System.Numerics.IFloatingPointConstants, System.Numerics.IIncrementOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IModulusOperators, System.Numerics.INumber, System.Numerics.ISignedNumber, System.Numerics.IMinMaxValue, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable + { ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out decimal result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out decimal result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out decimal result, out int charsConsumed); + } + public abstract class Delegate : System.ICloneable, System.Runtime.Serialization.ISerializable + { +- protected virtual System.Delegate CombineImpl(System.Delegate? d); ++ protected System.Delegate CombineImpl(System.Delegate? d); +- public virtual System.Delegate[] GetInvocationList(); ++ public System.Delegate[] GetInvocationList(); +- protected virtual System.Delegate? RemoveImpl(System.Delegate d); ++ protected System.Delegate? RemoveImpl(System.Delegate? d); + } + public readonly struct Double : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryFloatingPointIeee754, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IExponentialFunctions, System.Numerics.IFloatingPointConstants, System.Numerics.IFloatingPoint, System.Numerics.ISignedNumber, System.Numerics.IFloatingPointIeee754, System.Numerics.IHyperbolicFunctions, System.Numerics.ILogarithmicFunctions, System.Numerics.IPowerFunctions, System.Numerics.IRootFunctions, System.Numerics.ITrigonometricFunctions, System.Numerics.IMinMaxValue + { ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out double result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out double result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out double result, out int charsConsumed); + } + public readonly struct Half : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryFloatingPointIeee754, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IExponentialFunctions, System.Numerics.IFloatingPointConstants, System.Numerics.IFloatingPoint, System.Numerics.ISignedNumber, System.Numerics.IFloatingPointIeee754, System.Numerics.IHyperbolicFunctions, System.Numerics.ILogarithmicFunctions, System.Numerics.IPowerFunctions, System.Numerics.IRootFunctions, System.Numerics.ITrigonometricFunctions, System.Numerics.IMinMaxValue + { ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Half result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Half result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Half result, out int charsConsumed); + } + public readonly struct Int128 : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.ISignedNumber + { ++ static System.Int128 System.Numerics.IBinaryInteger.Log10(System.Int128 value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Int128 result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Int128 result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Int128 result, out int charsConsumed); + } + public readonly struct Int16 : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.ISignedNumber + { ++ static short System.Numerics.IBinaryInteger.Log10(short value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out short result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out short result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out short result, out int charsConsumed); + } + public readonly struct Int32 : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.ISignedNumber + { ++ static int System.Numerics.IBinaryInteger.Log10(int value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out int result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out int result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out int result, out int charsConsumed); + } + public readonly struct Int64 : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.ISignedNumber + { ++ static long System.Numerics.IBinaryInteger.Log10(long value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out long result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out long result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out long result, out int charsConsumed); + } + public readonly struct IntPtr : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.ISignedNumber, System.Runtime.Serialization.ISerializable + { ++ static nint System.Numerics.IBinaryInteger.Log10(nint value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out nint result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out nint result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out nint result, out int charsConsumed); + } + public abstract class MulticastDelegate : System.Delegate + { +- protected sealed override System.Delegate CombineImpl(System.Delegate? follow); +- public sealed override System.Delegate[] GetInvocationList(); +- protected sealed override System.Delegate? RemoveImpl(System.Delegate value); + } + public class Random + { ++ public T NextBinaryFloat() ++ where T : System.Numerics.IBinaryFloatingPointIeee754; ++ public T NextInteger() ++ where T : System.Numerics.IBinaryInteger, System.Numerics.IMinMaxValue; ++ public T NextInteger(T minValue, T maxValue) ++ where T : System.Numerics.IBinaryInteger; ++ public T NextInteger(T maxValue) ++ where T : System.Numerics.IBinaryInteger; + } + public readonly struct SByte : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.ISignedNumber + { ++ static sbyte System.Numerics.IBinaryInteger.Log10(sbyte value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out sbyte result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out sbyte result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out sbyte result, out int charsConsumed); + } + public readonly struct Single : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryFloatingPointIeee754, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IExponentialFunctions, System.Numerics.IFloatingPointConstants, System.Numerics.IFloatingPoint, System.Numerics.ISignedNumber, System.Numerics.IFloatingPointIeee754, System.Numerics.IHyperbolicFunctions, System.Numerics.ILogarithmicFunctions, System.Numerics.IPowerFunctions, System.Numerics.IRootFunctions, System.Numerics.ITrigonometricFunctions, System.Numerics.IMinMaxValue + { ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out float result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out float result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out float result, out int charsConsumed); + } + public sealed class String : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable, System.ICloneable, System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IParsable, System.ISpanParsable + { ++ public bool Contains(System.Text.Rune value, System.StringComparison comparisonType); ++ public bool Contains(System.Text.Rune value); ++ public bool EndsWith(char value, System.StringComparison comparisonType); ++ public bool EndsWith(System.Text.Rune value, System.StringComparison comparisonType); ++ public bool EndsWith(System.Text.Rune value); ++ public int IndexOf(char value, int startIndex, int count, System.StringComparison comparisonType); ++ public int IndexOf(char value, int startIndex, System.StringComparison comparisonType); ++ public int IndexOf(System.Text.Rune value, int startIndex, int count, System.StringComparison comparisonType); ++ public int IndexOf(System.Text.Rune value, int startIndex, int count); ++ public int IndexOf(System.Text.Rune value, int startIndex, System.StringComparison comparisonType); ++ public int IndexOf(System.Text.Rune value, int startIndex); ++ public int IndexOf(System.Text.Rune value, System.StringComparison comparisonType); ++ public int IndexOf(System.Text.Rune value); ++ public int LastIndexOf(char value, int startIndex, int count, System.StringComparison comparisonType); ++ public int LastIndexOf(char value, int startIndex, System.StringComparison comparisonType); ++ public int LastIndexOf(char value, System.StringComparison comparisonType); ++ public int LastIndexOf(System.Text.Rune value, int startIndex, int count, System.StringComparison comparisonType); ++ public int LastIndexOf(System.Text.Rune value, int startIndex, int count); ++ public int LastIndexOf(System.Text.Rune value, int startIndex, System.StringComparison comparisonType); ++ public int LastIndexOf(System.Text.Rune value, int startIndex); ++ public int LastIndexOf(System.Text.Rune value, System.StringComparison comparisonType); ++ public int LastIndexOf(System.Text.Rune value); ++ public string Replace(System.Text.Rune oldRune, System.Text.Rune newRune); ++ public string[] Split(System.Text.Rune separator, int count, System.StringSplitOptions options = System.StringSplitOptions.None); ++ public string[] Split(System.Text.Rune separator, System.StringSplitOptions options = System.StringSplitOptions.None); ++ public bool StartsWith(char value, System.StringComparison comparisonType); ++ public bool StartsWith(System.Text.Rune value, System.StringComparison comparisonType); ++ public bool StartsWith(System.Text.Rune value); ++ public string ToLowerOrdinal(); ++ public string ToUpperOrdinal(); ++ public string Trim(System.Text.Rune trimRune); ++ public string TrimEnd(System.Text.Rune trimRune); ++ public string TrimStart(System.Text.Rune trimRune); + } + public abstract class Type : System.Reflection.MemberInfo, System.Reflection.IReflect + { ++ public virtual System.Type? GetNullableUnderlyingType(); ++ public static System.Type MakeFunctionPointerSignatureType(System.Type returnType, System.Type[]? parameterTypes, bool isUnmanaged = false, System.Type[]? callingConventions = null); ++ public virtual System.Type MakeFunctionPointerType(System.Type[]? parameterTypes, bool isUnmanaged = false); ++ public static System.Type MakeModifiedSignatureType(System.Type type, System.Type[]? requiredCustomModifiers, System.Type[]? optionalCustomModifiers); + } + public readonly struct UInt128 : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.IUnsignedNumber + { ++ static System.UInt128 System.Numerics.IBinaryInteger.Log10(System.UInt128 value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.UInt128 result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.UInt128 result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.UInt128 result, out int charsConsumed); + } + public readonly struct UInt16 : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.IUnsignedNumber + { ++ static ushort System.Numerics.IBinaryInteger.Log10(ushort value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out ushort result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out ushort result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out ushort result, out int charsConsumed); + } + public readonly struct UInt32 : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.IUnsignedNumber + { ++ static uint System.Numerics.IBinaryInteger.Log10(uint value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out uint result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out uint result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out uint result, out int charsConsumed); + } + public readonly struct UInt64 : System.IComparable, System.IComparable, System.IConvertible, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.IUnsignedNumber + { ++ static ulong System.Numerics.IBinaryInteger.Log10(ulong value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out ulong result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out ulong result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out ulong result, out int charsConsumed); + } + public readonly struct UIntPtr : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryInteger, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators, System.Numerics.IMinMaxValue, System.Numerics.IUnsignedNumber, System.Runtime.Serialization.ISerializable + { ++ static nuint System.Numerics.IBinaryInteger.Log10(nuint value); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out nuint result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out nuint result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out nuint result, out int charsConsumed); + } + public class Uri : System.IEquatable, System.IFormattable, System.ISpanFormattable, System.Runtime.Serialization.ISerializable + { +- [System.ObsoleteAttribute("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")] ++ [System.ObsoleteAttribute("This constructor has been deprecated. Use Uri(string) instead.")] + public Uri(string uriString, bool dontEscape); +- [System.ObsoleteAttribute("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")] ++ [System.ObsoleteAttribute("This constructor has been deprecated. Use Uri(Uri, string) instead.")] + public Uri(System.Uri baseUri, string? relativeUri, bool dontEscape); ++ public static readonly string UriSchemeData; + } + } + namespace System.Buffers.Text + { + public static class Base64 + { ++ public static System.Buffers.OperationStatus DecodeFromChars(System.ReadOnlySpan source, System.Span destination, out int charsConsumed, out int bytesWritten, bool isFinalBlock = true); ++ public static int DecodeFromChars(System.ReadOnlySpan source, System.Span destination); ++ public static byte[] DecodeFromChars(System.ReadOnlySpan source); ++ public static int DecodeFromUtf8(System.ReadOnlySpan source, System.Span destination); ++ public static byte[] DecodeFromUtf8(System.ReadOnlySpan source); ++ public static System.Buffers.OperationStatus EncodeToChars(System.ReadOnlySpan source, System.Span destination, out int bytesConsumed, out int charsWritten, bool isFinalBlock = true); ++ public static int EncodeToChars(System.ReadOnlySpan source, System.Span destination); ++ public static char[] EncodeToChars(System.ReadOnlySpan source); ++ public static string EncodeToString(System.ReadOnlySpan source); ++ public static int EncodeToUtf8(System.ReadOnlySpan source, System.Span destination); ++ public static byte[] EncodeToUtf8(System.ReadOnlySpan source); ++ public static int GetEncodedLength(int bytesLength); ++ public static int GetMaxDecodedLength(int base64Length); ++ public static bool TryDecodeFromChars(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ public static bool TryDecodeFromUtf8(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ public static bool TryEncodeToChars(System.ReadOnlySpan source, System.Span destination, out int charsWritten); ++ public static bool TryEncodeToUtf8(System.ReadOnlySpan source, System.Span destination, out int bytesWritten); ++ public static bool TryEncodeToUtf8InPlace(System.Span buffer, int dataLength, out int bytesWritten); + } + } + namespace System.Diagnostics.CodeAnalysis + { + public sealed class StringSyntaxAttribute : System.Attribute + { ++ public const string CSharp = "C#"; ++ public const string FSharp = "F#"; ++ public const string VisualBasic = "Visual Basic"; + } ++ public sealed class RequiresUnsafeAttribute : System.Attribute ++ { ++ public RequiresUnsafeAttribute(); ++ } + } + namespace System.Globalization + { + public sealed class IdnMapping + { ++ public bool TryGetAscii(System.ReadOnlySpan unicode, System.Span destination, out int charsWritten); ++ public bool TryGetUnicode(System.ReadOnlySpan ascii, System.Span destination, out int charsWritten); + } + public enum NumberStyles + { ++ AllowTrailingInvalidCharacters = 2048, ++ HexFloat = 679, + } + public sealed class TextInfo : System.ICloneable, System.Runtime.Serialization.IDeserializationCallback + { ++ public System.Text.Rune ToLower(System.Text.Rune value); ++ public System.Text.Rune ToUpper(System.Text.Rune value); + } + } + namespace System.IO + { + public class DirectoryNotFoundException : System.IO.IOException + { ++ public DirectoryNotFoundException(string? message, string? directoryPath, System.Exception? innerException); ++ public DirectoryNotFoundException(string? message, string? directoryPath); ++ [System.ObsoleteAttribute("This API 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(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context); ++ public override string ToString(); ++ public string? DirectoryPath { get; } + } + public static class File + { ++ public static System.IO.FileSystemInfo CreateHardLink(string path, string pathToTarget); ++ public static Microsoft.Win32.SafeHandles.SafeFileHandle OpenNullHandle(); + } + public sealed class FileInfo : System.IO.FileSystemInfo + { ++ public void CreateAsHardLink(string pathToTarget); + } + public abstract class TextWriter : System.MarshalByRefObject, System.IAsyncDisposable, System.IDisposable + { ++ public virtual void Write(System.Text.Rune value); ++ public System.Threading.Tasks.Task WriteAsync(string? value, System.Threading.CancellationToken cancellationToken); ++ public virtual System.Threading.Tasks.Task WriteAsync(System.Text.Rune value); ++ public virtual void WriteLine(System.Text.Rune value); ++ public System.Threading.Tasks.Task WriteLineAsync(string? value, System.Threading.CancellationToken cancellationToken); ++ public virtual System.Threading.Tasks.Task WriteLineAsync(System.Text.Rune value); ++ public System.Threading.Tasks.Task WriteLineAsync(System.Threading.CancellationToken cancellationToken); + } ++ public enum FileHandleType ++ { ++ Unknown = 0, ++ RegularFile = 1, ++ Pipe = 2, ++ Socket = 3, ++ CharacterDevice = 4, ++ Directory = 5, ++ SymbolicLink = 6, ++ BlockDevice = 7, ++ } ++ public sealed class ReadOnlyMemoryStream : System.IO.MemoryStream ++ { ++ public ReadOnlyMemoryStream(System.ReadOnlyMemory source); ++ public override void CopyTo(System.IO.Stream destination, int bufferSize); ++ public override System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken); ++ protected override void Dispose(bool disposing); ++ public override byte[] GetBuffer(); ++ public override int Read(byte[] buffer, int offset, int count); ++ public override int Read(System.Span buffer); ++ public override System.Threading.Tasks.Task ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken); ++ public override System.Threading.Tasks.ValueTask ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public override int ReadByte(); ++ public override byte[] ToArray(); ++ public override bool TryGetBuffer(out System.ArraySegment buffer); ++ public override void WriteTo(System.IO.Stream stream); ++ public override int Capacity { get; set; } ++ } ++ public sealed class StringStream : System.IO.Stream ++ { ++ public StringStream(System.ReadOnlyMemory text, System.Text.Encoding encoding); ++ public StringStream(string text, System.Text.Encoding encoding); ++ protected override void Dispose(bool disposing); ++ public override void Flush(); ++ public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken); ++ public override int Read(byte[] buffer, int offset, int count); ++ public override int Read(System.Span buffer); ++ public override System.Threading.Tasks.Task ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken); ++ public override System.Threading.Tasks.ValueTask ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public override int ReadByte(); ++ public override long Seek(long offset, System.IO.SeekOrigin origin); ++ public override void SetLength(long value); ++ public override void Write(byte[] buffer, int offset, int count); ++ public override void Write(System.ReadOnlySpan buffer); ++ public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken); ++ public override System.Threading.Tasks.ValueTask WriteAsync(System.ReadOnlyMemory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public override bool CanRead { get; } ++ public override bool CanSeek { get; } ++ public override bool CanWrite { get; } ++ public System.Text.Encoding Encoding { get; } ++ public override long Length { get; } ++ public override long Position { get; set; } ++ } ++ public sealed class WritableMemoryStream : System.IO.MemoryStream ++ { ++ public WritableMemoryStream(System.Memory buffer); ++ public override void CopyTo(System.IO.Stream destination, int bufferSize); ++ public override System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken); ++ protected override void Dispose(bool disposing); ++ public override byte[] GetBuffer(); ++ public override int Read(byte[] buffer, int offset, int count); ++ public override int Read(System.Span buffer); ++ public override System.Threading.Tasks.Task ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken); ++ public override System.Threading.Tasks.ValueTask ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public override int ReadByte(); ++ public override void SetLength(long value); ++ public override byte[] ToArray(); ++ public override bool TryGetBuffer(out System.ArraySegment buffer); ++ public override void Write(byte[] buffer, int offset, int count); ++ public override void Write(System.ReadOnlySpan buffer); ++ public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken); ++ public override System.Threading.Tasks.ValueTask WriteAsync(System.ReadOnlyMemory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public override void WriteByte(byte value); ++ public override void WriteTo(System.IO.Stream stream); ++ public override int Capacity { get; set; } ++ } + } + namespace System.Numerics + { + public interface IBinaryInteger : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IShiftOperators where TSelf : System.Numerics.IBinaryInteger? + { ++ TSelf Divide(TSelf left, TSelf right, System.Numerics.DivisionRounding mode); ++ (TSelf Quotient, TSelf Remainder) DivRem(TSelf left, TSelf right, System.Numerics.DivisionRounding mode); ++ TSelf Log10(TSelf value); ++ TSelf Remainder(TSelf left, TSelf right, System.Numerics.DivisionRounding mode); + } + public interface INumberBase : System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IEqualityOperators, System.Numerics.IIncrementOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators where TSelf : System.Numerics.INumberBase? + { ++ bool TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out TSelf result, out int bytesConsumed); ++ bool TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out TSelf result, out int charsConsumed); ++ bool TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out TSelf result, out int charsConsumed); + } ++ public readonly struct BFloat16 : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable, System.Numerics.IAdditionOperators, System.Numerics.IAdditiveIdentity, System.Numerics.IBinaryFloatingPointIeee754, System.Numerics.IBinaryNumber, System.Numerics.IBitwiseOperators, System.Numerics.IComparisonOperators, System.Numerics.IEqualityOperators, System.Numerics.IDecrementOperators, System.Numerics.IDivisionOperators, System.Numerics.IIncrementOperators, System.Numerics.IModulusOperators, System.Numerics.IMultiplicativeIdentity, System.Numerics.IMultiplyOperators, System.Numerics.INumber, System.Numerics.INumberBase, System.Numerics.ISubtractionOperators, System.Numerics.IUnaryNegationOperators, System.Numerics.IUnaryPlusOperators, System.Numerics.IExponentialFunctions, System.Numerics.IFloatingPointConstants, System.Numerics.IFloatingPoint, System.Numerics.ISignedNumber, System.Numerics.IFloatingPointIeee754, System.Numerics.IHyperbolicFunctions, System.Numerics.ILogarithmicFunctions, System.Numerics.IPowerFunctions, System.Numerics.IRootFunctions, System.Numerics.ITrigonometricFunctions, System.Numerics.IMinMaxValue ++ { ++ public readonly int CompareTo(System.Numerics.BFloat16 other); ++ public readonly int CompareTo(object? obj); ++ public readonly bool Equals(System.Numerics.BFloat16 other); ++ public override readonly bool Equals(object? obj); ++ public override readonly int GetHashCode(); ++ public static bool IsZero(System.Numerics.BFloat16 value); ++ public static System.Numerics.BFloat16 operator +(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static explicit operator checked byte(System.Numerics.BFloat16 value); ++ public static explicit operator checked char(System.Numerics.BFloat16 value); ++ public static explicit operator checked System.Int128(System.Numerics.BFloat16 value); ++ public static explicit operator checked short(System.Numerics.BFloat16 value); ++ public static explicit operator checked int(System.Numerics.BFloat16 value); ++ public static explicit operator checked long(System.Numerics.BFloat16 value); ++ public static explicit operator checked nint(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator checked sbyte(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator checked System.UInt128(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator checked ushort(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator checked uint(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator checked ulong(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator checked nuint(System.Numerics.BFloat16 value); ++ public static System.Numerics.BFloat16 operator --(System.Numerics.BFloat16 value); ++ public static System.Numerics.BFloat16 operator /(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static bool operator ==(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static explicit operator System.Numerics.BFloat16(char value); ++ public static explicit operator System.Numerics.BFloat16(decimal value); ++ public static explicit operator System.Numerics.BFloat16(double value); ++ public static explicit operator System.Numerics.BFloat16(System.Half value); ++ public static explicit operator System.Numerics.BFloat16(System.Int128 value); ++ public static explicit operator System.Numerics.BFloat16(short value); ++ public static explicit operator System.Numerics.BFloat16(int value); ++ public static explicit operator System.Numerics.BFloat16(long value); ++ public static explicit operator System.Numerics.BFloat16(nint value); ++ public static explicit operator byte(System.Numerics.BFloat16 value); ++ public static explicit operator char(System.Numerics.BFloat16 value); ++ public static explicit operator decimal(System.Numerics.BFloat16 value); ++ public static explicit operator double(System.Numerics.BFloat16 value); ++ public static explicit operator System.Half(System.Numerics.BFloat16 value); ++ public static explicit operator System.Int128(System.Numerics.BFloat16 value); ++ public static explicit operator short(System.Numerics.BFloat16 value); ++ public static explicit operator int(System.Numerics.BFloat16 value); ++ public static explicit operator long(System.Numerics.BFloat16 value); ++ public static explicit operator nint(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator sbyte(System.Numerics.BFloat16 value); ++ public static explicit operator float(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator System.UInt128(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator ushort(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator uint(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator ulong(System.Numerics.BFloat16 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator nuint(System.Numerics.BFloat16 value); ++ public static explicit operator System.Numerics.BFloat16(float value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator System.Numerics.BFloat16(System.UInt128 value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator System.Numerics.BFloat16(ushort value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator System.Numerics.BFloat16(uint value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator System.Numerics.BFloat16(ulong value); ++ [System.CLSCompliantAttribute(false)] ++ public static explicit operator System.Numerics.BFloat16(nuint value); ++ public static bool operator >(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static bool operator >=(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static implicit operator System.Numerics.BFloat16(byte value); ++ [System.CLSCompliantAttribute(false)] ++ public static implicit operator System.Numerics.BFloat16(sbyte value); ++ public static System.Numerics.BFloat16 operator ++(System.Numerics.BFloat16 value); ++ public static bool operator !=(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static bool operator <(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static bool operator <=(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static System.Numerics.BFloat16 operator %(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static System.Numerics.BFloat16 operator *(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static System.Numerics.BFloat16 operator -(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ public static System.Numerics.BFloat16 operator -(System.Numerics.BFloat16 value); ++ public static System.Numerics.BFloat16 operator +(System.Numerics.BFloat16 value); ++ public static System.Numerics.BFloat16 Parse(string s, System.Globalization.NumberStyles style); ++ public static System.Numerics.BFloat16 Parse(string s); ++ static System.Numerics.BFloat16 System.IParsable.Parse(string s, System.IFormatProvider? provider); ++ static bool System.IParsable.TryParse(string? s, System.IFormatProvider? provider, out System.Numerics.BFloat16 result); ++ static System.Numerics.BFloat16 System.ISpanParsable.Parse(System.ReadOnlySpan s, System.IFormatProvider? provider); ++ static bool System.ISpanParsable.TryParse(System.ReadOnlySpan s, System.IFormatProvider? provider, out System.Numerics.BFloat16 result); ++ static System.Numerics.BFloat16 System.IUtf8SpanParsable.Parse(System.ReadOnlySpan utf8Text, System.IFormatProvider? provider); ++ static bool System.IUtf8SpanParsable.TryParse(System.ReadOnlySpan utf8Text, System.IFormatProvider? provider, out System.Numerics.BFloat16 result); ++ static bool System.Numerics.IBinaryNumber.IsPow2(System.Numerics.BFloat16 value); ++ static System.Numerics.BFloat16 System.Numerics.IBinaryNumber.Log2(System.Numerics.BFloat16 value); ++ static System.Numerics.BFloat16 System.Numerics.IBitwiseOperators.op_BitwiseAnd(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ static System.Numerics.BFloat16 System.Numerics.IBitwiseOperators.op_BitwiseOr(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ static System.Numerics.BFloat16 System.Numerics.IBitwiseOperators.op_ExclusiveOr(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ static System.Numerics.BFloat16 System.Numerics.IBitwiseOperators.op_OnesComplement(System.Numerics.BFloat16 value); ++ static System.Numerics.BFloat16 System.Numerics.IExponentialFunctions.Exp(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IExponentialFunctions.Exp10(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IExponentialFunctions.Exp10M1(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IExponentialFunctions.Exp2(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IExponentialFunctions.Exp2M1(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IExponentialFunctions.ExpM1(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPoint.Ceiling(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPoint.Floor(System.Numerics.BFloat16 x); ++ readonly int System.Numerics.IFloatingPoint.GetExponentByteCount(); ++ readonly int System.Numerics.IFloatingPoint.GetExponentShortestBitLength(); ++ readonly int System.Numerics.IFloatingPoint.GetSignificandBitLength(); ++ readonly int System.Numerics.IFloatingPoint.GetSignificandByteCount(); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPoint.Round(System.Numerics.BFloat16 x, int digits, System.MidpointRounding mode); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPoint.Round(System.Numerics.BFloat16 x, int digits); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPoint.Round(System.Numerics.BFloat16 x, System.MidpointRounding mode); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPoint.Round(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPoint.Truncate(System.Numerics.BFloat16 x); ++ readonly bool System.Numerics.IFloatingPoint.TryWriteExponentBigEndian(System.Span destination, out int bytesWritten); ++ readonly bool System.Numerics.IFloatingPoint.TryWriteExponentLittleEndian(System.Span destination, out int bytesWritten); ++ readonly bool System.Numerics.IFloatingPoint.TryWriteSignificandBigEndian(System.Span destination, out int bytesWritten); ++ readonly bool System.Numerics.IFloatingPoint.TryWriteSignificandLittleEndian(System.Span destination, out int bytesWritten); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.Atan2(System.Numerics.BFloat16 y, System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.Atan2Pi(System.Numerics.BFloat16 y, System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.BitDecrement(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.BitIncrement(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.FusedMultiplyAdd(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right, System.Numerics.BFloat16 addend); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.Ieee754Remainder(System.Numerics.BFloat16 left, System.Numerics.BFloat16 right); ++ static int System.Numerics.IFloatingPointIeee754.ILogB(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.Lerp(System.Numerics.BFloat16 value1, System.Numerics.BFloat16 value2, System.Numerics.BFloat16 amount); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.ReciprocalEstimate(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.ReciprocalSqrtEstimate(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.ScaleB(System.Numerics.BFloat16 x, int n); ++ static System.Numerics.BFloat16 System.Numerics.IHyperbolicFunctions.Acosh(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IHyperbolicFunctions.Asinh(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IHyperbolicFunctions.Atanh(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IHyperbolicFunctions.Cosh(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IHyperbolicFunctions.Sinh(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IHyperbolicFunctions.Tanh(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ILogarithmicFunctions.Log(System.Numerics.BFloat16 x, System.Numerics.BFloat16 newBase); ++ static System.Numerics.BFloat16 System.Numerics.ILogarithmicFunctions.Log(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ILogarithmicFunctions.Log10(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ILogarithmicFunctions.Log10P1(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ILogarithmicFunctions.Log2P1(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ILogarithmicFunctions.LogP1(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.INumber.Clamp(System.Numerics.BFloat16 value, System.Numerics.BFloat16 min, System.Numerics.BFloat16 max); ++ static System.Numerics.BFloat16 System.Numerics.INumber.CopySign(System.Numerics.BFloat16 value, System.Numerics.BFloat16 sign); ++ static System.Numerics.BFloat16 System.Numerics.INumber.Max(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static System.Numerics.BFloat16 System.Numerics.INumber.MaxNumber(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static System.Numerics.BFloat16 System.Numerics.INumber.Min(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static System.Numerics.BFloat16 System.Numerics.INumber.MinNumber(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static int System.Numerics.INumber.Sign(System.Numerics.BFloat16 value); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.Abs(System.Numerics.BFloat16 value); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.CreateChecked(TOther value); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.CreateSaturating(TOther value); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.CreateTruncating(TOther value); ++ static bool System.Numerics.INumberBase.IsCanonical(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsComplexNumber(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsEvenInteger(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsFinite(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsImaginaryNumber(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsInfinity(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsInteger(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsNaN(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsNegative(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsNegativeInfinity(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsNormal(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsOddInteger(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsPositive(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsPositiveInfinity(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsRealNumber(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsSubnormal(System.Numerics.BFloat16 value); ++ static bool System.Numerics.INumberBase.IsZero(System.Numerics.BFloat16 value); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.MaxMagnitude(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.MaxMagnitudeNumber(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.MinMagnitude(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.MinMagnitudeNumber(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.Parse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.Parse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.Parse(string s, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ static bool System.Numerics.INumberBase.TryConvertFromChecked(TOther value, out System.Numerics.BFloat16 result); ++ static bool System.Numerics.INumberBase.TryConvertFromSaturating(TOther value, out System.Numerics.BFloat16 result); ++ static bool System.Numerics.INumberBase.TryConvertFromTruncating(TOther value, out System.Numerics.BFloat16 result); ++ static bool System.Numerics.INumberBase.TryConvertToChecked(System.Numerics.BFloat16 value, out TOther result); ++ static bool System.Numerics.INumberBase.TryConvertToSaturating(System.Numerics.BFloat16 value, out TOther result); ++ static bool System.Numerics.INumberBase.TryConvertToTruncating(System.Numerics.BFloat16 value, out TOther result); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BFloat16 result, out int bytesConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.BFloat16 result); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BFloat16 result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.BFloat16 result); ++ static bool System.Numerics.INumberBase.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BFloat16 result, out int charsConsumed); ++ static bool System.Numerics.INumberBase.TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.BFloat16 result); ++ static System.Numerics.BFloat16 System.Numerics.IPowerFunctions.Pow(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static System.Numerics.BFloat16 System.Numerics.IRootFunctions.Cbrt(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.IRootFunctions.Hypot(System.Numerics.BFloat16 x, System.Numerics.BFloat16 y); ++ static System.Numerics.BFloat16 System.Numerics.IRootFunctions.RootN(System.Numerics.BFloat16 x, int n); ++ static System.Numerics.BFloat16 System.Numerics.IRootFunctions.Sqrt(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.Acos(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.AcosPi(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.Asin(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.AsinPi(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.Atan(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.AtanPi(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.Cos(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.CosPi(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.DegreesToRadians(System.Numerics.BFloat16 degrees); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.RadiansToDegrees(System.Numerics.BFloat16 radians); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.Sin(System.Numerics.BFloat16 x); ++ static (System.Numerics.BFloat16 Sin, System.Numerics.BFloat16 Cos) System.Numerics.ITrigonometricFunctions.SinCos(System.Numerics.BFloat16 x); ++ static (System.Numerics.BFloat16 SinPi, System.Numerics.BFloat16 CosPi) System.Numerics.ITrigonometricFunctions.SinCosPi(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.SinPi(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.Tan(System.Numerics.BFloat16 x); ++ static System.Numerics.BFloat16 System.Numerics.ITrigonometricFunctions.TanPi(System.Numerics.BFloat16 x); ++ public override readonly string ToString(); ++ public readonly string ToString(System.IFormatProvider? provider); ++ public readonly string ToString(string? format, System.IFormatProvider? provider); ++ public readonly string ToString(string? format); ++ public readonly bool TryFormat(System.Span utf8Destination, out int bytesWritten, System.ReadOnlySpan format = default(System.ReadOnlySpan), System.IFormatProvider? provider = null); ++ public readonly bool TryFormat(System.Span destination, out int charsWritten, System.ReadOnlySpan format = default(System.ReadOnlySpan), System.IFormatProvider? provider = null); ++ public static bool TryParse(System.ReadOnlySpan utf8Text, out System.Numerics.BFloat16 result); ++ public static bool TryParse(System.ReadOnlySpan s, out System.Numerics.BFloat16 result); ++ public static bool TryParse(string? s, out System.Numerics.BFloat16 result); ++ static System.Numerics.BFloat16 System.Numerics.IAdditiveIdentity.AdditiveIdentity { get; } ++ static System.Numerics.BFloat16 System.Numerics.IBinaryNumber.AllBitsSet { get; } ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointConstants.E { get; } ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointConstants.Pi { get; } ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointConstants.Tau { get; } ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.Epsilon { get; } ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.NaN { get; } ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.NegativeInfinity { get; } ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.NegativeZero { get; } ++ static System.Numerics.BFloat16 System.Numerics.IFloatingPointIeee754.PositiveInfinity { get; } ++ static System.Numerics.BFloat16 System.Numerics.IMinMaxValue.MaxValue { get; } ++ static System.Numerics.BFloat16 System.Numerics.IMinMaxValue.MinValue { get; } ++ static System.Numerics.BFloat16 System.Numerics.IMultiplicativeIdentity.MultiplicativeIdentity { get; } ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.One { get; } ++ static int System.Numerics.INumberBase.Radix { get; } ++ static System.Numerics.BFloat16 System.Numerics.INumberBase.Zero { get; } ++ static System.Numerics.BFloat16 System.Numerics.ISignedNumber.NegativeOne { get; } ++ } ++ public readonly struct Decimal128 : System.IComparable, System.IComparable, System.IEquatable, System.IParsable, System.ISpanParsable, System.Numerics.IMinMaxValue ++ { ++ public static System.Numerics.Decimal128 Abs(System.Numerics.Decimal128 value); ++ public static System.Numerics.Decimal128 Clamp(System.Numerics.Decimal128 value, System.Numerics.Decimal128 min, System.Numerics.Decimal128 max); ++ public static System.Numerics.Decimal128 ClampNative(System.Numerics.Decimal128 value, System.Numerics.Decimal128 min, System.Numerics.Decimal128 max); ++ public readonly int CompareTo(System.Numerics.Decimal128 other); ++ public readonly int CompareTo(object? value); ++ public static System.Numerics.Decimal128 CopySign(System.Numerics.Decimal128 value, System.Numerics.Decimal128 sign); ++ public readonly bool Equals(System.Numerics.Decimal128 other); ++ public override readonly bool Equals(object? obj); ++ public override readonly int GetHashCode(); ++ public static bool IsEvenInteger(System.Numerics.Decimal128 value); ++ public static bool IsFinite(System.Numerics.Decimal128 value); ++ public static bool IsInfinity(System.Numerics.Decimal128 value); ++ public static bool IsInteger(System.Numerics.Decimal128 value); ++ public static bool IsNaN(System.Numerics.Decimal128 value); ++ public static bool IsNegative(System.Numerics.Decimal128 value); ++ public static bool IsNegativeInfinity(System.Numerics.Decimal128 value); ++ public static bool IsNormal(System.Numerics.Decimal128 value); ++ public static bool IsOddInteger(System.Numerics.Decimal128 value); ++ public static bool IsPositive(System.Numerics.Decimal128 value); ++ public static bool IsPositiveInfinity(System.Numerics.Decimal128 value); ++ public static bool IsRealNumber(System.Numerics.Decimal128 value); ++ public static bool IsSubnormal(System.Numerics.Decimal128 value); ++ public static System.Numerics.Decimal128 Max(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 MaxMagnitude(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 MaxMagnitudeNumber(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 MaxNative(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 MaxNumber(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 Min(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 MinMagnitude(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 MinMagnitudeNumber(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 MinNative(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 MinNumber(System.Numerics.Decimal128 x, System.Numerics.Decimal128 y); ++ public static System.Numerics.Decimal128 MultiplyAddEstimate(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right, System.Numerics.Decimal128 addend); ++ public static System.Numerics.Decimal128 operator +(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static System.Numerics.Decimal128 operator --(System.Numerics.Decimal128 value); ++ public static System.Numerics.Decimal128 operator /(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static bool operator ==(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static bool operator >(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static bool operator >=(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static System.Numerics.Decimal128 operator ++(System.Numerics.Decimal128 value); ++ public static bool operator !=(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static bool operator <(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static bool operator <=(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static System.Numerics.Decimal128 operator *(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static System.Numerics.Decimal128 operator -(System.Numerics.Decimal128 left, System.Numerics.Decimal128 right); ++ public static System.Numerics.Decimal128 operator -(System.Numerics.Decimal128 value); ++ public static System.Numerics.Decimal128 operator +(System.Numerics.Decimal128 value); ++ public static System.Numerics.Decimal128 Parse(System.ReadOnlySpan s, System.Globalization.NumberStyles style = (System.Globalization.NumberStyles.AllowThousands) | (System.Globalization.NumberStyles.Float), System.IFormatProvider? provider = null); ++ public static System.Numerics.Decimal128 Parse(string s, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ public static System.Numerics.Decimal128 Parse(string s, System.Globalization.NumberStyles style); ++ public static System.Numerics.Decimal128 Parse(string s); ++ public static int Sign(System.Numerics.Decimal128 value); ++ static System.Numerics.Decimal128 System.IParsable.Parse(string s, System.IFormatProvider? provider); ++ static bool System.IParsable.TryParse(string? s, System.IFormatProvider? provider, out System.Numerics.Decimal128 result); ++ static System.Numerics.Decimal128 System.ISpanParsable.Parse(System.ReadOnlySpan s, System.IFormatProvider? provider); ++ static bool System.ISpanParsable.TryParse(System.ReadOnlySpan s, System.IFormatProvider? provider, out System.Numerics.Decimal128 result); ++ public override readonly string ToString(); ++ public readonly string ToString(System.IFormatProvider? provider); ++ public readonly string ToString(string? format, System.IFormatProvider? provider); ++ public readonly string ToString(string? format); ++ public static bool TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal128 result, out int bytesConsumed); ++ public static bool TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal128 result, out int charsConsumed); ++ public static bool TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal128 result); ++ public static bool TryParse(System.ReadOnlySpan s, out System.Numerics.Decimal128 result); ++ public static bool TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal128 result, out int charsConsumed); ++ public static bool TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal128 result); ++ public static bool TryParse(string? s, out System.Numerics.Decimal128 result); ++ public static System.Numerics.Decimal128 E { get; } ++ public static System.Numerics.Decimal128 Epsilon { get; } ++ public static System.Numerics.Decimal128 NaN { get; } ++ public static System.Numerics.Decimal128 NegativeInfinity { get; } ++ public static System.Numerics.Decimal128 NegativeOne { get; } ++ public static System.Numerics.Decimal128 NegativeZero { get; } ++ public static System.Numerics.Decimal128 One { get; } ++ public static System.Numerics.Decimal128 Pi { get; } ++ public static System.Numerics.Decimal128 PositiveInfinity { get; } ++ static System.Numerics.Decimal128 System.Numerics.IMinMaxValue.MaxValue { get; } ++ static System.Numerics.Decimal128 System.Numerics.IMinMaxValue.MinValue { get; } ++ public static System.Numerics.Decimal128 Tau { get; } ++ public static System.Numerics.Decimal128 Zero { get; } ++ } ++ public readonly struct Decimal32 : System.IComparable, System.IComparable, System.IEquatable, System.IParsable, System.ISpanParsable, System.Numerics.IMinMaxValue ++ { ++ public static System.Numerics.Decimal32 Abs(System.Numerics.Decimal32 value); ++ public static System.Numerics.Decimal32 Clamp(System.Numerics.Decimal32 value, System.Numerics.Decimal32 min, System.Numerics.Decimal32 max); ++ public static System.Numerics.Decimal32 ClampNative(System.Numerics.Decimal32 value, System.Numerics.Decimal32 min, System.Numerics.Decimal32 max); ++ public readonly int CompareTo(System.Numerics.Decimal32 other); ++ public readonly int CompareTo(object? value); ++ public static System.Numerics.Decimal32 CopySign(System.Numerics.Decimal32 value, System.Numerics.Decimal32 sign); ++ public readonly bool Equals(System.Numerics.Decimal32 other); ++ public override readonly bool Equals(object? obj); ++ public override readonly int GetHashCode(); ++ public static bool IsEvenInteger(System.Numerics.Decimal32 value); ++ public static bool IsFinite(System.Numerics.Decimal32 value); ++ public static bool IsInfinity(System.Numerics.Decimal32 value); ++ public static bool IsInteger(System.Numerics.Decimal32 value); ++ public static bool IsNaN(System.Numerics.Decimal32 value); ++ public static bool IsNegative(System.Numerics.Decimal32 value); ++ public static bool IsNegativeInfinity(System.Numerics.Decimal32 value); ++ public static bool IsNormal(System.Numerics.Decimal32 value); ++ public static bool IsOddInteger(System.Numerics.Decimal32 value); ++ public static bool IsPositive(System.Numerics.Decimal32 value); ++ public static bool IsPositiveInfinity(System.Numerics.Decimal32 value); ++ public static bool IsRealNumber(System.Numerics.Decimal32 value); ++ public static bool IsSubnormal(System.Numerics.Decimal32 value); ++ public static System.Numerics.Decimal32 Max(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 MaxMagnitude(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 MaxMagnitudeNumber(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 MaxNative(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 MaxNumber(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 Min(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 MinMagnitude(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 MinMagnitudeNumber(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 MinNative(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 MinNumber(System.Numerics.Decimal32 x, System.Numerics.Decimal32 y); ++ public static System.Numerics.Decimal32 MultiplyAddEstimate(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right, System.Numerics.Decimal32 addend); ++ public static System.Numerics.Decimal32 operator +(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static System.Numerics.Decimal32 operator --(System.Numerics.Decimal32 value); ++ public static System.Numerics.Decimal32 operator /(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static bool operator ==(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static bool operator >(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static bool operator >=(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static System.Numerics.Decimal32 operator ++(System.Numerics.Decimal32 value); ++ public static bool operator !=(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static bool operator <(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static bool operator <=(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static System.Numerics.Decimal32 operator *(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static System.Numerics.Decimal32 operator -(System.Numerics.Decimal32 left, System.Numerics.Decimal32 right); ++ public static System.Numerics.Decimal32 operator -(System.Numerics.Decimal32 value); ++ public static System.Numerics.Decimal32 operator +(System.Numerics.Decimal32 value); ++ public static System.Numerics.Decimal32 Parse(System.ReadOnlySpan s, System.Globalization.NumberStyles style = (System.Globalization.NumberStyles.AllowThousands) | (System.Globalization.NumberStyles.Float), System.IFormatProvider? provider = null); ++ public static System.Numerics.Decimal32 Parse(string s, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ public static System.Numerics.Decimal32 Parse(string s, System.Globalization.NumberStyles style); ++ public static System.Numerics.Decimal32 Parse(string s); ++ public static int Sign(System.Numerics.Decimal32 value); ++ static System.Numerics.Decimal32 System.IParsable.Parse(string s, System.IFormatProvider? provider); ++ static bool System.IParsable.TryParse(string? s, System.IFormatProvider? provider, out System.Numerics.Decimal32 result); ++ static System.Numerics.Decimal32 System.ISpanParsable.Parse(System.ReadOnlySpan s, System.IFormatProvider? provider); ++ static bool System.ISpanParsable.TryParse(System.ReadOnlySpan s, System.IFormatProvider? provider, out System.Numerics.Decimal32 result); ++ public override readonly string ToString(); ++ public readonly string ToString(System.IFormatProvider? provider); ++ public readonly string ToString(string? format, System.IFormatProvider? provider); ++ public readonly string ToString(string? format); ++ public static bool TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal32 result, out int bytesConsumed); ++ public static bool TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal32 result, out int charsConsumed); ++ public static bool TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal32 result); ++ public static bool TryParse(System.ReadOnlySpan s, out System.Numerics.Decimal32 result); ++ public static bool TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal32 result, out int charsConsumed); ++ public static bool TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal32 result); ++ public static bool TryParse(string? s, out System.Numerics.Decimal32 result); ++ public static System.Numerics.Decimal32 E { get; } ++ public static System.Numerics.Decimal32 Epsilon { get; } ++ public static System.Numerics.Decimal32 NaN { get; } ++ public static System.Numerics.Decimal32 NegativeInfinity { get; } ++ public static System.Numerics.Decimal32 NegativeOne { get; } ++ public static System.Numerics.Decimal32 NegativeZero { get; } ++ public static System.Numerics.Decimal32 One { get; } ++ public static System.Numerics.Decimal32 Pi { get; } ++ public static System.Numerics.Decimal32 PositiveInfinity { get; } ++ static System.Numerics.Decimal32 System.Numerics.IMinMaxValue.MaxValue { get; } ++ static System.Numerics.Decimal32 System.Numerics.IMinMaxValue.MinValue { get; } ++ public static System.Numerics.Decimal32 Tau { get; } ++ public static System.Numerics.Decimal32 Zero { get; } ++ } ++ public readonly struct Decimal64 : System.IComparable, System.IComparable, System.IEquatable, System.IParsable, System.ISpanParsable, System.Numerics.IMinMaxValue ++ { ++ public static System.Numerics.Decimal64 Abs(System.Numerics.Decimal64 value); ++ public static System.Numerics.Decimal64 Clamp(System.Numerics.Decimal64 value, System.Numerics.Decimal64 min, System.Numerics.Decimal64 max); ++ public static System.Numerics.Decimal64 ClampNative(System.Numerics.Decimal64 value, System.Numerics.Decimal64 min, System.Numerics.Decimal64 max); ++ public readonly int CompareTo(System.Numerics.Decimal64 other); ++ public readonly int CompareTo(object? value); ++ public static System.Numerics.Decimal64 CopySign(System.Numerics.Decimal64 value, System.Numerics.Decimal64 sign); ++ public readonly bool Equals(System.Numerics.Decimal64 other); ++ public override readonly bool Equals(object? obj); ++ public override readonly int GetHashCode(); ++ public static bool IsEvenInteger(System.Numerics.Decimal64 value); ++ public static bool IsFinite(System.Numerics.Decimal64 value); ++ public static bool IsInfinity(System.Numerics.Decimal64 value); ++ public static bool IsInteger(System.Numerics.Decimal64 value); ++ public static bool IsNaN(System.Numerics.Decimal64 value); ++ public static bool IsNegative(System.Numerics.Decimal64 value); ++ public static bool IsNegativeInfinity(System.Numerics.Decimal64 value); ++ public static bool IsNormal(System.Numerics.Decimal64 value); ++ public static bool IsOddInteger(System.Numerics.Decimal64 value); ++ public static bool IsPositive(System.Numerics.Decimal64 value); ++ public static bool IsPositiveInfinity(System.Numerics.Decimal64 value); ++ public static bool IsRealNumber(System.Numerics.Decimal64 value); ++ public static bool IsSubnormal(System.Numerics.Decimal64 value); ++ public static System.Numerics.Decimal64 Max(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 MaxMagnitude(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 MaxMagnitudeNumber(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 MaxNative(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 MaxNumber(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 Min(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 MinMagnitude(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 MinMagnitudeNumber(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 MinNative(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 MinNumber(System.Numerics.Decimal64 x, System.Numerics.Decimal64 y); ++ public static System.Numerics.Decimal64 MultiplyAddEstimate(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right, System.Numerics.Decimal64 addend); ++ public static System.Numerics.Decimal64 operator +(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static System.Numerics.Decimal64 operator --(System.Numerics.Decimal64 value); ++ public static System.Numerics.Decimal64 operator /(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static bool operator ==(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static bool operator >(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static bool operator >=(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static System.Numerics.Decimal64 operator ++(System.Numerics.Decimal64 value); ++ public static bool operator !=(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static bool operator <(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static bool operator <=(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static System.Numerics.Decimal64 operator *(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static System.Numerics.Decimal64 operator -(System.Numerics.Decimal64 left, System.Numerics.Decimal64 right); ++ public static System.Numerics.Decimal64 operator -(System.Numerics.Decimal64 value); ++ public static System.Numerics.Decimal64 operator +(System.Numerics.Decimal64 value); ++ public static System.Numerics.Decimal64 Parse(System.ReadOnlySpan s, System.Globalization.NumberStyles style = (System.Globalization.NumberStyles.AllowThousands) | (System.Globalization.NumberStyles.Float), System.IFormatProvider? provider = null); ++ public static System.Numerics.Decimal64 Parse(string s, System.Globalization.NumberStyles style, System.IFormatProvider? provider); ++ public static System.Numerics.Decimal64 Parse(string s, System.Globalization.NumberStyles style); ++ public static System.Numerics.Decimal64 Parse(string s); ++ public static int Sign(System.Numerics.Decimal64 value); ++ static System.Numerics.Decimal64 System.IParsable.Parse(string s, System.IFormatProvider? provider); ++ static bool System.IParsable.TryParse(string? s, System.IFormatProvider? provider, out System.Numerics.Decimal64 result); ++ static System.Numerics.Decimal64 System.ISpanParsable.Parse(System.ReadOnlySpan s, System.IFormatProvider? provider); ++ static bool System.ISpanParsable.TryParse(System.ReadOnlySpan s, System.IFormatProvider? provider, out System.Numerics.Decimal64 result); ++ public override readonly string ToString(); ++ public readonly string ToString(System.IFormatProvider? provider); ++ public readonly string ToString(string? format, System.IFormatProvider? provider); ++ public readonly string ToString(string? format); ++ public static bool TryParse(System.ReadOnlySpan utf8Text, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal64 result, out int bytesConsumed); ++ public static bool TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal64 result, out int charsConsumed); ++ public static bool TryParse(System.ReadOnlySpan s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal64 result); ++ public static bool TryParse(System.ReadOnlySpan s, out System.Numerics.Decimal64 result); ++ public static bool TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal64 result, out int charsConsumed); ++ public static bool TryParse(string? s, System.Globalization.NumberStyles style, System.IFormatProvider? provider, out System.Numerics.Decimal64 result); ++ public static bool TryParse(string? s, out System.Numerics.Decimal64 result); ++ public static System.Numerics.Decimal64 E { get; } ++ public static System.Numerics.Decimal64 Epsilon { get; } ++ public static System.Numerics.Decimal64 NaN { get; } ++ public static System.Numerics.Decimal64 NegativeInfinity { get; } ++ public static System.Numerics.Decimal64 NegativeOne { get; } ++ public static System.Numerics.Decimal64 NegativeZero { get; } ++ public static System.Numerics.Decimal64 One { get; } ++ public static System.Numerics.Decimal64 Pi { get; } ++ public static System.Numerics.Decimal64 PositiveInfinity { get; } ++ static System.Numerics.Decimal64 System.Numerics.IMinMaxValue.MaxValue { get; } ++ static System.Numerics.Decimal64 System.Numerics.IMinMaxValue.MinValue { get; } ++ public static System.Numerics.Decimal64 Tau { get; } ++ public static System.Numerics.Decimal64 Zero { get; } ++ } ++ public enum DivisionRounding ++ { ++ Truncate = 0, ++ Floor = 1, ++ Ceiling = 2, ++ AwayFromZero = 3, ++ Euclidean = 4, ++ } + } + namespace System.Reflection + { + public abstract class ConstructorInfo : System.Reflection.MethodBase + { ++ public override System.Type[] GetGenericArguments(); + } + public enum TypeAttributes + { ++ ExtendedLayout = 24, + } + public class TypeDelegator : System.Reflection.TypeInfo + { ++ public override System.Type? GetNullableUnderlyingType(); + } + } + namespace System.Runtime.CompilerServices + { +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5007", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static class AsyncHelpers + { +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static void Await(System.Runtime.CompilerServices.ConfiguredTaskAwaitable configuredAwaitable); +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static void Await(System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable configuredAwaitable); +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static void Await(System.Threading.Tasks.Task task); +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static void Await(System.Threading.Tasks.ValueTask task); +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static T Await(System.Runtime.CompilerServices.ConfiguredTaskAwaitable configuredAwaitable); +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static T Await(System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable configuredAwaitable); +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static T Await(System.Threading.Tasks.Task task); +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static T Await(System.Threading.Tasks.ValueTask task); +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static void AwaitAwaiter(TAwaiter awaiter) + where TAwaiter : System.Runtime.CompilerServices.INotifyCompletion; +- [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute] + public static void UnsafeAwaitAwaiter(TAwaiter awaiter) + where TAwaiter : System.Runtime.CompilerServices.ICriticalNotifyCompletion; ++ public static void HandleAsyncEntryPoint(System.Threading.Tasks.Task task); ++ public static int HandleAsyncEntryPoint(System.Threading.Tasks.Task task); + } + public static class RuntimeFeature + { ++ [System.Diagnostics.CodeAnalysis.FeatureSwitchDefinitionAttribute("System.Runtime.CompilerServices.RuntimeFeature.IsMultithreadingSupported")] ++ [System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute("browser")] ++ [System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute("wasi")] ++ public static bool IsMultithreadingSupported { get; } + } + public static class RuntimeHelpers + { ++ public static nint AllocateTypeAssociatedMemory(System.Type type, int size, int alignment); + } ++ public sealed class IsClosedTypeAttribute : System.Attribute ++ { ++ public IsClosedTypeAttribute(); ++ public System.Type[] DerivedTypes { get; set; } ++ } ++ public interface IUnion ++ { ++ object? Value { get; } ++ } ++ public sealed class MemorySafetyRulesAttribute : System.Attribute ++ { ++ public MemorySafetyRulesAttribute(int version); ++ public int Version { get; } ++ } ++ public sealed class UnionAttribute : System.Attribute ++ { ++ public UnionAttribute(); ++ } + } + namespace System.Runtime.InteropServices + { + public enum LayoutKind + { ++ Extended = 1, + } + public static class MemoryMarshal + { ++ [System.Runtime.CompilerServices.OverloadResolutionPriorityAttribute(1)] + public static System.Span AsBytes(System.Span span) + where T : struct; ++ [System.Runtime.CompilerServices.OverloadResolutionPriorityAttribute(1)] + public static ref T AsRef(System.Span span) + where T : struct; ++ [System.Runtime.CompilerServices.OverloadResolutionPriorityAttribute(1)] + public static System.Span Cast(System.Span span) + where TFrom : struct where TTo : struct; + } ++ public sealed class ExtendedLayoutAttribute : System.Attribute ++ { ++ public ExtendedLayoutAttribute(System.Runtime.InteropServices.ExtendedLayoutKind layoutKind); ++ } ++ public enum ExtendedLayoutKind ++ { ++ CStruct = 0, ++ CUnion = 1, ++ } + } + namespace System.Text + { + public readonly struct Rune : System.IComparable, System.IComparable, System.IEquatable, System.IFormattable, System.IParsable, System.ISpanFormattable, System.ISpanParsable, System.IUtf8SpanFormattable, System.IUtf8SpanParsable + { ++ public readonly bool Equals(System.Text.Rune other, System.StringComparison comparisonType); ++ static System.Text.Rune System.IParsable.Parse(string s, System.IFormatProvider provider); ++ static bool System.IParsable.TryParse(string s, System.IFormatProvider provider, out System.Text.Rune result); ++ static System.Text.Rune System.ISpanParsable.Parse(System.ReadOnlySpan s, System.IFormatProvider provider); ++ static bool System.ISpanParsable.TryParse(System.ReadOnlySpan s, System.IFormatProvider provider, out System.Text.Rune result); ++ public static System.Text.Rune ToLowerOrdinal(System.Text.Rune value); ++ public static System.Text.Rune ToUpperOrdinal(System.Text.Rune value); + } + public sealed class StringBuilder : System.Runtime.Serialization.ISerializable + { ++ public System.Text.StringBuilder Append(System.Text.Rune value); ++ public System.Text.StringBuilderRuneEnumerator EnumerateRunes(); ++ public System.Text.Rune GetRuneAt(int index); ++ public System.Text.StringBuilder Insert(int index, System.Text.Rune value); ++ public static System.Text.StringBuilder MoveChunks(System.Text.StringBuilder source); ++ public System.Text.StringBuilder Replace(System.Text.Rune oldRune, System.Text.Rune newRune, int startIndex, int count); ++ public System.Text.StringBuilder Replace(System.Text.Rune oldRune, System.Text.Rune newRune); ++ public bool TryGetRuneAt(int index, out System.Text.Rune value); + } ++ public readonly struct RunePosition : System.IEquatable ++ { ++ public RunePosition(System.Text.Rune rune, int startIndex, int length, bool wasReplaced); ++ public readonly void Deconstruct(out System.Text.Rune rune, out int startIndex, out int length); ++ public readonly void Deconstruct(out System.Text.Rune rune, out int startIndex); ++ public static System.Text.RunePosition.Utf16Enumerator EnumerateUtf16(System.ReadOnlySpan span); ++ public static System.Text.RunePosition.Utf8Enumerator EnumerateUtf8(System.ReadOnlySpan span); ++ public override readonly bool Equals(object? obj); ++ public readonly bool Equals(System.Text.RunePosition other); ++ public override readonly int GetHashCode(); ++ public static bool operator ==(System.Text.RunePosition left, System.Text.RunePosition right); ++ public static bool operator !=(System.Text.RunePosition left, System.Text.RunePosition right); ++ public int Length { get; } ++ public System.Text.Rune Rune { get; } ++ public int StartIndex { get; } ++ public bool WasReplaced { get; } ++ public ref struct Utf16Enumerator : System.Collections.Generic.IEnumerator, System.Collections.IEnumerator, System.IDisposable ++ { ++ public System.Text.RunePosition.Utf16Enumerator GetEnumerator(); ++ public bool MoveNext(); ++ public void Reset(); ++ void System.Collections.IEnumerator.Reset(); ++ void System.IDisposable.Dispose(); ++ public System.Text.RunePosition Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ } ++ public ref struct Utf8Enumerator : System.Collections.Generic.IEnumerator, System.Collections.IEnumerator, System.IDisposable ++ { ++ public System.Text.RunePosition.Utf8Enumerator GetEnumerator(); ++ public bool MoveNext(); ++ public void Reset(); ++ void System.Collections.IEnumerator.Reset(); ++ void System.IDisposable.Dispose(); ++ public System.Text.RunePosition Current { get; } ++ object System.Collections.IEnumerator.Current { get; } ++ } ++ } ++ public struct StringBuilderRuneEnumerator : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable, System.Collections.Generic.IEnumerator, System.Collections.IEnumerator, System.IDisposable ++ { ++ public System.Text.StringBuilderRuneEnumerator GetEnumerator(); ++ public bool MoveNext(); ++ System.Collections.Generic.IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator(); ++ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(); ++ void System.Collections.IEnumerator.Reset(); ++ void System.IDisposable.Dispose(); ++ public System.Text.Rune Current { get; } ++ object? System.Collections.IEnumerator.Current { get; } ++ } + } + namespace System.Text.Unicode + { + public static class Utf8 + { ++ public static int IndexOfInvalidSubsequence(System.ReadOnlySpan value); + } ++ public static class Utf16 ++ { ++ public static int IndexOfInvalidSubsequence(System.ReadOnlySpan value); ++ public static bool IsValid(System.ReadOnlySpan value); ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Security.Cryptography.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Security.Cryptography.md new file mode 100644 index 0000000000..07ba9bb611 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Security.Cryptography.md @@ -0,0 +1,404 @@ +# System.Security.Cryptography + +```diff + namespace System.Security.Cryptography + { + public sealed class AesCcm : System.IDisposable + { ++ public int KeySizeInBytes { get; } + } + public sealed class AesGcm : System.IDisposable + { ++ public int KeySizeInBytes { get; } + } + public struct CngProperty : System.IEquatable + { ++ public CngProperty(string name, System.ReadOnlySpan value, System.Security.Cryptography.CngPropertyOptions options); + } + public static class CryptographicOperations + { ++ public static bool FixedTimeEquals(System.ReadOnlySpan source, byte value); ++ public static bool VerifyHmac(System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] key, byte[] source, byte[] hash); ++ public static bool VerifyHmac(System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] key, System.IO.Stream source, byte[] hash); ++ public static bool VerifyHmac(System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash); ++ public static bool VerifyHmac(System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash); ++ public static System.Threading.Tasks.ValueTask VerifyHmacAsync(System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] key, System.IO.Stream source, byte[] hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyHmacAsync(System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public class HMACMD5 : System.Security.Cryptography.HMAC + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public class HMACSHA1 : System.Security.Cryptography.HMAC + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public class HMACSHA256 : System.Security.Cryptography.HMAC + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public class HMACSHA3_256 : System.Security.Cryptography.HMAC + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public class HMACSHA3_384 : System.Security.Cryptography.HMAC + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public class HMACSHA3_512 : System.Security.Cryptography.HMAC + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public class HMACSHA384 : System.Security.Cryptography.HMAC + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public class HMACSHA512 : System.Security.Cryptography.HMAC + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public sealed class IncrementalHash : System.IDisposable + { ++ public bool VerifyCurrentHash(byte[] hash); ++ public bool VerifyCurrentHash(System.ReadOnlySpan hash); ++ public bool VerifyHashAndReset(byte[] hash); ++ public bool VerifyHashAndReset(System.ReadOnlySpan hash); + } + public sealed class Kmac128 : System.IDisposable + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash, byte[]? customizationString = null); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash, byte[]? customizationString = null); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash, System.ReadOnlySpan customizationString = default(System.ReadOnlySpan)); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash, System.ReadOnlySpan customizationString = default(System.ReadOnlySpan)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, byte[]? customizationString = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.ReadOnlyMemory customizationString = default(System.ReadOnlyMemory), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public bool VerifyCurrentHash(byte[] hash); ++ public bool VerifyCurrentHash(System.ReadOnlySpan hash); ++ public bool VerifyHashAndReset(byte[] hash); ++ public bool VerifyHashAndReset(System.ReadOnlySpan hash); + } + public sealed class Kmac256 : System.IDisposable + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash, byte[]? customizationString = null); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash, byte[]? customizationString = null); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash, System.ReadOnlySpan customizationString = default(System.ReadOnlySpan)); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash, System.ReadOnlySpan customizationString = default(System.ReadOnlySpan)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, byte[]? customizationString = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.ReadOnlyMemory customizationString = default(System.ReadOnlyMemory), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public bool VerifyCurrentHash(byte[] hash); ++ public bool VerifyCurrentHash(System.ReadOnlySpan hash); ++ public bool VerifyHashAndReset(byte[] hash); ++ public bool VerifyHashAndReset(System.ReadOnlySpan hash); + } + public sealed class KmacXof128 : System.IDisposable + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash, byte[]? customizationString = null); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash, byte[]? customizationString = null); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash, System.ReadOnlySpan customizationString = default(System.ReadOnlySpan)); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash, System.ReadOnlySpan customizationString = default(System.ReadOnlySpan)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, byte[]? customizationString = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.ReadOnlyMemory customizationString = default(System.ReadOnlyMemory), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public bool VerifyCurrentHash(byte[] hash); ++ public bool VerifyCurrentHash(System.ReadOnlySpan hash); ++ public bool VerifyHashAndReset(byte[] hash); ++ public bool VerifyHashAndReset(System.ReadOnlySpan hash); + } + public sealed class KmacXof256 : System.IDisposable + { ++ public static bool Verify(byte[] key, byte[] source, byte[] hash, byte[]? customizationString = null); ++ public static bool Verify(byte[] key, System.IO.Stream source, byte[] hash, byte[]? customizationString = null); ++ public static bool Verify(System.ReadOnlySpan key, System.IO.Stream source, System.ReadOnlySpan hash, System.ReadOnlySpan customizationString = default(System.ReadOnlySpan)); ++ public static bool Verify(System.ReadOnlySpan key, System.ReadOnlySpan source, System.ReadOnlySpan hash, System.ReadOnlySpan customizationString = default(System.ReadOnlySpan)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(byte[] key, System.IO.Stream source, byte[] hash, byte[]? customizationString = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.ValueTask VerifyAsync(System.ReadOnlyMemory key, System.IO.Stream source, System.ReadOnlyMemory hash, System.ReadOnlyMemory customizationString = default(System.ReadOnlyMemory), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public bool VerifyCurrentHash(byte[] hash); ++ public bool VerifyCurrentHash(System.ReadOnlySpan hash); ++ public bool VerifyHashAndReset(byte[] hash); ++ public bool VerifyHashAndReset(System.ReadOnlySpan hash); + } + public abstract class MLDsa : System.IDisposable + { +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportEncryptedPkcs8PrivateKey(string password, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportEncryptedPkcs8PrivateKeyPem(string password, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportPkcs8PrivateKey(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportPkcs8PrivateKeyPem(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportSubjectPublicKeyInfo(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportSubjectPublicKeyInfoPem(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan passwordBytes, System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan password, System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportEncryptedPkcs8PrivateKey(string password, byte[] source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportFromEncryptedPem(System.ReadOnlySpan source, System.ReadOnlySpan passwordBytes); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportFromEncryptedPem(System.ReadOnlySpan source, System.ReadOnlySpan password); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportFromEncryptedPem(string source, byte[] passwordBytes); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportFromEncryptedPem(string source, string password); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportFromPem(System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportFromPem(string source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportPkcs8PrivateKey(byte[] source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportPkcs8PrivateKey(System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportSubjectPublicKeyInfo(byte[] source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLDsa ImportSubjectPublicKeyInfo(System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportEncryptedPkcs8PrivateKey(string password, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportPkcs8PrivateKey(System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + protected abstract bool TryExportPkcs8PrivateKeyCore(System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportSubjectPublicKeyInfo(System.Span destination, out int bytesWritten); + } + public abstract class MLKem : System.IDisposable + { +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportEncryptedPkcs8PrivateKey(string password, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportEncryptedPkcs8PrivateKeyPem(string password, System.Security.Cryptography.PbeParameters pbeParameters); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportPkcs8PrivateKey(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportPkcs8PrivateKeyPem(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] ExportSubjectPublicKeyInfo(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public string ExportSubjectPublicKeyInfoPem(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan passwordBytes, System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan password, System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportEncryptedPkcs8PrivateKey(string password, byte[] source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportFromEncryptedPem(System.ReadOnlySpan source, System.ReadOnlySpan passwordBytes); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportFromEncryptedPem(System.ReadOnlySpan source, System.ReadOnlySpan password); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportFromEncryptedPem(string source, byte[] passwordBytes); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportFromEncryptedPem(string source, string password); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportFromPem(System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportFromPem(string source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportPkcs8PrivateKey(byte[] source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportPkcs8PrivateKey(System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportSubjectPublicKeyInfo(byte[] source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public static System.Security.Cryptography.MLKem ImportSubjectPublicKeyInfo(System.ReadOnlySpan source); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportEncryptedPkcs8PrivateKey(string password, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportPkcs8PrivateKey(System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + protected abstract bool TryExportPkcs8PrivateKeyCore(System.Span destination, out int bytesWritten); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public bool TryExportSubjectPublicKeyInfo(System.Span destination, out int bytesWritten); + } + public sealed class RSACryptoServiceProvider : System.Security.Cryptography.RSA, System.Security.Cryptography.ICspAsymmetricAlgorithm + { ++ [System.ObsoleteAttribute("RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.", DiagnosticId = "SYSLIB0064", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] Decrypt(byte[] rgb, bool fOAEP); ++ [System.ObsoleteAttribute("RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.", DiagnosticId = "SYSLIB0064", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public byte[] Encrypt(byte[] rgb, bool fOAEP); + } + public sealed class SafeEvpPKeyHandle : System.Runtime.InteropServices.SafeHandle + { ++ public static System.Security.Cryptography.SafeEvpPKeyHandle OpenKeyFromProvider(System.Collections.Generic.IEnumerable providerNames, string keyUri, string? propertyQuery = null); + } ++ public abstract class X25519DiffieHellman : System.IDisposable ++ { ++ public const int PrivateKeySizeInBytes = 32; ++ public const int PublicKeySizeInBytes = 32; ++ public const int SecretAgreementSizeInBytes = 32; ++ protected X25519DiffieHellman(); ++ public byte[] DeriveRawSecretAgreement(byte[] otherPartyPublicKey); ++ public void DeriveRawSecretAgreement(System.ReadOnlySpan otherPartyPublicKey, System.Span destination); ++ public void DeriveRawSecretAgreement(System.Security.Cryptography.X25519DiffieHellman otherParty, System.Span destination); ++ public byte[] DeriveRawSecretAgreement(System.Security.Cryptography.X25519DiffieHellman otherParty); ++ protected abstract void DeriveRawSecretAgreementCore(System.ReadOnlySpan otherPartyPublicKey, System.Span destination); ++ protected abstract void DeriveRawSecretAgreementCore(System.Security.Cryptography.X25519DiffieHellman otherParty, System.Span destination); ++ public void Dispose(); ++ protected virtual void Dispose(bool disposing); ++ public byte[] ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); ++ public byte[] ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters); ++ public byte[] ExportEncryptedPkcs8PrivateKey(string password, System.Security.Cryptography.PbeParameters pbeParameters); ++ public string ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters); ++ public string ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters); ++ public string ExportEncryptedPkcs8PrivateKeyPem(string password, System.Security.Cryptography.PbeParameters pbeParameters); ++ public byte[] ExportPkcs8PrivateKey(); ++ public string ExportPkcs8PrivateKeyPem(); ++ public byte[] ExportPrivateKey(); ++ public void ExportPrivateKey(System.Span destination); ++ protected abstract void ExportPrivateKeyCore(System.Span destination); ++ public byte[] ExportPublicKey(); ++ public void ExportPublicKey(System.Span destination); ++ protected abstract void ExportPublicKeyCore(System.Span destination); ++ public byte[] ExportSubjectPublicKeyInfo(); ++ public string ExportSubjectPublicKeyInfoPem(); ++ public static System.Security.Cryptography.X25519DiffieHellman GenerateKey(); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan passwordBytes, System.ReadOnlySpan source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan password, System.ReadOnlySpan source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportEncryptedPkcs8PrivateKey(string password, byte[] source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportFromEncryptedPem(System.ReadOnlySpan source, System.ReadOnlySpan passwordBytes); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportFromEncryptedPem(System.ReadOnlySpan source, System.ReadOnlySpan password); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportFromEncryptedPem(string source, byte[] passwordBytes); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportFromEncryptedPem(string source, string password); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportFromPem(System.ReadOnlySpan source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportFromPem(string source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportPkcs8PrivateKey(byte[] source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportPkcs8PrivateKey(System.ReadOnlySpan source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportPrivateKey(byte[] source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportPrivateKey(System.ReadOnlySpan source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportPublicKey(byte[] source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportPublicKey(System.ReadOnlySpan source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportSubjectPublicKeyInfo(byte[] source); ++ public static System.Security.Cryptography.X25519DiffieHellman ImportSubjectPublicKeyInfo(System.ReadOnlySpan source); ++ public bool TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); ++ public bool TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan password, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); ++ public bool TryExportEncryptedPkcs8PrivateKey(string password, System.Security.Cryptography.PbeParameters pbeParameters, System.Span destination, out int bytesWritten); ++ public bool TryExportPkcs8PrivateKey(System.Span destination, out int bytesWritten); ++ protected abstract bool TryExportPkcs8PrivateKeyCore(System.Span destination, out int bytesWritten); ++ public bool TryExportSubjectPublicKeyInfo(System.Span destination, out int bytesWritten); ++ public static bool IsSupported { get; } ++ } ++ public sealed class X25519DiffieHellmanCng : System.Security.Cryptography.X25519DiffieHellman ++ { ++ public X25519DiffieHellmanCng(System.Security.Cryptography.CngKey key); ++ protected override void DeriveRawSecretAgreementCore(System.ReadOnlySpan otherPartyPublicKey, System.Span destination); ++ protected override void DeriveRawSecretAgreementCore(System.Security.Cryptography.X25519DiffieHellman otherParty, System.Span destination); ++ protected override void Dispose(bool disposing); ++ protected override void ExportPrivateKeyCore(System.Span destination); ++ protected override void ExportPublicKeyCore(System.Span destination); ++ public System.Security.Cryptography.CngKey GetKey(); ++ protected override bool TryExportPkcs8PrivateKeyCore(System.Span destination, out int bytesWritten); ++ } ++ public sealed class X25519DiffieHellmanOpenSsl : System.Security.Cryptography.X25519DiffieHellman ++ { ++ public X25519DiffieHellmanOpenSsl(System.Security.Cryptography.SafeEvpPKeyHandle pkeyHandle); ++ protected override void DeriveRawSecretAgreementCore(System.ReadOnlySpan otherPartyPublicKey, System.Span destination); ++ protected override void DeriveRawSecretAgreementCore(System.Security.Cryptography.X25519DiffieHellman otherParty, System.Span destination); ++ protected override void Dispose(bool disposing); ++ public System.Security.Cryptography.SafeEvpPKeyHandle DuplicateKeyHandle(); ++ protected override void ExportPrivateKeyCore(System.Span destination); ++ protected override void ExportPublicKeyCore(System.Span destination); ++ protected override bool TryExportPkcs8PrivateKeyCore(System.Span destination, out int bytesWritten); ++ } + } + namespace System.Security.Cryptography.X509Certificates + { + public sealed class PublicKey + { +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006")] + public PublicKey(System.Security.Cryptography.MLDsa key); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public PublicKey(System.Security.Cryptography.MLKem key); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public System.Security.Cryptography.MLDsa? GetMLDsaPublicKey(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public System.Security.Cryptography.MLKem? GetMLKemPublicKey(); + } + public sealed class SubjectAlternativeNameBuilder + { ++ public void AddRegisteredId(string registeredId); + } + public class X509Certificate2 : System.Security.Cryptography.X509Certificates.X509Certificate + { +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public System.Security.Cryptography.X509Certificates.X509Certificate2 CopyWithPrivateKey(System.Security.Cryptography.MLDsa privateKey); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public System.Security.Cryptography.X509Certificates.X509Certificate2 CopyWithPrivateKey(System.Security.Cryptography.MLKem privateKey); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public System.Security.Cryptography.MLDsa? GetMLDsaPrivateKey(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public System.Security.Cryptography.MLDsa? GetMLDsaPublicKey(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public System.Security.Cryptography.MLKem? GetMLKemPrivateKey(); +- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SYSLIB5006", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public System.Security.Cryptography.MLKem? GetMLKemPublicKey(); + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Text.Json.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Text.Json.md new file mode 100644 index 0000000000..b6dd645941 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Text.Json.md @@ -0,0 +1,134 @@ +# System.Text.Json + +```diff + namespace System.Text.Json + { + public abstract class JsonNamingPolicy + { ++ public static System.Text.Json.JsonNamingPolicy PascalCase { get; } + } + public static class JsonSerializer + { ++ public static System.Threading.Tasks.Task SerializeAsyncEnumerable(System.IO.Pipelines.PipeWriter utf8Json, System.Collections.Generic.IAsyncEnumerable value, bool topLevelValues = false, System.Text.Json.JsonSerializerOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task SerializeAsyncEnumerable(System.IO.Pipelines.PipeWriter utf8Json, System.Collections.Generic.IAsyncEnumerable value, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo, bool topLevelValues = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task SerializeAsyncEnumerable(System.IO.Stream utf8Json, System.Collections.Generic.IAsyncEnumerable value, bool topLevelValues = false, System.Text.Json.JsonSerializerOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); ++ public static System.Threading.Tasks.Task SerializeAsyncEnumerable(System.IO.Stream utf8Json, System.Collections.Generic.IAsyncEnumerable value, System.Text.Json.Serialization.Metadata.JsonTypeInfo jsonTypeInfo, bool topLevelValues = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } + public sealed class JsonSerializerOptions + { ++ public System.Text.Json.Serialization.Metadata.JsonTypeInfo GetTypeInfo(); ++ public bool TryGetTypeInfo(out System.Text.Json.Serialization.Metadata.JsonTypeInfo? typeInfo); ++ public System.Collections.Generic.IList TypeClassifiers { get; } + } + public sealed class Utf8JsonWriter : System.IAsyncDisposable, System.IDisposable + { ++ public void Reset(System.Buffers.IBufferWriter bufferWriter, System.Text.Json.JsonWriterOptions options); ++ public void Reset(System.IO.Stream utf8Json, System.Text.Json.JsonWriterOptions options); + } + } + namespace System.Text.Json.Serialization + { + public enum JsonKnownNamingPolicy + { ++ PascalCase = 6, + } + public sealed class JsonPolymorphicAttribute : System.Text.Json.Serialization.JsonAttribute + { ++ [System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] ++ public System.Type? TypeClassifier { get; set; } + } + public sealed class JsonSourceGenerationOptionsAttribute : System.Text.Json.Serialization.JsonAttribute + { ++ public System.Type[]? TypeClassifiers { get; set; } + } ++ public class JsonNamingPolicyAttribute : System.Text.Json.Serialization.JsonAttribute ++ { ++ protected JsonNamingPolicyAttribute(System.Text.Json.JsonNamingPolicy namingPolicy); ++ public JsonNamingPolicyAttribute(System.Text.Json.Serialization.JsonKnownNamingPolicy namingPolicy); ++ public System.Text.Json.JsonNamingPolicy NamingPolicy { get; } ++ } ++ public delegate System.Type? JsonTypeClassifier(ref System.Text.Json.Utf8JsonReader reader); ++ public sealed class JsonTypeClassifierContext ++ { ++ public System.Type DeclaringType { get; } ++ public System.Collections.Generic.IReadOnlyList DerivedTypes { get; } ++ public System.Text.Json.Serialization.JsonTypeClassifierKind Kind { get; } ++ public string? TypeDiscriminatorPropertyName { get; } ++ public System.Collections.Generic.IReadOnlyList UnionCases { get; } ++ } ++ public abstract class JsonTypeClassifierFactory ++ { ++ protected JsonTypeClassifierFactory(); ++ public abstract bool CanClassify(System.Text.Json.Serialization.JsonTypeClassifierContext context); ++ public abstract System.Text.Json.Serialization.JsonTypeClassifier CreateJsonClassifier(System.Text.Json.Serialization.JsonTypeClassifierContext context, System.Text.Json.JsonSerializerOptions options); ++ } ++ public abstract class JsonTypeClassifierFactory : System.Text.Json.Serialization.JsonTypeClassifierFactory ++ { ++ protected JsonTypeClassifierFactory(); ++ public sealed override bool CanClassify(System.Text.Json.Serialization.JsonTypeClassifierContext context); ++ } ++ public enum JsonTypeClassifierKind ++ { ++ None = 0, ++ Union = 1, ++ PolymorphicType = 2, ++ } ++ public sealed class JsonUnionAttribute : System.Text.Json.Serialization.JsonAttribute ++ { ++ public JsonUnionAttribute(); ++ [System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] ++ public System.Type? TypeClassifier { get; set; } ++ } + } + namespace System.Text.Json.Serialization.Metadata + { + public sealed class JsonCollectionInfoValues + { ++ public System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions? PolymorphismOptions { get; init; } ++ public System.Text.Json.Serialization.JsonTypeClassifierFactory? TypeClassifierFactory { get; init; } + } + public static class JsonMetadataServices + { ++ public static System.Text.Json.Serialization.Metadata.JsonTypeInfo CreateIReadOnlySetInfo(System.Text.Json.JsonSerializerOptions options, System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues collectionInfo) ++ where TCollection : System.Collections.Generic.IReadOnlySet; ++ public static System.Text.Json.Serialization.Metadata.JsonTypeInfo CreateUnionInfo(System.Text.Json.JsonSerializerOptions options, System.Text.Json.Serialization.Metadata.JsonUnionInfoValues unionInfo) ++ where T : notnull; + } + public sealed class JsonObjectInfoValues + { ++ public System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions? PolymorphismOptions { get; init; } ++ public System.Text.Json.Serialization.JsonTypeClassifierFactory? TypeClassifierFactory { get; init; } + } + public abstract class JsonTypeInfo + { ++ public System.Text.Json.Serialization.JsonTypeClassifier? TypeClassifier { get; set; } ++ public System.Collections.Generic.IList UnionCases { get; } ++ public System.Func? UnionConstructor { get; set; } ++ public System.Func? UnionDeconstructor { get; set; } + } + public sealed class JsonTypeInfo : System.Text.Json.Serialization.Metadata.JsonTypeInfo + { ++ public new System.Func? UnionConstructor { get; set; } ++ public new System.Func? UnionDeconstructor { get; set; } + } + public enum JsonTypeInfoKind + { ++ Union = 4, + } ++ public sealed class JsonUnionCaseInfo ++ { ++ public JsonUnionCaseInfo(System.Type caseType); ++ public System.Type CaseType { get; } ++ public bool IsNullable { get; init; } ++ } ++ public sealed class JsonUnionInfoValues ++ { ++ public JsonUnionInfoValues(); ++ public System.Text.Json.Serialization.JsonTypeClassifier? TypeClassifier { get; init; } ++ public System.Text.Json.Serialization.JsonTypeClassifierFactory? TypeClassifierFactory { get; init; } ++ public System.Collections.Generic.IList? UnionCases { get; init; } ++ public System.Func? UnionConstructor { get; init; } ++ public System.Func? UnionDeconstructor { get; init; } ++ } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Text.RegularExpressions.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Text.RegularExpressions.md new file mode 100644 index 0000000000..643dacd492 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Text.RegularExpressions.md @@ -0,0 +1,11 @@ +# System.Text.RegularExpressions + +```diff + namespace System.Text.RegularExpressions + { + public enum RegexOptions + { ++ AnyNewLine = 2048, + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Threading.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Threading.md new file mode 100644 index 0000000000..d545958a23 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.NETCore.App/11.0.0_System.Threading.md @@ -0,0 +1,14 @@ +# System.Threading + +```diff + namespace System.Threading + { + public static class Interlocked + { ++ public static T And(ref T location1, T value) ++ where T : struct; ++ public static T Or(ref T location1, T value) ++ where T : struct; + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.WindowsDesktop.App/11.0.0.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.WindowsDesktop.App/11.0.0.md new file mode 100644 index 0000000000..fe208caa5b --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.WindowsDesktop.App/11.0.0.md @@ -0,0 +1,7 @@ +# API difference between .NET 10.0 GA and .NET 11.0 Preview 7 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [System.Diagnostics.EventLog](11.0.0_System.Diagnostics.EventLog.md) +* [System.Windows.Forms](11.0.0_System.Windows.Forms.md) diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.WindowsDesktop.App/11.0.0_System.Diagnostics.EventLog.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.WindowsDesktop.App/11.0.0_System.Diagnostics.EventLog.md new file mode 100644 index 0000000000..23b9e98a23 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.WindowsDesktop.App/11.0.0_System.Diagnostics.EventLog.md @@ -0,0 +1,303 @@ +# System.Diagnostics.EventLog + +```diff + namespace System.Diagnostics + { + public class EntryWrittenEventArgs : System.EventArgs + { +- public EntryWrittenEventArgs(System.Diagnostics.EventLogEntry entry); ++ public EntryWrittenEventArgs(System.Diagnostics.EventLogEntry? entry); +- public System.Diagnostics.EventLogEntry Entry { get; } ++ public System.Diagnostics.EventLogEntry? Entry { get; } + } +- public delegate void EntryWrittenEventHandler(object sender, System.Diagnostics.EntryWrittenEventArgs e); ++ public delegate void EntryWrittenEventHandler(object? sender, System.Diagnostics.EntryWrittenEventArgs e); + public class EventLog : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize + { +- public event System.Diagnostics.EntryWrittenEventHandler EntryWritten { add; remove; } ++ public event System.Diagnostics.EntryWrittenEventHandler? EntryWritten { add; remove; } +- public static bool Exists(string logName, string machineName); ++ public static bool Exists(string? logName, string machineName); +- public static bool Exists(string logName); ++ public static bool Exists(string? logName); +- public static bool SourceExists(string source, string machineName); ++ public static bool SourceExists(string? source, string machineName); +- public static bool SourceExists(string source); ++ public static bool SourceExists(string? source); +- public void WriteEntry(string message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[] rawData); ++ public void WriteEntry(string? message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[]? rawData); +- public void WriteEntry(string message, System.Diagnostics.EventLogEntryType type, int eventID, short category); ++ public void WriteEntry(string? message, System.Diagnostics.EventLogEntryType type, int eventID, short category); +- public void WriteEntry(string message, System.Diagnostics.EventLogEntryType type, int eventID); ++ public void WriteEntry(string? message, System.Diagnostics.EventLogEntryType type, int eventID); +- public void WriteEntry(string message, System.Diagnostics.EventLogEntryType type); ++ public void WriteEntry(string? message, System.Diagnostics.EventLogEntryType type); +- public static void WriteEntry(string source, string message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[] rawData); ++ public static void WriteEntry(string source, string? message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[]? rawData); +- public static void WriteEntry(string source, string message, System.Diagnostics.EventLogEntryType type, int eventID, short category); ++ public static void WriteEntry(string source, string? message, System.Diagnostics.EventLogEntryType type, int eventID, short category); +- public static void WriteEntry(string source, string message, System.Diagnostics.EventLogEntryType type, int eventID); ++ public static void WriteEntry(string source, string? message, System.Diagnostics.EventLogEntryType type, int eventID); +- public static void WriteEntry(string source, string message, System.Diagnostics.EventLogEntryType type); ++ public static void WriteEntry(string source, string? message, System.Diagnostics.EventLogEntryType type); +- public static void WriteEntry(string source, string message); ++ public static void WriteEntry(string source, string? message); +- public void WriteEntry(string message); ++ public void WriteEntry(string? message); +- public void WriteEvent(System.Diagnostics.EventInstance instance, byte[] data, params object[] values); ++ public void WriteEvent(System.Diagnostics.EventInstance instance, byte[]? data, params object?[]? values); +- public void WriteEvent(System.Diagnostics.EventInstance instance, params object[] values); ++ public void WriteEvent(System.Diagnostics.EventInstance instance, params object?[]? values); +- public static void WriteEvent(string source, System.Diagnostics.EventInstance instance, byte[] data, params object[] values); ++ public static void WriteEvent(string source, System.Diagnostics.EventInstance instance, byte[] data, params object?[]? values); +- public static void WriteEvent(string source, System.Diagnostics.EventInstance instance, params object[] values); ++ public static void WriteEvent(string source, System.Diagnostics.EventInstance instance, params object?[]? values); +- public string LogDisplayName { get; } ++ public string? LogDisplayName { get; } +- public System.ComponentModel.ISynchronizeInvoke SynchronizingObject { get; set; } ++ public System.ComponentModel.ISynchronizeInvoke? SynchronizingObject { get; set; } + } + public sealed class EventLogEntry : System.ComponentModel.Component, System.Runtime.Serialization.ISerializable + { +- public bool Equals(System.Diagnostics.EventLogEntry otherEntry); ++ public bool Equals(System.Diagnostics.EventLogEntry? otherEntry); +- public string UserName { get; } ++ public string? UserName { get; } + } + public sealed class EventLogTraceListener : System.Diagnostics.TraceListener + { +- public EventLogTraceListener(System.Diagnostics.EventLog eventLog); ++ public EventLogTraceListener(System.Diagnostics.EventLog? eventLog); +- public override void TraceData(System.Diagnostics.TraceEventCache eventCache, string source, System.Diagnostics.TraceEventType severity, int id, object data); ++ public override void TraceData(System.Diagnostics.TraceEventCache? eventCache, string source, System.Diagnostics.TraceEventType severity, int id, object? data); +- public override void TraceData(System.Diagnostics.TraceEventCache eventCache, string source, System.Diagnostics.TraceEventType severity, int id, params object[] data); ++ public override void TraceData(System.Diagnostics.TraceEventCache? eventCache, string source, System.Diagnostics.TraceEventType severity, int id, params object?[]? data); +- public override void TraceEvent(System.Diagnostics.TraceEventCache eventCache, string source, System.Diagnostics.TraceEventType severity, int id, string format, params object[] args); ++ public override void TraceEvent(System.Diagnostics.TraceEventCache? eventCache, string source, System.Diagnostics.TraceEventType severity, int id, string? format, params object?[]? args); +- public override void TraceEvent(System.Diagnostics.TraceEventCache eventCache, string source, System.Diagnostics.TraceEventType severity, int id, string message); ++ public override void TraceEvent(System.Diagnostics.TraceEventCache? eventCache, string source, System.Diagnostics.TraceEventType severity, int id, string? message); +- public override void Write(string message); ++ public override void Write(string? message); +- public override void WriteLine(string message); ++ public override void WriteLine(string? message); +- public System.Diagnostics.EventLog EventLog { get; set; } ++ public System.Diagnostics.EventLog? EventLog { get; set; } + } + public class EventSourceCreationData + { +- public EventSourceCreationData(string source, string logName); ++ public EventSourceCreationData(string? source, string logName); +- public string CategoryResourceFile { get; set; } ++ public string? CategoryResourceFile { get; set; } +- public string MessageResourceFile { get; set; } ++ public string? MessageResourceFile { get; set; } +- public string ParameterResourceFile { get; set; } ++ public string? ParameterResourceFile { get; set; } +- public string Source { get; set; } ++ public string? Source { get; set; } + } + } + namespace System.Diagnostics.Eventing.Reader + { + public sealed class EventKeyword + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string Name { get; } ++ public string? Name { get; } + } + public sealed class EventLevel + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string Name { get; } ++ public string? Name { get; } + } + public class EventLogConfiguration : System.IDisposable + { +- public EventLogConfiguration(string logName, System.Diagnostics.Eventing.Reader.EventLogSession session); ++ public EventLogConfiguration(string logName, System.Diagnostics.Eventing.Reader.EventLogSession? session); +- public System.Collections.Generic.IEnumerable ProviderNames { get; } ++ public System.Collections.Generic.IEnumerable ProviderNames { get; } + } + public class EventLogException : System.Exception + { +- public EventLogException(string message, System.Exception innerException); ++ public EventLogException(string? message, System.Exception? innerException); +- public EventLogException(string message); ++ public EventLogException(string? message); + } + public class EventLogInvalidDataException : System.Diagnostics.Eventing.Reader.EventLogException + { +- public EventLogInvalidDataException(string message, System.Exception innerException); ++ public EventLogInvalidDataException(string? message, System.Exception? innerException); +- public EventLogInvalidDataException(string message); ++ public EventLogInvalidDataException(string? message); + } + public sealed class EventLogLink + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string LogName { get; } ++ public string? LogName { get; } + } + public class EventLogNotFoundException : System.Diagnostics.Eventing.Reader.EventLogException + { +- public EventLogNotFoundException(string message, System.Exception innerException); ++ public EventLogNotFoundException(string? message, System.Exception? innerException); +- public EventLogNotFoundException(string message); ++ public EventLogNotFoundException(string? message); + } + public class EventLogProviderDisabledException : System.Diagnostics.Eventing.Reader.EventLogException + { +- public EventLogProviderDisabledException(string message, System.Exception innerException); ++ public EventLogProviderDisabledException(string? message, System.Exception? innerException); +- public EventLogProviderDisabledException(string message); ++ public EventLogProviderDisabledException(string? message); + } + public class EventLogQuery + { +- public EventLogQuery(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query); ++ public EventLogQuery(string? path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query); +- public EventLogQuery(string path, System.Diagnostics.Eventing.Reader.PathType pathType); ++ public EventLogQuery(string? path, System.Diagnostics.Eventing.Reader.PathType pathType); + } + public class EventLogReader : System.IDisposable + { +- public EventLogReader(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark bookmark); ++ public EventLogReader(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark? bookmark); +- public System.Diagnostics.Eventing.Reader.EventRecord ReadEvent(); ++ public System.Diagnostics.Eventing.Reader.EventRecord? ReadEvent(); +- public System.Diagnostics.Eventing.Reader.EventRecord ReadEvent(System.TimeSpan timeout); ++ public System.Diagnostics.Eventing.Reader.EventRecord? ReadEvent(System.TimeSpan timeout); + } + public class EventLogReadingException : System.Diagnostics.Eventing.Reader.EventLogException + { +- public EventLogReadingException(string message, System.Exception innerException); ++ public EventLogReadingException(string? message, System.Exception? innerException); +- public EventLogReadingException(string message); ++ public EventLogReadingException(string? message); + } + public class EventLogRecord : System.Diagnostics.Eventing.Reader.EventRecord + { +- public override string FormatDescription(); ++ public override string? FormatDescription(); +- public override string FormatDescription(System.Collections.Generic.IEnumerable values); ++ public override string? FormatDescription(System.Collections.Generic.IEnumerable? values); +- public System.Collections.Generic.IList GetPropertyValues(System.Diagnostics.Eventing.Reader.EventLogPropertySelector propertySelector); ++ public System.Collections.Generic.IList GetPropertyValues(System.Diagnostics.Eventing.Reader.EventLogPropertySelector propertySelector); +- public string ContainerLog { get; } ++ public string? ContainerLog { get; } +- public override string LevelDisplayName { get; } ++ public override string? LevelDisplayName { get; } +- public override string LogName { get; } ++ public override string? LogName { get; } +- public override string MachineName { get; } ++ public override string? MachineName { get; } +- public System.Collections.Generic.IEnumerable MatchedQueryIds { get; } ++ public System.Collections.Generic.IEnumerable? MatchedQueryIds { get; } +- public override string OpcodeDisplayName { get; } ++ public override string? OpcodeDisplayName { get; } +- public override string TaskDisplayName { get; } ++ public override string? TaskDisplayName { get; } +- public override System.Security.Principal.SecurityIdentifier UserId { get; } ++ public override System.Security.Principal.SecurityIdentifier? UserId { get; } + } + public class EventLogSession : System.IDisposable + { +- public EventLogSession(string server, string domain, string user, System.Security.SecureString password, System.Diagnostics.Eventing.Reader.SessionAuthentication logOnType); ++ public EventLogSession(string server, string? domain, string? user, System.Security.SecureString? password, System.Diagnostics.Eventing.Reader.SessionAuthentication logOnType); +- public void ClearLog(string logName, string backupPath); ++ public void ClearLog(string logName, string? backupPath); +- public void ExportLog(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query, string targetFilePath, bool tolerateQueryErrors); ++ public void ExportLog(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query, string targetFilePath, bool tolerateQueryErrors); +- public void ExportLog(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query, string targetFilePath); ++ public void ExportLog(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query, string targetFilePath); +- public void ExportLogAndMessages(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query, string targetFilePath, bool tolerateQueryErrors, System.Globalization.CultureInfo targetCultureInfo); ++ public void ExportLogAndMessages(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query, string targetFilePath, bool tolerateQueryErrors, System.Globalization.CultureInfo? targetCultureInfo); +- public void ExportLogAndMessages(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string query, string targetFilePath); ++ public void ExportLogAndMessages(string path, System.Diagnostics.Eventing.Reader.PathType pathType, string? query, string targetFilePath); + } + public sealed class EventLogStatus + { +- public string LogName { get; } ++ public string? LogName { get; } + } + public class EventLogWatcher : System.IDisposable + { +- public event System.EventHandler EventRecordWritten { add; remove; } ++ public event System.EventHandler? EventRecordWritten { add; remove; } +- public EventLogWatcher(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark bookmark, bool readExistingEvents); ++ public EventLogWatcher(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark? bookmark, bool readExistingEvents); +- public EventLogWatcher(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark bookmark); ++ public EventLogWatcher(System.Diagnostics.Eventing.Reader.EventLogQuery eventQuery, System.Diagnostics.Eventing.Reader.EventBookmark? bookmark); + } + public sealed class EventMetadata + { +- public string Description { get; } ++ public string? Description { get; } +- public string Template { get; } ++ public string? Template { get; } + } + public sealed class EventOpcode + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string Name { get; } ++ public string? Name { get; } + } + public sealed class EventProperty + { +- public object Value { get; } ++ public object? Value { get; } + } + public abstract class EventRecord : System.IDisposable + { +- public abstract string FormatDescription(); ++ public abstract string? FormatDescription(); +- public abstract string FormatDescription(System.Collections.Generic.IEnumerable values); ++ public abstract string? FormatDescription(System.Collections.Generic.IEnumerable? values); +- public abstract string LevelDisplayName { get; } ++ public abstract string? LevelDisplayName { get; } +- public abstract string LogName { get; } ++ public abstract string? LogName { get; } +- public abstract string MachineName { get; } ++ public abstract string? MachineName { get; } +- public abstract string OpcodeDisplayName { get; } ++ public abstract string? OpcodeDisplayName { get; } +- public abstract string TaskDisplayName { get; } ++ public abstract string? TaskDisplayName { get; } +- public abstract System.Security.Principal.SecurityIdentifier UserId { get; } ++ public abstract System.Security.Principal.SecurityIdentifier? UserId { get; } + } + public sealed class EventRecordWrittenEventArgs : System.EventArgs + { +- public System.Exception EventException { get; } ++ public System.Exception? EventException { get; } +- public System.Diagnostics.Eventing.Reader.EventRecord EventRecord { get; } ++ public System.Diagnostics.Eventing.Reader.EventRecord? EventRecord { get; } + } + public sealed class EventTask + { +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public string Name { get; } ++ public string? Name { get; } + } + public class ProviderMetadata : System.IDisposable + { +- public ProviderMetadata(string providerName, System.Diagnostics.Eventing.Reader.EventLogSession session, System.Globalization.CultureInfo targetCultureInfo); ++ public ProviderMetadata(string providerName, System.Diagnostics.Eventing.Reader.EventLogSession? session, System.Globalization.CultureInfo? targetCultureInfo); +- public string DisplayName { get; } ++ public string? DisplayName { get; } +- public System.Uri HelpLink { get; } ++ public System.Uri? HelpLink { get; } +- public string MessageFilePath { get; } ++ public string? MessageFilePath { get; } +- public string ParameterFilePath { get; } ++ public string? ParameterFilePath { get; } +- public string ResourceFilePath { get; } ++ public string? ResourceFilePath { get; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/Microsoft.WindowsDesktop.App/11.0.0_System.Windows.Forms.md b/release-notes/11.0/11.0.0/api-diff/Microsoft.WindowsDesktop.App/11.0.0_System.Windows.Forms.md new file mode 100644 index 0000000000..afc7444e39 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/Microsoft.WindowsDesktop.App/11.0.0_System.Windows.Forms.md @@ -0,0 +1,17 @@ +# System.Windows.Forms + +```diff + namespace System.Windows.Forms + { + public abstract class ButtonBase : System.Windows.Forms.Control + { +- protected override void OnBackColorChanged(System.EventArgs e); +- protected override void OnForeColorChanged(System.EventArgs e); + } + public abstract class ListControl : System.Windows.Forms.Control + { ++ [System.ComponentModel.TypeConverterAttribute("System.Windows.Forms.Design.DataSourceConverter, System.Windows.Forms.Design")] + public object? DataSource { get; set; } + } + } +``` diff --git a/release-notes/11.0/11.0.0/api-diff/README.md b/release-notes/11.0/11.0.0/api-diff/README.md new file mode 100644 index 0000000000..3cbc847360 --- /dev/null +++ b/release-notes/11.0/11.0.0/api-diff/README.md @@ -0,0 +1,7 @@ +# .NET 11.0 Preview 7 API Changes + +The following API changes were made in .NET 11.0 Preview 7: + +- [Microsoft.NETCore.App](./Microsoft.NETCore.App/11.0.0.md) +- [Microsoft.AspNetCore.App](./Microsoft.AspNetCore.App/11.0.0.md) +- [Microsoft.WindowsDesktop.App](./Microsoft.WindowsDesktop.App/11.0.0.md) diff --git a/release-notes/ApiDiffAssembliesToExclude.txt b/release-notes/ApiDiffAssembliesToExclude.txt index 4ec161b762..619ba59efd 100644 --- a/release-notes/ApiDiffAssembliesToExclude.txt +++ b/release-notes/ApiDiffAssembliesToExclude.txt @@ -1,2 +1,2 @@ netstandard -mscorlib \ No newline at end of file +mscorlib diff --git a/release-notes/ApiDiffAttributesToExclude.txt b/release-notes/ApiDiffAttributesToExclude.txt index 9ea0199395..6b10d505c9 100644 --- a/release-notes/ApiDiffAttributesToExclude.txt +++ b/release-notes/ApiDiffAttributesToExclude.txt @@ -5,4 +5,4 @@ T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute T:System.Runtime.Versioning.SupportedOSPlatformAttribute T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute T:System.Windows.Markup.ContentWrapperAttribute -T:System.Windows.TemplatePartAttribute \ No newline at end of file +T:System.Windows.TemplatePartAttribute