- [fixed] Fixed a test case that was failing in environments without Application Default Credentials support.
- [added] Implemented
auth.EmailVerificationLink()
function for generating email verification action links. - [added] Implemented
auth.PasswordResetLink()
function for generating password reset action links. - [added] Implemented
auth.EmailSignInLink()
function for generating email sign in action links.
- [added] Implemented
auth.SessionCookie()
function for creating new Firebase session cookies given an ID token. - [added] Implemented
auth.VerifySessionCookie()
andauth.VerifySessionCookieAndCheckRevoked()
functions for verifying Firebase session cookies. - [added] Implemented HTTP retries for the
db
package. This package now retries HTTP calls on low-level connection and socket read errors, as well as HTTP 500 and 503 errors. - [fixed] Updated
messaging.Client
andiid.Client
to use the new HTTP client API with retries support.
- [added]
messaging.Aps
type now supports critical sound in its payload. - [fixed] Public types in the
messaging
package now support correct JSON marshalling and unmarshalling. - [fixed] The
VerifyIDToken()
function fnow tolerates a clock skew of up to 5 minutes when comparing JWT timestamps.
- [added]
messaging.AndroidNotification
type now supportschannel_id
. - [dropped] Dropped support for Go 1.8 and earlier.
- [fixed] Fixing error handling in FCM. The SDK now checks the key
type.googleapis.com/google.firebase.fcm.v1.FcmError
to set error code. - [added]
messaging.ApsAlert
type now supports subtitle in its payload. - [added]
messaging.WebpushConfig
type now supports fcmOptions in its payload.
- [added]
firebase.App
now provides a newDatabaseWithURL()
function for initializing a database client from a URL.
- [fixed] Fixing a regression introduced in 3.2.0, where
VerifyIDToken()
cannot be used in App Engine. - [added]
messaging.WebpushNotification
type now supports arbitrary key-value pairs in its payload.
- [added] Implemented the ability to create custom tokens without service account credentials.
- [added] Added the
ServiceAccount
field to thefirebase.Config
struct. - [added] The Admin SDK can now read the Firebase/GCP project ID from
both
GCLOUD_PROJECT
andGOOGLE_CLOUD_PROJECT
environment variables. - [fixed] Using the default, unauthorized HTTP client to retrieve public keys when verifying ID tokens.
- [added] Added new functions for testing errors in the
iid
package (e.g.iid.IsNotFound()
). - [fixed]
auth.UpdateUser()
andauth.DeleteUser()
return the expectedUserNotFound
error when called with a non-existing uid. - [added] Implemented the
auth.ImportUsers()
function for importing users into Firebase Auth in bulk.
- [changed] All functions that make network calls now take context as an argument.
- [added] Added several new functions for testing errors
(e.g.
auth.IsUserNotFound()
). - [added] Added support for setting the
mutable-content
property on FCM messages sent via APNS. - [changed] Updated the error messages returned by the
messaging
package. These errors now contain the full details sent by the back-end server.
- [added] Added support for Go 1.6.
- [changed] Fixed a bug in the
UnsubscribeFromTopic()
function. - [changed] Improved the error message returned by
GetUser()
,GetUserByEmail()
andGetUserByPhoneNumber()
APIs inauth
package.
- [changed] Improved error handling in FCM by mapping more server-side errors to client-side error codes.
- [added] Added the
db
package for interacting with the Firebase database.
- [changed] Import context from
golang.org/x/net
for 1.6 compatibility
- [added] Added the
messaging
package for sending Firebase notifications and managing topic subscriptions.
- [added] A new
VerifyIDTokenAndCheckRevoked()
function has been added to check for revoked ID tokens. - [added] A new
RevokeRefreshTokens()
function has been added to invalidate all refresh tokens issued to a user. - [added] A new property
TokensValidAfterMillis
has been added to the 'UserRecord' type, which stores the time of the revocation truncated to 1 second accuracy.
- [added] 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.
- [changed] The user management operations in the
auth
package now uses theidentitytoolkit/v3
library. - [changed] The
ProviderID
field on theauth.UserRecord
type is now set to the constant valuefirebase
.
- [added] A new
InstanceID
API that facilitates deleting instance IDs and associated user data from Firebase projects.
- [changed] Adding the
X-Client-Version
to the headers in the API calls for tracking API usage.
- [added] 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.
- [added] A new
Firestore
API that enables access to Cloud Firestore databases.
- [added] A new Cloud Storage API
that facilitates accessing Google Cloud Storage buckets using the
cloud.google.com/go/storage
package.
- [changed] The
Auth()
API now accepts aContext
argument. This breaking change enables passing different contexts to different services, instead of using a single context perApp
.
- [changed] 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()
.
- [changed] 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()
.
- [added] Initial release of the Admin Go SDK. See Add the Firebase Admin SDK to your Server to get started.
- [added] 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.
- [added] The initial release includes the
CustomToken()
,CustomTokenWithClaims()
, andVerifyIDToken()
functions for minting custom authentication tokens and verifying Firebase ID tokens.