Firebase JavaScript SDK Release Notes

To see release notes for the Firebase console and for other Firebase platforms and related SDKs, see the Firebase Release Notes.

Version 3.9.0 - April 25, 2017

Authentication

  • changed Deprecated firebase.auth.authCredential.prototype.provider in favor of the firebase.auth.AuthCredential.prototype.providerId property.
  • fixed Fixed an issue where Cordova apps were seeing unusual delays in authentication.

Version 3.8.0 - April 18, 2017

  • changed Provide source maps for firebase-app.js.

Authentication

Version 3.7.8 - April 14, 2017

  • fixed Fixed an issue where npm-shrinkwrap.json was not being generated correctly.

Version 3.7.7 - April 14, 2017

  • fixed Fixed an issue where undefined symbols caused an error to be thrown in older browsers.

Version 3.7.6 - April 11, 2017

Authentication

  • fixed Fixed an issue where removal of a legacy options object broke older clients.

Version 3.7.5 - April 4, 2017

Storage

  • changed Provide higher-granularity progress updates for object uploads.

Version 3.7.4 - March 28, 2017

Realtime Database

  • fixed Fixed an issue where firebase.database().ref().push(), would trigger an infinite loop if the returned .then() function was called.

Authentication

  • fixed Fixed an issue where firebase.User.reauthenticate() was creating new users if passed an OAuth credential for a user that didn't exist.

Version 3.7.3 - March 21, 2017

Realtime Database

  • fixed Fixed error messaging for invalid calls to Query.equalTo().

Version 3.7.2 - March 14, 2017

  • fixed Fixed an issue where some components erroneously allowed creation of multiple instances.

Version 3.7.1 - March 9, 2017

Authentication

  • fixed Updated firebase.auth().signInWithPopup() to work properly in Chrome extensions.
  • fixed Improved session handling for prolonged usage of the Realtime Database.

Version 3.7.0 - March 1, 2017

Storage

  • feature Added support for using multiple buckets within Storage.

Version 3.6.10 - February 21, 2017

Storage

  • fixed Fixed an issue where the catch() method didn't exist on UploadTask.

Version 3.6.9 - February 7, 2017

Authentication

  • fixed Fixed an issue that broke firebase.auth().signInWithCredential() in a browser environment when the current URL has the OAuth 2.0-specific state query parameter.

Version 3.6.8 - January 31, 2017

  • fixed Fixed an issue with some module bundlers. The npm (commonjs) modules no longer require a global variable to be set explicitly and fallback to window or self if global is not defined.

Authentication

  • fixed Increased authentication timeouts for network requests to handle slow network connections.
  • fixed Fixed authentication module Node.js detection to be compatible with browserify.
  • fixed Modified firebase.auth().signInWithPopup() to work for apps embedded in a sandboxed iframe.
  • fixed Fixed the Android Chrome bug for triggering internal-errors in firebase.auth().signInWithPopup()
  • fixed Fixed an issue that broke firebase.auth().signInWithCredential() and firebase.auth().fetchProvidersForEmail() in non http/https environments like chrome-extensions.
  • fixed Fixed progress bar styling in the OAuth helper for popup/redirect operations.

Version 3.6.7 - January 24, 2017

  • changed Improved Firebase app errors to return error codes prefixed with app/ consistent with other Firebase service errors.

Version 3.6.6 - January 17, 2017

  • fixed Fixed support for TypeScript and ES6 imports of individual SDK modules (see the npm package README for more information).

Authentication

  • fixed Fixed an issue on Chrome for iOS where a blank gray screen was being displayed when signInWithPopup() does not require additional user interaction (because the user is already signed in and has previously consented to the requested scopes).

Version 3.6.5 - January 10, 2017

Storage

Version 3.6.4 - December 13, 2016

Realtime Database

Storage

  • fixed Fixed an issue where percent-encoded data in a data URL was not decoded.

Authentication

  • changed Optimized offline detection to reduce the frequency of network timeouts.

Version 3.6.3 - December 6, 2016

  • fixed Changed the packaging of browser npm modules to fix an issue that occurred when using Cloud Storage with the Browserify and webpack module bundlers.

Version 3.6.2 - November 29, 2016

  • changed Updated file attributes in the Firebase npm package to be compatible with the Yarn Package Manager.
  • changed Updated the jsonwebtoken version used in the Firebase npm package.

Authentication

  • fixed Fixed an issue that prevented user authentication states from persisting when using Firebase Authentication with React Native versions 0.37 and higher.

Version 3.6.1 - November 15, 2016

Storage

  • changed Reduced the SDK download size.
  • fixed Fixed networking issues affecting React Native on Android.

Authentication

  • fixed Added missing definitions for setCustomParameters() methods in the firebase.d.ts file for TypeScript users.

Version 3.6.0 - November 8, 2016

Authentication for Servers

  • deprecated SDK authentication with a service account on Node.js, and the corresponding token minting and verification methods, has been deprecated in favor of a new Node.js Admin SDK. To learn more, go to Admin SDK Setup. To see the Node.js Admin API reference, go to Admin SDK API Reference.

Authentication

  • fixed Fixed an incorrect popup blocked error that occurred in the Chrome browser on iOS 7 and 8.

Version 3.5.3 - November 1, 2016

  • changed Reduced the SDK download size.

Authentication

  • fixed Fixed issues with redirect and pop-up sign-in methods when using browsers that block third-party cookies and site data.

Version 3.5.2 - October 24, 2016

Authentication

  • changed Increase the request timeout interval for mobile devices to improve performance on high-latency networks.

Version 3.5.1 - October 19, 2016

Cloud Messaging

  • fixed Added a check to validate the gcm_sender_id.
  • fixed Fixed a race condition that occurs when using the Firefox web browser.

Version 3.5.0 - October 14, 2016

Authentication

Cloud Messaging

Version 3.4.1 - September 27, 2016

Realtime Database

  • changed Ensure that the SDK does not prevent Node.js from shutting down the process. Calling firebase.database().goOffline() or firebase.app().delete() should be sufficient for Node.js to exit now.
  • fixed Fixed a bug where the database inadvertently created a global variable on the window object.
  • fixed Use of the update() method now only cancels transactions that are directly included in the updated paths (not transactions in adjacent paths). For example, an update at /move for a child node walk will cancel transactions at /, /move, and /move/walk and in any child nodes under /move/walk. But, it will no longer cancel transactions at sibling nodes, such as /move/run.

Storage

  • changed Improved network utilization for file uploads.

Version 3.4.0 - September 14, 2016

Realtime Database

  • feature New Query.isEqual() method allows for comparing any Reference or Query for equality.

Version 3.3.2 - September 8, 2016

Authentication

Version 3.3.1 - September 7, 2016

  • fixed Added an error message when attempting to use a service account in non-Node.js environments.

Authentication

  • fixed Fixed backend error messages that were being truncated.
  • fixed Fixed an error where user properties were not automatically refreshed on page reload.
  • changed The user's credential and email are now returned when account linking throws the following errors: auth/credential-already-in-use and auth/email-already-in-use.
  • changed Modified the Facebook login and OAuth grant permissions screen to work better in popup-sized windows.
  • issue This release has an issue with signInWithPopup() not working with Internet Explorer. You can continue to use version 3.3.0 or earlier until this is fixed in a future release.

Storage

  • fixed Fixed an issue where contentType in custom metadata was being ignored for string-format uploads.

Version 3.3.0 - August 16, 2016

Authentication

  • feature Client Authentication APIs are now available in Node.js. When you call intializeApp(), pass a serviceAccount to use the Authentication for Servers APIs in your app, or pass an apiKey to use the client Authentication APIs.
  • fixed Network error handling for sign in and link with popup operations.
  • fixed Long popup cancellation timeouts.
  • changed When you use signInWithRedirect, the onAuthStateChanged observer now waits until getRedirectResult resolves before triggering. (In older versions, the observer would trigger twice: once when the page loaded, and a second time when getRedirectResult resolved.)

Realtime Database

  • changed A warning is no longer logged if you don't provide an apiKey when initializing the SDK and just want to have unauthenticated access to your Realtime Database. Security Rules are still in effect even if you do not provide an apiKey.

Storage

Version 3.2.1 - July 26, 2016

  • changed Typescript 2.0 type definitions added to npm package.

Authentication

  • fixed Fixed issues with Safari private mode.
  • changed More detailed debugging messages for internal errors.

Version 3.2.0 - July 12, 2016

Storage

  • feature UploadTask can now be used like a Promise, and resolves with its snapshot data when the upload completes.

Authentication

  • fixed Github login responsiveness.
  • fixed Missing display names in profile scope for some Google accounts.

Authentication for Servers

  • changed Added uid to the decoded token returned by verifyIdToken(). It is set to the ID token's sub (subject) claim.

Version 3.1.0 - June 28, 2016

Authentication

  • feature Replace use of browser-specific APIs that were blocking use of React Native from the JavaScript SDK.
  • feature The Node.js SDK now supports unauthenticated access. If no service account is provided, Realtime Database access will be restricted just as any unauthenticated client would be. In this case, certain methods (like creating and verifying tokens) will throw an error.

Version 3.0.5 - June 14, 2016

Authentication

  • fixed Fixed JSON parsing error when used in Chrome extensions.
  • fixed Corrected server URLs used by library when using localhost for debugging.

Storage

  • fixed Allows use of "gs://bucket" instead of "bucket" in storageBucket config.

Version 3.0.4 - June 7, 2016

Realtime Database

  • feature Updated the reference documentation to include more extensive API descriptions and examples.
  • fixed Improved Realtime Database authentication-expiration retry logic.

Authentication

  • fixed When using Firebase Web SDK in a non http or https environment (Cordova or Electron apps for instance), instead of raising a confusing error on initialization, it will silently ignore it. It will only throw an auth/operation-not-supported-in-this-environment error when trying to use unsupported operations (signInWithPopup, signInWithRedirect, linkWithPopup, linkWithRedirect and getRedirectResult).

Storage

  • fixed Generate more specific error message when quota is exceeded.

Version 3.0.3 - May 24, 2016

Authentication

  • fixed Improved error messages.

Authentication for Servers

  • fixed Global Promise object is no longer overwritten.
  • feature Added error message when initializing the Node.js SDK with an invalid service account.

Version 3.0.2 - May 19, 2016

  • fixed Browserify and webpack compatibility.

Version 3.0.1 - May 18, 2016

  • fixed Node.js version 0.10 support.

Version 3.0.0 - May 18, 2016

Realtime Database

  • changed The way you install and initialize the SDK has changed and several APIs have been renamed. When you decide to upgrade, please see the Web Migration Guide for detail.
  • changed The way you install and initialize the Node.js has also changed. APIs have been renamed and you now authenticate using a service account instead of a secret or custom token. When you choose to upgrade, please see the Database Server SDK Setup Guide and use the Web Migration Guide to help you update your Node.js code to the latest APIs.

Authentication

  • changed The way you install and initialize the SDK has changed and most APIs have been renamed. When you decide to upgrade, please see the Web Migration Guide for details.
  • changed Node.js server 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 when initializing the SDK. See Installation & Setup for Servers for more details.
    • Use the Web Migration Guide or to help you update your Node.js or Java code to the latest APIs.

Storage

  • feature 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. Cloud Storage is backed by Google Cloud Storage, a powerful, simple, and cost-effective object storage service.

Legacy release notes

Firebase 1.0 and 2.0 JavaScript Changelog

Send feedback about...

Need help? Visit our support page.