To review release notes for the Firebase console and for other Firebase platforms and related SDKs, refer to the Firebase Release Notes.
Version 4.14.1 - 30 May, 2024
Authentication
- Fixed an issue that caused the
verifyIDToken()
andverifyIDTokenAndCheckRevoked()
APIs to throw an error when the cache headers lacked expiry time for public certificates.
Version 4.14.0 - 10 April, 2024
- Dropped support for Go versions 1.17, 1.18, and 1.19. The Admin Go SDK now requires Go 1.20 or higher.
Cloud Messaging
- Added the
FCMOptions
field to theMulticastMessage
type. Thanks FZambia for the contribution.
Version 4.13.0 - 23 November, 2023
Cloud Storage
- Mapped Firebase
FIREBASE_STORAGE_EMULATOR_HOST
to Cloud API'sSTORAGE_EMULATOR_HOST
.
Authentication
- Added the
TotpInfo
field toUserRecord
type.
Version 4.12.1 - 25 September, 2023
Authentication
- Added support for updating multi-factor enrollments in the
UpdateUser()
API. Thanks brokeyourbike for the contribution.
Version 4.12.0 - 12 July, 2023
Cloud Messaging
Added
sendEach()
andsendEachForMulticast()
APIs.sendAll()
andsendMulticast()
APIs are now deprecated. UsesendEach()
andsendEachForMulticast()
APIs instead.
Version 4.11.0 - 06 April, 2023
- The SDK now requires module mode to build the current version of the library.
Authentication
- Added
TOTP
as a multi-factor option in project and tenant configuration.
Version 4.10.0 - 10 November, 2022
Realtime Database
- The Realtime Database API now supports running against Firebase
emulator suite. Enable the emulator mode by setting the
FIREBASE_DATABASE_EMULATOR_HOST
environment variable to point to the emulator Realtime Database endpoint. Thanks r-LaForge for the contribution.
Firebase App Check
- Added a new
app_check.verify_token()
API to verify App Check tokens. Thanks bamnet for the contribution.
Version 4.9.0 - 06 October, 2022
- Dropped support for Go versions 1.15 and 1.16. Admin Go SDK now requires Go 1.17 or higher.
Authentication
- Fixed an incorrect key used to set
MemoryCost
config inStandardScrypt
type.
Version 4.8.0 - 06 April, 2022
- Dropped support for Go versions 1.11 to 1.14. The Admin Go SDK now requires Go 1.15 or higher.
Authentication
- Added support for enabling or disabling anonymous authentication through tenant configuration. Thanks sonatard for the contribution.
Version 4.7.1 - 20 January, 2022
Authentication
- Prevented serializing
unspecified
fields as empty strings in theauth.UserProvider
type.
Version 4.7.0 - 15 December, 2021
Authentication
- Added support for configuring the authorization code flow for OIDC providers.
Version 4.6.1 - 04 November, 2021
- The Admin SDK no longer retries RPCs that fail with HTTP 500 internal server errors. For certain services, retrying on HTTP 500 errors is not idempotent. The SDK will continue to retry RPCs that fail with HTTP 503 unavailable errors.
Authentication
- The
VerifyIDTokenAndCheckRevoked()
andVerifySessionCookieAndCheckRevoked()
APIs now throw an error if the user record is disabled.
Version 4.6.0 - 02 June, 2021
Authentication
- The Admin SDK now supports ID token verification when operating in emulator mode. Thanks maku693 for the contribution.
- Added a new
IsEmailNotFound()
error checking function for handling the errors returned by the email action link generator functions. - Fixed the ability to import users with partial user metadata. You
can now import a user with only
CreationTimestamp
inUserMetadata
. Thanks valery-barysok for the contribution.
Cloud Messaging
- Fixed an error with unmarshalling
AndroidNotificationPriority
. Thanks parnic for the contribution.
Realtime Database
- Added support for Realtime Database instances hosted in non-US regions. Thanks thameezb for the contribution.
Version 4.5.0 - 14 April, 2021
Authentication
- Added multi-factor authentication info to the
UserRecord
type. Thanks jasperkuperus for the contribution.
Version 4.4.0 - 29 March, 2021
Authentication
- Added a new
GetUserByProviderUID()
function to look up user accounts by their providers. - The
GetUserByProviderID()
function introduced in the previous release has been deprecated in favor of the newGetUserByProviderUID()
function.
Version 4.3.0 - 24 March, 2021
Authentication
- The
UpdateUser()
function now supports linking a federated ID with a user account. - Added a new
GetUserByProviderID()
function to look up user accounts by their providers.
Version 4.2.0 - 28 January, 2021
Authentication
- The Admin SDK now supports the Authentication emulator. Developers can
configure the SDK to run against the emulator by setting the
FIREBASE_AUTH_EMULATOR_HOST
environment variable. Thanks maku693 for the contribution.
Version 4.1.0 - 22 October, 2020
Authentication
- Implemented support for specifying password-salt order in hash configurations used when importing users.
- Migrated the token signing functionality to the new IAM credentials API.
Version 4.0.0 - 16 June, 2020
- The Admin SDK has opted into Go modules. The package name now has
the major version appended to it. Developers should use the new package name
firebase.google.com/go/v4
when installing and importing the SDK. See the Go Admin SDK v4 migration guide for more details. - Added a new
errorutils
package that provides functions for checking for platform-level error codes.
Authentication
- Added new service-level error checking functions
IsIDTokenInvalid()
,IsIDTokenExpired()
,IsSessionCookieInvalid()
,IsSessionCookieExpired()
andIsCertificateFetchFailed()
. These functions can be used in conjunction with the existing JWT verification APIs.
Cloud Messaging
- The
messaging.WebpushFcmOptions
type has been renamed tomessaging.WebpushFCMOptions
. - Added new service-level error checking functions
IsThirdPartyAuthError()
,IsQuotaExceeded()
,IsSenderIDMismatch()
,IsUnregistered()
andIsUnavailable()
.
Version 3.13.0 - 21 May, 2020
Authentication
- Added
GetUsers()
andDeleteUsers()
APIs for retrieving and deleting user accounts in bulk. - Implemented support for creating custom tokens scoped to specific
tenants.
CustomToken()
andCustomTokenWithClaims()
functions are now also exposed on theauth.TenantClient
type.
Version 3.12.1 - 23 April, 2020
- Deferred credential loading until required, which allows some APIs
like
auth.VerifyIDToken()
to be called without credentials.
Cloud Messaging
- Updated the remote endpoint used by topic management operations. Thanks rueian for the contribution.
Version 3.12.0 - 15 January, 2020
Cloud Messaging
- Introduced a series of new parameters to the
AndroidNotification
type.
Authentication
- Fixed a bug in the
TenantIterator
type which was preventing it from listing all the tenants correctly.
Version 3.11.1 - 23 December, 2019
Authentication
- Minor improvements to the implementation to fix the API reference
output generated by
godoc
.
Version 3.11.0 - 18 December, 2019
- Dropped support for Go 1.9 and 1.10. The Admin SDK for Go now requires Go 1.11 or higher. Thanks shogo82148 for the contribution.
Authentication
- Added a new
IsInvalidEmail()
error checking function. Thanks shogo82148 for the contribution. - Added
auth.TenantManager
API for creating, updating, retrieving, and deleting authentication tenants. - Added
auth.TenantClient
API for managing users, configuring SAML/OIDC providers, and generating email action links for specific tenants.
Cloud Messaging
- Batch messaging APIs
SendAll()
andSendMulticast()
now support sending up to 500 messages in a single call.
Version 3.10.0 - 30 October, 2019
Authentication
-
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
andSendMulticast()
APIs for sending notifications to multiple recipients. - Added support for specifying the analytics label for notifications
via
AndroidFCMOptions
,APNSFCMOptions
andFCMOptions
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
Authentication
- Added APIs for creating links
for password reset, email verification and email link sign-in via
auth.PasswordResetLink()
,auth.EmailVerificationLink()
andauth.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
andiid
packages.
Authentication
- A new
SessionCookie()
function for creating a session cookie from a Firebase ID token. - A new
VerifySessionCookie()
function for validating a given session cookie string.
Version 3.6.0 - January 16, 2019
Cloud Messaging
- The
messaging.Aps
type now supports configuring a critical alert sound. A newmessaging.CriticalSound
type has been introduced for this purpose. - Public types in the
messaging
package now support correct JSON unmarshalling.
Authentication
- 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 achannel_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 newDatabaseWithURL()
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
Authentication
- Fixed a regression introduced in the 3.2.0 release, where
VerifyIDToken()
cannot be used in Google App Engine.
Cloud Messaging
-
messaging.WebpushNotification
type now supports arbitrary key-value pairs in its payload.
Version 3.2.0 - July 17, 2018
- The Admin SDK can now read the Firebase/Google Cloud Platform
project ID from both
GCLOUD_PROJECT
andGOOGLE_CLOUD_PROJECT
environment variables.
Authentication
- 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 asiid.IsInvalidArgument()
,iid.IsNotFound()
, etc.
Authentication
- A new
ImportUsers()
function for importing users to Firebase Auth in bulk. -
UpdateUser()
andDeleteUser()
functions now correctly return aUserNotFound
error when called with a non-existing user ID.
Version 3.0.0 - May 8, 2018
-
CustomToken()
,CustomTokenWithClaims()
andVerifyIDToken()
functions now take aContext
as the first argument.
Version 2.7.0 - April 17, 2018
- The
auth
andmessaging
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 themessaging.Aps
type. This can be used to set themutable-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
- Fixed a bug in the
UnsubscribeFromTopic()
function. Thanks michaljemala for the contribution.
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.
Authentication
- A new
VerifyIDTokenAndCheckRevoked()
function to check for revoked ID tokens. - A new
RevokeRefreshTokens()
function to invalidate all refresh tokens issued to a user. - A new property
TokensValidAfterMillis
has been added to theauth.UserRecord
type.
Version 2.4.0 - January 11, 2018
Initialization
- The
firebase.NewApp()
method can now be invoked without any arguments. This initializes an app using Google Application Default Credentials, andfirebase.Config
loaded from theFIREBASE_CONFIG
environment variable.
Authentication
- The user management operations in the
auth
package now uses theidentitytoolkit/v3
library. - The
ProviderID
field on theauth.UserRecord
type is now set to the constant valuefirebase
.
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
Authentication
- Adding the
X-Client-Version
to the headers in the API calls for tracking API usage.
Version 2.2.0 - December 08, 2017
Authentication
- 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()
andSetCustomUserClaims()
functions to theauth.Client
API.
Version 2.1.0 - November 07, 2017
- A new
Firestore
API that enables access to Cloud Firestore databases.
Version 2.0.0 - October 13, 2017
- A new Cloud Storage API
that facilitates accessing Google Cloud Storage buckets using the
cloud.google.com/go/storage
package.
Authentication
- The
Auth()
API now accepts aContext
argument. This breaking change enables passing different contexts to different services, instead of using a single context perApp
.
Version 1.0.2 - September 13, 2017
Authentication
- 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()
andCustomTokenWithClaims()
.
Version 1.0.1 - September 07, 2017
Authentication
- 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-specifichttp.Client
usingoption.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.
Authentication
- The initial release includes the
CustomToken()
,CustomTokenWithClaims()
, andVerifyIDToken()
functions for minting custom authentication tokens and verifying Firebase ID tokens.