Skip to content

Releases: dotnet/maui

8.0.21

23 Apr 23:14
44a1673
Compare
Choose a tag to compare

What's Changed

Full Changelog: 8.0.20...8.0.21

9.0.100-preview.3.10457

11 Apr 15:19
fe70772
Compare
Choose a tag to compare
Pre-release

What's Changed

MAUI Product fixes

Docs

Tests

Dependency Updates

Read more

8.0.20

09 Apr 22:31
Compare
Choose a tag to compare

What's Changed

Tests

Docs

Dependency Updates

New Contributors

Full Changelog: 8.0.14...8.0.20

8.0.14

21 Mar 01:37
6fb9077
Compare
Choose a tag to compare

What's Changed

Full Changelog: 8.0.10...8.0.14

9.0.0-preview.2.10293

12 Mar 15:09
7c7f23d
Compare
Choose a tag to compare
9.0.0-preview.2.10293 Pre-release
Pre-release

Installation

Install .NET 9 and the .NET MAUI workload to get started with this release.

What's Changed

Read more

8.0.10

12 Mar 19:59
50a0144
Compare
Choose a tag to compare

What's Changed

Tests

Read more

8.0.7

14 Feb 13:57
d4bb66f
Compare
Choose a tag to compare

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

Tests

Read more

9.0.0-preview.1.9973

13 Feb 18:51
055618c
Compare
Choose a tag to compare
9.0.0-preview.1.9973 Pre-release
Pre-release

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...

Read more

8.0.6 SR1

17 Jan 21:22
87f59a8
Compare
Choose a tag to compare

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

Tests

Read more

8.0.3

14 Nov 16:08
0d64894
Compare
Choose a tag to compare

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...
Read more