Skip to content

Commit e455e24

Browse files
authored
API diff between .NET 10 Preview 2 and .NET 10 Preview 3 (#9821)
* AspNetCore * NETCore * WindowsDesktop * Readme
1 parent e6d4dbe commit e455e24

24 files changed

+626
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# API difference between .NET 10.0 Preview 2 and .NET 10.0 Preview 3
2+
3+
API listing follows standard diff formatting.
4+
Lines preceded by a '+' are additions and a '-' indicates removal.
5+
6+
* [Microsoft.AspNetCore.Components](10.0-preview3_Microsoft.AspNetCore.Components.md)
7+
* [Microsoft.AspNetCore.Components.Endpoints](10.0-preview3_Microsoft.AspNetCore.Components.Endpoints.md)
8+
* [Microsoft.AspNetCore.Http.Abstractions](10.0-preview3_Microsoft.AspNetCore.Http.Abstractions.md)
9+
* [Microsoft.AspNetCore.Http.Results](10.0-preview3_Microsoft.AspNetCore.Http.Results.md)
10+
* [Microsoft.AspNetCore.Routing](10.0-preview3_Microsoft.AspNetCore.Routing.md)
11+
* [Microsoft.Extensions.Caching.Memory](10.0-preview3_Microsoft.Extensions.Caching.Memory.md)
12+
* [System.Threading.RateLimiting](10.0-preview3_System.Threading.RateLimiting.md)
13+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Microsoft.AspNetCore.Components.Endpoints
2+
3+
```diff
4+
namespace Microsoft.Extensions.DependencyInjection
5+
{
6+
+ public static class RazorComponentsRazorComponentBuilderExtensions
7+
+ {
8+
+ public static Microsoft.Extensions.DependencyInjection.IRazorComponentsBuilder RegisterPersistentService<TPersistentService>(this Microsoft.Extensions.DependencyInjection.IRazorComponentsBuilder builder, Microsoft.AspNetCore.Components.IComponentRenderMode renderMode);
9+
+ }
10+
}
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Microsoft.AspNetCore.Components
2+
3+
```diff
4+
namespace Microsoft.AspNetCore.Components
5+
{
6+
public abstract class NavigationManager
7+
{
8+
+ public event System.EventHandler<System.EventArgs> NotFoundEvent { add; remove; }
9+
+ public virtual void NotFound();
10+
}
11+
+ public sealed class SupplyParameterFromPersistentComponentStateAttribute : Microsoft.AspNetCore.Components.CascadingParameterAttributeBase
12+
+ {
13+
+ public SupplyParameterFromPersistentComponentStateAttribute();
14+
+ }
15+
}
16+
namespace Microsoft.AspNetCore.Components.Infrastructure
17+
{
18+
public class ComponentStatePersistenceManager
19+
{
20+
+ public ComponentStatePersistenceManager(Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager> logger, System.IServiceProvider serviceProvider);
21+
+ public void SetPlatformRenderMode(Microsoft.AspNetCore.Components.IComponentRenderMode renderMode);
22+
}
23+
+ public static class RegisterPersistentComponentStateServiceCollectionExtensions
24+
+ {
25+
+ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddPersistentServiceRegistration<TService>(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.AspNetCore.Components.IComponentRenderMode componentRenderMode);
26+
+ }
27+
}
28+
namespace Microsoft.Extensions.DependencyInjection
29+
{
30+
+ public static class SupplyParameterFromPersistentComponentStateProviderServiceCollectionExtensions
31+
+ {
32+
+ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSupplyValueFromPersistentComponentStateProvider(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);
33+
+ }
34+
}
35+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Microsoft.AspNetCore.Http.Abstractions
2+
3+
```diff
4+
namespace Microsoft.AspNetCore.Http.Metadata
5+
{
6+
+ public interface IDisableValidationMetadata
7+
+ {
8+
+ }
9+
}
10+
+ namespace Microsoft.AspNetCore.Http.Validation
11+
+ {
12+
+ public interface IValidatableInfo
13+
+ {
14+
+ }
15+
+ public interface IValidatableInfoResolver
16+
+ {
17+
+ }
18+
+ public abstract class ValidatableParameterInfo : Microsoft.AspNetCore.Http.Validation.IValidatableInfo
19+
+ {
20+
+ protected ValidatableParameterInfo(System.Type parameterType, string name, string displayName);
21+
+ protected abstract System.ComponentModel.DataAnnotations.ValidationAttribute[] GetValidationAttributes();
22+
+ public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
23+
+ }
24+
+ public abstract class ValidatablePropertyInfo : Microsoft.AspNetCore.Http.Validation.IValidatableInfo
25+
+ {
26+
+ protected ValidatablePropertyInfo(System.Type declaringType, System.Type propertyType, string name, string displayName);
27+
+ protected abstract System.ComponentModel.DataAnnotations.ValidationAttribute[] GetValidationAttributes();
28+
+ public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
29+
+ }
30+
+ public sealed class ValidatableTypeAttribute
31+
+ {
32+
+ public ValidatableTypeAttribute();
33+
+ }
34+
+ public abstract class ValidatableTypeInfo : Microsoft.AspNetCore.Http.Validation.IValidatableInfo
35+
+ {
36+
+ protected ValidatableTypeInfo(System.Type type, System.Collections.Generic.IReadOnlyList<Microsoft.AspNetCore.Http.Validation.ValidatablePropertyInfo> members);
37+
+ public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
38+
+ }
39+
+ public sealed class ValidateContext
40+
+ {
41+
+ public ValidateContext();
42+
+ public int CurrentDepth { get; set; }
43+
+ public string CurrentValidationPath { get; set; }
44+
+ public System.ComponentModel.DataAnnotations.ValidationContext? ValidationContext { get; set; }
45+
+ public System.Collections.Generic.Dictionary<string, string[]>? ValidationErrors { get; set; }
46+
+ public required Microsoft.AspNetCore.Http.Validation.ValidationOptions ValidationOptions { get; set; }
47+
+ }
48+
+ public class ValidationOptions
49+
+ {
50+
+ public ValidationOptions();
51+
+ public bool TryGetValidatableParameterInfo(System.Reflection.ParameterInfo parameterInfo, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableInfo);
52+
+ public bool TryGetValidatableTypeInfo(System.Type type, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableTypeInfo);
53+
+ public int MaxDepth { get; set; }
54+
+ public System.Collections.Generic.IList<Microsoft.AspNetCore.Http.Validation.IValidatableInfoResolver> Resolvers { get; }
55+
+ }
56+
+ }
57+
+ namespace Microsoft.Extensions.DependencyInjection
58+
+ {
59+
+ public static class ValidationServiceCollectionExtensions
60+
+ {
61+
+ public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddValidation(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.AspNetCore.Http.Validation.ValidationOptions>? configureOptions = null);
62+
+ }
63+
+ }
64+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Microsoft.AspNetCore.Http.Results
2+
3+
```diff
4+
namespace Microsoft.AspNetCore.Http
5+
{
6+
public static class Results
7+
{
8+
+ public static Microsoft.AspNetCore.Http.IResult ServerSentEvents(System.Collections.Generic.IAsyncEnumerable<string> values, string? eventType = null);
9+
+ public static Microsoft.AspNetCore.Http.IResult ServerSentEvents<T>(System.Collections.Generic.IAsyncEnumerable<T> values, string? eventType = null);
10+
+ public static Microsoft.AspNetCore.Http.IResult ServerSentEvents<T>(System.Collections.Generic.IAsyncEnumerable<System.Net.ServerSentEvents.SseItem<T>> values);
11+
}
12+
public static class TypedResults
13+
{
14+
+ public static Microsoft.AspNetCore.Http.HttpResults.ServerSentEventsResult<string> ServerSentEvents(System.Collections.Generic.IAsyncEnumerable<string> values, string? eventType = null);
15+
+ public static Microsoft.AspNetCore.Http.HttpResults.ServerSentEventsResult<T> ServerSentEvents<T>(System.Collections.Generic.IAsyncEnumerable<T> values, string? eventType = null);
16+
+ public static Microsoft.AspNetCore.Http.HttpResults.ServerSentEventsResult<T> ServerSentEvents<T>(System.Collections.Generic.IAsyncEnumerable<System.Net.ServerSentEvents.SseItem<T>> values);
17+
}
18+
}
19+
namespace Microsoft.AspNetCore.Http.HttpResults
20+
{
21+
+ public sealed class ServerSentEventsResult<T> : Microsoft.AspNetCore.Http.IResult, Microsoft.AspNetCore.Http.Metadata.IEndpointMetadataProvider, Microsoft.AspNetCore.Http.IStatusCodeHttpResult
22+
+ {
23+
+ public System.Threading.Tasks.Task ExecuteAsync(Microsoft.AspNetCore.Http.HttpContext httpContext);
24+
+ public System.Nullable<int> StatusCode { get; }
25+
+ }
26+
}
27+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Microsoft.AspNetCore.Routing
2+
3+
```diff
4+
namespace Microsoft.AspNetCore.Builder
5+
{
6+
+ public static class ValidationEndpointConventionBuilderExtensions
7+
+ {
8+
+ public static TBuilder DisableValidation<TBuilder>(this TBuilder builder)
9+
+ where TBuilder : Microsoft.AspNetCore.Builder.IEndpointConventionBuilder;
10+
+ }
11+
}
12+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Microsoft.Extensions.Caching.Memory
2+
3+
```diff
4+
namespace Microsoft.Extensions.Caching.Memory
5+
{
6+
public class MemoryCache : Microsoft.Extensions.Caching.Memory.IMemoryCache
7+
{
8+
+ public bool TryGetValue(System.ReadOnlySpan<char> key, out object? value);
9+
+ public bool? TryGetValue<TItem>(System.ReadOnlySpan<char> key, out TItem? value);
10+
}
11+
}
12+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# System.Threading.RateLimiting
2+
3+
```diff
4+
namespace System.Threading.RateLimiting
5+
{
6+
public abstract class RateLimiter
7+
{
8+
+ public static System.Threading.RateLimiting.RateLimiter CreateChained(params System.Threading.RateLimiting.RateLimiter[] limiters);
9+
}
10+
}
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# API difference between .NET 10.0 Preview 2 and .NET 10.0 Preview 3
2+
3+
API listing follows standard diff formatting.
4+
Lines preceded by a '+' are additions and a '-' indicates removal.
5+
6+
* [System.ComponentModel.Annotations](10.0-preview3_System.ComponentModel.Annotations.md)
7+
* [System.Diagnostics.DiagnosticSource](10.0-preview3_System.Diagnostics.DiagnosticSource.md)
8+
* [System.Formats.Asn1](10.0-preview3_System.Formats.Asn1.md)
9+
* [System.Memory](10.0-preview3_System.Memory.md)
10+
* [System.Net.Primitives](10.0-preview3_System.Net.Primitives.md)
11+
* [System.Net.Security](10.0-preview3_System.Net.Security.md)
12+
* [System.Net.ServerSentEvents](10.0-preview3_System.Net.ServerSentEvents.md)
13+
* [System.Runtime](10.0-preview3_System.Runtime.md)
14+
* [System.Security.Claims](10.0-preview3_System.Security.Claims.md)
15+
* [System.Security.Cryptography](10.0-preview3_System.Security.Cryptography.md)
16+
* [System.Threading](10.0-preview3_System.Threading.md)
17+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# System.ComponentModel.Annotations
2+
3+
```diff
4+
namespace System.ComponentModel.DataAnnotations
5+
{
6+
public sealed class ValidationContext : System.IServiceProvider
7+
{
8+
- [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")]
9+
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
10+
public ValidationContext(object instance, System.Collections.Generic.IDictionary<object, object?>? items);
11+
- [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")]
12+
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
13+
public ValidationContext(object instance, System.IServiceProvider? serviceProvider, System.Collections.Generic.IDictionary<object, object?>? items);
14+
- [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")]
15+
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
16+
public ValidationContext(object instance);
17+
+ public ValidationContext(object instance, string displayName, System.IServiceProvider? serviceProvider, System.Collections.Generic.IDictionary<object, object?>? items);
18+
}
19+
public static class Validator
20+
{
21+
- [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")]
22+
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
23+
public static bool TryValidateObject(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult>? validationResults, bool validateAllProperties);
24+
- [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")]
25+
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
26+
public static bool TryValidateObject(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult>? validationResults);
27+
- [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")]
28+
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
29+
public static void ValidateObject(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, bool validateAllProperties);
30+
- [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("The Type of instance cannot be statically discovered and the Type's properties can be trimmed.")]
31+
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
32+
public static void ValidateObject(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext);
33+
}
34+
}
35+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# System.Diagnostics.DiagnosticSource
2+
3+
```diff
4+
namespace System.Diagnostics
5+
{
6+
public sealed class ActivitySource : System.IDisposable
7+
{
8+
+ public ActivitySource(System.Diagnostics.ActivitySourceOptions options);
9+
+ public string? TelemetrySchemaUrl { get; }
10+
}
11+
+ public class ActivitySourceOptions
12+
+ {
13+
+ public ActivitySourceOptions(string name);
14+
+ public string Name { get; set; }
15+
+ public System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, object?>>? Tags { get; set; }
16+
+ public string? TelemetrySchemaUrl { get; set; }
17+
+ public string? Version { get; set; }
18+
+ }
19+
}
20+
namespace System.Diagnostics.Metrics
21+
{
22+
public class Meter : System.IDisposable
23+
{
24+
+ public string? TelemetrySchemaUrl { get; }
25+
}
26+
public class MeterOptions
27+
{
28+
+ public string? TelemetrySchemaUrl { get; set; }
29+
}
30+
}
31+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# System.Formats.Asn1
2+
3+
```diff
4+
namespace System.Formats.Asn1
5+
{
6+
public sealed class AsnWriter
7+
{
8+
+ public void Encode<TState>(TState state, System.Action<TState, System.ReadOnlySpan<byte>> encodeCallback);
9+
}
10+
}
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# System.Memory
2+
3+
```diff
4+
namespace System
5+
{
6+
public static class MemoryExtensions
7+
{
8+
+ public static int CountAny<T>(this System.ReadOnlySpan<T> span, System.Buffers.SearchValues<T> values)
9+
+ where T : System.IEquatable<T>?;
10+
+ public static int CountAny<T>(this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> values, System.Collections.Generic.IEqualityComparer<T>? comparer = null);
11+
+ public static int CountAny<T>(this System.ReadOnlySpan<T> span, params scoped System.ReadOnlySpan<T> values)
12+
+ where T : System.IEquatable<T>?;
13+
+ public static void ReplaceAny<T>(this System.ReadOnlySpan<T> source, System.Span<T> destination, System.Buffers.SearchValues<T> values, T newValue)
14+
+ where T : System.IEquatable<T>?;
15+
+ public static void ReplaceAny<T>(this System.Span<T> span, System.Buffers.SearchValues<T> values, T newValue)
16+
+ where T : System.IEquatable<T>?;
17+
+ public static void ReplaceAnyExcept<T>(this System.ReadOnlySpan<T> source, System.Span<T> destination, System.Buffers.SearchValues<T> values, T newValue)
18+
+ where T : System.IEquatable<T>?;
19+
+ public static void ReplaceAnyExcept<T>(this System.Span<T> span, System.Buffers.SearchValues<T> values, T newValue)
20+
+ where T : System.IEquatable<T>?;
21+
}
22+
}
23+
```

0 commit comments

Comments
 (0)