NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3531 most downloaded on npm
Firebase admin SDK for Node.js
Last release 7 days ago
10 Sep 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
157 releases · first in 2014
A new `admin.firestore()` API that facilitates accessing Google Cloud Firestore databases using the `@google-cloud/firestore` library. See Set Up Your
admin.firestore() API that facilitates accessing Google Cloud Firestore databases using the @google-cloud/firestore library. See Set Up Your Node.js App for Cloud Firestore to get started.SDK now retries outbound HTTP calls on all low-level I/O errors.
setCustomUserClaims() method for setting custom claims on user accounts. Custom claims set via this method become available on the ID tokens of the corresponding users when they sign in. To learn how to use this API for controlling access to Firebase resources, see Control Access with Custom Claims and Security Rules.listUsers() method for listing all the users in a Firebase project in batches.Bucket) for the bucket() method in the {{storage}} API.One column per quarter.
A bug in the TypeScript type declarations that come bundled with the SDK (index.d.ts) has been fixed (#70).
index.d.ts) has been fixed (#70).A new Cloud Storage API that facilitates accessing Google Cloud Storage buckets using the `@google-cloud/storage` library.
@google-cloud/storage library.createUser() and updateUser() methods.sendToDevice() using intersection instead of overloading.Added the method `getUserByPhoneNumber()` to the `admin.auth` interface. This method enables retrieving user profile information by a phone number.
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.phoneNumber field to admin.auth.UserRecord, which exposes the phone number associated with a user account.phoneNumber field to admin.auth.UserInfo, which exposes the phone number associated with a user account by a linked identity provider.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 t
The deprecated serviceAccount property in the admin.App.Options type has been removed in favor of the credential property.
serviceAccount property in the admin.App.Options type has been removed in favor of the credential property.createdAt and lastSignedInAt properties in admin.auth.UserMetadata has been renamed to creationTime and lastSignInTime. Also these properties now provide UTC formatted string values instead of Date values.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.
Updated the SDK to periodically refresh the OAuth access token internally used by FirebaseApp . This reduces the number of authentication failures enc
Added the methods subscribeToTopic() and unsubscribeFromTopic() to the admin.messaging() service. The new methods allow subscribing to and unsubscribi
Cleaned up a number of types to improve the log output, thereby making debugging easier.
Fixed incorrect usage of undefined - as opposed to void - in several places in the TypeScript typings.
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.
Improved input validation and error messages for all user management methods.
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.
Added in missing TypeScript typings for the FirebaseError.toJSON() method.
Added in missing TypeScript typings for the toJSON() method off of several objects.
Fixed an issue which caused importing the library via the ES2015 import syntax ( import * as admin from "firebase-admin" ) to not work properly.
TypeScript support has been greatly improved. Typings for the Realtime Database are now available and all other known issues with incorrect or incompl
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.
Fixed an issue that caused several Authentication methods to throw an error when provided with inputs containing Unicode characters.
Fixed an issue that caused a null value for the databaseAuthVariableOverride property to be ignored when passed as part of the first argument to initi
Upgraded dependencies so that the Admin Node.js SDK no longer throws warnings for using deprecated Buffer APIs in Node.js 7.x.x .
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 .
Fixed issue which caused the 4.0.0 release to not include the README.md and npm-shrinkwrap.json files.
The serviceAccount property of the options passed as the first argument to initializeApp() has been deprecated in favor of a new credential property.…
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 README.md and npm-shrinkwrap.json files. This was fixed in version 4.0.1 .
The serviceAccount property of the options passed as the first argument to initializeApp() has been deprecated in favor of a new credential property. See Initialize the SDK for more details.
The new admin.credential.cert() method allows you to authenticate the SDK with a service account key file.
The new admin.credential.refreshToken() method allows you to authenticate the SDK with a Google OAuth2 refresh token.
The new admin.credential.applicationDefault() method allows you to authenticate the SDK with Google Application Default Credentials.
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 .
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-09-10 UTC.
Need to tell us more? [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-09-10 UTC."],[],[]]
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →