Xamarin.Forms 4.3.0.947036 (4.3.0 Service Release 1) Release Notes

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

What's New in this Release

Notable Changes

CollectionView

  • "[Android, iOS] Fix CarouselView Issues" (#7366)
  • "[Android/iOS] Expose CollectionView scroll listener" (#7737) (added in 4.3.0.908675 (4.3.0))
  • "[Android] Refactor the code for setting reverse layout in ItemsViewRenderer" (#7468) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "[Android] Remove duplicate statement in ObservableItemsSource" (#8014) (added in 4.3.0.908675 (4.3.0))
  • "[CarouselView] Fixed issue updating PeekAreaInsets" (#7382)
  • "[iOS] Fixed error updating dynamically the NumberOfSideItems in CarouselView." (#7802) (added in 4.3.0.908675 (4.3.0))
  • "[iOS] Implement CollectionView ScrollTo with groups" (#7220)
  • "[iOS] Make button click easier to see when turning on CollectionView flag" (#7617) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • "[iOS] Remove class variable from CarouselViewLayout whose value is always true" (#7484) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "[iOS] Various fixes with ItemsViewController" (#7618) (added in 4.3.0.908675 (4.3.0))
  • "[UWP] CarouselView fixes" (#7930) (added in 4.3.0.908675 (4.3.0))
  • "[UWP] Make EmptyView work in UWP CarouselView" (#7724) (added in 4.3.0.908675 (4.3.0))
  • "[UWP] Reduce allocations and fix memory leak in CollectionView" (#7608) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • "[UWP] RefreshView" (#7319) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "Finish ScrollTo implementations for CollectionView on UWP" (#7509) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • "Fix iOS crash when group type is not an IList" (#7955) (added in 4.3.0.908675 (4.3.0))
  • "fix NRE on _itemsSource when using IEnumerable" (#7480) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "Generics for CollectionView iOS implementation" (#7918) (added in 4.3.0.908675 (4.3.0))
  • "Implement CarouselView EmptyView" (#7650) (added in 4.3.0.908675 (4.3.0))
  • "Implement CarouselView on UWP" (#7503) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "Implement EmptyView on UWP" (#7438) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "Implement grouping for UWP CollectionView" (#7697) (added in 4.3.0.908675 (4.3.0))
  • "Implement Move, Replace, and Reset for UWP CollectionView changes" (#7384) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "Move CollectionView UWP implementation to generics" (#7911) (added in 4.3.0.908675 (4.3.0))
  • "Remove extra properties from CarouselView API" (#7456) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "Remove requirement for CollectionView Experimental flag" (#7907) (added in 4.3.0.908675 (4.3.0))
  • Github #4996 - "[Spec] CarouselView" (#5044)
  • Github #5354 - "[CollectionView] Updating the ItemsLayout type should refresh the layout" (#7613) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • Github #5882 - "[Spec] RefreshView" (#7214)
  • Github #5998 - "[Enhancement] Create header and footer for CollectionView" (#7237)
  • Github #6051 - "[Android] CollectionView items retain ripple effect even when unselectable" (#7615) (added in 4.3.0.908675 (4.3.0))
  • Github #6620 - "[iOS] Crash when creating a CollectionView inside a CollectionView" (#7273)
  • Github #6889 - "[Bug] CollectionView on android (not test on iOS) lable binding show blank after do some scroll" (#7426) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • Github #6963 - "[Bug] CollectionView multiple pre-selection throws ArgumentOutOfRangeException when SelectedItems is bound to an ObservableCollection initialized inside the constructor." (#7902) (added in 4.3.0.908675 (4.3.0))
  • Github #7035 - "[Bug][iOS] CarouselView last element is clipped" (#7158) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • Github #7121 - "[Bug] Scrolling CollectionView(with footer) to the last item throws System.ArgumentOutOfRangeException" (#7199)
  • Github #7128 - "[iOS] Changing model property scrolls CollectionView back to top " (#7285) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • Github #7194 - "[UWP CollectionView] Changing ItemsSource automatically selects first item" (#7267)
  • Github #7251 - "[Bug] iOS - CollectionView EmptyView has incorrect bounds, height, width" (#7811) (added in 4.3.0.908675 (4.3.0))
  • Github #7338 - "[Bug] CollectionView crash if source is empty in XF 4.2.0.709249" (#7354)
  • Github #7347 - "[Bug] Header/Footer do not update on Android CollectionView" (#7499) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • Github #7357 - "[Android] Setting ItemSpacing creates spacing for the last item in CollectionView" (#7516) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • Github #7395 - "[Bug] CollectionView: changing ItemTemplate does not work as expected" (#7628) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • Github #7397 - "[Bug] Forms 4.2 : CollectionView : Android : RTL" (#7809) (added in 4.3.0.947036 (4.3.0 Service Release 1))
  • Github #7443 - "[Bug] The CarouselView does not snap by default" (#7444) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • Github #7472 - "[iOS] Weird behavior when items are added with timer to empty CollectionView" (#7580) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • Github #7519 - "[Android] Setting ItemSpacing for LinearItemsLayout does not work" (#7522) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • Github #7525 - "[Bug] Carousel Position property doesn't change the position on page constructor - Android only" (#7587) (#7592) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • Github #7593 - "[Bug][iOS] Pull-to-refresh crash in horizontal grid CollectionView/RefreshView" (#7612) (added in 4.3.0.908675 (4.3.0))
  • Github #7621 - "[iOS] MeasureFirstItem is broken for CollectionView" (#7622) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • Github #7678 - "[Bug] Crash on CarouselView using ObservableCollection" (#7693) (added in 4.3.0.908675 (4.3.0))
  • Github #7700 - "[Bug][iOS] If CollectionView in other Tab gets changed before it's displayed, it stays invisible" (#7940) (added in 4.3.0.908675 (4.3.0))
  • Github #7742 - "[Bug] Changing the ItemTemplate on CarouselView dynamically doesn't work" (#7743) (added in 4.3.0.908675 (4.3.0))
  • Github #7789 - "[Bug] [iOS] CarouselView crash when displaying strings in 4.3-pre3" (#7858) (added in 4.3.0.908675 (4.3.0))
  • Github #7792 - "[Bug][Android] CarouselView string EmptyView not displayed" (#7822) (added in 4.3.0.908675 (4.3.0))
  • Github #7803 - "[Bug] RefreshView pull to refresh command firing twice on a single pull" (#7840) (#7866) (added in 4.3.0.908675 (4.3.0))
  • Github #7817 - "[Bug] Changing ItemsUpdatingScrollMode has no effect on CarouselView" (#7872) (added in 4.3.0.908675 (4.3.0))
  • Github #7865 - "[Bug] CarouselView setting Position has dif behavior than ScrollTo" (#7901) (added in 4.3.0.908675 (4.3.0))
  • Github #7943 - "[Bug] CollectionView XF4.3-pre3 crashes if EmptyView defined and ItemsSource is changed after ItemTemplate is changed" (#7945) (added in 4.3.0.908675 (4.3.0))
  • Github #7993 - "[Bug] CollectionView.Scrolled event offset isn't correctly reset when items change" (#8018) (added in 4.3.0.908675 (4.3.0))

Shell

This release introduces preview support for UWP thanks in large part to the contributions of Morten Nielsen. With the initial implementation in, smaller pull requests can now be made to complete missing functionality and stabilize it. To use Shell in your UWP application, you'll want to add a UWP project with Xamarin.Forms if you don't already have one, and then initialize the feature in your UWP App.xaml.cs:

global::Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");
Xamarin.Forms.Forms.Init(e);
  • "[Android] Check if Shell Flyout header is null before trying to use it" (#7333)
  • "[iOS] Fix usage conflict of Title and AttributedTitle on ButtonRenderer" (#6944)
  • "[Shell][Tizen] Add the MaterialShellRenderer on Tizen" (#6196)
  • "Add check to see if ShellContent is Visible one before firing OnAppearing" (#7460) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "Add profiler instrumentation" (#7134)
  • "Fix direction of walking when calculating effective FlyoutBehavior " (#7459) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "ITextAlignmentElement VerticalTextAlignment (Entry, SearchBar, EntryCell)" (#6463)
  • "make all ShellTabBarAppearanceTracker methods virtual" (#7175)
  • Github #4504 - "[F100] Make Label display HTML from a string" (#4527)
  • Github #4855 - "[F100] Character Spacing (LetterSpacing/Kerning) in Label and Button" (#5167)
  • Github #4996 - "[Spec] CarouselView" (#5044)
  • Github #5593 - "Uwp Xamarin.Forms.Shell " (#6015) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • Github #6291 - "[Bug] Shell Search Handler is broken in API < 23" (#8106) (added in 4.3.0.947036 (4.3.0 Service Release 1))
  • Github #6802 - "[Bug] Shell SearchHandler - Cancel is visible by default?" (#6931)
  • Github #6964 - "Turn off bottom shadow and set bottom padding of Flyout Header" (#6970)
  • Github #7339 - "[Bug] Material Visual and Frames break in Shell" (#7752) (added in 4.3.0.908675 (4.3.0))
  • Github #7939 - "[Bug] [Shell] Android 10 App Crash When Changing Theme" (#7941) (added in 4.3.0.947036 (4.3.0 Service Release 1))
  • Github #7985 - "[Bug] Shell.FlyoutBehavior="Disabled" not working android emulator" (#8135) (added in 4.3.0.947036 (4.3.0 Service Release 1))

Visual

  • "[iOS] Fix usage conflict of Title and AttributedTitle on ButtonRenderer" (#6944)
  • "[Shell][Tizen] Add the MaterialShellRenderer on Tizen" (#6196)
  • "[Tizen] Fix slider thumb color issue" (#6785)
  • Github #2165 - "enable source link support" (#6886)
  • Github #4855 - "[F100] Character Spacing (LetterSpacing/Kerning) in Label and Button" (#5167)
  • Github #4996 - "[Spec] CarouselView" (#5044)
  • Github #5497 - "[Material] Picker does not use Title as Placeholder / Hint Text" (#7880) (added in 4.3.0.908675 (4.3.0))
  • Github #7339 - "[Bug] Material Visual and Frames break in Shell" (#7752) (added in 4.3.0.908675 (4.3.0))

F100s

Features in Preview

CarouselView

  • "[Android, iOS] Fix CarouselView Issues" (#7366)
  • "[CarouselView] Fixed issue updating PeekAreaInsets" (#7382)
  • "[iOS] Fixed error updating dynamically the NumberOfSideItems in CarouselView." (#7802) (added in 4.3.0.908675 (4.3.0))
  • "[iOS] Make button click easier to see when turning on CollectionView flag" (#7617) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • "[iOS] Remove class variable from CarouselViewLayout whose value is always true" (#7484) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "[iOS] Various fixes with ItemsViewController" (#7618) (added in 4.3.0.908675 (4.3.0))
  • "[UWP] CarouselView fixes" (#7930) (added in 4.3.0.908675 (4.3.0))
  • "[UWP] Make EmptyView work in UWP CarouselView" (#7724) (added in 4.3.0.908675 (4.3.0))
  • "Generics for CollectionView iOS implementation" (#7918) (added in 4.3.0.908675 (4.3.0))
  • "Implement CarouselView EmptyView" (#7650) (added in 4.3.0.908675 (4.3.0))
  • "Implement CarouselView on UWP" (#7503) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "Move CollectionView UWP implementation to generics" (#7911) (added in 4.3.0.908675 (4.3.0))
  • "Remove extra properties from CarouselView API" (#7456) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • "Remove requirement for CollectionView Experimental flag" (#7907) (added in 4.3.0.908675 (4.3.0))
  • Github #4996 - "[Spec] CarouselView" (#5044)
  • Github #7035 - "[Bug][iOS] CarouselView last element is clipped" (#7158) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • Github #7443 - "[Bug] The CarouselView does not snap by default" (#7444) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • Github #7519 - "[Android] Setting ItemSpacing for LinearItemsLayout does not work" (#7522) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • Github #7525 - "[Bug] Carousel Position property doesn't change the position on page constructor - Android only" (#7587) (#7592) (added in 4.3.0.851321-pre3 (4.3.0 Pre Release 3))
  • Github #7678 - "[Bug] Crash on CarouselView using ObservableCollection" (#7693) (added in 4.3.0.908675 (4.3.0))
  • Github #7789 - "[Bug] [iOS] CarouselView crash when displaying strings in 4.3-pre3" (#7858) (added in 4.3.0.908675 (4.3.0))
  • Github #7792 - "[Bug][Android] CarouselView string EmptyView not displayed" (#7822) (added in 4.3.0.908675 (4.3.0))
  • Github #7803 - "[Bug] RefreshView pull to refresh command firing twice on a single pull" (#7840) (#7866) (added in 4.3.0.908675 (4.3.0))
  • Github #7817 - "[Bug] Changing ItemsUpdatingScrollMode has no effect on CarouselView" (#7872) (added in 4.3.0.908675 (4.3.0))
  • Github #7865 - "[Bug] CarouselView setting Position has dif behavior than ScrollTo" (#7901) (added in 4.3.0.908675 (4.3.0))

Release History

  • Tuesday, October 29, 2019 - Xamarin.Forms 4.3.0.947036 (4.3.0 Service Release 1)
  • Monday, October 21, 2019 - Xamarin.Forms 4.3.0.908675 (4.3.0)
  • Wednesday, October 2, 2019 - Xamarin.Forms 4.3.0.851321-pre3 (4.3.0 Pre Release 3)
  • Thursday, September 19, 2019 - Xamarin.Forms 4.3.0.819712-pre2 (4.3.0 Pre Release 2)
  • Wednesday, September 11, 2019 - Xamarin.Forms 4.3.0.778476-pre1 (4.3.0 Pre Release 1)

Tuesday, October 29, 2019 - Xamarin.Forms 4.3.0.947036 (4.3.0 Service Release 1)

Issues Fixed

  • Github #4941 - "[UWP] Wrong exception thrown when NavigationPage is missing root page." (#8034)
  • Github #6291 - "[Bug] Shell Search Handler is broken in API < 23" (#8106)
  • Github #6957 - "[Bug] Device.StartTimer() won't fire on WPF if it is executed on Non UI thread" (#7958)
  • Github #7048 - "[Bug] CheckBox Has Incosistent Paddings" (#7978)
  • Github #7397 - "[Bug] Forms 4.2 : CollectionView : Android : RTL" (#7809)
  • Github #7680 - "[Bug] ListView item background color not set on tap" (#7903)
  • Github #7850 - "ListView Selection Color disappeared on ios 13" (#7903)
  • Github #7886 - "[Bug] PushModalAsync modal page with Entry crashes on close for MacOS (NRE)" (#7900)
  • Github #7939 - "[Bug] [Shell] Android 10 App Crash When Changing Theme" (#7941)
  • Github #7985 - "[Bug] Shell.FlyoutBehavior="Disabled" not working android emulator" (#8135)
  • Github #8186 - "[Bug] Setting IsRefreshing from OnAppearing on RefreshView crashes UWP" (#8190)
  • Github #8221 - "[Bug] When updating to Xamarin.Forms 4.3 xaml bindings to Dictionaries no longer work" (#8226)

Additional fixes included in this release

  • "[MacOS] FIx against NRE on disposing Entry renderer" (#8019)
  • "Better detection of IsCollapsed state/changes on iPad Master View Controller" (#8181)
  • "Don't force the Master page closed on disappear if it's set to always visible" (#8164)
  • "Occasionally clean up WeakReferences in Styles whose targets have been collected" (#8124)
  • "Store references to local variable so it's not collected" (#8205)

Monday, October 21, 2019 - Xamarin.Forms 4.3.0.908675 (4.3.0)

Issues Fixed

  • Github #5784 - "[Feedback] Xamarin DatePicker Min/Max Range error" (#7766)
  • Github #5868 - "VisualElement.Unfocus does not work on WPF" (#7883)
  • Github #6051 - "[Android] CollectionView items retain ripple effect even when unselectable" (#7615)
  • Github #6963 - "[Bug] CollectionView multiple pre-selection throws ArgumentOutOfRangeException when SelectedItems is bound to an ObservableCollection initialized inside the constructor." (#7902)
  • Github #7251 - "[Bug] iOS - CollectionView EmptyView has incorrect bounds, height, width" (#7811)
  • Github #7253 - "[Bug] UWP Switch Renderer throws exception when a custom renderer provides Color objects instead of Brush" (#7760)
  • Github #7339 - "[Bug] Material Visual and Frames break in Shell" (#7752)
  • Github #7399 - "Application crashes with NullRefernceException while setting ReturnType as Next for the Entry in a DataTemplate" (#7704)
  • Github #7512 - "RTL CollectionView looks odd" (#7614)
  • Github #7537 - "[Bug] [UWP][4.3.0-pre1] Setting MainPage in OnStart() crashes app will null reference exception" (#7749)
  • Github #7593 - "[Bug][iOS] Pull-to-refresh crash in horizontal grid CollectionView/RefreshView" (#7612)
  • Github #7678 - "[Bug] Crash on CarouselView using ObservableCollection" (#7693)
  • Github #7700 - "[Bug][iOS] If CollectionView in other Tab gets changed before it's displayed, it stays invisible" (#7940)
  • Github #7742 - "[Bug] Changing the ItemTemplate on CarouselView dynamically doesn't work" (#7743)
  • Github #7789 - "[Bug] [iOS] CarouselView crash when displaying strings in 4.3-pre3" (#7858)
  • Github #7792 - "[Bug][Android] CarouselView string EmptyView not displayed" (#7822)
  • Github #7803 - "[Bug] RefreshView pull to refresh command firing twice on a single pull" (#7840) (#7866)
  • Github #7817 - "[Bug] Changing ItemsUpdatingScrollMode has no effect on CarouselView" (#7872)
  • Github #7830 - "[Bug] After #7531 some XAML namespaces require assembly" (#7853)
  • Github #7837 - "[Bug] Target Parameter Count Exception when binding to string-indexed property." (#7896)
  • Github #7865 - "[Bug] CarouselView setting Position has dif behavior than ScrollTo" (#7901)
  • Github #7888 - "[Bug] [iOS] Label size doesn't change when text changed if LabelRenderer reused" (#7942)
  • Github #7898 - "[Bug] [macOS] navigation page doesn't hide previous page" (#7921)
  • Github #7943 - "[Bug] CollectionView XF4.3-pre3 crashes if EmptyView defined and ItemsSource is changed after ItemTemplate is changed" (#7945)
  • Github #7993 - "[Bug] CollectionView.Scrolled event offset isn't correctly reset when items change" (#8018)

Additional fixes included in this release

  • "[Android/iOS] Expose CollectionView scroll listener" (#7737)
  • "[Android] Remove duplicate statement in ObservableItemsSource" (#8014)
  • "[iOS] Fixed error updating dynamically the NumberOfSideItems in CarouselView." (#7802)
  • "[iOS] Various fixes with ItemsViewController" (#7618)
  • "[Tizen] Fix RenderWith attributes for Forwarders" (#7854)
  • "[UWP] CarouselView fixes" (#7930)
  • "[UWP] Make EmptyView work in UWP CarouselView" (#7724)
  • "[X] send VisualTreeChanged for root" (#7747)
  • "Fix iOS crash when group type is not an IList" (#7955)
  • "Generics for CollectionView iOS implementation" (#7918)
  • "Implement CarouselView EmptyView" (#7650)
  • "Implement grouping for UWP CollectionView" (#7697)
  • "ios: raise touch event on touchbegin." (#6989)
  • "Move CollectionView UWP implementation to generics" (#7911)
  • "Remove requirement for CollectionView Experimental flag" (#7907)
  • "Revert "ios: raise touch event on touchbegin."" (#7787)

Wednesday, October 2, 2019 - Xamarin.Forms 4.3.0.851321-pre3 (4.3.0 Pre Release 3)

Issues Fixed

  • Github #5354 - "[CollectionView] Updating the ItemsLayout type should refresh the layout" (#7613)
  • Github #7035 - "[Bug][iOS] CarouselView last element is clipped" (#7158)
  • Github #7357 - "[Android] Setting ItemSpacing creates spacing for the last item in CollectionView" (#7516)
  • Github #7388 - "[Bug] IsRefreshing and RefreshCommand aren't working so well together" (#7398)
  • Github #7395 - "[Bug] CollectionView: changing ItemTemplate does not work as expected" (#7628)
  • Github #7472 - "[iOS] Weird behavior when items are added with timer to empty CollectionView" (#7580)
  • Github #7494 - "{TemplateBinding}s in Span no longer works" (#7506)
  • Github #7525 - "[Bug] Carousel Position property doesn't change the position on page constructor - Android only" (#7587) (#7592)
  • Github #7531 - "[Bug] Xaml-Only resources can't resolve xmlns with implicit assembly" (#7550)
  • Github #7548 - "Xamarin forms 4.2 : After up-gradation, Collection view cells Disappears and Appears when adding items " (#7580)
  • Github #7559 - "[Bug] AttachedProperty Generic generate a error during compile" (#7588)
  • Github #7621 - "[iOS] MeasureFirstItem is broken for CollectionView" (#7622)

Additional fixes included in this release

  • "[iOS] Make button click easier to see when turning on CollectionView flag" (#7617)
  • "[UWP] Reduce allocations and fix memory leak in CollectionView" (#7608)
  • "Finish ScrollTo implementations for CollectionView on UWP" (#7509)
  • "Only set elevation on Lollipop and up for FlatButtonRenderer" (#7662)
  • "UWP fixes for lower target sdk on VS 2017" (#7722)

Thursday, September 19, 2019 - Xamarin.Forms 4.3.0.819712-pre2 (4.3.0 Pre Release 2)

Issues Fixed

  • Github #6817 - "[Bug] DatePicker and TimePicker not working on xamarin.forms macOS" (#7183)
  • Github #6889 - "[Bug] CollectionView on android (not test on iOS) lable binding show blank after do some scroll" (#7426)
  • Github #7128 - "[iOS] Changing model property scrolls CollectionView back to top " (#7285)
  • Github #7347 - "[Bug] Header/Footer do not update on Android CollectionView" (#7499)
  • Github #7443 - "[Bug] The CarouselView does not snap by default" (#7444)
  • Github #7453 - "[Bug] CollectionView Header not displayed without Footer" (#7499)
  • Github #7519 - "[Android] Setting ItemSpacing for LinearItemsLayout does not work" (#7522)
  • Github #7524 - "[Bug] Android CollectionView GridItemsLayout Span with Binding does not work anymore" (#7522)
  • Github #7545 - "[Bug] Writing error in File FormsCommandBarStyle.xaml" (#7546)
  • Github #7570 - "[Bug] VisualDiagnostics throws DuplicateKeyException" (#7571)

Additional fixes included in this release

  • "[Android] Refactor the code for setting reverse layout in ItemsViewRenderer" (#7468)
  • "[Build] Bump msbuild locator move to VS2019 " (#7415)
  • "[Core] Added intelisense to Keyboard property" (#7553)
  • "[Core] Removed MatchParent value from Property Editor" (#7551)
  • "[iOS] Remove class variable from CarouselViewLayout whose value is always true" (#7484)
  • "[macOS] PushModalAsync a 2nd time causes a crash" (#7250)
  • "[Tests]Update to Xamarin.UITest 3.0 and NUnit 3.0 (#6332)" (#7031)
  • "[xamlc] new <XFXAMLCVALIDATEONLY> MSBuild property for Debug builds" (#7407)
  • "Add check to see if ShellContent is Visible one before firing OnAppearing" (#7460)
  • "Fix direction of walking when calculating effective FlyoutBehavior " (#7459)
  • "fix NRE on _itemsSource when using IEnumerable" (#7480)
  • "Implement CarouselView on UWP" (#7503)
  • "Implement EmptyView on UWP" (#7438)
  • "Implement Move, Replace, and Reset for UWP CollectionView changes" (#7384)
  • "Remove extra properties from CarouselView API" (#7456)

Wednesday, September 11, 2019 - Xamarin.Forms 4.3.0.778476-pre1 (4.3.0 Pre Release 1)

Issues Fixed

  • Github #1455 - "Context action are not changed when selected item changed on Android" (#6460)
  • Github #2509/Bugzilla 25557 - "Pin.Clicked does not work" (#6079)
  • Github #3475 - "[iOS] LayoutCompression Performance Issues" (#7201)
  • Github #4041 - "SupportActionMode Menu not updated in Android when using DataTemplateSelector " (#6460)
  • Github #4267 - "[iOS] NRE in ContextActionsCell" (#7306)
  • Github #4973 - "No view found for id 0xe (unknown) for fragment FragmentContainer" (#4974)
  • Github #5490 - "Map Pin Click only works on Android on XF and Maps 3.6" (#6079)
  • Github #5575 - "In macOS Mojave, navigation bar title text is not centered." (#6981)
  • Github #5610 - "iOS: Setting AnchorY incorrectly translates view" (#6951)
  • Github #6074 - "[Bug] macOS pressing the tab key moves to the 2nd entry instead of first" (#6982)
  • Github #6620 - "[iOS] Crash when creating a CollectionView inside a CollectionView" (#7273)
  • Github #6776 - "[Bug] System Crash when I swipe to Delete a ListView item and then Select another Item" (#7215)
  • Github #6790 - "[Bug] [WPF] Button padding doesn't work" (#6791)
  • Github #6802 - "[Bug] Shell SearchHandler - Cancel is visible by default?" (#6931)
  • Github #6847 - "Xamarin_iOS_UIKit_UIResponder_get_InputAssistantItem: unrecognized selector sent to instance 0x12df62320" (#6862)
  • Github #6945 - "[Bug] Wrong anchor behavior when setting HeightRequest and scaling (iOS only)" (#6951)
  • Github #6964 - "Turn off bottom shadow and set bottom padding of Flyout Header" (#6970)
  • Github #7049 - "Null reference exception on some Android devices - Xamarin.Forms.Platform.Android.PageRenderer.Xamarin.Forms.Platform.Android.IOrderedTraversalController.UpdateTraversalOrder" (#7050)
  • Github #7102 - "[Bug] CollectionView Header cause delay to adding items." (#7199)
  • Github #7121 - "[Bug] Scrolling CollectionView(with footer) to the last item throws System.ArgumentOutOfRangeException" (#7199)
  • Github #7156 - "[Bug] UWP SearchBar not visible if you set a WidthRequest property for another platform" (#7188)
  • Github #7187 - "[Bug] Typo in markup extension should throw XPE" (#7190)
  • Github #7194 - "[UWP CollectionView] Changing ItemsSource automatically selects first item" (#7267)
  • Github #7207 - "[Bug] debug single uitest causes unhandled exception" (#7228)
  • Github #7243 - "[Bug] [Android] ArgumentOutOfRangeException in CollectionView: Adapter miscalculates item position when using CV Header" (#7199)
  • Github #7338 - "[Bug] CollectionView crash if source is empty in XF 4.2.0.709249" (#7354)

Additional fixes included in this release

  • "[Android, iOS] Fix CarouselView Issues" (#7366)
  • "[Android] Check if Shell Flyout header is null before trying to use it" (#7333)
  • "[Android] Fix MasterDetailContainer fragment handling" (#6471)
  • "[Android] Just check if IsDesignModeEnabled true instead of checking Context type" (#7110)
  • "[Android] Update webview to use correct value for WebNavigationEvent" (#7089)
  • "[CarouselView] Fixed issue updating PeekAreaInsets" (#7382)
  • "[Core] Obsolete Device.OpenUri" (#6844)
  • "[GTK] Added missing NamedSizes for GTK" (#7130)
  • "[iOS] Added static bool and check for iOS 13" (#7041)
  • "[iOS] Fix Scrolled, don't use UITableView delegate" (#7328)
  • "[iOS] Fix usage conflict of Title and AttributedTitle on ButtonRenderer" (#6944)
  • "[iOS] Implement CollectionView ScrollTo with groups" (#7220)
  • "[Shell][Tizen] Add the MaterialShellRenderer on Tizen" (#6196)
  • "[Tizen] Adds Opt-in Init" (#7209)
  • "[Tizen] Fix slider thumb color issue" (#6785)
  • "[Tizen] Update ListViewRenderer for header and footer" (#6984)
  • "[X] Allow tracking the assignment of StaticResource" (#6868)
  • "[X] allow x:Type markup as x:DataType value" (#6843)
  • "Add ProfilePage.cs" (#7112)
  • "Add profiler instrumentation" (#7134)
  • "Cache Droid SDK ver" (#6983)
  • "cleanup: corrected spelling mistake" (#6794)
  • "ITextAlignmentElement VerticalTextAlignment (Entry, SearchBar, EntryCell)" (#6463)
  • "make all ShellTabBarAppearanceTracker methods virtual" (#7175)
  • "Replace IsDesignModeEnabled check with original Context Type Check" (#7143)
  • "Revert "[Tests]Update to Xamarin.UITest 3.0 and NUnit 3.0 (#6332)"" (#7021)
  • "Stop the madness; " (#7123)

Known Issues

  • Github #8235 - "[Bug] Remove Current Page broken on Shell "
  • Github #8207 - "[Bug] Shell Flyout Items on UWP aren't showing the Title"
  • Github #8177 - "[Bug] Picker does not update when it's underlying list changes content"
  • Github #8170 - "[Bug] Shell is showing hamburger menu icon on tab navigation"
  • Github #8167 - "[Bug] XF 4.3 UWP Crash - Element not found"
  • Github #8140 - "[Bug] Entry HorizontalTextAlignment does not work"
  • Github #8137 - "[Bug] XF 4.3 Entry HorizontalTextAlignment display wrong position"
  • Github #7799 - "[Bug] CollectionView with itemtemplate selector and bindable layout behaves strangely on iOS"
  • Github #7788 - "[Bug] CollectionView ItemsUpdatingScrollMode=KeepLastItemInView not working on iOS"
  • Github #7699 - "[Bug][iOS] CollectionView's rows start with wrong Height"
  • Github #6507 - "[Bug] Navigating away from CollectionView and coming back leaves weird old items "
  • Github #6388 - "[CollectionView] Error when using ListItemsLayout in XAML"
  • Github #5455 - "ItemSizingStrategy MeasureAllItems does not work for iOS"

Breaking Changes

  • "make all ShellTabBarAppearanceTracker methods virtual" (#7175)
  • Github #6964 - "Turn off bottom shadow and set bottom padding of Flyout Header" (#6970)
  • Github #7156 - "[Bug] UWP SearchBar not visible if you set a WidthRequest property for another platform" (#7188)

Namespace Xamarin.Forms

Type Changed: Xamarin.Forms.CollectionView

Removed method:

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

Type Changed: Xamarin.Forms.ItemsView

Removed fields:

public static BindableProperty FooterProperty;
public static BindableProperty FooterTemplateProperty;
public static BindableProperty HeaderProperty;
public static BindableProperty HeaderTemplateProperty;
public static BindableProperty ItemsLayoutProperty;

Removed properties:

public object Footer { get; set; }
public DataTemplate FooterTemplate { get; set; }
public object Header { get; set; }
public DataTemplate HeaderTemplate { get; set; }
public IItemsLayout ItemsLayout { get; set; }

Type Changed: Xamarin.Forms.SelectableItemsView

Modified base type:

-Xamarin.Forms.ItemsView
+Xamarin.Forms.StructuredItemsView

Removed Type Xamarin.Forms.ActivationFlags

Removed Type Xamarin.Forms.ListItemsLayout

Namespace Xamarin.Forms.Internals

Type Changed: Xamarin.Forms.Internals.Registrar

Removed method:

public static void RegisterAll (System.Type[] attrTypes, Xamarin.Forms.ActivationFlags flags);

Namespace Xamarin.Forms

Type Changed: Xamarin.Forms.Forms

Removed method:

public static void Initialize (ActivationOptions activation);

Removed Type Xamarin.Forms.ActivationOptions

Namespace Xamarin.Forms.Platform.Android

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

Modified base type:

-Xamarin.Forms.Platform.Android.ItemsViewRenderer
+Xamarin.Forms.Platform.Android.ItemsViewRenderer`3[Xamarin.Forms.ItemsView,Xamarin.Forms.Platform.Android.ItemsViewAdapter`2[Xamarin.Forms.ItemsView,Xamarin.Forms.Platform.Android.IItemsViewSource],Xamarin.Forms.Platform.Android.IItemsViewSource]

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

Modified base type:

-Xamarin.Forms.Platform.Android.SelectableItemsViewRenderer
+Xamarin.Forms.Platform.Android.GroupableItemsViewRenderer`3[Xamarin.Forms.GroupableItemsView,Xamarin.Forms.Platform.Android.GroupableItemsViewAdapter`2[Xamarin.Forms.GroupableItemsView,Xamarin.Forms.Platform.Android.IGroupableItemsViewSource],Xamarin.Forms.Platform.Android.IGroupableItemsViewSource]

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

Removed constructor:

public SnapManager (Xamarin.Forms.ItemsView itemsView, Android.Support.V7.Widget.RecyclerView recyclerView);

Removed Type Xamarin.Forms.Platform.Android.ItemsViewAdapter

Removed Type Xamarin.Forms.Platform.Android.ItemsViewRenderer

Removed Type Xamarin.Forms.Platform.Android.SelectableItemsViewAdapter

Removed Type Xamarin.Forms.Platform.Android.SelectableItemsViewRenderer

Namespace Xamarin.Forms.Platform.Android.CollectionView

Removed Type Xamarin.Forms.Platform.Android.CollectionView.RecyclerViewScrollListener

Namespace Xamarin.Forms.Platform.iOS

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

Modified base type:

-Xamarin.Forms.Platform.iOS.ItemsViewRenderer
+Xamarin.Forms.Platform.iOS.ItemsViewRenderer`2[Xamarin.Forms.CarouselView,Xamarin.Forms.Platform.iOS.CarouselViewController]

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

Modified base type:

-Xamarin.Forms.Platform.iOS.GroupableItemsViewRenderer
+Xamarin.Forms.Platform.iOS.GroupableItemsViewRenderer`2[Xamarin.Forms.GroupableItemsView,Xamarin.Forms.Platform.iOS.GroupableItemsViewController`1[Xamarin.Forms.GroupableItemsView]]

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

Removed methods:

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

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

Removed property:

public IVisualElementRenderer VisualElementRenderer { get; }

Removed methods:

public void PrepareForRemoval ();
public override void PrepareForReuse ();
public void SetRenderer (IVisualElementRenderer renderer);

Removed Type Xamarin.Forms.Platform.iOS.GroupableItemsViewController

Removed Type Xamarin.Forms.Platform.iOS.GroupableItemsViewRenderer

Removed Type Xamarin.Forms.Platform.iOS.HorizontalTemplatedSupplementalView

Removed Type Xamarin.Forms.Platform.iOS.ItemsViewController

Removed Type Xamarin.Forms.Platform.iOS.ItemsViewRenderer

Removed Type Xamarin.Forms.Platform.iOS.SelectableItemsViewController

Removed Type Xamarin.Forms.Platform.iOS.SelectableItemsViewRenderer

Removed Type Xamarin.Forms.Platform.iOS.UICollectionViewDelegator

Removed Type Xamarin.Forms.Platform.iOS.VerticalTemplatedSupplementalView

Namespace Xamarin.Forms.Platform.MacOS

Type Changed: Xamarin.Forms.Platform.MacOS.VisualElementRenderer`1

Removed method:

public override void KeyUp (AppKit.NSEvent theEvent);

Namespace Xamarin.Forms.Platform.Tizen

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

Removed constructor:

public Item (string title, string icon);

Modified properties:

-public string Icon { get; set; }
+public Xamarin.Forms.ImageSource Icon { get; set; }

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

Modified base type:

-Xamarin.Forms.Platform.Tizen.ViewRenderer`2[Xamarin.Forms.ItemsView,Xamarin.Forms.Platform.Tizen.Native.CollectionView]
+Xamarin.Forms.Platform.Tizen.ViewRenderer`2[Xamarin.Forms.StructuredItemsView,Xamarin.Forms.Platform.Tizen.Native.CollectionView]

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

Modified properties:

-public NavigationView NavigationView { get; set; }
+public ElmSharp.EvasObject NavigationView { get; set; }

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

Removed property:

public System.Collections.Generic.IList<Group> Menu { get; set; }

Removed event:

public event System.EventHandler<ElmSharp.GenListItemEventArgs> MenuItemSelected;

Namespace Xamarin.Forms.Platform.UWP

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

Modified base type:

-Xamarin.Forms.Platform.UWP.SelectableItemsViewRenderer
+Xamarin.Forms.Platform.UWP.GroupableItemsViewRenderer`1[Xamarin.Forms.GroupableItemsView]

Removed Type Xamarin.Forms.Platform.UWP.ItemsViewRenderer

Removed Type Xamarin.Forms.Platform.UWP.SelectableItemsViewRenderer

Deprecations

  • "[Core] Obsolete Device.OpenUri" (#6844)

API Changes

See all API Changes here.

  • "Entry ClearButtonMode" (#5277)
  • "ITextAlignmentElement VerticalTextAlignment (Entry, SearchBar, EntryCell)" (#6463)
  • "Remove extra properties from CarouselView API" (#7456) (added in 4.3.0.819712-pre2 (4.3.0 Pre Release 2))
  • Github #1455 - "Context action are not changed when selected item changed on Android" (#6460)
  • Github #1673 - "[Enhancement] Map with shapes from pin" (#6136)
  • Github #2509/Bugzilla 25557 - "Pin.Clicked does not work" (#6079)
  • Github #2680 - "[Enhancement] Add VerticalScrollMode/HorizontalScrollMode ScrollView" (#3113)
  • Github #4323 - "[Enhacement] Add Scrolled event to ListView" (#7157)
  • Github #4504 - "[F100] Make Label display HTML from a string" (#4527)
  • Github #4855 - "[F100] Character Spacing (LetterSpacing/Kerning) in Label and Button" (#5167)
  • Github #6713 - "[Enhancement] Display prompts" (#6714)

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) [Core] Add ability to show modal prompts (#6714) #6714
adrianknight89 (@adrianknight89) minor fixes (#7178) #
adrianknight89 (@adrianknight89) [iOS] Remove class variable from CarouselViewLayout whose value is always true (#7484) #7484
adrianknight89 (@adrianknight89) [Android] Refactor the code for setting reverse layout in ItemsViewRenderer (#7468) #7468
adrianknight89 (@adrianknight89) [Android] Fix ItemSpacing for last item in CollectionView (#7516) #7516
adrianknight89 (@adrianknight89) [iOS] Make button click easier to see when turning on CollectionView flag (#7617) #7617
adrianknight89 (@adrianknight89) [iOS] Fix MeasureFirstItem for CollectionView (#7622) #7622
adrianknight89 (@adrianknight89) [Android/iOS] Handle dynamically switching between item layouts in CollectionView (#7613) fixes #5354 #7613
adrianknight89 (@adrianknight89) [Android] Remove ripple effect on CollectionView item when SelectionMode is None (#7615) #7615
adrianknight89 (@adrianknight89) [Android] Fix FlowDirection for Labels (#7614) fixes #7512 #7614
adrianknight89 (@adrianknight89) [Android/iOS] Expose CollectionView scroll listener (#7737) #7737
adrianknight89 (@adrianknight89) [iOS] Fix hard crash when horizontal GridViewLayout is refreshed (#7612) fixes #7593 #7612
adrianknight89 (@adrianknight89) [iOS] Alternative proposal for PR 7794 (#7811) #7811
adrianknight89 (@adrianknight89) [iOS] Various fixes with ItemsViewController (#7618) #7618
adrianknight89 (@adrianknight89) remove duplicate statement (#8014) #8014
adrianknight89 (@adrianknight89) [Android] Fix recyclerview offsets (#8018) fixes #7993 #8018
Alan Grgic (@alanag13) use support libs for DrawableWrapper (#8106) fixes #6291 #8106
Alexey Maltsev (@AxelUser) Implemented scrolling disabling for ScrollView via ScrollOrientation.Neither (#3113) #3113
Andrei (@AndreiMisiukevich) fixes #5575 (#6981) #6981
Andrei (@AndreiMisiukevich) fixes #6074 (#6982) #6982
Andrei (@AndreiMisiukevich) [macOS] PushModalAsync a 2nd time causes a crash (#7250) fixes #6866 #7250
Andrei Nitescu (@andreinitescu) Label padding (#6299) #6299
Andrei Nitescu (@andreinitescu) ITextAlignmentElement VerticalTextAlignment (Entry, SearchBar, EntryCell) (#6463) #6463
Andrei Nitescu (@andreinitescu) Entry ClearButtonMode (#5277) #5277
bill2004158 (@bill2004158) Label size doesn't change when text changed (#7942) #7942
Brayan Khosravian (@BrayanKhosravian) - Issue 7207 - if current culture of the current thread is not set to the invariant culture then initializing the app causes a "NUnit.Framework.InconclusiveException" with the exception- message "App did not start for some reason. System.Argument.Exception: 1 is not supported code page. Parameter name: codepage." (#7228) #7228
Brian Runck (@brunck) Update CONTRIBUTING.md (#7153) #7153
Brian Runck (@brunck) Update README.md (#7196) #7196
Edwin Wachs (@wachs) [UWP] Multi-window (#2432) #2432
Elashi (@Elashi) In Android : Reverse layout only when default layout direction is the… (#7809) #7809
Geoffrey Huntley (@ghuntley) cleanup: corrected spelling mistake (#6794) #6794
Geoffrey Huntley (@ghuntley) cleanup: moved closing brace to new line (#6793) #6793
Giampaolo Gabba (@GiampaoloGabba) [iOS] Fix LayoutCompression Performance Issues #3475 (#7201) #7201
Glenn Versweyveld (@Depechie) Validate on Date part only (#7766) fixes #5784 #7766
Glenn Versweyveld (@Depechie) Set correct MinWidth for CheckBox style (#7978) #7978
Guido Neele (@GuidoNeele) [Android] Context actions menu is now updated when changing cells. (#6460) fixes #1455 fixes #4041 #6460
Happypig375 (@Happypig375) Adds a null check for Xamarin.Forms.Platform.Android.PageRenderer.Xamarin.Forms.Platform.Android.IOrderedTraversalController.UpdateTraversalOrder (#7050) #7050
Joe Manke (@jcmanke) Add separate MarkerClick and InfoWindowClick events for Pins (#6079) #6079
Joe Manke (@jcmanke) [Maps] Add polylines and polygons (#6136) #6136
joepgrooten (@joepgrooten) Fix default cancel button visibility on iOS SearchHandler (#6931) #6931
Jon Robinson Levy (@WayaFlyfeather) Fixes #4941 (and 1722 for UWP). Adding a test in UWP NavigationPageRenderer.SetElement, to check if the supplied NavigationPage Eelement has a CurrentPage. If not, an InvalidOperationException is thrown. (Otherwise a NullReferenceException would be thrown at a later point.) (#8034) #8034
Kangho Hur (@rookiejava) [Tizen] Adds Opt-in Init (#7209) #7209
Kangho Hur (@rookiejava) [Tizen] Fix RenderWith attributes for Forwarders (#7854) #7854
Kevin Petit (@kvpt) [Android] Fix MasterDetailContainer fragment handling (#6471) #6471
Kevin Petit (@kvpt) [Android] Correctly dispose TabbedPageRenderer (#4974) #4974
Konrad Müller (@krdmllr) [macOS] Only use default font size for Time/DatePicker to avoid clipping issues (#7183) #7183
Konrad Müller (@krdmllr) Fix bug 5868 "VisualElement.Unfocus does not work on WPF" (#7883) #7883
Konrad Müller (@krdmllr) Always use current dispatcher to invoke wpf timer (#7958) fixes #6957 #7958
ksemenenko (@KSemenenko) [Enhancement] Implements CharacterSpacing (#5167) #5167
ksemenenko (@KSemenenko) ListView.Scrolled (#7157) #7157
Mahmoud Ali (@akamud) Warn on Styles validation instead of throwing exception (#7495) #7495
melimion (@melimion) [macOS] Fix Image Rotation issue (#7815) fixes #5395 #7815
melimion (@melimion) Fix [macOS] navigation page doesn't hide previous page (#7921) #7921
Morten Nielsen (@dotMorten) Adds UWP support to Shell (#6015) #6015
Peter Moore (@legistek) RelativeSource Binding (#4375) #4375
Ravinder Jangra (@ravinderjangra) [Android] Update webview to use correct value for WebNavigationEvent (#7089) #7089
shmin (@shyunMin) [Tizen] Fix slider thumb color issue (#6785) #6785
Stuart Lang (@slang25) Handle case where GetRenderer retuns null (#7566) Fixes #7563 #7566
sung-su.kim (@sung-su) [Tizen] Update ListViewRenderer for header and footer (#6984) #6984
v-haroha (@v-haroha) ios: raise touch event on touchbegin. (#6989) fixes #3320 #6989
yourina (@yourina) [Shell][Tizen] Add the MaterialShellRenderer on Tizen (#6196) #6196

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