From 7c8eebd93872561fbfcfab4a383e5ff1b1a1933b Mon Sep 17 00:00:00 2001 From: SergeyMenshykh Date: Fri, 25 Apr 2025 18:31:50 +0100 Subject: [PATCH 1/3] remove the experimental attribute from stable openapi api --- .../Extensions/OpenApiFunctionExecutionParameters.cs | 2 -- .../Functions.OpenApi/Model/RestApiExpectedResponse.cs | 3 --- dotnet/src/Functions/Functions.OpenApi/Model/RestApiInfo.cs | 3 --- .../src/Functions/Functions.OpenApi/Model/RestApiOAuthFlow.cs | 2 -- .../src/Functions/Functions.OpenApi/Model/RestApiOAuthFlows.cs | 3 --- .../src/Functions/Functions.OpenApi/Model/RestApiOperation.cs | 2 -- .../src/Functions/Functions.OpenApi/Model/RestApiParameter.cs | 3 --- .../Functions.OpenApi/Model/RestApiParameterLocation.cs | 3 --- .../Functions/Functions.OpenApi/Model/RestApiParameterStyle.cs | 3 --- dotnet/src/Functions/Functions.OpenApi/Model/RestApiPayload.cs | 2 -- .../Functions.OpenApi/Model/RestApiPayloadProperty.cs | 2 -- .../Functions.OpenApi/Model/RestApiSecurityRequirement.cs | 1 - .../Functions/Functions.OpenApi/Model/RestApiSecurityScheme.cs | 2 -- dotnet/src/Functions/Functions.OpenApi/Model/RestApiServer.cs | 2 -- .../Functions/Functions.OpenApi/Model/RestApiServerVariable.cs | 2 -- .../Functions/Functions.OpenApi/Model/RestApiSpecification.cs | 2 -- .../src/Functions/Functions.OpenApi/RestApiParameterFilter.cs | 3 --- .../Functions.OpenApi/RestApiParameterFilterContext.cs | 3 --- 18 files changed, 43 deletions(-) diff --git a/dotnet/src/Functions/Functions.OpenApi/Extensions/OpenApiFunctionExecutionParameters.cs b/dotnet/src/Functions/Functions.OpenApi/Extensions/OpenApiFunctionExecutionParameters.cs index 65a0c2b46fd5..ec2c4f51c1e9 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Extensions/OpenApiFunctionExecutionParameters.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Extensions/OpenApiFunctionExecutionParameters.cs @@ -96,7 +96,6 @@ public class OpenApiFunctionExecutionParameters /// /// A custom REST API parameter filter. /// - [Experimental("SKEXP0040")] public RestApiParameterFilter? ParameterFilter { get; set; } /// @@ -119,7 +118,6 @@ public class OpenApiFunctionExecutionParameters /// Determines whether payload parameter names are augmented with namespaces. /// Namespaces prevent naming conflicts by adding the parent parameter name as a prefix, separated by dots. /// Optional list of operations not to import, e.g. in case they are not supported - [Experimental("SKEXP0040")] public OpenApiFunctionExecutionParameters( HttpClient? httpClient = null, AuthenticateRequestAsyncCallback? authCallback = null, diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiExpectedResponse.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiExpectedResponse.cs index e09a539573fb..e086f40c6db3 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiExpectedResponse.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiExpectedResponse.cs @@ -1,13 +1,10 @@ // Copyright (c) Microsoft. All rights reserved. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API response. /// -[Experimental("SKEXP0040")] public sealed class RestApiExpectedResponse { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiInfo.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiInfo.cs index 84a128a867ac..daf9c45ea722 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiInfo.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiInfo.cs @@ -1,13 +1,10 @@ // Copyright (c) Microsoft. All rights reserved. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// The REST API information. /// -[Experimental("SKEXP0040")] public sealed class RestApiInfo { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOAuthFlow.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOAuthFlow.cs index e75ebf1b04cd..5cbc9cda21b5 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOAuthFlow.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOAuthFlow.cs @@ -3,14 +3,12 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API OAuth Flow. /// -[Experimental("SKEXP0040")] public sealed class RestApiOAuthFlow { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOAuthFlows.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOAuthFlows.cs index c3dee78db67c..afa72e70f912 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOAuthFlows.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOAuthFlows.cs @@ -1,13 +1,10 @@ // Copyright (c) Microsoft. All rights reserved. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API OAuth Flows. /// -[Experimental("SKEXP0040")] public sealed class RestApiOAuthFlows { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOperation.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOperation.cs index 058844a2c4ab..678a3bf4fbdc 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOperation.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiOperation.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Net.Http; using System.Text.Json.Nodes; @@ -14,7 +13,6 @@ namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// The REST API operation. /// -[Experimental("SKEXP0040")] public sealed class RestApiOperation { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameter.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameter.cs index 8fadb0060ca6..50a66f981040 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameter.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameter.cs @@ -1,13 +1,10 @@ // Copyright (c) Microsoft. All rights reserved. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API parameter. /// -[Experimental("SKEXP0040")] public sealed class RestApiParameter { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameterLocation.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameterLocation.cs index f28aeb9e1a45..0e3acbc1c0b1 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameterLocation.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameterLocation.cs @@ -1,13 +1,10 @@ // Copyright (c) Microsoft. All rights reserved. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API parameter location. /// -[Experimental("SKEXP0040")] public enum RestApiParameterLocation { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameterStyle.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameterStyle.cs index 7ba16905d718..826669b79953 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameterStyle.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiParameterStyle.cs @@ -1,13 +1,10 @@ // Copyright (c) Microsoft. All rights reserved. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API parameter style. /// -[Experimental("SKEXP0040")] public enum RestApiParameterStyle { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiPayload.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiPayload.cs index bd3b2c6c2bbc..bec042d3ee15 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiPayload.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiPayload.cs @@ -2,14 +2,12 @@ using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API payload. /// -[Experimental("SKEXP0040")] public sealed class RestApiPayload { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiPayloadProperty.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiPayloadProperty.cs index 9351d6fcb139..20bca33f22f6 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiPayloadProperty.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiPayloadProperty.cs @@ -2,14 +2,12 @@ using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API payload property. /// -[Experimental("SKEXP0040")] public sealed class RestApiPayloadProperty { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSecurityRequirement.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSecurityRequirement.cs index fd9523ba5212..b03bbd6aac1c 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSecurityRequirement.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSecurityRequirement.cs @@ -10,7 +10,6 @@ namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// The REST API security requirement object. /// -[Experimental("SKEXP0040")] #pragma warning disable CA1710 // Identifiers should have correct suffix public sealed class RestApiSecurityRequirement : IDictionary>, IReadOnlyDictionary> #pragma warning restore CA1710 // Identifiers should have correct suffix diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSecurityScheme.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSecurityScheme.cs index 3be57a3ad54a..6a26f6fe5eec 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSecurityScheme.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSecurityScheme.cs @@ -1,14 +1,12 @@ // Copyright (c) Microsoft. All rights reserved. using System; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API Security Scheme. /// -[Experimental("SKEXP0040")] public sealed class RestApiSecurityScheme { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiServer.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiServer.cs index 599e15557145..074f109c4fe7 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiServer.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiServer.cs @@ -2,14 +2,12 @@ using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API server. /// -[Experimental("SKEXP0040")] public sealed class RestApiServer { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiServerVariable.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiServerVariable.cs index 451257f7f018..ac9f6dceded0 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiServerVariable.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiServerVariable.cs @@ -2,14 +2,12 @@ using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API server variable. /// -[Experimental("SKEXP0040")] public sealed class RestApiServerVariable { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSpecification.cs b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSpecification.cs index 4d4e5c86926a..388ee61d3922 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSpecification.cs +++ b/dotnet/src/Functions/Functions.OpenApi/Model/RestApiSpecification.cs @@ -2,14 +2,12 @@ using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// REST API specification. /// -[Experimental("SKEXP0040")] public sealed class RestApiSpecification { /// diff --git a/dotnet/src/Functions/Functions.OpenApi/RestApiParameterFilter.cs b/dotnet/src/Functions/Functions.OpenApi/RestApiParameterFilter.cs index 7462371ee2b8..20a51d5b1291 100644 --- a/dotnet/src/Functions/Functions.OpenApi/RestApiParameterFilter.cs +++ b/dotnet/src/Functions/Functions.OpenApi/RestApiParameterFilter.cs @@ -1,7 +1,5 @@ // Copyright (c) Microsoft. All rights reserved. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// @@ -13,5 +11,4 @@ namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// which will replace the original parameter. /// /// Instance of containing details of the parameter to filter. -[Experimental("SKEXP0040")] public delegate RestApiParameter? RestApiParameterFilter(RestApiParameterFilterContext context); diff --git a/dotnet/src/Functions/Functions.OpenApi/RestApiParameterFilterContext.cs b/dotnet/src/Functions/Functions.OpenApi/RestApiParameterFilterContext.cs index ae92b69179c8..21d944afda3d 100644 --- a/dotnet/src/Functions/Functions.OpenApi/RestApiParameterFilterContext.cs +++ b/dotnet/src/Functions/Functions.OpenApi/RestApiParameterFilterContext.cs @@ -1,13 +1,10 @@ // Copyright (c) Microsoft. All rights reserved. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.SemanticKernel.Plugins.OpenApi; /// /// Initializes a new instance of the class. /// -[Experimental("SKEXP0040")] public sealed class RestApiParameterFilterContext { /// From 1564ffa023738c0078ec4727ff784f9cb70174f2 Mon Sep 17 00:00:00 2001 From: SergeyMenshykh Date: Fri, 25 Apr 2025 18:35:44 +0100 Subject: [PATCH 2/3] enable package validation --- dotnet/src/Functions/Functions.OpenApi/Functions.OpenApi.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/dotnet/src/Functions/Functions.OpenApi/Functions.OpenApi.csproj b/dotnet/src/Functions/Functions.OpenApi/Functions.OpenApi.csproj index a30e82b03e1d..9f2760c8af31 100644 --- a/dotnet/src/Functions/Functions.OpenApi/Functions.OpenApi.csproj +++ b/dotnet/src/Functions/Functions.OpenApi/Functions.OpenApi.csproj @@ -5,6 +5,7 @@ $(AssemblyName) net8.0;netstandard2.0 $(NoWarn);SKEXP0040 + true From 076a62c77ef1f3500ab0ba7eaceaa5c8c9dd6370 Mon Sep 17 00:00:00 2001 From: SergeyMenshykh Date: Fri, 25 Apr 2025 21:43:34 +0100 Subject: [PATCH 3/3] suppress compatibility warning --- .../Functions.OpenApi/CompatibilitySuppressions.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 dotnet/src/Functions/Functions.OpenApi/CompatibilitySuppressions.xml diff --git a/dotnet/src/Functions/Functions.OpenApi/CompatibilitySuppressions.xml b/dotnet/src/Functions/Functions.OpenApi/CompatibilitySuppressions.xml new file mode 100644 index 000000000000..cc1b3172c906 --- /dev/null +++ b/dotnet/src/Functions/Functions.OpenApi/CompatibilitySuppressions.xml @@ -0,0 +1,10 @@ + + + + + CP0002 + F:Microsoft.SemanticKernel.Plugins.OpenApi.OpenApiKernelFunctionContext.KernelFunctionContextKey + lib/netstandard2.0/Microsoft.SemanticKernel.Plugins.OpenApi.dll + lib/net8.0/Microsoft.SemanticKernel.Plugins.OpenApi.dll + + \ No newline at end of file