Releases: CommunityToolkit/Maui
Release list
14.2.2: Prevent Popup Race Conditions, (Windows) Folder Picker Initial Path
Note: 14.2.2 supersedes 14.2.1, which was not published to NuGet.org due to an expired publishing credential.
Just a couple bug fixes in this one!
- Prevent Race Conditions when closing a Popup
- Set initial folder for FilePicker and FolderPicker on Windows
What's Changed
- Prevent Race Condition Allowing Simultaneous Calling of
Navigation.PushModalAsync()/Shell.GotoAsync()inPopupExtensionsby @TheCodeTraveler in #3234 - Add
SemaphoreSlimSupport forPopupCloseAsyncto Avoid Race Conditions by @TheCodeTraveler in #3235 - Set Windows Folder Picker Initial Path by @TheCodeTraveler in #3078
Housekeeping
- Bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #3236
- Bump Microsoft.Testing.Extensions.CodeCoverage from 18.7.0 to 18.8.0 by @dependabot[bot] in #3237
- Bump System.Formats.Asn1 from 10.0.8 to 10.0.9 by @dependabot[bot] in #3238
- Bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #3245
- Bump actions/setup-java from 5.2.0 to 5.3.0 by @dependabot[bot] in #3246
- Bump actions/setup-java from 5.3.0 to 5.4.0 by @dependabot[bot] in #3256
- Bump actions/setup-dotnet from 5.3.0 to 5.4.0 by @dependabot[bot] in #3257
- Bump actions/setup-java from 5.4.0 to 5.5.0 by @dependabot[bot] in #3264
- Use trusted publishing for NuGet release by @jfversluis in #3261
Full Changelog: 14.2.0...14.2.2
14.2.1: Prevent Popup Race Conditions, (Windows) Folder Picker Initial Path
Just a couple bug fixes in this one!
- Prevent Race Conditions when closing a Popup
- Set initial folder for FilePicker and FolderPicker on Windows
What's Changed
- Prevent Race Condition Allowing Simultaneous Calling of
Navigation.PushModalAsync()/Shell.GotoAsync()inPopupExtensionsby @TheCodeTraveler in #3234 - Add
SemaphoreSlimSupport forPopupCloseAsyncto Avoid Race Conditions by @TheCodeTraveler in #3235 - Set Windows Folder Picker Initial Path by @TheCodeTraveler in #3078
Housekeeping
- Bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #3236
- Bump Microsoft.Testing.Extensions.CodeCoverage from 18.7.0 to 18.8.0 by @dependabot[bot] in #3237
- Bump System.Formats.Asn1 from 10.0.8 to 10.0.9 by @dependabot[bot] in #3238
- Bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #3245
- Bump actions/setup-java from 5.2.0 to 5.3.0 by @dependabot[bot] in #3246
- Bump actions/setup-java from 5.3.0 to 5.4.0 by @dependabot[bot] in #3256
- Bump actions/setup-dotnet from 5.3.0 to 5.4.0 by @dependabot[bot] in #3257
- Bump actions/setup-java from 5.4.0 to 5.5.0 by @dependabot[bot] in #3264
Full Changelog: 14.2.0...14.2.1
14.2.0: Popup Android Screen Reader Accessibility
CommunityToolkit.Maui v14.2.0
Thanks to @IeuanWalker, Android Screen Reader now properly reads Popup v2! Previously the screen reader would default to the underlying PopupPage, now it defaults directly to the content of your Popup:
| Before | After |
|---|---|
android-before.mp4 |
android-after.mp4 |
What's Changed
- Fix Windows DrawingView image rendering so exported/rendered strokes use the correct (round) line caps by @MFinkBK in #3216
- Popup: Android screen reader accessibility by @IeuanWalker in #2959
Housekeeping
- Use SHA Pinning by @TheCodeTraveler in eecd5d5
- Bump actions/setup-dotnet from 5.2.0 to 5.3.0 by @dependabot[bot] in #3230
- Bump PolySharp from 1.15.0 to 1.16.0 by @dependabot[bot] in #3228
- Bump Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing from 1.1.3 to 1.1.4 by @dependabot[bot] in #3227
- Bump Microsoft.CodeAnalysis.CSharp.CodeFix.Testing from 1.1.3 to 1.1.4 by @dependabot[bot] in #3226
- Bump System.Formats.Asn1 from 10.0.7 to 10.0.8 by @dependabot[bot] in #3217
- Bump Microsoft.CodeAnalysis.CSharp.Analyzer.Testing from 1.1.3 to 1.1.4 by @dependabot[bot] in #3224
- Bump Microsoft.Testing.Extensions.CodeCoverage from 18.6.2 to 18.7.0 by @dependabot[bot] in #3221
- Prevent NETSDK1102 on MacCatalyst by @TheCodeTraveler in adce47b
New Contributors
@MFinkBK made their first contribution in #3216
Full Changelog: 14.1.1...14.2.0
MediaElement v10.0.0: StreamMediaSource
CommunityToolkit.Maui.MediaElement v10.0.0
Introducing MediaSource.FromStream(Stream)
Thanks to @matt-goldman, MediaElement now supports streaming sources!
Use MediaSource.FromStream(Stream) to assign the MediaElement.Source to a Stream:
const string buckBunnyVideo = "https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/1080/Big_Buck_Bunny_1080_10s_30MB.mp4";
await using var networkStream = await httpClient.GetStreamAsync(buckBunnyVideo);
var sourceStream = new MemoryStream();
await stream.CopyToAsync(sourceStream);
sourceStream.Position = 0;
MediaElement.Source = MediaSource.FromStream(sourceStream);Learn More:
https://learn.microsoft.com/dotnet/communitytoolkit/maui/views/mediaelement
What's Changed
- Add stream media source by @matt-goldman in #3181
Full Changelog: 14.1.1...10.0.0-mediaelement
Camera v6.1.0: `IsTorchOn`
CommunityToolkit.Maui.Camera v6.1.0
Introducing IsTorchOn 🔦
Thanks to @MFinkBK, bool CameraView.IsTorchOn { get; set; } is now supported!
When IsTorchOn == true the device's torch (aka flashlight) will turn on; when IsTorchOn == false the device's torch (aka flashlight) will turn off.
https://learn.microsoft.com/dotnet/communitytoolkit/maui/views/camera-view
CameraViewPage.xaml.cs
<toolkit:CameraView
x:Name="Camera"
IsTorchOn="{Binding IsTorchOn, Mode=TwoWay}" />CameraViewViewModel.cs
[ObservableProperty]
public partial bool IsTorchOn { get; set; }What's Changed
- CameraView torch support by @MFinkBK in #3211
- fix: allow camera usage when microphone permission is denied on Windows by @AopBK in #3140
New Contributors
Full Changelog: 14.1.1...6.1.0-camera
14.1.1: Add Popup Extension for `NavigatingFromEventArgs.`, Fix `StatusBar` + `SpeechToText` Auto-timeout bugs
CommunityToolkit.Maui v14.1.1
New Popup Extension
public static bool IsDestinationPageACommunityToolkitPopupPage(this NavigatingFromEventArgs args);You can now use NavigatingFromEventArgs to determine if the previous page was a Popup: https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/views/popup#lifecycle-behavior
protected override void OnNavigatingFrom(NavigatingFromEventArgs args)
{
base.OnNavigatingFrom(args);
if (args.IsDestinationPageACommunityToolkitPopupPage())
{
// If true, `OnNavigatingFrom` was called by starting a Popup
}
}SpeechToText Bug Fix
- Fix AutoStopSilenceTimeout for SpeechToTextOptions doesn't work on iOS
StatusBar Bug Fix
- Fix
StatusBar.SetColor()when usingStatusBarBehavior - Update StatusBar Size On Device Orientation Change
Microsoft.Maui.Controls Dependency
- Increase dependency to Microsoft.Maui.Controls v10.0.60
What's Changed
- Added OnNavigatingFrom extension for popup related navigation by @dartasen in #3099
- Remove
RestartTimer()fromAvAudioNodeCallback by @TheCodeTraveler in #3196 - FIX: [BUG] Using StatusBarBehavior Breaks StatusBar.SetColor() #3197 API36 by @Pastajello in #3202
- Add compile-time property initializer for default values in BindableProperty source generator by @matt-goldman in #3204
- Update StatusBar Size On Device Orientation Change by @TheCodeTraveler in #3208
Housekeeping
- Explicitly target iOS and macOS to osx and Windows platforms (only) by @matt-goldman in #3186
- Bump Microsoft.Testing.Extensions.CodeCoverage from 18.5.2 to 18.6.2 by @dependabot[bot] in #3193
- Bump System.Formats.Asn1 from 10.0.6 to 10.0.7 by @dependabot[bot] in #3209
- Bump Microsoft.Extensions.Http.Resilience from 10.4.0 to 10.5.0 by @dependabot[bot] in #3199
- Bump System.Formats.Asn1 from 10.0.5 to 10.0.6 by @dependabot[bot] in #3201
- Bump Microsoft.Extensions.Logging.Debug from 10.0.5 to 10.0.6 by @dependabot[bot] in #3200
New Contributors
Full Changelog: 14.1.0...14.1.1
14.1.0: SpeechToText `AutostopSilenceTimeout`, StatusBar Bug Fixes, Popup Bug Fixes, AvatarView Bug Fixes, and Public Exceptions
CommunityToolkit.Maui v14.1.0
SpeechToText
- We've added
SpeechToTextOptions.AutostopSilenceTimeoutto allow you to auto-stopISpeechToText
Public Custom Exceptions
We heard your feedback! The following exceptions are now public allowing you to properly catch them inside a try/catch block:
SoftKeyboardExceptionPopupNotFoundExceptionPopupBlockedExceptionInvalidPopupOperationException
StatusBar Bug Fixes
StatusBarBehaviornow works when used inside a Modal Page on AndroidStatusBarBehaviornow uses the correct height for Android API 36+
Popup Fixes
Popupnow works when used in a Modal Page
AvatarView
AvatarViewnow correctly updates its size whenImageSourcechanges
What's Changed
- Make custom exceptions public by @FabriBertani in #3134
- Filter out non-public types in TextColorToGenerator assembly scanning by @jfversluis in #3161
- Add Support for Popups inside a Modal
NavigationPageby @StefanRailcube in #3164 - Fix for Bug 2761 (AppThemeResource not finding keys) by @misterspeak in #3159
- Add Support for
StatusBarBehaviorin Android Modal Page by @TheCodeTraveler in #3123 - Fix: [BUG] StatusBar too large in landscape mode (in API 36+) #3170 by @Pastajello in #3182
- Fix: [BUG] AvatarView changes size when setting its ImageSource #3153 by @Pastajello in #3183
- SpeechToText AutostopSilenceTimeout by @VladislavAntonyuk in #3111
New Contributors
- @StefanRailcube made their first contribution in #3164
- @misterspeak made their first contribution in #3159
- @Pastajello made their first contribution in #3182
Full Changelog: 14.0.1...14.1.0
MediaElement v9.0.0: UriMediaSource HttpHeaders
CommunityToolkit.Maui.MediaElement v9.0.0
Introducing UriMediaSource.HttpHeaders
We heard your feedback! You can now use Http Headers for UriMediaSource:
var headers = new Dictionary<string, string>
{
["Authorization"] = "Bearer my-token"
};
mediaElement.Source = MediaSource.FromUri(new Uri("https://example.com/stream.m3u8"), headers);What's Changed
- Add DynamicDependency to MauiMediaElement constructors by @ne0rrmatrix in #3116
- UriMediaSource HttpHeaders by @Kaaybi in #3169
New Contributors
- @Kaaybi made their first contribution in #3169
Full Changelog: 14.0.1...9.0.0-mediaelement
Camera v6.0.1: Fix Photo + Video Orientation
CommunityToolkit.Maui.Camera v6.0.1
What's Changed
- CameraView fix for iOS: orientation and video recording by @zhitaop in #3167
- CameraView fix for Android: video recording and rotation by @zhitaop in #3168
Full Changelog: 14.0.1...6.0.1-camera
14.0.1: Regression Bug Fixes
CommunityToolkit.Maui v14.0.1
Bug Fixes
NavigationBar- Add Support for
NavigationBar.SetColor(Color)on Android 35+ - Fix duplicate values for
ColorAttached Property
- Add Support for
Popup- Fix duplicate instantiation of the ViewModel via
PopupService.ShowPopupAsync<T>' - Fix Padding regression introduced in v14.0.0
- Fix duplicate instantiation of the ViewModel via
StateContainer- Fix duplicate StateContainer ViewState bug
- BindableProperty Attribute
- Resolve CS0436 Warning
DateTimeOffsetConverter- Use
TimeZoneInfoto calculate correct offset
- Use
- Microsoft.Maui.Controls Dependency
- Increase dependency to
Microsoft.Maui.Controls v10.0.41
- Increase dependency to
- Windows Apps
- Downgrade
Microsoft.WindowsAppSDKto v1.8.260101001 from 2.0.0-experimental
- Downgrade
What's Changed
- Add Support for
NavigationBar.SetColor(Color)on Android 35+ by @TheCodeTraveler in #3057 - Bump Microsoft.Testing.Extensions.CodeCoverage from 18.3.2 to 18.4.1 by @dependabot[bot] in #3062
- Reorder popup/view model instantiation by @bijington in #3071
- Resolve CS0436 Warning caused by
[BindableProperty]and[AttachedBindableProperty<T>]by @TheCodeTraveler in #3073 - Downgrade Windows SDK by @VladislavAntonyuk in #3076
- Fix Popup Padding Regression Introduced in v14.0.0 by @TheCodeTraveler in #3074
- Fix DateTimeOffset Converter #2582 by @VladislavAntonyuk in #3077
- Bump Microsoft.Extensions.Http.Resilience from 10.2.0 to 10.3.0 by @dependabot[bot] in #3086
- Bump Microsoft.Extensions.Logging.Debug from 10.0.2 to 10.0.3 by @dependabot[bot] in #3087
- Bump System.Formats.Asn1 from 10.0.2 to 10.0.3 by @dependabot[bot] in #3088
- Fix duplicate state container view states by @TheCodeTraveler in #3095
- Increase
Microsoft.Maui.ControlsDependency to v10.0.41 by @TheCodeTraveler in #3107
Full Changelog: 14.0.0...14.0.1