mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
18f7ba8632
* Add API breaking change validation for RC packages Enable .NET Package Validation for release candidate packages to detect API breaking changes in CI. This follows the same pattern used by Semantic Kernel, centralized through nuget-package.props. Changes: - Enable EnablePackageValidation for IsReleaseCandidate packages - Update PackageValidationBaselineVersion to 1.0.0-rc4 (latest published) - Generate CompatibilitySuppressions.xml for existing known API changes in 5 packages (AI, AzureAI, OpenAI, Workflows, Workflows.Declarative.AzureAI) - Opt out Workflows.Declarative.Mcp (not yet published to NuGet) - Add breaking changes guidance to CONTRIBUTING.md Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR review feedback - Remove unnecessary empty PackageValidationBaselineVersion override in Workflows.Declarative.Mcp.csproj (EnablePackageValidation=false is sufficient) - Tighten CONTRIBUTING.md wording to clarify opt-out possibility Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Enable package validation for GA packages (no VersionSuffix) Expand the EnablePackageValidation condition to also cover future GA packages that have no VersionSuffix, not just RC packages. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix EnablePackageValidation GA condition to check PackageVersion The previous condition VersionSuffix=='' matched all packages (preview included) since VersionSuffix defaults to empty. Now uses two separate conditions: one for RC, one for true GA (PackageVersion == VersionPrefix). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add IsGeneralAvailable flag for package validation Replace fragile PackageVersion condition with explicit IsGeneralAvailable property, following the same per-project self-declaration pattern as IsReleaseCandidate. - Directory.Build.props: Add IsGeneralAvailable=false default - nuget-package.props: EnablePackageValidation on RC OR GA - CONTRIBUTING.md: Update docs to mention both flags When packages go GA, they set IsGeneralAvailable=true in their .csproj. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Rename IsGeneralAvailable to IsGenerallyAvailable Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
52 lines
2.1 KiB
XML
52 lines
2.1 KiB
XML
<Project>
|
|
<PropertyGroup>
|
|
<!-- Default properties inherited by all projects. Projects can override. -->
|
|
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
|
|
<EnableNETAnalyzers>true</EnableNETAnalyzers>
|
|
<AnalysisLevel>10.0-all</AnalysisLevel>
|
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
|
<LangVersion>latest</LangVersion>
|
|
<Nullable>enable</Nullable>
|
|
<NoWarn>$(NoWarn);NU5128;CS8002</NoWarn>
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
<TargetFrameworksCore>net10.0;net9.0;net8.0</TargetFrameworksCore>
|
|
<TargetFrameworks>$(TargetFrameworksCore);netstandard2.0;net472</TargetFrameworks>
|
|
<IsAotCompatible Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net7.0'))">true</IsAotCompatible>
|
|
<Configurations>Debug;Release;Publish</Configurations>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<IsReleaseCandidate>false</IsReleaseCandidate>
|
|
<IsGenerallyAvailable>false</IsGenerallyAvailable>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<!-- Disable NuGet packaging by default. Projects can override. -->
|
|
<IsPackable>false</IsPackable>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)'=='Publish'">
|
|
<Optimize>True</Optimize>
|
|
</PropertyGroup>
|
|
|
|
<!-- .NET Framework/.NET Standard don't properly support nullable reference types, suppress any warnings for those TFMs -->
|
|
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFramework)' == 'net472' ">
|
|
<NoWarn>$(NoWarn);nullable</NoWarn>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<RepoRoot>$([System.IO.Path]::GetDirectoryName($([MSBuild]::GetPathOfFileAbove('CODE_OF_CONDUCT.md', '$(MSBuildThisFileDirectory)'))))</RepoRoot>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Add CLSCompliant=false to all projects by default. Projects can override. -->
|
|
<AssemblyAttribute Include="System.CLSCompliantAttribute">
|
|
<_Parameter1>false</_Parameter1>
|
|
</AssemblyAttribute>
|
|
</ItemGroup>
|
|
|
|
<!-- Common properties -->
|
|
<Import Project="$(MSBuildThisFileDirectory)\eng\MSBuild\LegacySupport.props" />
|
|
<Import Project="$(MSBuildThisFileDirectory)\eng\MSBuild\Shared.props" />
|
|
</Project>
|