Files
agent-framework/dotnet/nuget
T
Roger Barreto 18f7ba8632 .NET: Add API breaking change validation for RC packages (#4977)
* 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>
18f7ba8632 ยท 2026-03-30 17:36:43 +00:00
History
..
2025-09-30 18:56:05 +00:00