Releases: CommunityToolkit/Maui
v8.0.0: Can Touch This! TouchBehavior is Here!
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
- Android File Saver - remove MemoryStream by @VladislavAntonyuk in #1637
- Avatar sample updated to include badges by @vhugogarcia in #1636
- 🔥 FIX - fix unit tests by @pictos in #1694
- Memory leak on TintedImageBehavior fix by @Marioo1357 in #1625
- [First - PlatformSpecific] NavigationBar for Android by @pictos in #1678
- Add missing Handler disconnect on Unloaded event by @ne0rrmatrix in #1691
- Fix IOS bug in media Element when using Popup by @ne0rrmatrix in #1597
- Modify ColorConverters to support two-way bindings by @eduardoagr in #1544
- Fixed issue with tinted image size being set incorrectly on Windows. by @StevilKnevil in #1685
- Fix Hot Reload with Popup by @BretJohnson in #1635
- Remove Bindings on Popup Close by @cat0363 in #1614
- Windows Snackbar rewrite by @VladislavAntonyuk in #1658
- Updated StatusBarBehavior to support defining which lifecycle event to use in applying the changes by @Cybrosys in #1471
- Remove the old code to set the status bar behavior values by @bijington in #1713
- Close Stream #1588 by @VladislavAntonyuk in #1751
- SpeechRecognition Add more categories for AudioSession #1645 by @VladislavAntonyuk in #1741
- FileSaver Progress by @VladislavAntonyuk in #1740
- Remove popup shadow on iOS 17 by @cat0363 in #1615
- Change to display Popup on Active Window page on Windows by @cat0363 in #1617
- Add popup size update on iOS by @cat0363 in #1653
- Fix an issue with Popup size and position on Android by @cat0363 in #1683
- Add popup sizing page to cover more test scenarios by @bijington in #1770
- Fix IOS crash when entering Full Screen by @ne0rrmatrix in #1755
- Add TouchBehavior by @Axemasta in #1673
- Add Platform-Specific Option to Enable Snackbar on Windows by @brminnick in #1780
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
- @Marioo1357 made their first contribution in #1625
- @eduardoagr made their first contribution in #1544
- @StevilKnevil made their first contribution in #1685
- @Cybrosys made their first contribution in #1471
- @marco-skizza made their first contribution in #1736
- @Axemasta made their first contribution in #1673
Full Changelog: 7.0.1...8.0.0
v2.0.1 Windows Maps: bugfix for crash!
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: dotnet/maui#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();
v3.1.0 MediaElement: fullscreen support is finally here!
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!
What's Changed
- Fix IOS bug in media Element when using Popup by @ne0rrmatrix in #1597
- Media Element Full Screen Support for Android and Windows by @vhugogarcia in #1692
- Fixes #1702: Fixed Memory Leak in MediaElement by @marco-skizza in #1736
Full Changelog: 3.0.1-mediaelement...3.1.0-mediaelement
7.0.1: Last Update of 2023!
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 🚀
What's Changed
- Add support for setting badge count using
UNUserNotificationCenter
… by @VladislavAntonyuk in #1531 - Use fully qualified namespace for Colors reference in TextToColorGenerator by @IIARROWS in #1536
- Remove SkiaSharp.Views Dependency by @JoonghyunCho in #1547
- Fix IOS/MacOS AvataView background color with image bug by @TRybina132 in #1539
- [BUG] [Windows] UniformItemsLayout item positioning not correct #1553 by @VladislavAntonyuk in #1566
- Add sample to trigger an animation using the AnimateCommand by @bijington in #1577
- Removes the transparent color set on Android when null by @vhugogarcia in #1584
We couldn't make this project work without these dependencies 🫶
- Bump CommunityToolkit.Maui.Markup from 3.3.1 to 4.0.0 in /samples by @dependabot in #1528
- Bump xunit.runner.visualstudio from 2.5.3 to 2.5.4 in /samples by @dependabot in #1540
- Bump xunit from 2.6.1 to 2.6.2 in /samples by @dependabot in #1542
- Bump Microsoft.CodeAnalysis from 4.7.0 to 4.8.0 in /samples by @dependabot in #1551
- Bump Microsoft.CodeAnalysis.CSharp.Workspaces from 4.7.0 to 4.8.0 in /samples by @dependabot in #1550
- Bump Microsoft.CodeAnalysis.CSharp from 4.4.0 to 4.8.0 in /samples by @dependabot in #1552
- Bump Microsoft.CodeAnalysis.CSharp from 4.4.0 to 4.8.0 in /samples by @dependabot in #1559
New Contributors
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.
- @IIARROWS made their first contribution in #1536
- @JoonghyunCho made their first contribution in #1547
- @TRybina132 made their first contribution in #1539
- @ne0rrmatrix made their first contribution in #1537
Full Changelog: 7.0.0...7.0.1
v3.0.1 MediaElement: Bugfixes!
Some small bugfixes, but not less important, thanks for the amazing @ne0rrmatrix. Thank you!
What's Changed
- Fix Media Element Position Bug for Android and IOS by @ne0rrmatrix in #1555
- Fix Media Element crash in IOS with Sample app by @ne0rrmatrix in #1568
- Fix for MediaElement Android Resource file not found by @ne0rrmatrix in #1537
- Change HLS URL by @ne0rrmatrix in #1571
- Fix HLS CTD on Windows by @ne0rrmatrix in #1543
New Contributors
- @ne0rrmatrix made their first contribution in #1537
Full Changelog: 2.0.0-maps...3.0.1-mediaelement
v7.0.0: .NET 8 is here!
What's Changed
- Fix a bug when specifying an Popup's Anchor on Windows by @cat0363 in #1494
- Bump xunit from 2.6.0 to 2.6.1 in /samples by @dependabot in #1493
- .NET 8 by @VladislavAntonyuk in #1367
- Bump MauiPackageVersion from 8.0.0-rc.2.9511 to 8.0.0-rc.2.9530 in /samples by @dependabot in #1501
- Change in the method of obtaining the height of StatusBar for API Level 29 and below on Android by @cat0363 in #1500
- Bump Microsoft.NET.Test.Sdk from 17.7.2 to 17.8.0 in /samples by @dependabot in #1506
- Fix
Popup.RemapForControls()
by @brminnick in #1510 - Add
CancellationToken
Parameter to Methods ReturningTask
andValueTask
by @brminnick in #1503 - [macOS, iOS] Refine Popup Disappearing Animation by @brminnick in #1514
- [SelectAllTextBehavior] Fix Android Bug, Reduce iOS Memory Allocations by @brminnick in #1512
- [iOS, macOS] Fix AvAudioSession Defaults by @brminnick in #1513
- Bump CommunityToolkit.Maui.Markup from 3.3.0 to 3.3.1 in /samples by @dependabot in #1517
- Update to .NET 8.0 GA by @brminnick in #1499
- Bump Microsoft.Extensions.Logging.Debug from 8.0.0-rc.2.23479.6 to 8.0.0 in /samples by @dependabot in #1518
- Bump Microsoft.Extensions.Http.Polly from 8.0.0-rc.2.23480.2 to 8.0.0 in /samples by @dependabot in #1519
Full Changelog: 6.1.0...7.0.0
v3.0.0 MediaElement: .NET 8 is here!
What's Changed
- .NET 8 by @VladislavAntonyuk in #1367
- [iOS, macOS] Fix AvAudioSession Defaults by @brminnick in #1513
- Update to .NET 8.0 GA by @brminnick in #1499
Full Changelog: 6.1.0...3.0.0-mediaelement
v2.0.0 Windows Maps: .NET 8 is here!
What's Changed
- .NET 8 by @VladislavAntonyuk in #1367
- Update to .NET 8.0 GA by @brminnick in #1499
Full Changelog: 6.1.0...2.0.0-maps
v6.1.0: A New Release Popped Up!
My goodness do we love our community. And in this case especially @cat0363 who goes by the name of Kenji in real-life.
If you look through the release notes below, you'll notice that Kenji has been doing a lot of work for us and all that work went into the Popup. From this place: thank you so much for spending your valuable time on our project and making it better for everyone 🙏
So in this release: a lot of love for the Popup: better sizing, adding the ability to use resources and styles, flow direction is now working... And much more!
PopupService
Still on Popups, we have made it easier for you to work with popups from your view models. In v6.1.0 we have added the PopupService
. No weird messaging or dependencies in your code that shouldn't be there, just a clean service that will allow you to show popups respecting MVVM.
All the details can be found in the documentation.
DrawingView
But we didn't stop there! As always @VladislavAntonyuk has been doing wonderful work. With this release we introduce a bunch of Commands that allow you to capture the start, cancel and drawing in progress events in a pure MVVM way.
The documentation for DrawingView
has been updated accordingly, so go check it out.
All the details
- Fix Popup size on Android and iOS by @cat0363 in #1361
- Add Resources and Style to Popup by @cat0363 in #1351
- Add forced update of ScrollView on iOS by @cat0363 in #1442
- Remove restriction for displaying Popup on iOS by @cat0363 in #1369
- Add consideration of FlowDirection by @cat0363 in #1434
- Addition of size calculation for Label placed in Popup and correction of size calculation when Popup Size is not specified by @cat0363 in #1456
- Remove popup corner rounding and shadow on iOS by @cat0363 in #1463
- Add
[GeneratedCode]
and[ExcludeFromCodeCoverage]
Attributes to SourceGenerators by @brminnick in #1468 - Fixes Speech recognizer locale was not ignored on Android #1436 by @VladislavAntonyuk in #1481
- Add drawing started, cancelled, and on-drawing commands by @VladislavAntonyuk in #1440
- PopupService by @bijington in #1165
- Add consideration of Loaded event to Popup Show method on Windows by @cat0363 in #1470
- Change the display method of Popup Overlay on Windows by @cat0363 in #1485
Housekeeping, important but not super interesting
- Bump CommunityToolkit.Maui.Markup from 3.2.0 to 3.3.0 in /samples by @dependabot in #1438
- Bump Microsoft.Extensions.Http.Polly from 7.0.11 to 7.0.12 in /samples by @dependabot in #1449
- Bump xunit from 2.5.1 to 2.5.2 in /samples by @dependabot in #1455
- Bump xunit.runner.visualstudio from 2.5.1 to 2.5.3 in /samples by @dependabot in #1454
- Bump xunit from 2.5.2 to 2.5.3 in /samples by @dependabot in #1462
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #1469
- Bump Microsoft.Extensions.Http.Polly from 7.0.12 to 7.0.13 in /samples by @dependabot in #1473
- Bump CommunityToolkit.Mvvm from 8.2.1 to 8.2.2 in /samples by @dependabot in #1475
- Bump xunit from 2.5.3 to 2.6.0 in /samples by @dependabot in #1486
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #1487
Full Changelog: 6.0.0...6.1.0
v6.0.0: Next Level Speech Recognition & Bugfixes
Watch out! This version contains some breaking changes! That is why we are going from version 5.3.0 to version 6.0.0. They grow up so fast... 🥲 Anyway, no time to be emotional, let's talk about the amazing things in this release. First of all: look at all the first-time contributors, amazing, thank you all so much: @wolfgang-ironsoftware, @inforithmics, @olekssokol, @vhugogarcia, @redek91, @babenkovitaliy and @AllenD-MSFT 👏
Speech Recognition
The speech recognition APIs just got better. You can now listen to the user in the background and still process the results asynchronously. This enables so many cool new scenarios in your app, including building your own personal assistant! Connect that with some AI and... 🤯
You can read all about how to use this new functionality in the docs right here.
Bugfixes, bugfixes, bugfixes
Furthermore this release is PACKED with bugfixes. The popups got better, we fixed memory leaks all over and even the snackbar and toast now know how to handle a device that is rotating. Good stuff, check out all the details just below here.
All the details
- Use Native Windows Popup,
Microsoft.UI.Xaml.Controls.Popup
by @VladislavAntonyuk in #1086 - Fix popup margin on iOS by @cat0363 in #1329
- Use fully qualified namespace for Color reference in TextToColorGenerator by @wolfgang-ironsoftware in #1332
- Code cleanup and preparation for the next release (breaking changes) by @VladislavAntonyuk in #1324
- Fix Gestures on Popup on ios by @inforithmics in #1342
- 632 bug avatar view clipping on windows by @GeorgeLeithead in #1344
- fix IconTintColorBehavior for Windows by @olekssokol in #1370
- Add
MemoryAnalyzer
roslyn analyzer by @brminnick in #1371 - iOS popup fix with Shell or TabbedPage by @cucumber-sp in #1343
- Fix Windows Popup Position and Size by @cat0363 in #1350
- Updated the validation to allow the image button to apply the tint co… by @vhugogarcia in #1386
- Fixed Path behavior of FileSaver and FolderPicker on Android + Permission check on Android 13 by @redek91 in #1341
- Reverted change add in #1343 by @pictos in #1394
- Sample icon tint color behavior inside a popup by @vhugogarcia in #1395
- Add redrawing of Snackbar and Toast when the screen is rotated by @cat0363 in #1405
- [MacCatalyst] Get correct window associated with the Popup by @babenkovitaliy in #1409
- Improved memory performance of TextColorToGenerator by @AllenD-MSFT in #1254
- Fix Memory leak on Popup by @pictos in #1398
- Speech Recognition v2 - StartListening/StopListening by @VladislavAntonyuk in #1382
- Fix for the navigation to the SelectAllText page on macOS by @vhugogarcia in #1402
Housekeeping, important but not super interesting
- Bump xunit.runner.visualstudio from 2.5.0 to 2.5.1 in /samples by @dependabot in #1413
- Bump xunit from 2.5.0 to 2.5.1 in /samples by @dependabot in #1412
- Bump Microsoft.Extensions.Http.Polly from 7.0.10 to 7.0.11 in /samples by @dependabot in #1403
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #1393
- Update Xcode version for Sample app by @jfversluis in #1390
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #1373
- Bump Microsoft.NET.Test.Sdk from 17.7.1 to 17.7.2 in /samples by @dependabot in #1378
- Bump Microsoft.CodeAnalysis from 4.6.0 to 4.7.0 in /samples by @dependabot in #1355
- Bump Microsoft.CodeAnalysis.CSharp.Workspaces from 4.6.0 to 4.7.0 in /samples by @dependabot in #1357
- Bump FluentAssertions from 6.11.0 to 6.12.0 in /samples by @dependabot in #1365
global.json
: Change"rollForward": "latestMajor",
->"rollForward": "latestFeature"
. by @brminnick in #1338- Bump Microsoft.NET.Test.Sdk from 17.7.0 to 17.7.1 in /samples by @dependabot in #1348
- Bump NuGet.Protocol from 6.6.1 to 6.7.0 in /samples by @dependabot in #1330
- ♻️ [Housekeeping] Fixed GravatarImageSourceTests.TestDefaultStream by @pictos in #1335
- [housekeeping] Automated PR to fix formatting errors by @github-actions in #1327
New Contributors
- @wolfgang-ironsoftware made their first contribution in #1332
- @inforithmics made their first contribution in #1342
- @olekssokol made their first contribution in #1370
- @vhugogarcia made their first contribution in #1388
- @redek91 made their first contribution in #1341
- @babenkovitaliy made their first contribution in #1409
- @AllenD-MSFT made their first contribution in #1254
Full Changelog: 5.3.0...6.0.0