Skip to content

[pull] main from dotnet:main - #1307

Merged
pull[bot] merged 1 commit into
MaxMood96:mainfrom
dotnet:main
Feb 24, 2026
Merged

pull[bot] merged 1 commit into
MaxMood96:mainfrom
dotnet:main

Conversation

@pull

@pull pull Bot commented Feb 24, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Stop building API 36.0 as a separate stable target and make
net11.0-android36.1 the sole default target framework for .NET 11.
Targeting net11.0-android36 (36.0) is no longer supported on .NET 11;
it remains valid for net10.0.

Changes:

- Configuration.props: Set AndroidLatestStableApiLevel to 36.1,
  update framework version to v16.1, comment out
  AndroidLatestStableApiLevel2 with a 37.1 example for future use
- SupportedPlatforms.targets: Default TargetPlatformVersion changed
  to 36.1, mark 36.0 as DefineConstantsOnly (no targeting pack)
- BundledVersions.targets: Update generated _AndroidLatestStableApiLevel
- Mono.Android.csproj: Adjust IsUnstableVersion to handle the
  commented-out AndroidLatestStableApiLevel2 gracefully
- AndroidToolchain.cs: Remove isLatestStable from platform-36
- Xamarin.Android.Common.props: Update AndroidSdkPlatformVersion
- Tests: Remove android36 (Major-only) test case from
  Get_DotNetTargetFrameworks_Data, replace hardcoded .1 references
  with XABuildConfig.AndroidLatestStableApiLevel

Other changes:

- Add acceptable API breakages for v16.1 (API 36.1 vs 36.0)
- Add vReference acceptable breakages for WifiConfiguration and TelephonyManager
- Update workload manifest packs from 36 to 36.1
- Update various tests for the new behavior

~~ AMM0000 ~~

- Fix AMM0000: don't round-trip TargetSdkVersion through GetIdFromApiLevel

When multiple API versions share the same ApiLevel (e.g. 36.0 and 36.1
both have ApiLevel=36), GetIdFromApiLevel(36) can return '36.1' if that
entry appears first in installedVersions. This causes the manifest merger
to reject the non-integer targetSdkVersion value.

TargetSdkVersion is already resolved to the integer API level string by
GenerateMainAndroidManifest, so return it directly instead of round-tripping
through GetIdFromApiLevel which can pick the wrong version's Id.

- Fix MinSdkVersionName round-trip through GetIdFromApiLevel

Same issue as TargetSdkVersionName: MinSdkVersion is already resolved to
an integer API level string by GenerateMainAndroidManifest. Round-tripping
through GetIdFromApiLevel() returns '36.1' for input '36' when both 36.0
and 36.1 share ApiLevel=36, which then fails int.TryParse and falls back
to AndroidMinimumDotNetApiLevel (21).
@pull pull Bot locked and limited conversation to collaborators Feb 24, 2026
@pull pull Bot added the ⤵️ pull label Feb 24, 2026
@pull
pull Bot merged commit 3c50ff4 into MaxMood96:main Feb 24, 2026
1 of 2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant