Xamarin.Forms 5.0.0.1709-pre4 (5.0.0 Pre Release 4) Release Notes

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

Getting Ready for Xamarin.Forms 5

Xamarin.Forms 5 brings to stable release several new controls and features including App Themes (Dark Mode), Brushes, CarouselView, RadioButton, Shapes and Paths, and SwipeView.

RadioButton now supports setting any content and using control templates. You can start with simple text:

<StackLayout 
    RadioButtonGroup.GroupName="SimpleRadios"
    Orientation="Horizontal">
    <RadioButton Content="Day"/>
    <RadioButton Content="Week"/>
    <RadioButton Content="Month"/>
</StackLayout>

And add more complex UI to match your design needs:

<RadioButton 
    ControlTemplate="{StaticResource 
                        CalendarRadioTemplate}">
    <RadioButton.Content>
        <StackLayout 
            HorizontalOptions="Center" 
            VerticalOptions="Center">
            <Image
                Source="{FontImage FontFamily=FontAwesome, 
                        Glyph={x:Static local:IconFont.CalendarDay}, 
                        Color=#323130,Size=32}"/>
            <Label Text="Day" TextColor="#323130"/>
        </StackLayout>
    </RadioButton.Content>
</RadioButton>

The control template XAML is here.

RadioButtons image

As this is the first preview of a major version, we want to bring special attention to some of the changes introduced as well. As you look at upgrading your applications to Xamarin.Forms 5, there are some changes and removals to be aware of.

Please provide feedback on these changes as you update so we can help make this as smooth of a transition as possible.

Below is an itemized list:

Visual Studio 2017 No Longer Supported

Updates to Android and iOS are only delivered to Visual Studio 2019, and these are fundamental for getting the latest platform security fixes features required by Apple and Google. Before updating to Xamarin.Forms 5, install Visual Studio 2019.

MasterDetailPage Renamed

MasterDetailPage has been renamed to FlyoutPage. This change is in accordance with our values of diversity and inclusivity. We previously renamed our master branch on GitHub to main. The name also more closely reflects the behavior of the control. It is also in keeping with how we describe the behavior in Shell.

What should I do after upgrading?

This is a deprecation, so your app will work as before. To adopt this change, we recommend you rename MasterDetailPage in your projects to FlyoutPage. A few other types and property names have been updated as well including:

  • MasterDetailPage.Master changed to FlyoutPage.Flyout
  • MasterBehavior changed to FlyoutLayoutBehavior

UIWebView Removed

UIWebView has been completely removed. Since March, Apple has been warning that usage of this control was deprecated and apps would be rejected beginning later in the year. Since 4.x, we switched the default usage in Xamarin.Forms to WKWebView, and in 4.6, we made it possible to remove the UIWebView renderer to avoid Apple's review process from flagging apps as violating their policy. Still, third-party projects may still make use of UIWebView and trigger the violation. Now it is completely gone, and we recommend all libraries to make sure to switch to WKWebView as well.

What should I do after upgrading?

If you don't have a known need for UIWebView, then you don't need to do anything. For anyone else, the renderer code is available on GitHub to be copied into our application source.

C# UI, Expander, and MediaElement Moved

These experimental features have been (or will be soon) migrated to the Xamarin Community Toolkit which everyone should be taking full advantage of. It's a wonderful library of extremely useful Xamarin controls, effects, value converters, and more. In fact, it even has a native CameraView, Avatar view, and RangeSlider control. These features and controls are continuing to grow and improve, and while Xamarin.Forms moves into an extended stable release, we feel it's better for those to ship for now in the tookit. At a future time, they may be brought back into the core library.

As a "community" toolkit, it is being maintained and supported by a talented group of both community and Microsoft engineers. A big thanks to Steven Thewissen, Andrei Misuikevich, Javier Suarez Ruiz, and Gerald Versluis for all your hard work making this happen, as well as all those who have been contributing and reviewing.

If you're interested in learning more, check out GitHub and the project's Discord channel.

What should I do after upgrading?

If you have been using these features and controls, then add the latest Xamarin Community Toolkit to your project. After you resolve the new namespaces, your project should once again compile. Any time you update NuGets, you should do a full clean and build.

DataPages and Themes Packages Removed

In Xamarin.Forms 2, before joining Microsoft, we prototyped some interesting ways to build data driven UIs. These experiments were shipped as preview packages called DataPages and Themes. Since then, we have continued shipping the packages, but no work or customer interest has grown around them. Instead, features such as App Themes are much easier to use and implement dark and light mode, as well as general theme support using dynamic styles. As of Xamarin.Forms 5, we will no longer be building and shipping these packages.

What should I do after upgrading?

If you have the packages installed and are not using them, then you can safely remove them.

For themes related usage, migrate your implementation to using dynamic styles and AppThemeBinding.

For anything else, please contact us.

XFCorePostProcessor.Tasks Removed

This project injects IL to maintain XF 2.5 compatibility. We're far enough away from XF 2.5 now that this weaving should no longer be necessary.

What's New in this Release

Roadmap

Brushes

  • GitHub #11571 - "[Bug][Brushes] LinearGradientBrush diagonal platform differences" (#11734) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11572 - "[Bug][Brushes] RadialGradientBrush platform differences" (#11748) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11573 - "[Bug][Brushes] RadialGradient size on iOS" (#11733)
  • GitHub #11691 - "Polygon Shape doesn't work with DynamicResource color binding" (#12761) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11715 - "[Bug] Brushes API - Android's direction is inverted to iOS's" (#11734) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11800 - "[Bug] LinearGradientBrush doesn't fill the pages upon orientation change on iOS" (#11811) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11898 - "[Bug] GradientStop binding color isn't working" (#11783)
  • GitHub #11907 - "Path.Fill and Path.Stroke not working when set with DynamicResource" (#12761) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11911 - "[Bug] Brushes can't use DynamicResource" (#12761) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11995 - "[Bug] GradientBrush not working in Tizen" (#12501) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12430 - "[Bug] BoxView does not display on macOS" (#12432) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))

CarouselView

  • "[Core,iOS,Android] Remove experimental flags Carousel, Swipe, Shapes, Brush" (#12068)
  • GitHub #10865 - "[Bug] CarouselView Throws when removing an item." (#11074) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #10897 - "[Bug] UWP: CollectionView in CarouselView crashes when resizing the window" (#12676) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11081 - "[Bug] CarouselView should not animate an initial Position on Android" (#11173)
  • GitHub #12028 - "[Bug] IndicatorView isn't rendering indicators" (#12654) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12193 - "[Bug] CarouselView content disappears after 2 rotations if TextType=Html is used" (#12728) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12225 - "[Enhancement] Supporting VisualState of Items on SelectableItemsView" (#12281) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))
  • GitHub #12318 - "[Bug] IndicatorView shrinks on iOS 14 for HorizontalOptions Center and CenterAndExpand " (#12654) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12574 - "[Bug] CarouselView Loop=True default freezes iOS app" (#12787) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12777 - "[Bug] CarouselView NRE if item template is not specified" (#12784) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12787 - "[iOS] Remove hardcoded value on CarouselView loop calculations" (#12787) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #8641 - "[Bug] CarouselView doesn't loop" (#9453)

CollectionView

  • "[Core,iOS,Android] Remove experimental flags Carousel, Swipe, Shapes, Brush" (#12068)
  • "[Tizen] CollectionView optimize for TV profile" (#12781) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • "iOS: CollectionView: ItemsViewLayout: Fix null reference on invalidate layout" (#12632) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • "Resolve Layout changes during native measure/arrange pass" (#12017) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))
  • GitHub #10454 - "[Bug] CollectionView ChildAdded" (#10812)
  • GitHub #10865 - "[Bug] CarouselView Throws when removing an item." (#11074) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #10897 - "[Bug] UWP: CollectionView in CarouselView crashes when resizing the window" (#12676) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11081 - "[Bug] CarouselView should not animate an initial Position on Android" (#11173)
  • GitHub #11421/GitHub #7790/GitHub #9590 - "[Bug] [UWP, iOS] Can't set transparent color on selected template item in CollectionView" (#12651) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11794 - "[Bug] RefreshView with CollectionView child cannot contain GridItemsLayout with Span greater than 1 in combination with EmptyView on UWP" (#11913)
  • GitHub #11908 - "[Bug] [UWP] ItemsViewRenderer doesn't clean up CollectionViewSource correctly" (#11919)
  • GitHub #11938 - "[Bug] Snap Points not working in CollectionView with GridItemsLayout" (#11941) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12193 - "[Bug] CarouselView content disappears after 2 rotations if TextType=Html is used" (#12728) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12225 - "[Enhancement] Supporting VisualState of Items on SelectableItemsView" (#12281) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))
  • GitHub #12714 - "[Bug] iOS application suspended at UICollectionViewFlowLayout.PrepareLayout() when using IsVisible = false" (#12769) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #8641 - "[Bug] CarouselView doesn't loop" (#9453)
  • GitHub #9088 - "[Bug] SwipeView items conflict with Shell menu swipe in from left, on real iOS devices" (#9144)

Dark Mode/App Themes

Drag and Drop GestureRecognizers

  • GitHub #12060 - "[Bug] [UWP] Cursor shows "Copy" when DataPackageOperation is set to "None"" (#12160) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))

Dual Screen

  • "Remove Compact Window from Dual Screen APIs" (#12093)

IndicatorView

  • GitHub #12028 - "[Bug] IndicatorView isn't rendering indicators" (#12654) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12318 - "[Bug] IndicatorView shrinks on iOS 14 for HorizontalOptions Center and CenterAndExpand " (#12654) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))

Maps

  • "Update google maps to the latest AndroidX bindings" (#10873) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #9088 - "[Bug] SwipeView items conflict with Shell menu swipe in from left, on real iOS devices" (#9144)

Shapes

  • "[Tizen] Added Shapes Tizen implementation" (#12537) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11151 - "[Enhancement] Support corner radius on RectangleGeometry" (#11851)
  • GitHub #11190 - "[Bug] Shapes: ArcSegment throwing on iOS, doing nothing on Android" (#11195)
  • GitHub #11413 - "[Bug] Rectangle shape - Incorrect rendering/crash (depending on platform)" (#11418)
  • GitHub #11691 - "Polygon Shape doesn't work with DynamicResource color binding" (#12761) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11858 - "Ellipse is not antialised" (#11874)
  • GitHub #11907 - "Path.Fill and Path.Stroke not working when set with DynamicResource" (#12761) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11911 - "[Bug] Brushes can't use DynamicResource" (#12761) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12285 - "[Bug][Shapes] RoundRectangleGeometry clipping error" (#12286) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))

Shell

  • "[Core,iOS,Android] Remove experimental flags Carousel, Swipe, Shapes, Brush" (#12068)
  • "[Tizen] Enhances the shell renderer" (#12119)
  • "[Tizen] Modify NavigationDrawer to fix Entry issue" (#12705) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • "Adds Shell Flyout Footer Template" (#6432) (added in 5.0.0.1558-pre3 (5.0.0 Pre Release 3))
  • "Fix flyout render quirks" (#12129) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))
  • "Fix multiple events on toolbar items" (#12797) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • "When popping multiple pages remove middle pages first" (#12331) (added in 5.0.0.1558-pre3 (5.0.0 Pre Release 3))
  • GitHub #10377 - "[Bug] RefreshView not showing ActivityIndicator on page appearing with XF Shell " (#11339)
  • GitHub #10638 - "[Bug] Shell.Current.GoToAsync("..", true) has no animation like Shell.Current.Navigation.PopAsync()" (#12039)
  • GitHub #10729 - "[Enhancement] Provide an easy way to get the Current Page at Shell" (#10979)
  • GitHub #10899 - "[Bug] [Shell] Navigation URL parameter not correctly encoded/decoded" (#12186) (added in 5.0.0.1558-pre3 (5.0.0 Pre Release 3))
  • GitHub #11706 - "[Bug] UWP Shell - Toolbar buttons do not work correctly" (#11838) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11894 - "[Bug] SearchHandler.Focused / Unfocused event was not delivered" (#11895)
  • GitHub #12126 - "[Bug] TabBarIsVisible = True/False doesn't work on Back navigation" (#12320) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12144 - "[Bug] - BackButtonBehavior hide tabs on ios" (#12320) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12505 - "[Bug] Shell Bottom Tabs are not visible in iOS when we route back from non tabs page to tabs page" (#12320) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12652 - "[Bug] NullReferenceException in the Shell on UWP" (#12713) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #1989 - "Disappearing ActivityIndicators in TableView on iOS" (#11339)
  • GitHub #6485 - "[Bug] Shell TabBarIsVisible Ignored" (#12320) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #6966 - "[Bug] Text binding on MenuItem does not bind on iOS" (#11987)
  • GitHub #7913 - "[Shell, UWP] Cannot prevent flyout menu list from scrolling." (#12547) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #8527 - "[Bug] Fix the Shell story when running on iPad in multi task mode" (#12097)
  • GitHub #8881 - "[Bug] Shell Flyout - Weird line at the bottom of the items in iOS" (#9429)
  • GitHub #9088 - "[Bug] SwipeView items conflict with Shell menu swipe in from left, on real iOS devices" (#9144)
  • GitHub #9205 - "[Bug] Shell MenuItem Text Binding values not updated on Android" (#11987)

SwipeView

  • GitHub #10679 - "[Bug] SwipeView crash with NullReferenceException" (#10682)
  • GitHub #11209 - "[Bug] [iOS][SwipeView] Swipe view not handling tap gesture events until swiped" (#11217)
  • GitHub #11286 - "[Bug] SwipeItem clicked event not working" (#11298)
  • GitHub #11314 - "Cannot swipe the swipeview inside a Listview[Bug] " (#11358)
  • GitHub #11333 - "[Bug] SwipeView does not work on Android if child has TapGestureRecognizer" (#11340)
  • GitHub #11643 - "[Bug] SwipeBehaviorOnInvoked="RemainOpen" triggers event twice" (#11904) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11737 - "[Bug] SwipeView Closes After Command Executes Despite SwipeBehaviorOnInvoked="RemainOpen" (iOS)" (#11762)
  • GitHub #11831 - "[Bug] SwipeView removes Frame borders on Android" (#11947) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))
  • GitHub #12458 - "[Bug] NullReferenceException at Xamarin.Forms.Platform.Android.SwipeViewRenderer.CreateSwipeItem" (#12481) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #8941 - "[Bug] [SwipeView] Changing SwipeMode changes the width of the SwipeItem" (#9574)
  • GitHub #8974 - "[Enhancement] [SwipeView] Allow tolerance and swipe length to be set for the swipe action" (#9574)
  • GitHub #9088 - "[Bug] SwipeView items conflict with Shell menu swipe in from left, on real iOS devices" (#9144)

Visual

  • "[Tizen] Enhances the shell renderer" (#12119)
  • "[Tizen] Fix material style slider issue" (#12708) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • "[Tizen] Update Tizen.NET.MaterialComponents" (#12282) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))
  • "Duo SDK memory leak and Performance fixes" (#11837)
  • "Update to C# 8.0" (#12115) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))
  • GitHub #11471 - "# TimePicker Inconsistencies" (#11474) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #11472 - "# DatePicker Inconsistencies" (#11474) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12504 - "[Enhancement] Upgrade for Xamarin.Forms maps" (#12520) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12556 - "How to Time Picker Set to Binding Value" (#11474) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #9088 - "[Bug] SwipeView items conflict with Shell menu swipe in from left, on real iOS devices" (#9144)

Other Enhancements

  • "[X] Xaml BindingDiagnostics" (#10523) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))
  • "Easing type converter" (#11601)
  • GitHub #12401 - "[Enhancement] INameScope.UnregisterName" (#12410) (added in 5.0.0.1558-pre3 (5.0.0 Pre Release 3))
  • GitHub #12525 - "[Enhancement] Support getting value source information" (#12519) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12608 - "[Enhancement] Add VisualElement.Name property" (#12634) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #8279 - "[Feature requested] ListView do not ScrollTo a group when there is no child of this group." (#8310)
  • GitHub #8405 - "[Enhancement] Allow everyone access to the WeakEventManager class" (#12063)

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

UWP Shell

Try it with Forms.SetFlags("Shell_UWP_Experimental");
  • "[Core,iOS,Android] Remove experimental flags Carousel, Swipe, Shapes, Brush" (#12068)
  • "Adds Shell Flyout Footer Template" (#6432) (added in 5.0.0.1558-pre3 (5.0.0 Pre Release 3))
  • "Fix flyout render quirks" (#12129) (added in 5.0.0.1539-pre2 (5.0.0 Pre Release 2))
  • "Fix multiple events on toolbar items" (#12797) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • "When popping multiple pages remove middle pages first" (#12331) (added in 5.0.0.1558-pre3 (5.0.0 Pre Release 3))
  • GitHub #11706 - "[Bug] UWP Shell - Toolbar buttons do not work correctly" (#11838) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #12652 - "[Bug] NullReferenceException in the Shell on UWP" (#12713) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #7913 - "[Shell, UWP] Cannot prevent flyout menu list from scrolling." (#12547) (added in 5.0.0.1709-pre4 (5.0.0 Pre Release 4))
  • GitHub #9088 - "[Bug] SwipeView items conflict with Shell menu swipe in from left, on real iOS devices" (#9144)

Release History

  • Monday, November 16, 2020 - Xamarin.Forms 5.0.0.1709-pre4 (5.0.0 Pre Release 4)
  • Thursday, October 15, 2020 - Xamarin.Forms 5.0.0.1558-pre3 (5.0.0 Pre Release 3)
  • Wednesday, October 7, 2020 - Xamarin.Forms 5.0.0.1539-pre2 (5.0.0 Pre Release 2)
  • Wednesday, September 23, 2020 - Xamarin.Forms 5.0.0.1487-pre1 (5.0.0 Pre Release 1)

Monday, November 16, 2020 - Xamarin.Forms 5.0.0.1709-pre4 (5.0.0 Pre Release 4)

Issues Fixed

Additional fixes included in this release

  • "[HR] fix 2 logicalchildren issues" (#12657)
  • "[iOS] Remove old file for RadioButton" (#12749)
  • "[Tizen] Added Clip Tizen implementation" (#12745)
  • "[Tizen] Added Shapes Tizen implementation" (#12537)
  • "[Tizen] Allow Tap gesture using remote control on TV" (#12792)
  • "[Tizen] CollectionView optimize for TV profile" (#12781)
  • "[Tizen] Fix custom font issue" (#12707)
  • "[Tizen] Fix focused event missing issue" (#12452)
  • "[Tizen] Fix ListView cell rendering on TV" (#12602)
  • "[Tizen] Fix material style slider issue" (#12708)
  • "[Tizen] Fix stepper value issue" (#12579)
  • "[Tizen] Fix the text selection issue of Entry" (#12468)
  • "[Tizen] Modify NavigationDrawer to fix Entry issue" (#12705)
  • "[Tizen] Optimize Shell Flyout for TV " (#12746)
  • "[Tizen] Support Vertical/HorizontalScrollStep to ScrollView" (#12466)
  • "[X] add ConvertTo to typeconverters" (#12431)
  • "[X] Don't remove enclosing quotes (#12813) fixes #12763" (#12813)
  • "[X] throw if x:Key isn't a string literal" (#12427)
  • "Apply internet check to additional tests" (#12804)
  • "Automated dotnet-format update (#12810)" (#12810)
  • "Calculate Nav Source and fix popping params" (#12514)
  • "fix attribute usage on ContentProperty" (#12412)
  • "Fix multiple events on toolbar items" (#12797)
  • "Fix Null reference exception on UpdateIsRefreshing when the window is resized" (#11532)
  • "Fix WebView Navigated Status Bug In Android" (#12169)
  • "iOS: CollectionView: ItemsViewLayout: Fix null reference on invalidate layout" (#12632)
  • "Only build one UWP target when using IDE (#12808)" (#12808)
  • "Remove markup extensions" (#12730)
  • "Update google maps to the latest AndroidX bindings" (#10873)
  • "Update README.md" (#12768)
  • GitHub #12543 - "ScrollView ScrollToAsync for x, y positions not working" (#12721)

Thursday, October 15, 2020 - Xamarin.Forms 5.0.0.1558-pre3 (5.0.0 Pre Release 3)

Issues Fixed

Additional fixes included in this release

  • "Fix layout cycle in ViewToRendererConverter" (#12365)
  • "Make OnPlatform helpers public" (#12278)
  • "When popping multiple pages remove middle pages first" (#12331)

Wednesday, October 7, 2020 - Xamarin.Forms 5.0.0.1539-pre2 (5.0.0 Pre Release 2)

Issues Fixed

Additional fixes included in this release

  • "[Tizen] Fix the DisplayActionSheet" (#12188)
  • "[Tizen] Update Tizen.NET.MaterialComponents" (#12282)
  • "Add protected Accessor to VisualElement Constructor" (#12125)
  • "Fix flyout render quirks" (#12129)
  • "Removed RadioButton Experimental flag" (#12322)
  • "Resolve Layout changes during native measure/arrange pass" (#12017)
  • "Update to C# 8.0" (#12115)

Wednesday, September 23, 2020 - Xamarin.Forms 5.0.0.1487-pre1 (5.0.0 Pre Release 1)

Issues Fixed

Additional fixes included in this release

  • "[Build] Update sigining" (#11901)
  • "[Core,iOS,Android] Remove experimental flags Carousel, Swipe, Shapes, Brush" (#12068)
  • "[Core] Add an overload for async ImageSource" (#11906)
  • "[Housekeeping] More cleanup" (#11999)
  • "[Tizen] Adds the DisplayResolutionUnit" (#12074)
  • "[Tizen] Enhances the EntryRenderer" (#11978)
  • "[Tizen] Enhances the shell renderer" (#12119)
  • "[Tizen] Fix Assembly registration issue" (#12130)
  • "[Tizen] Fixed getting the device type" (#12133)
  • "[Tizen] Update profile unified font size scaling" (#11979)
  • "[WPF] Fix FormsPanel MeasureOverride negative requested size" (#10653)
  • "[X] Add a TrySetPropertyValue overload for HR" (#12043)
  • "[xamlc] add a new ResourceLoader.IsEnabled check" (#11754)
  • "[xamlc] fix duplicate Mono.Cecil search paths" (#12030)
  • "Add compliance" (#11612)
  • "Bump UWP to 19041" (#11940)
  • "Duo SDK memory leak and Performance fixes" (#11837)
  • "EasingDesignTypeConverter" (#11697)
  • "Make CancelAnimations an extension method" (#11884)
  • "Make Frames with Labels work in ListViews again" (#11976)
  • "Reinstate loading of local HTML files in WKWebViewRenderer" (#12029)
  • "Remove Compact Window from Dual Screen APIs" (#12093)
  • "Templated RadioButtons and RadioButtonGroups" (#11628)

Known Issues

Breaking Changes

Namespace Xamarin.Forms

Type Changed: Xamarin.Forms.Brush

Modified base type:

-Xamarin.Forms.BindableObject
+Xamarin.Forms.Element

Type Changed: Xamarin.Forms.CarouselView

Removed method:

public static void VerifyCarouselViewFlagEnabled (string constructorHint, string memberName);

Type Changed: Xamarin.Forms.DropGestureRecognizer

Removed method:

public System.Threading.Tasks.Task SendDrop (DropEventArgs args, VisualElement element);

Type Changed: Xamarin.Forms.GradientStop

Modified base type:

-Xamarin.Forms.BindableObject
+Xamarin.Forms.Element

Type Changed: Xamarin.Forms.MasterDetailPage

Modified base type:

-Xamarin.Forms.Page
+Xamarin.Forms.FlyoutPage

Removed interface:

Xamarin.Forms.IElementConfiguration<MasterDetailPage>

Removed fields:

public static BindableProperty IsGestureEnabledProperty;
public static BindableProperty IsPresentedProperty;

Removed properties:

public bool CanChangeIsPresented { get; set; }
public Page Detail { get; set; }
public Rectangle DetailBounds { get; set; }
public bool IsGestureEnabled { get; set; }
public bool IsPresented { get; set; }
public bool ShouldShowSplitMode { get; }

Removed events:

public event System.EventHandler<BackButtonPressedEventArgs> BackButtonPressed;
public event System.EventHandler IsPresentedChanged;

Removed methods:

public virtual bool ShouldShowToolbarButton ();

Type Changed: Xamarin.Forms.RadioButton

Modified base type:

-Xamarin.Forms.Button
+Xamarin.Forms.TemplatedView

Removed interfaces:

IButtonController
Xamarin.Forms.IElementConfiguration<Button>
IImageController
IImageElement

Removed field:

public static const string IsCheckedVisualState = "IsChecked";

Type Changed: Xamarin.Forms.SwipeView

Removed method:

public static void VerifySwipeViewFlagEnabled (string constructorHint, string memberName);

Type Changed: Xamarin.Forms.ViewExtensions

Modified methods:

 public void CancelAnimations (---this ---VisualElement view)

Removed Type Xamarin.Forms.Expander

Removed Type Xamarin.Forms.ExpanderState

Removed Type Xamarin.Forms.FileMediaSource

Removed Type Xamarin.Forms.FileMediaSourceConverter

Removed Type Xamarin.Forms.IMediaElementController

Removed Type Xamarin.Forms.MediaElement

Removed Type Xamarin.Forms.MediaElementState

Removed Type Xamarin.Forms.MediaSource

Removed Type Xamarin.Forms.MediaSourceConverter

Removed Type Xamarin.Forms.SeekRequested

Removed Type Xamarin.Forms.StateRequested

Removed Type Xamarin.Forms.UriMediaSource

Namespace Xamarin.Forms.PlatformConfiguration.TizenSpecific

Removed Type Xamarin.Forms.PlatformConfiguration.TizenSpecific.BufferingProgressUpdatedEventArgs

Removed Type Xamarin.Forms.PlatformConfiguration.TizenSpecific.DisplayAspectMode

Removed Type Xamarin.Forms.PlatformConfiguration.TizenSpecific.IMediaPlayer

Removed Type Xamarin.Forms.PlatformConfiguration.TizenSpecific.IPlatformMediaPlayer

Removed Type Xamarin.Forms.PlatformConfiguration.TizenSpecific.IVideoOutput

Removed Type Xamarin.Forms.PlatformConfiguration.TizenSpecific.PlaybackState

Removed Type Xamarin.Forms.PlatformConfiguration.TizenSpecific.VideoOuputType

Removed Namespace Xamarin.Forms.Markup

Removed Type Xamarin.Forms.Markup.BindableObjectExtensions

Removed Type Xamarin.Forms.Markup.DefaultBindableProperties

Removed Type Xamarin.Forms.Markup.ElementExtensions

Removed Type Xamarin.Forms.Markup.ElementGesturesExtensions

Removed Type Xamarin.Forms.Markup.FuncConverter

Removed Type Xamarin.Forms.Markup.FuncConverter`1

Removed Type Xamarin.Forms.Markup.FuncConverter`2

Removed Type Xamarin.Forms.Markup.FuncConverter`3

Removed Type Xamarin.Forms.Markup.GridRowsColumns

Removed Type Xamarin.Forms.Markup.LabelExtensions

Removed Type Xamarin.Forms.Markup.LayoutExtensions

Removed Type Xamarin.Forms.Markup.NotConverter

Removed Type Xamarin.Forms.Markup.Style`1

Removed Type Xamarin.Forms.Markup.ToStringConverter

Removed Type Xamarin.Forms.Markup.ViewExtensions

Removed Type Xamarin.Forms.Markup.ViewInFlexLayoutExtensions

Removed Type Xamarin.Forms.Markup.ViewInGridExtensions

Removed Type Xamarin.Forms.Markup.VisualElementExtensions

Removed Namespace Xamarin.Forms.Markup.LeftToRight

Removed Type Xamarin.Forms.Markup.LeftToRight.LabelExtensions

Removed Type Xamarin.Forms.Markup.LeftToRight.ViewExtensions

Removed Namespace Xamarin.Forms.Markup.RightToLeft

Removed Type Xamarin.Forms.Markup.RightToLeft.LabelExtensions

Removed Type Xamarin.Forms.Markup.RightToLeft.ViewExtensions

Namespace Xamarin.Forms.Platform.Android

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

Removed field:

protected Xamarin.Forms.CarouselView Carousel;

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

Removed interfaces:

Android.Views.View.IOnAttachStateChangeListener
Android.Views.View.IOnClickListener
Android.Views.View.IOnTouchListener
IButtonLayoutRenderer

Modified properties:

-protected Xamarin.Forms.Button Element { get; set; }
+protected Xamarin.Forms.RadioButton Element { get; +++set;+++ }

Removed methods:

protected virtual void OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.Button> e);
protected override void OnLayout (bool changed, int l, int t, int r, int b);

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

Modified methods:

-public void Init (System.Reflection.Assembly masterAssembly)
+public void Init (System.Reflection.Assembly mainAssembly)

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

Removed method:

public static void SetClipToOutline (this Android.Views.View view, bool value, Xamarin.Forms.VisualElement element);

Removed Type Xamarin.Forms.Platform.Android.MediaElementRenderer

Namespace Xamarin.Forms.Platform.Android.AppCompat

Type Changed: Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer

Modified base type:

-AndroidX.DrawerLayout.Widget.DrawerLayout
+Xamarin.Forms.Platform.Android.FlyoutPageRenderer

Removed methods:

protected override void Dispose (bool disposing);
protected override void OnAttachedToWindow ();
protected override void OnDetachedFromWindow ();
protected virtual void OnElementChanged (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement);
protected override void OnLayout (bool changed, int l, int t, int r, int b);
protected virtual void SetAutomationId (string id);
protected virtual void SetContentDescription ();

Namespace Xamarin.Forms.Platform.Tizen

Type Changed: Xamarin.Forms.Platform.Tizen.INavigationView

Modified properties:

-public abstract ElmSharp.EvasObject Header { get; set; }
+public abstract Xamarin.Forms.View Header { get; set; }

Type Changed: Xamarin.Forms.Platform.Tizen.IShellTabs

Removed properties:

public ElmSharp.EvasObject TargetView { get; }
public ShellTabsType Type { get; set; }

Type Changed: Xamarin.Forms.Platform.Tizen.NavigationDrawer

Modified base type:

-Xamarin.Forms.Platform.Tizen.Native.Box
+ElmSharp.Box

Removed property:

public bool IsLock { get; set; }

Type Changed: Xamarin.Forms.Platform.Tizen.NavigationView

Removed constructor:

public NavigationView (ElmSharp.EvasObject parent);

Modified properties:

-public virtual final ElmSharp.EvasObject Header { get; set; }
+public virtual final Xamarin.Forms.View Header { get; set; }

Type Changed: Xamarin.Forms.Platform.Tizen.ShellItemRenderer

Removed constructor:

public ShellItemRenderer (IFlyoutController flyoutController, Xamarin.Forms.ShellItem item);

Removed properties:

public ElmSharp.Color BackgroundColor { get; set; }
public Native.Box Control { get; }

Removed methods:

protected virtual ShellSectionNavigation CreateShellSectionNavigation (IFlyoutController flyoutController, Xamarin.Forms.ShellSection section);
public void SetCurrentItem (Xamarin.Forms.ShellSection section);
public void UpdateCurrentItem (Xamarin.Forms.ShellSection section);

Type Changed: Xamarin.Forms.Platform.Tizen.ShellMoreToolbar

Removed constructor:

public ShellMoreToolbar (ShellItemRenderer renderer);

Removed property:

public int Height { get; }

Removed methods:

public Xamarin.Forms.ShellSection RemoveFirst ();
public void RemoveItem (Xamarin.Forms.ShellSection section);

Type Changed: Xamarin.Forms.Platform.Tizen.ShellNavBar

Modified base type:

-Xamarin.Forms.Platform.Tizen.Native.Box
+ElmSharp.Box

Removed constructor:

public ShellNavBar (IFlyoutController flyoutController);

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

Removed methods:

protected virtual ShellItemRenderer CreateShellItem (Xamarin.Forms.ShellItem item);

Type Changed: Xamarin.Forms.Platform.Tizen.ShellSectionRenderer

Removed properties:

public ElmSharp.Color BackgroundColor { get; set; }
public Native.Box Control { get; }
public ElmSharp.Color ForegroundColor { get; set; }

Type Changed: Xamarin.Forms.Platform.Tizen.ShellTabs

Removed properties:

public ElmSharp.EvasObject TargetView { get; }
public ShellTabsType Type { get; set; }

Type Changed: Xamarin.Forms.Platform.Tizen.ThemeConstants

Type Changed: Xamarin.Forms.Platform.Tizen.ThemeConstants.Button.Styles.Common.Entry.GenListItem.Shell.Resources.Shell

Type Changed: Xamarin.Forms.Platform.Tizen.ThemeConstants.Button.Styles.Common.Entry.GenListItem.Shell.Resources.Resources

Modified fields:

-public const string BackIcon = "Xamarin.Forms.Platform.Tizen.Resource.arrow_left.png";
+public const string BackIcon = "Resource.arrow_left.png";
-public const string DotsIcon = "Xamarin.Forms.Platform.Tizen.Resource.dots_horizontal.png";
+public const string DotsIcon = "Resource.dots_horizontal.png";
-public const string MenuIcon = "Xamarin.Forms.Platform.Tizen.Resource.menu.png";
+public const string MenuIcon = "Resource.menu.png";

Removed Type Xamarin.Forms.Platform.Tizen.ThemeConstants.Button.Styles.Common.Entry.GenListItem.Shell.Resources.CollectionView

Removed Type Xamarin.Forms.Platform.Tizen.AspectToDisplayAspectModeConverter

Removed Type Xamarin.Forms.Platform.Tizen.Group

Removed Type Xamarin.Forms.Platform.Tizen.IMediaViewProvider

Removed Type Xamarin.Forms.Platform.Tizen.Item

Removed Type Xamarin.Forms.Platform.Tizen.MediaElementExtension

Removed Type Xamarin.Forms.Platform.Tizen.MediaElementRenderer

Removed Type Xamarin.Forms.Platform.Tizen.ShellSectionNavigation

Namespace Xamarin.Forms.Platform.Tizen.Native

Type Changed: Xamarin.Forms.Platform.Tizen.Native.ViewHolder

Removed event:

public event System.EventHandler Selected;

Removed method:

protected void SendSelected ();

Removed Type Xamarin.Forms.Platform.Tizen.Native.EmbeddingControls

Removed Type Xamarin.Forms.Platform.Tizen.Native.LayoutCanvas

Removed Type Xamarin.Forms.Platform.Tizen.Native.MasterDetailPage

Removed Type Xamarin.Forms.Platform.Tizen.Native.MediaPlayer

Removed Type Xamarin.Forms.Platform.Tizen.Native.MediaPlayerImpl

Removed Type Xamarin.Forms.Platform.Tizen.Native.MillisecondToTextConverter

Removed Type Xamarin.Forms.Platform.Tizen.Native.ProgressToBoundTextConverter

Namespace Xamarin.Forms.Platform.UWP

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

Removed property:

protected Xamarin.Forms.CarouselView Carousel { get; }

Type Changed: Xamarin.Forms.Platform.UWP.ItemsViewRenderer`1

Removed method:

protected virtual void FindScrollViewer (Windows.UI.Xaml.Controls.ListViewBase listView);

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

Modified base type:

-Windows.UI.Xaml.Controls.Control
+Xamarin.Forms.Platform.UWP.FlyoutPageControl

Removed fields:

public static Windows.UI.Xaml.DependencyProperty CollapseStyleProperty;
public static Windows.UI.Xaml.DependencyProperty CollapsedPaneWidthProperty;
public static Windows.UI.Xaml.DependencyProperty ContentTogglePaneButtonVisibilityProperty;
public static Windows.UI.Xaml.DependencyProperty DetailProperty;
public static Windows.UI.Xaml.DependencyProperty DetailTitleIconProperty;
public static Windows.UI.Xaml.DependencyProperty DetailTitleProperty;
public static Windows.UI.Xaml.DependencyProperty DetailTitleViewProperty;
public static Windows.UI.Xaml.DependencyProperty DetailTitleViewVisibilityProperty;
public static Windows.UI.Xaml.DependencyProperty DetailTitleVisibilityProperty;
public static Windows.UI.Xaml.DependencyProperty IsPaneOpenProperty;
public static Windows.UI.Xaml.DependencyProperty MasterProperty;
public static Windows.UI.Xaml.DependencyProperty MasterTitleProperty;
public static Windows.UI.Xaml.DependencyProperty MasterTitleVisibilityProperty;
public static Windows.UI.Xaml.DependencyProperty MasterToolbarVisibilityProperty;
public static Windows.UI.Xaml.DependencyProperty ShouldShowNavigationBarProperty;
public static Windows.UI.Xaml.DependencyProperty ShouldShowSplitModeProperty;
public static Windows.UI.Xaml.DependencyProperty ToolbarBackgroundProperty;
public static Windows.UI.Xaml.DependencyProperty ToolbarForegroundProperty;

Removed properties:

public Xamarin.Forms.PlatformConfiguration.WindowsSpecific.CollapseStyle CollapseStyle { get; set; }
public double CollapsedPaneWidth { get; set; }
public Windows.UI.Xaml.Visibility ContentTogglePaneButtonVisibility { get; set; }
public Windows.UI.Xaml.FrameworkElement Detail { get; set; }
public Windows.Foundation.Size DetailSize { get; }
public string DetailTitle { get; set; }
public Windows.UI.Xaml.Media.ImageSource DetailTitleIcon { get; set; }
public Xamarin.Forms.View DetailTitleView { get; set; }
public Windows.UI.Xaml.Visibility DetailTitleViewVisibility { get; set; }
public Windows.UI.Xaml.Visibility DetailTitleVisibility { get; set; }
public bool IsPaneOpen { get; set; }
public bool ShouldShowNavigationBar { get; set; }
public bool ShouldShowSplitMode { get; set; }
public bool ShouldShowToolbar { get; set; }
public Windows.UI.Xaml.Media.Brush ToolbarBackground { get; set; }
public bool ToolbarDynamicOverflowEnabled { get; set; }
public Windows.UI.Xaml.Media.Brush ToolbarForeground { get; set; }
public Xamarin.Forms.PlatformConfiguration.WindowsSpecific.ToolbarPlacement ToolbarPlacement { get; set; }

Removed method:

protected override void OnApplyTemplate ();

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

Removed properties:

public MasterDetailControl Control { get; }
public Xamarin.Forms.MasterDetailPage Element { get; }
protected Xamarin.Forms.Platform.UWP.VisualElementTracker<Xamarin.Forms.Page,Windows.UI.Xaml.FrameworkElement> Tracker { get; set; }

Removed event:

public event System.EventHandler<VisualElementChangedEventArgs> ElementChanged;

Removed methods:

public virtual void BindForegroundColor (Windows.UI.Xaml.Controls.AppBar appBar);
public virtual void BindForegroundColor (Windows.UI.Xaml.Controls.AppBarButton button);
public virtual void Dispose ();
public virtual Xamarin.Forms.SizeRequest GetDesiredSize (double widthConstraint, double heightConstraint);
protected virtual void OnElementChanged (Xamarin.Forms.Platform.UWP.ElementChangedEventArgs<Xamarin.Forms.MasterDetailPage> e);
protected virtual void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
public virtual void SetElement (Xamarin.Forms.VisualElement element);

Removed Type Xamarin.Forms.Platform.UWP.MediaElementRenderer

Assembly Version Changed: 2.0.0.0 vs 0.0.0.0

Assembly Version Changed: 2.0.0.0 vs 0.0.0.0

Deprecations

API Changes

See all API Changes here.

Blogs

Xamarin Blogs

Thank you

Thank you to our community for helping to make Xamarin.Forms even better! Do you want to contribute in some way, too? Join us on Discord!

Contributors

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

Author Commit PR
1iveowl (@1iveowl) [iOS] Fix touch conflict between Shell Flyout and SwipeView (on Device) (#9144) #9144
Adam (@adamped) [iOS] ActivityIndicator starting animation only when attached to superview (#11339) #11339
Andrei (@AndreiMisiukevich) Easing type converter (#11601) #11601
Andrei (@AndreiMisiukevich) EasingDesignTypeConverter (#11697) #11697
Andrei (@AndreiMisiukevich) fixes #9720 (#9732) #9732
Andrew Hoefling (@ahoefling) Changed VisualElement default constructor accessor to protected internal (#12125) #12125
Andrew Hoefling (@ahoefling) Adds Shell Flyout Footer Template (#6432) #6432
Brian Macomber (@bmacombe) Add shell flyout scroll mode support (#12547) fixes #7913 #12547
Brian Macomber (@bmacombe) Fix initial load when WhileEditing (#12765) #12765
Byron Maroney (@breezy64) Fixing NRE in ContextActionCell (#11944) fixes #11943 #11944
Durgesh Khandal (@techduggu) [Enhancement] ListView ScrollTo with empty groups - Android (#8310)f ixes #8279 #8310
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12306) #12306
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12319) #12319
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12335) #12335
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12403) #12403
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12437) #12437
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12500) #12500
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12513) #12513
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12534) #12534
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12548) #12548
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12578) #12578
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12589) #12589
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12613) #12613
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12668) #12668
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12691) #12691
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12702) #12702
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12752) #12752
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12770) #12770
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12791) #12791
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12799) #12799
github-actions[bot] (@github-actions[bot]) Automated dotnet-format update (#12810) #12810
Hemant Sharma (@hemantbeast) iOS: CollectionView: ItemsViewLayout: Fix null reference on invalidate layout (#12632) #12632
Jay Cho (@JoonghyunCho) [Tizen] Added Shapes Tizen implementation (#12537) #12537
Jay Cho (@JoonghyunCho) [Tizen] Added Clip Tizen implementation (#12745) #12745
Jogy (@JogyBlack) Fix to display toolbar icons under UWP Shell (partial fix for #11706). (#11838) #11838
john-larson (@john-larson) Fix Android Webview load error fixes #11988 (#12169) #12169
Jonathan Eduardo García García (@Jon2G) Update RefreshViewRenderer.cs (#11532) #11532
Kangho Hur (@rookiejava) [Tizen] Adds the Unified Theme Manager (#11779) #11779
Kangho Hur (@rookiejava) [Tizen] Enhances the EntryRenderer (#11978) #11978
Kangho Hur (@rookiejava) [Tizen] Fixed getting the device type (#12133) #12133
Kangho Hur (@rookiejava) [Tizen] Replace MDP to FlyoutPage (#12277) #12277
Kangho Hur (@rookiejava) [Tizen] Support Vertical/HorizontalScrollStep to ScrollView (#12466) #12466
Kangho Hur (@rookiejava) [Tizen] Support Brushes to Tizen (#12501) #12501
Kangho Hur (@rookiejava) [Tizen] Fix ListView cell rendering on TV (#12602) #12602
Kangho Hur (@rookiejava) [Tizen] Allow Tap gesture using remote control on TV (#12792) #12792
KyNam (@KyNam) MacOS - Fix crash when invoking VisualElement.Focus() (#12267) #12267
memu8 (@memu8) Fix datetimepickerlocalization (#11474) fixes #11471 fixes #11472 fixes #12556 #11474
Morten Nielsen (@dotMorten) Only require 14393+ for class libraries #10368 (#10713) #10713
Pedro Jesus (@pictos) [GH-10729] Added Current Page in Shell (#10979) #10979
Pedro Jesus (@pictos) GH-8881 - Remove the line at the flyout's end (#9429) #9429
Pedro Jesus (@pictos) Fix flyout render quirks (#12129) #12129
Pedro Jesus (@pictos) Make OnPlatform helpers public (#12278) #12278
Peter Foot (@peterfoot) [WPF] Open DatePicker when control receives focus (to match other platforms) (#11087) #11087
Philippe Leybaert (@activa) [UWP] Fix crash when specifying non-embedded font families (fixes #12153) (#12171) #12171
pRopia (@aaRopi) Added implementation for provisional failure handling method for WkWebview. (#12327) fixes #12312 fixes #12732 #12327
Seungkeun Lee (@myroot) Update profile unified font size scaling (#11979) #11979
Seungkeun Lee (@myroot) Fix SearchHandler.SetIsFocused (#11895) fixes #11894 #11895
Seungkeun Lee (@myroot) [Tizen] Adds the DisplayResolutionUnit (#12074) #12074
Seungkeun Lee (@myroot) Fix Assembly registration issue (#12130) #12130
Seungkeun Lee (@myroot) [Tizen] Enhances the shell renderer (#12119) #12119
Seungkeun Lee (@myroot) [Tizen] Support VisualState on Items of CollectionView (#12281) fixes #12225 #12281
Seungkeun Lee (@myroot) Fix focused event missing issue (#12452) #12452
Seungkeun Lee (@myroot) CollectionView optimize for TV profile (#12781) #12781
shmin (@shyunMin) [Tizen] Fix the DisplayActionSheet (#12188) #12188
shmin (@shyunMin) [Tizen] Update Tizen.NET.MaterialComponents (#12282) #12282
shmin (@shyunMin) [Tizen] Fix the text selection issue of Entry (#12468) #12468
shmin (@shyunMin) [Tizen] Fix stepper value issue (#12579) #12579
shmin (@shyunMin) [Tizen] Fix material style slider issue (#12708) #12708
shmin (@shyunMin) [Tizen] Fix custom font issue (#12707) #12707
shmin (@shyunMin) [Tizen] Modify NavigationDrawer to fix Entry issue (#12705) #12705
shmin (@shyunMin) [Tizen] Optimize Shell Flyout for TV (#12746) #12746
sung-su.kim (@sung-su) [Tizen] Fix CarouselPageRenderer (#12479) fixes #12451 #12479
tessarolli (@tessarolli) [WPF] Fix FormsPanel MeasureOverride negative requested size (#10653) #10653
Vitaly Knyazev (@VitalyKnyazev) Fixes #12585 (#12586) #12586
Vladislav Antonyuk (@VladislavAntonyuk) #3659 #3660 WPF/GTK ListView ContextMenu, SelectionBehavior fix (#6417) #6417
Yann Zahringer Ferrando (@YZahringer) WeakEventManager made public (#12063) fixes #8405, #12063
Yann Zahringer Ferrando (@YZahringer) TryFormat with result of MultiValueConverter (#12100) #12100

Community Reviewers

As if that wasn't enough, these amazing community members and MVPs reviewed and tested these pull requests. We couldn't do it without you!

Reviewer PR
(@campersau) #12634
(@dersia) #9453
(@fwutterbys) #9453
Charles Bissonnette (@chabiss) #12657
ET (@etvorun) #12634
Felipe Baltazar (@felipebaltazar) #12039
Kangho Hur (@rookiejava) #12479
Kangho Hur (@rookiejava) #11979
Kangho Hur (@rookiejava) #12074
Kangho Hur (@rookiejava) #12119
Kangho Hur (@rookiejava) #12130
Kangho Hur (@rookiejava) #12188
Kangho Hur (@rookiejava) #12452
Kangho Hur (@rookiejava) #12468
Kangho Hur (@rookiejava) #12537
Kangho Hur (@rookiejava) #12579
Kangho Hur (@rookiejava) #12705
Kangho Hur (@rookiejava) #12707
Kangho Hur (@rookiejava) #12708
Kangho Hur (@rookiejava) #12745
Kangho Hur (@rookiejava) #12746
Kangho Hur (@rookiejava) #12781
Mohamed CHOUCHANE (@mohachouch) #6417
Nick Randolph (@nickrandolph) #8310
Pedro Jesus (@pictos) #6432
Pedro Jesus (@pictos) #12039
Pedro Jesus (@pictos) #12186
Pedro Jesus (@pictos) #12320
Pedro Jesus (@pictos) #12547
Pedro Jesus (@pictos) #12331
Pedro Jesus (@pictos) #12514
Peter Spada (@spadapet) #10523
Rachel Kang (@rachelkang) #12331
Rafael Rivera (@riverar) #8310
Rafael Rivera (@riverar) #11087
Rafael Rivera (@riverar) #9732
Vladislav Antonyuk (@VladislavAntonyuk) #10653

Reporting Issues

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 5.0.0 is based on the open-source Xamarin.Forms repository: