Release Notes

This page provides a changelog that lists new SDK releases and describes updates
to the Firebase console and Firebase services. To learn about specific
releases, click the links in the changelog below.

Latest SDK Versions

You can see all Firebase release notes for a given SDK by following the
links below.

The Firebase Bill of Materials (BoM) is now
available as an experimental feature. Using the Bill of Materials (BoM) Gradle
feature with Firebase, you can set the version of the Firebase platform as a
whole. To add SDKs to your app using the Firebase BoM, visit
Add Firebase to your Android Project.

January 31, 2019

SDK Releases

Firebase SDK for Cloud Functions (v2.2.0) is now available.
This release introduces support for multiple regions for
functions by passing multiple region strings to functions.region().
See Cloud Functions locations.
Also, the SDK now provides validation of instance names and typing
improvements for Realtime Database triggers.

Important: This release updates Cloud Firestore and Cloud Storage
dependencies. If you use these APIs in your Cloud Functions
implementations for these products, see
Cloud Firestore release notes and
Cloud Storage release notes
for more details. This release also updates its TypeScript dependency to v3.1.0.

January 10, 2019

SDK Releases

The
Firebase JavaScript SDK (v5.7.2) is
now available. It fixes a regression introduced in 5.7.0 that caused apps using
experimentalTabSynchronization to hit an exception in Cloud Firestore.
It also fixes a packaging issue where some external dependencies were included in the Firebase package.
In addition, it includes other minor fixes.
To install this SDK, see
Add Firebase to your JavaScript Project.

December 21, 2018

Remote Config

The latest release of the Firebase Android SDK for Remote Config
(v16.1.2) causes A/B Testing to not work as expected. Remote Config
SDK v16.1.2 does not collect user behavior for A/B Testing experiments
which causes reports to show that an experiment has zero users.

If you've configured both A/B Testing and Remote Config in your
project, use v16.1.0 of the Remote Config Android SDK.

Note that downgrading Remote Config to v16.1.0 requires that the following
Android SDKs (if they're used in your project with Remote Config) to be at
the following versions:

com.google.firebase:firebase-ads:17.1.1

com.google.firebase:firebase-analytics:16.0.5

com.google.firebase:firebase-dynamic-links:16.1.3

com.google.firebase:firebase-invites:16.0.5

com.google.firebase:firebase-core:16.0.5

December 20, 2018

SDK Releases

The
Firebase JavaScript SDK (v5.7.1) is
now available. It adds SAML providers and exposed the API to enable OIDC providers
and changes the email validation logic to allow international email addresses in Authentication.
In addition, it adds a custom error for schema downgrades in Cloud Firestore.
It also includes other minor fixes.
To install this SDK, see
Add Firebase to your JavaScript Project.

November 12, 2018

Firebase console

The Firebase console now supports custom IAM roles.
Custom roles allow you to tailor a set of permissions that meet the specific
requirements of your organization. For more information about custom roles,
see our overview of custom roles.

Realtime Database

Query parameters in URLs aren't parsed correctly (and are not
RFC-compliant, according to RFC 3986, Section 2).
To parse URLs correctly, add the X-Firebase-Decoding: 1 header to all REST
requests.

# Example request without the opt-in header
curl 'https://demo.firebaseio.com/users.json?orderBy="email"&equalTo="something%2Botherthing%40domain.com"'
# This would be the same as:
# firebase.database().ref("users")
# .orderByChild("email").equalTo("something otherthing@domain.com")

# Example request with the correct header and the default behavior in 2019
curl 'https://demo.firebaseio.com/users.json?orderBy="email"&equalTo="something%2Botherthing%40domain.com"' --header "X-Firebase-Decoding: 1"
# This would be the same as:
# firebase.database().ref("users")
# .orderByChild("email").equalTo("something+otherthing@domain.com")

Analytics

Added support for dynamic audiences that determine membership
based on the current value of user properties. You can also now specify
criteria for when your users leave an audience such as membership duration,
exclusion criteria, or specific time periods. For more information, see
Audiences.

Cloud Messaging

Cloud Messaging Notifications UI has been upgraded to support
scheduled, recurring messages.

Cloud Messaging data can now be exported to the BigQuery sandbox.
For more information, see BigQuery data export.

Performance Monitoring

Added the ability to close or mute alerts about possible
performance issues in the dashboard. You can also edit the sensitivity
thresholds the SDK relies on to flag issues.

Added details and visualization of performance metrics for a
sampling of anonymized user sessions.

Predictions

Added a new details page that shows you what factors the ML model
considers (like events, device, user data, etc.) to make predictions. Now
exposes performance metrics for each prediction.

You can now set up automated daily exports of your complete
prediction dataset to the BigQuery sandbox.

You can use Predictions to target In-App Messaging campaigns,
recurring Cloud Messaging campaigns, or use it to A/B test the effect of
changing different values in your app through Remote Config.

The
Firebase JavaScript SDK (v5.5.1) is
now available. It fixes an issue where typings are not created in the correct
location for Cloud Firestore and Realtime Database, and includes fixes for the SDK test
suite. It also updates the dependency version on the closure compiler, so it works with
Java 10.
To install this SDK, see
Add Firebase to your JavaScript Project.

September 5, 2018

SDK Releases

The Firebase Android SDKs for Firebase Instance ID, Firebase Common,
Firebase Database, Firebase Messaging and Firebase Storage SDKs have
been updated. For more details, check out the
latest Android Release Notes.
To get started with Firebase in Android, see
Add Firebase to your Android Project.

August 28, 2018

Firebase console

The Project Overview dashboard has been improved and expanded to
cover all Firebase services. It surfaces trends and anomalies in a single
place for all your apps, with links to detailed pages for further analysis and
actions.

August 2, 2018

SDK Releases

July 31, 2018

Firebase Hosting

Updated the calculation for number of stored bytes, generally
resulting in smaller amounts. New versions deployed to Hosting will use
this new calculation. Versions that are already deployed will be updated
during August.

July 24, 2018

Firebase SDK for Cloud Functions

The Firebase SDK for Cloud Functions v2.0.0 is now available. This
release contains new features as well as breaking
changes from the existing beta SDK and from v1.0.0. Developers with existing
Cloud Functions for Firebase code should see the
migration guide before upgrading. To install
this SDK, see
set up and initialize Firebase SDK for Cloud Functions.

You can now whitelist the URL patterns that can be used as a
Dynamic Link's deep link (link) or fallback link (ifl, ipfl, afl, ofl).
If you define a whitelist, Dynamic Links won't redirect to URLs that don't match a
whitelisted pattern.

May 2, 2018

SDK Releases

The Firebase Android SDKs for Analytics, Authentication, Cloud Messaging,
Cloud Firestore, Cloud Storage, Crash Reporting, and Performance Monitoring have
been updated. For more details, check out the latest
Android Release Notes.
To get started with Firebase in Android, see
Add Firebase to your Android Project.

April 10, 2018

Firebase console

A new
Analytics Settings
page is now available from the Analytics pages in the Firebase console.
This page allows you to manage Google sharing settings, along with the
project's reporting currency and timezone, which were previously app-level
settings. A consolidated data sharing setting is now available from the
Data Privacy page.

April 9, 2018

Firebase console

A
Data Privacy
tab has been added to Project Settings in the Firebase console where
customers can provide their Data Protection Officer (DPO) and EU
Representative contact information to comply with General Data Protection
Regulation (GDPR) requirements. For more information, see
Privacy and Security in Firebase.

April 6, 2018

Firebase console

The Account Linking page in the Firebase console has been
renamed to Integrations and now features options for Slack and JIRA.

Cloud Functions for Firebase Test SDK

The Cloud Functions for Firebase Test SDK, a testing companion to
firebase-functions, is now available. This SDK assists in the setup
and teardown of unit tests, generates sample data and event context, and
more. To install this SDK, see
Test setup.

March 20, 2018

SDK Releases

The Firebase SDK for Cloud Functions v0.9.0
introduces support for HTTPS Callable Functions. Used together with the
related Cloud Functions for Firebase Client SDKs for iOS, Android, and
JavaScript, HTTPS Callable Functions let you call functions directly from a
Firebase-powered app.

Firebase Dynamic Links

You can now specify a custom short link suffix when you create a
Dynamic Link in the Firebase console. Short links with custom suffixes are more
readable, which can improve a link's click-through rate.

Default:

https://abc123.app.goo.gl/wX2e

Custom:

https://abc123.app.goo.gl/backtoschool

Firebase Authentication

You can now specify in the Firebase console your own SMTP
server, which will be used to send account management emails, such as password
reset emails and email address change confirmations.

December 13, 2017

SDK Releases

Firebase console

You can now link DoubleClick
with your Firebase project. This enables using DoubleClick Campaign Manager
(DCM) or DoubleClick Bid Manager (DBM) to track Firebase measured in-app
events, such as installs and In-App-Purchases, as conversions.

December 6, 2017

Firebase console

In-console notifications are now available. You can view your
notifications by clicking the
notifications icon in the upper-right
corner of the console. Notifications display important events in your
projects.

December 5, 2017

Firebase console

When you switch projects with the project selector in the
Firebase console, you will now remain in the Firebase product you were
viewing instead of being returned to the project overview dashboard.

November 30, 2017

Firebase console

The Import project button has been removed from the
Firebase console. You can now add Firebase to an existing project from the
Add project dialog.

November 21, 2017

Firebase Gradle Plugins

Version 1.1.5 of the Firebase Gradle Plugin for Android Studio 3.0 is now
available. This release resolves a FileExistsException issue that occurred
in the firebase-perf plugin when setting
firebasePerformanceInstrumentationEnabled=false in the gradle.properties
file.

November 8, 2017

Firebase console

The Firebase console has been updated with a new visual design. This includes
updated navigation with collapsible groups of Firebase products. Products are
now grouped into four areas based on the app development lifecycle.

The project overview page of the Firebase console has been updated with a new
visual design. It now includes current data and last month's trends for each
app's daily active users, monthly active users, crash-free user percentage,
and total crashes.

The Analytics dashboard has been revamped to include new and redesigned cards
to support day-to-day questions and tasks. A Latest Release section has
been added to show adoption and stability of your latest app release.

Firebase Gradle Plugins

Version 1.1.4 of the Firebase Gradle Plugin for Android Studio 3.0 is now
available. This release resolves a TransformException that occurred on Windows
during incremental builds when using firebase-perf.

Firebase Gradle Plugins

Version 1.1.3 of the Firebase Gradle Plugin now accepts implementation
configurations in place of compile configurations, to accommodate the
deprecation of compile configurations in Android Studio 3.0.

November 2, 2017

Authentication

The Firebase JS Authentication SDK has been officially open sourced. Take a look at
the source on
GitHub.
We look forward to collaborating with all of you on making the SDK even better!

October 3, 2017

Cloud Firestore

The initial public beta release of Cloud Firestore is now available
for iOS, Android, Web, Java, Python, NodeJS, and Go. Cloud Firestore is a
flexible, scalable database for mobile, web, and server development from
Firebase and Google Cloud Platform. Like Realtime Database, it keeps
your data in sync across client apps through realtime listeners and offers
offline support so you can build responsive apps that work regardless of network
latency or internet connectivity. Cloud Firestore also offers enterprise-grade
scalability and seamless integration with other Firebase and Google Cloud
Platform products, including functions. For more information about
Cloud Firestore, see the
Firebase blog.
To get started with Cloud Firestore right away, visit the quickstart.

Aug 2, 2017

Firebase Gradle Plugins

Version 1.1.1 of the Firebase Gradle Plugin fixes an issue an issue in 1.1.0
which caused the error "Execution failed for task
':app:packageInstantRunResourcesDebug'" in some cases. To update to the new
version, follow the guides for Performance Monitoring
and Crash Reporting.

Jul 7, 2017

SDK Releases

An updated beta release of the Firebase SDK for Cloud Functions
(v0.5.9) is now available. It includes the ability to listen to granular
create, update, and delete database events by using the onCreate(),
onUpdate(), and onDelete() methods. To install this SDK, see
Get started with Cloud Functions.

May 17, 2017

Firebase Performance Monitoring

The initial public beta release of Firebase Performance Monitoring
is now available for iOS and Android apps. Performance Monitoring lets you gain insight
into your app's performance and network behavior. To learn more about how to
use Performance Monitoring to improve the quality of your app, see
Firebase Performance Monitoring.

SDK Releases

The Firebase iOS SDK (v4.0.0) is now
available. It includes the beta release of Performance Monitoring breaking changes in all
Swift SDKs, and updates to AdMob, Analytics, Authentication,
Crash Reporting, Realtime Database, Dynamic Links, Cloud Messaging and
Remote Config. To install this SDK, see
Add Firebase to your iOS Project.

March 21, 2017

The Firebase Android SDK (v10.2.1)
is now available as part of the
Google Play services 10.2.1 release.
This release 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.

March 14, 2017

March 9, 2017

The initial public beta release of the Firebase SDK for Cloud Functions
(v0.5.2) is now available. It includes event provider support for
Analytics, Realtime Database, Authentication, Storage, Cloud Pub/Sub, and
HTTP endpoints. To install this SDK, see
Get started with Cloud Functions.

March 8, 2017

Added support for using Analytics user properties to target
the Notifications composer to specific users. You can now target users with a
notification by combining Analytics audiences and user properties using
the AND operator, or target users based on the absence of an Analytics
audience or user property using the NOT operator.

Crash Reporting

Added the ability to see the percentage of users who have not
encountered an error (crash or non-fatal error) in an app over the selected
timeframe to the Firebase console. This is shown in the
Error-free users panel
of the Crash Reporting console.

January 10, 2017

December 15, 2016

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.

November 8, 2016

SDK authentication with a service account on Node.js, and
the corresponding token minting and verification methods, have been deprecated
in favor of a new Node.js Admin SDK. To learn more, see
Admin SDK Setup and
Admin Node.js SDK Release Notes.

Dynamic Links

You can debug the behavior of long Dynamic Links across platforms by
adding the following to the end of any Dynamic Link URL: &d=1.

When a user clicks a Dynamic Link to an app that is not installed on
their iOS device, that Dynamic Link will now open the installation page for that app
in the App Store, unless an iOS fallback link parameter is specified. This is
true whether the user clicked the link in Safari, or in another app.

Firebase console

A View Only indicator is now displayed at the top of the
Firebase console for projects that you have read-only access to. A number
of action buttons have also been updated to be hidden or disabled for users
who do not have Editor or Owner permissions for a project.

You can delete apps from projects using a new action button in the
Advanced Options section when managing an app.

You can edit the name of a project after creating it in the
Project Settings dialog.

Realtime Database

You can now view usage metrics in the Firebase console by
clicking on the Usage tab. Firebase currently tracks bandwidth usage,
total storage used, and the maximum number of concurrent connections.

Hosting

You can now view usage metrics for Hosting in the
Firebase console by clicking on the Usage tab. Firebase currently
tracks bytes sent (bandwidth) and total storage used.

the Notifications composer

Added pagination to the Notifications summary view, to make
scrolling and viewing of many notification messages easier.

Documentation

the Notifications composer

You can now add more than three custom data fields when sending
a notification. A notification should not exceed 4KB total, including
message text, custom data, and any advanced options.

Reduced the refresh interval for app versions and language
lists.

The conversion event counts in the the Notifications composer
Google Analytics for Firebase funnel view now show the number of users who have
triggered the conversion event at least once. Previously, it showed the raw
number of triggered conversion events.

June 7, 2016

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.

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.

Workaround where possible, extract this information from the 3rd party
SDKs.

Firebase Android SDK:

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.

Swift

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 Cloud Storage. Cloud 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.

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

FCM

Initial release of Cloud Messaging.

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)