Releases: dotnet/maui
8.0.6 SR1
How to Use
8.0.6 is now available in Visual Studio 17.8, 17.9, and 17.10 Preview 1 on Windows, and from the dotnet CLI on macOS and Linux.
Installed Workload Id Manifest Version Installation Source
---------------------------------------------------------------------
android 34.0.79/8.0.100 SDK 8.0.100
ios 17.2.8022/8.0.100 SDK 8.0.100
maccatalyst 17.2.8022/8.0.100 SDK 8.0.100
maui 8.0.6/8.0.100 SDK 8.0.100
MAUI Product Fixes
- Fix Android MediaPicker Photo capture logic by @Redth #19844
- Make sure to account for a null AppWindow by @PureWeen in #17746
- [Android] Fix ReturnType on Entry by @jsuarezruiz in #17546
- Correctly expand rows/columns when grid padding by @mattleibow in #17750
- [Android] Fix ScrollView filling layouts by @jknaudt21 in #17243
- Limit star expansion when measuring/arranging at constrained sizes by @hartez in #17880
- [Android] Avoid issues creating a Borderless Entry with a custom Handler by @jsuarezruiz in #17778
- [ios] fix memory leaks in various controls by @jonathanpeppers in #18434
- (Windows) Fix backbutton not being drawn for other NavigationPages by @Foda in #18451
- Ignore use of obsolete iOS/Catalyst API until we update to iOS bump with new APIs by @PureWeen in #18468
- [iOS] Fix ContentPage BackgroundImageSource not working by @jsuarezruiz in #17789
- Fix the logging messages by @mattleibow in #18518
- Improves performance of GetLayoutHandlerIndex by @albyrock87 in #18499
- [Android] Removes freeze using SecureStorage by @jsuarezruiz in #17928
- [controls] fix memory leak with CarouselView & INotifyCollectionChanged by @jonathanpeppers in #18267
- Filter GetVisualTreeDescendants to not check elements with null handlers by @drasticactions in #18539
- Fix filename case sensitivity by @moljac in #18561
- [android] fix memory leak with CarouselView by @jonathanpeppers in #18584
- Reinstate MediaPicker.CaptureVideo for Android (API 33) by @jfversluis in #18620
- Fixed issue creating Paths with PolyLineSegment without points by @jfversluis in #18643
- [ios] fix memory leak in Stepper by @jonathanpeppers in #18663
- Fix PlatformStringSizeService on iOS/Catalyst to use correct API by @drasticactions in #18621
- [ios] fix memory leak in ImageButton by @jonathanpeppers in #18602
- sealed some internal classes in Controls.Core that are not inherited from (1) by @Lehonti in #17669
- Arrange content based on arrangement bounds rather than viewport bounds by @hartez in #18586
- [ios] fix memory leak in Switch by @jonathanpeppers in #18682
- [iOS/Catalyst] Fixed Editor placeholder position based on alignment by @jsuarezruiz in #18672
- [ios] fix memory leak in Slider by @jonathanpeppers in #18681
- [ios] fix memory leak in Frame, VisualElementRenderer by @jonathanpeppers in #18552
- Fix broadcast receiver register on android 14.0/34+ by @Redth in #18520
- Only use custom image sizing with ImageButtons by @jknaudt21 in #18521
- [Android] Fix Flyout toolbar by @emaf in #18684
- Remove invalid files from MauiImage by @mattleibow in #18731
- Add/Remove CarouselView Layout Listener when view is add/removed from window by @PureWeen in #18771
- [ios] fix memory leak in TableView by @jonathanpeppers in #18718
- [windows] fix memory leak in WebView by @jonathanpeppers in #18810
- [C] implicit style VSM do not override Manual value by @StephaneDelcroix in #18680
- [C] Lowest specificity for propagated values by @StephaneDelcroix in #17648
- Fix Modal OnNavigatedTo by @emaf in #18912
- [iOS] Make sure always call decisionHandler even if no handler by @rmarinho in #18934
- Prevent iOS CollectionView size shifts from clearing the cell size cache by @hartez in #18464
- [Windows] Address CollectionView virtualization by @Foda in #18813
- [MacCatalyst] Implement PointerPressed and PointerReleased by @rachelkang in #16925
- Revert "Prevent iOS CollectionView size shifts from clearing the cell size cache" by @rmarinho in #18988
- ScrollView content needs layout when ScrollView.InvalidateMeasure is called by @spadapet in #17639
- [Blazor] Fix static file handling so that it special cases modules.json (main) by @javiercn in #18953
- Prevent iOS CollectionView size shifts from clearing the cell size cache by @hartez in #19069
- [ios] update MemoryAnalyzers and cleanup by @jonathanpeppers in #18449
- Disconnect property changes from all pages when TabbedPage set to null by @maonaoda in #18458
- iOS/Mac Catalyst 17+ Support for new Calendar Permissions by @jfversluis in #18868
- [Blazor] Fix concurrency problem in Android builds by @javiercn in #19140
- [Android] Avoid possible crash using essentials Battery by @jsuarezruiz in #18386
- [Catalyst] Allow setting of MaximumTrackColor on Slider when using Mac Idiom by @mikeparker104 in #18990
- Update ShellSectionRenderer.cs by @1c3f0x84 in #18945
- fix using local asset files on windows by @vividos in #16930
- Use System.Net.WebUtility.HtmlDecode instead of System.Web.HttpUtility.HtmlDecode by @Eilon in #19237
- [Windows] Fix setting flyout width (#19068) by @molesmoke in #19070
- Correct InputView.MaxLengthProperty declaring type by @jfversluis in #17788
- [WinUI] Fix resizing CV rows when content size changed by @PureWeen in #18932
- Set CancelsTouchesInView for custom PGR by @PureWeen in #19283
- Remove circular reference from ShapeDrawable by @PureWeen in #19347
Tests
- Make ALL template warnings show up as test errors (not just C# warnings), and produce more diagnostic artifacts by @Eilon in #17637
- Fix some of the false GC test failures in Debug mode by @hartez in #17596
- Dev/scoban/getridofxamuit by @sbanni in #17849
- Use Cake for running integration tests by @mattleibow in #17964
- Only attach log files for current test by @BretJohnson in #17949
- Fail UI test run when all tests are inconclusive by @jfversluis in #17971
- Enable more legacy tests by @jfversluis in #17931
- Add device test for PR #18356 by @emaf in #18387
- [Testing] Added UI Test for manual test G5 by @jsuarezruiz in #18622
- [Testing] Added UI Test for manual test D3 by @jsuarezruiz in #18649
- [Testing] Added UI Test for manual test D4 by @jsuarezruiz in #18650
- [Testing] Added UI Test for manual test D14 by @jsuarezruiz in #18709
- [Testing] Added UI Test for manual test D11 by @jsuarezruiz in #18676
- [Testing] Added UI Test for manual test D12 by @jsuarezruiz in #18677
- Revert "[Testing] Added UI Test for manual test D11" by @PureWeen in #18888
- [tests] Ignore flaky android device tests by @rmarinho in #18905
- [tests] Add the default dotnet path on iOS by @rmarinho in #19058
- [testing] Run tests on device by @rmarinho in #17808
- [tests] Add runs on iOS17 by @rmarinho in #18962
- [tests] Ignore InputTransparencyGalleryTests matrix of UITests by @rmarinho in #19060
- [Testing] Added methods to set the device orientation from UITests by @jsuarezruiz in #19100
- [Testing] Fix flaky ShapeUpdatesBrushCorrectly test by @jsuarezr...
8.0.3
Introducing the .NET 8 GA release of .NET MAUI
This release is compatible with all the latest versions:
- Android 14.0 (API 34)
- iOS 17.0
- MacCatalyst 17.0
- WinUI 1.3.
It is also supported with the latest development platforms and tools: Visual Studio 17.8 and Xcode 15.0+ for iOS/MacCatalyst.
.NET MAUI includes and extends the .NET platform SDKs for Android, iOS, iPadOS, macOS, Mac Catalyst, and tvOS.
Get Started
For development on Windows, install .NET 8 and the latest .NET MAUI workload from Visual Studio 17.8+.
For development on Windows or Mac, install the .NET MAUI extension in VS Code and install the latest workload from the standalone installer using the dotnet workload install maui
command.
Highlights in .NET 8
- Enhanced memory management and overall performance
- Elevated accuracy in Visual States, Triggers, and XAML Hot Reload
- Optimized keyboard user experience on both mobile and desktop, featuring the introduction of keyboard accelerators
- Advanced support for gesture recognizers, incorporating new PointerGestureRecognizer events and access to platform-specific event args for Pointer and Drag and Drop gestures
- Enhanced compatibility for "Unpackaged" Windows apps
- Update of SkiaSharp to a more recent version of Skia
See more of what's new in https://learn.microsoft.com/en-us/dotnet/maui/whats-new/dotnet-8?view=net-maui-8.0
Breaking Changes
NuGet Package References
.NET MAUI Templates now include PackageReference
items for the Microsoft.Maui.Controls
and Microsoft.Maui.Controls.Compatibility
packages.
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiVersion)" />
The workload $(MauiVersion)
is specified by default, but this can also be changed to allow for easier testing of upcoming Service Release previews, PR builds, or Nightly feed packages without requiring workload commands.
New validation for duplicate images
Following the update, you might encounter a message regarding duplicate files, particularly with image resources. This arises because, previously, we didn't actively check for duplicates, and the image selection was arbitrary. In RC 1, we implemented a check to ensure the absence of duplicates. It's crucial to review any globs, especially those encompassing images, and ensure that images are not inadvertently included multiple times. Instead, make the following update in your csproj file:
<ItemGroup>
<MauiImage Include="Resources\Images\*" />
<!-- This would trigger an alert: -->
<MauiImage Include="Resources\Images\myimage.svg" Color="Red" />
<!-- This, however, will not result in an error: -->
<MauiImage Update="Resources\Images\myimage.svg" Color="Red" />
</ItemGroup>
What's Changed since .NET 7
- [release/8.0.1xx] Update car image/size by @github-actions in #18577
- Revert "Ensure that viewport calculations for iOS ScrollView account … by @PureWeen in #18579
- Allow iOS Keyboard Scrolling to be turned off in Lifecycle Events by @tj-devel709 in #18266
- Setup legacy mappers by @PureWeen in #18087
- [Templates] Remove get-task-allow entitlement from Templates by @dustin-wojciechowski in #18272
- Ensure that viewport calculations for iOS ScrollView account for content insets by @hartez in #18277
- Ensure templates create a proper AppID by @jknaudt21 in #18322
- [Templates] Fix template typo by @jknaudt21 in #18166
- Support finding nearest TFM to collect assets from by @mattleibow in #18068
- Partially revert "[Windows] Update CollectionView changing ItemsLayout (#14532) by @emaf in #18356
- Make Android respect power saving/disabled animations by @hartez in #17287
- .NET 8 template tweaks by @rachelkang in #18379
- Fix project name substitution in Blazor template nav menu and "VS install" prompt by @Eilon in #18388
- Fix Device Info Test API 33 by @PureWeen in #18390
- [C] clear _targetObject by @StephaneDelcroix in #18398
- Fixed Android's Border background to use a Transparent bg if not othe… by @jstedfast in #17555
- Update Flyout when Shell.FlyoutContent changes by @spadapet in #17359
- [XamlC] fix generic array by @StephaneDelcroix in #17301
- Fix iOS/Win InputTransparent layouts and add several UI tests by @mattleibow in #17286
- Fix accent color missing in title bar by @Foda in #17528
- Remove obsolete MauiWinUIApplication properties by @PureWeen in #17667
- Override CA1822 for Android interface implementation in MauiScrollView by @jfversluis in #17691
- Don't run hide on tapped code if window is null by @PureWeen in #17758
- Make sure to not call new APIs on old iOS by @mattleibow in #17907
- Make Entitlements in Templates for MacCatalyst more consistent between debug and release configs. by @dustin-wojciechowski in #17833
- Update Blazor Hybrid template to match ASP.NET Core Blazor Web template by @Eilon in #17946
- [android] update AOT profile for .NET 8 GA by @jonathanpeppers in #18061
- [Windows] Fix wrong Layout from hidden CollectionView by @jsuarezruiz in #17659
- [ X] connect the right method to the event handler by @StephaneDelcroix in #18043
- [iOS] Keep textcolor on characterspacing by @StephaneDelcroix in #17926
- [WinUI] Fixes window blinking when resizing by @emaf in #18155
- [net8.0] Add permission for high-speed sensors by @mattleibow in #18180
- [ X] revert #5611 by @StephaneDelcroix in #17733
- [iOS] Fix downscaled images not occupying correct space by @jknaudt21 in #17120
- Rework the Label mappers for FormattedText by @mattleibow in #18105
- Add a test for #17776 "Calling SetBinding after setting a constant value crashes" by @StephaneDelcroix in #17796
- [net8.0] Add NuGet package information by @mattleibow in #18197
- [net8.0] Correctly expand rows/columns when grid padding by @github-actions in #18276
- [release/8.0.1xx-rc2.2] Allow iOS Keyboard Scrolling to be turned off in Lifecycle Events by @github-actions in #18308
- [release/8.0.1xx-rc2.2] Setup legacy mappers by @github-actions in #18309
- [release/8.0.1xx-rc2.2] Make sure to account for a null AppWindow by @github-actions in #18313
- [release/8.0.1xx-rc2.2] Limit star expansion when measuring/arranging at constrained sizes by @github-actions in #18314
- [release/8.0.1xx-rc2.2] [Templates] Remove get-task-allow entitlement from Templates by @github-actions in #18323
- [release/8.0.1xx-rc2.2] Ensure that viewport calculations for iOS ScrollView account for content insets by @github-actions in #18321
- [xaml] locate event handlers from base types by @jonathanpeppers in #17075
- Updated the RoundRectangle BorderTest to check all 4 corners by @jstedfast in #17172
- Fix CollectionView not displaying header or footers by @jknaudt21 in #16870
- Compatibility should depend on Controls by @mattleibow in #17226
- (Windows) Fix tabbar visibility test by @Foda in #17240
- [msbuild] fix NuGet Central Package Management (CPM) by @jonathanpeppers in #17235
- Copy Windows assets to the output folder for Unpackaged by @mattleibow in #17238
- Remove null forgiveness operator and fix NRE from PlatformView in disconnect by @PureWeen in #17248
- [iOS] Fix issues setting Shell TabBar appearance by @jsuarezruiz in #15748
- [android] improve ToolbarExtensions.UpdateIconColor performance by @jonathanpeppers in #17241
- [Windows] Fix collection default spacing by @Foda in #17261
- Use strong type for PointerGest...
8.0.100-rc.2.9530
MAUI Product Fixes
What's Changed
- Allow iOS Keyboard Scrolling to be turned off in Lifecycle Events by @tj-devel709 in #18266
- Setup legacy mappers by @PureWeen in #18087
- [Templates] Remove get-task-allow entitlement from Templates by @dustin-wojciechowski in #18272
- Ensure that viewport calculations for iOS ScrollView account for content insets by @hartez in #18277
- Ensure templates create a proper AppID by @jknaudt21 in #18322
- [Templates] Fix template typo by @jknaudt21 in #18166
- Support finding nearest TFM to collect assets from by @mattleibow in #18068
- Partially revert "[Windows] Update CollectionView changing ItemsLayout (#14532) by @emaf in #18356
- Make Android respect power saving/disabled animations by @hartez in #17287
- .NET 8 template tweaks by @rachelkang in #18379
- Fix project name substitution in Blazor template nav menu and "VS install" prompt by @Eilon in #18388
- Fix Device Info Test API 33 by @PureWeen in #18390
- [C] clear _targetObject by @StephaneDelcroix in #18398
Dependency Updates
- [release/8.0.1xx-rc2.3] Bump macios to latest by @dalexsoto in #18406
- [release/8.0.1xx-rc2.3] Update .NET 7 MAUI Version by @dalexsoto in #18412
- [net8.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #18307
- [net8.0] Update dependencies from dotnet/aspnetcore by @dotnet-maestro in #18286
- [net8.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #18281
Full Changelog: 8.0.0-rc.2.9511...8.0.0-rc.2.9530
7.0.101 SR10
Dependency Updates:
[net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro-bot in #18361
7.0.100 SR9
What's Changed
Tests
- [net7.0] Remove ScrollView Leak Test by @PureWeen in #17522
- [net7.0] Backport UI Test fixes from main by @PureWeen in #17496
Docs
- [net7.0] Update BindableObject API docs by @jfversluis in #17542
- [net7.0] Backport Legacy Control Gallery by @PureWeen in #17434
Dependency Updates
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #17514
- [net7.0] Rollback xharness bump to 8.0.0-prerelease.23407.2 by @PureWeen in #17529
- [net7.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #17593
- [net7.0] Update SkiaSharp to 2.88.6 by @mattleibow in #17663
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #17970
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #18013
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #18073
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #18088
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #18095
- [release/7.0.3xx-sr9] Bump iOS to correct 16.4.7121 by @rmarinho in #18222
Full Changelog: 7.0.96...7.0.100
8.0.0-rc.2.9511
MAUI Product Fixes
What's Changed
- Fixed Android's Border background to use a Transparent bg if not othe… by https://github.com/jstedfast in #17555
- Update Flyout when Shell.FlyoutContent changes by https://github.com/spadapet in #17359
- [XamlC] fix generic array by https://github.com/StephaneDelcroix in #17301
- Fix iOS/Win InputTransparent layouts and add several UI tests by https://github.com/mattleibow in #17286
- Fix accent color missing in title bar by https://github.com/Foda in #17528
- Remove obsolete MauiWinUIApplication properties by https://github.com/PureWeen in #17667
- Override CA1822 for Android interface implementation in MauiScrollView by https://github.com/jfversluis in #17691
- Don't run hide on tapped code if window is null by https://github.com/PureWeen in #17758
- Make sure to not call new APIs on old iOS by https://github.com/mattleibow in #17907
- Make Entitlements in Templates for MacCatalyst more consistent between debug and release configs. by https://github.com/dustin-wojciechowski in #17833
- Update Blazor Hybrid template to match ASP.NET Core Blazor Web template by https://github.com/Eilon in #17946
- [android] update AOT profile for .NET 8 GA by https://github.com/jonathanpeppers in #18061
- [Windows] Fix wrong Layout from hidden CollectionView by https://github.com/jsuarezruiz in #17659
- [ X] connect the right method to the event handler by https://github.com/StephaneDelcroix in #18043
- [iOS] Keep textcolor on characterspacing by https://github.com/StephaneDelcroix in #17926
- [WinUI] Fixes window blinking when resizing by https://github.com/emaf in #18155
- [net8.0] Add permission for high-speed sensors by https://github.com/mattleibow in #18180
- [ X] revert #5611 by https://github.com/StephaneDelcroix in #17733
- [iOS] Fix downscaled images not occupying correct space by https://github.com/jknaudt21 in #17120
- Rework the Label mappers for FormattedText by https://github.com/mattleibow in #18105
- Add a test for #17776 "Calling SetBinding after setting a constant value crashes" by https://github.com/StephaneDelcroix in #17796
- [net8.0] Add NuGet package information by https://github.com/mattleibow in #18197
- [net8.0] Correctly expand rows/columns when grid padding by @github-actions in #18276
- [release/8.0.1xx-rc2.2] Allow iOS Keyboard Scrolling to be turned off in Lifecycle Events by @github-actions in #18308
- [release/8.0.1xx-rc2.2] Setup legacy mappers by @github-actions in #18309
- [release/8.0.1xx-rc2.2] Make sure to account for a null AppWindow by @github-actions in #18313
- [release/8.0.1xx-rc2.2] Limit star expansion when measuring/arranging at constrained sizes by @github-actions in #18314
- [release/8.0.1xx-rc2.2] [Templates] Remove get-task-allow entitlement from Templates by @github-actions in #18323
- [release/8.0.1xx-rc2.2] Ensure that viewport calculations for iOS ScrollView account for content insets by @github-actions in #18321
Tests
Docs
- [release/8.0.1xx-rc2.2] API Doc improvements to fix online browser warnings by @github-actions in #18311
- Add ViewHandler & IViewHandler docs by https://github.com/jfversluis in #17167
Dependency Updates
- [release/8.0.1xx-rc2.1] Update dependencies from xamarin/xamarin-macios by @dalexsoto in #17985
- [release/8.0.1xx-rc2.1] Update dependencies from xamarin/xamarin-macios by @dalexsoto in #18091
- [release/8.0.1xx-rc2.1] Update with correct net7 version by @rmarinho in #18100
- [release/8.0.1xx-rc2.1] Update dependencies from xamarin/xamarin-macios by @dalexsoto in #18170
- [release/8.0.1xx-rc2.1] Update dependencies from xamarin/xamarin-macios by @dalexsoto in #18218
- [release/8.0.1xx-rc2.1] Bump net7 by @rmarinho in #18244
Full Changelog: 8.0.0-rc.2.9373...8.0.0-rc.2.9511
8.0.0-rc.2.9373
What's Changed
MAUI Product Fixes
- [xaml] locate event handlers from base types by @jonathanpeppers in #17075
- Updated the RoundRectangle BorderTest to check all 4 corners by @jstedfast in #17172
- Fix CollectionView not displaying header or footers by @jknaudt21 in #16870
- Compatibility should depend on Controls by @mattleibow in #17226
- (Windows) Fix tabbar visibility test by @Foda in #17240
- [msbuild] fix NuGet Central Package Management (CPM) by @jonathanpeppers in #17235
- Copy Windows assets to the output folder for Unpackaged by @mattleibow in #17238
- Remove null forgiveness operator and fix NRE from
PlatformView
in disconnect by @PureWeen in #17248 - [iOS] Fix issues setting Shell TabBar appearance by @jsuarezruiz in #15748
- [android] improve ToolbarExtensions.UpdateIconColor performance by @jonathanpeppers in #17241
- [Windows] Fix collection default spacing by @Foda in #17261
- Use strong type for PointerGestureRecognizer Windows PlatformArgs by @tj-devel709 in #17277
- [android] improve performance of ActivityExtensions.GetWindowFrame by @jonathanpeppers in #17256
- [Android] Fix single taps by @hartez in #16561
- Copy Windows MauiAssets to the publish folder for Unpackaged by @mattleibow in #17329
- [Xaml] do not register srcinfo for xaml-defined values by @StephaneDelcroix in #17230
- Extract TFM string into a const by @mattleibow in #17336
- Enable requesting the full preview size on iOS drag shadow & iOS and Windows Samples by @tj-devel709 in #17282
- Wait for parent to get set before realizing titleview by @PureWeen in #17360
- Adjust tap tests so they can work on Windows/iOS by @hartez in #17325
- [C] Replace value with same specificity by @StephaneDelcroix in #17365
- [C] Port the specificity concept to Bindings by @StephaneDelcroix in #17215
- Revert changes to setting context and add tests by @PureWeen in #17348
- [Xaml] fix CollectionItems enumeration by @StephaneDelcroix in #17364
- Passing test for #16960 by @StephaneDelcroix in #17397
- Fix DragAndDropCleanupCode by @PureWeen in #17430
- fix failing test for 17222 by @StephaneDelcroix in #17450
- Null check everything in InvalidateMeasureIfContentSizeChanged by @hartez in #17472
- Clean up iOS DragAndDropDelegate by @jknaudt21 in #17495
- Fixed window not reacting to TitleBar wnd message by @Foda in #17041
- Changing value of Shell.NavBarIsVisible should change visibility of toolbar (ShellToolbar) by @spadapet in #17358
- Split out sharable testing for non-element thing by @mattleibow in #17387
- [Xaml] pass the logging helper to Template context by @StephaneDelcroix in #17507
- Cleanup SwipeView and Propagate BC until we can fix compat layout by @PureWeen in #17418
- Enable performance CAs for more Core classes by @hartez in #17524
- [C] Convert values on AppThemeBinding by @StephaneDelcroix in #17567
- Add the missing package to the Blazor template by @mattleibow in #17579
- [controls] improve "setter specificity" performance by @jonathanpeppers in #17527
- Recreate the Navigation Host If It's been Destroyed by @PureWeen in #17594
- [android] update AOT profile for .NET 8.0.100-rc.2.23468.1 by @jonathanpeppers in #17624
- try fix #17396 by @StephaneDelcroix in #17505
- [Xaml] Double cast for OnPlat in StaticResource by @StephaneDelcroix in #17545
- Remove Previous TitleView from Toolbar by @PureWeen in #17353
- Recreate Details Fragment, if its been destroyed by @PureWeen in #17604
- Remove reference to concrete native host app by @dansiegel in #16803
- [Windows] Fixes border content clipping by @emaf in #17310
- If NavigationRenderer is Disposed don't UpdateFrames by @PureWeen in #17544
- Enable .NET 7 to work in .NET 8 SDK projects by @mattleibow in #17409
Tests
- Enable Mac Catalyst Core Device Tests in CI by @jfversluis in #17232
- Added integration test for maui blazor maccatalyst codesign verification. by @dustin-wojciechowski in #17331
- Enable Mac Catalyst Controls Device Tests in CI by @jfversluis in #17229
- Ignore 16561 on catalyst for now by @PureWeen in #17436
- Fix WinUI Tests by @PureWeen in #17539
- Enable WinUI Controls Test Pipeline by @PureWeen in #17221
- Reenable WinUI Device Tests parallel running by @jfversluis in #17613
Docs
- Add View docs by @jknaudt21 in #17220
- Update Page API docs by @jfversluis in #16981
- Improve comments in customer facing project templates by @jfversluis in #17518
- Document return values for animation extensions by @hartez in #17627
Dependency Updates
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #17196
- Bump NUnit3TestAdapter from 4.4.2 to 4.5.0 by @dependabot in #17271
- [build] Update main with latest changes for internal builds by @rmarinho in #17255
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #17300
- Update the macios dependencies to new package names. by @rolfbjarne in #17267
- Bump the aspnetcore group with 7 updates by @dependabot in #17345
- [tizen]Bump Tizen to rc2 packages by @rmarinho in #17399
- [ci] Bump stable versions on main by @rmarinho in #17407
- Dependabot will manage versions on main by @mattleibow in #17460
- Bump the microsoftextensions group with 1 update by @dependabot in #17485
- Revert "[main] Update dependencies from dotnet/xharness" by @PureWeen in #17530
- Bump powershell from 7.3.6 to 7.3.7 by @dependabot in #17511
- Bump Microsoft.Web.WebView2 from 1.0.1938.49 to 1.0.2045.28 by @dependabot in #17486
- [net8.0] Bump net7 stable by @rmarinho in #17570
- [net8.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #17603
- Update SkiaSharp to the latest stable version (2.88.6) by @mattleibow in #17558
- Bump the xunit group with 3 updates by @dependabot in #17619
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #17620
- [release/8.0.1xx-rc2] Update rc2 versions by @rmarinho in #17703
- [release/8.0.1xx-rc2] Bump android to latest by @rmarinho in #17720
- [release/8.0.1xx-rc2] Update dependecies for RC2 by @rmarinho in #17743
- [release/8.0.1xx-rc2] Bump iOS version by @rmarinho in #17797
- [release/8.0.1xx-rc2] Bump iOS version by @mattleibow in #17807
- [release/8.0.1xx-rc2] Update aspnet packages by @rmarinho in #17837
Housekeeping
- Update NuGet.config for 7.0.11 by @mattleibow in #17170
- [net8.0] [release/8.0.1xx-rc1]Revert net7 sr8 by @github-actions in #17174
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #17244
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #17262
- [build] Move to rc2 packages by @rmarinho in #17278
- [net8.0] Merge main to net8.0 by @rmarinho in #17284
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #17...
7.0.96
What's Changed
MAUI Product Fixes
- [net7.0] "Handle Grid * expansion when size is larger than minimum, but less than sufficient to display full size (#14902) (#15653)" by @PureWeen in #15915
- [net7.0] Grid star expansion fixes by @hartez in #15938
- [net7.0] Memory Leak: MAUI-Windows are not garbage-collected after destroy of MainActivity by @hartez in #16240
- [net7.0] Set the SafeAreaInset Property with updated value (#15512) by @hartez in #16238
- [net7.0] Resize internal content container when ScrollView content is resized by @hartez in #16651
- [net7.0] Allow * rows/columns treated as Auto to expand during 2nd measure pass by @github-actions in #16641
- [net7.0] Use same type converter for Brush as for Color to enable XAML completion by @github-actions in #16639
- [net7.0] Make CollectionView on iOS measure to content size by @hartez in #15652
- [net7.0] [iOS] Update CollectionView layout when reloading data by @github-actions in #16794
- [net7.0] Use the correct WASDK property by @github-actions in #16793
- [Backport net7.0] Add doc comments for common types used in templates by @jfversluis in
- [net7.0] Fix Grid cells not honoring MaxWidth by @hartez in #16837
- [net7.0] Revert default for UseSafeAreaProperty to value from .NET 6 for iOS by @PureWeen in #16379
- [net7.0] [macOS] Fix crash using Shell SearchHandler on Catalyst by @hartez in #16902
- Add properties to disable implicit things by @mattleibow in #17046
- [net7.0] Windows - Fix default item min height in CollectionView (#12811) by @hartez in #17092
- [net7.0] MauiEmbedding extensions should use specified TApp type by @github-actions in #17085
- [net7.0] [Windows] Implement ItemsUpdatingScrollMode on CollectionView by @github-actions in #17086
- [net7.0] [windows] Fixed CarouselView items rendering by @hartez in #17088
- [net7.0] Update VisualElement docs (#16754) by @hartez in #17094
- [net7.0] Improve VisualElement API Docs Follow-up by @github-actions in #17166
- [net7.0] "Revert default for UseSafeAreaProperty to value from .NET 6 for iOS by @rmarinho in #17458
- [net7.0] [iOS/Catalyst] Fix issue loading images from Stream (#16162) by @PureWeen in #17519
- [net7.0] Null check everything in InvalidateMeasureIfContentSizeChanged by @github-actions in #17493
- [net7.0] Fixed Android's StreamImageSourceService.LoadDrawableAsync() by @github-actions in #16640
- [net7.0] [iOS] Fix ScrollTo method issues by @hartez in #17093
Dependency Updates
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #15858
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #15867
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #15951
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #16717
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #16777
- [net7.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #15834
- [net7.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #16932
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #16996
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #17250
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #17342
- [net7.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #17469
- [net7.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #17466
- [net7.0] Update all ASP.NET and MS.Extensions packages to latest stable by @rmarinho in #17487
- [release/7.0.3xx-sr8] [net7.0] Update dependencies from xamarin/xamarin-macios by @github-actions in #17533
Housekeeping
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #15892
- Backport WinUI DeviceTest Fixes by @PureWeen in #15840
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #15936
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #15955
- [net7.0] Fix signing by @rmarinho in #16660
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #16688
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #16943
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #17119
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #17177
- Backport uitests by @PureWeen in #17420
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #17467
- [net7.0] Update cake files and XCode by @rmarinho in #17498
- [net7.0] [tests] Fix image for device tests on Android by @rmarinho in #17459
- [release/7.0.3xx-sr8] Update Version by @rmarinho in #17532
- [release/7.0.3xx-sr8] [net7.0] Remove ScrollView Leak Test by @github-actions in #17534
- [release/7.0.3xx-sr8] [net7.0] Backport UI Test fixes from main by @github-actions in #17535
Full Changelog: 7.0.92...7.0.96
8.0.0-rc.1.9171
Known Issues
- Black splash screens on iOS 16.5+ simulators
The splash screen on iOS simulators are sometimes black if you are not using a developer certificate. Splash screens will still appear on older simulators (such as iOS 15.5) or if you are doing a release build.
See more xamarin/xamarin-macios#18469 - Always-visible scrollbars on iOS
The iOS scroll view does not always size correctly and you may always see a scrollbar.
See more #17224 - Installing .NET MAUI workload fails with signing errors
Make sure you're using the latest RC1 SDK.
What's Changed
- New duplicate image errors
After updating to RC 1, you may see an error about duplicate files (such as with image resources) and this is because previously we did not check for duplicates and the image that was selected was arbitrary. From RC 1, we are now checking to ensure there are no duplicates. Make sure that if you have globs including images, you are not also including images again and insteadUpdate
:<ItemGroup> <MauiImage Include="Resources\Images\*" /> <!-- this will causes an error: --> <MauiImage Include="Resources\Images\myimage.svg" Color="Red" /> <!-- this will NOT result in an error: --> <MauiImage Update="Resources\Images\myimage.svg" Color="Red" /> </ItemGroup>
- Changes to the way RIDs work
Although not directly affecting .NET MAUI apps/libraries right now, there was a change to the way the RIDs work in .NET 8 RC 1: https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/8.0/rid-graph
MAUI Product Fixes
- [ios] fix memory leak in Editor by @jonathanpeppers in #16348
- [ios] fix memory leak in Entry by @jonathanpeppers in #16349
- [Core] attribute SolidColorBrush for the XamlC processor by @StephaneDelcroix in #16370
- [ios] fix memory leaks in MauiDoneAccessoryView by @jonathanpeppers in #16380
- Resize internal content container when ScrollView content is resized by @hartez in #16385
- [iOS] Avoid CheckBox memory leak by @jsuarezruiz in #16376
- [ios] fix memory leak in RefreshView by @jonathanpeppers in #16384
- [C] fix SelectedIndex propagation for picker by @PureWeen in #16387
- [Windows] Fix Border corners clipping issue by @jsuarezruiz in #14403
- [iOS] Fix Editor placeholder issues by @jsuarezruiz in #15883
- [Essentials] Make PublisherName public on NET8 by @rmarinho in #16454
- Fix EntryCellRenderer to use FromHandler for text changes by @PureWeen in #16458
- Reinstate IContentView and ILayout methods by @hartez in #16411
- [net8.0] Make UpdateBackground public by @rmarinho in #16453
- [iOS/Catalyst] Fix issue setting ContentPage gradient background by @jsuarezruiz in #15832
- [Essentials] add WiFi permissions on Android 13+ by @janusw in #14718
- [iOS] Add updates for LineHeight, TextDecorations, CharacterSpacing by @cat0363 in #16223
- [Windows] fixing window glitches while moving or resizing by @salarcode in #14861
- Allow * rows/columns treated as Auto to expand during 2nd measure pass by @hartez in #16488
- Revert "[Windows] fixing window glitches while moving or resizing (#14861)" by @rmarinho in #16541
- [ios] fix memory leak in SwipeView by @jonathanpeppers in #16532
- [SourceGen] Support genric types from XML namespaces by @jonpryor in #16486
- [ios] fix memory leak in TimePicker by @jonathanpeppers in #16265
- Use same type converter for Brush as for Color to enable XAML completion by @etvorun in #16559
- Fix Graphics Font comparison method by @jsuarezruiz in #15985
- [WinUI] Implement PointerPressed and PointerReleased by @rachelkang in #16213
- [ X] Optimize OnPlatform element syntax by @StephaneDelcroix in #5611
- [ X] Support DynResources as AppThemeBinding values by @StephaneDelcroix in #16597
- Adds prompts when creating a new page. by @mausam-shrestha in #16331
- [ios] fix memory leak in GraphicsView by @jonathanpeppers in #16605
- Setting binding on Label doesn't set text to incoming binding by @PureWeen in #16410
- Use runtime check for setting WKWebView inspectable flag by @drasticactions in #16631
- Implement Additional PointerGestureRecognizer Platform Arguments by @tj-devel709 in #16426
- [C] fix Specificity for VSM by @StephaneDelcroix in #16404
- Prevent Android timer from adding multiple callbacks by @hartez in #16078
- [Android] Fix SwipeView not swiping using Label as direct content by @jsuarezruiz in #14824
- Locate MAUI View for PlatformView by @PureWeen in #16463
- [android] update AOT profile for .NET 8.0.100-rc.1.23404.2 by @jonathanpeppers in #16644
- [ios] fix memory leak in SwipeItem by @jonathanpeppers in #16614
- [ios/catalyst] fix memory leak in DatePicker by @jonathanpeppers in #16589
- Add swipe gesture for uitests by @sbanni in #16560
- Fix the case where silent was requested by @mattleibow in #16676
- Use the correct WASDK property by @mattleibow in #16683
- Re-land "[Windows] fixing window glitches while moving or resizing" by @mattleibow in #16637
- Update WebNavigationResult.cs doc comments by @Eilon in #16710
- [ios] fix memory leak in WindowOverlay by @jonathanpeppers in #16700
- Obsolete VisualElement.FocusChangeRequested event by @jfversluis in #16750
- [ios] fix memory leak in Picker by @jonathanpeppers in #16685
- [ X] avoid AmbiguousMatchException by @StephaneDelcroix in #15873
- Streamline SwipeView Children by @PureWeen in #16753
- Allow "duplicate" files to be processed by @mattleibow in #16534
- [iOS/Catalyst] Fix issue loading images from Stream by @jsuarezruiz in #16162
- MauiEmbedding extensions should use specified TApp type by @dansiegel in #16758
- Make ImageSourcePartExtensions public by @jsuarezruiz in #16633
- Revert "Internalize MessagingCenter (#12582)" by @mattleibow in #16798
- Import Keyboard Extension APIs by @drasticactions in #16572
- [windows] fix memory leak in ListView by @jonathanpeppers in #16762
- Add GetPosition method to DragStartingEventArgs, DragEventArgs, and DropEventArgs by @jsuarezruiz in
- [macOS] Don't force the RID to be x64-only by @mattleibow in #16678
- Make it more obvious how to use shell with sandbox by @BretJohnson in #16840
- [windows] Fix Picker PointerOver TextColor (#16751) by @molesmoke in #16752
- Add note about ClipsToBounds/IsClippedToBounds by @hartez in #16833
- [iOS] Fix ScrollTo method issues by @jsuarezruiz in #15984
- [Android] Fix issue setting CarouselView position on Ctor or Appearing by @jsuarezruiz in #16165
- [BuildTasks] Fix resolution for nested types by @pjcollins in #16841
- [windows] improve memory usage of
CollectionView
by @jonathanpeppers in #16838 - [ios] test MemoryAnalyzers package by @jonathanpeppers in #16346
- Revert "Make ImageSourcePartExtensions public" by @mattleibow in #16893
- Set Mapper/Handler ctor to protected on migration handlers by @PureWeen in #16882
- Fix support for VisualDiagnosticsOverlay/IWindowOverlay on Android Shell Apps by @drasticactions in #16138
- [WinUI] Update shadow mask as part of shadow properties by @emaf in #16895
- Improve the control over resource generation by @mattleibow in #16845
- Add property for tapping on page to close soft input keyboard by @PureWeen in #16530
- [windows] Fixed CarouselView items rendering by @mauroa in https:/...
8.0.0-preview.7.8842
How to install?
This release is best with Visual Studio 2022 17.8 Preview 1 on Windows, Visual Studio for Mac latest release, or the .NET MAUI extension for VS Code (Preview).
Windows
Install Visual Studio 2022 17.8 Preview 1 and select the .NET Multi-platform App UI workload, and then check the optional component “.NET MAUI (.NET 8 Preview)”.
Mac
In order to enable the latest Visual Studio for Mac to work with .NET 8 previews, enable .NET 8 previews in the preferences "Preview Features" section.
To install .NET 8 Preview 7 follow the instructions below.
All
Follow these instructions unless you have installed on Windows with the Visual Studio version above.
Download the .NET 8 Preview 7 SDK, followed by:
> dotnet workload install maui
...
Successfully installed workload(s) maui.
To verify installation:
> dotnet workload list
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
maui 8.0.0-preview.7.8842/8.0.100-preview.7 SDK 8.0.100-preview.7
What's Changed
- [ios] fix memory leak in Border by @jonathanpeppers in #15946
- [Windows/macOS] Implement menu key accelerators by @jsuarezruiz in #14740
- Connect event to internal handler by @StephaneDelcroix in #15881
- [Android] Fix issues setting Shell TabBar appearance. by @PureWeen in #15734
- Fix ".SFUI" magic font string on iOS/MacCatalyst by @Redth in #15990
- [android] improve performance of
Entry.MaxLength
by @jonathanpeppers in #15614 - Streamline ModalNavigation lifecycle events by @PureWeen in #15799
- Ensure "text boxes" preserve cursor location by @mattleibow in #15099
- Fix IsSpellCheckEnabled by @jknaudt21 in #15459
- Implement all permutations of InputTransparent and CascadeInputTransparent by @mattleibow in #14846
- Include headers/footers in EmptySource count so they show up when ItemsSource is null by @hartez in #15979
- Set the SafeAreaInset Property with updated value by @tj-devel709 in #15512
- Improve the customization of WebView on Android by @mattleibow in #16032
- [android] fix memory leak in Window by @jonathanpeppers in #16045
- Null check small refactoring by @Lehonti in #16086
- Revert "[Windows] Allow to refresh the RefreshView using the mouse (#14261)" by @rachelkang in #16128
- Add GotoAsync overload for single use query parameters by @PureWeen in #15585
- Add logic to set DefaultLabelPosition on the WinUI CommandBar by @Foda in #15835
- Android: fix dialog button colors in dark mode by @webwarrior-ws in #15091
- [iOS] Avoid to use CornerCurve in iOS < 13 by @jsuarezruiz in #16101
- [Windows] Fix Slider MinimumTrackColor (#16056) by @molesmoke in #16057
- Various fixes for Border on Android by @jstedfast in #15458
- Map all menu items through a single selector by @mattleibow in #16174
- [controls] fix memory leak with Grid Row/ColumnDefinitions by @jonathanpeppers in #16145
- Stop DispatcherTimer after Tick fires if IsRepeating is false by @hartez in #16173
- Compiled Bindings to Array by @StephaneDelcroix in #15944
- Make Add/Remove Logical public by @PureWeen in #16046
- Revert default for UseSafeAreaProperty to value from .NET 6 for iOS by @hartez in #16093
- Text needs to be set before other properties by @mattleibow in #16116
- Style specificity by @StephaneDelcroix in #13818
- Don't use loaded/unloaded on FlyoutPage by @PureWeen in #16241
- TextTransform set before Text by @mattleibow in #16248
- [Bug] Fix Grid cells not honoring MaxWidth by @jknaudt21 in #16215
- Fix default constructors for many control handlers by @agaluzzi in #16270
- Update mappers instead of replacing field values by @mattleibow in #13836
- Fix infinite recursion error in CommandMapper.Add() by @agaluzzi in #16264
- Fix issue with ListView not firing SelectedItemChanged by @PureWeen in #16275
- [Windows] Allow to customize the Shell FlyoutIcon by @jsuarezruiz in #14663
- [ios] fix memory leak in Editor by @jonathanpeppers in #16348
- [ios] fix memory leak in Entry by @jonathanpeppers in #16349
- attribute SolidColorBrush for the XamlC processor by @StephaneDelcroix in #16370
- [release/8.0.1xx-preview7] [C] fix SelectedIndex propagation for picker by @github-actions in #16412
Tests
- [tests] make Windows memory leak tests consistent by @jonathanpeppers in #15998
- [net8.0] Fix cells leak tests by @rmarinho in #16231
- [tests] fix DeviceTests on Windows, maybe other platforms? by @jonathanpeppers in #16151
- Windows (packaged) Device tests for CI by @jfversluis in #15629
- Enable WinUI Core Tests on CI by @PureWeen in #15885
- Start docs for UITesting by @sbanni in #15836
- [tests] introduce
AssertionExtensions.WaitForGC()
by @jonathanpeppers in #16237 - [net8.0] Fix cells leak tests by @rmarinho in #16231
- Improve the names of the test files/runs by @mattleibow in #16262
- Add a Mac Catalyst device test run by @mattleibow in #16260
- [net8.0] Fix Catalyst and Windows device tests by @rmarinho in #16343
- [uitests] Don't continue pipeline if appium install fails by @rmarinho in #16350
- Windows apps should be --self-contained by @mattleibow in #16289
- [release/8.0.1xx-preview7] [build] CI build fixes and UItests by @github-actions in #16419
Docs
- Add note to Colors.xaml to make people aware of Android specific colors by @jfversluis in #15855
Dependency Updates
- [net8.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #15940
- [net8.0] 20230701 Android ecosystem updates by @moljac in #15960
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #15974
- Bump Xamarin.UITest from 4.1.4 to 4.2.0 by @dependabot in #15987
- [housekeeping] Group dependabot PR's by dependency area/type by @Redth in #16111
- Revert "Bump Xamarin.UITest from 4.1.4 to 4.2.0" by @mattleibow in #16122
- Update sourcelink, set deterministic builds in CI by @Redth in #16127
- Bump powershell from 7.3.5 to 7.3.6 by @dependabot in #16167
- Android Ecosystem 20230714 net7.0 nuget bumps fix issue 16074 type renaming by @moljac in #16176
- Bump the xunit group with 3 updates by @dependabot in #16113
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #16065
- Bump the aspnetcore group with 7 updates by @dependabot in #16114
- [net8.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #16024
- [net8.0] Bump Tizen to 8.0.100-preview7 version 7.0.122 by @rmarinho in #16211
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #16318
- [net8.0] Update dependencies from xamarin/xamarin-macios preview 7 by @dalexsoto in #16323
- [net8.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #16273
- [net8.0] Bump Microsoft.Extensions packages by @rmarinho in #16257
- [appium] Bump appium version by @rmarinho in #16351
- Bump Microsoft.Web.WebView2 from 1.0.1823.32 to 1.0.1901.177 b...