Skip to content
Open
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,10 @@
# API difference between .NET 11.0 Preview 4 and .NET 11.0 Preview 5

API listing follows standard diff formatting.
Lines preceded by a '+' are additions and a '-' indicates removal.

* [Microsoft.AspNetCore.Components](11.0-preview5_Microsoft.AspNetCore.Components.md)
* [Microsoft.AspNetCore.Components.Forms](11.0-preview5_Microsoft.AspNetCore.Components.Forms.md)
* [Microsoft.AspNetCore.Components.Web](11.0-preview5_Microsoft.AspNetCore.Components.Web.md)
* [Microsoft.Extensions.Validation](11.0-preview5_Microsoft.Extensions.Validation.md)
* [Microsoft.Extensions.Validation.Localization](11.0-preview5_Microsoft.Extensions.Validation.Localization.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# 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
{
+ 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);
+ public bool IsValidationFaulted();
+ public bool IsValidationFaulted(in Microsoft.AspNetCore.Components.Forms.FieldIdentifier fieldIdentifier);
+ public bool IsValidationFaulted<TField>(System.Linq.Expressions.Expression<System.Func<TField>> accessor);
+ public bool IsValidationPending();
+ public bool IsValidationPending(in Microsoft.AspNetCore.Components.Forms.FieldIdentifier fieldIdentifier);
+ public bool IsValidationPending<TField>(System.Linq.Expressions.Expression<System.Func<TField>> accessor);
+ public System.Threading.Tasks.Task<bool> ValidateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
}
public sealed class ValidationRequestedEventArgs : System.EventArgs
{
+ public ValidationRequestedEventArgs(System.Threading.CancellationToken cancellationToken);
+ public System.Threading.CancellationToken CancellationToken { get; }
}
}
+ 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<string, object?> Parameters { get; }
+ }
+ public interface IClientValidationAdapter
+ {
+ System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Components.Forms.ClientValidation.ClientValidationRule> GetClientValidationRules(string errorMessage);
+ }
+ public interface IClientValidationService
+ {
+ System.Collections.Generic.IReadOnlyDictionary<string, object>? 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);
+ }
+ }
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Microsoft.AspNetCore.Components.Web

```diff
namespace Microsoft.AspNetCore.Components.Web
{
+ public sealed class SupplyParameterFromSessionAttribute : Microsoft.AspNetCore.Components.CascadingParameterAttributeBase
+ {
+ public SupplyParameterFromSessionAttribute();
+ public string? Name { get; set; }
+ }
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Microsoft.AspNetCore.Components

```diff
namespace Microsoft.AspNetCore.Components.Rendering
{
public sealed class RenderTreeBuilder : System.IDisposable
{
+ public void SetAttributeValue(int frameIndex, object? value);
}
}
```
Original file line number Diff line number Diff line change
@@ -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<Microsoft.Extensions.Validation.Localization.ValidationLocalizationOptions>? configureOptions = null);
+ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddValidationLocalization<TResource>(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.Extensions.Validation.Localization.ValidationLocalizationOptions>? 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<TAttribute>(System.Func<TAttribute, Microsoft.Extensions.Validation.Localization.IValidationAttributeFormatter> 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<Microsoft.Extensions.Validation.ErrorMessageLocalizationContext, string?>? ErrorMessageKeyProvider { get; set; }
+ public System.Func<System.Type?, Microsoft.Extensions.Localization.IStringLocalizerFactory, Microsoft.Extensions.Localization.IStringLocalizer>? LocalizerProvider { get; set; }
+ }
+ }
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Microsoft.Extensions.Validation

```diff
namespace Microsoft.Extensions.Validation
{
public abstract class ValidatableParameterInfo : Microsoft.Extensions.Validation.IValidatableInfo
{
- protected ValidatableParameterInfo(System.Type parameterType, string name, string displayName);
+ protected ValidatableParameterInfo(System.Type parameterType, string name, Microsoft.Extensions.Validation.DisplayNameInfo? displayNameInfo = null);
}
public abstract class ValidatablePropertyInfo : Microsoft.Extensions.Validation.IValidatableInfo
{
- protected ValidatablePropertyInfo(System.Type declaringType, System.Type propertyType, string name, string displayName);
+ protected ValidatablePropertyInfo(System.Type declaringType, System.Type propertyType, string name, Microsoft.Extensions.Validation.DisplayNameInfo? displayNameInfo = null);
}
public abstract class ValidatableTypeInfo : Microsoft.Extensions.Validation.IValidatableInfo
{
- protected ValidatableTypeInfo(System.Type type, System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.Validation.ValidatablePropertyInfo> members);
+ protected ValidatableTypeInfo(System.Type type, System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.Validation.ValidatablePropertyInfo> members, Microsoft.Extensions.Validation.DisplayNameInfo? displayNameInfo = null);
}
public class ValidationOptions
{
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public bool TryGetValidatablePropertyInfo(System.Type type, string propertyName, out Microsoft.Extensions.Validation.IValidatableInfo? validatablePropertyInfo);
+ 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? declaringType);
+ }
+ public readonly struct DisplayNameLocalizationContext
+ {
+ public System.Type? DeclaringType { get; init; }
+ public required string? DisplayName { get; init; }
+ public required string MemberName { 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; }
+ }
+ public interface IValidationLocalizer
+ {
+ string? ResolveDisplayName(in Microsoft.Extensions.Validation.DisplayNameLocalizationContext context);
+ string? ResolveErrorMessage(in Microsoft.Extensions.Validation.ErrorMessageLocalizationContext context);
+ }
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# API difference between .NET 11.0 Preview 4 and .NET 11.0 Preview 5

API listing follows standard diff formatting.
Lines preceded by a '+' are additions and a '-' indicates removal.

* [Microsoft.Extensions.Options](11.0-preview5_Microsoft.Extensions.Options.md)
* [System.Collections](11.0-preview5_System.Collections.md)
* [System.Diagnostics.Process](11.0-preview5_System.Diagnostics.Process.md)
* [System.Diagnostics.Tracing](11.0-preview5_System.Diagnostics.Tracing.md)
* [System.Linq](11.0-preview5_System.Linq.md)
* [System.Linq.AsyncEnumerable](11.0-preview5_System.Linq.AsyncEnumerable.md)
* [System.Linq.Queryable](11.0-preview5_System.Linq.Queryable.md)
* [System.Net.Mail](11.0-preview5_System.Net.Mail.md)
* [System.Net.Quic](11.0-preview5_System.Net.Quic.md)
* [System.Numerics.Vectors](11.0-preview5_System.Numerics.Vectors.md)
* [System.Reflection.Emit](11.0-preview5_System.Reflection.Emit.md)
* [System.Reflection.Emit.Lightweight](11.0-preview5_System.Reflection.Emit.Lightweight.md)
* [System.Runtime](11.0-preview5_System.Runtime.md)
* [System.Runtime.InteropServices](11.0-preview5_System.Runtime.InteropServices.md)
* [System.Runtime.Intrinsics](11.0-preview5_System.Runtime.Intrinsics.md)
* [System.Runtime.Loader](11.0-preview5_System.Runtime.Loader.md)
* [System.Security.Cryptography](11.0-preview5_System.Security.Cryptography.md)
* [System.Text.Encoding.Extensions](11.0-preview5_System.Text.Encoding.Extensions.md)
* [System.Text.Json](11.0-preview5_System.Text.Json.md)
* [System.Threading.Overlapped](11.0-preview5_System.Threading.Overlapped.md)
* [System.Threading.ThreadPool](11.0-preview5_System.Threading.ThreadPool.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Microsoft.Extensions.Options

```diff
namespace Microsoft.Extensions.Options
{
public class OptionsBuilder<TOptions> where TOptions : class
{
+ public virtual Microsoft.Extensions.Options.OptionsBuilder<TOptions> Validate<TValidateOptions>()
+ where TValidateOptions : class, Microsoft.Extensions.Options.IValidateOptions<TOptions>;
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# System.Collections

```diff
namespace System.Collections.Generic
{
public abstract class EqualityComparer<T> : System.Collections.Generic.IEqualityComparer<T>, System.Collections.IEqualityComparer
{
+ public static System.Collections.Generic.EqualityComparer<T> Create<TKey>(System.Func<T?, TKey?> keySelector, System.Collections.Generic.IEqualityComparer<TKey>? keyComparer = null);
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# System.Diagnostics.Process

```diff
namespace System.Diagnostics
{
public class Process : System.ComponentModel.Component, System.IDisposable
{
+ public System.Collections.Generic.IEnumerable<System.Diagnostics.ProcessOutputLine> ReadAllLines(System.TimeSpan? timeout = null);
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# System.Diagnostics.Tracing

```diff
namespace System.Diagnostics.Tracing
{
public class EventSource : System.IDisposable
{
- [System.Diagnostics.CodeAnalysis.RequiresUnsafeAttribute]
protected unsafe void WriteEventCore(int eventId, int eventDataCount, System.Diagnostics.Tracing.EventSource.EventData* data);
- [System.Diagnostics.CodeAnalysis.RequiresUnsafeAttribute]
protected unsafe void WriteEventWithRelatedActivityIdCore(int eventId, System.Guid* relatedActivityId, int eventDataCount, System.Diagnostics.Tracing.EventSource.EventData* data);
}
}
```
Original file line number Diff line number Diff line change
@@ -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<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, TKey> outerKeySelector, System.Func<TInner, TKey> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<(TOuter? Outer, TInner? Inner)> FullJoin<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> outerKeySelector, System.Func<TInner, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<TResult> FullJoin<TOuter, TInner, TKey, TResult>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, TKey> outerKeySelector, System.Func<TInner, TKey> innerKeySelector, System.Func<TOuter?, TInner?, TResult> resultSelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<TResult> FullJoin<TOuter, TInner, TKey, TResult>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> outerKeySelector, System.Func<TInner, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> innerKeySelector, System.Func<TOuter?, TInner?, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TResult>> resultSelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<System.Linq.IGrouping<TOuter, TInner>> GroupJoin<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, TKey> outerKeySelector, System.Func<TInner, TKey> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<System.Linq.IGrouping<TOuter, TInner>> GroupJoin<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> outerKeySelector, System.Func<TInner, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<(TOuter Outer, TInner Inner)> Join<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, TKey> outerKeySelector, System.Func<TInner, TKey> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<(TOuter Outer, TInner Inner)> Join<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> outerKeySelector, System.Func<TInner, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<(TOuter Outer, TInner? Inner)> LeftJoin<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, TKey> outerKeySelector, System.Func<TInner, TKey> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<(TOuter Outer, TInner? Inner)> LeftJoin<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> outerKeySelector, System.Func<TInner, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<(TOuter? Outer, TInner Inner)> RightJoin<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, TKey> outerKeySelector, System.Func<TInner, TKey> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
+ public static System.Collections.Generic.IAsyncEnumerable<(TOuter? Outer, TInner Inner)> RightJoin<TOuter, TInner, TKey>(this System.Collections.Generic.IAsyncEnumerable<TOuter> outer, System.Collections.Generic.IAsyncEnumerable<TInner> inner, System.Func<TOuter, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> outerKeySelector, System.Func<TInner, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<TKey>> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = null);
}
}
```
Loading
Loading