Xamarin.Forms 5.0.0.2244 (5.0.0 Service Release 7) Release Notes

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

Upgrading to Xamarin.Forms 5.0

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.

As you upgrade your applications to Xamarin.Forms 5, there are some changes and removals to be aware of. Below is an itemized list:

Dependency Requirements

  • Android 10 or greater should be your Target Framework
  • AndroidX is now the default for Xamarin.Forms. For guidance migrationg from Android Support to AndroidX, visit our documentation here.

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

RadioButton Changes

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>

A sample control template XAML is here.

RadioButtons image

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.

Release History

  • November 15, 2021 - Xamarin.Forms 5.0.0.2244 (5.0.0 Service Release 7)
  • October 15, 2021 - Xamarin.Forms 5.0.0.2196 (5.0.0 Service Release 6)
  • September 17, 2021 - Xamarin.Forms 5.0.0.2125 (5.0.0 Service Release 5)
  • July 12, 2021 - Xamarin.Forms 5.0.0.2083 (5.0.0 Service Release 4)
  • February 12, 2021 - Xamarin.Forms 5.0.0.2012 (5.0.0 Service Release 3)
  • January 25, 2021 - Xamarin.Forms 5.0.0.1931 (5.0.0 Service Release 2)
  • January 19, 2021 - Xamarin.Forms 5.0.0.1905 (5.0.0 Service Release 1)
  • January 5, 2021 - Xamarin.Forms 5.0.0.1874 (5.0.0)
  • December 22, 2020 - Xamarin.Forms 5.0.0.1829-pre6 (5.0.0 Pre Release 6)
  • December 8, 2020 - Xamarin.Forms 5.0.0.1791-pre5 (5.0.0 Pre Release 5)
  • November 16, 2020 - Xamarin.Forms 5.0.0.1709-pre4 (5.0.0 Pre Release 4)
  • October 14, 2020 - Xamarin.Forms 5.0.0.1558-pre3 (5.0.0 Pre Release 3)
  • October 7, 2020 - Xamarin.Forms 5.0.0.1539-pre2 (5.0.0 Pre Release 2)
  • September 23, 2020 - Xamarin.Forms 5.0.0.1487-pre1 (5.0.0 Pre Release 1)

November 15, 2021 - Xamarin.Forms 5.0.0.2244 (5.0.0 Service Release 7)

October 15, 2021 - Xamarin.Forms 5.0.0.2196 (5.0.0 Service Release 6)

September 17, 2021 - Xamarin.Forms 5.0.0.2125 (5.0.0 Service Release 5)

July 12, 2021 - Xamarin.Forms 5.0.0.2083 (5.0.0 Service Release 4)

February 12, 2021 - Xamarin.Forms 5.0.0.2012 (5.0.0 Service Release 3)

Issues Fixed

Additional fixes included in this release

  • "[Android] Fix TalkBack to read back button title when it is set (#13563)" (#13563)
  • "[Android] Remove missings listeners on dispose (#13569)" (#13569)
  • "[Core] Add Selected VisualState for IndicatorView (#13534)" (#13534)
  • "[iOS] Allow observable source update while CollectionView is not visible (#13678) fixes #13126" (#13678)
  • "[macOS] Fix usage of FormattedText (#13529) fixes #12259" (#13529)
  • "[Tizen] Add drag and drop gesture handlers (#13692)" (#13692)
  • "[Tizen] Fix several CollectionView issue on Tizen (#13661)" (#13661)
  • "[Tizen] Use System.AppDomain on Init (#13606)" (#13606)
  • "[UITestst] Add QueryUntilNotPresent (#13710)" (#13710)
  • "Add API levels 26 (8.0) and 27 (8.1) (#13613)" (#13613)
  • "Fix additional scenarios with nested defined routes (#13648)" (#13648)
  • "Fix crash adding items to CarouselView on Android (#13617) fixes #13616" (#13617)
  • "Fix FlyoutItem recycling (#13681)" (#13681)
  • "Fix formatted text text type crash (#13532)" (#13532)
  • "Fix issue changing the ItemsLayout in UWP CollectionView (#13470) fixes #13437" (#13470)
  • "Fix material colors to match previous version better (#13666)" (#13666)
  • "Fix NRE when using Custom Slide Transition (#13494) fixes #13390" (#13494)
  • "Fix popping with ".." and QueryString (#13507)" (#13507)
  • "Fix Resource Manager code to use native APIs before reflection" (#13176)
  • "Fix Search Handler results to measure to the provided content (#13658) fixes #13403" (#13658)
  • "Fix string initializer for ShellNavigationState (#13478) fixes #13422" (#13478)
  • "Fixed date formatter issue with different timezone (#13634) fixes #13366" (#13634)
  • "Force Shell TitleView to height of container and fix flyout header scroll behaviors (#13514)" (#13514)
  • "Google material bump and set hint to transparent for multi line (#13647)" (#13647)
  • "Move layout change resolution calls up to VisualElementRenderer (#13640)" (#13640)
  • "Prevent overeager cache invalidation when the CollectionView height changes by very small amounts (#13738)" (#13738)

January 25, 2021 - Xamarin.Forms 5.0.0.1931 (5.0.0 Service Release 2)

Issues Fixed

  • GitHub #13203 - "[Bug] [iOS] CollectionView does not bind to items if IsVisible=False" (#13370)

Additional fixes included in this release

  • "[Android] CarouselView position resets when visibility toggled" (#12864)
  • "[Android] Changes in CarouselView initial position " (#13384)
  • "[Android] Crash in CarouselView adjusting PeekAreaInsets in OnSizeAllocated (#13440) fixes #13436" (#13440)
  • "[android] disposing drawing objects on FontImageSourceHandler" (#13201)
  • "[C] elements from Source are like items (#13490) fixes #13209" (#13490)
  • "[X] Accept RD.Source with assembly (#13484)" (#13484)
  • "Don't set IsAccessibilityElement for everything (#13423)" (#13423)
  • "Setup Shell to only use the LogicalChildren for reporting its LogicalChildren (#13462)" (#13462)

January 19, 2021 - Xamarin.Forms 5.0.0.1905 (5.0.0 Service Release 1)

Issues Fixed

  • GitHub #10473 - "[Bug] UWP - ListView does not recycle cells [HUUGE MEMORY ISSUE]" (#13277)
  • GitHub #11237 - "[Bug] Xamarin.Forms Shell - contextual navigation from global routes is not working" (#13330)
  • GitHub #11705 - "[Bug] [UWP] Setting the FontFamily crashes a multi-window app" (#11752)
  • GitHub #12245 - "[Bug] RadioButton and Shapes not re-rendering correctly in Shell and other cases of View Reuse" (#13284)
  • GitHub #13071 - "[Bug] and [CRASH] App Crashes on startup on High Sierra. Runs fine on higher operating systems" (#13314)
  • GitHub #13154 - "[Bug] Updating RowDefinitions via C# or Hot Reload doesn't work" (#13320)
  • GitHub #13225 - "[Bug] Path not loading in Xamarin ShellContent Tab once it is navigated back from other Tab" (#13284)
  • GitHub #13295 - "[Bug] Flyout Items not Visible on Shell when you are using a Flyout Background Image or a Brush" (#13300)
  • GitHub #13305 - "[Bug] Shell BackgroundImage doesn't fill all the flyout space under the Header" (#13322)
  • GitHub #13306 - "[Bug] Doesn't show Shell.Title on iOS, but fine on Android." (#13319)
  • GitHub #13310 - "[Bug] Shell.TitleView no longer displays a title view on a ContentPage " (#13319)
  • GitHub #13328 - "[Bug] [Shell] [XF5.0.0] Unable to navigate using PopAsync on Shell" (#13330)
  • GitHub #13331 - "[Bug] DatePicker style in Xamarin.Forms 5.0" (#13344)
  • GitHub #13374 - "[Bug] Xamarin.Forms 5.0: RadioButton content layout on iOS" (#13382)

Additional fixes included in this release

  • "[iOS] Fix NRE in ViewRenderer.LayoutSubviews" (#13381)
  • "[Tizen] Fix bug to the FastLayoutRenderer" (#13334)
  • "[Tizen] Fix Frame show clipper canvas issue" (#13335)
  • "FlyoutContent should return type object" (#13375)

January 5, 2021 - Xamarin.Forms 5.0.0.1874 (5.0.0)

Issues Fixed

  • GitHub #10563 - "[Bug] SwipeView Open methods does not work for RightItems" (#10575)
  • GitHub #10585 - "[Bug] CollectionView GridLayout items spacing" (#10624)
  • GitHub #10625/GitHub #10842 - "[Bug] [iOS] CollectionView - Invalid Height Measure when using different datatemplates" (#12919)
  • GitHub #11214 - "[Bug] Regression bug shell: when adding multiple items in FlyoutItem, only first one is shown" (#13195)
  • GitHub #11381 - "[Bug] [iOS] NRE on grouped ListView when removing cells with gesture recognizers" (#13012)
  • GitHub #11789 - "[Bug-WPF] FontFamily not working for FontAwesome" (#11977)
  • GitHub #11968 - "[Bug] [iOS][SwipeView] If Swipe view is disabled, tap gesture events are not firing" (#12942)
  • GitHub #11969 - "[Bug] Disabling Swipe view not handling tap gesture events on the content in iOS of Xamarin Forms" (#12942)
  • GitHub #12429 - "[Bug] IOS: Shell flyout items have a minimum height" (#12967)
  • GitHub #12484 - "Unable to set ControlTemplate for TemplatedView in Xamarin.Forms version 5.0" (#12658) (#13279)
  • GitHub #12484/GitHub #13261 - "Unable to set ControlTemplate for TemplatedView in Xamarin.Forms version 5.0" (#12658) (#13279)
  • GitHub #12785 - "[Bug][iOS] TapGesture in Shell does not work in iOS(Xamarin.Forms). " (#12967)
  • GitHub #12809 - "[Bug] Entry text is invisible on iOS" (#13051)
  • GitHub #13054 - "[Bug] CollectionView on Android does not layout new items properly" (#10624)
  • GitHub #13109 - "[Bug] NullReference Exception thrown when load image from ImageSource in Xamarin Forms UWP" (#13135)
  • GitHub #13131 - "[Bug] Shell Deferral is null during a navigation" (#13202)
  • GitHub #13252 - "[Bug] CollectionView Footer rendering different on android vs iOS" (#13247)
  • GitHub #5150 - "AutomationProperties.Name, AutomationProperties.HelpText on Button not read by Android TalkBack" (#13244)
  • GitHub #8326 - "[Bug] [Android][UWP] CollectionView: empty view doesn't show if collection view contains a header" (#13247)
  • GitHub #9125 - "[Bug] [Android] Collection View wrong first/last item sizing (on Orientation=Vertical and Span > 1)" (#10624)
  • GitHub #9681 - "CollectionView LinearItemsLayout strange behavior on Android[Bug] [CollectionView] [Android]" (#10624)

Additional fixes included in this release

  • "[Android] On IntialPosition reset _gotoPosition (#13182) fixes #13122" (#13182)
  • "[Tizen] Added Fast Layout Opt-in" (#13221)
  • "[Tizen] Fix ScrollView renderer invalid cast issue" (#13272)
  • "[Tizen] Support to Layout Compression" (#13218)
  • "[Tizen] Support to ListView.SeparatorColor and SeparatorVisibility" (#13189)
  • "Add Exception Message when trying to use FlyoutPage with NonAppCompat" (#13259)
  • "Added setters to RadioButtonGroup GroupName and SelectedValue (#13111) fixes #12313" (#13111)
  • "Close popup before exiting test" (#13242)
  • "Fix poor choice for FlyoutItem BP Name (#13152)" (#13152)
  • "Invoke AnimationFinished from fragment if no animation has been added" (#13260)

December 22, 2020 - Xamarin.Forms 5.0.0.1829-pre6 (5.0.0 Pre Release 6)

Issues Fixed

  • GitHub #10578 - "[Bug][iOS] NavigationPage.HideNavigationBarSeparator="true" doesn't work from XAML" (#13139)
  • GitHub #12079 - "[Bug] SwipeView not working without text attribute (UWP only)" (#12087)
  • GitHub #12372 - "[Bug] XF 4.8 breaks custom renderer (Button) background color on iOS" (#12395)
  • GitHub #12582 - "[Bug] ScrollView inside SwipeView" (#12819)
  • GitHub #12725 - "[Bug] Xamarin.Forms 5- Overlapping text if adding multiple Grid inside Grid with label having large text and also overlap if I add stack layout in between grid too. Not adding proper vertical space between two controls text." (#13085)
  • GitHub #12894 - "[Bug] iOS CollectionView Cannot access disposed object. DefaultRenderer" (#12923)
  • GitHub #12910 - "[Bug] 'Cannot access a disposed object. Object name: 'DefaultRenderer' - on ios with CollectionView and EmptyView" (#12923)
  • GitHub #12912 - "[Bug] ImageButton Clip Shapes" (#12915)
  • GitHub #12961 - "[Bug] Grid with all RowDefinitions="*" and ScrollView when Rotate last Row not filling screen" (#13085)
  • GitHub #12989 - "NRE in PageRenderer" (#13013)
  • GitHub #13092 - "[Bug] Frame.Background not displaying GradientBrush on iOS" (#13101)
  • GitHub #13136 - "[Bug] Crash in ButtonRenderer on iOS" (#13137)
  • GitHub #8814 - "[Bug] UWP Shell cannot host CollectionView/CarouselView" (#13081)
  • GitHub #8967 - "[Bug] Entry Clear Button miss placement on android " (#11814)

Additional fixes included in this release

  • "[Android] Add missing unsubscribe on activity destroy" (#13023)
  • "[Tizen] Fix CarouselView issue" (#13065)
  • "[Tizen] Fix Frame nested issue" (#13147)
  • "Androidx material bump" (#9701)
  • "Fix cast of non appcompat renderer to DrawerLayout" (#13084)
  • "Fix Flyout Footer measuring and Content Margin (#13157)" (#13157)
  • "More efficiently process rapid Flyout Item Changes (#13145) fixes #13068" (#13145)
  • "Scale potential star row/column values by the appropriate star value (#13146) fixes #13127 fixes #13034" (#13146)
  • "Shell FlyoutWidth and FlyoutHeight" (#12161)

December 8, 2020 - Xamarin.Forms 5.0.0.1791-pre5 (5.0.0 Pre Release 5)

Issues Fixed

  • GitHub #10623 - "Tap Gesture not working on iOS [Bug] " (#11419)
  • GitHub #11033 - "[Bug] iOS Native crash when RadiusX/RadiusY > Width/Height of Shapes.Rectangle" (#11051)
  • GitHub #11090 - "[Bug] UWP: PopAsync causes a crash when called from a CollectionView.SelectionChanged event" (#11160)
  • GitHub #11505 - "[Bug] UWP Shell Crashes in Xamarin Forms 4.7" (#12954)
  • GitHub #11848 - "Detect Points changes in Xamarin.Forms.Shapes.Polyline" (#11579)
  • GitHub #11931 - "[Bug] [UWP] View translation is incorrectly calculated" (#11933)
  • GitHub #12084 - "[Bug] Slider not responding to taps in iOS 14" (#12883)
  • GitHub #12374 - "[Bug] iOS XF 5.0-pre1 crash with CollectionView when using EmptyView" (#12377)
  • GitHub #12512 - "[Bug] Application.RequestedThemeChanged raised twice on iOS when switching to home screen and back" (#12895)
  • GitHub #12541 - "[Bug] Android Swipeview finicky swipe to close (with video and sample repo)" (#12681)
  • GitHub #12642 - "[iOS][Shell][Bug] Rapid ShellContent Navigation Causes Blank Screens" (#13046)
  • GitHub #12685 - "[iOs][Bug] TapGestureRecognizer in Path does not work on iOS" (#11419)
  • GitHub #12690 - "[Bug] Ambiguous Android.Views.InflateException when target android version and framework don't match" (#12825)
  • GitHub #12750 - "[Bug] SwipeView in ListView on Android causes Overlapping Duplicates" (#12786)
  • GitHub #12776 - "[Bug] iOS CollectionView, CarouselView Cannot access disposed object. DefaultRenderer" (#12377)
  • GitHub #12874 - "[Bug] Elements do not revert to style after clearing local properties if style is not in root ResourceDictionary" (#12926)
  • GitHub #12880 - "[Xamarin.Mac] RadioButton : InvalidCastException on click" (#12882)
  • GitHub #12892 - "[Bug] CollectionView ios EmptyView is not honoring the RTL flow direction" (#12907)
  • GitHub #13020 - "[Bug] TapGestureRecognizer Not working on Path on iOS" (#11419)
  • GitHub #2448/GitHub #7065 - "DisplayAlert Title not respecting FlowDirection" (#11679)
  • GitHub #4720 - "UWP: Webview: Memory Leak" (#12509)
  • GitHub #6184 - "[Bug] Invalid TabBar.Items access in iOS ShellItemRenderer" (#9781)
  • GitHub #8988 - "[Bug] App freezes on iPadOS 13.3 when in split view mode (multi-tasking) and change between pages" (#12871)
  • GitHub #9282 - "[Bug] When using a layout with a Corner Radius it's not possible to remove the orange background from a Selected CollectionView Element" (#12823)
  • GitHub #9943 - "[Bug] iOS NavigationBar background flickering on navigation" (#12835)

Additional fixes included in this release

  • "[Android] Remove AndroidX Migration packages" (#12928)
  • "[iOS] Fix when removing current last Item on CarouselView" (#12837)
  • "[Tizen] Fix Frame cliping issue" (#12921)
  • "[Tizen] Fix ItemsView LogicalChild issue" (#12899)
  • "[Tizen] Fix the FrameRender" (#12901)
  • "[UWP] [Shell] Make Navigation and Transition overridable for Shell" (#12442)
  • "[UWP] Make Navigation and Transition overridable for NavigationPage" (#12439)
  • "[X] ConvertToInvariant is invariant" (#12834)
  • "Build 14393 targets separately" (#12826)
  • "Build UWP version of locale tests" (#12818)
  • "Enable Shell tests on UWP and fix a few bugs" (#12938)
  • "Ignore Locale tests and one CV test on UWP" (#12843)
  • "Updated bug report issue template with more detail" (#12839)

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

  • GitHub #13457 - "[Bug] XF 5.0 breaks Native UWP winui:NavigationView"

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 methods:

public void Close ();
public void Open (OpenSwipeItem openSwipeItem);
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.OpenSwipeEventArgs

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

Type Changed: Xamarin.Forms.Platform.Resource

Type Changed: Xamarin.Forms.Platform.Resource.Color

Removed fields:

public static int abc_input_method_navigation_guard;
public static int design_tint_password_toggle;
public static int mtrl_btn_bg_color_disabled;

Type Changed: Xamarin.Forms.Platform.Resource.Dimension

Removed fields:

public static int mtrl_textinput_box_bottom_offset;
public static int mtrl_textinput_box_padding_end;
public static int subtitle_corner_radius;
public static int subtitle_outline_width;
public static int subtitle_shadow_offset;
public static int subtitle_shadow_radius;

Type Changed: Xamarin.Forms.Platform.Resource.Drawable

Removed field:

public static int mtrl_snackbar_background;

Type Changed: Xamarin.Forms.Platform.Resource.Id

Removed fields:

public static int flyoutcontent_recycler;
public static int text_input_password_toggle;

Type Changed: Xamarin.Forms.Platform.Resource.Layout

Removed field:

public static int design_text_input_password_icon;

Type Changed: Xamarin.Forms.Platform.Resource.Style

Removed field:

public static int TextAppearance_MaterialComponents_Tab;

Type Changed: Xamarin.Forms.Platform.Resource.Styleable

Removed fields:

public static int[] DesignTheme;
public static int DesignTheme_bottomSheetDialogTheme;
public static int DesignTheme_bottomSheetStyle;
public static int[] MaterialComponentsTheme;
public static int MaterialComponentsTheme_bottomSheetDialogTheme;
public static int MaterialComponentsTheme_bottomSheetStyle;
public static int MaterialComponentsTheme_chipGroupStyle;
public static int MaterialComponentsTheme_chipStandaloneStyle;
public static int MaterialComponentsTheme_chipStyle;
public static int MaterialComponentsTheme_colorAccent;
public static int MaterialComponentsTheme_colorBackgroundFloating;
public static int MaterialComponentsTheme_colorPrimary;
public static int MaterialComponentsTheme_colorPrimaryDark;
public static int MaterialComponentsTheme_colorSecondary;
public static int MaterialComponentsTheme_editTextStyle;
public static int MaterialComponentsTheme_floatingActionButtonStyle;
public static int MaterialComponentsTheme_materialButtonStyle;
public static int MaterialComponentsTheme_materialCardViewStyle;
public static int MaterialComponentsTheme_navigationViewStyle;
public static int MaterialComponentsTheme_scrimBackground;
public static int MaterialComponentsTheme_snackbarButtonStyle;
public static int MaterialComponentsTheme_tabStyle;
public static int MaterialComponentsTheme_textAppearanceBody1;
public static int MaterialComponentsTheme_textAppearanceBody2;
public static int MaterialComponentsTheme_textAppearanceButton;
public static int MaterialComponentsTheme_textAppearanceCaption;
public static int MaterialComponentsTheme_textAppearanceHeadline1;
public static int MaterialComponentsTheme_textAppearanceHeadline2;
public static int MaterialComponentsTheme_textAppearanceHeadline3;
public static int MaterialComponentsTheme_textAppearanceHeadline4;
public static int MaterialComponentsTheme_textAppearanceHeadline5;
public static int MaterialComponentsTheme_textAppearanceHeadline6;
public static int MaterialComponentsTheme_textAppearanceOverline;
public static int MaterialComponentsTheme_textAppearanceSubtitle1;
public static int MaterialComponentsTheme_textAppearanceSubtitle2;
public static int MaterialComponentsTheme_textInputStyle;

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.Resource

Type Changed: Xamarin.Forms.Platform.Android.Resource.Color

Removed fields:

public static int abc_input_method_navigation_guard;
public static int design_tint_password_toggle;
public static int mtrl_btn_bg_color_disabled;

Type Changed: Xamarin.Forms.Platform.Android.Resource.Dimension

Removed fields:

public static int mtrl_textinput_box_bottom_offset;
public static int mtrl_textinput_box_padding_end;
public static int subtitle_corner_radius;
public static int subtitle_outline_width;
public static int subtitle_shadow_offset;
public static int subtitle_shadow_radius;

Type Changed: Xamarin.Forms.Platform.Android.Resource.Drawable

Removed field:

public static int mtrl_snackbar_background;

Type Changed: Xamarin.Forms.Platform.Android.Resource.Id

Removed fields:

public static int flyoutcontent_recycler;
public static int text_input_password_toggle;

Type Changed: Xamarin.Forms.Platform.Android.Resource.Layout

Removed field:

public static int design_text_input_password_icon;

Type Changed: Xamarin.Forms.Platform.Android.Resource.Style

Removed field:

public static int TextAppearance_MaterialComponents_Tab;

Type Changed: Xamarin.Forms.Platform.Android.Resource.Styleable

Removed fields:

public static int[] DesignTheme;
public static int DesignTheme_bottomSheetDialogTheme;
public static int DesignTheme_bottomSheetStyle;
public static int[] MaterialComponentsTheme;
public static int MaterialComponentsTheme_bottomSheetDialogTheme;
public static int MaterialComponentsTheme_bottomSheetStyle;
public static int MaterialComponentsTheme_chipGroupStyle;
public static int MaterialComponentsTheme_chipStandaloneStyle;
public static int MaterialComponentsTheme_chipStyle;
public static int MaterialComponentsTheme_colorAccent;
public static int MaterialComponentsTheme_colorBackgroundFloating;
public static int MaterialComponentsTheme_colorPrimary;
public static int MaterialComponentsTheme_colorPrimaryDark;
public static int MaterialComponentsTheme_colorSecondary;
public static int MaterialComponentsTheme_editTextStyle;
public static int MaterialComponentsTheme_floatingActionButtonStyle;
public static int MaterialComponentsTheme_materialButtonStyle;
public static int MaterialComponentsTheme_materialCardViewStyle;
public static int MaterialComponentsTheme_navigationViewStyle;
public static int MaterialComponentsTheme_scrimBackground;
public static int MaterialComponentsTheme_snackbarButtonStyle;
public static int MaterialComponentsTheme_tabStyle;
public static int MaterialComponentsTheme_textAppearanceBody1;
public static int MaterialComponentsTheme_textAppearanceBody2;
public static int MaterialComponentsTheme_textAppearanceButton;
public static int MaterialComponentsTheme_textAppearanceCaption;
public static int MaterialComponentsTheme_textAppearanceHeadline1;
public static int MaterialComponentsTheme_textAppearanceHeadline2;
public static int MaterialComponentsTheme_textAppearanceHeadline3;
public static int MaterialComponentsTheme_textAppearanceHeadline4;
public static int MaterialComponentsTheme_textAppearanceHeadline5;
public static int MaterialComponentsTheme_textAppearanceHeadline6;
public static int MaterialComponentsTheme_textAppearanceOverline;
public static int MaterialComponentsTheme_textAppearanceSubtitle1;
public static int MaterialComponentsTheme_textAppearanceSubtitle2;
public static int MaterialComponentsTheme_textInputStyle;

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.ShellFlyoutRecyclerAdapter

Removed method:

protected virtual void OnShellStructureChanged (object sender, System.EventArgs e);

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
Clifford Agius (@CliffAgius) [UWP] Fixes to Cell for ListView and CollectionView (#13277) fixes #10473 #13277
Dimov Dima (@dimonovdd) added using for drawing objects on FontImageSourceHandler (#13201) #13201
Durgesh Khandal (@techduggu) [Enhancement] ListView ScrollTo with empty groups - Android (#8310)f ixes #8279 #8310
Giampaolo Gabba (@GiampaoloGabba) [UWP] [Shell] Make Navigation and Transition overridable for Shell (#12442) #12442
Giampaolo Gabba (@GiampaoloGabba) [UWP] Make Navigation and Transition overridable for NavigationPage (#12439) #12439
Hemant Sharma (@hemantbeast) iOS: CollectionView: ItemsViewLayout: Fix null reference on invalidate layout (#12632) #12632
Herman (@ChummerUA) [Android] Fix incorrect spacing in CollectionView with multiple spans (#10624) fixes #9125 fixes #10585 fixes #13054 fixes #9681 #10624
Jay Cho (@JoonghyunCho) [Tizen] Added Shapes Tizen implementation (#12537) #12537
Jay Cho (@JoonghyunCho) [Tizen] Added Clip Tizen implementation (#12745) #12745
Jay Cho (@JoonghyunCho) [Tizen] Fix Frame show clipper canvas issue (#13335) #13335
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
Kangho Hur (@rookiejava) [Tizen] Fix the FrameRender (#12901) #12901
Kangho Hur (@rookiejava) [Tizen] Support to ListView.SeparatorColor and SeparatorVisibility (#13189) #13189
Kangho Hur (@rookiejava) [Tizen] Support to Layout Compression (#13218) #13218
Kangho Hur (@rookiejava) [Tizen] Added Fast Layout Opt-in (#13221) #13221
Kangho Hur (@rookiejava) [Tizen] Fix ScrollView renderer invalid cast issue (#13272) #13272
Kangho Hur (@rookiejava) [Tizen] Fix bug to the FastLayoutRenderer (#13334) #13334
Kangho Hur (@rookiejava) [Tizen] Use System.AppDomain on Init (#13606) #13606
Kevin Petit (@kvpt) [Android] Add missing unsubscribe on activity destroy (#13023) #13023
Kevin Petit (@kvpt) [Android] Remove missings listeners on dispose (#13569) #13569
KyNam (@KyNam) MacOS - Fix crash when invoking VisualElement.Focus() (#12267) #12267
lindexi (@lindexi) Fix miss font #11789 (#11977) fixes #11789 #11977
memu8 (@memu8) Fix datetimepickerlocalization (#11474) fixes #11471 fixes #11472 fixes #12556 #11474
memu8 (@memu8) Added a Flow Direction Property to action sheets and alert dialogs (#11679) #11679
memu8 (@memu8) [Android] Update the Entry clear button based on FlowDirection (#11814) #11814
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
Pedro Jesus (@pictos) [GH-6184] - Make able to disable tabs inside the MoreViewController [iOS] (#9781) #9781
Pedro Jesus (@pictos) [GH-12429] Fixed extra height on Shell Flyout and fix issues with flyout items not updating layout (#12967) fixes #12429 fixes #12785 #12967
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
rjantz3 (@rjantz3) [iOS] Fix NRE in ViewRenderer.LayouSubviews (#13381) #13381
Ronan (@BurkusCat) Issue template - hide long VS environment info section (#12979) #12979
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
Seungkeun Lee (@myroot) Fix ItemsView LogicalChild issue (#12899) #12899
Seungkeun Lee (@myroot) [Tizen] Fix Frame cliping issue (#12921) #12921
Seungkeun Lee (@myroot) Fix Frame nested issue (#13147) #13147
Seungkeun Lee (@myroot) [Tizen] Fix several CollectionView issue on Tizen (#13661) #13661
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
shmin (@shyunMin) [Tizen] Add drag and drop gesture handlers (#13692) #13692
sung-su.kim (@sung-su) [Tizen] Fix CarouselPageRenderer (#12479) fixes #12451 #12479
sung-su.kim (@sung-su) [Tizen] Fix CarouselView issue (#13065) #13065
tessarolli (@tessarolli) [WPF] Fix FormsPanel MeasureOverride negative requested size (#10653) #10653
Tim Johnson (@t-johnson) Add ability to set WebView ExecutionMode property (addresses #4720) (#12509) #12509
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
(@KPixel) #11752
(@darrencBAS) #12895
brown wolf (@Co0olboi) #13300
Charles Bissonnette (@chabiss) #12657
ET (@etvorun) #12634
ET (@etvorun) #12926
ET (@etvorun) #12834
Felipe Baltazar (@felipebaltazar) #12039
Giampaolo Gabba (@GiampaoloGabba) #13046
Kangho Hur (@rookiejava) #12479
Kangho Hur (@rookiejava) #13065
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
Kangho Hur (@rookiejava) #12899
Kangho Hur (@rookiejava) #12921
Kangho Hur (@rookiejava) #13147
Kangho Hur (@rookiejava) #13335
Kangho Hur (@rookiejava) #13661
Kangho Hur (@rookiejava) #13692
lindexi (@lindexi) #11160
Mohamed CHOUCHANE (@mohachouch) #6417
Nick Randolph (@nickrandolph) #8310
Oliver Brown (@GalaxiaGuy) #12834
Pedro Jesus (@pictos) #13190
Pedro Jesus (@pictos) #6432
Pedro Jesus (@pictos) #12039
Pedro Jesus (@pictos) #12186
Pedro Jesus (@pictos) #12320
Pedro Jesus (@pictos) #12547
Pedro Jesus (@pictos) #13046
Pedro Jesus (@pictos) #13202
Pedro Jesus (@pictos) #13300
Pedro Jesus (@pictos) #12161
Pedro Jesus (@pictos) #12331
Pedro Jesus (@pictos) #12442
Pedro Jesus (@pictos) #12514
Pedro Jesus (@pictos) #13157
Peter Spada (@spadapet) #10523
Rachel Kang (@rachelkang) #12395
Rachel Kang (@rachelkang) #12825
Rachel Kang (@rachelkang) #13319
Rachel Kang (@rachelkang) #13370
Rachel Kang (@rachelkang) #13380
Rachel Kang (@rachelkang) #12331
Rachel Kang (@rachelkang) #13423
Rachel Kang (@rachelkang) #13507
Rachel Kang (@rachelkang) #13514
Rachel Kang (@rachelkang) #13634
Rachel Kang (@rachelkang) #13648
Rafael Rivera (@riverar) #8310
Rafael Rivera (@riverar) #11087
Rafael Rivera (@riverar) #9732
René Simonsen (@Inrego) #11579
Tim Miller (@drasticactions) #13462
Tommi Kiviniemi (@Tommigun1980) #13380
Tommi Kiviniemi (@Tommigun1980) #13484
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: