The .NET MAUI Community Toolkit is a community-created library that contains .NET MAUI Extensions, Advanced UI/UX Controls, and Behaviors to help make your life as a .NET MAUI developer easier
Our beloved MediaElement is getting some attention lately, so here is a new bugfix release with some improvements โจ
Thank you @tsanie for your contribution to this project!
Full Changelog: https://github.com/CommunityToolkit/Maui/compare/8.0.1...3.1.1-mediaelement
Just the one fix by our amazing community member @mikelor (thank you!) that fixes a bug for showing the users location. But we didn't want to keep this from you, so here is a release just to get this bug out of your way!
Full Changelog: https://github.com/CommunityToolkit/Maui/compare/8.0.1...2.0.2-maps
Version 9! That must mean amazing new goodies! ๐ฑ
Unfortunately, no. Although every release of the Toolkit is a party of its own, for this release there are a couple of bugfixes that required breaking changes and therefore we bumped the version up to 9.
However, is XAML and converters are your jam, then be sure to check out the improvements in usage with CompareConverter
. @bijington has done some great work with that and you can find the documentation for that right here.
Find all the details below, if you have any questions or concerns, please let us know!
You might also like the .NET MAUI Community Toolkit standup live stream recording for May. Join us live and come hang out every first Thursday of every month on the .NET Foundation YouTube channel!
As always, many thanks to our contributors for this version, especially the community ones ๐ you are our heroes!
FrozenSet
with IReadOnlyList
By @brminnick in https://github.com/CommunityToolkit/Maui/pull/1839
This was breaking because it changed the signature of some public APIs:
AlertView.macios.cs
changed the Children
property from:
public FrozenSet<UIView> Children
to
public IReadOnlyList<UIView> Children
By @bijington in https://github.com/CommunityToolkit/Maui/pull/1841
This change is breaking because CompareConverter
now takes 2 type arguments.
It went from
public abstract class CompareConverter<TReturnObject> : BaseConverterOneWay<IComparable, object>
to
public abstract class CompareConverter<TValue, TReturnObject> : BaseConverterOneWay<TValue, object> where TValue : IComparable
NOTE this is only breaking if you inherited from CompareConverter
.
Full Changelog: https://github.com/CommunityToolkit/Maui/compare/8.0.1...9.0.0
By implementing TouchBehavior
we found out that the databinding for it was a bit odd and went to investigate why.
The good news is: we found it! ๐
The bad news is: it applied to all of our behaviors ๐
We quickly fixed it and rolling it out as a minor release. Technically it's a breaking change, but we expect not many people to be impacted by that. If we thought wrong: our sincere apologies.
Check the PR below for all the details, TL;DR is data binding for behaviors is now a lot easier!
CommunityToolkit.Maui.Behavior
s, Ensure BindingContext
Is Automatically Set to the Attached View's BindingContext
by @brminnick in https://github.com/CommunityToolkit/Maui/pull/1791
Full Changelog: https://github.com/CommunityToolkit/Maui/compare/8.0.0...8.0.1
The release a lot of people have been waiting for is here. Version 8.0 of the .NET MAUI Community Toolkit introduces the ever popular TouchBehavior
! You might know TouchBehavior
as TouchEffect
in the Xamarin world, but since Effects no longer exist, it has now been turned into a Behavior.
Due to the amazing work of @Axemasta this functionality is now ported from the Xamarin Community Toolkit to .NET MAUI. Of course, @bijington was on the case with the documentation, so we have that in place for you as well.
Otherwise, there is A LOT going on in this release, just look at the list below. There is however one thing we do want to highlight: the breaking changes for Snackbar
.
Based on your feedback @VladislavAntonyuk did a complete rewrite of the Snackbar
on Windows, ultimately of course to make things better, but it requires some changes on your side if you are working with Snackbar
on Windows today. On other platforms it should work unchanged.
Find all the details in our updated documentation for this.
Another functionality that was ported over from the Xamarin Community Toolkit is the NavigationBar coloring. This is very specific to Android and allows you to change the color of the systems navigation bar (the bottom one with the back button, home button, etc.)
@pictos did a great job on this one figuring out how to fit this into our toolkit ๐
Find all the docs on how to start using it, right here.
Of course we couldn't have done this without our amazing community and team, a major feature like TouchBehavior
being implemented by someone from the community is what this project is all about. Truly amazing.
Special shoutout to our first-time contributors: @Marioo1357, @eduardoagr, @StevilKnevil, @Cybrosys, @marco-skizza and @Axemasta but of course a BIG THANK YOU to all of you!
Microsoft.Maui.*
Dependencies to v8.0.7 by @brminnick in https://github.com/CommunityToolkit/Maui/pull/1699
Full Changelog: https://github.com/CommunityToolkit/Maui/compare/7.0.1...8.0.0
This release fixes a crash that was introduced when updating .NET MAUI to version 8.0.10.
As part of this change in .NET MAUI, the initialisation call for the .NET MAUI Community Toolkit Maps would also crash because the Toolkit was call the .NET MAUI UseMauiMaps call as part of the initialisation.
This call was not needed, but until now did not cause any problems. We removed the call and thus fixed the crash.
More information can be found here: https://github.com/dotnet/maui/issues/21360
To correctly initialise the .NET MAUI Maps as well as the Toolkit Maps you MauiProgram should look something like this:
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
#if IOS || ANDROID
builder.UseMauiMaps();
#endif
#if WINDOWS
// Initialize the .NET MAUI Community Toolkit Maps by adding the below line of code
builder.UseMauiCommunityToolkitMaps("key")
#endif
return builder.Build();
Years in the making but here it is! Fullscreen support for our MediaElement ๐คฏ A big shoutout to @ne0rrmatrix and @vhugogarcia but also @pictos @bijington and @brminnick for all their work, reviews and probably some blood, sweat, tears, the occasional fights with partners, sacrifices to the binary father and who knows what else.
Also as part of the fullscreen change you should now be able to use MediaElement when using Shell, not using Shell, inside of a CollectionView, etc. Also something many people have been waiting for.
Please note that we did update the MediaElement docs with a note about using fullscreen on Android, so be sure to read that.
Go grab this release and try it out in your apps!
Full Changelog: https://github.com/CommunityToolkit/Maui/compare/3.0.1-mediaelement...3.1.0-mediaelement
Some small bugfixes, but not less important, thanks for the amazing @ne0rrmatrix. Thank you!
Full Changelog: https://github.com/CommunityToolkit/Maui/compare/2.0.0-maps...3.0.1-mediaelement
Happy holidays for those of you who celebrate! In the meanwhile, we're not clowning around and present to you the last release of 2023.
This version has a good number of bugfixes and improvements, but nothing too crazy so that it might blow up your project before you go on a holiday break. As always a big thank you to anyone and everyone not only using our product but also caring, engaging and even contributing. We appreciate it!
Let's make 2024 even better ๐
UNUserNotificationCenter
โฆ by @VladislavAntonyuk in https://github.com/CommunityToolkit/Maui/pull/1531
So many new contributors this release, thank you so much @IIARROWS, @TRybina132, @ne0rrmatrix and our very own Tizen superhero @JoonghyunCho. We appreciate all the time that you are spending on this project and making it better.
Full Changelog: https://github.com/CommunityToolkit/Maui/compare/7.0.0...7.0.1
Full Changelog: https://github.com/CommunityToolkit/Maui/compare/6.1.0...2.0.0-maps