Firebase Android Release Notes

To see release notes for the Firebase console and for other Firebase platforms and related SDKs, see the Firebase Release Notes. To install this SDK, see Add Firebase to your Android Project

SDK Version 10.2.6 - May 17, 2017

Performance Monitoring

Test Lab

  • feature Performance metrics are now available when you run tests using Firebase Test Lab for Android on physical devices with API level 21 and higher. The following metrics are available:
    • For all apps: CPU usage, memory usage, and network activity (send/receive)
    • For games that use the SurfaceView class, frames per second (fps) are also measured.
  • feature Firebase Test Lab now has beta support for testing Android games created using game frameworks (for example, Unity) if those games include game test loops. To learn more, see Firebase Test Lab Game Test Loops.

Cloud Messaging

  • feature Added support for Android O notification channels. Android clients can specify a default notification channel in the application manifest which will be used if the downstream message does not contain a notification_channel parameter.

SDK Version 10.2.4 - April 28, 2017

Cloud Storage

  • fixed The getParent() method now returns null if called on the root of a Storage path, aligning the behavior of the Android SDK with other Storage SDKs.
  • fixed The getDownloadURL() method now correctly escapes spaces in URLs as %20, rather than +.

SDK Version 10.2.1 - March 21, 2017

Cloud Messaging

  • changed The Firebase Android SDK (v10.2.1) includes updates to provide compatibility with Android O Developer Preview 1. The most significant updates are internal changes to the Firebase Cloud Messaging (FCM) libraries and a change in the guaranteed lifecycle of FCM callbacks to 10 seconds, after which Android O considers such callbacks eligible for termination. For more information on handling FCM messages on Android O, see The Firebase Blog.

SDK Version 10.2 - February 15, 2017

Analytics

  • feature Added the ability to log events used to supply referral details of a re-engagement campaign to the FirebaseAnalytics.Event class and related parameters to the FirebaseAnalytics.Param class.
  • feature Added the ability to get app instance IDs using the getAppInstanceId() method in the FirebaseAnalytics class.

Realtime Database

  • feature Added the ability to get the Firebase Database instance for a given URL using the getInstance() method in the FirebaseDatabase class.

Test Lab

  • feature Robo test can now complete sign-in screens that use test account credentials that you provide when you configure your test matrix, both in the Firebase console, and using the gcloud command-line.
  • feature Added support for saving test matrix templates for future use in the Firebase console.

February 8, 2017

Test Lab

  • feature Low-resolution medium DPI (MDPI) virtual devices are now available in Test Lab. You can run Robo test and instrumentation tests on your app more quickly with the Test Lab generic low-resolution MDPI phone virtual device than with other virtual devices. The MDPI virtual device is available on API levels 23, 24 and 25. To use this device from the gcloud command-line interface, use the NexusLowRes model ID.

February 7, 2017

Crash Reporting

  • feature The Crash Reporting gradle plugin for Android version 1.0.5 is now available. This update adds the ability to specify Gradle properties to use when uploading a ProGuard mapping file, and also removes the requirement to use a google-services.json file in your app. To learn more, see Uploading ProGuard Mapping Files with Gradle.

January 17, 2017

  • feature The Firebase console now lets you select the specific device and Android API level combinations to use when testing your app. This makes it easy to focus your testing; for example, when you are validating a bug fix.

December 15, 2016

  • feature The Crash Reporting gradle plugin for Android is now available. This plugin simplifies the process of uploading ProGuard mapping files for the deobfuscation of stack traces. To learn more, see Uploading ProGuard Mapping Files with Gradle.

SDK Version 10.0 - November 21, 2016

Analytics

  • changed Increased the maximum length of event names and parameter name to 40 characters, and the maximum length of string parameter values to 100 characters.

Authentication

  • feature Added APIs to support out-of-band codes that can be used to reset passwords, verify identity using email, and recover access to email. To learn more, see the API reference documentation for the ActionCodeResult and FirebaseAuthActionCodeException classes.

Firebase Test Lab for Android

  • changed Test Lab provides virtual devices running the latest build of Android 7.1 Preview. You can run tests on these devices as often as you need, at no cost, until the end of the Developer Preview in December. To learn more, see Test the Android 7.1 Preview with Firebase Test Lab.

App Indexing

  • feature The new Firebase App Indexing SDK lets apps add a personal content index and log user actions, in addition to making your app discoverable by Google Search. To use the new App Indexing SDK, update your Gradle dependency to com.google.firebase:firebase-appindexing:10.0.0. For more information, see the Firebase App Indexing Introduction and the Firebase App Indexing API Reference.

Cloud Messaging

  • fixed Fixed an issue that caused extra alarms to be incorrectly set, resulting in crashes with Too Many Alarms in the stack trace on some Samsung devices.

SDK Version 9.8 - October 24, 2016

Analytics

  • feature Added screen tracking support. Each app's current Activity is automatically tracked. The current screen is tracked with the firebase_screen_class parameter with every logged event, which provides valuable context. In addition to automatic screen tracking, you can manually track screens using the FirebaseAnalytics#setCurrentScreen method. This adds the firebase_screen parameter to every event logged while those screens are visible to app users.

Cloud Messaging

  • feature Improved the reliability of message delivery to Android Wear devices that are paired with an iOS device.
  • feature Added the ability to customize the default notification icon and color using AndroidManifest.xml metadata.

Storage

  • feature Added the StorageTask#addOnCompleteListener API that informs you when a Task completes or fails, and the StorageTask#continueWith API that supports creating app logic with chained dependencies.
  • fixed Fixed an issue that could cause an exception when uploads or downloads time out when a device's WiFi is off.

SDK Version 9.6 - September 21, 2016

Analytics

  • feature Added tracking for the source of app install referrals when an app with Analytics is installed from the Play Store.
  • fixed Existing users who update to an Analytics-enabled version of an app are no longer included in first_open metrics. This correction could cause a drop in first_open metrics.
  • changed Conversion events are now uploaded within seconds of being logged.

Cloud Messaging

  • fixed Fixed an issue that caused apps using Cloud Messaging to crash due to a race condition, and that resulted in a NullPointerException and a ConcurrentModificationException.

Authentication

  • feature Added new API methods, FirebaseUser#sendEmailVerification() and FirebaseUser#isEmailVerified() to verify a user's email address.

Realtime Database

  • fixed Fixed an issue that could cause Realtime Database access tokens to expire, resulting in Authentication failed: invalid_token errors.
  • fixed Fixed a hardAssert failed exception that could occur when offline persistence is enabled and certain startAt() and endAt() queries were used.
  • fixed Fixed an issue that caused Android apps to cancel unsent transactions when disconnecting from Firebase Realtime Database, rather than queuing them to be sent later.
  • fixed Fixed an issue where passing a derived class to DatabaseReference#setValue() did not correctly save the properties from the superclass.
  • changed Updated the DatabaseReference#updateChildren() method to accept Java objects (POJOs), providing parity with the handling of these objects by the setValue()method.

Dynamic Links

  • feature Analytics events are now automatically logged when users open your app from a Dynamic Link, open your app for the first time from a Dynamic Link, and update your app from a Dynamic Link.

SDK Version 9.4 - August 1, 2016

Cloud Messaging

  • changed Expanded gestures are now supported for messages, allowing the Android UI to display multiple lines when the body of a notification exceeds a single line.
  • fixed Fixed a bug that causes a NullPointerException in some multi-process configurations.
  • fixed RemoteMessage#getMessageId() now returns the correct message-id for received messages. Previously, it returned null.

Remote Config

  • fixed Updated the handling of Remote Config data (including parameters and metadata such as fetch history) to remove app data when an app is un-installed or when the app user deletes app data.
  • feature Added the getKeysByPrefix() API method to allow developers to find parameter keys based on a key prefix.

Firebase console

  • changed The following unused fields are no longer included in google-services.json files: cloud_messaging_service, google_signin_service and ads_service.

SDK Version 9.2 - June 27, 2016

Authentication

  • fixed Minor improvements to error handling and error messages.

Crash Reporting

  • fixed Fixed an issue that caused apps that call FirebaseCrash.log, FirebaseCrash.logcat and FirebaseCrash.report to crash if installed on a device that does not have Google Play services installed.

Realtime Database

  • feature You can now use a new @PropertyName attribute to specify the name to use when serializing a field from a Java model class to the Database. This replaces the @JsonProperty attribute.

Dynamic Links

  • Firebase SDK for Android:
  • feature Google Analytics for Firebase now logs all app open events driven from user clicks on Dynamic Links.

Send feedback about...

Need help? Visit our support page.