From ec80305b511a4d504cd7d2d74c87503b330e78a0 Mon Sep 17 00:00:00 2001 From: Jo Shields Date: Wed, 12 Jun 2024 19:25:50 -0400 Subject: [PATCH] API diff between .NET 9 Preview2 and .NET 9 Preview3 (#9273) --- .../Microsoft.AspNetCore.App/9.0-preview3.md | 9 ++++ ...ew3_Microsoft.AspNetCore.Components.Web.md | 10 ++++ ...3_Microsoft.AspNetCore.Http.HttpResults.md | 21 ++++++++ .../9.0-preview3_Microsoft.AspNetCore.Http.md | 21 ++++++++ .../Microsoft.NETCore.App/9.0-preview3.md | 12 +++++ ...review3_System.Diagnostics.CodeAnalysis.md | 15 ++++++ .../9.0-preview3_System.Reflection.Emit.md | 30 ++++++++++++ .../9.0-preview3_System.Reflection.md | 10 ++++ ...review3_System.Runtime.CompilerServices.md | 13 +++++ ...-preview3_System.Runtime.Intrinsics.Arm.md | 48 +++++++++++++++++++ .../9.0-preview3_System.md | 19 ++++++++ .../9.0-preview3.md | 7 +++ .../9.0-preview3_System.Windows.Forms.md | 11 +++++ .../9.0/preview/preview3/api-diff/README.md | 7 +++ 14 files changed, 233 insertions(+) create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Components.Web.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Http.HttpResults.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Http.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Diagnostics.CodeAnalysis.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Reflection.Emit.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Reflection.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Runtime.CompilerServices.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Runtime.Intrinsics.Arm.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.WindowsDesktop.App/9.0-preview3.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/Microsoft.WindowsDesktop.App/9.0-preview3_System.Windows.Forms.md create mode 100644 release-notes/9.0/preview/preview3/api-diff/README.md diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3.md new file mode 100644 index 0000000000..b0bffc9000 --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3.md @@ -0,0 +1,9 @@ +# API Difference 9.0-preview2 vs 9.0-preview3 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [Microsoft.AspNetCore.Components.Web](9.0-preview3_Microsoft.AspNetCore.Components.Web.md) +* [Microsoft.AspNetCore.Http](9.0-preview3_Microsoft.AspNetCore.Http.md) +* [Microsoft.AspNetCore.Http.HttpResults](9.0-preview3_Microsoft.AspNetCore.Http.HttpResults.md) + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Components.Web.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Components.Web.md new file mode 100644 index 0000000000..b63e73810a --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Components.Web.md @@ -0,0 +1,10 @@ +# Microsoft.AspNetCore.Components.Web + +``` diff + namespace Microsoft.AspNetCore.Components.Web { + public class KeyboardEventArgs : EventArgs { ++ public bool IsComposing { get; set; } + } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Http.HttpResults.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Http.HttpResults.md new file mode 100644 index 0000000000..b397cedcf1 --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Http.HttpResults.md @@ -0,0 +1,21 @@ +# Microsoft.AspNetCore.Http.HttpResults + +``` diff + namespace Microsoft.AspNetCore.Http.HttpResults { ++ public sealed class InternalServerError : IEndpointMetadataProvider, IResult, IStatusCodeHttpResult { ++ int? Microsoft.AspNetCore.Http.IStatusCodeHttpResult.StatusCode { get; } ++ public int StatusCode { get; } ++ public Task ExecuteAsync(HttpContext httpContext); ++ static void Microsoft.AspNetCore.Http.Metadata.IEndpointMetadataProvider.PopulateMetadata(MethodInfo method, EndpointBuilder builder); ++ } ++ public sealed class InternalServerError : IEndpointMetadataProvider, IResult, IStatusCodeHttpResult, IValueHttpResult, IValueHttpResult { ++ int? Microsoft.AspNetCore.Http.IStatusCodeHttpResult.StatusCode { get; } ++ object? Microsoft.AspNetCore.Http.IValueHttpResult.Value { get; } ++ public int StatusCode { get; } ++ public TValue? Value { get; } ++ public Task ExecuteAsync(HttpContext httpContext); ++ static void Microsoft.AspNetCore.Http.Metadata.IEndpointMetadataProvider.PopulateMetadata(MethodInfo method, EndpointBuilder builder); ++ } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Http.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Http.md new file mode 100644 index 0000000000..8f25e664fe --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.AspNetCore.App/9.0-preview3_Microsoft.AspNetCore.Http.md @@ -0,0 +1,21 @@ +# Microsoft.AspNetCore.Http + +``` diff + namespace Microsoft.AspNetCore.Http { + public readonly struct HostString : IEquatable { +- public HostString(string value); ++ public HostString(string? value); +- public string Value { get; } ++ public string? Value { get; } + } + public static class Results { ++ public static IResult InternalServerError(); ++ public static IResult InternalServerError(TValue error); + } + public static class TypedResults { ++ public static InternalServerError InternalServerError(); ++ public static InternalServerError InternalServerError(TValue error); + } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3.md new file mode 100644 index 0000000000..d29aecf147 --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3.md @@ -0,0 +1,12 @@ +# API Difference 9.0-preview2 vs 9.0-preview3 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [System](9.0-preview3_System.md) +* [System.Diagnostics.CodeAnalysis](9.0-preview3_System.Diagnostics.CodeAnalysis.md) +* [System.Reflection](9.0-preview3_System.Reflection.md) +* [System.Reflection.Emit](9.0-preview3_System.Reflection.Emit.md) +* [System.Runtime.CompilerServices](9.0-preview3_System.Runtime.CompilerServices.md) +* [System.Runtime.Intrinsics.Arm](9.0-preview3_System.Runtime.Intrinsics.Arm.md) + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Diagnostics.CodeAnalysis.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Diagnostics.CodeAnalysis.md new file mode 100644 index 0000000000..fd05f52cb4 --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Diagnostics.CodeAnalysis.md @@ -0,0 +1,15 @@ +# System.Diagnostics.CodeAnalysis + +``` diff + namespace System.Diagnostics.CodeAnalysis { ++ public sealed class FeatureGuardAttribute : Attribute { ++ public FeatureGuardAttribute(Type featureType); ++ public Type FeatureType { get; } ++ } ++ public sealed class FeatureSwitchDefinitionAttribute : Attribute { ++ public FeatureSwitchDefinitionAttribute(string switchName); ++ public string SwitchName { get; } ++ } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Reflection.Emit.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Reflection.Emit.md new file mode 100644 index 0000000000..6602649324 --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Reflection.Emit.md @@ -0,0 +1,30 @@ +# System.Reflection.Emit + +``` diff + namespace System.Reflection.Emit { + public abstract class AssemblyBuilder : Assembly { +- public static AssemblyBuilder DefinePersistedAssembly(AssemblyName name, Assembly coreAssembly, IEnumerable? assemblyAttributes = null); + +- public void Save(Stream stream); + +- public void Save(string assemblyFileName); + +- protected virtual void SaveCore(Stream stream); + + } ++ public sealed class PersistedAssemblyBuilder : AssemblyBuilder { ++ public PersistedAssemblyBuilder(AssemblyName name, Assembly coreAssembly, IEnumerable? assemblyAttributes = null); ++ public override string? FullName { get; } ++ public override bool IsDynamic { get; } ++ public override Module ManifestModule { get; } ++ protected override ModuleBuilder DefineDynamicModuleCore(string name); ++ public MetadataBuilder GenerateMetadata(out BlobBuilder ilStream, out BlobBuilder mappedFieldData); ++ protected override ModuleBuilder? GetDynamicModuleCore(string name); ++ public override AssemblyName GetName(bool copiedName); ++ public void Save(Stream stream); ++ public void Save(string assemblyFileName); ++ protected override void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan binaryAttribute); ++ } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Reflection.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Reflection.md new file mode 100644 index 0000000000..2fb377ab2a --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Reflection.md @@ -0,0 +1,10 @@ +# System.Reflection + +``` diff + namespace System.Reflection { + public enum GenericParameterAttributes { ++ AllowByRefLike = 32, + } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Runtime.CompilerServices.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Runtime.CompilerServices.md new file mode 100644 index 0000000000..d85c4dfe81 --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Runtime.CompilerServices.md @@ -0,0 +1,13 @@ +# System.Runtime.CompilerServices + +``` diff + namespace System.Runtime.CompilerServices { ++ public sealed class ParamCollectionAttribute : Attribute { ++ public ParamCollectionAttribute(); ++ } + public static class RuntimeFeature { ++ public const string ByRefLikeGenerics = "ByRefLikeGenerics"; + } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Runtime.Intrinsics.Arm.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Runtime.Intrinsics.Arm.md new file mode 100644 index 0000000000..43e84403f2 --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.Runtime.Intrinsics.Arm.md @@ -0,0 +1,48 @@ +# System.Runtime.Intrinsics.Arm + +``` diff + namespace System.Runtime.Intrinsics.Arm { + public abstract class Sve : AdvSimd { ++ public static Vector CreateTrueMaskByte(SveMaskPattern pattern = SveMaskPattern.All); ++ public static Vector CreateTrueMaskDouble(SveMaskPattern pattern = SveMaskPattern.All); ++ public static Vector CreateTrueMaskInt16(SveMaskPattern pattern = SveMaskPattern.All); ++ public static Vector CreateTrueMaskInt32(SveMaskPattern pattern = SveMaskPattern.All); ++ public static Vector CreateTrueMaskInt64(SveMaskPattern pattern = SveMaskPattern.All); ++ public static Vector CreateTrueMaskSByte(SveMaskPattern pattern = SveMaskPattern.All); ++ public static Vector CreateTrueMaskSingle(SveMaskPattern pattern = SveMaskPattern.All); ++ public static Vector CreateTrueMaskUInt16(SveMaskPattern pattern = SveMaskPattern.All); ++ public static Vector CreateTrueMaskUInt32(SveMaskPattern pattern = SveMaskPattern.All); ++ public static Vector CreateTrueMaskUInt64(SveMaskPattern pattern = SveMaskPattern.All); ++ public unsafe static Vector LoadVector(Vector mask, byte* address); ++ public unsafe static Vector LoadVector(Vector mask, double* address); ++ public unsafe static Vector LoadVector(Vector mask, short* address); ++ public unsafe static Vector LoadVector(Vector mask, int* address); ++ public unsafe static Vector LoadVector(Vector mask, long* address); ++ public unsafe static Vector LoadVector(Vector mask, sbyte* address); ++ public unsafe static Vector LoadVector(Vector mask, float* address); ++ public unsafe static Vector LoadVector(Vector mask, ushort* address); ++ public unsafe static Vector LoadVector(Vector mask, uint* address); ++ public unsafe static Vector LoadVector(Vector mask, ulong* address); + } ++ public enum SveMaskPattern : byte { ++ All = (byte)31, ++ LargestMultipleOf3 = (byte)30, ++ LargestMultipleOf4 = (byte)29, ++ LargestPowerOf2 = (byte)0, ++ VectorCount1 = (byte)1, ++ VectorCount128 = (byte)12, ++ VectorCount16 = (byte)9, ++ VectorCount2 = (byte)2, ++ VectorCount256 = (byte)13, ++ VectorCount3 = (byte)3, ++ VectorCount32 = (byte)10, ++ VectorCount4 = (byte)4, ++ VectorCount5 = (byte)5, ++ VectorCount6 = (byte)6, ++ VectorCount64 = (byte)11, ++ VectorCount7 = (byte)7, ++ VectorCount8 = (byte)8, ++ } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.md new file mode 100644 index 0000000000..5c5267607a --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.NETCore.App/9.0-preview3_System.md @@ -0,0 +1,19 @@ +# System + +``` diff + namespace System { + public readonly struct TimeSpan : IComparable, IComparable, IEquatable, IFormattable, IParsable, ISpanFormattable, ISpanParsable, IUtf8SpanFormattable { ++ public static TimeSpan FromDays(int days); ++ public static TimeSpan FromDays(int days, int hours = 0, long minutes = (long)0, long seconds = (long)0, long milliseconds = (long)0, long microseconds = (long)0); ++ public static TimeSpan FromHours(int hours); ++ public static TimeSpan FromHours(int hours, long minutes = (long)0, long seconds = (long)0, long milliseconds = (long)0, long microseconds = (long)0); ++ public static TimeSpan FromMicroseconds(long microseconds); ++ public static TimeSpan FromMilliseconds(long milliseconds, long microseconds = (long)0); ++ public static TimeSpan FromMinutes(long minutes); ++ public static TimeSpan FromMinutes(long minutes, long seconds = (long)0, long milliseconds = (long)0, long microseconds = (long)0); ++ public static TimeSpan FromSeconds(long seconds); ++ public static TimeSpan FromSeconds(long seconds, long milliseconds = (long)0, long microseconds = (long)0); + } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.WindowsDesktop.App/9.0-preview3.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.WindowsDesktop.App/9.0-preview3.md new file mode 100644 index 0000000000..e31acb3496 --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.WindowsDesktop.App/9.0-preview3.md @@ -0,0 +1,7 @@ +# API Difference 9.0-preview2 vs 9.0-preview3 + +API listing follows standard diff formatting. +Lines preceded by a '+' are additions and a '-' indicates removal. + +* [System.Windows.Forms](9.0-preview3_System.Windows.Forms.md) + diff --git a/release-notes/9.0/preview/preview3/api-diff/Microsoft.WindowsDesktop.App/9.0-preview3_System.Windows.Forms.md b/release-notes/9.0/preview/preview3/api-diff/Microsoft.WindowsDesktop.App/9.0-preview3_System.Windows.Forms.md new file mode 100644 index 0000000000..2fd70d17ac --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/Microsoft.WindowsDesktop.App/9.0-preview3_System.Windows.Forms.md @@ -0,0 +1,11 @@ +# System.Windows.Forms + +``` diff + namespace System.Windows.Forms { + public interface IBindableComponent : IComponent, IDisposable { +- BindingContext BindingContext { get; set; } ++ BindingContext? BindingContext { get; set; } + } + } +``` + diff --git a/release-notes/9.0/preview/preview3/api-diff/README.md b/release-notes/9.0/preview/preview3/api-diff/README.md new file mode 100644 index 0000000000..84b2b002fd --- /dev/null +++ b/release-notes/9.0/preview/preview3/api-diff/README.md @@ -0,0 +1,7 @@ +# .NET 9.0 Preview 3 API Changes + +The following API changes were made in .NET 9.0 Preview 3: + +- [Microsoft.NETCore.App](./Microsoft.NETCore.App/9.0-preview3.md) +- [Microsoft.AspNetCore.App](./Microsoft.AspNetCore.App/9.0-preview3.md) +- [Microsoft.WindowsDesktop.App](./Microsoft.WindowsDesktop.App/9.0-preview3.md)