[.NET11] Update android packages #33450
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the Xamarin.Google.Android.Material package from version 1.12.0.5 to 1.13.0.1 to incorporate a fix for the Material Slider's missing addOnChangeListener method from the android-libraries binding repository. The update requires coordinated dependency updates to resolve NuGet version conflicts.
Key Changes:
- Primary package update: Material Design Components to 1.13.0.1
- Required dependency updates: Activity 1.12.2, Lifecycle packages to 2.10.0
- Addition of 7 Ktx packages as explicit references to override transitive dependency conflicts
- Two new transitive dependencies: Graphics.Shapes and NavigationEvent
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| eng/AndroidX.targets | Updated 3 package versions (Activity, LiveData, Material) and added 9 new package version entries (Ktx packages, Graphics.Shapes, NavigationEvent) |
| src/Core/src/Core.csproj | Added 7 explicit PackageReference entries for Ktx packages to force correct versions and prevent NU1608 errors |
This commit updates all Android/AndroidX NuGet packages to their latest stable versions and removes unnecessary explicit package references that were added as workarounds for version conflicts. Package Updates (11 packages): - Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update) - Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1 - Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1 - Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4 - Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1 - Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages) - Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1 - Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2 - Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1 - Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27 - Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1 Removed Unnecessary Packages (9 packages): These were added in the original PR to avoid NU1608 version conflicts, but are no longer needed with all packages updated to latest stable versions: - Xamarin.AndroidX.Activity.Ktx (transitive dependency) - Xamarin.AndroidX.Fragment.Ktx (transitive dependency) - Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1) - Xamarin.AndroidX.Lifecycle.Process (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency) - Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency) - Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1) - Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency) Removed Explicit References from Core.csproj (10 references): The explicit Ktx and Navigation package references in Core.csproj were only needed to force specific versions and avoid NU1608 conflicts. With all packages at latest versions, these are now correctly resolved transitively. Benefits: - No NU1608 version conflicts - All packages at latest stable versions - Cleaner dependency management (fewer explicit package declarations) - Latest bug fixes and features across Android ecosystem Related: dotnet#33450
|
Ok, this might be an issue: This means some of these newer <uses-sdk android:minSdkVersion="23" />To get this to be green here, each project with an error we can change to: <SupportedOSPlatformVersion>23</SupportedOSPlatformVersion>But the problem is this will effectively make .NET MAUI's min API level 23, and 21 won't work anymore... |
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+). Reverting Glide to 4.16.0.14 while keeping all other package updates resolves the PR build failures without introducing breaking changes. Error that was occurring with Glide 5.0.5.1: XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library Package status after revert: - Xamarin.Android.Glide: 4.16.0.14 (kept at current version) - 10 other Android packages: Updated to latest versions - No NU1608 version conflicts - No minSdkVersion errors Related: dotnet#33450
This commit updates all Android/AndroidX NuGet packages to their latest stable versions and removes unnecessary explicit package references that were added as workarounds for version conflicts. Package Updates (11 packages): - Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update) - Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1 - Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1 - Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4 - Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1 - Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages) - Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1 - Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2 - Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1 - Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27 - Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1 Removed Unnecessary Packages (9 packages): These were added in the original PR to avoid NU1608 version conflicts, but are no longer needed with all packages updated to latest stable versions: - Xamarin.AndroidX.Activity.Ktx (transitive dependency) - Xamarin.AndroidX.Fragment.Ktx (transitive dependency) - Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1) - Xamarin.AndroidX.Lifecycle.Process (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency) - Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency) - Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1) - Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency) Removed Explicit References from Core.csproj (10 references): The explicit Ktx and Navigation package references in Core.csproj were only needed to force specific versions and avoid NU1608 conflicts. With all packages at latest versions, these are now correctly resolved transitively. Benefits: - No NU1608 version conflicts - All packages at latest stable versions - Cleaner dependency management (fewer explicit package declarations) - Latest bug fixes and features across Android ecosystem Related: dotnet#33450
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+). Reverting Glide to 4.16.0.14 while keeping all other package updates resolves the PR build failures without introducing breaking changes. Error that was occurring with Glide 5.0.5.1: XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library Package status after revert: - Xamarin.Android.Glide: 4.16.0.14 (kept at current version) - 10 other Android packages: Updated to latest versions - No NU1608 version conflicts - No minSdkVersion errors Related: dotnet#33450
c6c5b38 to
4dc0385
Compare
jonathanpeppers
left a comment
There was a problem hiding this comment.
Can you retarget to the net11.0 branch?
This commit updates all Android/AndroidX NuGet packages to their latest stable versions and removes unnecessary explicit package references that were added as workarounds for version conflicts. Package Updates (11 packages): - Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update) - Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1 - Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1 - Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4 - Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1 - Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages) - Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1 - Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2 - Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1 - Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27 - Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1 Removed Unnecessary Packages (9 packages): These were added in the original PR to avoid NU1608 version conflicts, but are no longer needed with all packages updated to latest stable versions: - Xamarin.AndroidX.Activity.Ktx (transitive dependency) - Xamarin.AndroidX.Fragment.Ktx (transitive dependency) - Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1) - Xamarin.AndroidX.Lifecycle.Process (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency) - Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency) - Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1) - Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency) Removed Explicit References from Core.csproj (10 references): The explicit Ktx and Navigation package references in Core.csproj were only needed to force specific versions and avoid NU1608 conflicts. With all packages at latest versions, these are now correctly resolved transitively. Benefits: - No NU1608 version conflicts - All packages at latest stable versions - Cleaner dependency management (fewer explicit package declarations) - Latest bug fixes and features across Android ecosystem Related: dotnet#33450
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+). Reverting Glide to 4.16.0.14 while keeping all other package updates resolves the PR build failures without introducing breaking changes. Error that was occurring with Glide 5.0.5.1: XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library Package status after revert: - Xamarin.Android.Glide: 4.16.0.14 (kept at current version) - 10 other Android packages: Updated to latest versions - No NU1608 version conflicts - No minSdkVersion errors Related: dotnet#33450
|
/rebase |
This commit updates all Android/AndroidX NuGet packages to their latest stable versions and removes unnecessary explicit package references that were added as workarounds for version conflicts. Package Updates (11 packages): - Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update) - Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1 - Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1 - Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4 - Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1 - Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages) - Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1 - Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2 - Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1 - Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27 - Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1 Removed Unnecessary Packages (9 packages): These were added in the original PR to avoid NU1608 version conflicts, but are no longer needed with all packages updated to latest stable versions: - Xamarin.AndroidX.Activity.Ktx (transitive dependency) - Xamarin.AndroidX.Fragment.Ktx (transitive dependency) - Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1) - Xamarin.AndroidX.Lifecycle.Process (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency) - Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency) - Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1) - Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency) Removed Explicit References from Core.csproj (10 references): The explicit Ktx and Navigation package references in Core.csproj were only needed to force specific versions and avoid NU1608 conflicts. With all packages at latest versions, these are now correctly resolved transitively. Benefits: - No NU1608 version conflicts - All packages at latest stable versions - Cleaner dependency management (fewer explicit package declarations) - Latest bug fixes and features across Android ecosystem Related: dotnet#33450
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+). Reverting Glide to 4.16.0.14 while keeping all other package updates resolves the PR build failures without introducing breaking changes. Error that was occurring with Glide 5.0.5.1: XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library Package status after revert: - Xamarin.Android.Glide: 4.16.0.14 (kept at current version) - 10 other Android packages: Updated to latest versions - No NU1608 version conflicts - No minSdkVersion errors Related: dotnet#33450
efc0fa7 to
f894047
Compare
|
Azure Pipelines successfully started running 2 pipeline(s). |
...ontrols/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.targets
Outdated
Show resolved
Hide resolved
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 33450Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 33450" |
92bbd2c to
dca3c9d
Compare
This commit updates all Android/AndroidX NuGet packages to their latest stable versions and removes unnecessary explicit package references that were added as workarounds for version conflicts. Package Updates (11 packages): - Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update) - Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1 - Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1 - Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4 - Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1 - Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages) - Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1 - Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2 - Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1 - Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27 - Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1 Removed Unnecessary Packages (9 packages): These were added in the original PR to avoid NU1608 version conflicts, but are no longer needed with all packages updated to latest stable versions: - Xamarin.AndroidX.Activity.Ktx (transitive dependency) - Xamarin.AndroidX.Fragment.Ktx (transitive dependency) - Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1) - Xamarin.AndroidX.Lifecycle.Process (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency) - Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency) - Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1) - Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency) Removed Explicit References from Core.csproj (10 references): The explicit Ktx and Navigation package references in Core.csproj were only needed to force specific versions and avoid NU1608 conflicts. With all packages at latest versions, these are now correctly resolved transitively. Benefits: - No NU1608 version conflicts - All packages at latest stable versions - Cleaner dependency management (fewer explicit package declarations) - Latest bug fixes and features across Android ecosystem Related: dotnet#33450
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+). Reverting Glide to 4.16.0.14 while keeping all other package updates resolves the PR build failures without introducing breaking changes. Error that was occurring with Glide 5.0.5.1: XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library Package status after revert: - Xamarin.Android.Glide: 4.16.0.14 (kept at current version) - 10 other Android packages: Updated to latest versions - No NU1608 version conflicts - No minSdkVersion errors Related: dotnet#33450
This commit updates all Android/AndroidX NuGet packages to their latest stable versions and removes unnecessary explicit package references that were added as workarounds for version conflicts. Package Updates (11 packages): - Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update) - Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1 - Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1 - Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4 - Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1 - Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages) - Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1 - Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2 - Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1 - Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27 - Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1 Removed Unnecessary Packages (9 packages): These were added in the original PR to avoid NU1608 version conflicts, but are no longer needed with all packages updated to latest stable versions: - Xamarin.AndroidX.Activity.Ktx (transitive dependency) - Xamarin.AndroidX.Fragment.Ktx (transitive dependency) - Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1) - Xamarin.AndroidX.Lifecycle.Process (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency) - Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency) - Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1) - Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency) Removed Explicit References from Core.csproj (10 references): The explicit Ktx and Navigation package references in Core.csproj were only needed to force specific versions and avoid NU1608 conflicts. With all packages at latest versions, these are now correctly resolved transitively. Benefits: - No NU1608 version conflicts - All packages at latest stable versions - Cleaner dependency management (fewer explicit package declarations) - Latest bug fixes and features across Android ecosystem Related: dotnet#33450
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+). Reverting Glide to 4.16.0.14 while keeping all other package updates resolves the PR build failures without introducing breaking changes. Error that was occurring with Glide 5.0.5.1: XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library Package status after revert: - Xamarin.Android.Glide: 4.16.0.14 (kept at current version) - 10 other Android packages: Updated to latest versions - No NU1608 version conflicts - No minSdkVersion errors Related: dotnet#33450
This commit updates all Android/AndroidX NuGet packages to their latest stable versions and removes unnecessary explicit package references that were added as workarounds for version conflicts. Package Updates (11 packages): - Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update) - Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1 - Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1 - Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4 - Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1 - Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages) - Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1 - Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2 - Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1 - Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27 - Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1 Removed Unnecessary Packages (9 packages): These were added in the original PR to avoid NU1608 version conflicts, but are no longer needed with all packages updated to latest stable versions: - Xamarin.AndroidX.Activity.Ktx (transitive dependency) - Xamarin.AndroidX.Fragment.Ktx (transitive dependency) - Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1) - Xamarin.AndroidX.Lifecycle.Process (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency) - Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency) - Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1) - Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency) Removed Explicit References from Core.csproj (10 references): The explicit Ktx and Navigation package references in Core.csproj were only needed to force specific versions and avoid NU1608 conflicts. With all packages at latest versions, these are now correctly resolved transitively. Benefits: - No NU1608 version conflicts - All packages at latest stable versions - Cleaner dependency management (fewer explicit package declarations) - Latest bug fixes and features across Android ecosystem Related: dotnet#33450
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+). Reverting Glide to 4.16.0.14 while keeping all other package updates resolves the PR build failures without introducing breaking changes. Error that was occurring with Glide 5.0.5.1: XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library Package status after revert: - Xamarin.Android.Glide: 4.16.0.14 (kept at current version) - 10 other Android packages: Updated to latest versions - No NU1608 version conflicts - No minSdkVersion errors Related: dotnet#33450
This commit updates all Android/AndroidX NuGet packages to their latest stable versions and removes unnecessary explicit package references that were added as workarounds for version conflicts. Package Updates (11 packages): - Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update) - Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1 - Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1 - Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4 - Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1 - Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages) - Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1 - Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2 - Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1 - Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27 - Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1 Removed Unnecessary Packages (9 packages): These were added in the original PR to avoid NU1608 version conflicts, but are no longer needed with all packages updated to latest stable versions: - Xamarin.AndroidX.Activity.Ktx (transitive dependency) - Xamarin.AndroidX.Fragment.Ktx (transitive dependency) - Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1) - Xamarin.AndroidX.Lifecycle.Process (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency) - Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency) - Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency) - Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1) - Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency) Removed Explicit References from Core.csproj (10 references): The explicit Ktx and Navigation package references in Core.csproj were only needed to force specific versions and avoid NU1608 conflicts. With all packages at latest versions, these are now correctly resolved transitively. Benefits: - No NU1608 version conflicts - All packages at latest stable versions - Cleaner dependency management (fewer explicit package declarations) - Latest bug fixes and features across Android ecosystem Related: dotnet#33450
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+). Reverting Glide to 4.16.0.14 while keeping all other package updates resolves the PR build failures without introducing breaking changes. Error that was occurring with Glide 5.0.5.1: XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library Package status after revert: - Xamarin.Android.Glide: 4.16.0.14 (kept at current version) - 10 other Android packages: Updated to latest versions - No NU1608 version conflicts - No minSdkVersion errors Related: dotnet#33450
- Update all AndroidX/Google NuGet packages to latest stable versions - Bump Android minimum SDK version from 21 to 23 across all projects - Simplify AreAnimationsEnabled() removing obsolete API level 21 check - Fix null safety in Browser.android.cs LaunchChromeTabs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
00f4bdc to
c43ecb8
Compare
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@jfversluis this one can be merged to net11 I think |
…net11.0 compatibility (#34601) <!-- Please let the below note in for people that find this PR --> > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Description of Change On net11.0, the Material3 package (#33450) changed `BottomNavigationView.MaxItemCount` from 5 to 6. This caused Android Shell and TabbedPage bottom navigation rendering to change, breaking ~16 screenshot baselines on the net11.0 branch. This PR clamps `MaxItemCount` back to 5 to maintain consistent behavior across .NET versions. ### Code Changes **`BottomNavigationViewUtils.cs`:** - Added `MaxBottomNavigationItems = 5` constant - `SetupMenu` and `CreateMoreBottomSheet` both clamp `maxBottomItems` to this constant **`ShellItemRenderer.cs`:** - "More" tab logic and `UpdateMenuItems` now clamp `MaxItemCount` to 5, preventing more than 5 items in the bottom navigation bar ### Snapshot Updates Updated 16 Android screenshot baselines affected by the tab layout change: - Shell appearance tests (tab bar colors, foreground, background, RTL) - TabbedPage menu item tests - Tab icon and visibility tests - Flyout icon tests - Navigation bar layout tests Also updated: - `Material3TimePicker_InitialState_VerifyVisualState` (android-notch-36) - `VerifyHybridWebViewWithShadow` (ios-26) ### Known Gaps This PR does NOT update all affected snapshots. The following are known to still need baseline updates or investigation: - `Issue18896Test` - confirmed 5.74% screenshot diff in the bottom nav area (same root cause, missing baseline update) - 10 additional Shell/TabbedPage snapshots from #34586 that were intentionally left unchanged (bet: the code fix restores them to match existing baselines) ### Root Cause The Material3 package on net11.0 increased `BottomNavigationView.MaxItemCount` from 5 to 6. This changed the layout of bottom navigation tabs, causing extra space allocation and rendering differences in all tests that capture bottom navigation UI. See: #33450
This pull request updates the minimum supported Android platform version across the codebase from API level 21 to API level 23 and upgrades several AndroidX and Google dependencies. It also includes minor code fixes to ensure compatibility with these changes and to prevent runtime errors.
Platform version updates:
SupportedOSPlatformVersionandTargetPlatformMinVersionfor Android from 21.0 to 23.0 in project and target files, affecting build requirements for all Android projects and templates. [1] [2] [3] [4] [5] [6] [7] [8] [9]Dependency upgrades:
eng/AndroidX.targetsto newer versions, includingXamarin.Android.Glide,Xamarin.AndroidX.Activity,Xamarin.AndroidX.Browser, and others; added a workaround for duplicate class errors withXamarin.AndroidX.Compose.Runtime.Annotation.Jvm.Code compatibility and bug fixes:
LaunchChromeTabsinBrowser.android.csto prevent potential crashes when setting intent flags or launching URLs.AreAnimationsEnabled()inPlatformTicker.Android.csto align with the new minimum API level.## SummaryThis PR updates
Xamarin.Google.Android.Materialfrom1.12.0.5to1.13.0.1to incorporate the fix for Material Slider's missingaddOnChangeListenermethod from dotnet/android-libraries#1335. Also, updated the other packages inorder to avoid the dependency isuses.Main reason for update packages:
The Material Slider binding was missing the
addOnChangeListenermethod, which is required for properly handling slider value changes in .NET MAUI applications. This has been fixed in the latest android-libraries package release.Related Issue: dotnet/android-libraries#1335