Xamarin.Forms 2.5.0 Service Release 4
Important notes
Supporting Forms Embedding required a significant number of deprecations in the Android backend. Please update any custom renderers.
- ButtonRenderer: This constructor is obsolete as of version 2.5. Please use
ButtonRenderer(Context)
instead. - CarouselPageRenderer: This constructor is obsolete as of version 2.5. Please use
CarouselPageRenderer(Context)
instead. - FrameRenderer: This constructor is obsolete as of version 2.5. Please use
FrameRenderer(Context)
instead. - MasterDetailPageRenderer: This constructor is obsolete as of version 2.5. Please use
MasterDetailPageRenderer(Context)
instead. - NavigationPageRenderer: This constructor is obsolete as of version 2.5. Please use
NavigationPageRenderer(Context)
instead. - PickerRenderer: This constructor is obsolete as of version 2.5. Please use
PickerRenderer(Context)
instead. - SwitchRenderer: This constructor is obsolete as of version 2.5. Please use
SwitchRenderer(Context)
instead. - TabbedPageRenderer: This constructor is obsolete as of version 2.5. Please use
TabbedPageRenderer(Context)
instead. - ViewRenderer: This constructor is obsolete as of version 2.5. Please use
ViewRenderer(Context)
instead. - ColorExtensions:
ToAndroid(this Color, int)
is obsolete as of version 2.5. Please useToAndroid(this Color, int, Context)
instead. - FastButtonRenderer: This constructor is obsolete as of version 2.5. Please use
ButtonRenderer(Context)
instead. - FastFrameRenderer: This constructor is obsolete as of version 2.5. Please use
FrameRenderer(Context)
instead. - FastImageRenderer: This constructor is obsolete as of version 2.5. Please use
ImageRenderer(Context)
instead. - FastLabelRenderer: This constructor is obsolete as of version 2.5. Please use
LabelRenderer(Context)
instead. - Forms:
Context
is obsolete as of version 2.5. Please use a local context instead. - Forms:
SetTitleBarVisibility(AndroidTitleBarVisibility)
is obsolete as of version 2.5. - NativeViewWrapperRenderer: This constructor is obsolete as of version 2.5. Please use
NativeViewWrapperRenderer(Context)
instead. - Platform:
CreateRenderer(VisualElement)
is obsolete as of version 2.5. Please useCreateRenderer(VisualElement, Context)
instead. - Platform: This constructor is obsolete as of version 2.5. Please use
DefaultRenderer(Context)
instead. - ActivityIndicatorRenderer: This constructor is obsolete as of version 2.5. Please use
ActivityIndicatorRenderer(Context)
instead. - BoxRenderer: This constructor is obsolete as of version 2.5. Please use
BoxRenderer(Context)
instead. - ButtonRenderer: This constructor is obsolete as of version 2.5. Please use
ButtonRenderer(Context)
instead. - CarouselPageRenderer: This constructor is obsolete as of version 2.5. Please use
CarouselPageRenderer(Context)
instead. - DatePickerRenderer: This constructor is obsolete as of version 2.5. Please use
DatePickerRenderer(Context)
instead. - EditorRenderer: This constructor is obsolete as of version 2.5. Please use
EditorRenderer(Context)
instead. - EntryRenderer: This constructor is obsolete as of version 2.5. Please use
EntryRenderer(Context)
instead. - FrameRenderer: This constructor is obsolete as of version 2.5. Please use
FrameRenderer(Context)
instead. - ImageRenderer: This constructor is obsolete as of version 2.5. Please use
ImageRenderer(Context)
instead. - LabelRenderer: This constructor is obsolete as of version 2.5. Please use
LabelRenderer(Context)
instead. - ListViewRenderer: This constructor is obsolete as of version 2.5. Please use
ListViewRenderer(Context)
instead. - MasterDetailRenderer: This constructor is obsolete as of version 2.5. Please use
MasterDetailRenderer(Context)
instead. - NavigationMenuRenderer: This constructor is obsolete as of version 2.5. Please use
NavigationMenuRenderer(Context)
instead. - NavigationRenderer: This constructor is obsolete as of version 2.5. Please use
NavigationRenderer(Context)
instead. - OpenGLViewRenderer: This constructor is obsolete as of version 2.5. Please use
OpenGLViewRenderer(Context)
instead. - PageRenderer: This constructor is obsolete as of version 2.5. Please use
PageRenderer(Context)
instead. - PickerRenderer: This constructor is obsolete as of version 2.5. Please use
PickerRenderer(Context)
instead. - ProgressBarRenderer: This constructor is obsolete as of version 2.5. Please use
ProgressBarRenderer(Context)
instead. - ScrollViewRenderer: This constructor is obsolete as of version 2.5. Please use
ScrollViewRenderer(Context)
instead. - SearchBarRenderer: This constructor is obsolete as of version 2.5. Please use
SearchBarRenderer(Context)
instead. - SliderRenderer: This constructor is obsolete as of version 2.5. Please use
SliderRenderer(Context)
instead. - StepperRenderer: This constructor is obsolete as of version 2.5. Please use
StepperRenderer(Context)
instead. - SwitchRenderer: This constructor is obsolete as of version 2.5. Please use
SwitchRenderer(Context)
instead. - TabbedRenderer: This constructor is obsolete as of version 2.5. Please use
TabbedRenderer(Context)
instead. - TableViewRenderer: This constructor is obsolete as of version 2.5. Please use
TableViewRenderer(Context)
instead. - TimePickerRenderer: This constructor is obsolete as of version 2.5. Please use
TimePickerRenderer(Context)
instead. - WebViewRenderer: This constructor is obsolete as of version 2.5. Please use
WebViewRenderer(Context)
instead. - ResourceManager:
GetDrawable(this Resources, string)
is obsolete as of version 2.5. - ViewRenderer: This constructor is obsolete as of version 2.5. Please use
ViewRenderer(Context)
instead. - VisualElementRenderer: This constructor is obsolete as of version 2.5. Please use
VisualElementRenderer(Context)
instead. - FormsMaps:
Context
is obsolete as of version 2.5. Please use a local context instead. - MapRenderer: This constructor is obsolete as of version 2.5. Please use
MapRenderer(Context)
instead. Button.BorderRadiusProperty
is obsolete as of 2.5. Please useCornerRadius
instead.Button.BorderRadius
is obsolete as of 2.5. Please useCornerRadius
instead.
Warning
Android Dependency Updates
With Xamarin.Forms 2.3.4, the restriction limiting developers to Android Support Library 23 was lifted allowing developers to choose new Google Play Services and Android Support Library dependencies. This opens up more possibilities and flexibilities for developers, but also vastly complicates resolving dependencies in projects using different libraries. Now in Xamarin.Forms 2.5.0, in order to support Google Play Services 42.1024.0 or greater, Xamarin.Forms depends on Android Support Libraries 25.4.0.2 or greater.
When using Xamarin.Forms 2.5.0, be sure to start with a baseline of these dependencies as appropriate to your project. This is the combination of dependencies with which Xamarin.Forms has been tested.
- Android Target Framework 7.0 (monoAndroid70)
- Android Support Libraries 25.4.0.2
- Google Play Services 42.1024.0
- Firebase 42.1024.0
Deprecation: [Android] Xamarin.Forms support for Android Target Framework 6. Update your Target Framework to 7.0 or greater, and resolve Android dependencies accordingly. This does not impact building for lower Android versions.
2.5.0.274780 Service Release 4
What's New in this Release
- Github #1652 - "Expose BindableObject.GetIsDefault " (#1741)
Issues Fixed
- Bugzilla 60140 - "ArgumentNullException on MapRenderer.RemoveAnnotations" (#1265)
- Bugzilla 60736 - "Button with BorderRadius < 6 on UWP seems to ignore the BorderRadius" (#1570)
- Github #1401 - "Windows bug Xamarin forms Listview returns wrong item" (#1499)
- Github #1407 - "[Previewer]
SetDefaultActionBarTitleTextColor
prevents the Android previewer from working" (#1867) - Github #1436/Bugzilla 36031 - "Button border not drawn on Android without a BorderRadius " (#941) (#1178) (#1570)
- Github #1439/Bugzilla 60720 - "The ItemTapped event for a grouped ListView is not working as expected." (#1499)
- Github #1495 - "[Android] PanGestureRecognizer occasionally neglects firing the Completed event" (#1753)
2.5.0.122203 Service Release 3
Bug Fixes
- 59896 - "v2.4.0: Adding inserting section to ListView causes crash IF first section is empty" (#1244) (#1275)
- 60563 - "ActivityIndicator in ListView causes SIGSEGV crash in iOS 8" (#1307)
- 60788 - "Can't include key'ed ResourceDictionary's with implicit styles in the Application's Resources after upgrading from Xamarin.Forms v2.4.0 to v2.5.0." (#1300)
Other changes
- "[UWP] Entry alignment re-adjustment (#1308)" (#1308)
- "[Xaml[C]] do not use implicit operator if the variable is assignable (#1372)" (#1372)
- "[Xaml] open the api for loading xaml from string (#1394)" (#1394)
- "Fix for netstandard projects (#1382)" (#1382)
2.5.0.121934 Service Release 2
Bug Fixes
Other changes
- "[Android] Allow Previewer to set a per-page Context (#1304)" (#1304)
- "[Tests] make sure the test pass even if the locale is wrongly implemented on the platform (#1292)" (#1292)
2.5.0.91635 Service Release 1
Bug Fixes
- 60636 - "Get weird left margin on listview in Xamarin Forms 2.4.0.74863 on iOS" (#1270)
- 60659 - "[iOS] SetUseSafeArea causes bottom of page content to be cutoff displaying page background" (#1274)
2.5.0.77107 Stable
- No changes from pre3!
2.5.0.75255-pre3
Bug Fixes
- 44886 - "UWP Listview ItemSelected event triggered twice for each selection" (#1005) (#1157)
- 46632 - "[UWP] Clicking button in listview viewcell triggers both button clicked and cell ItemTapped" (#1133) (#1157)
- 59248 - "ItemTapped event is not fired when keyboard Enter Pressed on ListView" (#1133) (#1143) (#1157)
- 59718 - "Multiple issues with listview and navigation in UWP" (#1157)
- 59813 - ""NullReferenceException" in "Xamarin.Forms.Platform.iOS.Renderers.LabelRenderer.cs" within "UpdateText()" & "UpdateTextColor()"" (#1216) (#1226) (#1244)
- 59863 - "TapGestureRecognizer extremely finicky" (#1188) (#1227)
- 59896 - "v2.4.0: Adding inserting section to ListView causes crash IF first section is empty" (#1244)
- 59925 - "Entry height different between XF 2.4.0 Pre and all previous versions (iOS)" (#1258)
- 59927 - "ScrollView height not calculated properly on iOS 11" (#1238)
- 59996 - "Race condition when disposing MasterDetailPageRenderer on Android app restart" (#1194)
- 60041 - "Placeholder in Entry box is vertically aligned to bottom" (#1190) (#1220)
- 60054- "Trying to update my app to support iOS 11 Large Texts feature. In my custom Navigation Page renderer I have set NavigationBar.PrefersLargeTitles = true;" (#1238)
- 60337 - "Null Reference Exception in LoadApplication in FormsAppCompatActivity (NRE) due to changes from #59882" (#1221)
- 60524 - "NRE when rendering ListView with grouping enabled and HasUnevenRows set to true" (#1254)
Other changes
- "[Core] Hide SetSafeAreaInsets (#1249)" (#1249)
- "[Core]Set default value for IsPresented on MacOS (#1223)" (#1223)
- "[iOS] Delay for ScrollTo to work on iOS11 (#1211)" (#1211)
- "[MacOS] Fix Menus (#1225)" (#1225)
- "[UITest] Try dev uitest for api25 fixes (#1242)" (#1242)
- "Change overload of CreateRenderer to internal for previewer compatibility (#1237)" (#1237)
- "Merge 2.4.0 into 15-5 branch (#1230)" (#1230)
- "Revert "Fix border on android buttons (#941)" (#1192)" (#1192)
2.5.0.19271-pre2
Bug Fixes
- 45330 - "System.ObjectDisposedException: Cannot access a disposed object. Object name: 'Android.Views.GestureDetector'." (#706) (#829) (#1063) (#1155)
- 58145 - "[UWP] Entry text not visible when using dark theme" (#1206)
- 59595 - "Error with SearchBar inside of a Grid with iOS 11 SDK" (#1203)
- 59818 - "StaticResource binding in ColumnDefinition fails with type mismatch Exception" (#1176)
- 59863 - "TapGestureRecognizer extremely finicky" (#1188) Note - This fix is only only for API level 23 and lower.
- 59882 - "Xam Forms 2.4 not resuming from reused App and Pages" (#1200) (#1212)
- 59961 - "TapGestureRecognizer with NumberOfTapsRequired="1" works only with double tap" (#1188) Note - This fix is only only for API level 23 and lower.
- 60005 - "[UWP] Crashes upon startup when compiled for the Windows Store." (#1186)
- 60056 - "[UWP] ViewCell ignores margins of it's child" (#1204)
Other changes
- "[All] Expose the Flags to the Core (#1181)" (#1181)
- "[iOS11] Fix Secondary toolbar items iOS11 (#1208)" (#1208)
- "[Packages] Update UITest and consolidate packages (#1201)" (#1201)
- "Revert "Fix border on android buttons (#941)" (#1178)" (#1178)
2.5.0.289-pre1
Roadmap Features
- "Better Desktop Support" (#1126)
- "Forms Embedding" (#1124) (#1191)
- "LayoutCompression" (#1136)
- "Merged Dictionaries" (#869) (#1138) (#1148)
Bug Fixes
- 36681 - "[FormsApplicationActivity] NRE When Replacing CurrentPage's Content When Picker is Unfocused" (#3634) (#1132)
- 46363 - "TapGestureRecognizer blocks List View Context Actions" (#985) (#1135) (#1154)
- 51427 - "Custom Font Not Working Inside NavigationPage" (#730)
- 54383 - "AppLinks Package Causes Crash at Launch After Updating Google Play Services Packages" (#1037) (#1107)
- 54645 - "(Android) Time Picker ignores "use 24-h format" settings" (#1082)
- 56274 - "Cell calling Command.ChangeCanExecute in ContextAction chrashes" (#1147)
- 57469 - "android.runtime.JavaProxyThrowable: System.IO.IOException: Sharing violation on path PropertyStore.forms.tmp" (#1075)
- 57787 - "On UWP, setting the BackgroundColor of a Slider results in the slider rail/track not being displayed initially" (#1113)
- 57855 - "[UWP] DateTime.MinValue is not allowed for MinimumDate of DatePicker" (#1056)
- 58071 - "TimePicker time changed AFTER unfocus event" (#1051)
- 58630 - "UWP: controls are ignoring their renders." (#1089)
- 58779 - "[MacOS] DisplayActionSheet on MacOS needs scroll bars if list is long" (#1109)
- 58987 - "[UWP] Default layout for Image different than on iOS and Android" (#1121)
- 59507 - "Setting BindingContext Doesn't Work if Equality of BindingContext is Equal" (#1150)
- 59595 - "Error with SearchBar inside of a Grid with iOS 11 SDK" (#1203)
Other changes
- "[All] Use IReflectableType when accessing the Registrar (#1006)" (#1006)
- "[Android] Add platform specific for Elevation (#1158)" (#1158)
- "[android] fix binding warnings from FormsViewGroup (#1117)" (#1117)
- "[Android] Make sure to clean the element reference (#1139)" (#1139)
- "[Internal] Stopgap support for running UI Tests on UWP Desktop (#1067)" (#1067)
- "[iOS11] Fix Secondary toolbar items iOS11 (#1208)" (#1208)
- "[MacOS] Navigation Transition Style (#1168)" (#1168)
- "[macOS] ScrollView Resize Fix (#1170)" (#1170)
- "[Tests] Fix UITests that are failing on API 19 android (#1129)" (#1129)
- "[UITest] Fix FastRenderer test for iOS (#1102)" (#1102)
- "[UITests] Update uitest dev packages ios11 (#1145)" (#1145)
- "[XamlC] Compiled UriTypeConverter (#1166)" (#1166)
- "Add sln for VS2017 , remove not used Page Gallery (#1171)" (#1171)
- "Better XF .targets errors reporting (#1125)" (#1125)
- "Enables custom images (especially SVG) through the new IImageSourceHandler to work with tab bar icons on Android (like it does on iOS). And also on cell adapters and navigation page menu. (#1130)" (#1130)
- "Prototypical Cell Cache for IsEnabled testing (#1179)" (#1179)
- "Prototypical Cell Cache for IsEnabled testing; UITest (#1153)" (#1153)
- "remove disallowaddtobackstack (#919)" (#919)
- "Revert "Prototypical Cell Cache for IsEnabled testing; UITest" (#1156)" (#1156)