Skip to content

Releases: CommunityToolkit/Maui

v1.0.3 Windows Maps: MapClicked now works

03 Jul 19:07
4ab1b51
Compare
Choose a tag to compare

The MapClicked event didn't work for the Windows Maps implementation so we fixed that for you! Also, under the hood, we did some rewiring to make the rest work a little bit more reliably, but you shouldn't even notice.

Happy mapping!

What's Changed

Full Changelog: 1.0.2-maps...1.0.3-maps

v1.0.2 Windows Maps: more bugfixes?!

21 Jun 09:08
fc623ce
Compare
Choose a tag to compare

If we have bugs that we can easily fix why not do that and release them right away? 😬 But we don't want to overload you, so we will stop after this one, for today...

Because of the way we "casted" the coordinates to strings and make them work with the JavaScript for the Bing map we were losing some precision it would seem. Pins would show up in the wrong places. This is fixed now and pins show up where you want them to.

Let us know if you find any more bugs!

What's Changed

Full Changelog: 1.0.1-maps...1.0.2-maps

v1.0.1 Windows Maps: bugfixes already!

21 Jun 07:16
784294d
Compare
Choose a tag to compare

Just a week after v1.0 of the Windows Maps for .NET MAUI, here is v1.0.1!

We found that there were a couple of bugs with placing the pins and triggering the click events etc. so we made sure to fix that! Enjoy!

What's Changed

  • [MAPS] Fix location coordinates and Pin/InfoWindow click by @jfversluis in #1257

Full Changelog: 1.0.0-maps...1.0.1-maps

v1.0 Windows Maps: Introducing the Maps control for Windows

13 Jun 18:32
f25bd00
Compare
Choose a tag to compare

It's finally here! A Maps control for Windows! 🗺️

There is a bit of a backstory, gather around, let me tell you all about it. As you know, .NET MAUI uses whatever the underlaying platform provides. For Maps this means, iOS gets Apple Maps and Android gets Google Maps. Unfortunately, for Windows (or rather Win UI) there is no Maps control, so there is nothing on the underlaying platform.

Typically this would mean that the .NET MAUI team can't/won't implement this feature. However, Maps have been around for Xamarin.Forms and it's also something that still has a big audience for iOS and Android. Therefore, it was still implemented but without Windows support. Although that might seem a bit weird, it also makes sense. The .NET MAUI team isn't in the business of creating and maintaining their own controls, they translate everything from the abstract .NET MAUI layer to the platform layer.

To still provide for a .NET MAUI Map control on Windows, we have now implemented Bing Maps through a WebView. All the functionality from the iOS and Android implementation is on Windows with the .NET MAUI Community Toolkit as well: support for pins, zooming, traffic information, etc.

Big shoutout to @rmarinho for starting this, @jfversluis for doing some work but @VladislavAntonyuk mostly for bringing this over the line and getting the PR merged!

Because this has a dependency on the Microsoft.Maui.Controls.Maps package we're delivering the CommunityToolkit.Maui.Maps package as a separate NuGet as well so not everyone will be forced to take on that dependency.

The documentation is already available on the .NET MAUI side: https://learn.microsoft.com/dotnet/maui/user-interface/controls/map

Enjoy this control and let us know how it goes for you!

Note: currently there is a known bug with this v1.0 version on the Map control if being used with .NET 8 Preview 5 and below. This should be fixed in an upcoming .NET 8 version. For now, use this with the stable version of .NET MAUI.

What's Changed

  • [Maps] Add Windows map handler based on Webview by @rmarinho in #604

New Contributors

Full Changelog: 2.0.0-mediaelement...1.0.0-maps

v5.2.0: SpeechToText, IconTintColor for Windows & Mac & less bugs!

26 May 07:44
041dcd9
Compare
Choose a tag to compare

The Community Toolkit Friday release team is at it again! In this release we're adding some more amazing things for you so you can love the .NET MAUI Community Toolkit even harder 💘

SpeechToText

Our amazing core maintainer @VladislavAntonyuk has been hard at work to add speech-to-text to this library. When you feel a bit lonely you can now talk to your .NET MAUI apps and they will echo back what you said but now in text. All kidding aside, this has a lot of power and we can't wait to see what you will build with it.

The documentation, not written with the help of speech-to-text, can be found here.

IconTintColorBehavior

Not entirely new, but now also available for Windows and macOS thanks to @kperdlich! This behavior allows you to give any given image a tint, or a color overlay if you will. This was already available for iOS and Android, now also for Windows and macOS. We have the docs on how to use it available for you right here.

Popup NRE on Windows & FileSaver/FolderPicker modal bugs

These two notable bugs have been fixed thanks to @softlion and @brminnick. The Popup on Windows might throw an exception in certain scenarios when it was closing and cleaning up, we made sure that won't happen again.

And the FileSaver & FolderPicker would cause trouble if you opened them from a modal page, obviously you also want to save files and pick folders from a modal page, so now you can!

If you need to refresh your mind about how these APIs work again, have a look at our docs for Popup & FileSaver/FolderPicker

All the details

Housekeeping, no one cares but us

  • Bump FluentAssertions from 6.10.0 to 6.11.0 in /samples by @dependabot in #1153
  • Bump CommunityToolkit.Mvvm from 8.1.0 to 8.2.0 in /samples by @dependabot in #1161
  • Update CommunityToolkit.Maui.Core.csproj by @brminnick in #1175
  • Bump Microsoft.NET.Test.Sdk from 17.5.0 to 17.6.0 in /samples by @dependabot in #1187
  • Bump Microsoft.CodeAnalysis.CSharp.Workspaces from 4.5.0 to 4.6.0 in /samples by @dependabot in #1188
  • Bump Microsoft.CodeAnalysis from 4.5.0 to 4.6.0 in /samples by @dependabot in #1190
  • Bump NuGet.Protocol from 6.5.0 to 6.6.0 in /samples by @dependabot in #1192
  • Bump coverlet.collector from 3.2.0 to 6.0.0 in /samples by @dependabot in #1198

New Contributors

Full Changelog: 5.1.0...5.2.0

v2.0 MediaElement: Breaking change to Seek for Windows

26 May 08:31
041dcd9
Compare
Choose a tag to compare

A big bump in version, but actually a small change. Why? Because this is a breaking change and we don't want to surprise you with a nasty surprise, especially since this is released on a Friday.

When using Seek on Windows it might not do anything or cause an exception because it might not be executed on the main thread. We've fixed that for you now!

What's Changed

  • 💥 Breaking Change: Perform MediaElement Seek on main thread for WinUI by @jfversluis in #1015

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