Firebase Admin Java SDK Release Notes

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

Version 5.0.0 - May 17, 2017

Initialization

  • feature Factory methods in FirebaseCredentials class can now throw IOExceptions, providing fail-fast semantics while facilitating simpler error handling.
  • feature The deprecated setServiceAccount() method has been removed from the FirebaseOptions.Builder class in favor of the setCredential() method.
  • feature Trying to initialize the SDK without setting a credential now results in an exception.
  • changed The FirebaseCredential interface now returns a new GoogleOAuthAccessToken type, which encapsulates both token string and its expiry time.

Version 4.1.7 - April 20, 2017

  • feature Introducing a new FirebaseApp.delete() method, which can be used to gracefully shut down app instances. All app invocations after a call to delete() will throw exceptions. Deleted app instances can also be re-initialized with the same name if necessary.

  • fixed Upgraded SDK dependencies. Guava, Google API Client, and JSON libraries that the SDK depends on have been upgraded to more recent versions.

Version 4.1.6 - April 04, 2017

Realtime Database

  • fixed Updated the SDK to select the correct thread pool implementation when running on a regular JVM with App Engine libraries in the classpath.

Version 4.1.5 - March 28, 2017

Realtime Database

  • fixed Fixed the invalid SDK version constant in the FirebaseDatabase class that was released in v4.1.4.

Version 4.1.4 - March 28, 2017

Authentication

  • fixed 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 various SDK components (e.g. Realtime Database) to nearly zero. This feature is active by default when running in typical Java environments, or the Google App Engine environment with background threads support.

Version 4.1.3 - March 7, 2017

Realtime Database

  • fixed Updated Realtime Database to properly swap out the ID token used to authenticate the underlying websocket when a new ID token is generated. The websocket connection is still disconnected and reconnected every hour when an ID token expires unless you manually call getAccessToken on the FirebaseCredential used to authenticate the SDK. In a future release, the SDK will proactively refresh ID tokens automatically before they expire.

Version 4.1.2 - February 14, 2017

Initialization

  • fixed Updated initalizeApp() to synchronously read from an InputStream to avoid issues with closing the stream after initializing the SDK.
  • fixed Improved confusing error messages when initializing the SDK with a null or malformed InputStream.

Version 4.1.1 - February 1, 2017

Authentication

  • fixed Fixed a dependency issue which caused the verifyIdToken() method to always throw an exception.

Version 4.1.0 - January 24, 2017

Initialization

Authentication

  • issue The verifyIdToken() method is broken in this release and throws an exception due to an incorrect dependency. This was fixed in version 4.1.1.

Version 4.0.4 - January 17, 2017

  • fixed Fixed issue which caused threads to be terminated in Google App Engine after 24 hours, rendering the SDK unresponsive.
  • fixed Fixed issues which caused asynchronous task execution to fail on automatically-scaled Google App Engine instances.

Authentication

  • feature Improved error messages and added App Engine support for the verifyIdToken() method.

Realtime Database

  • fixed Fixed a race condition which could occur when new writes are added while the connection is being closed.

Version 4.0.3 - December 6, 2016

Initialization

  • fixed Fixed an issue that caused a null input to the setDatabaseAuthVariableOverride() method to be ignored, 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.

Realtime Database

  • fixed Use of the updateChildren() method now only cancels transactions that are directly included in the updated paths (not transactions in adjacent paths). For example, an update at /move for a child node walk will cancel transactions at /, /move, and /move/walk and in any child nodes under /move/walk. But, it will no longer cancel transactions at sibling nodes, such as /move/run.

Version 4.0.2 - November 15, 2016

  • fixed This update restores Java 7 compatibilty for the Admin Java SDK.

Version 4.0.1 - November 8, 2016

  • fixed Fixed an issue with a missing dependency in the 4.0.0 JAR which caused the Database API to not work.
  • issue This version was compiled for Java 8 and does not support Java 7. This was fixed in version 4.0.2.

Version 4.0.0 - November 7, 2016

  • feature The Admin Java SDK (available on Maven as firebase-admin) replaces the pre-existing firebase-server-sdk Maven package, which is now deprecated. See Add the Firebase Admin SDK to your Server to get started.
  • issue This version is missing a dependency which causes the Database API to not work. This was fixed in version 4.0.1.
  • issue This version was compiled for Java 8 and does not support Java 7. This was fixed in version 4.0.2.

Authentication

  • changed The createCustomToken() method is now asynchronous, returning a Task<String> instead of a String.

Send feedback about...

Need help? Visit our support page.