Releases: dotnet/maui
9.0.100-preview.3.10457
What's Changed
MAUI Product fixes
- [Windows] Fix image button scaling by @Foda in #20949
- [iOS] Double dash in input field crash fix by @kubaflo in #20584
- [Android] Don't remeasure the HScrollView during the layout pass by @PureWeen in #20998
- [Android] Fix ShouldShowToolbarButton for FlyoutPage by @bradencohen in #18522
- Generalize HideSoftInputOnTapped on Android and iOS to support 3rd party input controls by @albyrock87 in #19626
- [net9.0] Fix maui query attribute support by @rmarinho in #21061
- [main] [net9.0] Fix templates by @github-actions in #21055
- [XC] Compile bindings with Source by @simonrozsival in #20610
- [Trimming] Fix ILLink warnings in source generated code by @simonrozsival in #21054
- [Windows] Round item size in GridView by @Foda in #21142
- [Android] System Fonts fix by @kubaflo in #20961
- Fix XmlType .Equals override by @mgoertz-msft in #21192
- [iOS] Fix UI loop when setting ContentInset by @rmarinho in #21140
- [Android] Correctly scale Button image by @jsuarezruiz in #19834
- [android] fix memory leak in
TabbedPage
by @jonathanpeppers in #21218 - Allow using x:Type and type literals interchangeably in certain scenarios by @simonrozsival in #20915
- Optimize performance of Flex.Item by @symbiogenesis in #20034
- [ios] fix memory leak in RadioButton by @jonathanpeppers in #21151
- [Windows] Fix CanvasImageSource scaling behavior (SR3) by @Foda in #21239
- Update Template Shell Foreground colour by @licon4812 in #20152
- [Windows] Fix FontImageSource resize behavior by @Foda in #21212
- Throw error when pushing without wrapping into navigation page by @kubaflo in #20155
- Update the Multi-Project styles by @mattleibow in #21282
- [ios] avoid duplicating
CALayer.Sublayer
arrays by @jonathanpeppers in #21308 - [C] use ResourcesChanged to propagate Theme by @StephaneDelcroix in #21229
- Rework foreground color and remove outdated methods by @PureWeen in #21238
- GetValueSource by @StephaneDelcroix in #19563
- Update Styles.xaml on Multi Project by @PureWeen in #21363
- Removed vestigial UpdateContentLayout() method left over from Forms by @hartez in #18856
- Change activity attributes by @Redth in #20653
- Fix PropertyChanged on idx for compiledbindings by @StephaneDelcroix in #21366
- Improve warnings when binding cannot be compiled by @simonrozsival in #21281
- Only show x:DataType warnings when using NativeAOT by @simonrozsival in #21418
- Still measure children if size is known on CV by @PureWeen in #21409
- [Windows] Cache full app package file path by @MartyIX in #21246
- [Trimming] Use type converters instead of implicit cast operators (part 1/2) by @simonrozsival in #21050
- [android] Add null check to help with #21393 by @rmarinho in #21432
- Remove new TypeConversionAppBuilderExtensions API by @simonrozsival in #21459
- [macOS] Make window overlay to redraw correctly during window resizing by @MartyIX in #21371
- Fix for WebView Error when changing page with WebView loading a page by @dustin-wojciechowski in #21436
- [android] avoid
OnLayout()
forLabel
by @jonathanpeppers in #21291 - [XamlC] Avoid calling ResourceDictionary.SetAndLoadSource by @simonrozsival in #20776
- [Xaml] Simplify loading ResourceDictionary from Source by @simonrozsival in #21429
- [controls] improve perf of "merged" ResourceDictionary lookups by @jonathanpeppers in #21334
- Fix display of ActionSheet in modal view on Windows by @japarson in #21295
- [Windows] Ensure images in buttons never scale up, only down by @Foda in #21463
- Cleanup ResourceDictionary by @simonrozsival in #21486
- [Trimming] Use type converters instead of implicit cast operators (part 2/2) by @simonrozsival in #21052
- [Trimming] Enable trimming and AOT analyzers in Core by @simonrozsival in #21076
Docs
- Improve WebAuthenticator API docs with exceptions by @jfversluis in #20860
- Update Maps Project API Docs by @jfversluis in #20893
- Update layout.md by @MartyIX in #20964
- Small fix for WebAuthenticator TaskCanceledException API docs by @jfversluis in #21040
- Document ICanvas by @jknaudt21 in #20881
- Add install mono step to macOS setup guide by @jkurdek in #21433
- Make the dev docs more betterer by @stephen-hawley in #21467
Tests
- Fix image loading tests by @PureWeen in #20955
- Enable now passing tests and add some TableView categories by @PureWeen in #20531
- Use a different gif URL as MS News blocked us by @mattleibow in #21003
- Disable auto updating on device and better prepare logcat by @PureWeen in #20732
- [Windows] Ensure consistent background colors for UI test cases by @Foda in #21022
- [testing] Cleaning up TemplateTests iOS simulator issues by @ivanpovazan in #20817
- [testing] Add CollectionView MemoryLeak test by @rmarinho in #21237
- [Windows] Add scrolling tests for virtualization w/ Datatemplates by @Foda in #20954
- Remove check allocation tests from core by @PureWeen in #21283
- [Testing] Updated to latest RC.6 of Appium by @jsuarezruiz in #20694
- [testing] Ignore failing tests by @rmarinho in #21266
- Find failing Frame tests in CI by @PureWeen in #21287
- Fix Namesapces on Frame DeviceTests by @PureWeen in #21311
- Make PopLifeCycle more reliable by @PureWeen in #21380
- Update BlazorWebView Device Tests to have longer timesouts and more retries by @Eilon in #21318
- Move 10234 to Appium by @PureWeen in #21471
- [Windows] Add crash dumps as artifacts to tests by @Foda in #21493
- [net9.0] [testing] Enable Windows UITests back by @rmarinho in #20727
Dependency Updates
- Bump the windowsappsdk group with 3 updates by @PureWeen in #20460
- [net9.0] Update net9.0 with release versions by @rmarinho in #20983
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #20989
- Revert to 1.4.240211001 by @PureWeen in #21031
- Update Windows App SDK by @mattleibow in #21162
- Update Win2D by @mattleibow in #21144
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #21133
- [net9.0] Bump Samsung Tizen versions by @rmarinho in #21275
- [net9.0] Update all net9 versions preview3 by @rmarinho in #21276
- [net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #21341
- [net9.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #21340
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #21424
- [net9.0] Update versions by @rmarinho in #21373
- [net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #21425
- [net9.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #21440
- [net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #21443
- [release/9.0.1xx-preview3] [net9.0] Bump the reference to the net8.0 workloa...
8.0.20 SR4
What's Changed
- Small fix for WebAuthenticator TaskCanceledException API docs by @jfversluis in #21040
- [Windows] Ensure consistent background colors for UI test cases by @Foda in #21022
- [Windows] Round item size in GridView by @Foda in #21142
- [Android] System Fonts fix by @kubaflo in #20961
- [testing] Cleaning up TemplateTests iOS simulator issues by @ivanpovazan in #20817
- [testing] Add CollectionView MemoryLeak test by @rmarinho in #21237
- [Windows] Add scrolling tests for virtualization w/ Datatemplates by @Foda in #20954
- [Android] Correctly scale Button image by @jsuarezruiz in #19834
- [android] fix memory leak in
TabbedPage
by @jonathanpeppers in #21218 - [XAML] Allow using x:Type and type literals interchangeably in certain scenarios by @simonrozsival in #20915
- Optimize performance of Flex.Item by @symbiogenesis in #20034
- [ios] fix memory leak in RadioButton by @jonathanpeppers in #21151
- Update Template Shell Foreground colour by @licon4812 in #20152
- [Windows] Fix FontImageSource resize behavior by @Foda in #21212
- Throw error when pushing without wrapping into navigation page by @kubaflo in #20155
- [ios] avoid duplicating
CALayer.Sublayer
arrays by @jonathanpeppers in #21308 - [C] use ResourcesChanged to propagate Theme by @StephaneDelcroix in #21229
- [ci] Fix APIScan by @rmarinho in #21358
- [XAML] GetValueSource by @StephaneDelcroix in #19563
- Update Styles.xaml on Multi Project by @PureWeen in #21363
- Make PopLifeCycle more reliable by @PureWeen in #21380
- Removed vestigial UpdateContentLayout() method left over from Forms by @hartez in #18856
- Change activity attributes by @Redth in #20653
- [XAML] Fix PropertyChanged on idx for compiledbindings by @StephaneDelcroix in #21366
- [XAML] Improve warnings when binding cannot be compiled by @simonrozsival in #21281
- [XAML] Only show x:DataType warnings when using NativeAOT by @simonrozsival in #21418
- Still measure children if size is known on CV by @PureWeen in #21409
- [Windows] Cache full app package file path by @MartyIX in #21246
- [android] Add null check to help with #21393 by @rmarinho in #21432
- [macOS] Make window overlay to redraw correctly during window resizing by @MartyIX in #21371
- Fix for WebView Error when changing page with WebView loading a page by @dustin-wojciechowski in #21436
- [android] avoid
OnLayout()
forLabel
by @jonathanpeppers in #21291 - [controls] improve perf of "merged" ResourceDictionary lookups by @jonathanpeppers in #21334
- Fix display of ActionSheet in modal view on Windows by @japarson in #21295
- [Windows] Ensure images in buttons never scale up, only down by @Foda in #21463
- [Windows] Add crash dumps as artifacts to tests by @Foda in #21493
- [xaml] improve performance in debug-mode by @jonathanpeppers in #21460
- [C] fix a leak in VSG by @StephaneDelcroix in #21484
- fix 21503 by @StephaneDelcroix in #21524
- [Android] Span line height fix by @kubaflo in #20352
- [Android] Fix Ripple effect with custom background (alternative to #17821) by @jsuarezruiz in #20412
- re-fix 21525 by @StephaneDelcroix in #21578
- Resizetizer issues fixes - nuget bumps by @moljac in #16100
- [C] remove listener on changing MainPage by @StephaneDelcroix in #21616
- Don't worry about the size of the text by @PureWeen in #21628
- Add better exception if user opens second activity by @PureWeen in #21492
- Making sure FindMauiContext fallbacks to default for the title icon i… by @atoghyani in #21519
- IndicatorView IndicatorTemplate Binding by @VladislavAntonyuk in #19004
- Set Views used for CarouselView to Match Parent by @PureWeen in #21662
- [Windows] Prevent image from covering text in buttons if the image is too big by @Foda in #21516
Tests
- [Testing] Add legacy ScrollView UITests by @jsuarezruiz in #19054
- Move 10234 to Appium by @PureWeen in #21471
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #21424
- Update BlazorWebView Device Tests to have longer timesouts and more retries by @Eilon in #21318
- Find failing Frame tests in CI by @PureWeen in #21287
- Fix Namesapces on Frame DeviceTests by @PureWeen in #21311
- [testing] Ignore failing tests by @rmarinho in #21266
- [Testing] Updated to latest RC.6 of Appium by @jsuarezruiz in #20694
- Remove check allocation tests from core by @PureWeen in #21283
- Update Windows App SDK by @mattleibow in #21162
- Update Win2D by @mattleibow in #21144
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #21133
- Disable auto updating on device and better prepare logcat by @PureWeen in #20732
Docs
- Add remark Screenshot Quality only applies to JPG by @jfversluis in #21610
- Make the dev docs more betterer by @stephen-hawley in #21467
- Add install mono step to macOS setup guide by @jkurdek in #21433
- Document ICanvas by @jknaudt21 in #20881
- Update repo documentation to reference Policy Service instead of FabricBot by @jeffhandley in #21063
- Bump editorconfig csharp_prefer_braces down to suggestion by @jfversluis in #21041
Dependency Updates
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #21556
New Contributors
- @licon4812 made their first contribution in #20152
- @jkurdek made their first contribution in #21433
- @stephen-hawley made their first contribution in #21467
- @atoghyani made their first contribution in #21519
Full Changelog: 8.0.14...8.0.20
8.0.14 SR3.1
What's Changed
- Fix XmlType .Equals override by @mgoertz-msft in #21192
- [iOS] Fix UI loop when setting ContentInset by @rmarinho in #21140
- [Windows] Fix CanvasImageSource scaling behavior (SR3) by @Foda in #21239
- Update the Multi-Project styles by @mattleibow in #21282
Full Changelog: 8.0.10...8.0.14
9.0.0-preview.2.10293
Installation
Install .NET 9 and the .NET MAUI workload to get started with this release.
What's Changed
- [Windows] Resolve issues with the Switch Track Color tests by @jsuarezruiz in #20221
- iOS Next Entry to skip hidden parents by @tj-devel709 in #20160
- PanGesture notify Completed event moving outside View limits by @jsuarezruiz in #15700
- [WinUI] Fix gif animation initial state by @mattleibow in #20169
- Fix "You" typo in raw-assets.txt by @drasticactions in #20341
- Account for margins on sizes returned from Editor by @PureWeen in #20249
- If the current thread dispatcher is null return the app level dispatcher by @PureWeen in #20313
- [iOS] Remove a nullability error when using 17.2.8104 by @mandel-macaque in #20396
- Ignore SafeArea on templates and shell flyout item templates by @PureWeen in #20403
- [Trimming] Add a feature flag to disable XAML loading at runtime by @simonrozsival in #19310
- [iOS] Fixed Collection View header and footer update by @kubaflo in #20210
- Bring back some aspect of ConvertView on TableView and avoid AT_MOST Measure by @PureWeen in #20130
- [C] ColorTypeConverter include alpha when <1 by @StephaneDelcroix in #20414
- Add opt out for Application Dispatcher resolution by @PureWeen in #20447
- Android SecureStorage: Stop caching shared preferences instance to fix RemoveAll by @Redth in #20445
- [Trimming] Disable assembly scanning for types implementing IVisual by @simonrozsival in #20417
- [iOS] Fixes carouselview layout on iOS by @NielsKnaap in #20001
- Fix design time image converter by @etvorun in #20374
- [release/8.0.1xx-sr2] Fix design time image converter by @github-actions in #20476
- [Trimming] Fix trimming warnings related to image source service provider by @simonrozsival in #20058
- Revert "Added appium UITest for FlyoutNavigationBetweenItemsWithNavigationStacks by @PureWeen in #20509
- [iOS] Clear BindingContext when cell is queued for reuse by @filipnavara in #14619
- [XAML] Fix XamlCompilation of RD subclasses by @StephaneDelcroix in #20463
- Add benchmarking class for PropertyMapper extensions by @hartez in #18660
- Add '#' to trigger UrlEncoding on Android PhoneDialer by @borrmann in #20498
- Removes dead code from type conversion by @vitek-karas in #19436
- Devices.Sensors.Location: rework argument handling in constructors by @janusw in #19459
- Optimize GetVisualTreeElementsWindowsInternal by @symbiogenesis in #19984
- Fix OnPlatform + Setter when no match for current platform by @BretJohnson in #17061
- [Android] Make Flyout footer aware of header/content margin by @emaf in #19303
- Fix connectivity broadcast receiver never triggered on android 14.0/34+ by @pierre-galaup in #19968
- Remove allocation from Color.TryParse by @eerhardt in #20446
- Bump to latest VisualTestUtils by @BretJohnson in #20525
- Temporarily Remove Tests by @PureWeen in #20536
- Add support for relative binding sources to TypedBinding by @simonrozsival in #20415
- Merge branch 'main' into
net9.0
by @PureWeen in #20555 - Add SR2 to issue template by @PureWeen in #20564
- [XC] only generate the services that'll be used by @StephaneDelcroix in #19945
- [Trimming] Fix remaining trimming warnings related to XAML parsing by @simonrozsival in #20474
- [iOS] Fix gestures in Label Spans by @jsuarezruiz in #15544
- [XC] split warnings on ',' and ';' by @StephaneDelcroix in #20578
- [iOS] Adjust Keyboard Scrolling for Sticky Headers and Fix Bottom Content Inset by @tj-devel709 in #20562
- Add the multi-project template by @mattleibow in #20365
- Add new Keyboards for Prompt by @pictos in #20194
- Add animated GIF support for Image on iOS by @mattleibow in #19411
- (Windows) ImageButton contents now explicitly stretches by @Foda in #17159
- [XC] Allow generic types in x:DataType and x:Type by @simonrozsival in #20625
- Fix modal page push in immersive mode by @PavloLukianets in #19903
- [Android Connectivity] Set app package on Intent used to invoke context receiver for network callback by @Redth in #20651
- [iOS] Figure a better EstimatedItemSize for HorizontalList by @rmarinho in #20022
- [Catalyst] Fix Selectors for Menus by @drasticactions in #20699
- [Core][Hosting] Resolve handler services through registered service types by @mdh1418 in #20298
- Traverse ListNode when finding DataType by @StephaneDelcroix in #20742
- [Windows] Implement gestures on Spans by @jsuarezruiz in #17731
- [iOS/Catalyst] Correctly call DidFinishNavigation in NavigationDelegate by @drasticactions in #20725
- [Trimming] Disable query property assignment via reflection on NativeAOT by @simonrozsival in #20731
- Fix usage of feature switches in Debug mode by @simonrozsival in #20748
- [Window] Fix transforms being offset by 0.5x0.5 by @Foda in #20454
- [XamlC] Fix typed binding static property by @simonrozsival in #20769
- Add the trailing .0 to all the windows things by @mattleibow in #20792
- Support the unpackaged format for font loading by @mattleibow in #20790
- [iOS] NullReferenceException for Span GridItemsLayout fix by @kubaflo in #20492
- Restructured CodeBehindGenerator pipeline by @mgoertz-msft in #20524
- Fallback if user doesn't specify ext on image by @PureWeen in #20796
- Fix XAML intellisense and hot reload in Visual Studio 2022 by @spadapet in #20851
- Fix page swap from background by @PureWeen in #19532
- [XamlC] Prioritize compiled markup extensions over primitive types by @simonrozsival in #20808
- [ios] fix memory leak in SearchBar by @jonathanpeppers in #16383
- iOS Shell TitleView Update Height by @tj-devel709 in #20795
- Ignore ScrollRectToVisible if KeyboardAutoManagerScroll is enabled in ItemsViewController by @artemvalieiev in #19875
- [Trimming] Fix event trigger trimming warnings by @simonrozsival in #20810
- [Windows] Handle ConnectionProfiles exception by @Foda in #20757
- Fix crash if users only sets selected color on android bottom tabs by @PureWeen in #20793
- Check if CV Item Handler has been created by @PureWeen in #20900
- Do not reference MSBuild tasks in the app by @mattleibow in #20899
- Fixed Shell.NavBarHasShadow on Android by @kubaflo in #20188
- Graphics TextAttribute wrongly uses FontName value for FontSize by @jfversluis in #20861
- [XamlC] Fix error XDataTypeSyntax message format by @simonrozsival in #20787
- [Windows] Registering new double-tap event can end up in the event being firing more times than expected by @MartyIX in #20905
- Updated Development guide by @jsuarezruiz in #20543
- [release/9.0.1xx-preview2] Update aotprofile by @rmarinho in #20901
- Remove Switch On/Off content by @dotMorten in #20487
- [Windows] Fix template check for item recycle by @Foda in #20875
- Restore iOS/macOS SecureStorage.DefaultAccessible default value by @jfversluis in #20914
- [C] Propagate Resource changes to Background by @StephaneDelcroix in #20637
- [Trimming] Use type...
8.0.10 SR3
What's Changed
- [Android] Fix gif animation initial state by @jsuarezruiz in #14295
- allow x:Type extension for BPConverter by @StephaneDelcroix in #18540
- Source Generator Performance Improvements by @mgoertz-msft in #19990
- Add better exception for missing Maps on Windows by @jfversluis in #19046
- Adding Mobile tag to MAUI project templates by @MSLukeWest in #20191
- [Windows] Resolve issues with the Switch Track Color tests by @jsuarezruiz in #20221
- iOS Next Entry to skip hidden parents by @tj-devel709 in #20160
- [Windows] Resolve issues with ImageSourceInitializesCorrectly tests by @jsuarezruiz in #20224
- PanGesture notify Completed event moving outside View limits by @jsuarezruiz in #15700
- [WinUI] Fix gif animation initial state by @mattleibow in #20169
- [iOS] Remove a nullability error when using 17.2.8104 by @mandel-macaque in #20396
- [iOS] Fixed Collection View header and footer update by @kubaflo in #20210
- [C] ColorTypeConverter include alpha when <1 by @StephaneDelcroix in #20414
- Android SecureStorage: Stop caching shared preferences instance to fix RemoveAll by @Redth in #20445
- [iOS] Fixes carouselview layout on iOS by @NielsKnaap in #20001
- Fix design time image converter by @etvorun in #20374
- [ci] Fix CarouseltestPostion test for iOS17 by @rmarinho in #20489
- [iOS] Clear BindingContext when cell is queued for reuse by @filipnavara in #14619
- Fix XamlCompilation of RD subclasses by @StephaneDelcroix in #20463
- Add '#' to trigger UrlEncoding on Android PhoneDialer by @borrmann in #20498
- Removes dead code from type conversion by @vitek-karas in #19436
- Devices.Sensors.Location: rework argument handling in constructors by @janusw in #19459
- Optimize GetVisualTreeElementsWindowsInternal by @symbiogenesis in #19984
- Fix OnPlatform + Setter when no match for current platform by @BretJohnson in #17061
- Remove non-supported tasks / actions in preparation for migration off of FabricBot by @mkArtakMSFT in #20527
- [Android] Make Flyout footer aware of header/content margin by @emaf in #19303
- Fix connectivity broadcast receiver never triggered on android 14.0/34+ by @pierre-galaup in #19968
- Remove allocation from Color.TryParse by @eerhardt in #20446
- [iOS] Fix gestures in Label Spans by @jsuarezruiz in #15544
- [XC] split warnings on ',' and ';' by @StephaneDelcroix in #20578
- [iOS] Adjust Keyboard Scrolling for Sticky Headers and Fix Bottom Content Inset by @tj-devel709 in #20562
- Add the multi-project template by @mattleibow in #20365
- Add animated GIF support for Image on iOS by @mattleibow in #19411
- (Windows) ImageButton contents now explicitly stretches by @Foda in #17159
- [XC] Allow generic types in x:DataType and x:Type by @simonrozsival in #20625
- Fix modal page push in immersive mode by @PavloLukianets in #19903
- [Android Connectivity] Set app package on Intent used to invoke context receiver for network callback by @Redth in #20651
- [iOS] Figure a better EstimatedItemSize for HorizontalList by @rmarinho in #20022
- [Catalyst] Fix Selectors for Menus by @drasticactions in #20699
- Traverse ListNode when finding DataType by @StephaneDelcroix in #20742
- [Windows] Implement gestures on Spans by @jsuarezruiz in #17731
- [iOS/Catalyst] Correctly call DidFinishNavigation in NavigationDelegate by @drasticactions in #20725
- [Window] Fix transforms being offset by 0.5x0.5 by @Foda in #20454
- Add the trailing .0 to all the windows things by @mattleibow in #20792
- Support the unpackaged format for font loading by @mattleibow in #20790
- [iOS] NullReferenceException for Span GridItemsLayout fix by @kubaflo in #20492
- Restructured CodeBehindGenerator pipeline by @mgoertz-msft in #20524
- [ci] Upload build asset data to darc/maestro by @pjcollins in #20785
- Fallback if user doesn't specify ext on image by @PureWeen in #20796
- Fix XAML intellisense and hot reload in Visual Studio 2022 by @spadapet in #20851
- Fix page swap from background by @PureWeen in #19532
- [ios] fix memory leak in SearchBar by @jonathanpeppers in #16383
- iOS Shell TitleView Update Height by @tj-devel709 in #20795
- Ignore ScrollRectToVisible if KeyboardAutoManagerScroll is enabled in ItemsViewController by @artemvalieiev in #19875
- [ci] Fix versions again when no sha provided by @rmarinho in #20873
- [Windows] Handle ConnectionProfiles exception by @Foda in #20757
- Fix crash if users only sets selected color on android bottom tabs by @PureWeen in #20793
- Check if CV Item Handler has been created by @PureWeen in #20900
- Do not reference MSBuild tasks in the app by @mattleibow in #20899
- Fixed Shell.NavBarHasShadow on Android by @kubaflo in #20188
- Graphics TextAttribute wrongly uses FontName value for FontSize by @jfversluis in #20861
- [Windows] Registering new double-tap event can end up in the event being firing more times than expected by @MartyIX in #20905
- [Windows] Fix template check for item recycle by @Foda in #20875
- Restore iOS/macOS SecureStorage.DefaultAccessible default value by @jfversluis in #20914
- [C] Propagate Resource changes to Background by @StephaneDelcroix in #20637
- [Windows] Fix image button scaling by @Foda in #20949
- [iOS] Double dash in input field crash fix by @kubaflo in #20584
- SwipeGestureRecognizer return actual detected directions by @espenrl in #20619
- Don't remeasure the HScrollView during the layout pass by @PureWeen in #20998
- [Android] Fix ShouldShowToolbarButton for FlyoutPage by @bradencohen in #18522
- Generalize HideSoftInputOnTapped on Android and iOS to support 3rd party input controls by @albyrock87 in #19626
- Revert to 1.4.240211001 by @PureWeen in #21031
Tests
- [UITest] Re-enable iOS Scrolling tests by @tj-devel709 in #20618
- Enable now passing tests and add some TableView categories by @PureWeen in #20531
- Fix image loading tests by @PureWeen in #20955
- [Testing] Added categories to Controls.AppiumTests by @jsuarezruiz in #20642
- [testing] Ignore flacky tests on iOS17 by @rmarinho in #20581
- Bump to latest VisualTestUtils by @BretJohnson in #20525
- [iOS][tests] NativeAOT: Do not treat warnings as errors in integration tests by @ivanpovazan in #20471
- Enable Windows Image device tests by @mattleibow in #20167
- [Testing] Added appium UITest for FlyoutNavigationBetweenItemsWithNavigationStacks by @jsuarezruiz in #19444
- [ci] Only run on 17.2 and latest 33 by @rmarinho in #20455
- Gather iOS device logs after running tests by @PureWeen in #20458
- UI Test logs still aren't pushing to CI by @PureWeen in #20485
- Add benchmarking class for PropertyMapper extensions by @hartez in #18660
- Temporarily Remove Tests by @PureWeen in #20536
- [iOS][NativeAOT] Adding NativeAOT RunOniOS device test by @ivanpovazan in #19923
- [xharness] Add timeout by @rmarinho in #20432
- Setup Android App With More Accurat...
8.0.7 SR2
Install
This release is available on NuGet.org and is compatible with the existing stable workload release. It will be promoted to Visual Studio in a future release.
See #20159 for more information.
What's Changed
MAUI Product Fixes
- Fix for button cornerradius 0 on android by @WdeBruin in #18959
- Allow GesturePlatformManager to be created for views with null window… by @artemvalieiev in #18938
- Fix for #11991 - CollectionView SelectedItem BackgroundColor is always Gray on iOS by @Axemasta in #17464
- Correct nullable annotations on IMediaPicker by @jfversluis in #19157
- Schedule Android layout requests received during layout on the UI thread by @hartez in #19349
- Remove Fuschia once again... by @jfversluis in #19434
- Handle Semantics flags more explicitly on iOS by @hartez in #19370
- Simplify ShapeUpdatesBrushCorrectly by @PureWeen in #19452
- [Android] Correctly clear text tapping the clear button on Entry by @jsuarezruiz in #17543
- XamlC WarnAsErrors. by @StephaneDelcroix in #19337
- Change the default value for xaml-comp by @StephaneDelcroix in #19390
- Fix Clear Button size calculation by @PureWeen in #19482
- Warn on non compiled bindings by @StephaneDelcroix in #19360
- [ci] Move to new compliance task by @rmarinho in #19475
- Add design time converters by @etvorun in #19301
- [iOS] Fix wrong gray color using transparent in iOS gradients by @jsuarezruiz in #17696
- Fix attribute typo by @PureWeen in #19567
- Add buttons to copy error messages and stack traces to the test runner by @hartez in #19566
- Attach And Run iOS / catalyst semantic tests by @PureWeen in #19571
- [Windows] Fix Tabbar Visibility Tests by @Foda in #19662
- Fix has color to use maui context on passed in view by @PureWeen in #19682
- Modify
FlyoutHeaderAdaptsToMinimumHeight
test to work better on CI by @Foda in #19685 - Update eng/README.md by @eltociear in #19735
- [iOS] Fix Flyout layout by @emaf in #19125
- [macOS] Fix
GesturePlatformManager.CalculatePosition
when asked for a relative position by @MartyIX in #19371 - Fix disappearing cell issue for TableView on Android by @hartez in #19723
- Move GroupListViewHeaderIndexOutOfRange to Appium by @PureWeen in #19799
- Enable string search and comparison CA rules in Core by @hartez in #19796
- Handle setting of DesiredSize in Measure implementations, rather than MeasureOverride by @hartez in #19794
- Enable CA1822 in Core and convert eligible methods to static by @hartez in #19800
- Fix SetProgressViewOffset on SwipeRefreshLayout by @PureWeen in #19767
- Fix incorrect defaults when adding non-BindableObject as AbsoluteLayout child by @hartez in #19839
- [Windows] Show the Raw HTML for Html Label in case of error by @drasticactions in #17470
- [Catalyst] Allow setting of CancelButtonColor on SearchBar when using Mac Idiom by @mikeparker104 in #19838
- Added optional ReceiveSms permission by @tarasverq in #19659
- iOS Keyboard Scrolling Improvements and UITests (not from fork) by @tj-devel709 in #17670
- Update README.md by @jamesmontemagno in #19797
- [xamlg] improve error for Xamarin.Forms namespace by @jonathanpeppers in #19683
sealed
someinternal
classes inControls.Core
that are not inherited from (2) by @Lehonti in #17671- Avoid zero-length array allocations by @molesmoke in #19300
- [Trimming] Fix several trimming warnings by @simonrozsival in #19402
- [Android] FlyoutIsPresented property opens the Flyout by @jsuarezruiz in #19807
- Fix Label Multilinetruncation (MaxLines / LineBreakMode) by @jsuarezruiz in #14918
- Add PostNotifications to Permissions by @jfversluis in #19472
- Update MSBuild.StructuredLogger by @JanKrivanek in #19824
- Fix condition to bundle Microsoft.Maui.Essentials.dll in app extensions on Apple platforms. Fixes #19756. by @rolfbjarne in #19757
- Optimize IndexOf lookups by @symbiogenesis in #19963
- Fix Developer Tools option setting for Blazor Hybrid Mac Catalyst view. by @drasticactions in #19909
- Re-generate the template files by @mattleibow in #19993
- Process the hardware enter key as "Done" by @PureWeen in #16386
- Remove unused functions by @symbiogenesis in #20029
- Revert "Remove unused functions (#20029)" by @drasticactions in #20050
- Resizetizer Regex Fix by @Eden-Mor in #19600
- Default to no item selected by @mattleibow in #20072
- Enforce preference of braces for code blocks (IDE0011) in .editorconfig by @jfversluis in #20056
- Make sure we support keyed services in client apps by @mattleibow in #20014
- Add Obsolete tag for old IndexOf by @drasticactions in #20068
- Split the InputTransparency tests by @mattleibow in #19925
- [ci] Restore dotnet tools in provisioned sdk by @rmarinho in #20106
- Do not use underscores in the ApplicationId by @mattleibow in #19377
- [WinUI] Add workaround for Connectivity check on Win10 by @Foda in #19261
- [Windows] Adjust recycle check in ItemContentControl by @Foda in #20079
- Rectify the scopes in the builder by @mattleibow in #19932
- Enable building WASDK Self-Contained packaged apps by @mattleibow in #20019
- Translucent and Transparent NavigationBar on iOS by @tj-devel709 in #19204
- Account for margins on sizes returned from Editor by @PureWeen in #20249
- If the current thread dispatcher is null return the app level dispatcher by @PureWeen in #20313
- Move Legacy ListViewDoesntFreezeApp to Appium by @PureWeen in #20400
- Ignore SafeArea on templates and shell flyout item templates by @PureWeen in #20403
- Bring back some aspect of ConvertView on TableView and avoid AT_MOST Measure by @PureWeen in #20130
Tests
- [Testing] Add scroll methods to UITest by @jsuarezruiz in #19181
- [Testing] Added DragCoordinates action to appium UITest by @jsuarezruiz in #19333
- [Testing] Added lifecycle methods to UITest by @jsuarezruiz in #19102
- [Testing] Added UI Test for manual test D9 by @jsuarezruiz in #18762
- [Testing] Add Back method in the UITest lifecycle actions by @jsuarezruiz in #19442
- [Testing] Added UI Test for manual test C3 by @jsuarezruiz in #18899
- [Testing] Added UI Test for manual test C2 by @jsuarezruiz in #18794
- [testing] Enable a way to test on real devices by @rmarinho in #19492
- [tests] Move integration tests to use MauiDotNetTfm by @rmarinho in #20060
- Reduce the complexity of the AttachAndRun code by @mattleibow in #19352
- Disable failing semantic tests on iOS by @mattleibow in #19344
- Preserve logs from retries as they have data! by @mattleibow in #19341
- NativeAOT: Add integration tests for testing MAUI compatibility with NativeAOT on iOS by @ivanpovazan in #19194
- Fix some UI Test timings by @PureWeen in #19462
- Save device logs when UI Tests fail by @mattleibow in #19085
- Move the device test for ShowsKeyboardOnFocus to Appium by @jsuarezruiz in #18747
- [ci] Don't install xharness globally by @rmarinho in https://github.com/dotnet/maui/...
9.0.0-preview.1.9973
Installation
Install .NET 9 and the .NET MAUI workload to get started with this release.
Known issues
- Due to a late-breaking change in the debugger tooling within Visual Studio, XAML Hot Reload will not load with .NET 9 Preview 1 projects targetting iOS and Android and should result in a yellow error bar. It should not break the deployment or debugging of the app, and you can enable ignoring future errors from appearing from the bar. This should be addressed in a future release of Visual Studio.
- building
net8.0-*
target frameworks from .NET 9 does not work in preview 1.
MAUI Product Fixes
Fix for button cornerradius 0 on android by @WdeBruin in #18959
Fix for #11991 - CollectionView SelectedItem BackgroundColor is always Gray on iOS by @Axemasta in #17464
[Android] Correctly clear text tapping the clear button on Entry by @jsuarezruiz in #17543
[iOS] Fix wrong gray color using transparent in iOS gradients by @jsuarezruiz in #17696
Fix Clear Button size calculation by @PureWeen in #19482
Fix attribute typo by @PureWeen in #19567
Fix disappearing cell issue for TableView on Android by @hartez in #19723
Fix SetProgressViewOffset on SwipeRefreshLayout by @PureWeen in #19767
Fix incorrect defaults when adding non-BindableObject as AbsoluteLayout child by @hartez in #19839
[iOS] Fix Flyout layout by @emaf in #19125
Schedule Android layout requests received during layout on the UI thread by @hartez in #19349
[macOS] Fix GesturePlatformManager.CalculatePosition when asked for a relative position by @MartyIX in #19371
Fix Label Multilinetruncation (MaxLines / LineBreakMode) by @jsuarezruiz in #14918
[Windows] Fix Tabbar Visibility Tests by @Foda in #19662
Fix has color to use maui context on passed in view by @PureWeen in #19682
Correct nullable annotations on IMediaPicker by @jfversluis in #19157
[Windows] Show the Raw HTML for Html Label in case of error by @drasticactions in #17470
[Catalyst] Allow setting of CancelButtonColor on SearchBar when using Mac Idiom by @mikeparker104 in #19838
iOS Keyboard Scrolling Improvements and UITests (not from fork) by @tj-devel709 in #17670
[Android] FlyoutIsPresented property opens the Flyout by @jsuarezruiz in #19807
Fix Developer Tools option setting for Blazor Hybrid Mac Catalyst view by @drasticactions in #19909
Process the hardware enter key as "Done" by @PureWeen in #16386
[Android] Fix gif animation initial state by @jsuarezruiz in #14295
Translucent and Transparent NavigationBar on iOS by @tj-devel709 in #19204
Allow GesturePlatformManager to be created for views with null window by @artemvalieiev in #18938
Handle Semantics flags more explicitly on iOS by @hartez in #19370
XamlC WarnAsErrors by @StephaneDelcroix in #19337
Improves performance on BindableProperty by @albyrock87 in #17756
[Android] Fix gif animation initial state by @jsuarezruiz in #14295
[Catalyst] Allow setting of CancelButtonColor on SearchBar when using Mac Idiom by @mikeparker104 in #19838
[Windows] Fix Tabbar Visibility Tests by @Foda in #19662
Handle setting of DesiredSize in Measure implementations, rather than MeasureOverride by @hartez in #19794
Fix disappearing cell issue for TableView on Android by @hartez in #19723
Fix SetProgressViewOffset on SwipeRefreshLayout by @PureWeen in #19767
Fix has color to use maui context on passed in view by @PureWeen in #19682
[Windows] Show the Raw HTML for Html Label in case of error by @drasticactions in #17470
Fix incorrect defaults when adding non-BindableObject as AbsoluteLayout child by @hartez in #19839
[iOS] Fix Flyout layout by @emaf in #19125
[macOS] Fix GesturePlatformManager.CalculatePosition when asked for a relative position by @MartyIX in #19371
Fix Label Multilinetruncation (MaxLines / LineBreakMode) by @jsuarezruiz in #14918
Fix attribute typo by @PureWeen in #19567
Fix Clear Button size calculation by @PureWeen in #19482
[Android] Correctly clear text tapping the clear button on Entry by @jsuarezruiz in #17543
Fix for #11991 - CollectionView SelectedItem BackgroundColor is always Gray on iOS by @Axemasta in #17464
Fix for button cornerradius 0 on android by @WdeBruin in #18959
Change the default value for xaml-comp by @StephaneDelcroix in #19390
Add design time converters by @etvorun in #19301
[WinUI] Add workaround for Connectivity check on Win10 by @Foda in #19261
[Windows] Adjust recycle check in ItemContentControl by @Foda in #20079
Rectify the scopes in the builder by @mattleibow in #19932
Enable building WASDK Self-Contained packaged apps by @mattleibow in #20019
allow x:Type extension for BPConverter by @StephaneDelcroix in #18540
Source Generator Performance Improvements by @mgoertz-msft in #19990
Add better exception for missing Maps on Windows by @jfversluis in #19046
Adding Mobile tag to MAUI project templates by @MSLukeWest in #20191
[xamlg] improve error for Xamarin.Forms namespace by @jonathanpeppers in #19683
sealed some internal classes in Controls.Core that are not inherited from by @Lehonti in #17671
Avoid zero-length array allocations by @molesmoke in #19300
[Trimming] Fix several trimming warnings by @simonrozsival in #19402
Optimize IndexOf lookups by @symbiogenesis in #19963
Re-generate the template files by @mattleibow in #19993
Remove unused functions by @symbiogenesis in #20029
Revert "Remove unused functions (#20029)" by @drasticactions in #20050
Resizetizer Regex Fix by @Eden-Mor in #19600
Make sure we support keyed services in client apps by @mattleibow in #20014
Add Obsolete tag for old IndexOf by @drasticactions in #20068
Default to no item selected by @mattleibow in #20072
Remove Fuschia once again... by @jfversluis in #19434
Enable string search and comparison CA rules in Core by @hartez in #19796
Enable CA1822 in Core and convert eligible methods to static by @hartez in #19800
Do not use underscores in the ApplicationId by @mattleibow in #19377
Tests
[Testing] Add scroll methods to UITest by @jsuarezruiz in #19181
[Testing] Added DragCoordinates action to appium UITest by @jsuarezruiz in #19333
[Testing] Added lifecycle methods to UITest by @jsuarezruiz in #19102
[Testing] Added UI Test for manual test D9 by @jsuarezruiz in #18762
[Testing] Add Back method in the UITest lifecycle actions by @jsuarezruiz in #19442
[Testing] Added UI Test for manual test C3 by @jsuarezruiz in #18899
[Testing] Added UI Test for manual test C2 by @jsuarezruiz in #18794
Save device logs when UI Tests fail by @mattleibow in #19085
Move the device test for ShowsKeyboardOnFocus to Appium by @jsuarezruiz in #18747
Set Simulator UDID explicitly for CG UI tests by @jfversluis in #19540
Break ControlsHeadlessTestRunner.RunTestsAsync method when discovering tests by @jfversluis in #19559
Disable flaky compat test by @jfversluis in #19546
Grab device logs if app stops running by @PureWeen in #19562
Attach And Run iOS / catalyst semantic tests by @PureWeen in #19571
[Testing] Added appium UITest for FlyoutNavigationBetweenItemsWithNavigationStacks by @jsuarezruiz in #19444
Enable Windows Image device tests by @mattleibow in #20167
[testing] Enable a way to test on real devices by @rmarinho in #19492
Fix some UI Test timings by @PureWeen in #19462
Disable failing semantic tests on iOS by @mattleibow in #19344
NativeAOT: Add integration tests for testing MAUI compatibility with NativeAOT on iOS by @ivanpovazan in #19194
Move GroupListViewHeaderIndexOutOfRange to Appium by @PureWeen in #19799
passing test for 18976 by @StephaneDelcroix in #19785
Split the InputTransparency tests by @mattleibow in #19925
NativeAOT: Update NativeAOT integration tests to run with 9.0.1xx-preview1 by @ivanpovazan in #20268
[tests] Move integration tests to use MauiDotNetTfm by @rmarinho in #20060
Reduce the complexity of the AttachAndRun code by @mattleibow in #19352
Modify FlyoutHeaderAdaptsToMinimumHeight test to work better on CI by @Foda in #19685
Dependency Updates
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #19439
[net9.0] Update dependencies from dotnet/aspnetcore by @dotnet-maestro in #19512
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #19485
[net9.0] Update dependencies from dotnet/aspnetcore by @dotnet-maestro in #19440
[net9.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #19491
[main] Update dependencies from dotnet/xharness by @dotnet-maestro in #19336
[main] Update dependencies from dotnet/xharness by @dotnet-maestro in #19474
[net9.0] Update dependencies from dotnet/aspnetcore by @dotnet-maestro in #19498
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #19604
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #19672
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #19677
[net9.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #19531
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #19694
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #19791
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #19811
[net9.0] Update dependencies from xamarin/xamarin-macios by @dotnet-maestro in #20096
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #20085
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #20013
[net9.0] Update dependencies from xamarin/xamarin-android by @dotnet-maestro in #19850
[net9.0] Update dependencies from dotnet/aspnetcore by @dotnet-maestro in #19523
Bump to new stable versions of iOS and Android workloads by @rmarinho in #19393
Bump Xamarin.UITest from 4.1.4 to 4.3.3 by @jfversluis in #19394
Bump Xamarin.UITest to 4.3.4 by @jfversluis in #20067...
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