Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# API difference between .NET 11.0 Preview 6 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-preview7_Microsoft.AspNetCore.Components.md)
* [Microsoft.AspNetCore.Components.Authorization](11.0-preview7_Microsoft.AspNetCore.Components.Authorization.md)
* [Microsoft.AspNetCore.Components.Endpoints](11.0-preview7_Microsoft.AspNetCore.Components.Endpoints.md)
* [Microsoft.AspNetCore.Components.Forms](11.0-preview7_Microsoft.AspNetCore.Components.Forms.md)
* [Microsoft.AspNetCore.Components.Server](11.0-preview7_Microsoft.AspNetCore.Components.Server.md)
* [Microsoft.AspNetCore.Components.Web](11.0-preview7_Microsoft.AspNetCore.Components.Web.md)
* [Microsoft.AspNetCore.Http.Features](11.0-preview7_Microsoft.AspNetCore.Http.Features.md)
* [Microsoft.AspNetCore.Mvc.Abstractions](11.0-preview7_Microsoft.AspNetCore.Mvc.Abstractions.md)
* [Microsoft.AspNetCore.Mvc.Core](11.0-preview7_Microsoft.AspNetCore.Mvc.Core.md)
* [Microsoft.AspNetCore.Mvc.TagHelpers](11.0-preview7_Microsoft.AspNetCore.Mvc.TagHelpers.md)
* [Microsoft.AspNetCore.Server.HttpSys](11.0-preview7_Microsoft.AspNetCore.Server.HttpSys.md)
* [Microsoft.Extensions.Identity.Stores](11.0-preview7_Microsoft.Extensions.Identity.Stores.md)
* [Microsoft.Extensions.Validation](11.0-preview7_Microsoft.Extensions.Validation.md)
Original file line number Diff line number Diff line change
@@ -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
{
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Microsoft.AspNetCore.Components.Endpoints

```diff
namespace Microsoft.AspNetCore.Components
{
public sealed class InteractiveServerBrowserOptions
{
+ [System.Text.Json.Serialization.JsonExtensionDataAttribute]
+ public System.Collections.Generic.IDictionary<string, System.Text.Json.JsonElement> Extensions { get; }
}
+ 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; }
+ }
}
namespace Microsoft.AspNetCore.Components.Endpoints
{
public sealed class RazorComponentsServiceOptions
{
+ public Microsoft.Extensions.Caching.Hybrid.HybridCache? CacheViewHybridCache { get; set; }
+ public long CacheViewSizeLimit { get; set; }
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Microsoft.AspNetCore.Components.Forms

```diff
namespace Microsoft.AspNetCore.Components.Forms
{
public sealed class EditContext
{
- public event System.Func<object, Microsoft.AspNetCore.Components.Forms.ValidationRequestedEventArgs, System.Threading.Tasks.Task>? OnValidationRequestedAsync { add; remove; }
- public void AddValidationTask(in Microsoft.AspNetCore.Components.Forms.FieldIdentifier fieldIdentifier, System.Threading.Tasks.Task task, System.Threading.CancellationTokenSource cts);
+ [System.ObsoleteAttribute("Validate is obsolete. Use ValidateAsync instead.")]
public bool Validate();
+ public void RegisterAsyncFieldValidator(in Microsoft.AspNetCore.Components.Forms.FieldIdentifier fieldIdentifier, System.Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> validator);
}
public sealed class ValidationRequestedEventArgs : System.EventArgs
{
- public ValidationRequestedEventArgs(System.Threading.CancellationToken cancellationToken);
- public System.Threading.CancellationToken CancellationToken { get; }
+ public void AddAsyncValidator(System.Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> validator);
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Microsoft.AspNetCore.Components.Server

```diff
namespace Microsoft.AspNetCore.Components.Server.Circuits
{
public sealed class Circuit
{
- public System.Threading.Tasks.ValueTask<bool> RequestCircuitPauseAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ public System.Threading.Tasks.Task<bool> RequestCircuitPauseAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 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
{
}
}
namespace Microsoft.AspNetCore.Components.Web
{
+ [Microsoft.AspNetCore.Components.CacheBehaviorAttribute(Microsoft.AspNetCore.Components.CacheBehavior.Rerender)]
public sealed class HeadOutlet : Microsoft.AspNetCore.Components.ComponentBase
{
}
}
namespace Microsoft.AspNetCore.Components.Web.Virtualization
{
+ [Microsoft.AspNetCore.Components.CacheBehaviorAttribute(Microsoft.AspNetCore.Components.CacheBehavior.Throw)]
public sealed class Virtualize<TItem> : Microsoft.AspNetCore.Components.ComponentBase, System.IAsyncDisposable
{
- public System.Threading.Tasks.Task ScrollToIndexAsync(int itemIndex, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
- [Microsoft.AspNetCore.Components.ParameterAttribute]
- public int InitialIndex { get; set; }
+ public System.Threading.Tasks.Task ScrollToItemAsync(int itemIndex, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ [Microsoft.AspNetCore.Components.ParameterAttribute]
+ public int InitialItemIndex { get; set; }
}
public enum VirtualizeAnchorMode
{
- Beginning = 1,
+ Start = 1,
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Microsoft.AspNetCore.Components

```diff
namespace Microsoft.AspNetCore.Components
{
+ 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,
+ }
}
```
Original file line number Diff line number Diff line change
@@ -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<byte> 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
{
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Microsoft.AspNetCore.Mvc.Abstractions

```diff
namespace Microsoft.AspNetCore.Mvc.ModelBinding.Metadata
{
public readonly struct ModelMetadataIdentity : System.IEquatable<Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataIdentity>
{
- [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);
}
}
```
Original file line number Diff line number Diff line change
@@ -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<TOptions> : Microsoft.Extensions.Options.IPostConfigureOptions<TOptions> where TOptions : class, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Mvc.Infrastructure.ICompatibilitySwitch>
- {
- protected ConfigureCompatibilityOptions(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Mvc.Infrastructure.MvcCompatibilityOptions> compatibilityOptions);
- public virtual void PostConfigure(string? name, TOptions options);
- protected abstract System.Collections.Generic.IReadOnlyDictionary<string, object> 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);
}
}
```
Original file line number Diff line number Diff line change
@@ -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; }
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Microsoft.AspNetCore.Server.HttpSys

```diff
namespace Microsoft.AspNetCore.Server.HttpSys
{
public class HttpSysOptions
{
+ public Microsoft.AspNetCore.Server.HttpSys.HttpAuthenticationHardeningLevel HttpAuthenticationHardeningLevel { get; set; }
}
+ public enum HttpAuthenticationHardeningLevel
+ {
+ Legacy = 0,
+ Medium = 1,
+ Strict = 2,
+ }
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Microsoft.Extensions.Identity.Stores

```diff
namespace Microsoft.AspNetCore.Identity
{
public abstract class RoleStoreBase<TRole, TKey, TUserRole, TRoleClaim> : Microsoft.AspNetCore.Identity.IQueryableRoleStore<TRole>, Microsoft.AspNetCore.Identity.IRoleStore<TRole>, System.IDisposable, Microsoft.AspNetCore.Identity.IRoleClaimStore<TRole> where TRole : Microsoft.AspNetCore.Identity.IdentityRole<TKey> where TKey : System.IEquatable<TKey> where TUserRole : Microsoft.AspNetCore.Identity.IdentityUserRole<TKey>, new()
where TRoleClaim : Microsoft.AspNetCore.Identity.IdentityRoleClaim<TKey>, 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<TUser, TKey, TUserClaim, TUserLogin, TUserToken> : Microsoft.AspNetCore.Identity.IUserLoginStore<TUser>, Microsoft.AspNetCore.Identity.IUserStore<TUser>, System.IDisposable, Microsoft.AspNetCore.Identity.IUserClaimStore<TUser>, Microsoft.AspNetCore.Identity.IUserPasswordStore<TUser>, Microsoft.AspNetCore.Identity.IUserSecurityStampStore<TUser>, Microsoft.AspNetCore.Identity.IUserEmailStore<TUser>, Microsoft.AspNetCore.Identity.IUserLockoutStore<TUser>, Microsoft.AspNetCore.Identity.IUserPhoneNumberStore<TUser>, Microsoft.AspNetCore.Identity.IQueryableUserStore<TUser>, Microsoft.AspNetCore.Identity.IUserTwoFactorStore<TUser>, Microsoft.AspNetCore.Identity.IUserAuthenticationTokenStore<TUser>, Microsoft.AspNetCore.Identity.IUserAuthenticatorKeyStore<TUser>, Microsoft.AspNetCore.Identity.IUserTwoFactorRecoveryCodeStore<TUser> where TUser : Microsoft.AspNetCore.Identity.IdentityUser<TKey> where TKey : System.IEquatable<TKey> where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim<TKey>, new()
where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin<TKey>, new()
where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken<TKey>, 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);
}
}
```
Loading