Release Notes


Version 4.15.0 - June 30, 2024

Authentication

  • Confirmed Resolved a crash which occurred when certain Firebase IDTokens were being parsed.

Analytics

  • added Added a new public method resetAnalyticsData to clear all Analytics data as well as reset App Instance ID.
  • changed Improved In-App Purchase report: Analytics can report accurate discounted price for introductory offer purchases.
  • fixed Other bug fixes.


Version 4.12.0 - April 10, 2024

Authentication

  • added Adds getIDTokenResultWithCompletion: and getIDTokenResultForcingRefresh:completion: APIs which call back with an AuthTokenResult object. The Auth token result object contains the ID token JWT string and other properties associated with the token including the decoded available payload claims.
  • added Adds the updateCurrentUser:completion: API which sets the currentUser on the calling Auth instance to the provided user object.
  • added Adds client-side validation to prevent setting handleCodeInApp to false when performing email-link authentication. If handleCodeInApp is set to false an invalid argument exception is thrown.
  • added Adds support for passing the deep link (which is embedded in the sign-in link sent via email) to the signInWithEmail:link:completion: and isSignInWithEmailLink: methods during an email/link sign-in flow.

FCM

  • added Added new methods that provide completion handlers for topic subscription and unsubscription.

Performance Monitoring

  • fixed Resolved a crash caused by a multithreading issue.

Remote Config

  • changed Improved documentation on InstanceIDs for GDPR.

Storage

  • changed Deprecated downloadURLs property on StorageMetadata. Use StorageReference.downloadURLWithCompletion() to obtain a current download URL.

Cloud Firestore

  • fixed Resolved a regression in the Firebase iOS SDK release 4.11.0 that could cause getDocument() requests made while offline to be delayed by up to 10 seconds rather than returning from cache immediately.
  • added Added a new Timestamp class to represent timestamp fields, currently supporting up to microsecond precision. It can be passed to API methods anywhere a system Date is currently accepted. To make DocumentSnapshots read timestamp fields back as Timestamps instead of Dates, you can set the newly added property areTimestampsInSnapshotsEnabled in FirestoreSettings to true. Note that the current behavior (DocumentSnapshots returning system Dates) will be removed in a future release. Using Timestamps avoids rounding errors from the system Date being stored as a floating-point value.

Version 4.13.0 - April 13, 2023

Authentication

  • Confirmed Resolved a crash which occurred when certain Firebase IDTokens were being parsed.

Analytics

  • added Added a new public method resetAnalyticsData to clear all Analytics data as well as reset App Instance ID.
  • changed Improved In-App Purchase report: Analytics can report accurate discounted price for introductory offer purchases.
  • fixed Other bug fixes.


Version 4.12.0 - April 10, 2023

Authentication

  • added Adds getIDTokenResultWithCompletion: and getIDTokenResultForcingRefresh:completion: APIs which call back with an AuthTokenResult object. The Auth token result object contains the ID token JWT string and other properties associated with the token including the decoded available payload claims.
  • added Adds the updateCurrentUser:completion: API which sets the currentUser on the calling Auth instance to the provided user object.
  • added Adds client-side validation to prevent setting handleCodeInApp to false when performing email-link authentication. If handleCodeInApp is set to false an invalid argument exception is thrown.
  • added Adds support for passing the deep link (which is embedded in the sign-in link sent via email) to the signInWithEmail:link:completion: and isSignInWithEmailLink: methods during an email/link sign-in flow.

FCM

  • added Added new methods that provide completion handlers for topic subscription and unsubscription.

Performance Monitoring

  • fixed Resolved a crash caused by a multithreading issue.

Remote Config

  • changed Improved documentation on InstanceIDs for GDPR.

Storage

  • changed Deprecated downloadURLs property on StorageMetadata. Use StorageReference.downloadURLWithCompletion() to obtain a current download URL.

Cloud Firestore

  • fixed Resolved a regression in the Firebase iOS SDK release 4.11.0 that could cause getDocument() requests made while offline to be delayed by up to 10 seconds rather than returning from cache immediately.
  • added Added a new Timestamp class to represent timestamp fields, currently supporting up to microsecond precision. It can be passed to API methods anywhere a system Date is currently accepted. To make DocumentSnapshots read timestamp fields back as Timestamps instead of Dates, you can set the newly added property areTimestampsInSnapshotsEnabled in FirestoreSettings to true. Note that the current behavior (DocumentSnapshots returning system Dates) will be removed in a future release. Using Timestamps avoids rounding errors from the system Date being stored as a floating-point value.