Skip to content

Releases: CommunityToolkit/Maui

11.0.0: Offline speech recognition

17 Jan 09:22
f359148
Compare
Choose a tag to compare

And just like that, the first release in 2025 is v11 of the .NET MAUI Community Toolkit!

Offline speech recognition

In this release we add offline speech recognition. No need for an active internet connection, you can now to speech to text while offline. Note that this is available from Android 33 and up and iOS13 and up. Check out all the details on the docs.

Statusbar gap

Did you notice there was a gap when using the StatusBarBehavior on iOS? Thanks to @kubaflo not anymore! We made sure that the calculations for the status bar height is now correct and are even giving you fine-grained control over the calculations by being able to specify if the safe area should be included or not.

And much more!

Be sure to check out the full list below with all the changes ,and last but not least, we also did releases for CameraView, MediaElement and Maps, so be sure to check those out too!

Make sure to check the requirements below for using this/building this project yourself.

Requirements

The following tools are now required for CommunityToolkit.Maui:

  • Download/install .NET SDK v9.0.102
  • Install Xcode 16.2.0 (or higher)
    • Read the latest .NET MAUI Release wiki to always find the latest-supported version) of Xcode for .NET MAUI
    • We HIGHLY recommend using the open-source tool Xcodes to easily manage your installed Xcode versions
  • Update to the latest stable version of Visual Studio (or Jet Brains Rider)
  • After installing the latest stable .NET SDK, update to the latest stable version of the .NET MAUI workload:
    • On macOS, open the Terminal and enter the following command: sudo dotnet workload install maui; sudo dotnet workload update
    • On Windows, open the command prompt (or Powershell) and enter the following command: dotnet workload install maui;dotnet workload update
  • Add a global.json file to your application with the following parameters to ensure you're not using a unsupported preview version of .NET (example below)
    • The .NET MAUI Community Toolkit does not support preview releases of .NET

global.json

{
  "sdk": {
    "version": "9.0.102", 
    "rollForward": "latestFeature",
    "allowPrerelease": false
  }
}

What's Changed

  • Fix bug: Support for arrays in IsListNotNullOrEmptyConverter/IsListNotNullOrEmptyConverter by @jenscski in #2396
  • change to ResetValidationTokenSource to guard against a disposed validationTokenSource by @matt-bartholomew in #2344
  • Offline Speech Recognition #2089 by @VladislavAntonyuk in #2242
  • Support Microsoft.Maui.Controls v9.0.30 and .NET SDK v9.0.102 by @brminnick in #2444
  • Migrate to PEG parser. Introduce boolean operators and constants. by @stephenquan in #2182
  • [iOS] StatusBarBehavior does not occupy entire notch - fix by @kubaflo in #2309

Bumpers 🚗 & Housekeeping

New Contributors

Full Changelog: 10.0.0...11.0.0

v6.0.0 MediaElement: Now using Media3 on Android!

17 Jan 09:08
f359148
Compare
Choose a tag to compare

What's Changed

Requirements

The following tools are now required for CommunityToolkit.Maui:

  • Download/install .NET SDK v9.0.102
  • Install Xcode 16.1.0 (or higher)
    • Read the latest .NET MAUI Release wiki to always find the latest-supported version) of Xcode for .NET MAUI
    • We HIGHLY recommend using the open-source tool Xcodes to easily manage your installed Xcode versions
  • Update to the latest stable version of Visual Studio (or Jet Brains Rider)
  • After installing the latest stable .NET SDK, update to the latest stable version of the .NET MAUI workload:
    • On macOS, open the Terminal and enter the following command: sudo dotnet workload install maui; sudo dotnet workload update
    • On Windows, open the command prompt (or Powershell) and enter the following command: dotnet workload install maui;dotnet workload update
  • Add a global.json file to your application with the following parameters to ensure you're not using a unsupported preview version of .NET (example below)
    • The .NET MAUI Community Toolkit does not support preview releases of .NET

global.json

{
  "sdk": {
    "version": "9.0.102", 
    "rollForward": "latestFeature",
    "allowPrerelease": false
  }
}

Full Changelog: 10.0.0...6.0.0-mediaelement

v3.0.1 Maps: Minor bugfix

17 Jan 09:11
f359148
Compare
Choose a tag to compare

What's Changed

Requirements

The following tools are now required for CommunityToolkit.Maui:

  • Download/install .NET SDK v9.0.102
  • Install Xcode 16.1.0 (or higher)
    • Read the latest .NET MAUI Release wiki to always find the latest-supported version) of Xcode for .NET MAUI
    • We HIGHLY recommend using the open-source tool Xcodes to easily manage your installed Xcode versions
  • Update to the latest stable version of Visual Studio (or Jet Brains Rider)
  • After installing the latest stable .NET SDK, update to the latest stable version of the .NET MAUI workload:
    • On macOS, open the Terminal and enter the following command: sudo dotnet workload install maui; sudo dotnet workload update
    • On Windows, open the command prompt (or Powershell) and enter the following command: dotnet workload install maui;dotnet workload update
  • Add a global.json file to your application with the following parameters to ensure you're not using a unsupported preview version of .NET (example below)
    • The .NET MAUI Community Toolkit does not support preview releases of .NET

global.json

{
  "sdk": {
    "version": "9.0.102", 
    "rollForward": "latestFeature",
    "allowPrerelease": false
  }
}

Full Changelog: 10.0.0...3.0.1-maps

v2.0.1 CameraView: Rotated a bug on iOS

17 Jan 09:12
f359148
Compare
Choose a tag to compare

What's Changed

  • Fix bug CameraView on iOS: camera preview is not always rotated correct and photos are rotated by @Forestbrook in #2312

Requirements

The following tools are now required for CommunityToolkit.Maui:

  • Download/install .NET SDK v9.0.102
  • Install Xcode 16.1.0 (or higher)
    • Read the latest .NET MAUI Release wiki to always find the latest-supported version) of Xcode for .NET MAUI
    • We HIGHLY recommend using the open-source tool Xcodes to easily manage your installed Xcode versions
  • Update to the latest stable version of Visual Studio (or Jet Brains Rider)
  • After installing the latest stable .NET SDK, update to the latest stable version of the .NET MAUI workload:
    • On macOS, open the Terminal and enter the following command: sudo dotnet workload install maui; sudo dotnet workload update
    • On Windows, open the command prompt (or Powershell) and enter the following command: dotnet workload install maui;dotnet workload update
  • Add a global.json file to your application with the following parameters to ensure you're not using a unsupported preview version of .NET (example below)
    • The .NET MAUI Community Toolkit does not support preview releases of .NET

global.json

{
  "sdk": {
    "version": "9.0.102", 
    "rollForward": "latestFeature",
    "allowPrerelease": false
  }
}

New Contributors

Full Changelog: 10.0.0...2.0.1-camera

10.0.0: .NET 9 support is here!

18 Dec 08:10
725260b
Compare
Choose a tag to compare

It took some great effort from multiple people, but it's finally here! .NET 9 support for the .NET MAUI Community Toolkit!

Requirements

The following tools are now required for CommunityToolkit.Maui.:

  • Download/install .NET SDK v9.0.101
  • Install Xcode 16.1.0
    • Read the latest .NET MAUI Release wiki to always find the latest-supported version) of Xcode for .NET MAUI
    • We HIGHLY recommend using the open-source tool Xcodes to easily manage your installed Xcode versions
  • Update to the latest stable version of Visual Studio (or Jet Brains Rider)
  • After installing the latest stable .NET SDK, update to the latest stable version of the .NET MAUI workload:
    • On macOS, open the Terminal and enter the following command: sudo dotnet workload install maui
    • On Windows, open the command prompt (or Powershell) and enter the following command: dotnet workload install maui
  • Add a global.json file to your application with the following parameters to ensure you're not using a unsupported preview version of .NET (example below)
    • The .NET MAUI Community Toolkit does not support preview releases of .NET

global.json

{
  "sdk": {
    "version": "9.0.101", 
    "rollForward": "latestFeature",
    "allowPrerelease": false
  }
}

Breaking Changes

Major Breaking Changes

image
  • All CommunityToolkit.Maui.Behaviors no longer automatically assign Behavior.BindingContext for you

  • .NET 8 no longer supported

  • Xcode 16.1 Required

  • Increase minimum supported OS versions of CommunityToolkit.Maui.MediaElement

    • Android 26.0
    • iOS 15.0
    • MacCatalyst 15.0
  • Increase minimum supported versions of CommunityToolkit.Maui.Camera to 15.0:

    • iOS 15.0
    • MacCatalyst 15.0

Minor Breaking Changes

  • Expander is not trim safe
  • ValidationBehaviors are not trim safe
  • CommunityToolkit.Maui.Maps is not trim safe
  • Remove PopupService.ShowPopop(TViewModel)
    • Removes [Obsolete] method
    • Use PopupService.ShowPopup<T>() instead
  • Remove PopupService.ShowPopopAsync(TViewModel, CancellationToken)
    • Removes [Obsolete] method
    • Use PopupService.ShowPopupAsync<T>() instead
  • Remove ability to subclass BaseConverter<TFrom, TTo>
    • Subclassing from BaseConverter<TFrom, TTo> is not supported
    • Support requires documentation and complete unit tests
  • Remove ability to subclass BaseConverter<TFrom, TTo, TParam>
    • Subclassing from BaseConverter<TFrom, TTo, TParam> is not supported
    • Support requires documentation and complete unit tests
  • ValidationFlags.ValidateOnFocusing renamed to ValidationFlags.ValidateOnFocused
  • ValidationFlags.ValidateOnUnfocusing renamed to ValidationFlags.ValidateOnUnfocused
  • In CommunityToolkit.Maui.Camera, add linker.xml for net9.0-android to avoid the Linker removing Xamarin.AndroidX.Camera.Core, Xamarin.AndroidX.Camera.Lifecycle, Xamarin.AndroidX.Camera.Video, Xamarin.AndroidX.Camera.View, and Xamarin.AndroidX.Camera.Camera2
  • public static Task<bool> ShowKeyboardAsync(this ITextInput, CancellationToken) -> public static ValueTask<bool> ShowKeyboardAsync(this ITextInput, CancellationToken)
  • NuGet package will not support Microsoft.Maui.Controls .NET 10 until .NET 10 GA

And who doesn't love some numbers?! 📈

Analyzer Benchmarks

.NET 9.0 Mean Error StdDev Median Gen0 Gen1 Allocated
VerifyNoErrorsWhenUseMauiCommunityToolkit 8.863 ms 0.1748 ms 0.3240 ms 8.724 ms 62.5000 31.2500 1.59 MB
VerifyNoErrorsWhenUseMauiCommunityToolkitHasAdditionalWhitespace 8.695 ms 0.1654 ms 0.4358 ms 8.528 ms 62.5000 31.2500 1.59 MB
VerifyErrorsWhenMissingUseMauiCommunityToolkit 12.071 ms 0.3756 ms 1.0470 ms 11.546 ms 66.6667 - 2.29 MB
.NET 8.0 Mean Error StdDev Median Gen0 Allocated
VerifyNoErrorsWhenUseMauiCommunityToolkitMediaElement 9.763 ms 0.1928 ms 0.4765 ms 9.633 ms 31.2500 1.46 MB
VerifyNoErrorsWhenUseMauiCommunityToolkitMediaElementHasAdditonalWhitespace 9.565 ms 0.1862 ms 0.4637 ms 9.460 ms 31.2500 1.46 MB
VerifyErrorsWhenMissingUseMauiCommunityToolkitMediaElement 15.495 ms 0.3879 ms 1.0814 ms 15.058 ms 66.6667 2.24 MB

ILLinker Failing on iPhone Device (non-simulator) and MacCatalyst Release Builds:

If you run into a build error while building your macOS/Mac Catalyst app, try opting out of the new type registrar. We did that for our sample app for the time being while this bug gets resolved. More information here: https://github.com/xamarin/xamarin-macios/wiki/.NET-9-release-notes#opting-out

  <!-- Fixes Static Registrar causing Linker error: https://github.com/xamarin/xamarin-macios/blob/main/docs/managed-static-registrar.md -->
  <Target Name="SelectStaticRegistrar" AfterTargets="SelectRegistrar">
    <PropertyGroup Condition="'$(Registrar)' == 'managed-static'">
        <Registrar>static</Registrar>
    </PropertyGroup>
  </Target>

What's Changed

New Contributors

Full Changelog: 9.1.1...10.0.0

v5.0.0 MediaElement: .NET 9 support

18 Dec 08:25
725260b
Compare
Choose a tag to compare

Breaking Changes

Major Breaking Changes

  • .NET 8 no longer supported
  • Xcode 16.1 Required
  • Increase minimum supported OS versions of CommunityToolkit.Maui.MediaElement
    • Android 26.0
    • iOS 15.0
    • MacCatalyst 15.0

What's Changed

Full Changelog: 2.0.4-maps...5.0.0-mediaelement

v3.0.0 Maps: .NET 9 support is here!

18 Dec 08:29
725260b
Compare
Choose a tag to compare

Breaking Changes

Major Breaking Changes

  • .NET 8 no longer supported
  • Xcode 16.1 Required

Minor Breaking Changes

  • CommunityToolkit.Maui.Maps is not trim safe

What's Changed

Full Changelog: 2.0.4-maps...3.0.0-maps

v2.0.0 Camera: .NET 9 support is here!

18 Dec 08:30
725260b
Compare
Choose a tag to compare

Breaking Changes

Major Breaking Changes

  • .NET 8 no longer supported

  • Xcode 16.1 Required

  • Increase minimum supported versions of CommunityToolkit.Maui.Camera to 15.0:

    • iOS 15.0
    • MacCatalyst 15.0

Minor Breaking Changes

  • In CommunityToolkit.Maui.Camera, add linker.xml for net9.0-android to avoid the Linker removing Xamarin.AndroidX.Camera.Core, Xamarin.AndroidX.Camera.Lifecycle, Xamarin.AndroidX.Camera.Video, Xamarin.AndroidX.Camera.View, and Xamarin.AndroidX.Camera.Camera2

What's Changed

Full Changelog: 2.0.4-maps...2.0.0-camera

9.1.1: A handful of bugfixes before the new major release

08 Nov 08:52
63c0618
Compare
Choose a tag to compare

.NET 9 is almost upon us, just before the new major release that we will be introduction as part of there, here are a couple of bugfixes that you can use today!

A big thank you to @Bensley96 for the very first contribution to this project 👏

Requirements

The following tools are now required for CommunityToolkit.Maui.:

  • Xcode 16.0.0
    • Read the latest .NET MAUI Release wiki to always find the latest-supported version) of Xcode for .NET MAUI
    • We HIGHLY recommend using the open-source tool Xcodes to easily manage your installed Xcode versions
  • Update to the latest stable version of Visual Studio (or Jet Brains Rider)
  • Download/install .NET SDK v8.0.403
  • After installing the latest stable .NET SDK, update to the latest stable version of the .NET MAUI workload:
    • On macOS, open the Terminal and enter the following command: sudo dotnet workload install maui
    • On Windows, open the command prompt (or Powershell) and enter the following command: dotnet workload install maui
  • Add a global.json file to your application with the following parameters to ensure you're not using a unsupported preview version of .NET (example below)
    • The .NET MAUI Community Toolkit does not support preview releases of .NET

global.json

{
  "sdk": {
    "version": "8.0.403", 
    "rollForward": "latestMajor",
    "allowPrerelease": false
  }
}

What's Changed

🧼 Housekeeping 🧽

  • Bump xunit from 2.9.1 to 2.9.2 in /samples by @dependabot in #2234
  • [Housekeeping] Update NuGet Packages by @brminnick in #2254
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #2285
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #2292
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #2295
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #2318

New Contributors

Full Changelog: 9.1.0...9.1.1

2.0.4 Windows Maps: zooming in on the bugs!

08 Nov 08:32
63c0618
Compare
Choose a tag to compare

Just a small update to make the zoom work when you use MoveToRegion on the Map! Thanks @mikelor!

Requirements

The following tools are now required for CommunityToolkit.Maui.Maps:

  • Xcode 16.0.0
    • Read the latest .NET MAUI Release wiki to always find the latest-supported version) of Xcode for .NET MAUI
    • We HIGHLY recommend using the open-source tool Xcodes to easily manage your installed Xcode versions
  • Update to the latest stable version of Visual Studio (or Jet Brains Rider)
  • Download/install .NET SDK v8.0.403
  • After installing the latest stable .NET SDK, update to the latest stable version of the .NET MAUI workload:
    • On macOS, open the Terminal and enter the following command: sudo dotnet workload install maui
    • On Windows, open the command prompt (or Powershell) and enter the following command: dotnet workload install maui
  • Add a global.json file to your application with the following parameters to ensure you're not using a unsupported preview version of .NET (example below)
    • The .NET MAUI Community Toolkit does not support preview releases of .NET

global.json

{
  "sdk": {
    "version": "8.0.403", 
    "rollForward": "latestMajor",
    "allowPrerelease": false
  }
}

What's Changed

  • Fixes [BUG] Map not responding to span (zoom) requests in Windows #1686 by @mikelor in #2323

Full Changelog: 4.1.2-mediaelement...2.0.4-maps