Vai alla console

Firebase Admin Node.js SDK Release Notes

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

Version 8.7.0 - 30 October, 2019

Cloud Messaging

  • Added a series of new parameters to the AndroidNotification class that allow further customization of notifications that target Android devices.

Version 8.6.1 - 16 October, 2019


  • UserRecord no longer exposes password hashes that are redacted due to lack of permissions in the service account credentials.
  • Updated the typings of the setCustomUserClaims() API to accept null.

Version 8.6.0 - 18 September, 2019

  • Added a new admin.securityRules() API for managing Firebase security rules applied on services like Cloud Firestore and Cloud Storage. See the Firebase documentation to learn more about how to use the Admin SDK to manage and deploy security rules.
  • Added getFirestoreRuleset() and getStorageRuleset() methods for retrieving rulesets that are currently in effect.
  • Added releaseFirestoreRuleset() and releaseStorageRuleset() methods for creating new rulesets and applying them to Cloud Firestore and Cloud Storage.
  • Added getRuleset(), createRuleset() and deleteRuleset() methods for managing the lifecycle of a ruleset.

Cloud Messaging

  • Added new APIs for specifying an image URL in notifications.

Version 8.5.0 - 05 September, 2019


  • Added multi-tenancy support to the authentication service (Google Cloud Identity Platform project required). Tenant related APIs are exposed via tenantManager() on the admin.auth interface.
  • Added tenant management APIs authForTenant(), getTenant(), listTenants(), deleteTenant(), createTenant() and updateTenant() to the newly defined TenantManager.
  • Defined TenantAwareAuth interface retrieved via TenantManager#authForTenant() for managing users, configuring SAML/OIDC providers, generating email links for password reset, email verification, etc for specific tenants.

Realtime Database

  • Upgraded @firebase/database dependency version to 0.5.1. This helps avoid some peer dependency warnings that were observed during package installation.

Version 8.4.0 - 21 August, 2019

Cloud Messaging

  • Added support for specifying Analytics labels for notifications. Thanks chemidy for the contribution.

Version 8.3.0 - July 24, 2019

Realtime Database


  • Implemented additional argument validation in the admin.auth().importUsers() API.

Cloud Storage

  • Upgraded the @google-cloud/storage dependency to v3.0.0. This new major version drops support for Node.js versions older than v8. Since firebase-admin already supports only Node.js v8 and above, this does not have a noticeable impact on users of the Admin SDK.

Version 8.2.0 - June 19, 2019

  • Updated the metadata server URL (used by the application default credentials) to the v1 endpoint. This makes it possible to use the SDK in Google Kubernetes Engine again.

Realtime Database

  • Upgraded the @firebase/database dependency to v0.4.4.

Firebase Cloud Messaging

  • Gracefully handling array-like objects in messaging.sendAll() and messaging.sendMulticast() APIs.

Version 8.1.0 - June 11, 2019

  • The SDK now automatically retries HTTP calls failing due to 503 errors.

Project Management

Version 8.0.0 - May 23, 2019

  • The Admin SDK no longer supports Node 6. Developers must use Node 8.13.0 or higher when deploying the Admin SDK.

Cloud Firestore

  • Upgraded the Cloud Firestore client dependency to v2.0.0. This upgrade comes with a pure JS gRPC client implementation that is much smaller on disk.

Cloud Storage

  • Upgraded the Cloud Storage client dependency to v2.5.0.

Version 7.4.0 - May 21, 2019

  • Support for Node 6 is now deprecated. Developers are recommended to use Node 8 or higher when deploying the Admin SDK. An upcoming release will completely drop Node 6 support.

Cloud Firestore

  • Upgraded the Cloud Firestore client dependency to v1.3.0. This upgrade comes with a new API for executing collection group queries.

Realtime Database

  • Updated typings of the admin.database.ThenableReference type to extend from the built-in Promise type.

Version 7.3.0 - April 17, 2019


  • Added new APIs for managing SAML and OIDC provider configurations. These APIs support CRUD operations on auth provider configurations:
    • auth.listProviderConfigs()
    • auth.getProviderConfig()
    • auth.deleteProviderConfig()
    • auth.updateProviderConfig()
    • auth.createProviderConfig()

Version 7.2.0 - March 28, 2019

Cloud Firestore

  • Upgraded the Cloud Firestore client dependency to v1.2.0. This upgrade exposes the v1beta and v1 clients, which provide direct access to the underlying Firestore and Firestore Admin RPCs. Please note that you must provide your Firebase credentials directly to these clients.

Version 7.1.1 - March 20, 2019

Firebase Cloud Messaging

  • Fixed a bug in the FCM batch APIs that prevented them from correctly handling some message parameters like AndroidConfig.ttl.

Version 7.1.0 - March 14, 2019

Firebase Cloud Messaging


  • Improved typings of the auth.UpdateRequest interface to clearly specify the nullable fields.

Cloud Firestore

  • Upgraded the Cloud Firestore client dependency to v1.1.0.

Version 7.0.0 - January 31, 2019

  • Updated the Google Cloud Firestore client to v1.0.1. This contains breaking changes. Refer to the Cloud Firestore release notes for more details and migration instructions.
  • Updated the Google Cloud Storage client to v2.3.0. This contains breaking changes. Refer to the Cloud Storage release notes for more details and migration instructions.


  • The verifyIdToken() and verifySessionCookie() methods now return auth/id-token-expired and auth/session-cookie-expired error codes for expired JWTs.
  • Credentials-related errors are now reported with additional helpful details.

Version 6.5.1 - January 23, 2019

  • Setting the GOOGLE_APPLICATION_CREDENTIALS environment variable to a refresh token file instead of a service account file is now supported. Thanks yinzara for the contribution.
  • Implemented an environment check that is executed at package import time. The Admin SDK logs a warning if imported into a client environment such as a web browser.

Version 6.5.0 - January 9, 2019


  • Fixed how the SDK parses the error codes sent by auth backend servers.
  • Correctly marked optional fields in the UserRecord type.

Version 6.4.0 - December 12, 2018

  • AppOptions now accepts an optional http.Agent object. The http.Agent specified via this API is used when the SDK makes backend HTTP calls. This can be used when it is required to deploy the Admin SDK behind a proxy.
  • admin.credential.cert(), admin.credential.applicationDefault(), and admin.credential.refreshToken() methods now accept an http.Agent as an optional argument. If specified, the http.Agent is used when calling Google backend servers to fetch OAuth2 access tokens.

Cloud Messaging

Version 6.3.0 - November 28, 2018

  • A new admin.projectManagement() API for managing apps in a Firebase project.
  • New listAndroidApps() and listIosApps() methods for listing the existing apps in a project.
  • New createAndroidApp() and createIosApp() methods for creating new apps in a project.
  • New AndroidApp and IosApp APIs for updating individual apps.

Cloud Messaging

Version 6.2.0 - November 19, 2018


  • Added the email action link generation APIs for creating links for password reset, email verification and email link sign-in via auth.generatePasswordResetLink(), auth.generateEmailVerificationLink() and auth.generateSignInWithEmailLink(). Refer documentation for more details and code samples.

Cloud Firestore

  • Upgraded Cloud Firestore client to v0.19.0.
  • Exposed the Transaction type from the admin.firestore namespace.

Cloud Messaging

  • Improved error handling in FCM. The SDK now checks the key to set error code. Thanks chemidy for the contribution.

Version 6.1.0 - October 22, 2018

  • Upgraded the Cloud Firestore client from 0.16.0 to 0.18.0.

Version 6.0.0 - August 9, 2018

  • The Admin SDK no longer supports Node.js 4. Developers must use Node.js 6 or higher to deploy the Admin SDK.
  • The Admin SDK now installs Cloud Firestore and Cloud Storage libraries as optional dependencies. SDK installation no longer fails when encountering errors from Cloud Firestore, Cloud Storage or gRPC dependencies.
  • Upgraded the Cloud Firestore client from 0.15.4 to 0.16.0. This version contains a new array-contains query operator and FieldValue.arrayUnion() and FieldValue.arrayRemove() APIs.

Version 5.13.1 - July 23, 2018

  • Upgraded the Cloud Firestore client from 0.15.2 to 0.15.4. This version contains a bug fix that enables using it in environments where application default credentials are not available.

Version 5.13.0 - July 17, 2018

  • The Admin SDK can now read the Firebase/Google Cloud Platform project ID from both GCLOUD_PROJECT and GOOGLE_CLOUD_PROJECT environment variables.
  • Upgraded the Cloud Firestore client from 0.14.0 to 0.15.2. This version of the Firestore client changes how date values are handled.


  • The Admin SDK can now create custom tokens without being initialized with service account credentials.
  • The SDK accepts a new serviceAccountId app option, which can be used to specify just the client email of a service account.
  • When deployed in an environment managed by Google (e.g. Google Cloud Functions), the SDK can auto discover a service account ID without any explicit configuration.

Realtime Database

  • Updated typings of the admin.database.Query.once() method to return a more specific type.

Cloud Messaging

  • Updated typings of the admin.messaging.WebpushNotification type to include all supported notification fields.

Version 5.12.1 - May 15, 2018

  • Admin SDK now lazy loads all child namespaces and certain heavy dependencies for faster load times. This change also ensures that only the sources for namespaces that are actually used get loaded into the Node.js process.
  • Upgraded the Cloud Firestore client from 0.13.0 to 0.14.0.

Version 5.12.0 - April 05, 2018


Cloud Messaging

  • Added the mutableContent optional field to the messaging.Aps type. This can be used to set the mutable-content property when sending FCM messages to APNS targets.
  • Added support for specifying arbitrary key-value fields in the messaging.Aps type.

Version 5.11.0 - March 15, 2018


Version 5.10.0 - March 08, 2018

  • Upgraded the Realtime Database client from 0.1.11 to 0.2.0. This provides the ability to call admin.database().ref() with an existing reference as the argument.
  • Upgraded the Cloud Firestore client from 0.12.0 to 0.13.0.

Version 5.9.1 - February 28, 2018

  • The admin.initializeApp() method can now be invoked without a credential option. The SDK uses Google Application Default Credentials when initialized this way.
  • Upgraded the Cloud Firestore client from 0.11.1 to 0.12.0.
  • Upgraded the Cloud Storage client from 1.2.1 to 1.6.0.
  • Upgraded the Realtime Database client from 0.1.3 to 0.1.11.

Version 5.9.0 - February 14, 2018

Cloud Messaging

Version 5.8.2 - January 30, 2018

  • Exposed admin.firestore.DocumentReference and admin.firestore.DocumentSnapshot types from the Admin SDK typings.
  • Upgraded Firestore dependency version to 0.11.2. This includes several bug fixes including a fix in the DocumentReference.update() operation.

Version 5.8.1 - January 17, 2018

  • Upgraded Firestore dependency version from 0.10.0 to 0.11.1. This includes several bug fixes in Cloud Firestore.

Version 5.8.0 - January 11, 2018


  • The admin.initializeApp() method can now be invoked without any arguments. This initializes an app using Google Application Default Credentials, and other AppOptions loaded from the FIREBASE_CONFIG environment variable.


  • Upgraded the jsonwebtoken library to 8.1.0.

Version 5.7.0 - January 04, 2018


  • A new revokeRefreshTokens() method for revoking refresh tokens issued to a user.
  • The verifyIdToken() method now accepts an optional checkRevoked argument, which can be used to check if a given ID token has been revoked.

Version 5.6.0 - December 21, 2017

  • A new admin.instanceId() API that facilitates deleting instance IDs and associated user data from Firebase projects.
  • Updated the TypeScript typings for admin.AppOptions to reflect the introduction of the projectId option.
  • Removed some unused third party dependencies.

Version 5.5.1 - November 21, 2017

Cloud Firestore

  • Upgraded the Cloud Firestore client to the latest available version, which adds input validation to several operations, and retry logic to handle network errors.

Realtime Database

  • Fixed an issue in the TypeScript typings of the Realtime Database API.

Version 5.5.0 - November 10, 2017

Realtime Database

  • app.database() method now optionally accepts a database URL. This feature can be used to access multiple Realtime Database instances from the same app.
  • Upgraded the Realtime Database client to the latest available version.

Cloud Firestore

  • Upgraded the Cloud Firestore client to the latest available version.

Version 5.4.3 - October 24, 2017

  • Fixed a regression in module loading that prevented using the Admin SDK in environments like AWS Lambda. This regression was introduced in the 5.4.0 release, which added a new dependency to Firestore and gRPC. This fix lazily loads Firestore and gRPC, thus enabling Admin SDK usage in the affected environments as long as no explicit attempts are made to use the Firestore API.

Version 5.4.2 - October 09, 2017

  • Upgraded the Cloud Firestore client dependency to 0.8.2, which resolves an issue with saving objects with nested document references.

Version 5.4.1 - October 03, 2017

  • Upgraded the Firestore client dependency to 0.8.1, which resolves the installation issues reported in the Yarn environment.

Version 5.4.0 - October 03, 2017

Version 5.3.0 - September 27, 2017

  • SDK now retries outbound HTTP calls on all low-level I/O errors.



  • Declared a more concrete TypeScript return type (Bucket) for the bucket() method in the Storage API.

Version 5.2.1 - August 16, 2017

  • A bug in the TypeScript type declarations that come bundled with the SDK (index.d.ts) has been fixed.

Version 5.2.0 - August 14, 2017


  • New type definitions for the arguments of createUser() and updateUser() methods.

Cloud Messaging

  • Redefined the arguments of sendToDevice() using intersection instead of overloading.

Version 5.1.0 - July 25, 2017


  • Added the method getUserByPhoneNumber() to the admin.auth interface. This method enables retrieving user profile information by a phone number.
  • createUser() and updateUser() methods now accept a phoneNumber property, which can be used to create users with a phone number field and/or update the phone number associated with a user.
  • Added the phoneNumber field to admin.auth.UserRecord, which exposes the phone number associated with a user account.
  • Added the phoneNumber field to admin.auth.UserInfo, which exposes the phone number associated with a user account by a linked identity provider.

Version 5.0.1 - July 12, 2017

  • Improved the error messages thrown in the case of network and RPC errors. These errors now include outgoing HTTP request details that make it easier to localize and debug issues.


  • Implemented support in the user management API for handling photo URLs with special characters.

Version 5.0.0 - May 17, 2017


  • The deprecated serviceAccount property in the admin.App.Options type has been removed in favor of the credential property.
  • Initializing the SDK without setting a credential results in an exception.
  • Initializing the SDK with a malformed private key string results in an exception.


  • createdAt and lastSignedInAt properties in admin.auth.UserMetadata have been renamed to creationTime and lastSignInTime. Also these properties now provide UTC formatted strings instead of Date values.

Version 4.2.1 - April 12, 2017

  • Updated the SDK to periodically refresh the OAuth access token internally used by FirebaseApp. This reduces the number of authentication failures encountered at runtime by SDK components like Realtime Database.

Version 4.2.0 - April 04, 2017

Cloud Messaging

Version 4.1.4 - March 28, 2017


  • Cleaned up a number of types to improve the log output, thereby making debugging easier.

Realtime Database

  • Fixed an issue which could cause infinite loops when using push() with no arguments.

Version 4.1.3 - March 7, 2017

  • Fixed incorrect usage of undefined - as opposed to void - in several places in the TypeScript typings.
  • Added missing properties to the TypeScript typings for DecodedIdToken.
  • Fixed issues when using some types with the TypeScript strictNullChecks option enabled.
  • Removed incorrect admin.Promise type from the TypeScript typings in favor of the Node.js built-in Promise type, which the SDK actually uses.
  • Added error codes to all app-level errors. All errors in the SDK now properly implement the FirebaseError interface.
  • Improved error handling when initializing the SDK with a credential that cannot generate valid access tokens.
  • Added new admin.database.EventType to the TypeScript typings.

Realtime Database

  • Improved how the Realtime Database reports errors when provided with various types of invalid credentials.

Version 4.1.2 - March 2, 2017


  • Improved input validation and error messages for all user management methods.
  • verifyIdToken() now works with non-cert credentials, assuming the GCLOUD_PROJECT environment variable is set to your project ID, which is the case when running on Google infrastructure such as Google App Engine and Google Compute Engine.

Realtime Database

  • Added toJSON() methods to the DataSnapshot and Query objects to make them properly JSON-serializable.

Cloud Messaging

Version 4.1.1 - February 14, 2017

  • Added in missing TypeScript typings for the FirebaseError.toJSON() method.


  • Fixed issue with createUser() which sometimes caused multiple users to share the same email.

Version 4.1.0 - February 2, 2017

  • Added in missing TypeScript typings for the toJSON() method off of several objects.

Cloud Messaging

Version 4.0.6 - January 24, 2017


  • Fixed an issue which caused importing the library via the ES2015 import syntax (import * as admin from "firebase-admin") to not work properly.

Version 4.0.5 - January 17, 2017

  • TypeScript support has been greatly improved. Typings for the Realtime Database are now available and all other known issues with incorrect or incomplete type information have been resolved.


  • Fixed an issue which caused the SDK to appear to hang when provided with a credential that generated invalid access tokens. The most common cause of this was using a credential whose access had been revoked. Now, an error will be logged to the console in this scenario.


  • The error message for an auth/internal-error error now includes the raw server response to more easily debug and track down unhandled errors.
  • Fixed an issue that caused an auth/internal-error error to be thrown when calling getUser() or getUserByEmail() for a user without a creation date.
  • Fixed an issue which caused an auth/internal-error error to be thrown when calling createUser() with an email that corresponds to an existing user.
  • Fixed an issue which caused an auth/internal-error error to be thrown when calling Authentication methods with a credential with insufficient permission. Now, an auth/insufficient-permission error will be thrown instead.

Version 4.0.4 - December 6, 2016


  • Fixed an issue that caused several Authentication methods to throw an error when provided with inputs containing Unicode characters.

Version 4.0.3 - November 21, 2016


  • Fixed an issue that caused a null value for the databaseAuthVariableOverride property to be ignored when passed as part of the first argument to initializeApp(), which caused the app to still have full admin access. Now, passing this value has the expected behavior: the app has unauthenticated access to the Realtime Database, and behaves as if no user is logged into the app.


  • Fixed an issue that caused an auth/invalid-uid error to be thrown for valid uid values passed to several Authentication methods.

Version 4.0.2 - November 15, 2016

  • Improved error messages throughout the Admin Node.js SDK.
  • Upgraded dependencies so that the Admin Node.js SDK no longer throws warnings for using deprecated Buffer APIs in Node.js 7.x.x.

Version 4.0.1 - November 9, 2016

  • Fixed issue which caused the 4.0.0 release to not include the and npm-shrinkwrap.json files.

Version 4.0.0 - November 7, 2016

  • The Admin Node.js SDK (available on npm as firebase-admin) is a new SDK which replaces and expands the admin capabilities of the standard firebase npm module. See Add the Firebase Admin SDK to your Server to get started.
  • This version does not include the and npm-shrinkwrap.json files. This was fixed in version 4.0.1.



  • A new Admin API for managing your Firebase Authentication users is now available. This API lets you manage your users without using their existing credentials, and without worrying about client-side rate limiting. The new methods included in this API are getUser(), getUserByEmail(), createUser(), updateUser(), and deleteUser(). See Manage Users for more details.
  • The createCustomToken() method is now asynchronous, returning a Promise<string> instead of a string.