Announcing .NET MAUI in .NET 8 Release Candidate 2: More Quality

David Ortinau

Today, we take one step closer to .NET 8 general availability (GA) by shipping .NET MAUI in .NET 8 release candidate 2 (RC2). As with RC1, this release is covered by a go-live license so you can receive support when using it in your production applications. In this release we have focused on issues that regressed throughout the previews, and regaining some performance that was lost as we improved the reliability of hot reload, visual state manager, bindings, and app themes.

Quality Improvements

In addition to our narrowed focus on regressions we have also increased the battery of manual tests and automated testing. There are no breaking API changes between .NET 7 and .NET 8, so you can expect the upgrade for your applications to go smoothly in that respect. For more information about upgrading from 7 to 8, follow this simple guide.

Highlights from this release:

Performance Improvements: Several performance improvements were made, including enhancements to the performance of ActivityExtensions.GetWindowFrame on Android, and “Setter Specificity” performance. These optimizations contribute to smoother app performance. (#17241, #17364, #17230, #17505, #17545).

UI and Control Fixes: Several fixes and updates were made to controls and UI elements, including fixes related to CollectionView, TabBar visibility, RoundRectangle Borders, and Android text alignment. With these your app UI is more consistent and visually accurate across platforms. (#16870, #17240, #17261, #17353, #17430, #17594), #17567).

Platform-Specific Fixes: Several platform-specific fixes were made, including drag-and-drop functionality, tab bar appearance, and specific platform behaviors, ensuring a consistent user experience across platforms. (#15748, #16561, #17495, #17041, #17358.

The release also includes numerous other bug fixes, enhancements, and contributions. Check out the full release notes for more details.

Additional information:

Bonus: .NET 7 Service Release

Today we have also shipped .NET MAUI service release 8 (version 7.0.96) for .NET 7 including select high-priority fixes for layout, memory leaks, CollectionView, safe area, and more. You can use this service release by installing .NET 8 RC2 using one of the methods below and continuing to build your applications to target .NET 7.

Alternatively, you can acquire 7.0.96 by upgrading to Visual Studio 17.7.5.

Bonus 2: Xcode 15 and Android API 34

Xamarin developers can now use Xcode 15 to target the latest versions (e.g iOS 17, iPadOS 17), and target Android API 34 in order to be compliant with store policies. To do this, install Visual Studio 17.8 Preview 3 or the latest stable version of Visual Studio for Mac and configure your environment as usual. This does not provide newer platform APIs, but does enable existing projects to continue building while you complete your upgrades to .NET 8 and .NET MAUI regardless of the Xamarin end-of-support date next year.

How to update

On all platforms, you can develop with .NET MAUI using Visual Studio Code. Install the .NET MAUI extension and let us know how we can improve this preview experience for you in the future.

Download the .NET 8 RC2 installer, and then install .NET MAUI from the command line:

dotnet workload install maui

Through the retirement of Visual Studio for Mac next year you can continue developing using Visual Studio for Mac after enabling the preview feature for .NET 8 in Preferences.

On Windows, update or install Visual Studio 2022 17.8 preview 3 to get .NET 8 RC2 with .NET MAUI (and 7.0.96).

Feedback Welcome

We appreciate your feedback and contributions to .NET MAUI. You can report issues, suggest features, or submit pull requests on our GitHub repository. You can also join our Discord server or follow us on Twitter to stay in touch with the latest news and updates.

Thank you to all 23 contributors (and bots) who helped put this release together!

Thank you for your support and happy coding!

38 comments

Discussion is closed. Login to edit/delete existing comments.

  • Eder Cardoso 4

    Love to see new releases like these with much needed improvements. 👏

  • Syed Hoque 2

    I was wondering when is the blog post going to drop! .NET 7 SR is a welcome addition while we migrate away to .NET 8. Thanks a lot for your leadership and the hardwork from the team.

  • AVATAR Jake 3

    Thank you David. But I want to ask when MVU Pattern could be supported officially?

  • Max Mustermueller 2

    I just want to say that the afford is noticeable. A year ago developing with MAUI was frustrating, spent more time with workarounds than with coding my apps. Now there are still bugs in the basic controls, some of them bigger than others but overall it’s in a state where I can say to myself “I can work with that”. Still much to do but it’s going into the right direction. Well done!

  • Yoann Young 9

    I think the next focus of MAUI should be on the following points:

    1. Support for MVU.

    2. Support for Linux.

    3. Support for DataGrid (a necessary feature for desktop applications).

    4. Repair bugs more actively and efficiently.

    Additionally, I believe that the above points are more meaningful than developing an upgrade tool from Xamarin to MAUI.

    • Glaser, Thomas 1

      While I would like DataGrids as well, there are third party component libraries that do this already. And competing with these would a difficult untertaking, and it’s difficult to decide where to stop (do you need filtering? sorting? grouping? conditional row highlighting? etc etc)

      I’m in favour of supporting Linux though. It’s the only major platform that .NET Maui doesn’t support yet.

      • Ashish Khanal 0

        Something like Quickgrid would be nice. Minimal, but enough for 90% of cases.

    • Jeremy Powell 0

      +1 for Linux support!

    • John Hawke 0

      +1 for the OS with a penguin mascot

    • Danny Albæk Hille 0

      Yes Linux support please!

  • Stefan Hinterhegger 17

    I really want MAUI to succeed, therefore I keep trying out the new versions. And every time I get more disappointed. I must express my deep-seated frustration and disappointment regarding the current state of .NET MAUI. As a developer team deeply invested in .NET code with various Xamarin.Forms apps, the conspicuous absence of dogfooding and a lack of a functional demo application for MAUI has been disheartening, to say the least.

    Quality should be a fundamental of any software, and unfortunately, it appears that the .NET MAUI framework is falling short in this regard. Isn’t it sad that the milestone of a major release of MAUI is just “we try to make it usable”.
    Each new release brings about its own set of regressions, and glaring bugs from the initial version persist unresolved, which is profoundly concerning.

    Just one example:
    https://github.com/dotnet/maui/issues/4734

    David, you created this issue yourself. 1,5 years ago and it is still not fixed today. It’s about supporting a Tap on a Label Span. I mean how basic can a functionality be. This was working just fine in Xamarin.Forms. There are plenty of bugs like this. When was the last time, you or any other team member tried to build a REAL app with the framework you are promoting?

    MAUI developers need more than stability. We want a kick-ass demo app and a first-party application which shows commitment to the framework. What about emerging platforms like visionOS or SwiftUI – any story for these scenarios? All other major cross-platform frameworks have at least a demo or so – while MAUI developers cannot perform a click on a Span 🤮

    To be honest, and I hate to say it (because I have a major Xamarin.Forms codebase – stuck in the past) but…

    …MAUI still sucks.

    • Ashish Khanal 5

      I couldn’t agree more. You’re absolutely right. I hope leadership at Microsoft reads feedbacks like this and improve their tools.

    • Patrick Boyer 3

      You eloquently put into words the pain that I feel migrating my own non-trivial Xamarin.Forms code base. Thank you!

    • Nam Vo 0

      man, I’ll wait till it’s more stable to try out.

  • cxzhe 2

    I can’t find any way to work with Xcode 15. Microsoft.NET.Sdk.iOS.Manifest-8.0.100-rc.2 only can support iOS 16.4, not iOS 17.

    • David OrtinauMicrosoft employee 0

      Set Xcode 15 as your selected version on your Mac. We shipped the tooling support so you can build with it even though our SDK bindings are Xcode 14 / iOS 16.x. The SDK bindings for new/changed APIs will ship in the next release.

  • Nuno Luís 0

    It always good to have bug fixed and improvement done, specially the very waited .NET 7 service release. I think everyone appreciates and values the hard work done by MAUI / Android / iOS team, thanks.

    Just a few comments :
    – It seems that to use the .NET 7 service release we need to install the .NET 8 RC2 first, seems confusing – “You can use this service release by installing .NET 8 RC2”
    – Some of the linked issues are related with automated code formatting, CI testing , or solution related, but placed under “UI and Control Fixes” or “Platform-Specific Fixes” categories, it looks like a mistake, e.g:
    #17311 – [housekeeping] Automated PR to fix formatting errors
    #17379 – Remove macOS as that is not installed by default
    #17436 – Ignore 16561 on catalyst for now
    #17450 – fix failing test for 17222
    #17530 – Revert “[main] Update dependencies from dotnet/xharness”

    • David OrtinauMicrosoft employee 0

      Given how many more improvements are in .NET 8 and we are a supported release, I want to encourage everyone to go that route. Since .NET 7 we have supported building previous version projects from current version: you could build 6 from 7 and now 7 from 8 rather than managing multiple installations of .NET and global.json workarounds.

      Thanks for the note on issues, I’ll give that a closer look.

    • David OrtinauMicrosoft employee 0

      This update for Xamarin means your existing app and existing features can remain compliant with Apple and Google store policies which enforce version requirements. Refer to those policies for more guidance.

      If you want to use new APIs/features of those newer platform versions, you need to use .NET 8.

      • Ori Wolski 0

        And in order to use .NET 8.0, we’ll have to migrate to MAUI,
        since Xamarin.Forms will not support .NET 8.0, right?

  • Martin Rothschink 8

    David,
    I have been working with MAUI Apps since the first betas. And unfortunately I have to say that it has been nothing but frustrating over the years. Each service release takes 2 steps forward and one step back. Each time you fight against different, new bugs.

    Many simple things in the layout and controls that just have to work are in the backlog. I am now tired of writing bug reports because they all end up in the backlog.
    When MAUI was GA we had 1400 issues in Github, today there are 2600. I can’t see any positive development there.
    I think the MAUI team is understaffed and can’t keep up with the bugs.

    And as others write above, there is a MAUI killer app missing from Microsoft, without it the Microsoft developers don’t feel any pain, like we do and nothing will improve.

    • Jan Seriš 1

      Before MAUI team member responds, I’ll do it for them – the overwhelming number of issues (most of them bugs) just means that it’s popular!

      • nor0x 2

        correct! criticizing or negative comments usually are not addressed at all, which just increases the frustration in the community.
        also the number of issues is by no means a valid indicator for the popularity of a repository

Feedback usabilla icon