This document outlines the breaking changes made between versions 1.2.0 and 2.0.0 as well as suggested upgrade paths. This is not a comprehensive list of all features or bugfixes, please reference the release note for that information.
For a full, machine-generated compatibility report see the docs/compat_reports
folder.
- Facebook and Twitter Dependencies - FirebaseUI no longer directly depends on the Facebook or Twitter SDKs. If you plan to enable either of these providers you should include the appropriate SDK in your app to avoid a crash. This saves space for developers only using Google/Email/Phone authentication.
- Sign Out and Delete - The
AuthUI#delete(Activity)
andAuthUI#signOut(Activity)
methods have been removed, please use the versions that acceptFragmentActivity
. - Error Codes -
ResultCodes.RESULT_NO_NETWORK
has been removed. Instead you should useIdpResponse.fromResultIntent(data)
to get the response from theAuthUI
intent and then check ifIdpResponse#getErrorCode()
isErrorCodes.NO_NETWORK
. - Choosing Providers -
setProviders
has been deprecated, please usesetAvailableProviders
which now respects the order in which you provide them. The varargs version ofsetProviders
has been removed completely. - Facebook and Google Scopes - setting scopes via
string
resources is no longer supported, please set scopes in code usingIdpConfig
. - Themes - AppCompat theme properties such as
colorPrimary
andcolorAccent
are now used to style FirebaseUI automatically without any need for customization. Unless your auth UI needs a different theme than the rest of your app, please removeAuthUI.SignInIntentBuilder#setTheme(int)
and its related xml theme from your auth intent builder and check to make sure that the auth UI has been themed correctly. - SmartLock for Passwords -
setIsSmartLockEnabled
has added a two-argument overload. There are now separate flags for enabling the hint select and enabling the saving/retrieving of full credentials from the API. Setting the same value for each flag will emulate the previous single-flag behavior.
- Change Events - the signature of
ChangeEventListener#onChildChanged
has been modified to include aDataSnapshot
argument. - Snapshot Parsing - the
parseSnapshot
method of the adapters has been removed. Instead, you should pass a customSnapshotParser
to the adapter constructor. - Method Visibility - the
onDataChanged
method has changed fromprotected
topublic
, which will require a change in your code if you are overriding this method.
- No breaking changes.