Go to console

Firebase Admin Go 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 3.10.0 - 30 October, 2019


  • auth.ExportedUserRecord no longer exposes password hashes that are redacted due to lack of permissions in the service account credentials.
  • Added auth.OIDCProviderConfig type and the related functions to create, retrieve, update and delete OIDC auth provider configurations.
  • Added auth.SAMLProviderConfig type and the related functions to create, retrieve, update and delete SAML auth provider configurations.

Cloud Messaging

  • Added support for sending an image URL with notifications. Thanks chemidy for the contribution.

Version 3.9.0 - August 07, 2019

Cloud Messaging

  • Added the SendAll() API for sending multiple notifications as a batch.
  • Added MulticastMessage and SendMulticast() APIs for sending notifications to multiple recipients.
  • Added support for specifying the analytics label for notifications via AndroidFCMOptions, APNSFCMOptions and FCMOptions types. Thanks chemidy for the contribution.

Version 3.8.1 - June 11, 2019

  • Fixed some unit tests that were failing in environments without Google Application Default credentials.

Version 3.8.0 - May 30, 2019


  • Added APIs for creating links for password reset, email verification and email link sign-in via auth.PasswordResetLink(), auth.EmailVerificationLink() and auth.EmailSignInLink(). See Generating Email Action Links for more details and code samples.
  • All APIs in the auth package now automatically retry RPC calls failing due to I/O or HTTP errors.

Version 3.7.0 - March 28, 2019

  • Enabled automatic HTTP retries for the APIs in db, messaging and iid packages.


Version 3.6.0 - January 16, 2019

Cloud Messaging

  • The messaging.Aps type now supports configuring a critical alert sound. A new messaging.CriticalSound type has been introduced for this purpose.
  • Public types in the messaging package now support correct JSON unmarshalling.


  • The VerifyIDToken() function now tolerates a clock skew of up to 5 minutes when comparing JWT timestamps.

Version 3.5.0 - December 04, 2018

  • Dropped support for Go 1.8 and earlier.

Cloud Messaging

  • messaging.AndroidNotification type now supports specifying a channel_id when sending messages to Android O devices. Thanks chemidy for the contribution.
  • messaging.ApsAlert type now supports specifying a subtitle. Thanks chemidy for the contribution.
  • messaging.WebpushNotification type now supports specifying additional FCM options. Thanks chemidy for the contribution.
  • Improved error handling by requesting a more verbose error response from the FCM backend service.

Realtime Database

  • Fixed how the SDK handles special characters in node names.

Version 3.4.0 - September 13, 2018

Realtime Database

  • firebase.App provides a new DatabaseWithURL() function that can be used to initialize clients that connect to different database instances in the same Firebase project.

Version 3.3.0 - August 9, 2018


  • Fixed a regression introduced in the 3.2.0 release, where VerifyIDToken() cannot be used in Google App Engine.

Cloud Messaging

Version 3.2.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.


  • The Admin SDK can now create custom tokens without being initialized with service account credentials.
  • The SDK now provides a ServiceAccountId option specifier, which can be used to set just the client email of a service account.
  • When deployed in an environment managed by Google (e.g. Google App Engine), the SDK can auto discover a service account ID without any explicit configuration.

Version 3.1.0 - June 12, 2018

  • The iid package now provides a set of new functions for checking various error conditions such as iid.IsInvalidArgument(), iid.IsNotFound(), etc.


  • A new ImportUsers() function for importing users to Firebase Auth in bulk.
  • UpdateUser() and DeleteUser() functions now correctly return a UserNotFound error when called with a non-existing user ID.

Version 3.0.0 - May 8, 2018

  • CustomToken(), CustomTokenWithClaims() and VerifyIDToken() functions now take a Context as the first argument.

Version 2.7.0 - April 17, 2018

  • The auth and messaging packages now provide a set of new functions for checking various error conditions (for example, auth.IsIDTokenRevoked(), messaging.IsInvalidArgument() etc).

Cloud Messaging

  • Added the MutableContent 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 Aps type.
  • Improved error handling in the messaging API. The returned errors now contain additional details.

Version 2.6.1 - March 15, 2018

Cloud Messaging

Version support

  • Support for go version 1.6.

Version 2.6.0 - February 28, 2018

Realtime Database

  • A new db package that facilitates basic data manipulation operations (create, read, update and delete), conditional updates (transactions) and advanced queries. Currently, this API does not support realtime event listeners.

Version 2.5.0 - February 14, 2018

Cloud Messaging

  • A new messaging package for sending FCM messages and managing topic subscriptions.
  • A new Send() function for sending FCM messages.
  • A new SubscribeToTopic() function for subscribing a list of device registration tokens to a FCM topic.
  • A new UnubscribeFromTopic() function for unsubscribing a list of device registration tokens from a FCM topic.


Version 2.4.0 - January 11, 2018


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


  • The user management operations in the auth package now uses the identitytoolkit/v3 library.
  • The ProviderID field on the auth.UserRecord type is now set to the constant value firebase.

Version 2.3.0 - December 21, 2017

  • A new InstanceID API that facilitates deleting instance IDs and associated user data from Firebase projects.

Version 2.2.1 - December 13, 2017


  • Adding the X-Client-Version to the headers in the API calls for tracking API usage.

Version 2.2.0 - December 08, 2017


  • A new user management API that supports querying and updating user accounts associated with a Firebase project. This adds GetUser(), GetUserByEmail(), GetUserByPhoneNumber(), CreateUser(), UpdateUser(), DeleteUser(), Users() and SetCustomUserClaims() functions to the auth.Client API.

Version 2.1.0 - November 07, 2017

Version 2.0.0 - October 13, 2017


  • The Auth() API now accepts a Context argument. This breaking change enables passing different contexts to different services, instead of using a single context per App.

Version 1.0.2 - September 13, 2017


  • When deployed in the Google App Engine environment, the SDK can now leverage the utilities provided by the App Engine SDK to sign JWT tokens. As a result, it is now possible to initialize the Admin SDK in App Engine without a service account JSON file, and still be able to call CustomToken() and CustomTokenWithClaims().

Version 1.0.1 - September 07, 2017


  • Now uses the client options provided during SDK initialization to create the http.Client that is used to fetch public key certificates. This enables developers to use the ID token verification feature in environments like Google App Engine by providing a platform-specific http.Client using option.WithHTTPClient().

Version 1.0.0 - August 30, 2017

  • Initial release of the Admin Go SDK. See Add the Firebase Admin SDK to your Server to get started.
  • You can configure the SDK to use service account credentials, user credentials (refresh tokens), or Google Cloud application default credentials to access your Firebase project.


  • The initial release includes the CustomToken(), CustomTokenWithClaims(), and VerifyIDToken() functions for minting custom authentication tokens and verifying Firebase ID tokens.