Skip to content

Releases: CommunityToolkit/Maui

v1.0.2 Camera: Prevent Android Crash on Capture

20 Jun 14:54
742fe87
Compare
Choose a tag to compare

All beginnings are hard... Despite our extensive testing it seems we still had a bug in our Android implementation that would crash your application when you captured an image.

Luckily, our amazing @bijington quickly found out why it happened and fixed it and because it's such a nasty one that will block you... Releasing it right away for you to enjoy! 🚀

What's Changed

  • Remove ArrayPool usage for now to avoid BufferUnderflow by @bijington in #1961

Full Changelog: 1.0.1-camera...1.0.2-camera

v1.0.1 Camera: No More Core Dependency!

18 Jun 08:52
2402be1
Compare
Choose a tag to compare

Whoops! It happens to the best of us...

The Microsoft.Maui.Camera package took a dependency on Microsoft.Maui.Core which wasn't even necessary! So we took care of that to prevent any weird behavior and are quickly pushing out this v1.0.1 so that no one will even ever notice 👀

What's Changed

  • Remove CommunityToolkit.Maui.Core dependency from CommunityToolkit.Maui.Camera by @brminnick in #1941
  • Don't copy Core & main package to artifacts for Camera package build by @jfversluis in #1944

Full Changelog: 1.0.0-camera...1.0.1-camera

v4.0.0 MediaElement: Lock Screen Controls & Metadata Support

17 Jun 12:47
16bc0a7
Compare
Choose a tag to compare

Introducing the next major version of MediaElement version 4.0, all thanks to the amazing @ne0rrmatrix!

In this version you can play media in the background and control that through the OS integrated lock screen controls 🤯 this comes together with properties to influence the metadata that is shown in said lock screen as well.

Go check it out and let us know what you think. To get you started, we have updated our docs for this new amazing functionality.

Additionally we threw in a couple of bugfixes for you to enjoy, see all the details below.

What's Changed

Full Changelog: 3.1.1-mediaelement...4.0.0-mediaelement

v1.0.0 CameraView: Smile for the Camera!

17 Jun 18:57
16bc0a7
Compare
Choose a tag to compare

Get in line to high-five @zhitaop and take a selfie 🤳 with him through the new camera control we now have because of him!

Zhitao almost single-handedly did all the work to port CameraView over from Xamarin to .NET MAUI. In fact, its a great story, because the company where he works is a big fan of the .NET MAUI Community Toolkit (and open-source in general) and this is their way to contribute back by donating time to contribute code that they need themselves.

This release is a separate package from the main Toolkit, just like the Windows Maps and MediaElement. We decided to name the package to just Camera so that we can also add other things to this amazing control. But the control itself will still be named CameraView. If you want to install the NuGet, go look for CommunityToolkit.Maui.Camera.

For v1, we tried to stick with the core functionality first and make that work as stable as possible and from there branch out to all the amazing things we can come up with for a camera.

We think you will love this, please let us know!

If you decide to go try it out, maybe the docs will come in handy as well to get you started. Find those here: https://learn.microsoft.com/dotnet/communitytoolkit/maui/views/camera-view

Again, a big thank you to @zhitaop and his company and others who helped make this possible. A big milestone for our little project!

Added APIs

Have a look at all the APIs we added for this below.

public class CameraView
{
    public static readonly BindableProperty SelectedCameraProperty;
    public static readonly BindableProperty ZoomFactorProperty;
    public static readonly BindableProperty ResolutionProperty;
    public static readonly BindableProperty IsCameraBusyProperty;
    public static readonly BindableProperty IsAvailableProperty;
    public static readonly BindableProperty FlashModeProperty;
    public static readonly BindableProperty IsTorchOnProperty;

    public event EventHandler<MediaCapturedEventArgs> MediaCaptured;
    public event EventHandler<MediaCaptureFailedEventArgs> MediaCaptureFailed;

    public CameraInfo? SelectedCamera { get; set; } // To be discussed: ActiveCamera?
    public float ZoomFactor { get; set; }
    public Size CaptureResolution { get; set; } //  renamed from `Resolution`
    public bool IsCameraBusy { get; set; }
    public bool IsAvailable { get; set; }
    public bool IsTorchOn { get; set; }
    public CameraFlashMode FlashMode { get; set; }

    public void Shutter()
    public void Start()
    public void Stop()
}

public enum CameraFlashMode
{
    Off,
    On,
    Auto
}

public class CameraInfo
{
    public string Name { get; }
    public string DeviceId { get; }
    public CameraPosition Position { get; }
    public bool IsFlashSupported { get; } //To be discussed:  adding a list of capabilities like Auto Focus, etc?
    public float MinimumZoomFactor { get; }
    public float MaximumZoomFactor { get; }
    public IReadOnlyList<Size> SupportedResolutions { get; }
}

public enum CameraPosition
{
    Unknown,
    Rear,
    Front
}

public class CameraProvider
{
    public ObservableCollection<CameraInfo> AvailableCameras { get; }
    public void RefreshAvailableCameras();
}

What's Changed

New Contributors

Full Changelog: 9.0.1...1.0.0-camera

v9.0.1: Bugfixes! That's it, that's the release.

07 Jun 09:34
29be201
Compare
Choose a tag to compare

Just a couple of bugfixes for you to enjoy!

No fancy funny text here this time, sorry. It's Friday for me too you know?!

What's Changed

  • issue-1884-fix-snackbar-anchoring-ios: Attach snackbar to top anchor … by @raginmari in #1896
  • Fixing crash in IconTintColorBehavior by @PaulNiemiec in #1883
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1902
  • Add PresentationStyle by @cat0363 in #1892
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1915

New Contributors

Full Changelog: 9.0.0...9.0.1

v9.0.0: Breaking Bugfixes

03 May 07:38
567eee2
Compare
Choose a tag to compare

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!

Breaking Changes

Replace FrozenSet with IReadOnlyList

By @brminnick in #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

Improve the usage experience with CompareConverter in XAML

By @bijington in #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.

What's Changed

🥱

  • FabricBot: Onboarding to GitOps.ResourceManagement because of FabricBot decommissioning by @dotnet-policy-service in #1675
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1821
  • [Housekeeping] Use Collection Expressions by @brminnick in #1792
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1840
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1843
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1848

New Contributors

Full Changelog: 8.0.1...9.0.0

v3.1.1 MediaElement: 🙅 say no to bugs!

03 May 07:49
567eee2
Compare
Choose a tag to compare

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!

What's Changed

New Contributors

Full Changelog: 8.0.1...3.1.1-mediaelement

v2.0.2 Windows Maps: User Location Fix

03 May 07:43
567eee2
Compare
Choose a tag to compare

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!

What's Changed

  • Fix Windows Map control no longer displays the User's Location Pin after adding a Pin to the Map when IsShowingUser is set to True #1801 by @mikelor in #1817

New Contributors

Full Changelog: 8.0.1...2.0.2-maps

v8.0.1: TouchBehavior (and all Behaviors) Hotfix

04 Apr 14:42
d7a84df
Compare
Choose a tag to compare

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!

What's Changed

  • For All CommunityToolkit.Maui.Behaviors, Ensure BindingContext Is Automatically Set to the Attached View's BindingContext by @brminnick in #1791

Full Changelog: 8.0.0...8.0.1

v8.0.0: Can Touch This! TouchBehavior is Here!

29 Mar 12:22
51dc63a
Compare
Choose a tag to compare

TouchBehavior is here!

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.

Breaking Snackbar on Windows

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.

NavigationBar coloring for Android

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.

Thank you contributors!

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!

Big Ol' List of Changes

Swept Under the Rug 🧹

  • [Sample App] Add Microsoft.Extensions.Http.Resilience by @brminnick in #1643
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1563
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1696
  • Increase Microsoft.Maui.* Dependencies to v8.0.7 by @brminnick in #1699
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1701
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1714
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1754
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1759
  • [housekeeping] Automated PR to fix formatting errors by @github-actions in #1763
  • Also update Maps NuGet version number for PR builds by @jfversluis in #1772
  • Increase to latest MauiPackageVersion, v8.0.14 by @brminnick in #1774
  • [Housekeeping] Update NuGet Packages by @brminnick in #1775

New Contributors

Full Changelog: 7.0.1...8.0.0