Xamarin.Forms 4.4.0.991220-pre3 (4.4.0 Pre Release 3) Release Notes

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

Summary

Xamarin.Forms 4.4.0 introduces new controls, continued development for Shell and CollectionView, and many other quality improvements.

GIF Animations

The existing Image control now supports rendering GIF images. This is intended for small, short animations. Caching and streaming is not supported. The animation will play once or loop based on the metadata encoded into the image. To check and control playback, use the new IsAnimationPlaying bindable property.

<Image Source="animatedImage.gif"/>

Note: GIF animations are not supported on legacy Android renderers.

CarouselView (Preview)

Work continues on completing features for a rich CarouselView experience. For details on using CarouselView refer to the preview documentation.

IndicatorView

To display pagination dots for a CarouselView we have added an independent control that may be positioned anywhere you like, and which also supports adding custom templates with visual states. To associate an IndicatorView with a carousel, populate the attached property IndicatorView.ItemsSourceBy with the name of the carousel.

<CarouselView x:Name="myCarousel">
// content of your carousel
</CarouselView>
<IndicatorView 
   IndicatorColor="LightGray"
   SelectedIndicatorColor="Black"
   IndicatorSize="10" HorizontalOptions="Center"
   IndicatorView.ItemsSourceBy="myCarousel"/>

CarouselGallery Samples

Animation Enhancements

Contributed during Hacktoberfest, animation methods have been added for ScaleXTo and ScaleYTo.

Example:

void AnimateButton_Clicked(object sender, EventArgs e)
{
 _boxView.ScaleYTo(2, 250, Easing.CubicInOut);
 _boxView.ScaleXTo(1.5, 400, Easing.BounceOut);
}

Continue reading below for every detail of this release.

What's New in this Release

  • "centralize bottom nav behaviors so all the bottom navs work the same" (#5904)
  • Github #1704 - "[F100] Basic GIF animation support" (#2202) (#7330) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #7445 - "[Enhancement] Xamarin.Forms.Platform.WPF.ImageExtensions to public" (#7462)
  • Github #7664 - "[Enhancement] FontImageSource Size property should support named font sizes" (#7887)
  • Github #7808 - "[Enhancement] Allow providing custom ShellSectionRootRenderer" (#8441) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #8004 - "[Enhancement] Add a ScaleXTo and ScaleYTo animation extension method" (#8007)
  • Github #8113 - "[Enh] Convert HSL(A) with Double from InvariantString" (#8114)
  • Github #8428 - "[Enhancement] Open up the ShellSection Implementation on iOS" (#8441) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))

Notable Changes

CollectionView

  • "[Core,iOS,Android] Remove NumberOfSideItems" (#8614) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • "[iOS] Make ItemsViewLayout implementations accessible" (#8264) (added in 4.4.0.991210-pre2 (4.4.0 Pre Release 2))
  • "[iOS] Fixes for null check for Shell classes" (#7583)
  • "[Tizen] Add CarouselViewRenderer" (#8081) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • "Fix NRE when navigating away from grouped CollectionView on iOS 10" (#8496) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • "Remove ItemSizingStrategy from CarouselView" (#8588) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #3171 - "Xamarin.Forms.SwipeView Spec" (#7603) (#8542) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #3533 - "Bring back uap10.0/netstandard1.4 support" (#7079) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #4765 - "[Shell] Cannot prevent flyout menu list from scrolling." (#5974)
  • Github #5831 - "[iOS] Layout and Styling Issues when reloading page" (#6741) (#8189) (added in 4.4.0.991210-pre2 (4.4.0 Pre Release 2))
  • Github #6577 - "[Spec] IndicatorsView" (#7465) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #7369 - "[Bug] AutomationProperties.IsInAccessibleTree is not hideing controls from TalkBack" (#7370)
  • Github #8200 - "[Bug] CollectionView on iOS assumes INotifyCollectionChanged is an IList (causing null reference exception when assumption is wrong)" (#8283) (added in 4.4.0.991210-pre2 (4.4.0 Pre Release 2))
  • Github #8366 - "[Bug] UWP CollectionView Floating Row and Toolbar clipped" (#8404) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #8417 - "[Bug] CarouselView Java.Lang.IllegalStateException on Android in 4.4-pre1" (#8430) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #8508 - "[Double bug] UWP CollectionView.Scrolled not raised & unhandled exception on exit" (#8549) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))

Shell

  • "[iOS] Fixes for null check for Shell classes" (#7583)
  • "centralize bottom nav behaviors so all the bottom navs work the same" (#5904)
  • "Shell Navigation Bar Has Shadow property" (#8408) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #4765 - "[Shell] Cannot prevent flyout menu list from scrolling." (#5974)
  • Github #5747 - "[Visual] [iOS] [Material] Button.BackgroundColor not working in C# " (#8089)
  • Github #5831 - "[iOS] Layout and Styling Issues when reloading page" (#6741) (#8189) (added in 4.4.0.991210-pre2 (4.4.0 Pre Release 2))
  • Github #6878 - "[Bug] ShellItem.Items.Clear() crashes when the ShellItem has bottom tabs" (#8215) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #7808 - "[Enhancement] Allow providing custom ShellSectionRootRenderer" (#8441) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #7823 - "[Bug] Frame corner radius." (#7966) (#8032) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #8508 - "[Double bug] UWP CollectionView.Scrolled not raised & unhandled exception on exit" (#8549) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))

Visual

  • "[Tizen] Add Meterial Stepper Renderer" (#8037)
  • Github #5747 - "[Visual] [iOS] [Material] Button.BackgroundColor not working in C# " (#8089)
  • Github #8508 - "[Double bug] UWP CollectionView.Scrolled not raised & unhandled exception on exit" (#8549) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))

F100s

  • Github #1704 - "[F100] Basic GIF animation support" (#2202) (#7330) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))

Features in Preview

CarouselView

  • "[Core,iOS,Android] Remove NumberOfSideItems" (#8614) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • "[iOS] Make ItemsViewLayout implementations accessible" (#8264) (added in 4.4.0.991210-pre2 (4.4.0 Pre Release 2))
  • "[Tizen] Add CarouselViewRenderer" (#8081) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • "Remove ItemSizingStrategy from CarouselView" (#8588) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #3171 - "Xamarin.Forms.SwipeView Spec" (#7603) (#8542) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #3533 - "Bring back uap10.0/netstandard1.4 support" (#7079) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #4765 - "[Shell] Cannot prevent flyout menu list from scrolling." (#5974)
  • Github #6577 - "[Spec] IndicatorsView" (#7465) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #7369 - "[Bug] AutomationProperties.IsInAccessibleTree is not hideing controls from TalkBack" (#7370)
  • Github #8200 - "[Bug] CollectionView on iOS assumes INotifyCollectionChanged is an IList (causing null reference exception when assumption is wrong)" (#8283) (added in 4.4.0.991210-pre2 (4.4.0 Pre Release 2))
  • Github #8417 - "[Bug] CarouselView Java.Lang.IllegalStateException on Android in 4.4-pre1" (#8430) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #8508 - "[Double bug] UWP CollectionView.Scrolled not raised & unhandled exception on exit" (#8549) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))

Release History

  • Tuesday, December 3, 2019 - Xamarin.Forms 4.4.0.991220-pre3 (4.4.0 Pre Release 3)
  • Wednesday, November 13, 2019 - Xamarin.Forms 4.4.0.991210-pre2 (4.4.0 Pre Release 2)
  • Thursday, October 31, 2019 - Xamarin.Forms 4.4.0.936621-pre1 (4.4.0 Pre Release 1)

Tuesday, December 3, 2019 - Xamarin.Forms 4.4.0.991220-pre3 (4.4.0 Pre Release 3)

Issues Fixed

  • Github #3171 - "Xamarin.Forms.SwipeView Spec" (#7603) (#8542)
  • Github #6878 - "[Bug] ShellItem.Items.Clear() crashes when the ShellItem has bottom tabs" (#8215)
  • Github #7167 - "[Bug] improved observablecollection with system.reactive. a lot of collectionchanges. a reset is sent and listview scrolls to the top" (#7279)
  • Github #7823 - "[Bug] Frame corner radius." (#7966) (#8032)
  • Github #8366 - "[Bug] UWP CollectionView Floating Row and Toolbar clipped" (#8404)
  • Github #8417 - "[Bug] CarouselView Java.Lang.IllegalStateException on Android in 4.4-pre1" (#8430)
  • Github #8450 - "[Bug] Two (Closely Related) RelativeSource Binding Issues" (#8541)
  • Github #8508 - "[Double bug] UWP CollectionView.Scrolled not raised & unhandled exception on exit" (#8549)

Additional fixes included in this release

  • "[Core,iOS,Android] Remove NumberOfSideItems" (#8614)
  • "[Core] avoid calling ChangeVisualState twice" (#8381)
  • "[Tizen] Add CarouselViewRenderer" (#8081)
  • "[Tizen] Enables SwipeGestureHandler" (#8456)
  • "[Tizen] Provides Static Registrar" (#8642)
  • "[Tizen] Update StaticRegistrar" (#8676)
  • "[Tizen] Use pre-created window at initailzation time" (#8685)
  • "[X] FontSizeConverter on FontImageExtension" (#8375)
  • "Fix NRE when navigating away from grouped CollectionView on iOS 10" (#8496)
  • "Fix threadpool call when compiling for 14393" (#8628)
  • "Remove ItemSizingStrategy from CarouselView" (#8588)
  • "Shell Navigation Bar Has Shadow property" (#8408)

Wednesday, November 13, 2019 - Xamarin.Forms 4.4.0.991210-pre2 (4.4.0 Pre Release 2)

Issues Fixed

  • Github #2271 - "[iOS] ScrollToAsync not working on iOS" (#8241)
  • Github #5831 - "[iOS] Layout and Styling Issues when reloading page" (#6741) (#8189)
  • Github #6507 - "[Bug] Navigating away from CollectionView and coming back leaves weird old items " (#6741) (#8189)
  • Github #7249 - "[Bug] Android Switch Slider wrong color?" (#7777)
  • Github #7385 - "[Bug] [UWP] Setting Translation/Rotation/Scale to all zero on UWP does not reset transformation" (#7386)
  • Github #7714 - "[Bug][iOS] Xaminals CollectionView items overlap on iOS" (#6741) (#8189)
  • Github #8028 - "[Bug] When using WkWebViewRenderer, links with "target = _blank" do not respond" (#8281)
  • Github #8200 - "[Bug] CollectionView on iOS assumes INotifyCollectionChanged is an IList (causing null reference exception when assumption is wrong)" (#8283)
  • Github #8222 - "[Bug] UWP Text in Editor is now vertically centered." (#8280)

Additional fixes included in this release

  • "[Android] Make sure we use the right Context" (#8196)
  • "[Android] Fix API usage on Android19 " (#8378)
  • "[iOS] Make ItemsViewLayout implementations accessible" (#8264)
  • "[macOS] Implement entry placeholder text alignment" (#8292)

Thursday, October 31, 2019 - Xamarin.Forms 4.4.0.936621-pre1 (4.4.0 Pre Release 1)

Issues Fixed

  • Github #4115 - "[WPF] ListView.ScrollTo does not work in WPF" (#7947)
  • Github #5612 - "[macOS] NRE when navigating around automation galleries" (#8051)
  • Github #5747 - "[Visual] [iOS] [Material] Button.BackgroundColor not working in C# " (#8089)
  • Github #6281 - "Unable to bind a Complex property value to Label TextProperty" (#7651)
  • Github #6474 - "Border and CornerRadius are not respected in UWP when button is disabled" (#8107)
  • Github #7002 - "[Bug - Shell] Visual Material issue on iOS" (#8089)
  • Github #7303 - "[Bug] Grid is not correctly using MinimumWidthRequest with calculating Auto Cells" (#7318)
  • Github #7320 - "[Bug] FontImageSource don't work on wpf" (#7625)
  • Github #7323 - "[Xamarin.iOS] Deprecated API Usage UIWebView" (#7367)
  • Github #7331 - "[Bug] Android Activity crashes when calling finish before Forms.Init" (#7363)
  • Github #7369 - "[Bug] AutomationProperties.IsInAccessibleTree is not hideing controls from TalkBack" (#7370)
  • Github #7581 - "[Bug] UWP Map not moving to location when map hidden then shown" (#7960)
  • Github #7589 - "[Bug] NullReferenceException if you use IsPassword" (#7591)
  • Github #7629 - "[Bug] Scrollview scrollbar not visible on Android" (#8090)
  • Github #7825 - "[Bug] WPF Frame cornerRadius doesn't clip content" (#7828)
  • Github #7851 - "[Bug] macOS button padding not implemented" (#7919)
  • Github #7972 - "under iOS, await scrollView.ScrollToAsync(scrollView.ScrollX, scrollView.ScrollY, true) never completes" (#7979)
  • Github #8015 - "VerticalScrollBarVisibility=“Always” not working in Xamarin Android" (#8090)
  • Github #8029 - "[Bug] Dialog theming issues with Android dark mode" (#8046)
  • Github #8148 - "[Bug] WPF Entry initial TextColor ignored when typing" (#8149)

Additional fixes included in this release

  • "[Android] Unregister effects on dispose" (#8109)
  • "[Core] Move TextProperty, ITextElement, and IPlaceholderElement to InputView" (#4477)
  • "[Enhancement] Batch updates via "using" statement" (#7807)
  • "[iOS] Fixes for null check for Shell classes" (#7583)
  • "[macOs] implements Frame CornerRadius" (#8168)
  • "[Tizen] Add Meterial Stepper Renderer" (#8037)
  • "[Tizen] fix picker focus issue in Tizen TV" (#7770)
  • "[Tizen] Improves the initialization of VE's properties" (#7666)
  • "[Tizen] Tizen renderer performance optimization" (#7440)
  • "[Tizen] Update InitializationOptions" (#7441)
  • "[X] handle CDATA explicit properties" (#7342)
  • "Anticipate .cctors" (#7294)
  • "build.cake: more readable way of using an enum" (#7867)
  • "css: letter-spacing" (#7343)
  • "Fix typo in RefreshViewRenderer" (#7831)
  • "Lazily load ResourceManager types" (#7596)
  • "Make UpdateCancelButton virtual" (#8027)
  • "Set Continue On Error for task that creates version file in case of parallel builds" (#7914)
  • "Update Android UI test instructions" (#7579)

Known Issues

  • Github #8715 - "NullReferenceException Xamarin.Forms.Platform.iOS.StructuredItemsViewRenderer [Bug] "
  • Github #8671 - "[Bug] CarouselView - CurrentItem is not binded properly when switching pages programmatically"
  • Github #8640 - "[Bug] CarouselView pushes other layouts and consumes all space"
  • Github #8638 - "[Bug] CarouselView inconsistent layout positioning"
  • Github #8616 - "[Bug] Different height items inside to a CollectionView - iOS only"
  • Github #8608 - "[Bug] CollectionView doesn't always snap to start"
  • Github #8417 - "[Bug] CarouselView Java.Lang.IllegalStateException on Android in 4.4-pre1"
  • Github #8225 - "[Bug] CarouselView not working in ios application"
  • Github #7268 - "[Bug] Unable to set initial CarouselView item using ScrollTo() in page constructor"

Breaking Changes

  • "[Core] Move TextProperty, ITextElement, and IPlaceholderElement to InputView" (#4477)
  • Github #6281 - "Unable to bind a Complex property value to Label TextProperty" (#7651)

Namespace Xamarin.Forms

Type Changed: Xamarin.Forms.CarouselView

Removed field:

public static BindableProperty NumberOfSideItemsProperty;

Removed property:

public int NumberOfSideItems { get; set; }

Type Changed: Xamarin.Forms.Editor

Removed properties:

public double CharacterSpacing { get; set; }
public string Placeholder { get; set; }
public Color PlaceholderColor { get; set; }
public string Text { get; set; }
public Color TextColor { get; set; }

Removed event:

public event System.EventHandler<TextChangedEventArgs> TextChanged;

Type Changed: Xamarin.Forms.Entry

Removed properties:

public double CharacterSpacing { get; set; }
public string Placeholder { get; set; }
public Color PlaceholderColor { get; set; }
public string Text { get; set; }
public Color TextColor { get; set; }

Removed event:

public event System.EventHandler<TextChangedEventArgs> TextChanged;

Type Changed: Xamarin.Forms.ItemSizingStrategy

Removed value:

None = 2,

Type Changed: Xamarin.Forms.ItemsView

Removed field:

public static BindableProperty ItemSizingStrategyProperty;

Removed property:

public ItemSizingStrategy ItemSizingStrategy { get; set; }

Type Changed: Xamarin.Forms.SearchBar

Removed properties:

public double CharacterSpacing { get; set; }
public string Placeholder { get; set; }
public Color PlaceholderColor { get; set; }
public string Text { get; set; }
public Color TextColor { get; set; }

Removed event:

public event System.EventHandler<TextChangedEventArgs> TextChanged;

Namespace Xamarin.Forms.Platform.Android

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

Removed method:

public static bool? SetFocusable (this Android.Views.View Control, Xamarin.Forms.Element Element, bool? _defaultFocusable);

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

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

Removed fields:

public static int avd_hide_password_1;
public static int avd_hide_password_2;
public static int avd_hide_password_3;
public static int avd_show_password_1;
public static int avd_show_password_2;
public static int avd_show_password_3;

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

Modified properties:

 public System.Type DrawableClass { get; ---set;--- }
 public System.Type LayoutClass { get; ---set;--- }
 public System.Type ResourceClass { get; ---set;--- }
 public System.Type StyleClass { get; ---set;--- }

Namespace Xamarin.Forms.Platform.iOS

Type Changed: Xamarin.Forms.Platform.iOS.ImageRenderer

Modified base type:

-Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.Image,UIKit.UIImageView]
+Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.Image,Xamarin.Forms.Platform.iOS.FormsUIImageView]

Type Changed: Xamarin.Forms.Platform.iOS.ItemsViewController`1

Modified constructors:

-public ItemsViewController`1 (TItemsView itemsView, ItemsViewLayout layout)
+protected ItemsViewController`1 (TItemsView itemsView, ItemsViewLayout layout)

Type Changed: Xamarin.Forms.Platform.iOS.SafeShellNavBarAppearanceTracker

Removed methods:

public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
public virtual void ResetAppearance (UIKit.UINavigationController controller);
public virtual void SetAppearance (UIKit.UINavigationController controller, Xamarin.Forms.ShellAppearance appearance);
public virtual void UpdateLayout (UIKit.UINavigationController controller);

Namespace Xamarin.Forms.Platform.Tizen

Removed Type Xamarin.Forms.Platform.Tizen.ItemsViewRenderer

Namespace Xamarin.Forms.Platform.Tizen.Native

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

Removed property:

protected ElmSharp.Layout EditfieldLayout { get; }

API Changes

See all API Changes here.

  • "[Core,iOS,Android] Remove NumberOfSideItems" (#8614) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • "[Core] Move TextProperty, ITextElement, and IPlaceholderElement to InputView" (#4477)
  • "Remove ItemSizingStrategy from CarouselView" (#8588) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #1704 - "[F100] Basic GIF animation support" (#2202) (#7330) (added in 4.4.0.991220-pre3 (4.4.0 Pre Release 3))
  • Github #4765 - "[Shell] Cannot prevent flyout menu list from scrolling." (#5974)

Blogs

Xamarin Blogs

Thank you

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

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

Author Commit PR
adrianknight89 (@adrianknight89) Update Android UI test instructions (#7579) #7579
adrianknight89 (@adrianknight89) added instructions (#8076) fixes #2352 #8076
adrianknight89 (@adrianknight89) Add instructions and change UI test (#8077) fixes #2351 #8077
adrianknight89 (@adrianknight89) Added instructions and changed the test for Issue2241 (#8080) fixes #2274 #8080
adrianknight89 (@adrianknight89) change accessibility modifiers (#8264) #8264
Alan Grgic (@alanag13) use support libs for DrawableWrapper (#8106) fixes #6291 #8106
Alexandre Santos Costa (@magoolation) Setting ImportantForAccessibility when changing AutomationProperties.IsInAccessibleTree (#7370) fixes #7369 #7370
Andrei (@AndreiMisiukevich) Unregister effects on dispose (#8109) #8109
Andrei (@AndreiMisiukevich) [Enhancement] Batch updates via "using" statement (#7807) #7807
Andrei (@AndreiMisiukevich) Added IndicatorsView (#7465) #7465
Andres G. Aragoneses (@knocte) build.cake: more readable way of using an enum (#7867) #7867
Andres G. Aragoneses (@knocte) Revert "[GTK] Fix visibility of hidden pages in the stack (#3904) (#8096) #8096
Bohdan Benetskyi (@bbenetskyy) Fix System.OverflowException for Hsl with double in invariant string (#8114) fixes #8113 #8114
Brayan Khosravian (@BrayanKhosravian) Fix-7167-UWP-ListViewRenderer-ScrollToTop-when-NotifyCollectionChangedAction.Reset (#7279) #7279
Brian Macomber (@bmacombe) Rebase and Clean Up (#8107) #8107
Brian Runck (@brunck) [iOS] Fix Issue #8529 - Shell BackButtonBehavior crashing on Command p… (#8544) #8544
Elashi (@Elashi) In Android : Reverse layout only when default layout direction is the… (#7809) #7809
Felipe Baltazar (@felipebaltazar) Fix Bug 7823 - Frame corner radius (#8032) #8032
Felipe Baltazar (@felipebaltazar) Fix issue 6878 - [Bug] ShellItem.Items.Clear() crashes when the ShellItem has bottom tabs (#8215) #8215
Glenn Versweyveld (@Depechie) Make UpdateCancelButton virtual (#8027) #8027
Glenn Versweyveld (@Depechie) Set correct MinWidth for CheckBox style (#7978) #7978
Glenn Versweyveld (@Depechie) Keep tab image collapsed if no datasource is available (#8050) fixes #6757 #8050
Jiarui Guo (@jrjrguo) #3533 Bring back uap10.0/netstandard1.4 support (#7079) fixes #3533 #7079
Joe Manke (@jcmanke) [Core] Move TextProperty, ITextElement, and IPlaceholderElement to InputView (#4477) #4477
Joe Manke (@jcmanke) [Android] Use AppCompat AlertDialog (#8046) #8046
Jon Robinson Levy (@WayaFlyfeather) Fix 8222 - [UWP] Make text in Editor control top aligned (#8280) #8280
Jon Robinson Levy (@WayaFlyfeather) Fix 7361 - [UWP] Stepper buttons not becoming enabled again, when disabled more than once. (#8191) #8191
Kangho Hur (@rookiejava) [Tizen] Improves the initialization of VE.props (#7666) #7666
Kangho Hur (@rookiejava) [Tizen] Enables SwipeGestureHandler (#8456) #8456
Kangho Hur (@rookiejava) [Tizen] Provides Static Registrar (#8642) #8642
Kangho Hur (@rookiejava) [Tizen] Use pre-created window at initailzation time (#8685) #8685
Konrad Müller (@krdmllr) Fix bug 7581 - UWP Map not moving to location when map hidden then shown (#7960) #7960
Konrad Müller (@krdmllr) implement placeholder text alignment (#8292) #8292
Konrad Müller (@krdmllr) [iOS] Fix scroll to does not scroll to end (#8241) #8241
ksemenenko (@KSemenenko) css: letter-spacing (#7343) #7343
ksemenenko (@KSemenenko) [iOS] Fixes for null check for Shell classes (#7583) #7583
maexsp (@maexsp) Spelling fix (#7868) #7868
melimion (@melimion) Fix ListView.ScrollTo does not work in WPF (#7947) #7947
melimion (@melimion) opacity mask added to FrameRenderer (#7828) #7828
melimion (@melimion) [macOs] implements Frame CornerRadius (#8168) #8168
melimion (@melimion) foreground color fix (#8149) #8149
melimion (@melimion) Fix [Android] Can not set Entry cursor position by tapping if ClearButtonVisibility=WhenEditing (#8429) #8429
Mikolaj Kieres (@mkieres) Creating automated UI tests for the issue 1747 (#8023) fixes #2237 #8023
Mikolaj Kieres (@mkieres) Created automated UI tests for issue 1769 (#8020) #8020
Mikolaj Kieres (@mkieres) Automating bugzilla issue 33870 (#7968) #7968
Mikolaj Kieres (@mkieres) Adding instructions to the UI Test (issue #38770) (#8062) #8062
neolithos (@neolithos) Fix NullReferenceException in Obfuscate (#7589) (#7591) #7591
neolithos (@neolithos) [Enhancement] Xamarin.Forms.Platform.WPF.ImageExtensions to public (#7462) #7462
Oberdan Bitencourt Ferreira (@arctouch-oberdanbitencourt) Preventing NRE when setting accessibility label while disposing controls (#8051) #8051
Oliver Brown (@GalaxiaGuy) [macOS] Add padding to Button (#7919) fixes #7851 #7919
Oliver Brown (@GalaxiaGuy) [iOS] Fix iOS ScrollToAsync not completing when scrolling to current location (#7979) #7979
Peter Moore (@legistek) RelativeSource Binding Bug Fixes (Gh8450) (#8541) #8541
Philippe Leybaert (@activa) Reset transformation properly on UWP (#7385) (#7386) #7386
Ravinder Jangra (@ravinderjangra) Fix android scrollbar visibility issue (#8090) fixes #7629 #8015 #8090
Ravinder Jangra (@ravinderjangra) [Android] Fix Material button renderer setbackgroundcolor (#8089) fixes #5747 fixes #7002 #8089
Seungkeun Lee (@myroot) [Tizen] Tizen renderer performance optimization (#320) (#7440) #7440
Seungkeun Lee (@myroot) [Tizen] Update InitializationOptions (#7441) #7441
Seungkeun Lee (@myroot) [Tizen] Add SwipeViewRenderer on Tizen (#8542) #8542
shmin (@shyunMin) [Tizen] fix picker focus issue in TV profile (#7770) #7770
shmin (@shyunMin) [Tizen] Add Meterial Stepper Renderer (#8037) #8037
Steven Thewissen (@sthewissen) Add extension methods for ScaleXTo and ScaleYTo (#8007) fixes #8004 #8007
Stuart Lang (@slang25) [UWP] Check for null Platform in OnDestroy fixes #7331 (#7363) #7363
Stuart Lang (@slang25) Fix typo in RefreshViewRenderer (#7831) #7831
sung-su.kim (@sung-su) [Tizen] Add CarouselViewRenderer (#8081) #8081
Vũ Đức Tuyến (@tuyen-vuduc) #7664 Use FontSizeConverter for FontImageSource.Size property (#7887) #7887
Yuriy Holembyovskyy (@yurkinh) Fix7320 font image source don't work on wpf (#7625) fixes #7320 #7625

Feedback welcome

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

Open Source

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