From dea28be657e7a9b24af67bf40c583b91981faecf Mon Sep 17 00:00:00 2001 From: bitbonk Date: Sat, 2 Sep 2023 17:12:37 +0200 Subject: [PATCH 1/4] Add details about the full release lifecycle --- .../baseline-version-validator.md | 77 ++++++++++++++++--- 1 file changed, 68 insertions(+), 9 deletions(-) diff --git a/docs/fundamentals/package-validation/baseline-version-validator.md b/docs/fundamentals/package-validation/baseline-version-validator.md index 16e67460f1a5d..bca63575e8505 100644 --- a/docs/fundamentals/package-validation/baseline-version-validator.md +++ b/docs/fundamentals/package-validation/baseline-version-validator.md @@ -17,7 +17,7 @@ For example, consider the following scenario. You're working on the AdventureWor net6.0 - 2.0.0 + 1.1.0 true 1.0.0 @@ -45,17 +45,13 @@ public static HttpClient Connect(string url, TimeSpan timeout = default) However, when you try to pack, it throws an error. -```cmd +```text D:\demo>dotnet pack -Microsoft (R) Build Engine version 17.0.0-preview-21460-01+8f208e609 for .NET -Copyright (C) Microsoft Corporation. All rights reserved. - +MSBuild version 17.3.2+561848881 for .NET Determining projects to restore... All projects are up-to-date for restore. - You are using a preview version of .NET. See: https://aka.ms/dotnet-core-preview - PackageValidationThrough -> D:\demo\bin\Debug\net6.0\PackageValidationThrough.dll - Successfully created package 'D:\demo\bin\Debug\PackageValidationThrough.2.0.0.nupkg'. -C:\Program Files\dotnet\sdk\6.0.100-rc.1.21463.6\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Compatibility.Common.targets(32,5): error CP0002: Member 'A.B.Connect(string)' exists on [Baseline] lib/net6.0/PackageValidationThrough.dll but not on lib/net6.0/PackageValidationThrough.dll [D:\demo\PackageValidationThrough.csproj] + AdventureWorks.Client -> D:\demo\bin\Debug\net6.0\AdventureWorks.Client.dll +C:\Program Files\dotnet\sdk\6.0.413\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Compatibility.Common.targets(33,5): error CP0002: Member 'A.B.Connect(string)' exists on [Baseline] lib/net6.0/AdventureWorks.Client.dll but not on lib/net6.0/AdventureWorks.Client.dll [D:\demo\AdventureWorks.Client.csproj] ``` ![BaselineVersion](media/baseline-version.png) @@ -77,3 +73,66 @@ public static HttpClient Connect(string url, TimeSpan timeout) Now when you pack the project, it succeeds. ![BaselineVersionSuccessful](media/baseline-version-successful.png) + +For version 2.0.0 you later decide you want to remove obsolete `Connect` method with the single `string` parameter and upon careful consideration deliberately decide to accept this breaking change. + +```xml + + + + net6.0 + 2.0.0 + true + 1.1.0 + + + +``` + +```diff +- public static HttpClient Connect(string url) +- { +- return Connect(url, Timeout.InfiniteTimeSpan); +- } + +public static HttpClient Connect(string url, TimeSpan timeout) +{ + // ... +} +``` + +To suppress the `CP0002` error for this intentional breaking change, you can add a `CompatibilitySuppressions.xml` file to your project. +The easiest way to add it is by adding the `GenerateCompatibilitySuppressionFile` property to your project (see also [Suppress compatibility errors](overview.md#suppress-compatibility-errors)). + +```xml + + + + net6.0 + 2.0.0 + true + 1.1.0 + true + + + +``` + +If `GenerateCompatibilitySuppressionFile` is set to `true`, all validation errors that occur during pack will be added as a suppression to the generated `CompatibilitySuppressions.xml` file. + +This file could be checked into source control to document and review the breaking changes made in a PR and the upcoming release. + +After you have released version 2.0.0 of the package, you would remove the `GenerateCompatibilitySuppressionFile` property and start working on the next version of the package. + +```xml + + + + net6.0 + 2.1.0 + true + 2.0.0 + + + +``` From dee8e253db59df3dcab6e2747fa360d46ebc0f1d Mon Sep 17 00:00:00 2001 From: bitbonk Date: Sun, 3 Sep 2023 12:03:13 +0200 Subject: [PATCH 2/4] Update docs to use GenerateCompatibilitySuppressionFile as commandline arg --- .../baseline-version-validator.md | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/fundamentals/package-validation/baseline-version-validator.md b/docs/fundamentals/package-validation/baseline-version-validator.md index bca63575e8505..6c3e4d0696a36 100644 --- a/docs/fundamentals/package-validation/baseline-version-validator.md +++ b/docs/fundamentals/package-validation/baseline-version-validator.md @@ -101,28 +101,28 @@ public static HttpClient Connect(string url, TimeSpan timeout) } ``` -To suppress the `CP0002` error for this intentional breaking change, you can add a `CompatibilitySuppressions.xml` file to your project. -The easiest way to add it is by adding the `GenerateCompatibilitySuppressionFile` property to your project (see also [Suppress compatibility errors](overview.md#suppress-compatibility-errors)). +To suppress the `CP0002` error for this intentional breaking change, you can add a *CompatibilitySuppressions.xml* file to your project. +By calling `dotnet pack /p:GenerateCompatibilitySuppressionFile=true` once, this file can be generated automatically. +It will contain a suppression for each validation error that occurred during pack (see also [Suppress compatibility errors](overview.md#suppress-compatibility-errors)). -```xml - - - - net6.0 - 2.0.0 - true - 1.1.0 - true - +In our case *CompatibilitySuppressions.xml* will contain the suppression for the `CP0002` error: - +```xml + + + + CP0002 + M:A.B.Connect(System.String) + lib/net6.0/AdventureWorks.Client.dll + lib/net6.0/AdventureWorks.Client.dll + true + + ``` -If `GenerateCompatibilitySuppressionFile` is set to `true`, all validation errors that occur during pack will be added as a suppression to the generated `CompatibilitySuppressions.xml` file. - This file could be checked into source control to document and review the breaking changes made in a PR and the upcoming release. -After you have released version 2.0.0 of the package, you would remove the `GenerateCompatibilitySuppressionFile` property and start working on the next version of the package. +After you have released version 2.0.0 of the package, you would delete the *CompatibilitySuppressions.xml* file and update the `PackageValidationBaselineVersion` property to validate future changes against the new release. ```xml From d21f0bf8e0ab62635bb399f7e39c0656c106d855 Mon Sep 17 00:00:00 2001 From: bitbonk Date: Sun, 3 Sep 2023 20:24:05 +0200 Subject: [PATCH 3/4] Apply suggestions from PR review Co-authored-by: David Pine Co-authored-by: Viktor Hofer --- .../package-validation/baseline-version-validator.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/fundamentals/package-validation/baseline-version-validator.md b/docs/fundamentals/package-validation/baseline-version-validator.md index 6c3e4d0696a36..eb9b0875039a2 100644 --- a/docs/fundamentals/package-validation/baseline-version-validator.md +++ b/docs/fundamentals/package-validation/baseline-version-validator.md @@ -45,7 +45,7 @@ public static HttpClient Connect(string url, TimeSpan timeout = default) However, when you try to pack, it throws an error. -```text +```dotnetcli D:\demo>dotnet pack MSBuild version 17.3.2+561848881 for .NET Determining projects to restore... @@ -101,11 +101,9 @@ public static HttpClient Connect(string url, TimeSpan timeout) } ``` -To suppress the `CP0002` error for this intentional breaking change, you can add a *CompatibilitySuppressions.xml* file to your project. -By calling `dotnet pack /p:GenerateCompatibilitySuppressionFile=true` once, this file can be generated automatically. -It will contain a suppression for each validation error that occurred during pack (see also [Suppress compatibility errors](overview.md#suppress-compatibility-errors)). +To suppress the `CP0002` error for this intentional breaking change, you can add a *CompatibilitySuppressions.xml* file to your project. By calling `dotnet pack /p:GenerateCompatibilitySuppressionFile=true` once, this file can be generated automatically. It contains a suppression for each validation error that occurred during pack. For more information, see [Suppress compatibility errors](overview.md#suppress-compatibility-errors). -In our case *CompatibilitySuppressions.xml* will contain the suppression for the `CP0002` error: +In this example, the *CompatibilitySuppressions.xml* contains the suppression for the `CP0002` error: ```xml @@ -120,7 +118,7 @@ In our case *CompatibilitySuppressions.xml* will contain the suppression for the ``` -This file could be checked into source control to document and review the breaking changes made in a PR and the upcoming release. +This file should be checked into source control to document and review the breaking changes made in a PR and the upcoming release. After you have released version 2.0.0 of the package, you would delete the *CompatibilitySuppressions.xml* file and update the `PackageValidationBaselineVersion` property to validate future changes against the new release. From 24a8a46b23e7b8ab37f8b1dbb337dc4f805f6331 Mon Sep 17 00:00:00 2001 From: bitbonk Date: Wed, 6 Sep 2023 00:30:06 +0200 Subject: [PATCH 4/4] Add updated VS screenshots --- .../media/baseline-version-successful.png | Bin 13914 -> 14346 bytes .../media/baseline-version.png | Bin 11838 -> 18355 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/fundamentals/package-validation/media/baseline-version-successful.png b/docs/fundamentals/package-validation/media/baseline-version-successful.png index 290cbeb984db4b43d9221b7e6e212e90f36eecb1..f52faa25ee7ae1ed47d783136ec2b91f34c9c3ec 100644 GIT binary patch literal 14346 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 F{|hHLt(^b> diff --git a/docs/fundamentals/package-validation/media/baseline-version.png b/docs/fundamentals/package-validation/media/baseline-version.png index 2508574b3fb841554f8a8e1d58403b02ab7c22d7..dd919a5031cec604dfa167932ab4df1b566b8cdf 100644 GIT binary patch literal 18355 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 literal 11838 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 lS84zMD*vy=rSu(*6XtmH<@w