Skip to content

net11 previews before v10.0.0: ApiCompat baseline 10.0.0 is not on NuGet yet #157

Closed as not planned

Description

@CaffeinatedCoder

Found while doing #151 (PR #156).

On the 11 line, the ApiCompat baseline is the latest stable release before the version being prepared, never a preview. PackageValidationBaseline_IsTheShippedVersionOrTheReleaseBeforeIt now says so. For 11.0.0-preview.N that release is 10.0.0.

Problem: if a preview is tagged on net11 before v10.0.0 exists, restore fails. Package validation fetches the baseline from nuget.org, and 10.0.0 isn't there yet. I saw the same failure while simulating the preview state locally.

Decide one of these before tagging the first preview on net11:

  • (a) Tag no preview until v10.0.0 ships.
  • (b) Let net11 validate against 9.1.0 until then. The convention test would need a stated exception, for example while the changelog's 10.0.0 has no tag.
  • (c) Turn package validation off on net11 until the tag, with the reason given in Directory.Build.props.

Done when the first v11.0.0-preview.1 tag passes the release workflow's Pack step.


Decision (2026-10-18, maintainer review of #156): option (b), stated as a rule rather than an exception. The baseline is the latest stable release that is on NuGet, which is what main already carries (9.1.0 today). net11 keeps main's PackageValidationBaselineVersion line unchanged, so merging forward never conflicts on it, and 11.0.0-preview.1 validates against 9.1.0 exactly as 10.0.0 does. PackageValidationBaseline_IsTheShippedVersionOrTheReleaseBeforeIt learns the rule: a changelog version with no release date (no tag) is never a baseline, a preview is never a baseline, and the baseline is the newest dated stable below the version being prepared. When v10.0.0 ships, both lines move to 10.0.0 in the same commit that moves the SECURITY row. Seed: a baseline naming an undated version must fail.

Activity

  1. added this to the 11.0.0 milestone on Oct 18, 2026
  2. added
    choreBuild, CI, packaging, refactoring with no behaviour change
    area/releaseVersioning, changelogs, release wiring
    on Oct 18, 2026
  3. CaffeinatedCoder commented on Oct 19, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Moot after #280 (maintainer, 2026-10-19): there is no net11 branch, and no preview is tagged before v10.0.0. The first preview is cut on main after the tag, in the PR that moves the baseline to 10.0.0, which is on NuGet by then. That's option (a) here, by construction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/releaseVersioning, changelogs, release wiringchoreBuild, CI, packaging, refactoring with no behaviour change

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions