[net11.0] Update dependencies to preview.3 build 26202.110#34852
[net11.0] Update dependencies to preview.3 build 26202.110#34852
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 34852Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 34852" |
There was a problem hiding this comment.
Pull request overview
Updates the net11.0 branch dependency set to align with release/11.0.1xx-preview3 (build 26202.110), plus a small iOS handler fix and some build/automation plumbing updates.
Changes:
- Bumps .NET SDK/runtime, Android SDK, macios SDKs, and Arcade/Helix versions across
global.json,Versions.props, andVersion.Details.xml(and updates related NuGet feeds). - Fixes a nullable dereference path in
WebViewHandler.iOS.cswhen iteratingWKWebsiteDataRecords. - Extends build and Renovate pipeline infrastructure (new
warnNotAsErrorplumbing; Renovate template updates).
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Core/src/Handlers/WebView/WebViewHandler.iOS.cs | Avoids null deref when reading website data records/display names during cookie deletion. |
| NuGet.config | Updates Dependency Flow-managed feeds for new Android/macios inputs. |
| global.json | Updates required .NET SDK/toolset versions for net11.0 preview.3 build 26202.110. |
| eng/Versions.props | Updates pinned package/toolset versions (SDK/runtime/Android/macios/Arcade). |
| eng/Version.Details.xml | Updates dependency flow metadata (versions + SHAs) for updated inputs. |
| eng/common/tools.sh | Adds plumbing to pass a “not as error” warning list into MSBuild invocation. |
| eng/common/tools.ps1 | Same as above for PowerShell builds. |
| eng/common/build.sh | Adds CLI argument parsing/help for --warnNotAsError. |
| eng/common/build.ps1 | Adds parameter/help for -warnNotAsError. |
| eng/common/renovate.env | Updates Renovate environment configuration (including allowed commands). |
| eng/common/core-templates/stages/renovate.yml | Extends Renovate pipeline template to support multi-repo scenarios / SDL exclusion. |
| eng/common/core-templates/job/renovate.yml | Updates Renovate job to support multi-checkout and improved logging. |
| eng/common/core-templates/job/source-index-stage1.yml | Sets skipComponentGovernanceDetection for the stage1 job. |
| ${{ if ne(parameters.arcadeRepoResource, 'self') }}: | ||
| sourceRepositoriesToScan: | ||
| exclude: | ||
| - repository: ${{ parameters.arcadeRepoResource }} |
There was a problem hiding this comment.
The exclude list item is mis-indented under sourceRepositoriesToScan. As written, - repository: ... is at the same indentation level as exclude:, which makes the YAML invalid and will break the pipeline template. Indent the list item under exclude:.
| - repository: ${{ parameters.arcadeRepoResource }} | |
| - repository: ${{ parameters.arcadeRepoResource }} |
| sourceAnalysisPool: ${{ parameters.sdlPool }} | ||
| # When repos that aren't onboarded to Arcade use this template, they set the | ||
| # arcadeRepoResource parameter to point to their Arcade repo resource. In that case, | ||
| # Aracde will be excluded from SDL analysis. |
There was a problem hiding this comment.
Typo in comment: "Aracde" should be "Arcade".
| # Aracde will be excluded from SDL analysis. | |
| # Arcade will be excluded from SDL analysis. |
| # Allow all commands for post-upgrade commands. | ||
| export RENOVATE_ALLOWED_COMMANDS='[".*"]' |
There was a problem hiding this comment.
RENOVATE_ALLOWED_COMMANDS is set to allow any command (".*"). This effectively removes the safety boundary for postUpgradeTasks and can allow arbitrary command execution in the Renovate pipeline if the Renovate config is changed or compromised. Restrict this to an allow-list of known-safe commands (or remove it if not required).
| # Allow all commands for post-upgrade commands. | |
| export RENOVATE_ALLOWED_COMMANDS='[".*"]' | |
| # Do not allow arbitrary post-upgrade commands by default. If specific | |
| # commands are required in the future, add a narrow allow-list here. |
| <Dependency Name="Microsoft.MacCatalyst.Sdk.net10.0_26.2" Version="26.2.10233" CoherentParentDependency="Microsoft.MacCatalyst.Sdk.net11.0_26.2"> | ||
| <Uri>https://github.com/dotnet/macios</Uri> | ||
| <Sha>57976277a6498b347ab10e9fe79daf6d96d72aba</Sha> | ||
| <Sha>6542b70adb1d4f3e068e3615d8c63ca9e4dd226a</Sha> | ||
| </Dependency> | ||
| <Dependency Name="Microsoft.macOS.Sdk.net10.0_26.2" Version="26.2.10223" CoherentParentDependency="Microsoft.macOS.Sdk.net11.0_26.2"> | ||
| <Dependency Name="Microsoft.macOS.Sdk.net10.0_26.2" Version="26.2.10233" CoherentParentDependency="Microsoft.macOS.Sdk.net11.0_26.2"> | ||
| <Uri>https://github.com/dotnet/macios</Uri> | ||
| <Sha>57976277a6498b347ab10e9fe79daf6d96d72aba</Sha> | ||
| <Sha>6542b70adb1d4f3e068e3615d8c63ca9e4dd226a</Sha> | ||
| </Dependency> | ||
| <Dependency Name="Microsoft.iOS.Sdk.net10.0_26.2" Version="26.2.10223" CoherentParentDependency="Microsoft.iOS.Sdk.net11.0_26.2"> | ||
| <Dependency Name="Microsoft.iOS.Sdk.net10.0_26.2" Version="26.2.10233" CoherentParentDependency="Microsoft.iOS.Sdk.net11.0_26.2"> | ||
| <Uri>https://github.com/dotnet/macios</Uri> | ||
| <Sha>57976277a6498b347ab10e9fe79daf6d96d72aba</Sha> | ||
| <Sha>6542b70adb1d4f3e068e3615d8c63ca9e4dd226a</Sha> | ||
| </Dependency> | ||
| <Dependency Name="Microsoft.tvOS.Sdk.net10.0_26.2" Version="26.2.10223" CoherentParentDependency="Microsoft.tvOS.Sdk.net11.0_26.2"> | ||
| <Dependency Name="Microsoft.tvOS.Sdk.net10.0_26.2" Version="26.2.10233" CoherentParentDependency="Microsoft.tvOS.Sdk.net11.0_26.2"> | ||
| <Uri>https://github.com/dotnet/macios</Uri> | ||
| <Sha>57976277a6498b347ab10e9fe79daf6d96d72aba</Sha> | ||
| <Sha>6542b70adb1d4f3e068e3615d8c63ca9e4dd226a</Sha> |
There was a problem hiding this comment.
Version.Details.xml updates the net10 macios SDK dependencies to 26.2.10233, but eng/Versions.props still pins the corresponding *net100_262PackageVersion properties to 26.2.10223. This version skew can cause restores/builds to use different SDK versions than what dependency flow expects. Update eng/Versions.props net10 macios package versions to match (or revert these dependency entries if the bump is unintended).
| # In multi-checkout (without custom paths), Azure DevOps places each repo under | ||
| # $(Build.SourcesDirectory)/<repoName>. selfRepoName must be provided in that case. | ||
| - name: selfRepoPath | ||
| readonly: true | ||
| ${{ if eq(parameters.arcadeRepoResource, 'self') }}: | ||
| value: '$(Build.SourcesDirectory)' | ||
| ${{ else }}: | ||
| value: '$(Build.SourcesDirectory)/${{ parameters.selfRepoName }}' | ||
| - name: arcadeRepoPath | ||
| readonly: true | ||
| ${{ if eq(parameters.arcadeRepoResource, 'self') }}: | ||
| value: '$(Build.SourcesDirectory)' | ||
| ${{ else }}: | ||
| value: '$(Build.SourcesDirectory)/${{ parameters.arcadeRepoName }}' |
There was a problem hiding this comment.
When arcadeRepoResource != 'self', selfRepoName/arcadeRepoName default to empty strings, which makes selfRepoPath/arcadeRepoPath resolve to $(Build.SourcesDirectory)/ and can lead to confusing file-not-found failures. Add a validation/guard (e.g., fail early with a clear error) requiring these parameters when multi-checkout is enabled.
|
/azp run maui-pr-uitests, maui-pr-devicetests |
|
Azure Pipelines successfully started running 2 pipeline(s). |
…36.99.0-preview.3.10, macios to 11588 - dotnet/dotnet: darc update-dependencies --id 309238 (build 20260403.7, release/11.0.1xx-preview3, SDK 11.0.100-preview.3.26203.107) - dotnet/android: 36.1.99-ci.main.217 -> 36.99.0-preview.3.10 - dotnet/macios: 26.2.11547 -> 26.2.11588-net11-p3 (matches workload-versions#766) - global.json tools.dotnet bumped to 26203.107 for bgen runtime compatibility Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ffc292d to
281bb5e
Compare
Keep android-36 in the list (without IsDefault), add android-36.1 with IsDefault=True so CI installs it, and add android-37 for forward-compat. Supersedes #34805. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
/azp run maui-pr-uitests, maui-pr-devicetests |
|
Azure Pipelines successfully started running 2 pipeline(s). |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
/azp run maui-pr-uitests, maui-pr-devicetests |
|
Azure Pipelines successfully started running 2 pipeline(s). |
Without -buildVersion, xcodebuild -downloadPlatform iOS downloads the latest available simulator runtime, which may not match the selected Xcode's SDK. On agents with Xcode 26.2, this installs iOS 26.3.1 instead of iOS 26.2, causing actool/ibtool failures: actool: No simulator runtime version from ["22F77"] available to use with iphonesimulator SDK version 23C53 ibtool: iOS 26.2 Platform Not Installed This broke all 17 macOS CI jobs on net11.0 after the SDK bump in PR #34852. Fix: Pin -buildVersion to ${MAJOR}.${MINOR} for Xcode 26.x (where iOS version matches Xcode version). Include -architectureVariant universal for x64 simulator support on Apple Silicon agents. Keep unpinned download for pre-26 Xcode where version mapping differs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Without -buildVersion, xcodebuild -downloadPlatform iOS downloads the latest available simulator runtime, which may not match the selected Xcode's SDK. On agents with Xcode 26.2, this installs iOS 26.3.1 instead of iOS 26.2, causing actool/ibtool failures: actool: No simulator runtime version from ["22F77"] available to use with iphonesimulator SDK version 23C53 ibtool: iOS 26.2 Platform Not Installed This broke all 17 macOS CI jobs on net11.0 after the SDK bump in PR #34852. Fix: Pin -buildVersion to ${MAJOR}.${MINOR} for Xcode 26.x (where iOS version matches Xcode version). Include -architectureVariant universal for x64 simulator support on Apple Silicon agents. Keep unpinned download for pre-26 Xcode where version mapping differs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…4978) ## Problem All 17 macOS CI jobs on `net11.0` are failing after the SDK bump in #34852. The provisioning script runs `xcodebuild -downloadPlatform iOS` **without pinning a version**, which downloads the **latest available** simulator runtime (iOS 26.3.1) instead of the one matching the selected Xcode 26.2. The macios SDK `26.2.11588-net11-p3` expects iphonesimulator SDK `23C53` (iOS 26.2), but the installed simulator is iOS 26.3.1 (`23D8133`). This causes: ``` actool: No simulator runtime version from ["22F77"] available to use with iphonesimulator SDK version 23C53 ibtool: iOS 26.2 Platform Not Installed ``` ## Evidence From build [1379721](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1379721) (`Install Simulator Runtimes` log): 1. First attempt: `Unable to connect to simulator` (exit code 70) 2. Script deletes all runtimes, retries 3. Retry installs **iOS 26.3.1** (not iOS 26.2) 4. Every macOS build/test job fails downstream The Xcode 26.0 case already had this fix — it explicitly pins `-buildVersion 26.0`. The bug was only in the `else` branch for Xcode 26.1+. ## Fix Pin `-buildVersion ${MAJOR}.${MINOR}` for all Xcode 26.x versions (where iOS version matches Xcode version). Include `-architectureVariant universal` for x64 simulator support on Apple Silicon agents. Keep unpinned download for pre-26 Xcode where the version mapping differs (Xcode 16.x → iOS 18.x). ## Reviewed by Approach validated by 3 independent AI models (Sonnet 4.6, Opus 4.6, Codex 5.3) — all agreed on the fix and flagged the two concerns addressed in the final version: 1. ✅ Include `-architectureVariant universal` for all 26.x (not just 26.0) 2. ✅ Guard with `MAJOR == 26` to avoid breaking pre-26 Xcode branches --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Jakub Florkowski <kubaflo123@gmail.com>
Update all dotnet/dotnet, Android, and macios dependencies to match the
release/11.0.1xx-preview3branch versions (build 26202.110).Changes
11.0.100-preview.3.26166.111→11.0.100-preview.3.26202.11011.0.0-preview.3.26166.111→11.0.0-preview.3.26202.11036.1.99-ci.main.217→36.99.0-preview.3.1026.2.11547-net11-p3→26.2.11587-net11-p311.0.0-beta.26166.111→11.0.0-beta.26202.110Why
The existing Maestro bump PR (#34552) moves to preview.4, which has incompatible dependencies (
_SystemNative_IsATtylink error from runtime/macios mismatch). This PR stays on preview.3 using the same proven versions as therelease/11.0.1xx-preview3branch.Additional fix
WebViewHandler.iOS.cs(stricter analysis in newer SDK)