Release Notes

Check back for the latest changes to the Firebase software or documentation.

June 2, 2016

Authentication

The Google Play services version 9.0.2 release is now available. This release fixes a known issue with Firebase Authentication where the FirebaseAuthApi is not available on some devices. A FirebaseApiNotAvailableException error occurs when those devices attempt to use Authentication APIs.

Crash Reporting

Updated the Firebase Crash Reporting iOS SDK to fix issues with the symbol upload script used by Crash Reporting, and also to fix other miscellaneous issues with this SDK.

May 24, 2016

Firebase

  • Released version 3.0.3 of the Firebase web / Node.js SDK.
  • Fixed issue which caused the global Promise object to be overridden.
  • Added error message when initializing the Node.js SDK with an invalid service account.

May 18, 2016

Firebase

  • Firebase expands to include several new products: Analytics, Storage, Remote Config, Crash Reporting, Dynamic Links, and Notifications.
  • Existing Google products are now a part of Firebase: Google Cloud Messaging, Cloud Test Lab, and App Indexing.
  • Firebase is now integrated with AdMob and AdWords.
  • Launched a new website at https://firebase.google.com/, including a new console, improved documentation, and updated product information.

Known issues:

  • Version 3.0.0 of the Node.js server SDK did not work on Node 0.10.x. This was fixed in version 3.0.1.
  • The npm package did not work properly with Browserify and webpack. This was fixed in version 3.0.2.

Realtime Database

Authentication

  • The way you install and initialize the SDK has changed and most APIs have been renamed. When you decide to upgrade, please see the iOS Migration Guide, Web Migration Guide, or Android Migration Guide for details.
  • Node.js / Java server SDKs:
    • Token minting and verification for Firebase Authentication is now built into the server SDKs themselves instead of in separate token minting libraries.
    • All of the existing authentication methods have been removed. Instead, use the databaseAuthVariableOverride option (Node.js) or setDatabaseAuthVariableOverride() method (Java) when initializing the SDK. See here for more details.
    • Use the Web Migration Guide or Android Migration Guide to help you update your Node.js or Java code to the latest APIs.

Known issues:

  • General:
    • Limited profile data extracted from federated providers (e.g. doesn’t include the Twitter username).
    • Workaround where possible, extract this information from the 3rd party SDKs.
  • Firebase SDK for Android:
    • FirebaseUser#linkWithCredential() may invalidate a user's credentials.
      • Description: After calling linkWithCredential() with a credential that is not an EmailAuthCredential, sometimes consecutive calls on the user object may throw an Exception: FirebaseException (An internal error has occurred. [ TOKEN_EXPIRED ]).
      • Workaround Cache the credential used on a linking event, and if this error is thrown, sign the user out after the linking and call FirebaseAuth#signInWithCredential() with the cached credential afterwards.
    • Missing API to start email verification flow.
    • Some Network exceptions are thrown as FirebaseException rather than FirebaseNetworkException.
  • Firebase SDK for iOS:
    • sendPasswordResetWithEmail:completion: does not call the completion handler in the main thread as claimed.
    • Workaround:

      Objective-C

      [[FIRAuth auth] sendPasswordResetWithEmail:@"[email protected]"
                                    completion:^(NSError *_Nullable error) {
        dispatch_async(dispatch_get_main_queue(), ^{
      // original completion handler code.
        });
      }];
      

      Swift

      FIRAuth.auth()?.sendPasswordResetWithEmail("[email protected]") { error in
      dispatch_async(dispatch_get_main_queue()) {
      // original completion handler code.
        }
      }
      
    • API reference docs do not contain information about error conditions: see them here.
    • Authentication state is shared between different apps when running on. the iOS Simulator:
      • Description: when running two or more applications that use Firebase Authentication on the same iOS simulator, there is a issue with the iOS keychain that causes the authentication state to be shared across the different applications. This means that if you sign in to an app, and later open a second app, you may find a user to be signed in into it.
      • Workaround: either don't use two different applications with Authentication on the same simulator instance, or manually sign out from the applications between tests.
  • Firebase JavaScript SDK:
    • If you change the authdomain configuration of an app while some users are signed in, you have to sign them out and in again in order to use linkWithPopup/Redirect APIs
    • Does not work in Safari private browsing mode.

Storage

  • Initial release of Firebase Storage. Firebase Storage provides secure file uploads and downloads for your Firebase apps, regardless of network quality. You can use it to store images, audio, video, or other user-generated content. Firebase Storage is backed by Google Cloud Storage, a powerful, simple, and cost-effective object storage service.

Known issues:

  • Firebase console: Only project owners can update Firebase Storage Security Rules, and only owners and editors can view Storage Security Rules.

FCM

  • Initial release of Cloud Messaging.

Known Issues

  • Firebase C++ SDK:
    • Messages with both a notification and data payload are not delivered to an Android application open in the background.
    • Description: On Android, when the app is open in the background and it receives a message with both a notification and data payload, the message is not delivered to the application.
    • Workaround: In the application's activity, (e.g. NativeActivity), override the onNewIntent(Intent intent) method and pass the intent argument through to the method setIntent(Intent intent)
    • For example:
      public class MyActivity extends NativeActivity {
        @Override
        onNewIntent(Intent intent) {
      setIntent(intent);
        }
      }
      See the quickstart sample for an example of this workaround in action.

Legacy release notes

Some existing Google products are now a part of Firebase. New release notes for these products will appear here. Legacy release notes are available below.

Send feedback about...