From 824ee73297ef284ab103e0f0bf39be50e1c532d7 Mon Sep 17 00:00:00 2001
From: Copilot <223556219+Copilot@users.noreply.github.com>
Date: Fri, 28 Aug 2026 02:56:37 -0700
Subject: [PATCH 1/9] Add .NET 11 RC 1 MAUI release notes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a851ab96-8780-407d-97d0-50eed422ead5
---
release-notes/11.0/preview/rc1/dotnetmaui.md | 167 +++++++++++++++++++
1 file changed, 167 insertions(+)
create mode 100644 release-notes/11.0/preview/rc1/dotnetmaui.md
diff --git a/release-notes/11.0/preview/rc1/dotnetmaui.md b/release-notes/11.0/preview/rc1/dotnetmaui.md
new file mode 100644
index 0000000000..c93e7177e7
--- /dev/null
+++ b/release-notes/11.0/preview/rc1/dotnetmaui.md
@@ -0,0 +1,167 @@
+# .NET MAUI in .NET 11 RC 1 - Release Notes
+
+.NET 11 RC 1 includes new .NET MAUI controls, asset-processing options, and
+platform behavior:
+
+- [TabbedPage badges](#tabbedpage-badges)
+- [Themed splash screens](#themed-splash-screens)
+- [Explicit SwipeItem colors](#explicit-swipeitem-colors)
+- [Opt-in BlazorWebView static content caching](#opt-in-blazorwebview-static-content-caching)
+- [Configurable Resizetizer quality](#configurable-resizetizer-quality)
+- [Android system bars can follow MAUI chrome](#android-system-bars-can-follow-maui-chrome)
+- [FlyoutPage adopts handlers on Apple platforms](#flyoutpage-adopts-handlers-on-apple-platforms)
+- [Breaking changes](#breaking-changes)
+
+
+
+## TabbedPage badges
+
+`TabbedPage` children can display badge text, background color, and text color
+through the `TabbedPage.BadgeText`, `TabbedPage.BadgeColor`, and
+`TabbedPage.BadgeTextColor` attached properties
+([dotnet/maui #37755](https://github.com/dotnet/maui/pull/37755)).
+
+```xaml
+
+```
+
+Android, iOS, Mac Catalyst, and Windows support initial values and runtime
+updates. On iOS and Mac Catalyst 18 or later, UIKit might render its system
+badge colors instead of custom colors even though MAUI uses the supported
+per-item APIs.
+
+## Themed splash screens
+
+`MauiSplashScreen` supports separate images, colors, and tint colors for dark
+mode. Android generates `night`-qualified resources. iOS, iPadOS, and Mac
+Catalyst generate asset-catalog launch resources when the minimum supported OS
+version is 14 or later
+([dotnet/maui #35710](https://github.com/dotnet/maui/pull/35710)).
+
+```xml
+
+```
+
+Projects without dark-mode metadata retain the existing splash-screen
+behavior. Apple targets earlier than version 14 emit a warning and use the
+existing fallback.
+
+## Explicit SwipeItem colors
+
+`SwipeItem.IconColor` explicitly tints an icon, and `SwipeItem.TextColor`
+controls the label color. Both properties support `AppThemeBinding`
+([dotnet/maui #36884](https://github.com/dotnet/maui/pull/36884)).
+
+```xaml
+
+```
+
+When `IconColor` isn't set, PNG, SVG, and other non-font images retain their
+authored colors. Font icons continue to use their configured color and the
+existing fallback behavior.
+
+## Opt-in BlazorWebView static content caching
+
+`BlazorWebView.StaticContentCacheControlProvider` can opt local static assets
+into caching. Returning `null`, an empty string, or whitespace preserves the
+existing `no-store` behavior
+([dotnet/maui #35706](https://github.com/dotnet/maui/pull/35706)).
+
+```csharp
+blazorWebView.StaticContentCacheControlProvider = request =>
+ request.ContentType.StartsWith("image/", StringComparison.Ordinal)
+ ? "public, max-age=86400"
+ : null;
+```
+
+MAUI uses a bounded per-WebView cache on Android, iOS, Mac Catalyst, Windows,
+and Tizen. It doesn't cache authenticated, range, non-`GET`, or `no-store`
+requests.
+
+Thank you [@Kebechet](https://github.com/Kebechet) for this contribution!
+
+## Configurable Resizetizer quality
+
+The new `ResizeQuality` metadata controls image sampling during Resizetizer
+build tasks. `Auto` preserves the existing default, `Best` uses higher-quality
+sampling, and `Fastest` uses nearest-neighbor sampling without mipmaps
+([dotnet/maui #34559](https://github.com/dotnet/maui/pull/34559)).
+
+```xml
+
+
+```
+
+The setting applies to raster and SVG images, app icons, and splash assets.
+
+## Android system bars can follow MAUI chrome
+
+Android apps can opt in to matching the status-bar and navigation-bar
+backgrounds to the effective colors of `NavigationPage`, Shell, `TabbedPage`,
+and modal chrome
+([dotnet/maui #35463](https://github.com/dotnet/maui/pull/35463)).
+
+```xml
+
+ true
+
+```
+
+The option changes system-bar backgrounds only. Icon appearance remains under
+app or theme control. The default is `false`, which preserves the existing
+Android behavior.
+
+## FlyoutPage adopts handlers on Apple platforms
+
+`FlyoutPage` now uses `FlyoutViewHandler` by default on iOS and Mac Catalyst,
+completing the Apple-platform handler migration for the primary multi-page
+controls. The handler adds custom `FlyoutWidth` support and keeps flyout
+subscriptions isolated between multiple page instances
+([dotnet/maui #36676](https://github.com/dotnet/maui/pull/36676)).
+
+Apps that depend on a custom `PhoneFlyoutPageRenderer` can register the
+renderer explicitly:
+
+```csharp
+builder.ConfigureMauiHandlers(handlers =>
+{
+ handlers.AddHandler();
+});
+```
+
+Thank you
+[@Vignesh-SF3580](https://github.com/Vignesh-SF3580)
+for this contribution!
+
+## Breaking changes
+
+- Non-font `SwipeItem` icons are no longer automatically recolored white or
+ black to contrast with `BackgroundColor`. Set `IconColor` explicitly if an
+ app relied on that .NET 10 behavior
+ ([dotnet/maui #36884](https://github.com/dotnet/maui/pull/36884)).
+- `FlyoutPage` uses `FlyoutViewHandler` instead of
+ `PhoneFlyoutPageRenderer` by default on iOS and Mac Catalyst. Apps that
+ subclassed or customized the renderer should register their renderer
+ explicitly
+ ([dotnet/maui #36676](https://github.com/dotnet/maui/pull/36676)).
From 0ef3788628905b7cf5e3a47dbdc26ce71f731f41 Mon Sep 17 00:00:00 2001
From: Jonathan Peppers
Date: Tue, 1 Sep 2026 15:58:40 -0500
Subject: [PATCH 2/9] Document mobile test templates
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb093fb2-ce3f-4183-934d-611679fd7ee7
---
release-notes/11.0/preview/rc1/dotnetmaui.md | 35 ++++++++++++++++++--
1 file changed, 33 insertions(+), 2 deletions(-)
diff --git a/release-notes/11.0/preview/rc1/dotnetmaui.md b/release-notes/11.0/preview/rc1/dotnetmaui.md
index c93e7177e7..0e43926c32 100644
--- a/release-notes/11.0/preview/rc1/dotnetmaui.md
+++ b/release-notes/11.0/preview/rc1/dotnetmaui.md
@@ -1,8 +1,9 @@
# .NET MAUI in .NET 11 RC 1 - Release Notes
-.NET 11 RC 1 includes new .NET MAUI controls, asset-processing options, and
-platform behavior:
+.NET 11 RC 1 includes a broader testing experience, new .NET MAUI controls,
+asset-processing options, and platform behavior:
+- [Mobile and desktop testing with `dotnet test`](#mobile-and-desktop-testing-with-dotnet-test)
- [TabbedPage badges](#tabbedpage-badges)
- [Themed splash screens](#themed-splash-screens)
- [Explicit SwipeItem colors](#explicit-swipeitem-colors)
@@ -21,6 +22,36 @@ platform behavior:
this evidence establishes branch/package contents but not final public
workload promotion. -->
+## Mobile and desktop testing with `dotnet test`
+
+.NET 11 extends the familiar `dotnet test` workflow to Android, iOS, macOS, and
+Mac Catalyst projects. Tests run in an app process on mobile devices or
+simulators and on desktop targets
+([dotnet/android #11130](https://github.com/dotnet/android/pull/11130),
+[dotnet/macios #25320](https://github.com/dotnet/macios/pull/25320)).
+
+The new MSTest-configured templates are `dotnet new androidtest`,
+`dotnet new iostest`, `dotnet new macostest`, and
+`dotnet new maccatalysttest`
+([Android template](https://github.com/dotnet/android/pull/10862),
+[Apple templates](https://github.com/dotnet/macios/pull/25195)). For example,
+create and run an Android test project on a connected device or emulator:
+
+```console
+dotnet new androidtest -n MyTests
+cd MyTests
+dotnet test
+```
+
+You can configure any
+[Microsoft.Testing.Platform-supported test framework](https://learn.microsoft.com/dotnet/core/testing/#testing-tools)
+instead. For example, configure NUnit:
+
+```csharp
+builder.ConfigureTestApplication(testApplication =>
+ testApplication.AddNUnit(() => [GetType().Assembly]));
+```
+
## TabbedPage badges
`TabbedPage` children can display badge text, background color, and text color
From b2c70fbdaffbd350dec4e6a1a1037fd9a1198a2c Mon Sep 17 00:00:00 2001
From: Jonathan Peppers
Date: Tue, 1 Sep 2026 16:06:38 -0500
Subject: [PATCH 3/9] Expand Android RC1 release notes
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb093fb2-ce3f-4183-934d-611679fd7ee7
---
release-notes/11.0/preview/rc1/dotnetmaui.md | 75 +++++++++++++++++---
1 file changed, 67 insertions(+), 8 deletions(-)
diff --git a/release-notes/11.0/preview/rc1/dotnetmaui.md b/release-notes/11.0/preview/rc1/dotnetmaui.md
index 0e43926c32..08babc44c9 100644
--- a/release-notes/11.0/preview/rc1/dotnetmaui.md
+++ b/release-notes/11.0/preview/rc1/dotnetmaui.md
@@ -1,20 +1,24 @@
# .NET MAUI in .NET 11 RC 1 - Release Notes
-.NET 11 RC 1 includes a broader testing experience, new .NET MAUI controls,
-asset-processing options, and platform behavior:
+.NET 11 RC 1 includes a broader testing experience, faster and smaller Android
+apps, new .NET MAUI controls, asset-processing options, and platform behavior:
- [Mobile and desktop testing with `dotnet test`](#mobile-and-desktop-testing-with-dotnet-test)
+- [Faster Android builds](#faster-android-builds)
+- [Smaller Android packages](#smaller-android-packages)
+- [Faster Android startup with ReadyToRun](#faster-android-startup-with-readytorun)
- [TabbedPage badges](#tabbedpage-badges)
- [Themed splash screens](#themed-splash-screens)
- [Explicit SwipeItem colors](#explicit-swipeitem-colors)
- [Opt-in BlazorWebView static content caching](#opt-in-blazorwebview-static-content-caching)
- [Configurable Resizetizer quality](#configurable-resizetizer-quality)
-- [Android system bars can follow MAUI chrome](#android-system-bars-can-follow-maui-chrome)
+- [Android system bars can follow .NET MAUI chrome](#android-system-bars-can-follow-net-maui-chrome)
+- [Android devices wake before app launch](#android-devices-wake-before-app-launch)
- [FlyoutPage adopts handlers on Apple platforms](#flyoutpage-adopts-handlers-on-apple-platforms)
- [Breaking changes](#breaking-changes)
+- [Community contributors](#community-contributors)
## Mobile and desktop testing with `dotnet test`
-.NET 11 extends the familiar `dotnet test` workflow to Android, iOS, macOS, and
-Mac Catalyst projects. Tests run in an app process on mobile devices or
-simulators and on desktop targets
+.NET 11 extends the familiar `dotnet test` workflow to Android, iOS, tvOS,
+macOS, and Mac Catalyst projects. Tests run in an app process on mobile devices
+or simulators and on desktop targets
([dotnet/android #11130](https://github.com/dotnet/android/pull/11130),
-[dotnet/macios #25320](https://github.com/dotnet/macios/pull/25320)).
+[dotnet/macios #25320](https://github.com/dotnet/macios/pull/25320),
+[dotnet/macios #25963](https://github.com/dotnet/macios/pull/25963)).
-The new MSTest-configured templates are `dotnet new androidtest`,
-`dotnet new iostest`, `dotnet new macostest`, and
-`dotnet new maccatalysttest`
+The new MSTest-configured template short names are `androidtest`, `iostest`,
+`tvostest`, `macostest`, and `maccatalysttest`
([Android template](https://github.com/dotnet/android/pull/10862),
[Apple templates](https://github.com/dotnet/macios/pull/25195)). For example,
create and run an Android test project on a connected device or emulator:
@@ -64,19 +59,25 @@ BenchmarkDotNet and forwards arguments after `--` to the instrumentation
process
([dotnet/android #12261](https://github.com/dotnet/android/pull/12261)).
-## Faster Android builds
+## Faster and more reliable Android builds
Several Android build-pipeline changes reduce work in clean and incremental
builds. For a Release CoreCLR .NET MAUI sample-content app using trimmable type
maps, an ordinary managed source change improved from 68.32 to 52.31 seconds,
-and an Android manifest change improved from 39.74 to 10.97 seconds. Repeated
-no-op builds improved from 4.58 seconds to approximately 3.0-3.5 seconds
+and an Android manifest change improved from 39.74 to 10.97 seconds
([dotnet/android #12229](https://github.com/dotnet/android/pull/12229)).
Type-map generation also improved from 3,204 to 792 milliseconds in a clean
CoreCLR .NET MAUI sample-content build
([dotnet/android #12279](https://github.com/dotnet/android/pull/12279)).
+RC 1 also fixes two incremental-build correctness issues. APK archive updates
+now retain unchanged JAR resources, replace changed resources, and remove stale
+resources. In-place post-link processing no longer writes satellite assemblies
+into the shared NuGet package cache, which avoids concurrent-build `XAAMP7024`
+failures
+([dotnet/android #12463](https://github.com/dotnet/android/pull/12463)).
+
## Smaller Android packages
The Android trimmer now removes unused methods from user-defined
@@ -85,7 +86,7 @@ can call. In the tested ARM64 .NET MAUI app, this reduced package size by
664,926 bytes without R8 and 718,174 bytes with R8. A minimal app was unchanged
([dotnet/android #12272](https://github.com/dotnet/android/pull/12272)).
-## Faster Android startup with ReadyToRun
+## Faster Android apps
CoreCLR Release builds now include most methods from the app assembly in
partial ReadyToRun compilation. The basic .NET MAUI template started 19.8
@@ -107,6 +108,17 @@ default remains partial ReadyToRun compilation
([dotnet/maui #37094](https://github.com/dotnet/maui/pull/37094),
[dotnet/android #12299](https://github.com/dotnet/android/pull/12299)).
+Single-page Shell apps on Android also defer unused tab infrastructure. In a
+matched 80-launch test on a Pixel 5, this reduced mean cold-start time by 35.95
+milliseconds, or 3.26%
+([dotnet/maui #37321](https://github.com/dotnet/maui/pull/37321)).
+
+Cached virtual JNI invocations improved from 221.4 to 180.7 nanoseconds, an 18%
+reduction, on a Pixel 5 using .NET 11 CoreCLR. The tested APK size did not
+change. The paired cold-start delta was -2.77 milliseconds, with a 95%
+confidence interval of -7.61 to +2.06 milliseconds
+([dotnet/android #12377](https://github.com/dotnet/android/pull/12377)).
+
## TabbedPage badges
`TabbedPage` children can display badge text, background color, and text color
@@ -150,8 +162,9 @@ existing fallback.
## Explicit SwipeItem colors
-`SwipeItem.IconColor` explicitly tints an icon, and `SwipeItem.TextColor`
-controls the label color. Both properties support `AppThemeBinding`
+`SwipeItem.IconColor` explicitly tints supported icon sources, and
+`SwipeItem.TextColor` controls the label color. Both properties support
+`AppThemeBinding`
([dotnet/maui #36884](https://github.com/dotnet/maui/pull/36884)).
```xaml
@@ -166,6 +179,11 @@ When `IconColor` isn't set, PNG, SVG, and other non-font images retain their
authored colors. Font icons continue to use their configured color and the
existing fallback behavior.
+Android, iOS, and Mac Catalyst apply `IconColor` to resolved platform images.
+Windows supports explicit tinting for font and packaged-file icons; URI,
+rooted, and stream-backed images retain their original colors. Tizen also
+retains original icon colors.
+
## Opt-in BlazorWebView static content caching
`BlazorWebView.StaticContentCacheControlProvider` can opt local static assets
@@ -186,6 +204,25 @@ requests.
Thank you [@Kebechet](https://github.com/Kebechet) for this contribution!
+## XAML Incremental Hot Reload reliability
+
+> XAML Incremental Hot Reload is a preview feature in .NET 11.
+
+RC 1 improves the source-generated XAML Incremental Hot Reload path introduced
+in Preview 7. Application-level resource edits now reach both existing and new
+`DynamicResource` consumers. Changing a literal value or binding to a
+`DynamicResource` also removes the old local state so later resource changes
+continue to update the property
+([dotnet/maui #37896](https://github.com/dotnet/maui/pull/37896),
+[dotnet/maui #37898](https://github.com/dotnet/maui/pull/37898)).
+
+Structural updates now reconcile original `x:Name` fields and namescope entries
+with the new visual tree. Non-structural property edits inside a direct
+`CollectionView.ItemTemplate` also update already-realized cells without
+replacing the template or resetting selection, focus, or scroll position
+([dotnet/maui #37897](https://github.com/dotnet/maui/pull/37897),
+[dotnet/maui #37899](https://github.com/dotnet/maui/pull/37899)).
+
## Configurable Resizetizer quality
The new `ResizeQuality` metadata controls image sampling during Resizetizer
@@ -218,12 +255,21 @@ The option changes system-bar backgrounds only. Icon appearance remains under
app or theme control. The default is `false`, which preserves the existing
Android behavior.
-## Android devices wake before app launch
+## Android app launch and shutdown
-When `dotnet run` starts an Android app on a connected device, it now wakes a
-sleeping device and dismisses a non-secure keyguard before launching the app
+When `dotnet run` launches an Android activity on a connected device, it now
+wakes a sleeping device and dismisses a non-secure keyguard before launching
+the app
([dotnet/android #12322](https://github.com/dotnet/android/pull/12322)).
+When you stop `dotnet run` with Ctrl+C, it now waits for the Android
+`force-stop` operation to complete before the command exits
+([dotnet/android #12318](https://github.com/dotnet/android/pull/12318)).
+
+See the
+[full Android RC 1 compare](https://github.com/dotnet/android/compare/37.0.0-preview.7.2131...b65b55d5357abb23960a999c7c5ffaceb75c4515)
+for the complete set of changes.
+
## FlyoutPage adopts handlers on Apple platforms
`FlyoutPage` now uses `FlyoutViewHandler` by default on iOS and Mac Catalyst,
@@ -246,8 +292,54 @@ Thank you
[@Vignesh-SF3580](https://github.com/Vignesh-SF3580)
for this contribution!
+See the
+[full MAUI RC 1 compare](https://github.com/dotnet/maui/compare/release/11.0.1xx-preview7...484132f9e51f4d1eae72dba038575d6102639730)
+for the complete set of changes.
+
+## Apple platforms (.NET for iOS, Mac Catalyst, macOS, tvOS)
+
+- **NativeAOT registrar default** - NativeAOT apps that target .NET 11 now use
+ the trimmable-static registrar and assembly preparation by default. CoreCLR
+ and Mono keep their existing registrar defaults in this RC 1 build
+ ([dotnet/macios #26346](https://github.com/dotnet/macios/pull/26346)).
+- **NativeAOT debug symbols** - macOS and Mac Catalyst NativeAOT builds now
+ generate dSYM files by default, even when `ArchiveOnBuild` is not enabled.
+ dSYM files supplied by XCFrameworks are also copied next to the app dSYM so
+ they are included in archives
+ ([dotnet/macios #26197](https://github.com/dotnet/macios/pull/26197),
+ [dotnet/macios #25979](https://github.com/dotnet/macios/pull/25979)).
+- **Failable Objective-C initializers** - Binding authors can combine
+ `[FactoryMethod]` with `[return: NullAllowed]` to expose a failable
+ initializer as a nullable static factory method instead of a constructor that
+ cannot represent a `nil` result
+ ([dotnet/macios #26196](https://github.com/dotnet/macios/pull/26196)).
+
+RC 1 also includes reliability and packaging work across Hot Reload, linking,
+the registrar, bindings, and MSBuild. See the
+[full Apple platforms RC 1 compare](https://github.com/dotnet/macios/compare/release/11.0.1xx-preview7...36cc717537e7deaf6a8161bd96a977195cacd434)
+for the complete set of changes.
+
+
+
## Breaking changes
+- The `Color` record type is now sealed. Code that derives from `Color` must
+ use composition instead
+ ([dotnet/maui #36443](https://github.com/dotnet/maui/pull/36443)).
- Non-font `SwipeItem` icons are no longer automatically recolored white or
black to contrast with `BackgroundColor`. Set `IconColor` explicitly if an
app relied on that .NET 10 behavior
@@ -257,3 +349,60 @@ for this contribution!
subclassed or customized the renderer should register their renderer
explicitly
([dotnet/maui #36676](https://github.com/dotnet/maui/pull/36676)).
+- Apple app builds now remove the `Headers`, `PrivateHeaders`, and `Modules`
+ directories from bundled frameworks before code signing. Set
+ `StripFrameworkHeaders=false` if your app needs these directories
+ ([dotnet/macios #26253](https://github.com/dotnet/macios/pull/26253)).
+- .NET for Android now marks `Java.Lang.Object.JavaFinalize()` as obsolete.
+ Override `Dispose(bool)` or use a C# finalizer instead
+ ([dotnet/android #11424](https://github.com/dotnet/android/pull/11424)).
+- When an Android manifest contains a partial `` element without
+ `android:targetSdkVersion`, the build now writes the value from
+ `$(TargetSdkVersion)`. Android previously defaulted the target SDK to the
+ minimum SDK in this case. Apps with a partial `` element should
+ test behavior that Android gates by target SDK, or set
+ `android:targetSdkVersion` explicitly
+ ([dotnet/android #12290](https://github.com/dotnet/android/pull/12290)).
+
+## Community contributors
+
+Thank you contributors!
+
+- [@AdamEssenmacher](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AAdamEssenmacher)
+- [@Ahamed-Ali](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AAhamed-Ali)
+- [@AustinWise](https://github.com/dotnet/android/pulls?q=is%3Apr+is%3Amerged+author%3AAustinWise)
+- [@BagavathiPerumal](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ABagavathiPerumal)
+- [@Chagrins](https://github.com/dotnet/android/pulls?q=is%3Apr+is%3Amerged+author%3AChagrins)
+- [@devanathan-vaithiyanathan](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3Adevanathan-vaithiyanathan)
+- [@Dhivya-SF4094](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ADhivya-SF4094)
+- [@erikzhang](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3Aerikzhang)
+- [@HarishKumarSF4517](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AHarishKumarSF4517)
+- [@HarishwaranVijayakumar](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AHarishwaranVijayakumar)
+- [@IlGalvo](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AIlGalvo)
+- [@jpd21122012](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3Ajpd21122012)
+- [@KarthikRajaKalaimani](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AKarthikRajaKalaimani)
+- [@Kebechet](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AKebechet)
+- [@kevin68](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3Akevin68)
+- [@LogishaSelvarajSF4525](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ALogishaSelvarajSF4525)
+- [@NafeelaNazhir](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ANafeelaNazhir)
+- [@NanthiniMahalingam](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ANanthiniMahalingam)
+- [@NirmalKumarYuvaraj](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ANirmalKumarYuvaraj)
+- [@pictos](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3Apictos)
+- [@prakashKannanSf3972](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AprakashKannanSf3972)
+- [@praveenkumarkarunanithi](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3Apraveenkumarkarunanithi)
+- [@Shalini-Ashokan](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AShalini-Ashokan)
+- [@SubhikshaSf4851](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ASubhikshaSf4851)
+- [@SuthiYuvaraj](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ASuthiYuvaraj)
+- [@SyedAbdulAzeemSF4852](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ASyedAbdulAzeemSF4852)
+- [@TamilarasanSF4853](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3ATamilarasanSF4853)
+- [@tw4](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3Atw4)
+- [@Vignesh-SF3580](https://github.com/dotnet/maui/pulls?q=is%3Apr+is%3Amerged+author%3AVignesh-SF3580)
+
+
From 57a86ff7a36d5fc251d208a9f064f515e3dc99cd Mon Sep 17 00:00:00 2001
From: David Ortinau
Date: Wed, 2 Sep 2026 14:13:15 -0500
Subject: [PATCH 6/9] docs: organize RC 1 mobile notes by product area
Align the release note hierarchy with the .NET MAUI What's New page while preserving the verified content, citations, samples, and contributor list.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 986fbe85-1680-4456-b145-4a52e4df45da
---
release-notes/11.0/preview/rc1/dotnetmaui.md | 295 ++++++++++---------
1 file changed, 155 insertions(+), 140 deletions(-)
diff --git a/release-notes/11.0/preview/rc1/dotnetmaui.md b/release-notes/11.0/preview/rc1/dotnetmaui.md
index 73a95ed509..8a772c138e 100644
--- a/release-notes/11.0/preview/rc1/dotnetmaui.md
+++ b/release-notes/11.0/preview/rc1/dotnetmaui.md
@@ -4,24 +4,31 @@
apps, XAML Hot Reload reliability, new .NET MAUI control capabilities,
asset-processing options, and Apple NativeAOT improvements:
-- [Mobile and desktop testing with `dotnet test`](#mobile-and-desktop-testing-with-dotnet-test)
-- [Faster and more reliable Android builds](#faster-and-more-reliable-android-builds)
-- [Smaller Android packages](#smaller-android-packages)
-- [Faster Android apps](#faster-android-apps)
-- [TabbedPage badges](#tabbedpage-badges)
-- [Themed splash screens](#themed-splash-screens)
-- [Explicit SwipeItem colors](#explicit-swipeitem-colors)
-- [Opt-in BlazorWebView static content caching](#opt-in-blazorwebview-static-content-caching)
-- [XAML Incremental Hot Reload reliability](#xaml-incremental-hot-reload-reliability)
-- [Configurable Resizetizer quality](#configurable-resizetizer-quality)
-- [Android system bars can follow .NET MAUI chrome](#android-system-bars-can-follow-net-maui-chrome)
-- [Android app launch and shutdown](#android-app-launch-and-shutdown)
-- [FlyoutPage adopts handlers on Apple platforms](#flyoutpage-adopts-handlers-on-apple-platforms)
+- [Testing](#testing)
+ - [Mobile and desktop testing with `dotnet test`](#mobile-and-desktop-testing-with-dotnet-test)
+- [Controls](#controls)
+ - [TabbedPage badges](#tabbedpage-badges)
+ - [Explicit SwipeItem colors](#explicit-swipeitem-colors)
+ - [Opt-in BlazorWebView static content caching](#opt-in-blazorwebview-static-content-caching)
+ - [FlyoutPage adopts handlers on Apple platforms](#flyoutpage-adopts-handlers-on-apple-platforms)
+- [Platform features](#platform-features)
+ - [Themed splash screens](#themed-splash-screens)
+ - [Configurable Resizetizer quality](#configurable-resizetizer-quality)
+ - [Android system bars can follow .NET MAUI chrome](#android-system-bars-can-follow-net-maui-chrome)
+- [XAML](#xaml)
+ - [XAML Incremental Hot Reload reliability](#xaml-incremental-hot-reload-reliability)
+- [.NET for Android](#net-for-android)
+ - [Faster and more reliable Android builds](#faster-and-more-reliable-android-builds)
+ - [Smaller Android packages](#smaller-android-packages)
+ - [Faster Android apps](#faster-android-apps)
+ - [Android app launch and shutdown](#android-app-launch-and-shutdown)
- [Apple platforms (.NET for iOS, Mac Catalyst, macOS, tvOS)](#apple-platforms-net-for-ios-mac-catalyst-macos-tvos)
- [Breaking changes](#breaking-changes)
- [Community contributors](#community-contributors)
-## Mobile and desktop testing with `dotnet test`
+## Testing
+
+### Mobile and desktop testing with `dotnet test`
.NET 11 extends the familiar `dotnet test` workflow to Android, iOS, tvOS,
macOS, and Mac Catalyst projects. Tests run in an app process on mobile devices
@@ -59,67 +66,9 @@ BenchmarkDotNet and forwards arguments after `--` to the instrumentation
process
([dotnet/android #12261](https://github.com/dotnet/android/pull/12261)).
-## Faster and more reliable Android builds
-
-Several Android build-pipeline changes reduce work in clean and incremental
-builds. For a Release CoreCLR .NET MAUI sample-content app using trimmable type
-maps, an ordinary managed source change improved from 68.32 to 52.31 seconds,
-and an Android manifest change improved from 39.74 to 10.97 seconds
-([dotnet/android #12229](https://github.com/dotnet/android/pull/12229)).
-
-Type-map generation also improved from 3,204 to 792 milliseconds in a clean
-CoreCLR .NET MAUI sample-content build
-([dotnet/android #12279](https://github.com/dotnet/android/pull/12279)).
-
-RC 1 also fixes two incremental-build correctness issues. APK archive updates
-now retain unchanged JAR resources, replace changed resources, and remove stale
-resources. In-place post-link processing no longer writes satellite assemblies
-into the shared NuGet package cache, which avoids concurrent-build `XAAMP7024`
-failures
-([dotnet/android #12463](https://github.com/dotnet/android/pull/12463)).
-
-## Smaller Android packages
+## Controls
-The Android trimmer now removes unused methods from user-defined
-`IJavaObject` types while preserving the constructors and overrides that Java
-can call. In the tested ARM64 .NET MAUI app, this reduced package size by
-664,926 bytes without R8 and 718,174 bytes with R8. A minimal app was unchanged
-([dotnet/android #12272](https://github.com/dotnet/android/pull/12272)).
-
-## Faster Android apps
-
-CoreCLR Release builds now include most methods from the app assembly in
-partial ReadyToRun compilation. The basic .NET MAUI template started 19.8
-milliseconds, or 2.4%, faster with a 65,536-byte package-size increase. The
-sample-content template started 75.4 milliseconds, or 4.5%, faster with a
-266,240-byte increase
-([dotnet/android #12248](https://github.com/dotnet/android/pull/12248)).
-
-.NET MAUI apps can also opt into full ReadyToRun compilation:
-
-```xml
-
- true
-
-```
-
-Full compilation trades additional package size for startup performance. The
-default remains partial ReadyToRun compilation
-([dotnet/maui #37094](https://github.com/dotnet/maui/pull/37094),
-[dotnet/android #12299](https://github.com/dotnet/android/pull/12299)).
-
-Single-page Shell apps on Android also defer unused tab infrastructure. In a
-matched 80-launch test on a Pixel 5, this reduced mean cold-start time by 35.95
-milliseconds, or 3.26%
-([dotnet/maui #37321](https://github.com/dotnet/maui/pull/37321)).
-
-Cached virtual JNI invocations improved from 221.4 to 180.7 nanoseconds, an 18%
-reduction, on a Pixel 5 using .NET 11 CoreCLR. The tested APK size did not
-change. The paired cold-start delta was -2.77 milliseconds, with a 95%
-confidence interval of -7.61 to +2.06 milliseconds
-([dotnet/android #12377](https://github.com/dotnet/android/pull/12377)).
-
-## TabbedPage badges
+### TabbedPage badges
`TabbedPage` children can display badge text, background color, and text color
through the `TabbedPage.BadgeText`, `TabbedPage.BadgeColor`, and
@@ -139,28 +88,7 @@ updates. On iOS and Mac Catalyst 18 or later, UIKit might render its system
badge colors instead of custom colors even though .NET MAUI uses the supported
per-item APIs.
-## Themed splash screens
-
-`MauiSplashScreen` supports separate images, colors, and tint colors for dark
-mode. Android generates `night`-qualified resources. iOS, iPadOS, and Mac
-Catalyst generate asset-catalog launch resources when the minimum supported OS
-version is 14 or later
-([dotnet/maui #35710](https://github.com/dotnet/maui/pull/35710)).
-
-```xml
-
-```
-
-Projects without dark-mode metadata retain the existing splash-screen
-behavior. Apple targets earlier than version 14 emit a warning and use the
-existing fallback.
-
-## Explicit SwipeItem colors
+### Explicit SwipeItem colors
`SwipeItem.IconColor` explicitly tints supported icon sources, and
`SwipeItem.TextColor` controls the label color. Both properties support
@@ -184,7 +112,7 @@ Windows supports explicit tinting for font and packaged-file icons; URI,
rooted, and stream-backed images retain their original colors. Tizen also
retains original icon colors.
-## Opt-in BlazorWebView static content caching
+### Opt-in BlazorWebView static content caching
`BlazorWebView.StaticContentCacheControlProvider` can opt local static assets
into caching. Returning `null`, an empty string, or whitespace preserves the
@@ -204,26 +132,52 @@ requests.
Thank you [@Kebechet](https://github.com/Kebechet) for this contribution!
-## XAML Incremental Hot Reload reliability
+### FlyoutPage adopts handlers on Apple platforms
-> XAML Incremental Hot Reload is a preview feature in .NET 11.
+`FlyoutPage` now uses `FlyoutViewHandler` by default on iOS and Mac Catalyst,
+completing the Apple-platform handler migration for the primary multi-page
+controls. The handler adds custom `FlyoutWidth` support and keeps flyout
+subscriptions isolated between multiple page instances
+([dotnet/maui #36676](https://github.com/dotnet/maui/pull/36676)).
-RC 1 improves the source-generated XAML Incremental Hot Reload path introduced
-in Preview 7. Application-level resource edits now reach both existing and new
-`DynamicResource` consumers. Changing a literal value or binding to a
-`DynamicResource` also removes the old local state so later resource changes
-continue to update the property
-([dotnet/maui #37896](https://github.com/dotnet/maui/pull/37896),
-[dotnet/maui #37898](https://github.com/dotnet/maui/pull/37898)).
+Apps that depend on a custom `PhoneFlyoutPageRenderer` can register the
+renderer explicitly:
-Structural updates now reconcile original `x:Name` fields and namescope entries
-with the new visual tree. Non-structural property edits inside a direct
-`CollectionView.ItemTemplate` also update already-realized cells without
-replacing the template or resetting selection, focus, or scroll position
-([dotnet/maui #37897](https://github.com/dotnet/maui/pull/37897),
-[dotnet/maui #37899](https://github.com/dotnet/maui/pull/37899)).
+```csharp
+builder.ConfigureMauiHandlers(handlers =>
+{
+ handlers.AddHandler();
+});
+```
+
+Thank you
+[@Vignesh-SF3580](https://github.com/Vignesh-SF3580)
+for this contribution!
+
+## Platform features
+
+### Themed splash screens
-## Configurable Resizetizer quality
+`MauiSplashScreen` supports separate images, colors, and tint colors for dark
+mode. Android generates `night`-qualified resources. iOS, iPadOS, and Mac
+Catalyst generate asset-catalog launch resources when the minimum supported OS
+version is 14 or later
+([dotnet/maui #35710](https://github.com/dotnet/maui/pull/35710)).
+
+```xml
+
+```
+
+Projects without dark-mode metadata retain the existing splash-screen
+behavior. Apple targets earlier than version 14 emit a warning and use the
+existing fallback.
+
+### Configurable Resizetizer quality
The new `ResizeQuality` metadata controls image sampling during Resizetizer
build tasks. `Auto` preserves the existing default, `Best` uses higher-quality
@@ -238,7 +192,7 @@ sampling, and `Fastest` uses nearest-neighbor sampling without mipmaps
The setting applies to raster and SVG images, app icons, and splash assets.
-## Android system bars can follow .NET MAUI chrome
+### Android system bars can follow .NET MAUI chrome
Android apps can opt in to matching the status-bar and navigation-bar
backgrounds to the effective colors of `NavigationPage`, Shell, `TabbedPage`,
@@ -255,45 +209,106 @@ The option changes system-bar backgrounds only. Icon appearance remains under
app or theme control. The default is `false`, which preserves the existing
Android behavior.
-## Android app launch and shutdown
+## XAML
-When `dotnet run` launches an Android activity on a connected device, it now
-wakes a sleeping device and dismisses a non-secure keyguard before launching
-the app
-([dotnet/android #12322](https://github.com/dotnet/android/pull/12322)).
+### XAML Incremental Hot Reload reliability
-When you stop `dotnet run` with Ctrl+C, it now waits for the Android
-`force-stop` operation to complete before the command exits
-([dotnet/android #12318](https://github.com/dotnet/android/pull/12318)).
+> XAML Incremental Hot Reload is a preview feature in .NET 11.
+
+RC 1 improves the source-generated XAML Incremental Hot Reload path introduced
+in Preview 7. Application-level resource edits now reach both existing and new
+`DynamicResource` consumers. Changing a literal value or binding to a
+`DynamicResource` also removes the old local state so later resource changes
+continue to update the property
+([dotnet/maui #37896](https://github.com/dotnet/maui/pull/37896),
+[dotnet/maui #37898](https://github.com/dotnet/maui/pull/37898)).
+
+Structural updates now reconcile original `x:Name` fields and namescope entries
+with the new visual tree. Non-structural property edits inside a direct
+`CollectionView.ItemTemplate` also update already-realized cells without
+replacing the template or resetting selection, focus, or scroll position
+([dotnet/maui #37897](https://github.com/dotnet/maui/pull/37897),
+[dotnet/maui #37899](https://github.com/dotnet/maui/pull/37899)).
See the
-[full Android RC 1 compare](https://github.com/dotnet/android/compare/37.0.0-preview.7.2131...b65b55d5357abb23960a999c7c5ffaceb75c4515)
+[full MAUI RC 1 compare](https://github.com/dotnet/maui/compare/release/11.0.1xx-preview7...484132f9e51f4d1eae72dba038575d6102639730)
for the complete set of changes.
-## FlyoutPage adopts handlers on Apple platforms
+## .NET for Android
-`FlyoutPage` now uses `FlyoutViewHandler` by default on iOS and Mac Catalyst,
-completing the Apple-platform handler migration for the primary multi-page
-controls. The handler adds custom `FlyoutWidth` support and keeps flyout
-subscriptions isolated between multiple page instances
-([dotnet/maui #36676](https://github.com/dotnet/maui/pull/36676)).
+### Faster and more reliable Android builds
-Apps that depend on a custom `PhoneFlyoutPageRenderer` can register the
-renderer explicitly:
+Several Android build-pipeline changes reduce work in clean and incremental
+builds. For a Release CoreCLR .NET MAUI sample-content app using trimmable type
+maps, an ordinary managed source change improved from 68.32 to 52.31 seconds,
+and an Android manifest change improved from 39.74 to 10.97 seconds
+([dotnet/android #12229](https://github.com/dotnet/android/pull/12229)).
-```csharp
-builder.ConfigureMauiHandlers(handlers =>
-{
- handlers.AddHandler();
-});
+Type-map generation also improved from 3,204 to 792 milliseconds in a clean
+CoreCLR .NET MAUI sample-content build
+([dotnet/android #12279](https://github.com/dotnet/android/pull/12279)).
+
+RC 1 also fixes two incremental-build correctness issues. APK archive updates
+now retain unchanged JAR resources, replace changed resources, and remove stale
+resources. In-place post-link processing no longer writes satellite assemblies
+into the shared NuGet package cache, which avoids concurrent-build `XAAMP7024`
+failures
+([dotnet/android #12463](https://github.com/dotnet/android/pull/12463)).
+
+### Smaller Android packages
+
+The Android trimmer now removes unused methods from user-defined
+`IJavaObject` types while preserving the constructors and overrides that Java
+can call. In the tested ARM64 .NET MAUI app, this reduced package size by
+664,926 bytes without R8 and 718,174 bytes with R8. A minimal app was unchanged
+([dotnet/android #12272](https://github.com/dotnet/android/pull/12272)).
+
+### Faster Android apps
+
+CoreCLR Release builds now include most methods from the app assembly in
+partial ReadyToRun compilation. The basic .NET MAUI template started 19.8
+milliseconds, or 2.4%, faster with a 65,536-byte package-size increase. The
+sample-content template started 75.4 milliseconds, or 4.5%, faster with a
+266,240-byte increase
+([dotnet/android #12248](https://github.com/dotnet/android/pull/12248)).
+
+.NET MAUI apps can also opt into full ReadyToRun compilation:
+
+```xml
+
+ true
+
```
-Thank you
-[@Vignesh-SF3580](https://github.com/Vignesh-SF3580)
-for this contribution!
+Full compilation trades additional package size for startup performance. The
+default remains partial ReadyToRun compilation
+([dotnet/maui #37094](https://github.com/dotnet/maui/pull/37094),
+[dotnet/android #12299](https://github.com/dotnet/android/pull/12299)).
+
+Single-page Shell apps on Android also defer unused tab infrastructure. In a
+matched 80-launch test on a Pixel 5, this reduced mean cold-start time by 35.95
+milliseconds, or 3.26%
+([dotnet/maui #37321](https://github.com/dotnet/maui/pull/37321)).
+
+Cached virtual JNI invocations improved from 221.4 to 180.7 nanoseconds, an 18%
+reduction, on a Pixel 5 using .NET 11 CoreCLR. The tested APK size did not
+change. The paired cold-start delta was -2.77 milliseconds, with a 95%
+confidence interval of -7.61 to +2.06 milliseconds
+([dotnet/android #12377](https://github.com/dotnet/android/pull/12377)).
+
+### Android app launch and shutdown
+
+When `dotnet run` launches an Android activity on a connected device, it now
+wakes a sleeping device and dismisses a non-secure keyguard before launching
+the app
+([dotnet/android #12322](https://github.com/dotnet/android/pull/12322)).
+
+When you stop `dotnet run` with Ctrl+C, it now waits for the Android
+`force-stop` operation to complete before the command exits
+([dotnet/android #12318](https://github.com/dotnet/android/pull/12318)).
See the
-[full MAUI RC 1 compare](https://github.com/dotnet/maui/compare/release/11.0.1xx-preview7...484132f9e51f4d1eae72dba038575d6102639730)
+[full Android RC 1 compare](https://github.com/dotnet/android/compare/37.0.0-preview.7.2131...b65b55d5357abb23960a999c7c5ffaceb75c4515)
for the complete set of changes.
## Apple platforms (.NET for iOS, Mac Catalyst, macOS, tvOS)
From b6cc7e891cf4f74121ddd0aa47c2f8d20bf3e1e2 Mon Sep 17 00:00:00 2001
From: David Ortinau
Date: Wed, 2 Sep 2026 15:18:12 -0500
Subject: [PATCH 7/9] docs: correct FlyoutPage handler scope
Remove an unsupported public FlyoutWidth claim while retaining the verified handler migration and multi-instance behavior.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 986fbe85-1680-4456-b145-4a52e4df45da
---
release-notes/11.0/preview/rc1/dotnetmaui.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/release-notes/11.0/preview/rc1/dotnetmaui.md b/release-notes/11.0/preview/rc1/dotnetmaui.md
index 8a772c138e..e5f090eea9 100644
--- a/release-notes/11.0/preview/rc1/dotnetmaui.md
+++ b/release-notes/11.0/preview/rc1/dotnetmaui.md
@@ -136,8 +136,8 @@ Thank you [@Kebechet](https://github.com/Kebechet) for this contribution!
`FlyoutPage` now uses `FlyoutViewHandler` by default on iOS and Mac Catalyst,
completing the Apple-platform handler migration for the primary multi-page
-controls. The handler adds custom `FlyoutWidth` support and keeps flyout
-subscriptions isolated between multiple page instances
+controls. The handler keeps flyout subscriptions isolated between multiple
+page instances
([dotnet/maui #36676](https://github.com/dotnet/maui/pull/36676)).
Apps that depend on a custom `PhoneFlyoutPageRenderer` can register the
From a58a29d1536c1677fc100a7ebece589cab073a74 Mon Sep 17 00:00:00 2001
From: David Ortinau
Date: Sat, 5 Sep 2026 19:16:27 -0500
Subject: [PATCH 8/9] Apply suggestion from @rolfbjarne
Co-authored-by: Rolf Bjarne Kvinge
---
release-notes/11.0/preview/rc1/dotnetmaui.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/release-notes/11.0/preview/rc1/dotnetmaui.md b/release-notes/11.0/preview/rc1/dotnetmaui.md
index e5f090eea9..92b8622249 100644
--- a/release-notes/11.0/preview/rc1/dotnetmaui.md
+++ b/release-notes/11.0/preview/rc1/dotnetmaui.md
@@ -331,7 +331,7 @@ for the complete set of changes.
RC 1 also includes reliability and packaging work across Hot Reload, linking,
the registrar, bindings, and MSBuild. See the
-[full Apple platforms RC 1 compare](https://github.com/dotnet/macios/compare/release/11.0.1xx-preview7...36cc717537e7deaf6a8161bd96a977195cacd434)
+[full Apple platforms RC 1 compare](https://github.com/dotnet/macios/compare/release/11.0.1xx-preview7...release/11.0.1xx-rc.1)
for the complete set of changes.