Skip to content

Update PreReleaseVersionLabel and StabilizePackageVersion#35520

Merged
PureWeen merged 1 commit into
release/10.0.1xx-sr7from
PureWeen-patch-2
May 19, 2026
Merged

Update PreReleaseVersionLabel and StabilizePackageVersion#35520
PureWeen merged 1 commit into
release/10.0.1xx-sr7from
PureWeen-patch-2

Conversation

@PureWeen

Copy link
Copy Markdown
Member

No description provided.

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 35520

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 35520"

@github-actions github-actions Bot added the area-infrastructure CI, Maestro / Coherency, upstream dependencies/versions label May 19, 2026
@PureWeen PureWeen merged commit 238f9e6 into release/10.0.1xx-sr7 May 19, 2026
8 of 17 checks passed
@PureWeen PureWeen deleted the PureWeen-patch-2 branch May 19, 2026 14:22
@github-actions github-actions Bot added this to the .NET 10 SR7 milestone May 19, 2026
PureWeen added a commit that referenced this pull request Jun 11, 2026
…xx-sr8 (#35810)

<!-- Please let the below note in for people that find this PR -->
> [!NOTE]
> Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!

## Cut-then-merge step 2 of 2

SR8 was cut from `main` at
[`e02d6b6dc2`](e02d6b6)
(commit "Add gh-aw rerun review scanner (#35685)"). This PR pulls the
SR7 stabilization work into SR8 so SR8 contains everything that's in
SR7.

- **Base:** `release/10.0.1xx-sr8` @
[`e02d6b6dc2`](e02d6b6)
- **Merging in:** `release/10.0.1xx-sr7` @
[`9da598b4a1`](9da598b)
(PatchVersion bump to 71)
- **Merge base:**
[`f8cb875e`](f8cb875eee)
("[Testing] The Windows WebView category is removed from CI…" #35335)
- **Strategy:** non-fast-forward merge commit (preserves both branches'
history)

## Conflict resolution

Two trivial conflicts, both resolved by taking the SR8 (`HEAD`) side:

| File | Why it conflicted | Resolution |
| --- | --- | --- |
|
[`eng/Versions.props`](https://github.com/dotnet/maui/blob/release/10.0.1xx-sr8/eng/Versions.props)
| SR7 bumped `PatchVersion` 70→71 (#35786); SR8 starts at 80 | Keep
`PatchVersion=80` (SR8 is the higher patch band) |
|
`src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellSectionRenderer.cs`
| Whitespace-only difference (`false; //` vs `false; //`) in two
comments | Keep SR8's whitespace |

No semantic conflicts.

## Inherited from SR7

26 SR7-only commits land in SR8 via this merge. The source PRs are:

<details>
<summary>Source PRs (43, deduped by commit)</summary>

#35020, #35072, #35092, #35150, #35223, #35299, #35305, #35347, #35356,
#35359, #35360, #35421, #35423, #35424, #35425, #35426, #35427, #35428,
#35430, #35434, #35441, #35447, #35461, #35480, #35503, #35520, #35521,
#35559, #35566, #35585, #35625, #35642, #35664, #35689, #35690, #35691,
#35692, #35693, #35694, #35703, #35744, #35768, #35786

Includes the SR7 revert chain:
- #35689 — Revert PR #30068 (FontImageSource centering on Windows)
- #35694 — Revert TalkBack RadioButton fix
- #35703 — Revert Shell.NavBarIsVisible fix
- #35744 — Revert HybridWebView WebView fix
- #35461, #35503 — additional Android reverts
</details>

After this lands, the release-readiness tracker can survey
`release/10.0.1xx-sr8` directly instead of using `-Candidate
-InheritFromPriorSr` mode against SR7.
PureWeen added a commit that referenced this pull request Jun 11, 2026
…enance

Three related correctness fixes to the release-readiness skill:

1. **Ship date anchoring (Get-ExpectedShipDate)**
   The 2nd-Tuesday calculator used 'next 2nd Tuesday from today', which
   silently slid into the NEXT SR's window once the current SR's calendar
   month passed. For SR8 on 2026-06-11 (after June 9), the report said
   'July 14' — that's SR9's date, not SR8's.

   New: Get-MainBumpDateForCycle resolves the date origin/main was bumped
   to this SR's cycle base (e.g. main 70→80 on 2026-05-13 anchors SR8 to
   June 2026). The cadence anchor is bumpDate.Month + 1.

   Careful: 'git log -S' matches BOTH 'add X' and 'remove X' commits, and
   the same patch value recurs across major-version cycles. The helper
   verifies the diff direction (added, not removed) and validates
   MajorVersion at that commit. Also handles the [Object[]] return shape
   of 'git show' (must join lines before matching multi-line patterns).

   When the anchored date has passed, returns Cadence='second-tuesday-missed'
   with MissedWindow=true so the report surfaces 'window passed N days ago'
   instead of silently advancing.

2. **Future-SR scope guard precedence (Get-RegressionCandidates)**
   Three signals now evaluate in the correct priority order:
   (1) versioned 'regressed-in-X.Y.Z' label in scope wins outright —
       milestone is subordinate (milestone often reflects where the FIX
       will ship, not where the regression originated).
   (2) milestone naming a different SR cycle → out-of-scope (only
       checked when no versioned label is in scope).
   (3) only 'regressed-in-inflight/current' label AND main bumped past
       this SR's max patch → out-of-scope.

   Fixes false-positive exclusion of #35771 / #35756 (both have
   'regressed-in-10.0.70' label but milestone '.NET 10 SR9' because the
   triager assigned the FIX month). Correctly excludes #35808 / #35806
   (milestone signal) and #35615 (versioned-label signal).

3. **Servicing-flip provenance (servicing flip check)**
   Previously reported READY whenever 'PreReleaseVersionLabel=servicing'
   and 'StabilizePackageVersion=true' were present in the SR branch's
   eng/Versions.props — without checking WHERE those values came from.

   SR8 inherited both values from SR7 via the catch-up merge a11840b,
   not from an SR-direct flip PR (the SR7 pattern was the deliberate
   #35520 flip PR). The branch will functionally produce stable packages,
   but the workflow deviated.

   New: walks SR-only non-merge commits looking for one that added the
   'servicing' label line. If none found, reports the merge that brought
   the values in via inheritance. Status stays READY; details explain
   provenance for the release captain.

Tests: +14 anchoring tests (T15-T19), 469 total passing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PureWeen added a commit that referenced this pull request Jun 15, 2026
…enance

Three related correctness fixes to the release-readiness skill:

1. **Ship date anchoring (Get-ExpectedShipDate)**
   The 2nd-Tuesday calculator used 'next 2nd Tuesday from today', which
   silently slid into the NEXT SR's window once the current SR's calendar
   month passed. For SR8 on 2026-06-11 (after June 9), the report said
   'July 14' — that's SR9's date, not SR8's.

   New: Get-MainBumpDateForCycle resolves the date origin/main was bumped
   to this SR's cycle base (e.g. main 70→80 on 2026-05-13 anchors SR8 to
   June 2026). The cadence anchor is bumpDate.Month + 1.

   Careful: 'git log -S' matches BOTH 'add X' and 'remove X' commits, and
   the same patch value recurs across major-version cycles. The helper
   verifies the diff direction (added, not removed) and validates
   MajorVersion at that commit. Also handles the [Object[]] return shape
   of 'git show' (must join lines before matching multi-line patterns).

   When the anchored date has passed, returns Cadence='second-tuesday-missed'
   with MissedWindow=true so the report surfaces 'window passed N days ago'
   instead of silently advancing.

2. **Future-SR scope guard precedence (Get-RegressionCandidates)**
   Three signals now evaluate in the correct priority order:
   (1) versioned 'regressed-in-X.Y.Z' label in scope wins outright —
       milestone is subordinate (milestone often reflects where the FIX
       will ship, not where the regression originated).
   (2) milestone naming a different SR cycle → out-of-scope (only
       checked when no versioned label is in scope).
   (3) only 'regressed-in-inflight/current' label AND main bumped past
       this SR's max patch → out-of-scope.

   Fixes false-positive exclusion of #35771 / #35756 (both have
   'regressed-in-10.0.70' label but milestone '.NET 10 SR9' because the
   triager assigned the FIX month). Correctly excludes #35808 / #35806
   (milestone signal) and #35615 (versioned-label signal).

3. **Servicing-flip provenance (servicing flip check)**
   Previously reported READY whenever 'PreReleaseVersionLabel=servicing'
   and 'StabilizePackageVersion=true' were present in the SR branch's
   eng/Versions.props — without checking WHERE those values came from.

   SR8 inherited both values from SR7 via the catch-up merge a11840b,
   not from an SR-direct flip PR (the SR7 pattern was the deliberate
   #35520 flip PR). The branch will functionally produce stable packages,
   but the workflow deviated.

   New: walks SR-only non-merge commits looking for one that added the
   'servicing' label line. If none found, reports the merge that brought
   the values in via inheritance. Status stays READY; details explain
   provenance for the release captain.

Tests: +14 anchoring tests (T15-T19), 469 total passing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure CI, Maestro / Coherency, upstream dependencies/versions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant