To see release notes for the Firebase console and for other Firebase platforms and related SDKs, see the Firebase Release Notes.
- 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 (such as
onTokenRefresh()) to 10 seconds. After 10 seconds, Android O considers such callbacks eligible for termination.
To avoid having your process terminated before your callback is completed, perform only quick operations (like updating a local database) inside the callback, and use
JobScheduleror the Firebase Job Dispatcher wrapper library to schedule longer background processes (like syncing a database with a remote source).
- feature Added the ability to log events used to supply referral details
of a re-engagement campaign to the
FirebaseAnalytics.Eventclass and related parameters to the
- feature Added the ability to get app instance IDs using the
getAppInstanceId()method in the
- feature Added the ability to get the Firebase Database instance for a
given URL using the
getInstance()method in the
- 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.
- 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
- 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.jsonfile in your app. To learn more, see Uploading ProGuard Mapping Files with Gradle.
- 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.
- 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.
- 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.
- 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.
- 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.
- feature Added screen tracking support. Each app's current Activity
is automatically tracked. The current screen is tracked with the
firebase_screen_classparameter 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_screenparameter to every event logged while those screens are visible to app users.
- 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
- feature Added the
StorageTask#addOnCompleteListenerAPI that informs you when a Task completes or fails, and the
StorageTask#continueWithAPI 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.
- 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_openmetrics. This correction could cause a drop in
- changed Conversion events are now uploaded within seconds of being logged.
- fixed Fixed an issue that caused apps using Cloud Messaging to
crash due to a race condition, and that resulted in a
- feature Added new API methods,
FirebaseUser#isEmailVerified()to verify a user's email address.
- fixed Fixed an issue that could cause Realtime Database access tokens to expire,
Authentication failed: invalid_tokenerrors.
- fixed Fixed a
hardAssert failedexception that could occur when offline persistence is enabled and certain
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
- 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.
- 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
NullPointerExceptionin some multi-process configurations.
RemoteMessage#getMessageId()now returns the correct message-id for received messages. Previously, it returned
- 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.
- changed The following unused fields are no longer included in
- fixed Minor improvements to error handling and error messages.
- fixed Fixed an issue that caused apps that call
FirebaseCrash.reportto crash if installed on a device that does not have Google Play services installed.
- feature You can now use a new
@PropertyNameattribute to specify the name to use when serializing a field from a Java model class to the Database. This replaces the
- Firebase SDK for Android:
- feature Firebase Analytics now logs all app open events driven from user clicks on Dynamic Links.