Skip to content

Commit 1dd6f45

Browse files
authored
Add section to UpdatingMajorVersionAndTFM.md about marking APIs shipped (#46088)
* Add section to UpdatingMajorVersionAndTFM.md about APIs * Update UpdatingMajorVersionAndTFM.md * Update UpdatingMajorVersionAndTFM.md * Update UpdatingMajorVersionAndTFM.md * Update UpdatingMajorVersionAndTFM.md
1 parent e67e77d commit 1dd6f45

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

docs/UpdatingMajorVersionAndTFM.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ Typically, we will update the Major Version before updating the TFM. This is bec
1919
* Add entries to [NuGet.config](/NuGet.config) for the new Major Version's feed. This just means copying the current feeds (e.g. `dotnet8` and `dotnet8-transport`) and adding entries for the new feeds (`dotnet9` and `dotnet9-transport`). Make an effort to remove old feeds here at the same time.
2020
* In [src/ProjectTemplates/Shared/TemplatePackageInstaller.cs](/src/ProjectTemplates/Shared/TemplatePackageInstaller.cs), add entries to `_templatePackages ` for `Microsoft.DotNet.Web.ProjectTemplates` and `Microsoft.DotNet.Web.Spa.ProjectTemplates` matching the new version.
2121
* In [eng/targets/CSharp.Common.props](/eng/targets/CSharp.Common.props) for the previous release branch, modify the `<LangVersion>` to be a hardcoded version instead of `preview`. (e.g. If main is being updated to 8.0.0 modify the `<LangVersion>` in the release/7.0 branch). See https://docs.microsoft.com/dotnet/csharp/language-reference/configure-language-version#defaults to find what language version to use.
22+
* Mark APIs from the previous release as Shipped by running `.\eng\scripts\mark-shipped.cmd`. **Note that it's best to do this as early as possible after the API surface is finalized from the previous release** - make sure to be careful that any new API in `main` that isn't shipped as part of the previous release, stays in `PublicAPI.Unshipped.txt` files.
23+
* One way to ensure this is to check out the release branch shipping the previous release (**after API surface area has been finalized**), run `.\eng\scripts\mark-shipped.cmd` there, copy over all of the `PublicAPI.Unshipped.txt` and `PublicAPI.Shipped.txt` files into a new branch based off of `main`, and build the repo. Any failures there will tell you whether or not there are new APIs in main that need to be put back into the `PublicAPI.Unshipped.txt` files.
24+
* The result of `.\eng\scripts\mark-shipped.cmd` should be checked in to the release branch as well, as part of the RTM release.
2225

2326
### Validation
2427

@@ -52,7 +55,7 @@ Once dotnet/runtime has updated their TFM, we update ours in the dependency upda
5255
* If we need to release a Minor version of any of these, use the first zero digit after the Major version to represent that (e.g. 9810 for 8.1, 10100 for 10.1).
5356
2. Create a PR like [this one](https://github.com/dotnet/aspnetcore/pull/39783) in dotnet/aspnetcore that updates the spa-templates submodule, and updates the `precedence`, `identity`, and (if it exists) `thirdPartyNotices` elements in all template.json files.
5457
* Make sure to update _all_ template.json files, including project templates and item templates.
55-
* Update precedence values by increasing them to the next integer value whose first digits correspond with the major version.
58+
* Use the same precedence scheme as above.
5659
3. Make sure the new aka.ms link you're referencing in `thirdPartyNotices` exists.
5760
* In [src/Framework/AspNetCoreAnalyzers/test/Verifiers/CSharpRouteHandlerCodeFixVerifier.cs](/src/Framework/AspNetCoreAnalyzers/test/Verifiers/CSharpRouteHandlerCodeFixVerifier.cs), update the references to `ReferenceAssemblies.Net.Netx0` with the latest version.
5861

0 commit comments

Comments
 (0)