Xamarin.Forms 4.8.0.1269 (4.8.0) Release Notes

Getting Started | What's New | Known Issues | Breaking Changes | API Changes | Blogs | Thank you | Feedback | Open Source

What's New in this Release

Roadmap

  • GitHub #10778 - "[Spec] DragGestureRecognizer DropGestureRecognizer " (#11537) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))

F100s

CollectionView

  • GitHub #10735 - "[Bug] [Fatal] [Android] CollectionView Causes Application Crash When Keyboard Opens" (#11235) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • GitHub #10830 - "[Bug] [Fatal] [Android] CarouselView Inside Expander Causes Crashing " (#10836) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11224 - "[Bug] CarouselView Position property fails to update visual while control isn't visible." (#11239) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • GitHub #5577 - "CollectionView XAML API suggestion" (#8104)
  • GitHub #9051 - "[Bug] View recycling in CollectionView does not work on UWP" (#11043)
  • GitHub #9631 - "[UWP] How to scroll in CollectionView ?" (#11629) (added in 4.8.0.1269 (4.8.0))
  • GitHub #9753 - "[Bug, CollectionView] CollectionView crashes when ItemsSource updated too fast" (#11235) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • GitHub #9929 - "[Bug] NSInternalInconsistencyException when trying to run XamarinTV on iOS" (#11122)

Dark Mode/App Themes

  • "[macOS] Implement GetNamedColor" (#10657)
  • "Added OrangeColor" (#10645)
  • "Drop AppTheme flag" (#11368) (added in 4.8.0.1269 (4.8.0))
  • GitHub #11395 - "[Bug] Span cannot be styled for the Dark Mode (it does not support SetAppThemeColor method)" (#11437) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))

Shell

  • "Add Rect struct" (#11187) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • "Check for null appearance before setting backdrop" (#11591) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • "migrate WPF ControlsGallery to .NET Core" (#10736)
  • "Shell FlyoutBackdrop now with Brushes!!" (#11580) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #5232 - "[Enhancement] Add FlyoutItem.IsVisible, Tab.IsVisible, BaseShellItem.IsVisible" (#10980)
  • GitHub #7849 - "[Bug] Android AppShell TabBar translate "More" menu text" (#10604) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #8498 - "[Bug] Shell Navigation.PushAsync ignored on UWP platform" (#11410) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))

Visual

  • GitHub #11481 - "[Bug] Visual Material crashes when using LinearGradientBrush" (#11491) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • GitHub #7043 - "Add Picker.TextAlignment" (#7493)

Other Enhancements

  • "[macOS] ExportFont functionality for macOS" (#10848)
  • GitHub #10148 - "[Enhancement] Make StepperPositionProperty field public on Stepper" (#10941)
  • GitHub #10867 - "Implement ExportFont functionality for WPF" (#10393) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #2447 - "[Android] Force label text direction" (#11596) (added in 4.8.0.1269 (4.8.0))

Features in Preview

Current experimental flags

Are you on the cutting edge? Try out ALL of our experimental features now using these flags! Read more about experimental flags.

  • Shell_UWP_Experimental
  • SwipeView_Experimental
  • CarouselView_Experimental
  • MediaElement_Experimental
  • Markup_Experimental
  • Expander_Experimental
  • Shapes_Experimental
  • Brushes_Experimental
  • DragAndDrop_Experimental

Brushes

Try it with Forms.SetFlags("Brushes_Experimental");
  • GitHub #11481 - "[Bug] Visual Material crashes when using LinearGradientBrush" (#11491) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • GitHub #11497/GitHub #11547 - "[Bug] [Shapes 4.8-pre2] Justice for baby elephant!" (#11574) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11541 - "[Bug][Shapes] Shapes demos has some invalid IL code once updated to 4.8-pre2" (#11548) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11569 - "[Bug][Brushes] LinearGradientBrush EndPoint default isn't identical to WPF" (#11575) (added in 4.8.0.1269 (4.8.0))
  • GitHub #11664 - "[Bug] Crash in VisualElementRenderer from Background brush check" (#11668) (added in 4.8.0.1269 (4.8.0))

CarouselView

Try it with Forms.SetFlags("CarouselView_Experimental");
  • GitHub #10830 - "[Bug] [Fatal] [Android] CarouselView Inside Expander Causes Crashing " (#10836) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11224 - "[Bug] CarouselView Position property fails to update visual while control isn't visible." (#11239) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))

Drag and Drop GestureRecognizers

Try it with Forms.SetFlags("DragAndDrop_Experimental");
  • GitHub #10778 - "[Spec] DragGestureRecognizer DropGestureRecognizer " (#11537) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))

Expander

Try it with Forms.SetFlags("Expander_Experimental");
  • GitHub #10830 - "[Bug] [Fatal] [Android] CarouselView Inside Expander Causes Crashing " (#10836) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))

MediaElement

Try it with Forms.SetFlags("MediaElement_Experimental");
  • GitHub #11315 - "Please remove this line as MediaElement:PlayedToEnd event is triggered twice" (#11360) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • GitHub #9525 - "[Bug] MediaElement Disposing exception when MainPage is changed on iOS" (#9531) (added in 4.8.0.1269 (4.8.0))

Shapes

Try it with Forms.SetFlags("Shapes_Experimental");
  • "[Core] More Shapes constructors" (#11490) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • "Add Rect struct" (#11187) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • "Added StrokeMiterLimit property in Shape" (#11045)
  • GitHub #11050 - "[Bug][iOS][Android] Shapes: clock drawing error" (#11110) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • GitHub #11052 - "[Bug][Android] Shapes: Moving spiral demo doesn't animate on Android " (#11046)
  • GitHub #11497/GitHub #11547 - "[Bug] [Shapes 4.8-pre2] Justice for baby elephant!" (#11574) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11541 - "[Bug][Shapes] Shapes demos has some invalid IL code once updated to 4.8-pre2" (#11548) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11555 - "VS For Mac's XAML tools broken after updating VS and/or Xamarin.Forms" (#11577) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11557 - "Crash in Visual Studio with 4.8.0.1187-pre2 [Bug] " (#11577) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11563 - "[Bug] Polygon.Points doesn't respond to CollectionChanged events" (#11576) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))

SwipeView

Try it with Forms.SetFlags("SwipeView_Experimental");
  • "Fixing null reference exception on Xamarin.Forms.Platform.Android\Ren…" (#10827)
  • GitHub #11251 - "[Bug] SwipeView on UWP Executes Command Twice" (#11323) (added in 4.8.0.1269 (4.8.0))

UWP Shell

Try it with Forms.SetFlags("Shell_UWP_Experimental");
  • "Add Rect struct" (#11187) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • "Check for null appearance before setting backdrop" (#11591) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • "Shell FlyoutBackdrop now with Brushes!!" (#11580) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #5232 - "[Enhancement] Add FlyoutItem.IsVisible, Tab.IsVisible, BaseShellItem.IsVisible" (#10980)
  • GitHub #8498 - "[Bug] Shell Navigation.PushAsync ignored on UWP platform" (#11410) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))

Release History

  • Thursday, August 6, 2020 - Xamarin.Forms 4.8.0.1269 (4.8.0)
  • Thursday, July 30, 2020 - Xamarin.Forms 4.8.0.1238-pre3 (4.8.0 Pre Release 3)
  • Thursday, July 23, 2020 - Xamarin.Forms 4.8.0.1187-pre2 (4.8.0 Pre Release 2)
  • Wednesday, July 15, 2020 - Xamarin.Forms 4.8.0.1143-pre1 (4.8.0 Pre Release 1)

Thursday, August 6, 2020 - Xamarin.Forms 4.8.0.1269 (4.8.0)

Issues Fixed

  • GitHub #11185 - "[Bug] ScrollViewRenderer HorizontalFadingEdgeEnabled ignored on horizontal ScrollView orientation" (#11287)
  • GitHub #11251 - "[Bug] SwipeView on UWP Executes Command Twice" (#11323)
  • GitHub #11569 - "[Bug][Brushes] LinearGradientBrush EndPoint default isn't identical to WPF" (#11575)
  • GitHub #11620 - "[Bug] 4.8-pre3 regression with XAML-defined arrays - x:Int32 is no longer of type x:Object" (#11638)
  • GitHub #11664 - "[Bug] Crash in VisualElementRenderer from Background brush check" (#11668)
  • GitHub #9525 - "[Bug] MediaElement Disposing exception when MainPage is changed on iOS" (#9531)
  • GitHub #9631 - "[UWP] How to scroll in CollectionView ?" (#11629)

Additional fixes included in this release

  • "Drag and drop tweaks" (#11654)
  • "Drop AppTheme flag" (#11368)

Thursday, July 30, 2020 - Xamarin.Forms 4.8.0.1238-pre3 (4.8.0 Pre Release 3)

Issues Fixed

Additional fixes included in this release

  • "[Core] More Shapes constructors" (#11490)
  • "Check for null appearance before setting backdrop" (#11591)
  • "Mark Transform.ValueProperty as public" (#11543)
  • "Shell FlyoutBackdrop now with Brushes!!" (#11580)
  • GitHub #11527 - "Device exception message mentions 'you must call Xamarin.Forms.Init() ...' but there is no such API" (#11528)

Thursday, July 23, 2020 - Xamarin.Forms 4.8.0.1187-pre2 (4.8.0 Pre Release 2)

Issues Fixed

  • GitHub #10735 - "[Bug] [Fatal] [Android] CollectionView Causes Application Crash When Keyboard Opens" (#11235)
  • GitHub #11026 - "[Bug] Appium tests (iOS). UI elements are missing from page source XML representation with Xamarin 4.6 update" (#11077)
  • GitHub #11050 - "[Bug][iOS][Android] Shapes: clock drawing error" (#11110)
  • GitHub #11224 - "[Bug] CarouselView Position property fails to update visual while control isn't visible." (#11239)
  • GitHub #11315 - "Please remove this line as MediaElement:PlayedToEnd event is triggered twice" (#11360)
  • GitHub #11433 - "Obsolete message for Device.OpenUri mentions non-existent APIs" (#11436)
  • GitHub #11481 - "[Bug] Visual Material crashes when using LinearGradientBrush" (#11491)
  • GitHub #6667 - "[Bug] Appium and Xamarin Forms 4.0 Compatibility (iOS)" (#11077)
  • GitHub #8498 - "[Bug] Shell Navigation.PushAsync ignored on UWP platform" (#11410)
  • GitHub #8732 - "[Bug] Image animation not working in GTK" (#9649)
  • GitHub #9753 - "[Bug, CollectionView] CollectionView crashes when ItemsSource updated too fast" (#11235)

Additional fixes included in this release

  • "Add BoostrapHelper" (#11400)

Wednesday, July 15, 2020 - Xamarin.Forms 4.8.0.1143-pre1 (4.8.0 Pre Release 1)

Issues Fixed

Additional fixes included in this release

  • "[macOS] Implement GetNamedColor" (#10657)
  • "[Nuget] Components governance" (#11188)
  • "[WPF] Added null check on IsInvokeRequired on WPFPlatformServices.cs" (#10652)
  • "Added OrangeColor" (#10645)
  • "Check renderer and view for null in UpdateTextAndImage" (#11079)
  • "Fixing null reference exception on Xamarin.Forms.Platform.Android\Ren…" (#10827)
  • "Fixing NullReferenceException in MotionEventHelper for Android" (#10840)
  • "Increase pool timeout, provision less for osx builds, specify Android pools" (#10671)
  • "migrate WPF ControlsGallery to .NET Core" (#10736)
  • "RadionButton control for WPF" (#10772)
  • "Remove rendundant calls to UpdateCharacterSpacing" (#11276)

Known Issues

  • GitHub #11667 - "[Bug] Fix ViewRenderer.Dispose on iOS"
  • GitHub #11619 - "[Bug] Events not firing on DropGestureRecognizer when the target is an Entry"
  • GitHub #11508 - "[Bug] iOS: Dashed Frame stopped working in the latest XF version"
  • GitHub #11499 - "[Bug] 4.8-pre1: TextTransform not implemented on several controls"
  • GitHub #11381 - "[Bug] [iOS] NRE on grouped ListView when removing cells with gesture recognizers"

Breaking Changes

  • "Add Rect struct" (#11187) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • GitHub #10032 - "[Bug] Stepper rounds initial value" (#11359)
  • GitHub #11169 - "[Bug] Stepper Increment result is wrong with small values" (#11359)
  • GitHub #11569 - "[Bug][Brushes] LinearGradientBrush EndPoint default isn't identical to WPF" (#11575) (added in 4.8.0.1269 (4.8.0))
  • GitHub #5168 - "[Core] Incorrect increments in Stepper" (#11359)

Namespace Xamarin.Forms

Removed Type Xamarin.Forms.VisualElementExtensions

Namespace Xamarin.Forms.Shapes

Type Changed: Xamarin.Forms.Shapes.RectangleGeometry

Modified properties:

-public Xamarin.Forms.Rectangle Rect { get; set; }
+public Xamarin.Forms.Rect Rect { get; set; }

Type Changed: Xamarin.Forms.Shapes.Shape

Modified properties:

-public Xamarin.Forms.Color Fill { get; set; }
+public Xamarin.Forms.Brush Fill { get; set; }
-public Xamarin.Forms.Color Stroke { get; set; }
+public Xamarin.Forms.Brush Stroke { get; set; }

Namespace Xamarin.Forms.Platform.Android

Type Changed: Xamarin.Forms.Platform.Android.ShapeView

Removed methods:

public void UpdateFill (Android.Graphics.Color fill);
public void UpdateStroke (Android.Graphics.Color stroke);

Namespace Xamarin.Forms.Platform.UWP

Type Changed: Xamarin.Forms.Platform.UWP.ShellRenderer

Removed method:

protected virtual void UpdateFlyoutBackdropColor ();

Deprecations

  • "Add Rect struct" (#11187) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))

API Changes

See all API Changes here.

  • "Add Rect struct" (#11187) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • "Added StrokeMiterLimit property in Shape" (#11045)
  • "Mark Transform.ValueProperty as public" (#11543) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #10735 - "[Bug] [Fatal] [Android] CollectionView Causes Application Crash When Keyboard Opens" (#11235) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))
  • GitHub #10778 - "[Spec] DragGestureRecognizer DropGestureRecognizer " (#11537) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11555 - "VS For Mac's XAML tools broken after updating VS and/or Xamarin.Forms" (#11577) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11557 - "Crash in Visual Studio with 4.8.0.1187-pre2 [Bug] " (#11577) (added in 4.8.0.1238-pre3 (4.8.0 Pre Release 3))
  • GitHub #11569 - "[Bug][Brushes] LinearGradientBrush EndPoint default isn't identical to WPF" (#11575) (added in 4.8.0.1269 (4.8.0))
  • GitHub #3667 - "[Enhancement] Add text-transforms to Label" (#3690)
  • GitHub #5232 - "[Enhancement] Add FlyoutItem.IsVisible, Tab.IsVisible, BaseShellItem.IsVisible" (#10980)
  • GitHub #7043 - "Add Picker.TextAlignment" (#7493)
  • GitHub #9753 - "[Bug, CollectionView] CollectionView crashes when ItemsSource updated too fast" (#11235) (added in 4.8.0.1187-pre2 (4.8.0 Pre Release 2))

Blogs

Xamarin Blogs

Thank you

Thank you to our community for helping to make Xamarin.Forms even better!

This release, we received amazing contributions from these individuals. Give them a big round of applause!

Author Commit PR
Andrei (@AndreiMisiukevich) [macOS] Fix BackButtonTitle fixes #10424 (#10693) #10693
Bobface (@Bobface) Add support for scale and rotation of images on GTK (#9649) #9649
Brian Macomber (@bmacombe) Fix 8503, 8787 - text in Entry not immediately visible, or visible after IsVisible set to true (#11140) #11140
Brian Macomber (@bmacombe) [UWP] Fixes 8787 Entry text not visible until focus or window resize (#11351) #11351
Brian Macomber (@bmacombe) [UWP] FormsTextBox clean up OnApplyTemplate (#11285) #11285
Eder Cardoso (@ederbond) Fixing null reference exception on Xamarin.Forms.Platform.Android\Renderers\SwipeViewRenderer.cs (#10827) #10827
Emil Alipiev (@EmilAlipiev) Horizontal CollecitonView UWP scrolling with mouse fixed (#11629) #11629
Max Brister (@maxbrister) Add BoostrapHelper (#11400) #11400
memu8 (@memu8) [Android] FlowDirection property now has an effect on label controls (#11596) #11596
Mike Mostachetti (@mjmostachetti) Including file for testing issue 9451 (#11567) #11567
Peter Foot (@peterfoot) Added Font properties support to DatePickerRenderer on WPF (#10846) fixes #10845 #10846
Peter Foot (@peterfoot) [WPF] Pass through AutomationProperties from Xamarin Forms (#11162) #11162
Rastislav Novotný (@duracellko) Use HorizontalGrid and VerticalGrid string values to specify GridItemsLayout in XAML (#8104) #8104
StevenGranados (@StevenGranados) [MediaElement] Removed line that pauses player before setting it to null. (#9531) #9531
tessarolli (@tessarolli) Update WPFPlatformServices.cs (#10652) #10652
tessarolli (@tessarolli) [WPF] Implements CursorPosition on WPF Platform (#10615) Fixes #10548 #10615
Timothé Larivière (@TimLariviere) Mark Transform.ValueProperty as public (#11543) #11543
Vladislav Antonyuk (@VladislavAntonyuk) [WPF] Migrate ControlsGallery to .NET Core (#10736) #10736
weases (@weases) Fixing NullReferenceException in MotionEventHelper for Android (#10840) #10840
workgroupengineering (@workgroupengineering) Fixed Issue #9902 : Xaml[C] Xaml parsing optimizzation (#9904) #9904
Yuriy Holembyovskyy (@yurkinh) Added EmbeddedFontLoader for Mac OS (#10848) fixes #10360 #10848
Yuriy Holembyovskyy (@yurkinh) Feature7043 picker textalignment (#7493) Fixes #7043. #7493
Yuriy Holembyovskyy (@yurkinh) RadionButton control for WPF (#10772) #10772
Yuriy Holembyovskyy (@yurkinh) Changed StepperPositionProperty to Public (#10941) #10941

Feedback welcome

Your feedback is important to us. If there are any problems with this release, check the Xamarin.Forms Forums and GitHub for existing issues. Report new issues and suggestions on GitHub.

Open Source

Xamarin.Forms 4.8.0 is based on the open-source Xamarin.Forms repository: