Xamarin.Forms 4.5.0.187-pre2 (4.5.0 Pre Release 2) Release Notes

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

Summary

Many core controls have received additional improvements, and we've introduced a few new capabilities to optimize your productivity developing cross-platform applications.

AndroidX

Xamarin.Forms now uses the latest AndroidX libraries from Google. These replace the Android Support libraries which are no longer being updated. This requires no change to your code. If you notice any undesirable side-effects, please open an issue here.

Built with Visual Studio 2019

The Xamarin.Forms NuGet is now being built with Visual Studio 2019 and the latest Mono and platform SDKs while still supporting the ability to build with Visual Studio 2017 and the equivelant on Mac. If you notice any undesirable side-effects, please open an issue here.

Embedded Fonts

Now to use fonts you only need to add them to your Xamarin.Forms shared library as embedded resources and reference them with an assembly tag, rather than adding them to multiple platforms, each with their own implementation rules. To your AssemblyInfo.cs add:

using Xamarin.Forms;

[assembly: ExportFont("CuteFont-Regular.ttf")]

Then to use the font in XAML, reference that name:

<Label Text="Hello Embedded Fonts" FontFamily="CuteFont-Regular"/>

VisualStateManager Target

Now you can update multiple controls when a state changes by specifying the target control and property. It can look something like this:

<VisualStateManager.VisualStateGroups>
	<VisualStateGroup Name="ColorStates">
		<VisualState Name="Red">
			<VisualState.Setters>
				<Setter TargetName="TargetLabel1" Property="Label.BackgroundColor" Value="#340002" />
				<Setter TargetName="TargetLabel1" Property="Label.TextColor" Value="#920e0c" />
				<Setter TargetName="TargetLabel1" Property="Label.Text" Value="Red" />
			</VisualState.Setters>
		</VisualState>

		<VisualState Name="Blue">
			<VisualState.Setters>
				<Setter TargetName="TargetLabel1" Property="Label.BackgroundColor" Value="#4a707a" />
				<Setter TargetName="TargetLabel1" Property="Label.TextColor" Value="#94b0b7" />
				<Setter TargetName="TargetLabel1" Property="Label.Text" Value="Blue" />
			</VisualState.Setters>
		</VisualState>
	</VisualStateGroup>
</VisualStateManager.VisualStateGroups>

Remove UIWebView

To make sure the UIWebView control renderer is linked out even when it's not being directly used, and to avoid warnings from Apple during the review process, add this flag to your iOS projects mtouch arguments:

--optimize=experimental-xforms-product-type

Note that this also requires a release of Xamarin.iOS that'll come after mid-January via a service release to Visual Studio 2019 and Visual Studio 2019 for Mac.

What's New in this Release

Roadmap

F100s

  • "[iOS] Add UpdateMode platform-specific to DatePicker and TimePicker" (#8048)
  • Github #2235 - "Improved image organization" (#3263) (#3420)
  • Github #3228 - "Feature Request - Default Search Directory for UWP Icons (Platform Specific)" (#3263) (#3420)
  • Github #5177 - "[Enhancement] Change NavigationPage back button color on Android" (#7365)
  • Github #7135 - "[Enhancement] Add platform specific property to set the iOS UITabBar Translucent property to false" (#7315)

CollectionView

  • "[Android] Fix some issues in UITests" (#8764)
  • "[platform] improve perf of PropertyChangedEventArgsExtensions" (#9084)
  • "[UWP] Implement CurrentItem on CarouselView" (#7590)
  • "The great Androidx IF Def'ing of 2019" (#8898) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))
  • Github #7323 - "[Xamarin.iOS] Deprecated API Usage UIWebView" (#8001)
  • Github #8198 - "[Bug] ScrollView at CollectionView at RefreshView always leads to Pull-To-Refresh" (#8224)
  • Github #8345 - "[Bug] CollectionView ItemSpacing does not affect the Item spacing on iOS" (#8872)
  • Github #9159 - "[Bug] CarouselView IsBounceEnabled=False has no effect on Android" (#9160) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))

Shell

  • "[UWP] Enables usage of font image source for bottom bar tabs" (#8354)
  • "Shell Modal Behavior" (#8790) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))
  • Github #5108 - "Frame with a shadow on iOS adds a shadow to the contents" (#7518)
  • Github #6384 - "[Bug] [iOS] content page in tabbed page not showing inside shell tab" (#7532)
  • Github #7181 - "[Bug] Cannot update ToolbarItem text and icon" (#8254)
  • Github #7230 - "[Enhancement] Shell allow dynamic load FlyoutItem!" (#9023)
  • Github #7396 - "[Bug] Shell: Setting Shell.BackgroundColor overrides all colors of TabBar" (#7962)
  • Github #7416 - "[Bug] Crash In ShellSectionRootHeader with scrollable top tabs" (#7884)
  • Github #8211 - "[Bug] Shell throws NullRef if improperly configured" (#8250)

Visual

  • "Apply cecil fixes to make packages 2017 compatible" (#9145) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))
  • Github #4606 - "[Android] ImageButton on android is not clipping view to corner radius" (#7723)
  • Github #8633 - "[Bug] NuGet version conflict between Xamarin.Froms.Maps and Microsoft.AppCenter.Push" (#7660)

Other Enhancements

  • "[macOS] Add character spacing to button and label" (#8206)
  • "[macOS] Implement slider min/max/thumb color" (#8098)
  • "[Tizen] Supports Custom/Embedded and System fonts" (#9138) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))
  • "[WPF] ListView.Scrolled event implemented" (#8197)
  • "[WPF] Frame: Add shadow and padding" (#7964)
  • "[Xaml/XamlC] Accept prefixed property names of markup extensions" (#5186)
  • "[XamlC] Support variance" (#8535)
  • "WPF Implement editor placeholder" (#8504)
  • Github #3149 - "Master behavior of Popover should be allowed on MacOS desktop" (#8312)
  • Github #4691 - "[Enhancement] SecurityException from Forms.Maps with explicit target SDK" (#7282)
  • Github #5680 - "[Enhancement] Add method to force value coercion" (#8097)
  • Github #5830 - "[Enhancement] EntryCellTableViewCell should be public" (#8286)
  • Github #7540 - "[Enhancement] Include the name of the duplicate element for INameScope.RegisterName" (#8702)
  • Github #7667 - "Make SetupLayer on FrameRenderer virtual" (#7871)
  • Github #8346 - "[Enhancement] Pre-define DisplayPromptAsync" (#8362)

Features in Preview

SwipeView

  • "[Android, iOS] Improve the swipe threshold used in Execute Mode" (#9217) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))
  • Github #8781 - "[Bug][iOS] SwipeViewItem rendering issue on iOS" (#8828) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))
  • Github #8782 - "[Bug][iOS][Android] SwipeViewItems cut off on one or more sides" (#8824) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))
  • Github #8973 - "[Bug] SwipeView - no animation when revealing CollectionView items " (#8987) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))

CarouselView

  • "[platform] improve perf of PropertyChangedEventArgsExtensions" (#9084)
  • "[UWP] Implement CurrentItem on CarouselView" (#7590)
  • "The great Androidx IF Def'ing of 2019" (#8898) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))
  • Github #7323 - "[Xamarin.iOS] Deprecated API Usage UIWebView" (#8001)
  • Github #8198 - "[Bug] ScrollView at CollectionView at RefreshView always leads to Pull-To-Refresh" (#8224)
  • Github #9159 - "[Bug] CarouselView IsBounceEnabled=False has no effect on Android" (#9160) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))

UWP Shell

  • "[UWP] Enables usage of font image source for bottom bar tabs" (#8354)
  • Github #7230 - "[Enhancement] Shell allow dynamic load FlyoutItem!" (#9023)
  • Github #8211 - "[Bug] Shell throws NullRef if improperly configured" (#8250)

DarkMode

  • Github #8294 - "[Bug] UIStatusBarStyle does not appear to change when device is in dark mode" (#8791) (added in 4.5.0.187-pre2 (4.5.0 Pre Release 2))

Release History

  • Wednesday, January 22, 2020 - Xamarin.Forms 4.5.0.187-pre2 (4.5.0 Pre Release 2)
  • Monday, January 13, 2020 - Xamarin.Forms 4.5.0.142-pre1 (4.5.0 Pre Release 1)

Wednesday, January 22, 2020 - Xamarin.Forms 4.5.0.187-pre2 (4.5.0 Pre Release 2)

Issues Fixed

  • Github #2172 - "Height of Entry with data binding incorrect on UWP when Entry in ScrollView in Grid" (#8214)
  • Github #2678 - "StyleSheets - Updating StyleClass at runtime has no effect" (#9157)
  • Github #5168 - "[Core] Incorrect increments in Stepper" (#7383)
  • Github #5596 - "[iOS] Previous page's toolbar item being grayed out when canceling swipe to previous page then navigating back." (#8454)
  • Github #5711 - "Layout issue with Entry" (#8214)
  • Github #7862 - "[Bug] Live Unit Testing Fails Build" (#7925)
  • Github #7992 - "Datepicker is not opened when we call Datepicker.Focus() in UWP" (#8056)
  • Github #8294 - "[Bug] UIStatusBarStyle does not appear to change when device is in dark mode" (#8791)
  • Github #8781 - "[Bug][iOS] SwipeViewItem rendering issue on iOS" (#8828)
  • Github #8782 - "[Bug][iOS][Android] SwipeViewItems cut off on one or more sides" (#8824)
  • Github #8973 - "[Bug] SwipeView - no animation when revealing CollectionView items " (#8987)
  • Github #9159 - "[Bug] CarouselView IsBounceEnabled=False has no effect on Android" (#9160)

Additional fixes included in this release

  • "[Android, iOS] Improve the swipe threshold used in Execute Mode" (#9217)
  • "[android/ios] improve perf when not using Application.Properties" (#8887)
  • "[android] remove the Anticipator for 4.5.0 and master" (#9226)
  • "[Core] performance improvements around bindings" (#9114)
  • "Apply cecil fixes to make packages 2017 compatible" (#9145)
  • "The great Androidx IF Def'ing of 2019" (#8898)

Monday, January 13, 2020 - Xamarin.Forms 4.5.0.142-pre1 (4.5.0 Pre Release 1)

Issues Fixed

  • Github #2136/Bugzilla 45723 - "Entry / Editor and a Button. Tapping the button dismisses the keyboard" (#8740)
  • Github #3332 - "[Android] Memory leak in MasterDetailPage" (#8745)
  • Github #3742 - "Memory leak in the Navigation Page on Android" (#8745)
  • Github #3798 - "[Android] SeparatorColor of ListView is NOT updated dynamically" (#8085)
  • Github #3959 - "[UWP] ListView GroupHeaderTemplate Has minimum height" (#8010)
  • Github #4606 - "[Android] ImageButton on android is not clipping view to corner radius" (#7723)
  • Github #4744 - "forms in UWP show empty button for DisplayActionSheet" (#8445)
  • Github #4854 - "[macOS] Visual glitch when exiting the full screen with ScrollViewer" (#8086)
  • Github #4880 - "Text not shown as it should Xamarin.Forms.GTK" (#8473)
  • Github #5108 - "Frame with a shadow on iOS adds a shadow to the contents" (#7518)
  • Github #5367 - "Crash assigning excessively long text to Editor with MaxLength property set" (#8052)
  • Github #5749 - "Disable horizontal scroll in the custom listview in android" (#8105)
  • Github #5910 - "[Bug] IsClippedToBounds doesn't update clip rectangle when maximizing WPF window" (#8195)
  • Github #6384 - "[Bug] [iOS] content page in tabbed page not showing inside shell tab" (#7532)
  • Github #6556 - "[Bug] Button.CornerRadius doesn't work on WPF" (#7895)
  • Github #6693 - "[Bug] [WPF] ViewRenderer does not work properly with FrameworkElement derived native controls " (#8357)
  • Github #6905 - "[Bug] XAML parser cannot parse nested markup extension as positional argument" (#8980)
  • Github #6996 - "[Bug] Color of FontImageSource dynamic resource is useless" (#8063)
  • Github #7181 - "[Bug] Cannot update ToolbarItem text and icon" (#8254)
  • Github #7323 - "[Xamarin.iOS] Deprecated API Usage UIWebView" (#8001)
  • Github #7396 - "[Bug] Shell: Setting Shell.BackgroundColor overrides all colors of TabBar" (#7962)
  • Github #7400 - "[Bug] [Android] MainPage not changing in OnResume" (#7477)
  • Github #7416 - "[Bug] Crash In ShellSectionRootHeader with scrollable top tabs" (#7884)
  • Github #7709 - "[Bug] On android, not showing keyboard when changing placeholder in entry focused event" (#7984)
  • Github #7772 - "[Bug] Device.Idiom reports TargetIdiom.Phone for Amazon Fire TV Stick 4K" (#7933)
  • Github #7995 - "[Bug] WPF ListViewRenderer fails on item tapped with empty item source" (#8223)
  • Github #8087 - "[XAMARIN-FORMS-WPF] View doesn't render when set IsClippedToBounds to true" (#8195)
  • Github #8156 - "[Bug] [iOS] Label with HTML does not replace Umlaut characters properly" (#8265)
  • Github #8198 - "[Bug] ScrollView at CollectionView at RefreshView always leads to Pull-To-Refresh" (#8224)
  • Github #8211 - "[Bug] Shell throws NullRef if improperly configured" (#8250)
  • Github #8278 - "[Bug] StackOverflowException in UWP ListViewRenderer" (#8299)
  • Github #8345 - "[Bug] CollectionView ItemSpacing does not affect the Item spacing on iOS" (#8872)
  • Github #8469 - "[Bug] FontImageSourse doesn't work on macOS" (#8590)
  • Github #8593 - "[Bug] FontImageSourse doesn't work on GTK" (#8627)
  • Github #8633 - "[Bug] NuGet version conflict between Xamarin.Froms.Maps and Microsoft.AppCenter.Push" (#7660)
  • Github #9070 - "[Bug] UITabBar.Appearance.SelectedImageTintColor not working in Xamarin Forms project" (#9082)

Additional fixes included in this release

  • "[Android] Fix some issues in UITests" (#8764)
  • "[Android] Fix some views dispose" (#8703)
  • "[Android] ListViewRenderer - Better dispose" (#8705)
  • "[Android] MasterDetailPageRenderer - Add guard and add missing unsubscribe" (#8704)
  • "[iOS] Reduce casting and repeat math during BoxView drawing" (#9008)
  • "[platform] improve perf of PropertyChangedEventArgsExtensions" (#9084)
  • "[previewer] removed empty ItemsSource attribute from toolbox snippets" (#8379)
  • "[REVERTED] Return all visual elements needed" (#8100)
  • "[Xaml] Throw XamlParseException in MarkupExpressionParser.GetNextPiece" (#8447)
  • "[XamlC] Dispose assembly resolver constructed by XamlCTask" (#8397)
  • "Fix cross-thread exception when finalizing ButtonRenderer" (#9010)
  • "Fix reflection call on UWP" (#8636)
  • "Stop Frame shadow from blocking user input on iOS" (#8991)
  • "Stop the linker from killing off the Deserializer" (#8962)
  • "Use correct reference frame for gesture origin recognition" (#6615)
  • "WPF GTK Set flags" (#8446)

Known Issues

Breaking Changes

  • Github #4606 - "[Android] ImageButton on android is not clipping view to corner radius" (#7723)

Namespace Xamarin.Forms

Type Changed: Xamarin.Forms.IImageElement

Removed method:

public virtual void OnImageSourcesSourceChanged (object sender, System.EventArgs e);

Type Changed: Xamarin.Forms.Shell

Modified methods:

 public System.Threading.Tasks.Task GoToAsync (ShellNavigationState state, bool animate--- = true---)

Namespace Xamarin.Forms.Internals

Type Changed: Xamarin.Forms.Internals.Profile

Removed methods:

public static void FrameBegin (string name, string id, int line);
public static void FrameEnd ();

Namespace Xamarin.Forms.Platform.Android

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

Removed method:

[Obsolete ("ContentPage.CreateFragment() is obsolete as of version 3.2. Please use ContentPage.CreateSupportFragment() instead.")]
public static Android.App.Fragment CreateFragment (this Xamarin.Forms.ContentPage view, Android.Content.Context context);

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;

Deprecations

API Changes

See all API Changes here.

  • "Custom/Embedded fonts" (#6013)
  • Github #7135 - "[Enhancement] Add platform specific property to set the iOS UITabBar Translucent property to false" (#7315)
  • Github #7667 - "Make SetupLayer on FrameRenderer virtual" (#7871)

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
Akihiko Odaki (@akihikodaki) Add a missing '}' in Xamarin.Forms.Xaml.UnitTests/Issues/Bz24485.xaml (#8448) #8448
Akihiko Odaki (@akihikodaki) [Xaml] Throw XamlParseException in MarkupExpressionParser.GetNextPiece (#8447) #8447
Akihiko Odaki (@akihikodaki) [XamlC] Support variance (#8535) #8535
Akihiko Odaki (@akihikodaki) [Xaml[C]] Accept prefixed property names of markup extensions (#5186) #5186
Akihiko Odaki (@akihikodaki) [XamlC] Dispose assembly resolver constructed by XamlCTask (#8397) #8397
Akihiko Odaki (@akihikodaki) [Xaml] Create value from positional argument text of markup extension (#8980) #8980
Alexander Olshansky (@NordAlex) Fix 7709 - Fix showing keyboard when changing placeholder in entry focused event (#7984) #7984
Andrei (@AndreiMisiukevich) [Enhancement] Add platform specific property to handle iOS UITabBar Translucent property (#7315) #7315
beeradmoore (@beeradmoore) UIStatusBarStyle now changes correctly when a device is in dark mode (#8791) #8791
Bob Weinand (@bwoebi) Use correct reference frame for gesture origin recognition (#6615) #6615
Brian Macomber (@bmacombe) Typo Fix and change to nameof (#8942) fixes #8935 #8942
Brian Macomber (@bmacombe) Fixes 7992 Changes UWP DatePicker to show the picker flyout on DatePickerFocus() (#8056) #8056
Brian Macomber (@bmacombe) [UWP] Attempt to resolve entry on UWP not correctly calculating the correct height when in a scroll view (#8214) #8214
Chase Marsh (@ChaseMarsh) Fix 6693 - [Bug] [WPF] ViewRenderer does not work properly with FrameworkElement derived native controls (#8357) #8357
CleanCodeDeveloper (@CleanCodeDeveloper) [UWP] Enables usage of font image source for bottom bar tabs (#8354) #8354
Clifford Agius (@CliffAgius) Fixed the rounding issue when the stepper value is incremented. (#7383) #7383
David Eisler (@EislerDavid) Add null check in UpdateFlowDirection (#9148) #9148
Durgesh Khandal (@techduggu) Fixed 5680 - Added method to force value coercion (#8097) #8097
Durgesh Khandal (@techduggu) Fixed - 5830 - Updated access modifier for EntryCellTableViewCell (#8286) fixes #5830 #8286
Durgesh Khandal (@techduggu) Fixed 5749 - Issue with disabling horizontal scroll on Android (#8105) #8105
Durgesh Khandal (@techduggu) Fix #3798 - [Android] SeparatorColor of ListView is NOT updated dynamically (#8085) fixes #3798 #8085
Durgesh Khandal (@techduggu) Fixed 8211 - Handled NullRef in Shell if incorrectly-configured (#8250) #8250
Felipe Baltazar (@felipebaltazar) Fix Bug 7396 - Shell: Setting Shell.BackgroundColor overrides all colors of TabBar (#7962) #7962
Felipe Baltazar (@felipebaltazar) Fixe issue 5367 - Crash assigning excessively long text to Editor with MaxLength property set (#8052) fixes #5367 #8052
Felipe Baltazar (@felipebaltazar) Fix 7181 - [Bug] Cannot update ToolbarItem text and icon (#8254) fixes #7181 #8254
Glenn Versweyveld (@Depechie) Let UICollectionViewCell handle state itself (#7884) #7884
Glenn Versweyveld (@Depechie) Add ListViewHeaderItemMinHeight override in UWP resources.xaml (#8010) #8010
Glenn Versweyveld (@Depechie) Check for ValueType items to perform equals (#8299) #8299
Glenn Versweyveld (@Depechie) Return all visual elements needed (#8100) fixes #7027 #8100
Joe Manke (@jcmanke) [Android Maps] Check for location permissions when IsShowingUser=true (#7282) fixes #4691 #7282
Joe Manke (@jcmanke) [iOS] Add UpdateMode platform-specific to DatePicker and TimePicker (#8048) #8048
Johann Weiher (@Suplanus) macOS: Fixed IsPresented PopOver (#8312) #8312
Kangho Hur (@rookiejava) [Tizen] Supports Custom/Embedded and System fonts (#9138) #9138
Kevin Petit (@kvpt) Call the application OnResume, on Android Resume instead of Restart. (#7477) Fixes #7400 #7477
Kevin Petit (@kvpt) [Android] Better ListViewRenderer dispose (#8705) #8705
Kevin Petit (@kvpt) [Android] Add guard and add missing unsubscribe on MasterDetailPageRenderer (#8704) #8704
Kevin Petit (@kvpt) [Android] Fix various memory leaks (#8745) fixes #3332 fixes #3742 #8745
Kevin Petit (@kvpt) [Android] Fix some issues in UITests (#8764) #8764
Kevin Petit (@kvpt) [Android] Fix view dispose (#8703) #8703
Konrad Müller (@krdmllr) [macOS] Implement slider min/max/thumb color (#8098) #8098
Konrad Müller (@krdmllr) [WPF] Frame: Add shadow and padding (#7964) #7964
Leo Mehlig (@leoMehlig) Fixes Bug with TabbedPage pushed onto Shell (#7532) fixes #6384 #7532
MagicAndre1981 (@MagicAndre1981) possible fix for Issue 7772 (#7933) #7933
melimion (@melimion) Scrolled event implemented (#8197) #8197
melimion (@melimion) Fix Button.CornerRadius doesn't work on WPF (#7895) #7895
melimion (@melimion) WPF Implement editor placeholder (#8504) #8504
melimion (@melimion) macOS toolbar improvements (#8146) #8146
Mohamed CHOUCHANE (@mohachouch) [WPF] View doesn't render when set IsClippedToBounds to true (#8195) #8195
Oliver Brown (@GalaxiaGuy) [iOS] [macOS] Fix HTML string encoding (#8265) #8265
Oliver Brown (@GalaxiaGuy) [macOS] Add character spacing to button and label (#8206) #8206
Pieter Nijs (@PieEatingNinjas) iOS: Frame with HasShadow set to true and BackgroundColor alpha < 1 casts shadow on all child views (#7518) #7518
Ravinder Jangra (@ravinderjangra) Fix back icon color for the navigation page (#7365) fixes #5177 #7365
Sanya Andreichuk (@sanyandreichuk) Force a redraw for right toolbar items. (#8454) #8454
Sławomir Kulików (@slakul) [macOS] Visual glitch when exiting the full screen with ScrollViewer (#8086) fixes #4854 #8086
Todd (@thenderson21) Fix to double escaping. (#8473) #8473
Tushar Koshti (@07101994) [Core] Removed null values from the DisplayActionSheet (#8445) fixes #4744 #8445
VladislavAntonyuk (@VladislavAntonyuk) [Bug] WPF ListViewRenderer fails on item tapped with empty item source #7995 (#8223) #8223
VladislavAntonyuk (@VladislavAntonyuk) [Bug] FontImageSourse doesn't work on macOS (#8590) fixes #8469 #8590
VladislavAntonyuk (@VladislavAntonyuk) WPF GTK Set flags (#8446) #8446
VladislavAntonyuk (@VladislavAntonyuk) [Bug] FontImageSourse doesn't work on GTK fixes #8593 (#8627) #8627
Youssef Victor (@Youssef1313) Remove private modifier (#8631) #8631

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