Releases: dotnet/android
Release list
.NET 11 Preview 7, Android 37.0.0-preview.7.2131
This release is not yet available from the Visual Studio installer. Download the .NET 11 Preview 7 SDK, followed by:
> dotnet workload install android
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 37.0.0-preview.7.2131/11.0.100-preview.7 SDK 11.0.100-preview.7
What's Changed
- [installer] Suppress legacy XML doc warnings by @simonrozsival in #11724
- [build] Provision .NET SDK via standard scripts, drop xaprepare's installer by @jonathanpeppers in #11636
- $(AndroidPackVersionSuffix)=preview.7; main is .NET 11 preview 7 by @jonathanpeppers in #11725
- [xaprepare] Remove empty Scenario_AndroidTestDependencies and Scenario_EmulatorTestDependencies by @jonathanpeppers in #11731
- [xaprepare] Check in Ndk.projitems, remove generator by @jonathanpeppers in #11733
- Enable ManagedPeer native registration for LLVM typemap by @simonrozsival in #11735
- Add XML documentation to System.Linq.Extensions.ToEnumerable methods by @jonathanpeppers with @Copilot in #11742
- [xaprepare] Remove unused tool runners and helper classes by @jonathanpeppers in #11740
- [aw] Replace 3 always-noop nightly-fix-finder categories by @jonathanpeppers in #11739
- [build] Remove orphan .in templates from build-tools/scripts/ by @jonathanpeppers in #11737
- Tests: rename InstantRunTest to FastDevTest and drop duplicate by @jonathanpeppers in #11736
- [xaprepare] Remove redundant Configuration.Generated.props generation by @jonathanpeppers in #11732
- [Mono.Android] Add XML docs to KeyCharacterMap convenience overloads by @jonathanpeppers with @Copilot in #11746
- [tests] Verbose apkdiff output for BuildReleaseArm64 regressions by @simonrozsival in #11758
- Disable failing weak reference leak test by @simonrozsival in #11755
- [TrimmableTypeMap] Fix trimmable manifest generation parity by @simonrozsival in #11752
- [TrimmableTypeMap] Extract JavaMarshal registered peer tracking by @simonrozsival in #11750
- [ci] Android PR Reviewer: restrict to COMMENT events only by @jonathanpeppers in #11762
- [xaprepare] Move CMake file generation into a dedicated MSBuild project by @jonathanpeppers in #11760
- [androidsdk] Fix SDK extraction incrementality by @simonrozsival in #11756
- Bump com.android.application from 8.7.0 to 9.2.1 in /src/proguard-android by @dependabot[bot] in #11717
- Disable flaky incremental build timing test by @simonrozsival with @Copilot in #11793
- [tests] Fix CA1416 root cause in test projects instead of suppressing it by @simonrozsival in #11761
- [TrimmableTypeMap] Don't stage shrunk assemblies into the shared runtime pack on NativeAOT by @simonrozsival in #11791
- [TrimmableTypeMap] Keep user AndroidJavaSource Java under R8 shrinking by @simonrozsival in #11798
- [TrimmableTypeMap] Honor AndroidApplicationJavaClass for the JCW base and manifest by @simonrozsival in #11794
- Fix misleading XA4243 error when more than one JavaArtifact is specified by @jonathanpeppers with @Copilot in #11785
- [TrimmableTypeMap] Improve trimmable typemap build incrementality by @simonrozsival in #11764
- [TrimmableTypeMap] Fix inherited generic base typemap refs by @simonrozsival in #11749
- [TrimmableTypeMap] Generate the typemap before the NativeAOT inner build so the IDE Compile→Sign flow works by @simonrozsival in #11789
- [TrimmableTypeMap] Complete trimmable manifest generation parity by @simonrozsival in #11796
- [skills] Update CI status skill for public pipeline by @simonrozsival in #11670
- [TrimmableTypeMap] Use non-generic JavaPeerProxy base for interface proxies (NativeAOT) by @simonrozsival in #11769
- [TrimmableTypeMap] Add trimmable array proxy mapping by @simonrozsival in #11753
- [TrimmableTypeMap] Skip unresolvable trimmable typemap peers by @simonrozsival in #11751
- [Mono.AndroidTools] Enable nullable reference types in AdbSyncNotification.cs by @jonathanpeppers with @Copilot in #11778
- [xaprepare] Remove vestigial OS dependency provisioning by @jonathanpeppers in #11803
- [build] Add escalating backoff between download retry attempts by @simonrozsival in #11817
- [ci] Fail fast and retry transient failures on 'extract workload packs' by @simonrozsival with @Copilot in #11816
- [TrimmableTypeMap] Java.Interop bump and update to ValueManagers and TypeManagers by @simonrozsival in #11799
- Enable nullable reference types in AndroidDiskInformation.cs by @jonathanpeppers with @Copilot in #11813
- Fix flaky AllProjectsHaveSameOutputDirectory on Windows via delete-with-retry by @simonrozsival with @Copilot in #11807
- [gh-aw] Migrate workflows to Copilot PAT Pool by @vitek-karas in #11757
- Remove redundant null-forgiving operator in MamJsonParser.ReadClassRewrites by @jonathanpeppers with @Copilot in #11772
- Fix flaky
DebuggingTest.ApplicationRunsWithoutDebugger: increase activity-start timeout from 30s to 150s by @simonrozsival with @Copilot in #11811 - [xaprepare] Use Microsoft.SourceLink.GitHub instead of hand-rolled SourceLink.json by @jonathanpeppers in #11821
- Migrate nuget-msi-convert to v5.yml (WiX 6) by @jonathanpeppers in #11743
- [gh-aw] Bump gh-aw setup action to v0.81.6 across PAT pool workflows by @jonathanpeppers in #11823
- [ci] Retry on-device install, fail fast, diagnose failures, always capture logcat by @simonrozsival in #11831
- [FastDeploy] Retry first run-as query to absorb post-install data-dir race (XA0137) by @simonrozsival with @Copilot in #11809
- [ci] Free disk space before post-job cache save on public Linux agents by @simonrozsival in #11838
- Merge dotnet/java-interop into external/Java.Interop with full history by @jonathanpeppers in #11744
- [xaprepare] Move XABuildConfig generation to AndroidBuildConfig.dll by @jonathanpeppers in #11826
- [tests] Capture device state on device-test failure by @simonrozsival in #11832
- [xaprepare] Move cgmanifest.json generation from xaprepare to YAML by @jonathanpeppers in #11825
- Merge Java.Interop .github/ into dotnet/android after repo unification by @jonathanpeppers in #11942
- [external/Java.Interop] Remove standalone-repo scaffolding after merge by @jonathanpeppers in #11943
- [xaprepare] Delete redundant Windows JdkInfo.props generator by @jonathanpeppers in #11946
- [xaprepare] Remove BuildInfo / GitRunner.Blame orphans left by #11826 by @jonathanpeppers in #11945
- [external/Java.Interop] Drop nested xamarin-android-tools submodule by @jonathanpeppers in #11944
- [xaprepare] Move Configuration.OperatingSystem.props JDK values to JdkInfo.props by @jonathanpeppers in #11956
- Re-add a Mono Android test leg by @kotlarmilos in #11953
- Replace AssemblyStore compression algorithm LZ4 with Zstd by @simonrozsival with @Copilot in #11730
- [TrimmableTypeMap] Match n_* callback boolean/char to each binding's real signature by @simonrozsival in #11802
- [TrimmableTypeMap] Reflection-free TrimmableTypeMapType/ValueManager by @simonrozsival in #11801
- [docs] Reword terms flagged by PoliCheck by @jonathanpeppers in #11961
- [ci] Fix Java.Interop test lanes on internal 1ES pipeline by @jonathanpeppers in #11957
- [xaprepare] Delete Config...
.NET 11 Preview 6, Android 37.0.0-preview.6.59
This release is not yet available from the Visual Studio installer. Download the .NET 11 Preview 6 SDK, followed by:
> dotnet workload install android
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 37.0.0-preview.6.59/11.0.100-preview.6 SDK 11.0.100-preview.6
What's Changed
- $(AndroidPackVersionSuffix)=preview.6; main is .NET 11 preview 6 by @jonathanpeppers in #11519
- Drop global Instance of JavaMarshalValueManager by @simonrozsival in #11524
- [TrimmableTypeMap] Improve trimmable typemap framework roots by @simonrozsival in #11498
- [TrimmableTypeMap] Generate NativeAOT ProGuard rules from DGML by @simonrozsival in #11449
- [tests] Fix UrlEscaping_Bug43411 to actually run and assert correctly by @jonathanpeppers in #11523
- [ci] Scope Dependabot NuGet scanning to stable-SDK directories by @jonathanpeppers in #11522
- Enable nullable reference types in
GenerateNativeAotEnvironmentAssemblerSources.csby @jonathanpeppers with @Copilot in #11546 - ci: declare least-privilege workflow-level contents: read by @arpitjain099 in #11544
- [build] Move Android SDK + NDK component downloads from xaprepare to MSBuild by @jonathanpeppers in #11440
- Sync SystemNative pinvoke tables with dotnet/runtime by @jonathanpeppers in #11531
- [Xamarin.Android.Build.Tasks] Fix _CreateAar race under parallel build by @jonathanpeppers in #11527
- [TrimmableTypeMap] Fix trimmable typemap single-RID release builds by @simonrozsival in #11499
- [ci] Target NuGet Dependabot updates at release/10.0.1xx by @jonathanpeppers in #11555
- Fix AndroidMessageHandler response body cancellation by @simonrozsival in #11554
- Use Properties.Resources.XA0140 instead of hardcoded string in GetAssetPacks.cs by @jonathanpeppers with @Copilot in #11565
- [CoreCLR] Stop serving BCL p/invokes from the precompiled override by @simonrozsival in #11537
- Track Microsoft.DotNet.Arcade.Sdk dependency to flow eng/common by @jonathanpeppers in #11556
- Replace Step_CopyExtraResultFilesForCI with a YAML template by @jonathanpeppers in #11568
- [build] android-platform-support repo consolidation by @jonathanpeppers in #11529
- Move hardcoded error string in PrepareAbiItems.cs to Resources.resx by @jonathanpeppers with @Copilot in #11574
- Add XML documentation to
Android.Graphics.ColorARGB component properties by @jonathanpeppers with @Copilot in #11582 - [build] Remove unused bin/configuration.mk by @jonathanpeppers in #11580
- [tests] Remove always-true AssertCommercialBuild() / CommercialBuildAvailable by @jonathanpeppers in #11577
- [build] Drop always-true _HasCommercialFiles / _AndroidFastDeploymentSupported gates by @jonathanpeppers in #11576
- [build] Drop unused protobuf-net references from Mono.AndroidTools by @jonathanpeppers in #11592
- Enable nullable reference types in
DetectIfAppWasUninstalled.csby @jonathanpeppers with @Copilot in #11599 - Remove obsolete misspelled
IncompatibleCpuAbiExceptiopnclass and dead code references by @jonathanpeppers with @Copilot in #11597 - Move hardcoded IL6001 warning string to Resources.resx by @jonathanpeppers with @Copilot in #11594
- Fix _AfterILLinkAdditionalSteps breaking IlcCompile incrementalism by @sbomer in #11509
- [build] Check in Mono.Android.Apis.projitems, remove generator by @jonathanpeppers in #11608
- [Xamarin.AndroidTools] Remove dead VS Mac / legacy code by @jonathanpeppers in #11607
- [ci] Make dnceng-public the default PR pipeline; disable PR triggers on DevDiv pipeline by @jonathanpeppers in #11578
- Bump
$(AndroidPackVersion)to 37.0.0 by @jonathanpeppers in #11611 - [tests] Improve DoNotLeakWeakReferences reliability by @jonathanpeppers in #11615
- [tests] Use Android.Util.Log in JnienvTest.ThreadReuse callback by @jonathanpeppers in #11614
- [ci] Cache Android toolchain downloads + bump
DownloadFileretries by @jonathanpeppers in #11618 - [cleanup] Delete unused public types from inlined platform-support projects by @jonathanpeppers in #11612
- Enable nullable reference types in
ExecutionConfiguration.csby @jonathanpeppers with @Copilot in #11621 - Dogfood
dotnet testfor Mono.Android device tests by @jonathanpeppers in #11224 - [build] Remove Step_PrepareProps; fold values into eng/Versions.props by @jonathanpeppers in #11613
- Remove obsolete
AndroidToolsPathpragma suppressions inAndroidSdk.csby @jonathanpeppers with @Copilot in #11628 - [build] Remove omnisharp.json generation from xaprepare by @jonathanpeppers in #11631
- Add XML documentation to
Android.Util.Logconvenience overloads by @jonathanpeppers with @Copilot in #11638 - Bump gh-aw from v0.74.8 to v0.79.6 by @jonathanpeppers in #11645
- [ci] Update agentic workflows to claude-opus-4.8 by @jonathanpeppers in #11646
- [build] Add shared DownloadFileWithRetry target and use it for SDK downloads by @jonathanpeppers in #11647
- [TrimmableTypeMap] Add trimmable DotNetRun cases by @simonrozsival in #11486
- Use Properties.Resources.XA0002 instead of hardcoded string in GetMonoPlatformJar by @jonathanpeppers with @Copilot in #11651
- Add XML documentation to Android.Graphics.Color static component-accessor methods by @jonathanpeppers with @Copilot in #11649
- [Tests] Remove dead GetInnerHandlerType helper by @simonrozsival in #11665
- [Xamarin.Android.Build.Tasks] Remove dead InstantRun leftovers by @jonathanpeppers in #11656
- [Mono.Android] Remove dead Java.Interop.__TypeRegistrations plumbing by @simonrozsival in #11667
- [gh-aw] disable AI-credit guardrails (max-daily / max-ai) by @jonathanpeppers in #11659
- Remove stale commented-out input-size-limit code in AssemblyCompression.cs by @jonathanpeppers with @Copilot in #11677
- [Tests] Enable SubscribeToAppDomainUnhandledException on CoreCLR by @jonathanpeppers in #11673
- Bump MSTest to 4.2.3 in androidtest template by @jonathanpeppers in #11675
- [skills] Update tests skill for MTP device tests + docs by @simonrozsival in #11680
- [gh-aw] Eliminate magic GH_AW_* secret references from lock files by @jonathanpeppers in #11685
- Remove legacy projects importing Xamarin.Android.CSharp.targets by @jonathanpeppers in #11684
- Add backport workflow for cherry-picking PRs to release branches by @jonathanpeppers in #11691
- [build] skip DownloadOneFileWithRetry on no-op builds by @jonathanpeppers in #11693
- [build] Fix
tools//<file>paths in Microsoft.Android.Sdk pack by @jonathanpeppers in #11689 - Enable nullable reference types in JdkPackage.cs by @jonathanpeppers with @Copilot in #11687
- [Xamarin.Android.Build.Tasks] warn XA0149 on legacy
__AndroidEnvironment__resources by @jonathanpeppers in #11700 - [ci] Fix network isolation requirements by @dalexsoto in #11701
- [ci] Move hosted Mac agents to macOS-15 by @jonathanpeppers in #11708
- Surface HttpRequestException from AndroidMessageHandler by @jonathanpeppers with @Copilot in #11682
- [native] Skip cmake reconfigure on no-op builds by @jonathanpeppers in #11704
- [Xamarin.Android.Build.Tasks] Skip library proguard.txt with disallowed globa...
.NET 10 Servicing, Android 36.1.69
The latest .NET MAUI component is available in Visual Studio 2026 or higher:
You can also download the .NET 10 SDK directly, followed by:
> dotnet workload install android --version 10.0.301.1
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 36.1.69/10.0.100 SDK 10.0.100
What's Changed
- [release/10.0.1xx] [tests] Add regression test for global ref leak in LayoutInflater.Inflate by @jonathanpeppers in #11134
- [release/10.0.1xx] [xabt] Fix wrong-TFM assembly loading -> empty
.jlo.xmlfiles by @jonathanpeppers in #11248 - [release/10.0.1xx] Emit NETSDK1202 EOL warning for net9.0-android projects by @jonathanpeppers in #11349
Full Changelog: 36.1.53...36.1.69
.NET 11 Preview 5, Android 36.99.0-preview.5.308
This release is not yet available from the Visual Studio installer. Download the .NET 11 Preview 5 SDK, followed by:
> dotnet workload install android
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 36.99.0-preview.5.308/11.0.100-preview.5 SDK 11.0.100-preview.5
TLDR
.NET for Android stabilizes API 37
.NET for Android graduates API 37 / Android 17 from preview to Stable and defaults .NET 11 projects to target net11.0-android37 only (dotnet/android #11151, dotnet/android #11254). You no longer need EnablePreviewFeatures to consume Android 17 APIs.
🚨 Minimum API level unified to 24
.NET for Android now uses a single minimum supported API level — API 24 (Android 7.0) — across all runtimes (Mono, CoreCLR, and NativeAOT) (dotnet/android #11331). Previously the floor differed by runtime; consolidating on API 24 simplifies the support matrix and lets the workload drop conditional code paths for older versions. Existing projects with SupportedOSPlatformVersion lower than 24.0 should bump it before upgrading to .NET 11.
What's Changed
- $(AndroidPackVersionSuffix)=preview.5; main is .NET 11 preview 5 by @jonathanpeppers in #11222
- Bump com.android.tools.build:manifest-merger from 32.1.1 to 32.2.0 in /src/manifestmerger by @dependabot[bot] in #11217
- [TrimmableTypeMap] Add CoreCLRTrimmable Mono.Android.NET-Tests lane by @simonrozsival in #11091
- [xabt] Validate extracted zip entry paths in
ExtractJarsFromAarby @jonathanpeppers in #11212 - Remove
$(AndroidGenerateJniMarshalMethods)support by @jonathanpeppers in #11135 - [XABT] Remove
RunCheckedBuild/_AndroidJLOCheckedBuildinfrastructure by @jonathanpeppers in #11228 - Delete obsolete Documentation/workflow/HowToBumpMono.md by @jonathanpeppers in #11236
- [Hot Reload] Parameterize DotNetWatchHotReload test and remove Mono STARTUP_HOOKS workaround by @jonathanpeppers in #11240
- Fix JavaList.Remove() always-false guard condition (
&&->||) by @jonathanpeppers in #11237 - Error when Mono-specific AOT settings are enabled with CoreCLR by @Copilot in #11246
- [Mono.Android] Enumify API-37.0, API-37.0 is "Stable" by @jonpryor in #11151
- [CoreCLR] Exclude diagnostic libraries from release APKs by @simonrozsival in #11245
- [TrimmableTypeMap] JavaCast/JavaAs + container support by @simonrozsival in #11225
- [NativeAOT] Take over native linker invocation from ILC targets by @sbomer in #11148
- [tests] Skip PerformanceTest on slow CI machines using evaluation time by @jonathanpeppers in #11249
- [build] Remove WearOS emulator CI lane by @jonathanpeppers in #11257
- Add
.lscacheto .gitignore by @jonathanpeppers in #11253 - [NativeAOT] Decouple ILC from ILLink for trimmable type map path by @sbomer in #11183
- [NativeAOT] Add GenerateNativeAotBootstrapSources task by @sbomer in #11255
- Split android-reviewer review-rules.md into conditional rule files by @jonathanpeppers in #11266
- [xabt] Use Load() in RunPipeline instead of pre-loading all assemblies by @jonathanpeppers in #11250
- Bump external/xamarin-android-tools and fix NRT warnings by @jonathanpeppers in #11247
- [TrimmableTypeMap] Fix app initialization and startup by @simonrozsival in #11252
- [tests] Root StartupHook test assembly directly by @simonrozsival in #11280
- [build] Audit xaprepare third-party notices by @jonathanpeppers in #11267
- Remove XA1024 warning for
.configfiles by @Copilot in #11263 - [NativeAOT] Fix incremental build test with trimmable type map by @sbomer in #11283
- [TrimmableTypeMap] Reject open generic JNI construction by @simonrozsival in #11273
- Fix NonShipping casing for Xamarin.Android.Tools.AndroidSdk package by @jonathanpeppers in #11281
- Attempt to fix
dotnet restorehang during prepare step by @jonathanpeppers in #11282 - [build] Replace TPN generation with checked-in file + skill by @jonathanpeppers in #11284
- [tests] Mark ProxyTest as Inconclusive on network failure by @jonathanpeppers in #11288
- [TrimmableTypeMap] Improve array handling by @simonrozsival in #11238
- [build] Default .NET 11 to target
net11.0-android37only by @jonathanpeppers in #11254 - [TrimmableTypeMap] Keep array rank anchors private by @simonrozsival in #11297
- [NativeAOT] Use NativeLinker and invoke lld directly for linking by @sbomer in #11256
- [ci] Apply MAUI Android 37 patch by @simonrozsival in #11302
- [xaprepare] Remove NuGet scanning from Step_GenerateCGManifest by @jonathanpeppers in #11299
- Revert "[ci] Apply dotnet/maui Android 37 patch (#11302)" by @jonathanpeppers in #11309
- Fix dotnet restore hang in Step_InstallDotNetPreview by @jonathanpeppers in #11310
- [TrimmableTypeMap] Use trimmable Java proxy runtime sources by @simonrozsival in #11271
- [xaprepare] Remove dead Step_DetermineAzurePipelinesTestJobs by @jonathanpeppers in #11308
- [tests] Add DotNetRunCtrlC integration test by @jonathanpeppers in #11293
- Add EnableOnBackInvokedCallback property to ApplicationAttribute by @Copilot in #11307
- [TrimmableTypeMap] Enable JNI replacement APIs by @simonrozsival in #11270
- Bump com.android.tools.build:manifest-merger from 32.2.0 to 32.2.1 in /src/manifestmerger by @dependabot[bot] in #11315
- [TrimmableTypeMap] Compute generated IL maxstack by @simonrozsival in #11260
- [xaprepare] Remove desktop Mono provisioning and dead Mono-related code by @jonathanpeppers in #11324
- Bump to DevDiv/android-platform-support/main@120fcc4a by @jonathanpeppers in #11325
- [build] Replace custom
<DownloadUri/>task with built-in<DownloadFile/>by @jonathanpeppers in #11330 - [TrimmableTypeMap] Fix UCO constructor activation by @simonrozsival in #11275
- Skip ILC LinkNative target for NativeAOT, remove llvm-ar dependency by @sbomer in #11329
- [TrimmableTypeMap] Use separate trimmable Java.Interop test jar by @simonrozsival in #11336
- [Diagnostics] Enable .NET Runtime crash reporting before signal chaining by @Copilot in #11291
- [TrimmableTypeMap] Use Crc64 package naming by default with LowercaseCrc64 compatibility by @Copilot in #11193
- [TrimmableTypeMap] Add trimmable typemap runtime coverage tests by @simonrozsival in #11337
- [NativeAOT] Enable workload-provided linker for NDK-free builds by @sbomer in #11303
- [build] Replace
Step_InstallGNUBinutilswith MSBuild targets by @jonathanpeppers in #11332 - Remove unnecessary Task.Run from androidtest template by @jonathanpeppers in #11339
- [TrimmableTypeMap] Refuse [JniAddNativeMethodRegistrationAttribute] with XA4251 by @simonrozsival in #11274
- Add XML documentation to
JValuestruct by @Copilot in #11354 - Add missing XML documentation to AndroidMessageHandler public properties by @Copilot in #11360
- [tests] Set xamarin_manifest_needs_updating to false for API 37 by @sbomer in #11367
- Add XML documentation to
AndroidBitmapInfostruct by @Copilot in #11362 - Add XML documentation to
Android.Security.KeyChainpublic methods by @Copilot in #11364 - Bump
7-Zip.CommandLinefrom 18.1.0 ...
.NET 11 Preview 4, Android 36.99.0-preview.4.137
This release is not yet available from the Visual Studio installer. Download the .NET 11 Preview 4 SDK, followed by:
> dotnet workload install android
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 36.99.0-preview.4.137/11.0.100-preview.4 SDK 11.0.100-preview.4
What's Changed
- $(AndroidPackVersionSuffix)=preview.4; main is .NET 11 preview 4 by @jonathanpeppers in #10984
- Use shared EmulatorRunner from android-tools for BootAndroidEmulator by @rmarinho in #10949
- Bump com.android.tools:r8 from 9.0.32 to 9.1.31 in /src/r8 by @dependabot[bot] in #10992
- Move
AddKeepAlivestrimmer step to post-trimming task by @sbomer in #10952 - Fix
dotnet runfailing with multiple AVDs present by @rmarinho in #11001 - Root [Export] callback delegates to prevent GC on CoreCLR by @Copilot in #10997
- Track AndroidManifestOverlay changes in _ManifestMerger by @Redth in #11007
- [TrimmableTypeMap] Implement runtime TypeManager, ValueManager, and JavaConvert by @simonrozsival in #10967
- [TrimmableTypeMap] Emit direct RegisterNatives with UTF-8 RVA data by @simonrozsival in #10988
- [TrimmableTypeMap] Add ManifestGenerator by @simonrozsival in #10991
- [TrimmableTypeMap] Use JniNativeMethod for RegisterNatives bootstrap by @simonrozsival in #11002
- [TrimmableTypeMap] Fix JniNameToJavaName by @simonrozsival in #11032
- [TrimmableTypeMap] Fix NativeCallbackName and DeclaringType derivation from Connector by @simonrozsival in #11033
- Add "tests" Copilot skill with test discovery and source-to-test mapping by @simonrozsival in #11014
- [build] Add
build-summarystage toXamarin.Android-PRpipeline by @jonathanpeppers in #10982 - Move CheckForObsoletePreserveAttribute into PostTrimmingPipeline by @Copilot in #11009
- Fix emulator boot and deploy flow for
dotnet runby @rmarinho in #10969 - Add ci-status Copilot skill for PR build investigation by @simonrozsival in #11024
- Move
RemoveResourceDesignertrimmer step to post-trim pipeline by @sbomer in #10977 - Enable more tests to run on all 3 runtimes, part 13 by @grendello in #10635
- [Mono.Android] Bind API-37 Beta 3 by @jonpryor in #11038
- [build] Cache Gradle downloads between CI runs by @jonathanpeppers in #10986
- Handle transient ConnectException globally in on-device HTTP tests by @Copilot in #11057
- [TrimmableTypeMap] Assembly-level manifest attribute scanning by @simonrozsival in #11035
- [TrimmableTypeMap] Fix thread safety in TrimmableTypeMap.Initialize by @Copilot in #11049
- Move FixAbstractMethodsStep out of ILLink process by @sbomer in #11029
- [TrimmableTypeMap] Extract TrimmableTypeMapGenerator from MSBuild task by @simonrozsival in #11034
- Remove obsolete
RemoveAttributesBasefromMicrosoft.Android.Sdk.ILLinkby @Copilot in #11061 - [TrimmableTypeMap] Fix [Export] JNI signature mapping for non-primitive parameter types by @Copilot in #11051
- [TrimmableTypeMap] Fix manifest builder gaps: SupportsGLTexture, UsesPermissionFlags, RoundIcon, dedup by @simonrozsival in #11044
- [Tests] Bump default AGP to 9.1.0 for compileSdk 36 compatibility by @simonrozsival in #11043
- Update nullable review rule to check project-level setting by @jonathanpeppers in #11073
- Move RemoveResourceDesignerStep out of ILLink process by @sbomer in #11039
- [skills] Improve android-reviewer skill based on eval findings by @jonathanpeppers in #11075
- [TrimmableTypeMap] Build pipeline: targets, stubs, manifest integration, feature switches by @simonrozsival in #11036
- [TrimmableTypeMap] Add typed logger interface by @simonrozsival in #11095
- [TrimmableTypeMap] Pass TargetType and InvokerType through JavaPeerProxy constructor by @simonrozsival in #11092
- [TrimmableTypeMap] Fix UCO constructor activations by @simonrozsival in #11094
- [TrimmableTypeMap] Use proxy associations for managed -> JNI lookups by @simonrozsival in #11100
- Exclude satellite assemblies from _PostTrimmingPipeline by @sbomer in #11086
- [TrimmableTypeMap] Scanner and JCW edge-case fixes by @simonrozsival in #11096
- [TrimmableTypeMap] Runtime-only trimmable typemap support by @simonrozsival in #11090
- [TrimmableTypeMap] Root AndroidManifest-referenced types by @simonrozsival in #11037
- Remove duplicate @ prefix from issueAuthor in GitOps by @akoeplinger in #11082
- Fix API 37 platform directory name: android-37 to android-37.0 by @jonathanpeppers in #11072
- [TrimmableTypeMap] Add GetStaticMethodFallbackTypesCore override for desugared default interface methods by @Copilot in #11050
- Move FixLegacyResourceDesignerStep to post-trim pipeline by @sbomer in #11059
- [TrimmableTypeMap] Propagate deferred registerNatives to base classes by @simonrozsival in #11105
- Remove broken 'Windows > Tests > Debugging' CI lane by @jonathanpeppers in #11109
- Use Assert.Inconclusive for emulator acquisition failures by @jonathanpeppers in #11110
- [dotnet test] Add
androidtestproject template anddotnet runinstrumentation support by @jonathanpeppers in #10862 - Remove unused HashSet allocations in HashJavaNames by @jonathanpeppers in #11124
- Document AndroidInstrumentation and EnableMSTestRunner build properties by @Copilot in #11129
- Remove experimental
AndroidGenerateJniMarshalMethodsfeature by @jonathanpeppers in #11128 - [Mono.Android] fix global ref leak in TypeManager.Activate by @jonathanpeppers in #11112
- Avoid O(n²) array growth in GenerateTypeMappings by @jonathanpeppers in #11127
- [TrimmableTypeMap] Fix IL1034 by excluding app assembly from trimmer roots by @simonrozsival in #11144
- Port TypeMapObjectsXmlFile.Import to XmlReader streaming by @jonathanpeppers in #11126
- Compute Java name hashes on demand instead of pre-computing both by @jonathanpeppers in #11132
- Add investigation & debugging practices to copilot-instructions by @simonrozsival in #11141
- [copilot] Add /review agentic workflow and update android-reviewer skill by @jonathanpeppers in #11149
- [copilot] Use Claude Opus 4.6 for android-reviewer workflow by @jonathanpeppers in #11150
- Set
min-integrity: noneon /review workflow by @jonathanpeppers in #11152 - Use stackalloc in TypeMapHelper to reduce allocations by @jonathanpeppers in #11133
- [ci] Only run dnceng-public pipeline for fork PRs by @jonathanpeppers in #11153
- Guard Mono-specific AOT targets for CoreCLR runtime, add XA1042 warning by @Copilot in #11070
- Run FixLegacyResourceDesigner before trimming by @sbomer in #11084
- [TrimmableTypeMap] Manifest generator fixes by @simonrozsival in #11143
- [TrimmableTypeMap] Package CoreCLR preserve list in SDK pack by @simonrozsival in #11142
- [TrimmableTypeMap] Runtime and typemap generator fixes by @simonrozsival in #11145
- Add network allowlist to android-reviewer workflow by @jonathanpeppers in #11164
- Bump com.android.tools.build:manifest-merger from 32.1.0 to 32.1.1 in /src/manifestmerger by @dependabot[bot] in https://github.com/dotnet/a...
.NET 11 Preview 3, Android 36.99.0-preview.3.10
This release is not yet available from the Visual Studio installer. Download the .NET 11 Preview 3 SDK, followed by:
> dotnet workload install android
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 36.99.0-preview.3.10/11.0.100-preview.3 SDK 11.0.100-preview.3
Android 17 / API 37 Preview Support
We’re grateful to the Uno Platform team for their deep collaboration with the .NET MAUI team in preparation for .NET 11 Preview 3. Their contributions helped ensure .NET for Android is aligned with Google’s latest platform updates, enabling developers to take advantage of Android 17 previews and API 37 right away. This kind of partnership strengthens the .NET ecosystem and reflects our shared commitment to delivering high-quality, cross-platform developer experiences.
To opt into API-37, you can change your .csproj to:
<PropertyGroup>
<TargetFramework>net11.0-android37</TargetFramework>
<EnablePreviewFeatures>true</EnablePreviewFeatures>
</PropertyGroup>To install API-37 in Visual Studio's SDK manager, you can use Tools > Android > Android SDK Manager > Repository > Full List:
Note
By default the SDK manager will install to C:\Program Files (x86)\Android\android-sdk\platforms\android-37.0, which will not be automatically located by .NET for Android. Temporarily renamed the folder to C:\Program Files (x86)\Android\android-sdk\platforms\android-37, while we address this in a future release.
See our API-37 HPKE Encryption Sample for a full example on calling new APIs available in Android 17.
What's Changed
- $(AndroidPackVersionSuffix)=preview.3; main is .NET 11 preview 3 by @jonathanpeppers in #10840
- Remove UseLatestAndroidPlatformSdk by @Copilot in #10839
- [TrimmableTypeMap] Scanner unit tests by @simonrozsival in #10813
- Replace [DllImport] with [LibraryImport] for runtime P/Invokes by @Copilot in #10763
- Fix XA3006: Sanitize whitespace-only parameter names in marshal methods LLVM IR generation by @Copilot in #10835
- Fix net.android.init.gradle.kts for Gradle 9.x compatibility by @Copilot in #10738
- Fix _TouchAndroidLinkFlag skipping on NativeAOT incremental builds by @sbomer in #10849
- Fix emulator readiness check for package manager service by @Copilot in #10846
- Support for exempting native libraries from JNI preload by @grendello in #10787
- Default .NET 11 to target net11.0-android36.1 only by @jonathanpeppers in #10829
- [Mono.Android] Bind API-CinnamonBun Beta 1 by @jonpryor in #10824
- [dotnet run]
ComputeAvailableDeviceslists available emulators and auto-boot on deploy by @jonathanpeppers in #10826 - [skills] create
read-assembly-storeskill by @jonathanpeppers in #10867 - [Mono.Android] Bind API-CinnamonBun Beta 2 by @jonpryor in #10866
- Fix AndroidDeviceUserId not passed to
am starton debug/run by @Copilot in #10861 - [build] Ignore MAUI public API analyzer errors (RS0016) in MAUI integration lane by @jonathanpeppers in #10884
- [skills] Add AZDO build investigator skill by @jonathanpeppers in #10885
- Fix typos and documentation wording from PR #10879 review by @Copilot in #10881
- [build-tools] Fix CI download failures, upgrade xa-prep-tasks and BootstrapTasks to net10.0 by @jonathanpeppers in #10886
- uses-feature.version should be settable according to android documentation by @Happypig375 in #10890
- Add TaskFactory="TaskHostFactory" Runtime="NET" to xa-prep-tasks and BootstrapTasks UsingTask elements by @Copilot in #10893
- Use JDK 21 instead of 11 by @Happypig375 in #10897
- Bump to google/bundletool/1.18.3 by @jonathanpeppers in #10892
- [tests] Clear ResolvedCodeAnalysisRuleSet to fix CoreCompile incrementality on CI by @jonathanpeppers in #10900
- [docs] Sync Documentation/docs-mobile with dotnet/docs-mobile by @jonathanpeppers in #10907
- [TrimmableTypeMap] Integration parity tests by @simonrozsival in #10827
- [TrimmableTypeMap] Add TypeMap proxy groundwork with CreateInstance by @simonrozsival in #10808
- Use shared AdbRunner from android-tools for device listing by @rmarinho in #10916
- [skills] Add android-reviewer skill for PR code reviews by @jonathanpeppers in #10918
- Add *.gdn.sarif to .gitignore by @Copilot in #10926
- [TrimmableTypeMap] Add UCO wrappers, JCW generator, and JNI signature helpers by @simonrozsival in #10917
- android-reviewer: @copilot prefix for Copilot-authored PRs by @simonrozsival in #10930
- Ignore submodules in fail-on-dirty-tree CI check by @Copilot in #10927
- Fix GC live lock issue in rapid UI switching by @Copilot in #10856
- Remove checked-in test.keystore and generate it dynamically during tests by @Copilot in #10923
- [xabt] Validate CustomJniInitFunctions names are valid C identifiers by @jonathanpeppers in #10935
- Fix flaky HttpListener tests by using dynamic port allocation by @Copilot in #10939
- Skip incremental build timing assertions for NativeAOT by @Copilot in #10937
- [xabt] Filter non-Android .so files from _ResolvedNativeLibraries by @jonathanpeppers in #10936
- Add HasMetadata checks to all PEReader code paths to handle native Windows DLLs by @Copilot in #10938
- Move StripEmbeddedLibraries to MSBuild task by @sbomer in #10894
- [build] Scope BinSkim scanning to build output only by @jonathanpeppers in #10940
- [tests] Treat IOException as transient network error in DownloadedCache by @jonathanpeppers in #10951
- [TrimmableTypeMap] Normalize dots to slashes in [Register] attribute JNI names by @simonrozsival in #10947
- [tests] run
Java.Interop-Testson NativeAOT by @jonathanpeppers in #10496 - Bump com.android.tools.build:manifest-merger from 31.12.2 to 31.13.0 in /src/manifestmerger by @dependabot[bot] in #10466
- [TrimmableTypeMap] Detect overrides and constructors in JavaPeerScanner by @simonrozsival in #10932
- [build] Fix BinSkim
analyzeTargetGlobpattern by @jonathanpeppers in #10953 - Bump com.android.tools.build:manifest-merger from 31.13.0 to 32.1.0 in /src/manifestmerger by @dependabot[bot] in #10955
- [TrimmableTypeMap] Skip registerNatives for Application/Instrumentation types by @simonrozsival in #10957
- Update documentation to reflect .aab fast deployment support by @Copilot in #10963
- Ignore transient IO errors in on-device HTTP client handler tests by @Copilot in #10962
- [build] Fix BinSkim failure in 'Convert NuGet to MSI' job by @jonathanpeppers in #10961
- [build] Revert BinSkim analyzeTargetGlob customization by @jonathanpeppers in #10964
- [TrimmableTypeMap] Add GenerateTrimmableTypeMap MSBuild task and targets by @simonrozsival in #10924
- Backport
dotnet-watchchanges to main/.NET 11 by @jonathanpeppers in #10960 - [Mono.Android] Fix UnhandledExceptionRaiser not firing in .NET 10 by @jonathanpeppers in #10966
- [xaprepare] Retry runtime pack restore up to 3 times by @jonathanpeppers in #10970
- Bump Android emulator from 32.1.9 to 36.4.10 by @rmarinho in #10971
- Bump
$(AndroidPackVersion)to 36.99.0 by @jonathanpeppers in #10976 - Update copilot-instructions.md with learnings from recent PRs by @rmarinho in https://github.com/dotnet/andr...
.NET 10 Servicing, Android 36.1.53
The latest .NET MAUI component is available in Visual Studio 2026 or higher:
You can also download the .NET 10 SDK directly, followed by:
> dotnet workload install android --version 10.0.202
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 36.1.53/10.0.100 SDK 10.0.100
What's Changed
- [xabt] support
@(RuntimeEnvironmentVariable)items by @jonathanpeppers in #10770 - [release/10.0.1xx] Support for exempting native libraries from JNI preload by @grendello in #10879
- [Mono.Android] Fix UnhandledExceptionRaiser not firing in .NET 10 by @jonathanpeppers in #10966
- [xabt]
dotnet watchsupport, based on env vars by @jonathanpeppers in #10778
Full Changelog: 36.1.43...36.1.53
.NET 11 Preview 2, Android 36.1.99-preview.2.154
This release is not yet available from the Visual Studio installer. Download the .NET 11 Preview 2 SDK, followed by:
> dotnet workload install android
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 36.1.99-preview.2.154/11.0.100-preview.2 SDK 11.0.100-preview.2
What's Changed
- $(AndroidPackVersionSuffix)=preview.2; main is .NET 11 preview 2 by @jonathanpeppers in #10725
- [tests] restore testing
net10.0-androidprojects in .NET 11 by @jonathanpeppers in #10729 - [tests] verify
36.1doesn't fallback to36by @jonathanpeppers in #10731 - [xabt] fix
$(AdbTarget)passed in by @jonathanpeppers in #10740 - [xabt] use a response file when calling
java r8.jarby @Copilot in #10716 - Add UseMonoRuntime condition to API levels 21, 22, 23 in SupportedPlatforms generator by @Copilot in #10753
- [Mono.Android] fix
$DOTNET_STARTUP_HOOKSon CoreCLR by @jonathanpeppers in #10755 - [tests] remove "flaky" MSBuild perf tests by @jonathanpeppers in #10756
- Fix MSB4096 error with user-defined TrimmerRootAssembly items lacking RootMode metadata by @Copilot in #10759
- [xaprepare] add
--dotnet-sdk-archiveswitch by @jonathanpeppers in #10769 - Unify LangVersion to "latest" across projects by @Copilot in #10766
- [marshal methods] Make AndroidEnvironmentInternal.UnhandledException public by @Copilot in #10775
- Bump com.android.tools:r8 from 8.13.19 to 9.0.32 in /src/r8 by @dependabot[bot] in #10780
- [native build] Use a single source of truth for NDK API levels by @grendello in #10754
- [TrimmableTypeMap] Extract typemap targets into dedicated files by @simonrozsival in #10797
- Fix NativeAOT to use AndroidLinkMode=Full instead of SdkOnly by @Copilot in #10809
- Migrate GenerateProguardConfiguration from ILLink step to MSBuild task by @sbomer in #10694
- [NativeAOT] Fix application linking with API level > 21 by @grendello in #10812
- [TrimmableTypeMap] Java peer scanner core by @simonrozsival in #10823
- [build] Use all available CPU cores for NUnit test parallelism by @jonathanpeppers in #10834
- [build] Add MSBuild + Emulator test stage to
dnceng-publicpipeline by @jonathanpeppers in #10828
Full Changelog: 36.1.99-preview.1.120...36.1.99-preview.2.154
.NET 10 Servicing, Android 36.1.43
The latest .NET MAUI component is available in Visual Studio 2026 or higher:
You can also download the .NET 10 SDK directly, followed by:
> dotnet workload install android --version 10.0.104
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 36.1.43/10.0.100 SDK 10.0.100
What's Changed
- [Mono.Android] fix $DOTNET_STARTUP_HOOKS on CoreCLR by @jonathanpeppers in #10755
- [xabt] fix $(AdbTarget) passed in by @jonathanpeppers in #10740
- [NativeAOT] set environment variables before the app .so is loaded by @grendello in #10709
- [NativeAOT] set environment variables before the app .so is loaded by @jonathanpeppers in #10768
- [NativeAOT] fix Java string escaping and logging in environment variables support code by @copilot-swe-agent in #10771
- [Mono.Android] Ensure HttpContent stream rewinds on exceptions by @copilot-swe-agent in #10571
- [release/10.0.1xx] update to 10.0.4 runtime workloads by @jonathanpeppers in #10845
Full Changelog: 36.1.30...36.1.43
.NET 11 Preview 1, Android 36.1.99-preview.1.120
This release is not yet available from the Visual Studio installer. Download the .NET 11 Preview 1 SDK, followed by:
> dotnet workload install android
...
Successfully installed workload(s) android.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
android 36.1.99-preview.1.120/11.0.100-preview.1 SDK 11.0.100-preview.1
What's Changed
- $(AndroidPackVersionSuffix)=preview.1; main is 36.1.99 by @jonathanpeppers in #10512
- Remove ApplyPreserveAttribute, warn when PreserveAttribute is referenced in assembly by @jtschuster in #10449
- Remove obsolete System.AndroidPlatform methods and native implementations by @Copilot in #10385
- [Mono.Android] Enumify API-36.1 by @jonpryor in #10515
- Correctly handle file path that contains spaces by @hez2010 in #10537
- [xabt] pass in
$(SupportedOSPlatformVersion)to<Aapt2Link/>by @jonathanpeppers in #10538 - Fix JNI preload cache generation by @grendello in #10547
- [xabt] additional fixes for non-integer API levels by @jonathanpeppers in #10536
- [xabt] fix incremental design-time builds by @jonathanpeppers in #10564
- Add quickstart guide for Android memory dump by @fekberg in #10559
- [docs] improve "building" docs by @jonathanpeppers in #10478
- [nativeaot] Fix+improve gref logging by @grendello in #10572
- [Xamarin.Android.Build.Tasks] don't set
$(UseMonoRuntime)by default by @jonathanpeppers in #10527 - [build] fix broken incrementality of
Mono.Android.csprojby @jonathanpeppers in #10578 - Fix: Ensure HttpContent stream rewinds on exception to support retry scenarios by @Copilot in #10571
- [BootstrapTasks] add retry logic to
<StartAndroidEmulator/>by @jonathanpeppers in #10577 - [xabt] implement
$(Device)andComputeAvailableDevicesMSBuild target by @jonathanpeppers in #10576 - Enable more tests to run on all 3 runtimes, part 1 by @grendello in #10573
- Enable more tests to run on all 3 runtimes, part 2 by @grendello in #10580
- Enable more tests to run on all 3 runtimes, part 3 by @grendello in #10585
- Enable more tests to run on all 3 runtimes, part 4 by @grendello in #10591
- Enable more tests to run on all 3 runtimes, part 5 by @grendello in #10592
- Bump com.android.tools:r8 from 8.11.18 to 8.13.17 in /src/r8 by @dependabot[bot] in #10603
- [build] Relax 16k native library alignment checks by @grendello in #10608
- [tests] Add test for System.IO.Hashing 10.0.0 by @jonathanpeppers in #10614
- [build] use dotnet/maui/main for
MAUI Integrationlane by @jonathanpeppers in #10618 - Enable more tests to run on all 3 runtimes, part 7 by @grendello in #10598
- Enable more tests to run on all 3 runtimes, part 8 by @grendello in #10616
- Enable more tests to run on all 3 runtimes, part 9 by @grendello in #10619
- Enable more tests to run on all 3 runtimes, part 10 by @grendello in #10621
- [xabt] title case
ComputeAvailableDevicesby @jonathanpeppers in #10623 - [build] cache
FindNugetGlobalPackageFolder()to fix test timeouts by @jonathanpeppers in #10626 - [copilot] free up disk space by removing pre-installed Android SDK by @jonathanpeppers in #10629
- [xabt] Implement
DeployToDevicetarget by @jonathanpeppers in #10631 - Fix outdated contents in WorkloadDependencies.json by @Copilot in #10627
- Rename assembly stores in the APK/AAB archive to
libassembly-store.soby @grendello in #10638 - Enable more tests to run on all 3 runtimes, part 11 by @grendello in #10625
- Enable more tests to run on all 3 runtimes, part 12 by @grendello in #10632
- [xabt] fix
DeployToDevicetarget w/ Fast Deployment by @jonathanpeppers in #10641 - [xaprepare] increase
ProcessRunnertimeout by @jonathanpeppers in #10651 - [build] setup public pipeline on
dnceng-publicby @jonathanpeppers in #10636 - [Testing] Change the dotnet/maui repository branch to net11.0 by @simonrozsival in #10661
- [CoreCLR] Propagate unhandled exceptions by @simonrozsival in #10658
- [tests]
Assert.Inconclusive()tests with http errors by @jonathanpeppers in #10650 - [Xamarin.Android.Build.Tasks] Set UseMonoRuntime for Debug configuration by @simonrozsival in #10662
- [tests] skip
Windows > Tests > Debuggingif emulator fails to start by @jonathanpeppers in #10663 - [tests] ignore
nodename nor servname provided, or not knownby @jonathanpeppers in #10665 - [xabt]
ComputeRunArgumentstarget no longer needs to deploy by @jonathanpeppers in #10640 - [Microsoft.Android.Run] Add simple console app for
dotnet runby @jonathanpeppers in #10646 - Enable more tests to run on all 3 runtimes, part 14 by @grendello in #10644
- [tests] restore
SSLcategory by @jonathanpeppers in #10495 - [coreclr] fix string
runtimeconfig.jsonvalues by @jonathanpeppers in #10669 - [tests] ignore 404 on
AndroidMavenLibrary_AllDependenciesAreVerifiedby @jonathanpeppers in #10666 - [tests] improve assertions in
CancelRequestViaProxy()by @jonathanpeppers in #10671 - [illink] set
$(StartupHookSupport)=falseonly for Release mode by @jonathanpeppers in #10670 - Bump com.android.tools:r8 from 8.13.17 to 8.13.19 in /src/r8 by @dependabot[bot] in #10677
- [tests] remove
WebContentFileNameFromAzureby @jonathanpeppers in #10680 - [build]
net11.0target framework by @jonathanpeppers in #10664 - [build] Disable debug spew from the localizer by @grendello in #10673
- [Microsoft.Android.Run] target
$(DotNetStableTargetFramework)by @jonathanpeppers in #10692 - Add [Flags] to Android.Print.DuplexMode by @aberus in #10690
- Add PrinterCapabilitiesInfo color modes to methodmap by @aberus in #10689
- Migrate WarnOnPreserveAttribute from ILLink step to MSBuild task by @sbomer in #10693
- Add [Flags] to Android.Print.PrintColorMode by @aberus in #10688
- Remove referenceassemblies-pcl dependency from Arch and Fedora Linux by @Copilot in #10696
- [tests] ignore transient "Broken pipe" network errors by @jonathanpeppers in #10681
- [build] remove
$(TargetsCurrent)by @jonathanpeppers in #10698 - Enable more tests to run on all 3 runtimes, part 6 by @grendello in #10595
- [xabt]
GeneratePackageManagerJavaonly writes main assembly by @jonathanpeppers in #10710 - [NativeAOT] set environment variables before the app .so is loaded by @grendello in #10709
- [build] fix
MAUI integrationlane by @jonathanpeppers in #10712 - [tests] add test for package-less
[Register("CustomView"]by @Copilot in #10717
New Contributors
- @jtschuster made their first contribution in #10449
- @hez2010 made their first contribution in #10537
- @fekberg made their first contribution in #10559
- @aberus made their first contribution in #10690
Full Changelog: 36.1.2...36.1.99-preview.1.120
