Skip to content

Releases: CommunityToolkit/Maui

v5.1.0: LazyView, Keyboard Extensions & Bugfixes!

14 Apr 09:04
8a5d550
Compare
Choose a tag to compare

Happy Friday! Almost weekend, but before you go... Here is the latest release of the .NET MAUI Community Toolkit, our best release yet!

LazyView

A good developer is a lazy developer? If that's true for you, then we have just the control for that!

You might already know and love the LazyView from the Xamarin Community Toolkit. With the LazyView control you can delay the initialization of any given View in .NET MAUI. You can read all about what it is, and more importantly, how to use it in our docs!

All this amazing work is done by our very own @kphillpotts, thanks mate!

Keyboard Extensions

OK, sit down, this is an important one although you might not realize it. There is a lot to do about the keyboard behavior in .NET MAUI.

With these keyboard extensions, now available in .NET MAUI Community Toolkit, you will have more control over how the (soft)keyboard behaves. You can easily check if the keyboard is currently shown, hide it or show it as you please in your .NET MAUI app.

A-MA-ZING, right?! This should send you off into the weekend with a great feeling. Oh, you wonder how to work with it? Say no more, we got the docs right here.

Thank you for your great work on this @PureWeen! Here is your virtual margarita 🍸

All the details

We got a lot of bugfixes and other small changes included in this version as well. Check them out below and let us know your favorite one!

Who am I kidding... No one has a favorite bugfix.

Housekeeping, no one cares but us

  • Bump CommunityToolkit.Maui.Markup from 3.0.0 to 3.1.0 in /samples by @dependabot in #1051
  • [Housekeeping] Increase Toolkit .NET Version to v7.0.200 by @brminnick in #1070
  • Bump Newtonsoft.Json from 13.0.2 to 13.0.3 in /samples by @dependabot in #1076
  • [Housekeeping] Enable AccelerateBuildsInVisualStudio by @brminnick in #1079
  • [Housekeeping] Fix Directory.Build.targets for macOS by @brminnick in #1081
  • Bump Microsoft.Extensions.Http.Polly from 7.0.3 to 7.0.4 in /samples by @dependabot in #1096
  • Bump Microsoft.Extensions.Http.Polly from 7.0.4 to 7.0.5 in /samples by @dependabot in #1137

New Contributors

Full Changelog: 5.0.0...5.1.0

v5.0.0: SemanticOrderView, FileSaver, FolderPicker and StateContainer love!

01 Mar 08:12
Compare
Choose a tag to compare

Hello again! 👋 It's the .NET MAUI Community Toolkit team with another wonderful release!

SemanticOrderView

In this release we'd love to (re)introduce to you the SemanticOrderView. The SemanticOrderView provides the ability to control the order of VisualElements for screen readers and improve the accessibility of an application. Phew, now that sounds important, so go check it out in our docs and start implementing it!

FileSaver & FolderPicker

Actually this is more about the FileSaverResult and FolderPickerResult. Before, you would get an exception thrown your way when the user cancelled the file save/folder pick action. Now, we've introduced these two objects that will give you a bit more information and control! As a bonus, we fixed the selection of the initial folder on Android.

The docs have also been updated so you can see how to work with this amazing new stuff!

StateContainer

First, we fixed a nasty bug in StateContainer so it will crash less, that's always good news.

Second, we introduced StateContainer.ChangeStateWithAnimation() which allows you to customize the behavior or animations whenever the state changes. And who doesn't love some great animations? I know you do!

Did we mention the docs got updates? Well, we made no exception for StateContainer check it out here.

Highlights

But there is much more to unpack here, we just won't spell everything out because who reads docs anyway? 🤷‍♂️

Here is the management summary for this release, watch out for those breaking changes:

  • 💥 Breaking Change: The minimum dependency of .NET MAUI has increased to .NET MAUI v7.0.59; ie .NET MAUI Community Toolkit now requires .NET MAUI v7.0.59 or higher
  • 💥 Breaking Change: StateContainer.ShouldAnimateOnStateChange Property replaced with StateContainer.ChangeStateWithAnimation() method
  • 💥 Breaking Change: IFileSaver.SaveAsync() now returns FileSaverResult (previously returned string)
  • 💥 Breaking Change: IFolderPicker.PickAsync() now returns FolderPickerResult (previously returned string)
  • SemanticOrderView has been ported from XCT to MCT
  • Expander now supports CollectionView
  • DrawingView.GetImageStream() now properly sizes the image
  • Snackbar.ActionButtonFont now allows supports custom Fonts like Font Awesome
  • EmailValidationBehavior now supports email addresses using Domain Names, IPv4 and IPv6
  • EmailValidationBehavior performance optimized by using GeneratedRegex

All the details

New Contributors

Full Changelog: 4.0.0...5.0.0

If you made it until here, please tweet at me to get a virtual donut 🍩

v1.0.2 MediaElement: Adding `ShouldMute` and bugfixes!

20 Feb 11:51
e6f5eb9
Compare
Choose a tag to compare

This release adds the mute functionality to the MediaElement, but maybe even more important: there are some good bugfixes in here!

We're getting the first real-life feedback from you, thank you for that! And that also means you are using the MediaElement in ways that we could not foresee. That meant, there were a couple of crashes when using MediaElement on iOS in different page types and with or without .NET MAUI Shell. And there was a crash when you would clean up the MediaElement on Windows. Additionally, setting ShouldAutoPlay to false on iOS did not always have effect, that should be better now too.

We fixed the ones we knew about right now, so it should be much more stable! If you still run into anything, of course please let us know!

What's Changed

  • [iOS] ShouldAutoPlay=false should not auto play by @jfversluis in #954
  • Update ExoPlayer binding dependencies by @jfversluis in #973
  • Relax ViewController detection for iOS MediaElement to enable non-Shell usage by @jfversluis in #999
  • Fix disposal of MediaElement for Windows by @jfversluis in #1002
  • Bump Xam.Plugins.Android.ExoPlayer from 2.18.9 to 2.18.10 in /samples by @dependabot in #1005
  • Bump Xam.Plugins.Android.ExoPlayer.Transformer from 2.18.9 to 2.18.10 in /samples by @dependabot in #1006
  • Provide parent view controller to MediaElement iOS by @jfversluis in #1008
  • Implement Mediaelement ShouldMute by @jfversluis in #953

Full Changelog: 1.0.1-mediaelement...1.0.2-mediaelement

v1.0.1 MediaElement: No more WindowsAppSDK issues and minor bugfixes

27 Jan 08:21
eb034d4
Compare
Choose a tag to compare

This version has a couple of small fixes. The main one being that we removed the explicit WindowsAppSDK dependency. This would cause issues when installing on your .NET MAUI app and you'd have to manually add that explicit reference as well which was not a great experience.

If you did add that explicit reference in your .NET MAUI app csproj, you can remove it after installing this version. For more details see the linked pull request below.

What's Changed

Full Changelog: 1.0.0-mediaelement...1.1.0-mediaelement

v4.0.0: Lots of new goodies!

23 Jan 16:07
17c8843
Compare
Choose a tag to compare

New Features

Introducing two new services, IFileSaver.SaveAsync() and IFolderPicker.PickAsync()!

Read more in the documentation here: https://learn.microsoft.com/dotnet/communitytoolkit/maui/essentials/

Breaking Change

ToastNotificationExtensions.BuildToastNotificationContent() was removed when migrating ToastNotificationManager to AppNotificationManager: https://github.com/CommunityToolkit/Maui/pull/900/files#diff-9af18ed6af5f7deac7b241d2224fa643a67671f280faf56450e1f716bd345fbb

What's Changed

New Contributors

Full Changelog: 3.1.0...4.0.0

v1.0.0: Welcome MediaElement!

23 Jan 15:04
17c8843
Compare
Choose a tag to compare

This is the very first release of the .NET MAUI Community Toolkit MediaElement 🎉

Docs with all the features can be found here: https://learn.microsoft.com/dotnet/communitytoolkit/maui/views/mediaelement

v3.1.0: No more slow IntelliSense!

09 Dec 08:12
06c2b7c
Compare
Choose a tag to compare

Whoops! Look like our smart little source generators were causing slow IntelliSense in your .NET MAUI apps. We've fixed that and also added some other improvements to this new and shiny v3.1.0 release. And yes, we're again releasing this on a Friday 😌

What's Changed

  • Use [GeneratedRegex] by @brminnick in #763
  • [BUG] DrawingView GetImageStream cuts off lines on edge of image #773 by @VladislavAntonyuk in #788
  • fix: Removed wrong attributes on ExpanderPage. by @HavenDV in #790
  • Include link and brief description to the projects board in the readme by @bijington in #731
  • IsInRangeConverter by @GeorgeLeithead in #582
  • Update ToastDuration options documentation with actual duration by @jfversluis in #793
  • Make TextColorTo Generated Classes for .NET MAUI Controls Internal by @brminnick in #791
  • Fix the Incremental behavior of our Source Generator by @pictos in #815
  • Bumped a bunch of dependencies

New Contributors

Full Changelog: 3.0.0...3.1.0

v3.0.0: .NET MAUI Community Toolkit built against .NET 7

09 Nov 10:42
5520122
Compare
Choose a tag to compare

And just like that, within 24 hours of the .NET 7 release, the .NET MAUI Community Toolkit has a release built against .NET 7! Same day support!

Just to give you the full context, we have releases a couple of versions after on another, a quick overview.

  1. Version 1.4.0: adds Expander, DockLayout & StateContainer (and of course a lot of bugfixes!) - full release notes
  2. Version 2.0.0: adds full Tizen support for all of out features, including the changes from v1.4.0 about - full release notes
  3. Version 3.0.0: everything from v1.4.0 and v2.0.0 but now built against .NET 7!

With this strategy we aim to empower as many people as possible: everyone on .NET 6 can get all the features we've merged so far, including Tizen support if that's what you need.

From here on out it will be .NET 7 only and expect amazing new features! Or, of course, contribute yourself 😉

As always, thank you everyone for making this possible, thank you community for working with us and using our stuff! <3

What's Changed

  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #743
  • Bump CommunityToolkit.Maui.Markup from 1.2.0 to 1.2.1 in /samples by @dependabot in #744
  • Prepare to .NET 7 release by @VladislavAntonyuk in #681

Full Changelog: 2.0.0...3.0.0

v2.0.0 Tizen Support!

08 Nov 23:26
e80192b
Compare
Choose a tag to compare

This release adds Tizen Support to the .NET MAUI Community Toolkit!

Huge thanks to @myroot, from the Samsung .NET Tizen team, for submitting the Tizen PR!

We are also honored to have @JoonghyunCho, also from the Samsung .NET Tizen team, joining us as a core maintainer on the .NET MAUI Community Toolkit team! You can learn more about Tizen + .NET MAUI and meet @JoonghyunCho in our November 2022 Community Toolkit Standup!

Breaking Change

👀 You may have noticed we increased the Major Version to v2.0.0 👀

To support Tizen, we increased our minimum .NET dependency from v6.0.300 to v6.0.400, because Tizen was not added to .NET MAUI until v6.0.400.

What's Changed

New Contributors

Full Changelog: 1.4.0...2.0.0

v1.4.0: Expander, DockLayout & StateContainer

08 Nov 22:06
1ea488c
Compare
Choose a tag to compare

This is getting old but... This is the best release EVER! I know, that's what I always say, and it's true every time!

Just look at the list of changes that went in 👇 those are a lot of bugfixes. But not just bugfixes...

Welcome back to three old friends from the Xamarin Community Toolkit, now available for .NET MAUI: Expander, DockLayout and StateContainer. Two of these are actually done by our amazing community members. Big shoutout to @nicjay and @profix898.

And of course, our rockstar core team member @VladislavAntonyuk for making the Expander happen.

Note Expander is not currently supported inside of CollectionView or ListView: #742

Go try it out, and let us know what you think!

Just FYI... This is the second to last release that will support .NET 6. The next release, 2.0, will add Tizen support for all of the goodness in .NET MAUI Community Toolkit and then version 3 will bring .NET 7 support and even more features. Those releases will follow each other pretty quickly, so hang on to your hats!

What's Changed

  • Bump CommunityToolkit.Maui.Markup from 1.0.1 to 1.1.1 in /samples by @dependabot in #640
  • Pj/status bar hot fix by @pictos in #638
  • [BUG] GetImageStream wrong when lines populated from code #649 by @VladislavAntonyuk in #653
  • Moved SemanticProperites.Description setting out of ImageSource by @kphillpotts in #656
  • Bump Microsoft.NET.Test.Sdk from 17.3.1 to 17.3.2 in /samples by @dependabot in #657
  • Fixed light dismiss on android by @pictos in #661
  • Swap to using IValueConverter for the EventToCommandBehavior by @bijington in #665
  • Bump Microsoft.CodeAnalysis.CSharp.Workspaces from 4.3.0 to 4.3.1 in /samples by @dependabot in #670
  • Bump Microsoft.CodeAnalysis from 4.3.0 to 4.3.1 in /samples by @dependabot in #671
  • Remove obsolete APIs, Implement IDisposable by @VladislavAntonyuk in #659
  • Fix Calculation of Snackbar Parent View by @VladislavAntonyuk in #666
  • Removed the MauiContext from ToPlatform call by @pictos in #683
  • Bump Microsoft.Extensions.DependencyInjection from 6.0.0 to 6.0.1 in /samples by @dependabot in #686
  • Bump Microsoft.Extensions.Http.Polly from 6.0.9 to 6.0.10 in /samples by @dependabot in #687
  • FIX: AvatarView clipping on Android isn't applied correctly by @GeorgeLeithead in #668
  • Make sure Popup will set the Window at the Content by @pictos in #674
  • Update pipeline by @VladislavAntonyuk in #701
  • [ANDROID] Implement the new API to change the StatusBar style by @maxkoshevoi in #694
  • Bump FluentAssertions from 6.7.0 to 6.8.0 in /samples by @dependabot in #710
  • Bump coverlet.collector from 3.1.2 to 3.2.0 in /samples by @dependabot in #718
  • For Source Generators, Ensure GetGenericTypeConstraintsAsString Includes Namespace for Type by @brminnick in #720
  • StateContainer by @nicjay in #673
  • Bump CommunityToolkit.Maui.Markup from 1.1.1 to 1.2.0 in /samples by @dependabot in #730
  • Bump Microsoft.Extensions.DependencyInjection from 6.0.1 to 7.0.0 in /samples by @dependabot in #738
  • Bump Microsoft.Extensions.Http.Polly from 6.0.10 to 7.0.0 in /samples by @dependabot in #739
  • Bump Microsoft.NET.Test.Sdk from 17.3.2 to 17.4.0 in /samples by @dependabot in #740
  • Bump Microsoft.Extensions.Configuration.Abstractions from 6.0.0 to 7.0.0 in /samples by @dependabot in #741
  • Add DockLayout (docks views to the edges of the layout container) by @profix898 in #635
  • Expander by @VladislavAntonyuk in #478

New Contributors

Full Changelog: 1.3.0...1.4.0